eddy_em: (Костерок)
[personal profile] eddy_em
Итак, повторение-матючение закончилось, и я написал простой интерфейс управления фотоаппаратом посредством STM32F103: код на гитхабе. Заодно обновил материалы здесь.
Рабочее место

Для выполнения минимальных действий нужно не так-то и много команд. Но сначала — как подключить объектив.

Подключение объектива


Схем подключения в интернете полным-полно, возьму, например, эту:

Контакт AGND на фотоаппарате двойной, а на объективе одинарный (при подсоединении объектив замыкает эти два, и фотоаппарат узнает, что объектив есть, т.е. можно "общаться").
Подключать к микроконтроллеру надо следующим образом:
  • AGND и DGND соединить с землей МК и землей блока питания;

  • VBAT соединить с VDD и подать на оба +5В от блока питания; ВНИМАНИЕ! Блок питания должен быть достаточно мощный и подключен нормальными проводами (я пробовал тоненьким USB-шнурком, при активации моторов напряжение проседало и логика отключалась), для надежности можно между DGND и VDD воткнуть конденсатор эдак на тысячу микрофарад;

  • DCLK == SPI CLK; DOUT == MISO; DIN == MOSI.


О дурацком протоколе я говорил в прошлой заметке. Чтобы не было проблем, нужно после передачи каждого байта делать паузу. Я на всякий случай делаю паузу в 2мс. Из-за такой дурости в протоколе, использовать DMA при общении с объективом не получится. Разве что найдете микроконтроллер с 9-битным SPI и DMA.
Часть команд 85-го объектива из сводной таблички у EF200 имеет другое действие. Скажем, положение F в метрах EF200 не выдает, а отдает на команду 194 какую-то белиберду, разделяющую диапазон фокусировки на группы.

Управление с STM32


В управлялке с STM32 реализованы:
  • перемещение фокуса до упора влево/вправо;

  • перемещение фокуса на 127 шагов;

  • полное открытие/закрытие (но закрывается не до конца, маленькая дырочка остается) диафрагмы;

  • изменение положения диафрагмы на 10 шагов;

  • вывод значения отсчетов мотора привода фокуса;

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

  • повтор последовательности при нажатии Enter или ввода команды r (ввод однобуквенных команд завершается enter'ом; список команд можно узнать, набрав h, enter).


Я долго ковырялся с командными последовательностями, но так и не нашел команды, позволяющей выяснить текущее положение диафрагмы.
Но! Управление работает, реализовано на относительно современном микроконтроллере и не составит труда воспроизвести все вышеуказанные действия любому желающему.

Date: 2016-03-25 08:05 am (UTC)
From: [identity profile] pewpewaction.livejournal.com
Он же (объектив) дорогой как паровоз! Я бы в такую штуку не сунулся :)

Date: 2016-03-25 11:02 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Не такой уж и дорогой, если, скажем, сравнивать с чипами ПЗС. Средний чип по нынешнему курсу бакса стоит миллионов 5 деревянных. И все-таки, нужно же кому-то с ним работать, чтобы сделать ПЗС-камеру!
Edited Date: 2016-03-25 11:02 pm (UTC)

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 09:36 pm
Powered by Dreamwidth Studios