Вроде проблема известная, а подробного поста нет. Непорядок! Представим вы купили где-то на барахолке старый объектив Sigma с креплением Canon EF, которые использовались ещё с плёночными фотоаппаратами Canon и поставили на свой цифровой фотоаппарат Canon. Объектив работает — автофокус шевелится и на открытой диафрагме снимки получаются. Но при попытке сфотографировать с прикрытой диафрагмой фотоаппарат выдаёт ошибку Err 01.



С такой же проблемой столкнулся и я. Купил на барахолке вот такой объектив:



И тут моя вина — невнимательно читал описание. Объектив старый, для старых ПЛЁНОЧНЫХ камер Canon EOS. И продавец честно предупредил в описании, что с современными цифровыми камерами работает только с открытой диафрагмой. Я расстроился и пошёл в гугл искать, как решить проблему. И нашёл.

Источник проблемы в протоколе общения объектива с камерой. Объективы Canon EF принимают два варианта команды установки диафрагмы 0х12 YY и 0х13 YY, где YY значение шагов закрытия диафрагмы. Старые плёночные фотоаппараты canon отдавали для установки диафрагмы команду 0х12, а вот цифровые фотоаппараты для установки диафрагмы стали использовать команду 0х13. Разработчики в Sigma такое разнообразие протокола не предусмотрели, поэтому некоторые старые объективы от плёночных камер могут выдавать ошибку err 01. (Весьма подробный реверс и разбор протокола общения фотоаппаратов Canon с объективами я нашел на французском языке.)
Для исправления этой ошибки необходимо внедрить микроконтроллер на линию между объективом и фотоаппаратом, который бы на лету подменял злосчастную команду 0х13 на 0х12. К счастью, в интернете есть несколько проектов, где авторы уже решили эту задачку. К сожалению, по некоторым ссылкам сайты более недоступны. В такие моменты поминаешь добрым словом проект Web Archive, но к сожалению, они сохраняют не все.

Я использовал проект Гектора Мартина. Преимущество его варианта — микроконтроллер не висит посредником на линии, пропуская всю коммуникацию через себя, а висит параллельно линии, подслушивая и «прихлопывая» последний бит команды 0х13, превращая её в 0x12, для чего в линию DCL запаивается сопротивление.

Для реализации нам нужен максимально компактный микроконтроллер. Автор использовал attiny13A. Я его заказал на Озоне(сам удивлён), с доставкой дороговато, зато быстро — ну не ехать же через весь город в мою любимую промэлектронику ради одного микроконтроллера? Нам нужен в корпусе SOIC-8.



При помощи тонких проводов припаиваем к микроконтроллеру колодку ISP (внутрисхемного программирования). Рекомендую использовать самый тонкий провод МГТФ — его фторопластовая изоляция при пайке не сползает.



Обычно программатор питается от колодки ISP, поэтому понадобится подключить питание — 5В. Схема под 10-пиновый ISP разъём:



Словив флешбеки из студенческой юности, ищем в ящике со старым хламом программатор, я использовал AS-4 от Argussoft.



Если у вас нет программатора, в качестве оного можно использовать… arduino! Про это даже была статья на хабре. Заливаем в микроконтроллер .hex файл с прошивкой. В репозитории только исходники и скомпилировать прошивку нужно самостоятельно. Для ленивых — файлик тут.

Прошиваем FUSE биты, как указал автор проекта. LFUSE=0x72 HFUSE=0xfb Это позволит переключить режим работы встроенного тактового генератора, с завода включен делитель частоты на 8, а он здесь не нужен. Для программатора Argussoft меню установки FUSE бит на фотографии:



Готово, микроконтроллер готов к запайке. Схема следующая:



Линии справа (PGND и VBAT) это два более широких контакта на байонете, они расположены чуть глубже. Микроконтроллер подключается к линиям питания VDD и GND, а также связи LCLK и DCL. На линию DCL в разрыв добавляется резистор 220 Ом (я использовал 470 Ом, отпаяв с попавшейся под руку платы — донора. Можно использовать любой резистор с номиналом от 220 Ом до 1К, точность сопротивления здесь не критична), что позволяет микроконтроллеру при необходимости вмешаться и подтянуть линию к земле, обнулив передаваемый бит не спалив выходы в камере. Учитывая компактность — в схеме нет ни конденсатора по питанию, ни даже подтяжки линии reset, что формально работоспособность не гарантирует, но фактически оно как-то работает.

Первый раз в жизни разбираю объектив с электронной начинкой с требованием не сломать. Понадобится маленькая отвёртка, пинцет, много света, и желательно постелить на стол силиконовый мат, можно использовать кулинарный — оброненные на него винтики не упрыгивают далеко.



Линзу я заклеил для защиты. Шлейф от разъёма уходит в корпус. Для каждого варианта объектива внедрение чипа — импровизация, поэтому, если у вас не Sigma AF Zoom UC 70-210mm f/4-5.6, но начинка может выглядеть иначе. Разбираем дальше:



Шлейф, подходящий к контактам на байонете, — часть гибко-жёсткой платы, так что подключиться, как на фото в описании автора проекта, не выйдет. Удобного места на плате, где можно соскрести маску и перерезать дорожку, я не нашел. Собираем обратно, решение я придумал такое — отпаять контакт от шлейфа — там есть небольшой зазор между контактом и площадкой на шлейфе. И на этот небольшой зазор-разрыв напаять резистор в SMD корпусе. Для удаления лишнего припоя использовал оплётку. Все паял на весу без каких-либо луп и микроскопов, у вас тоже получится.



Припаиваем к ножкам микроконтроллера кусочки провода марки МГТФ, оборачиваем в каптоновый скотч и припаиваем согласно схеме. Чем тоньше будет провод — тем проще и нежнее удастся разместить чип, чтобы он ничему не мешал и ни во что не упирался. В принципе можно использовать даже просто эмалированный провод, которым делают обмотки у катушек, а изоляцию сжигать на нём, прижав горячим жалом к таблетке аспирина (главное не вдыхать дым). Незаменим здесь только хороший острый пинцет.



Микроконтроллер отлично прячется под изгиб шлейфа. Критически важно, чтобы при работе объектива, всех его перемещениях наша модификация не мешала, иначе появится трещина и ошибка 01 уже будет из-за нарушенной связи с объективом.



Готово! Всё работает.

В интернете на ebay можно найти готовые комплекты для чипирования объектива в виде микроконтроллера на маленькой плате. За такое удовольствие просят 20-30$, что больше, чем стоил этот объектив на барахолке) Огромная признательность Гектору Мартину (https://marcan.st/) за вклад в Open Source, а я надеюсь этот пост воодушевит взять в руки паяльник и вернуть в строй хорошие объективы.

Комментарии (25)


  1. dlinyj
    18.01.2022 15:03
    +6

    Про фототехнику прям очень не хватает статей. А ведь крайне интересная тематика, особенно про использовании старых объективов. Таки оптика не ломается с годами, а применить его можно.

    Спасибо за статью!


    1. victor_1212
      18.01.2022 17:38
      +2

      правильно, оптика тема интересная, тоже собираю уже давно (voigtlander и пр.), особенно история, если кто возьмется написать буду рад помочь


      1. spiritus_sancti Автор
        18.01.2022 21:47
        +1

        я по вторникам в инстаграме и на сайт музея публикую фотографии старых фотоаппаратов из коллекции коллеги, если интересно) У него прям поток фотоаппаратов разных, местами инересных, договорился фотографировать их для истории, в википедию загружать.


        1. victor_1212
          18.01.2022 23:24
          +1

          спасибо, посмотрел интересно, с давних времен сохранились Pentacon 6 и объективы к нему, оригинальные + киевские те что поинтересней, а так в коллекции больше немецкие "классические" типа Voigtlander Prominent, Ultron 2/50, Voigtlander VSL-3E, Color Ultron 1.4/55 и пр. пестрая коллекция

          ps

          раньше в Красногорске при заводе хороший музей был, много редкого, не знаю как там сейчас дела, туда стоило бы заехать поснимать

          pps

          сайт у вас тоже интересный, особенно про Марту и ее будку,

          правда как-то с отеплением не очень, холода таки у вас серьезные бывают


  1. goodic
    18.01.2022 15:12
    +3

    Интересное решение с "дорисовыванием" бита. Я бы в разрыв "ретранслятором" делал. Запомним такой вариант


  1. gears
    18.01.2022 15:31
    +1

    Очень элегантно и универсально.
    Интересно, на сколько реально сделать этот фикс в самой прошивке объектива, заменить 0x12 на 0x13?


    1. goodic
      18.01.2022 15:34
      +2

      С большой долей вероятности прошивка на мк в объективе защищена от считывания всеми доступными способами.


      1. gears
        18.01.2022 15:36
        +1

        Так то да, но обновляют же прошивки в них, значит где-то должны быть хотя бы теоретически.


        1. VolodjaT
          18.01.2022 23:22
          +1

          то что защищена от чтения, не означает что защищена на запись
          Но толк с записи если нет прошивки? какие байты прошивать?
          А собственную прошивку написать далеко нетривиальная задача


    1. spiritus_sancti Автор
      18.01.2022 21:49
      +1

      починку в прошивке фотоаппарата - обсуждение на форуме Magic Latern видел, но вроде как эту проблему в рамках ML не починили, да и не для всех фотоаппаратов есть ML. А вариант с чиповкой работает на 650D и на 4000D точно.

      Починка в прошивке объектива - сомнительно, штатной процедуры обновления прошивки объектива нет, да и слишком много разных объективов чтобы реверсить прошивку и пробовать починить именно в ней, поэтому внешний чип похоже безальтернативное решение


      1. gears
        18.01.2022 21:52

        я про ковыряние прошивки объектива, чтоб на любой цифре мог.


  1. museumrza
    18.01.2022 20:07

    Спасибо за статью, я что-то побаиваюсь бывшие в употреблении объективы покупать.


    1. VolodjaT
      19.01.2022 00:37
      +2

      Да зря боитесь. Дважды покупал кеноновские эльки (35 1.4 и 100-400). ИМХО самая тема покупать с рук такие стекла топ уровня (15 лет назад). Такие вещи медленно устаревают. Надо бы еще 135 2.0L прикупить А вот ширпотреб типа сигмы ну такое.


      1. museumrza
        19.01.2022 00:53

        Посмотрю, может быть на что-то и решусь, хочется светосильный объектив, а новые по цене не подъемные, тем-более сейчас.


        1. VolodjaT
          19.01.2022 05:01
          +2

          Проверить есть ли пыль, царапины, внимательно посмотреть на винты - есть ли отметины от вскрытия. Тестовый кадр газеты с мелким текстом, работает ли диафрагма, автофокус, стабилизация. Если нет к этим пунктам претензий - думаю поработает еще долго.


      1. nevmenov
        19.01.2022 11:35
        +1

        Зря вы так! Мне древний телек 50-200 на кэнон кроп от сигмы понравился: во-первых он стоил мне 0 рублей(и в скупках они тоже грошевые), во-вторых разрешает мои 18Mpx APS-C очень уверенно. В-третьих 15 летнее устройство, у которого аф и стаб отлично работают - это достойно уважения.

        Оригинальный японский Кэнон, коими являются старые L-ки, - соглашусь, техника космического уровня. Но стоит помнить, что шикарную рисовку без функциональных глюков в скупку нести сильно не хочется ;-)


        1. VolodjaT
          19.01.2022 14:01
          +1

          Но стоит помнить, что шикарную рисовку без функциональных глюков в скупку нести сильно не хочется ;-)

          да у нас в Украине сейчас полно бу элек (например на olx.ua) - куча народу в свое время хотела стать свадебными фотографами, тепер избавляются, так как конкуренция бешеная. Также многие на сони переходят. Самое время хоббисту покупать старый топ


      1. venanen
        19.01.2022 12:16

        Ну это вы зря так про сигму.
        Выцепил на вторичке 17-50 Pro Art - доволен как слон, и звезды снимает, и портреты, и пейзажи


        1. VolodjaT
          20.01.2022 00:14

          Ну арт серия это совсем другой клас в сравнении со старыми сигмами. Да и стоят почти как эльки

          Только подозрительно зачем они продают USB док для калибровки автофокуса


  1. GlebGleb
    18.01.2022 23:19

    Автор, а что наклеивали на линзу для защиты?


    1. spiritus_sancti Автор
      19.01.2022 07:08

      Обычная малярная лента


  1. red_andr
    19.01.2022 08:57
    +2

    Интересная статья, спасибо, не знал, что такие проблемы есть у Кэнона. Сам сижу на Минольте, которая Сони сейчас. Самое забавное, что на новейших цифровых камерах замечательно работают объективы 1985 года. Да, даже автофокус. У меня есть несколько таких ветеранов, которым почти 40 лет.


    1. DGG
      19.01.2022 11:49
      +1

      У самого Кенона тоже проблем со старыми объективами EOS 80х гг нет - на современных камерах работают. Проблема только в том, что сторонние производители объективов протокол EOS реверс-инженирили, и Сигма поначалу сделала это криво.


  1. VTH
    19.01.2022 09:44
    +6

    Тоже пользуемся этим лайфхаком для коверсии, только на базе Attiny10


  1. TVExpert
    19.01.2022 12:31
    +4

    Автору + за "смог разобратьсыя и сделать" :)
    Заодно подкину в копилку полезняшек упоминание о "Lightshot" ( app.prntscr.com ), дабы скриншоты в следующих статьях были качественными и удобными :)
    А вот по уровню пайки/чистоты монтажа, есть повод побурчать, как минимум, после использования кислот/активных припоев (да и вообще), всё надо отмывать-очищать, дабы испарения/осколки и прочая "мех-хим" посторонняя составляющая не портила начинку объектива.

    Тема фотоадаптеров знакома по направлению "старая советская оптика + DSLR Canon", которую так или иначе решаю через клоны конструкции "Одуванчик" нашего соотечественника В.Лушникова ( filmprocess.ru/oduvanchik/index.htm ).

    Но вот удобство программирования для такого адаптера, находится по вопросом...
    Плюс "особенности" FW у кэноновских серий "еденичек" или хD, ххD это нечто...
    Например у 5D Mark III какие то свои "требования", и адаптер спокойно работающий "посредником" на ххD, на этой камере не распознаётся. Продавцы если они просто продавцы (а не опытные в фото "железе") продают ~ "работает со всеми моделями", специально уточняеш перед оплатой что нужена совместимость именно с 5DMIII, и в итоге, после получения начинается долгая эпопея объяснений-доказательств и т.п (для возврата).