LINUX.ORG.RU
решено ФорумTalks

[спецам по всему] Протоколы SPI-интерфейса объектива Canon EF 200mm


0

0

Возникла у меня с коллегами проблема: управлять указанным объективом без фотоаппарата. В интернете искал. Нашел только распиновку. Для контроллера прошивку уже написал, осталось допаять макетку и протестировать. Но очень не хочется сидеть час-другой с цифровым осциллографом и дампить все данные, которые идут по SPI при выполнении разных команд (тем более, что команд таких довольно много).

Вопрос: может, кто-нибудь сталкивался с подобной проблемой и может дать ссылочку на протокол?

(Birger Engeneering не предлагать: хотим сделать все сами, а не покупать железку себестоимостью 1000 рублей за 1000 баксов)

☆☆☆☆☆
Ответ на: комментарий от xpahos

Вам это действительно нужно ? Тут есть как управлять 400D

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

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

Eddy_Em ☆☆☆☆☆
() автор топика

Ищи по форумам (на dpreview поднимались подобные темы, например).

Вроде для Canon есть некая приблуда в виде переходного кольца под названием «одуванчик», которая эмулирует некий кэноновский фикс и используется для навинчивания с ним в паре любой неавтофокусной оптики. М.б. где-то есть ее схемы/прошивки. Вроде там несложно должно быть.

P.S. Есть что-то подобное только по Nikon, увы.

ef37 ★★
()
Ответ на: комментарий от dimon555

SPI это разве не типа i2c и smbus?

Вроде того. Есть дешевые контроллеры со встроенной поддержкой SPI.

Ищи по форумам (на dpreview поднимались подобные темы, например).

ef37, по форумам искал. Ничего хорошего народ не предлагает. Видимо, те, кто получил дампы команд и расшифровал их, делиться не хотят :(

Ладно, если сделаю, могу выложить в общий доступ (главное, чтобы с подачки Canon'а этот reverse engineering не прикрыли).

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

Не обязательно искать по Canon. Sigma делает же объективы для Canon EF ? ЕМНИП и аппараты делала для Canon EF, м.б. оттуда что утекло.

Еще можно замучить насмерть штатный фикс :-)

ef37 ★★
()
Ответ на: комментарий от Eddy_Em

В порядке ворчания

необходимо, как минимум, удаленно изменять его фокусное расстояние.

Нобелевку хотите? КАК? Как изменить фокусное расстояние на фиксе?

Dao_Dezi
()
Ответ на: комментарий от Dao_Dezi

EF200mm - дорогой (150-170тыс.р.) объектив с огромными возможностями и высоким качеством оптики. Часто используется в оптических приборах, где фотоаппарат не нужен, т.к. излучение регистрируется качественной криостатированной ПЗС или КМОП-матрицей.

Через SPI-интерфейс фотоаппарат может изменять фокусное расстояние объектива, зум, управлять диафрагмой, и дополнительной корректирующей оптикой. Вот и появилась задача управлять объективом с компьютера, заодно имея и обратную связь. Видел у одних товарищей «топорное» решение проблемы: они перевели объектив в ручной режим и крутили фокусирующее кольцо двигателем. Но это уж очень кривой выход.

Eddy_Em ☆☆☆☆☆
() автор топика

Мда... Похоже, я одинок :(

Осциллограф так и не привезли, сижу, клепаю программку на микроконтроллер для одновременного дампа обоих каналов SPI.

Завтра выходной (в нашей банановой республике какой-то байрам). Если что получится - отпишусь.

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от Eddy_Em

В выходные частично продампил данные. Получилось, что объектив и фотоаппарат практически живут своей жизнью. Иногда общаются (всего 1-2 байта полезной информации), что еще живы. Сам фотоаппарат фокусное расстояние не передает - все хранится в памяти объектива. При ручном фокусе объектив лишь передает фотоаппарату, что у него «что-то меняют» (отклик абсолютно одинаковый на все манипуляции с объективом). При автофокусе фотоаппарат тупо гоняет объектив туда-сюда, пока не получит желаемого качества изображения.

В общем, будет время - доделаю все до конца. Все-таки, устанавливать желаемое фокусное расстояние можно: в процессе съемки (теоретически) объектив должен сообщать свои параметры камере для занесения в exif. Так что придется чуть изменить F - запросить текущее значение - еще изменить и т.д. до достижения нужной величины.

Eddy_Em ☆☆☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.