|
Интерфейс управления объективами EF цифровых зеркалок CANON?, Может кто встречался с таким? |
|
|
|
Jan 17 2009, 23:43
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 15-05-06
Из: Питер
Пользователь №: 17 111

|
Есть объектив от цифровой зеркалки CANON EF 85mm 1,2 L, нужно "приделать" к нему микроконтроллер, чтобы управлять фокусом и диафрагмой. Собственнно интересует интерфейс управления данным объективом, чтобы не придумывать много всего для управления шаговым двигателем (на диафрагме) и пьезомотором (на фокусе).
|
|
|
|
|
Jan 20 2009, 16:46
|
Знающий
   
Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822

|
Цитата(NikWik @ Jan 18 2009, 03:43)  Есть объектив от цифровой зеркалки CANON EF 85mm 1,2 L, нужно "приделать" к нему микроконтроллер, чтобы управлять фокусом и диафрагмой. Собственнно интересует интерфейс управления данным объективом, чтобы не придумывать много всего для управления шаговым двигателем (на диафрагме) и пьезомотором (на фокусе). Вполне вероятно этот виды информации (протоколы управления моторами диафрагмы, фокуса и системы IS (у тех линз у которых релевантно) - есть classified - это внутренняя тех. инфа фирмы разработчика (Кенона в данном случае), получить ее "со стороны" весьма трудно. Единственно ежели у кого-нить с ними есть подписанный NDA, но думаю они тоже сильно фильтруют с кем подписывать (т.е. кому "открываться" а кому нет). Есть комеьно варианты third-party производителей (Sigma, Tokina, Tamron, etc) линзы которых (под Кенон/Никон) "interfaceируются" с камерами соотв. брендов, но (как минимум относительно Sigma, не уверен насчет Tokina и Tamron) они (сторонние производители) делали reverse-engineering протоколов и т.д. для создания своеи оптики compatible с родной. Да и то это было в рамках не тривиальных патентных разборок... Думаю сделать самостоятельно reverse-engineering подобным делам - сам по себе проэкт....
|
|
|
|
|
Jan 21 2009, 09:57
|
Частый гость
 
Группа: Свой
Сообщений: 130
Регистрация: 16-06-05
Из: Оренбург
Пользователь №: 6 039

|
Цитата(NikWik @ Jan 18 2009, 04:43)  Есть объектив от цифровой зеркалки CANON EF 85mm 1,2 L, нужно "приделать" к нему микроконтроллер, чтобы управлять фокусом и диафрагмой. Собственнно интересует интерфейс управления данным объективом, чтобы не придумывать много всего для управления шаговым двигателем (на диафрагме) и пьезомотором (на фокусе). Хороший объектив  Есть человек который сделал вот это http://www.filmprocess.ru/oduvanchik/index.htmЕсли сможете с ним договориться -- то думаю это Вам поможет... На ixbt.com Виктор Лушников тоже есть, собственно оттуда и появились "одуванчики"
--------------------
Программа выполнила невыполнимое и допустила недопустимое
|
|
|
|
|
Mar 3 2009, 19:34
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 16-10-04
Из: Москва
Пользователь №: 889

|
Вопрос к автору темы - удалость ли как то продвинуться? Имею такую же задачу. Обращались ли к автору "одуванчиков" и чем это закончилось?
|
|
|
|
|
Mar 4 2009, 10:34
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 15-05-06
Из: Питер
Пользователь №: 17 111

|
Ни к кому не обращался, разобрал объектив, начертил схемку, пытаюсь разобраться как она работает. Пока времени много на это уделять не получается. Если что у тебя прояснится дай знать.
|
|
|
|
|
Mar 4 2009, 11:30
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 16-10-04
Из: Москва
Пользователь №: 889

|
Я вплотную пока не брался, ищу инфу. Протокол там похож на SPI. Есть pinout - см. картинку. Нашел еще вот это http://ozerki.net/photosight/PhotoDocs/Man...F-50-28-15).zipТам про протокол обмена только общие слова, но все же кое что. Есть еще фирма в штатах - делают переходник для управления объективом по RS-232 www.birger.com/ef232.htm Стоит эта приблуда около 1000$
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 5 2009, 13:46
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 15-05-06
Из: Питер
Пользователь №: 17 111

|
Это все у меня тоже есть, инфы там мало. Сегодня подключал питание на прямую к объективу без фотика, результат отрицательный, ни каких движений. Вот бы где зеркалку кэноновскую взять на пару дней.
|
|
|
|
|
Jul 11 2009, 20:44
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 15-05-06
Из: Питер
Пользователь №: 17 111

|
Есть кое какие продвижения в этом направлении, кому интересно - в личку.
|
|
|
|
|
Nov 16 2009, 13:49
|
Группа: Новичок
Сообщений: 3
Регистрация: 28-11-07
Пользователь №: 32 775

|
Интересую данным вопросом, по протоколу передачи данных между камерой и объективом так и не смог ничего толкового найти. Если есть какая нибудь информация, просьба поделится.
|
|
|
|
|
Mar 7 2010, 10:11
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
Цитата(Саша Z @ Jan 20 2009, 19:46)  Думаю сделать самостоятельно reverse-engineering подобным делам - сам по себе проэкт.... а в чём проблема-то?!.. распиновка есть, и если поверх нету какого-то криптования, то задача сводится к кропотливому документированию: 1) подключили логич.анализатор (ммногокан.осциллограф) 2) на тушке поставили диафрагму Fx - записали эпюру на интерфейсе 3) повторяем п.2 для всех значений диафрагм объектива 4) управление фокусом: переводим в ручной режим фокусировки и делаем фокус на ближайшем объекте: далее в режиме автомата фокусируемся на бесконечности и из периодической последовательности команд вычленяем команду движения линзы в направлении увеличения фокусировочного расстояния. 4) тоже самое для команды уменьшения фокусировочного расстояния программируем МК в качестве плейера полученных эпюр и, в принципе, может оказаться так что можно использовать один из аппаратных последовательных интерфейсов МК. ну а потом уже по вкусу - управление либо через кнопки, либо через простейший интерпретатор команд на RS-232 \ USB делал что-то подобное, но не из сферы фототехники
--------------------
|
|
|
|
|
Apr 6 2011, 05:54
|
Группа: Новичок
Сообщений: 9
Регистрация: 24-02-08
Из: Москва
Пользователь №: 35 339

|
Цитата(Димыч @ Mar 25 2011, 13:46)  Мы делали RE интерфейса объективов EF. Работали с объективом Sigma. Управлять им, в итоге, так, как нам нужно было - удалось. Родные кэноновские объективы, как оказалось, имеют более расширенный протокол по сравнению с Сигмой. Но, в целом, процесс RE вполне подъёмен. Можно подробнее узнать, что в итоге получилось? Интересует электроника и механика.
|
|
|
|
|
Apr 8 2011, 09:49
|
Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331

|
Цитата(fyodor @ Apr 6 2011, 09:54)  Можно подробнее узнать, что в итоге получилось? Интересует электроника и механика. через пару дней подготовлю подборку материалов, и выложу. На счёт механики - вкратце - применяли пружинные контакты mill-max, установленные на ПП.
|
|
|
|
|
Jun 30 2011, 09:44
|
Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331

|
Цитата(edren_baton @ May 23 2011, 00:09)  Мы до сих пор очень-очень ждем подборку! =) Цейтнот. Если ещё актуально: CODE Описание байонета Canon, со стороны объектива
Электрический разъём байонета Canon EF
Контакты:
1 ….. питание-1 (+6 V) (до 4,5 V) 2 ….. вход датчика подключения объектива; замыкается на контакт 3 3 ….. gnd 4 ….. питание-2 (+5V) 5 ….. data_in_lens (данные на объектив) 6 ….. data_out_lens (данные от объектива) 7 ….. data_clk 8 ….. gnd
Логический уровень сигналов – TTL (+5V)
Данные передаются в 8-битном формате и захватываются по положительному перепаду data_clk. В неактивном состоянии уровень сигнальных линий «высокий»
Перед началом передачи байта, перед первым тактовым импульсом, необходимо установить data_in_lens в низкий уровень на один такт.
После передачи восьмого бита, объектив опускает CLK в ноль на два такта, в подтверждение приема.
Данные, передающиеся от аппарата к объективу, делятся на два типа: запросы и команды, и имеют длину от 2 до 4 байт. Ниже приведенные команды и запросы дополнены до 4 байт нулями.
Команды 05 0F 00 00 – двигаться вниз, внутренний счетчик увеличивается 06 0F 00 00 - двигаться вверх, внутренний счетчик уменьшается 07 0E 00 00– стоп 0С 00 00 00 – сброс внутреннего счетчика 0А 00 00 00– инициализация объектива. (возвращается 00 АА 00 00) 13 XX 00 00 – увеличить диафрагму на заданное значение, второй байт – значение диафрагмы от 01 до 24 (в зависимости от модели) 13 80 00 00 – сбросить диафрагму в ноль (отключить диафрагму) Совместная работа диафрагмы и мотора фокусировки не возможна (в зависимости от модели)
После получения команды – объектив возвращает код команды обратно. Пример: передаем команду вверх 06 0F 00 00, получаем обратно 00 06 0F 00,
Запросы С0 00 00 00 - возвращает значение внутреннего счетчика оборотов двигателя. F0 00 00 00 – возвращает текущее значение диафрагмы E0 00 00 00 – суммарное значение положения фокуса и зума. 90 00 00 00 – текущее состояние объектива. А0 00 00 00 – не установлено В2 00 00 00 - неустановленно C2 00 00 00 – неустановленно
Ответ на запрос состояния 90 (зависит от модели) - один байт
Есть ещё Verilog описание модуля.
|
|
|
|
|
Jul 17 2011, 19:52
|

Местный
  
Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599

|
Цитата(gte @ Jul 17 2011, 17:05)  Вот еще ссылка, по которой есть информация по командам объективов CANON P.S. По объективам NIKON аналогичную информацию никто не встречал? Присоединяюсь к вопросу, мучаюсь уже неделю (: По Никону шаром покати в сети, а хотелось бы Вот нарыл еще по Кэнону
|
|
|
|
|
Sep 27 2011, 04:17
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113

|
Цитата(Sergey_Bekrenyov @ Sep 26 2011, 18:22)  Кто-нибудь научился считывать текущее положение фокуса и диафрагмы? А то, при вылете за пределы, объектив "отскакивает". В прошлом году занимались реверсом протокола. Могу поделиться. Научились читать параметры объектива. Диафрагма, как я понял драйвится на каждый кадр заново от крайнего положения. Законченное устройство так и не сделали - задача отпала, но команды отснифали некоторые. Могу дополнить немного то что Димыч нашёл. Как можно выложить файл чтобы особо не светить?
|
|
|
|
|
Sep 28 2011, 12:33
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 21-01-05
Пользователь №: 2 113

|
Скинул мылом gte и Sergey_Bekrenyov. Если будут замечения, пишите мылом  Вообще, хотелось бы на выходе получить достоверное описание протокола общими силами. Если надо, могу поучавствовать в экспериментах. У нас методика снифа была цеплянием 2-ух SPI в Slave режимах на DCL и DLC с общими клоками. Кстати, вопрос где найти ответный байонет для объектива да ещё и с контактами, желательно?
|
|
|
|
|
Sep 28 2011, 13:06
|
Гуру
     
Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613

|
Цитата(codier @ Sep 28 2011, 15:33)  Кстати, вопрос где найти ответный байонет для объектива да ещё и с контактами, желательно? Спасибо. Если надо единичный экземпляр, то купите тушку пленочного аппарата CANON. Сразу и контакты и кольцо байонета. С английского ebay может обойтись с доставкой фунтов в 10 и 3 недели  . Или http://www.ebay.com/itm/220805486925?ssPag...984.m1436.l2649Или запасные части для фото CANON, коды есть в Service Manual. Но это будет заметно дороже. Пружинные отдельные контакты здесь уже рекомендовали.
|
|
|
|
|
Nov 21 2011, 18:43
|

Местный
  
Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599

|
еще раз по поводу протокола. Сходите на сайт к фирме elphel - они делали проект для google, немного управляли объективами Canon. ключевые слова "lensraw.c" "lensraw.html". Исходники у них открытые Все немного запутано, так как у них стоит линуксовый процессор Etrax и через web-интерфейс пишутся команды в байтовом виде в FPGA, которая и делает собственно SPI Какие-то ребята на этом железе сделали камеру для кинематографии, еще модернизировали протокол - http://cinema.elphel.com/en/prototypes
Сообщение отредактировал Sergey_Bekrenyov - Nov 21 2011, 19:34
|
|
|
|
|
Jul 10 2013, 09:49
|
Частый гость
 
Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591

|
Вот нашёл в инете: (http://dangerousprototypes.com/forum/viewtopic.php?t=695) The pinout is known, we can connect to a camera and lens using a hacked mount adaptor, and we know the protocol uses "8-data-bit, 1-stop-bit SPI (mode 3)". I have a small amount of experience with AVR microcontrollers (some years ago) and have done a bit of amateur level software engineering. На объектив, действительно подаётся по 8 бит, как написано, и всё работает. Посылал данные согласно документам, описанным в "Автономное использование объективов Canon EOS". Но смотрел на осциллографе обмен тушки с объуктивом, там вот такая картинка:
Зелёный – MOSI Розовый - MISO Жёлтый – CLK Размер по времени: 50 мкс в клетке. Т. е. присутствует 9-й такт. Я его пока просто игнорирую.
|
|
|
|
|
Jul 10 2013, 11:02
|

Местный
  
Группа: Свой
Сообщений: 323
Регистрация: 14-12-10
Из: Королёв
Пользователь №: 61 599

|
Цитата(vladimir_orl @ Jul 10 2013, 13:49)  Вот нашёл в инете: (http://dangerousprototypes.com/forum/viewtopic.php?t=695) The pinout is known, we can connect to a camera and lens using a hacked mount adaptor, and we know the protocol uses "8-data-bit, 1-stop-bit SPI (mode 3)". I have a small amount of experience with AVR microcontrollers (some years ago) and have done a bit of amateur level software engineering. На объектив, действительно подаётся по 8 бит, как написано, и всё работает. Посылал данные согласно документам, описанным в "Автономное использование объективов Canon EOS". Но смотрел на осциллографе обмен тушки с объуктивом, там вот такая картинка:
Зелёный – MOSI Розовый - MISO Жёлтый – CLK Размер по времени: 50 мкс в клетке. Т. е. присутствует 9-й такт. Я его пока просто игнорирую.
Это не 9-ый бит. В конце посылки из 8 бит тушка переводит линию LCLK в 3 состояние для того чтобы объектив со своей стороны сигнализировал об ошибках поднятием этой линии в 1. Так что переход в 1 после перерыва - это просто тушка снова выставила 1 на тактовой линии.
|
|
|
|
|
Jul 10 2013, 11:16
|
Частый гость
 
Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591

|
Цитата В конце посылки из 8 бит тушка переводит линию LCLK в 3 состояние для того чтобы объектив со своей стороны сигнализировал об ошибках поднятием этой линии в 1. То есть ему (объективу) даётся этот промежуток времени, чтобы он мог сигнализировать об ошибках? Так у объектива (слэйва) MOSI должен быть всегда настроен на вход. Или он на это время переключает его на выход?
|
|
|
|
|
Jul 10 2013, 11:38
|
Частый гость
 
Группа: Участник
Сообщений: 191
Регистрация: 18-09-12
Из: Орёл
Пользователь №: 73 591

|
Вот у меня есть, если интересно: Список поддерживаемых команд (все команды в шестнадцатеричном виде) Название, описание. Длина Байты Нулевая команда. 1 00 Повтор изменения значения диафрагмы. 1 02 Повтор изменения значения диафрагмы. 1 03 Переход в положение "минимальный AF". 1 05 Переход в положение "максимальный AF". 1 06 Инициализация. 1 0A Закрыть/открыть диафрагму на XX шагов. 1 12 XX Переход в положение "максимальный AF". 1 16 Информация об объективе. 7 97 01 Получить мин/макс значение апертуры 4 B0 Текущее значение увеличения 2 A0 Закрыть/открыть диафрагму на XX шагов. 4 07 13 XX Открыть диафрагму (полностью). 2 13 80 Относительное значение положения двигателя автофокуса. 1 C0 Подвинуть объектив на ХХ шагов. 1 44 XX XX Включить ручное управление. 1 5E Информация о модели объектива. 1 80 Относительное значение двигателя автофокуса. 1 С2 Положение переключателя AF/MF. 1 90 Информация об объективе. 1 CA Переход в бесконечность. 1 25 Переход на отметку 2,5 м. 1 16 Получить значение апертуры 1 01 Вдвинуть объектив полностью 15, 25, 45, 55 Выдвинуть объектив полностью 16, 26, 46, 56 Да, хотел сказать клок. На днях как раз написал анализатор (монитор) протокола обмена. Железо - VS2010 + STK500 + mega128. Там игнорирую 9-й бит (у меня биты определяются по фронтам). Мне кажется, этот 9-й проверочный цикл всё же можно рассматривать как 9-й бит. Однако выдаётся белиберда. Однако, если просто управлять объективом CANON, то всё получается замечательно, даже без учёта этого проверочного бита. А объектив CANON знает когда ему можно подавать ответные сигналы? Просто по времени определяет? Цитата Это не 9-ый бит. В конце посылки из 8 бит тушка переводит линию LCLK в 3 состояние для того чтобы объектив со своей стороны сигнализировал об ошибках поднятием этой линии в 1. Так что переход в 1 после перерыва - это просто тушка снова выставила 1 на тактовой линии. А клок притянут к земле? И, насколько я понял, в MISO тоже стоит подтяжка. Я поставил 4 кОм между MISO и питанием. Даже не знаю, правильно ли. Но работает. И скажите про логику ошибок. Они камерой рассматриваются как фатальные? То есть, если объектив выставил "1", то дальше работать нельзя, или посылаются другие команды?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|