Самодельная макровспышка на ATmega8

Наш лабораторный корпус. Практическое решение вопросов. Автор темы является полным хозяином в своей теме.
  • Автор
  • Сообщение
Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 9 дек 2016, 18:10

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

Вот, кстати, еще один тест с камерой:
Изображение
После правильного определения сопротивления цепи и увеличения ёмкости до 1,3 мкФ, все выглядит уже ровнее.

На счет синхронизации в HSS, не думаю, что на SCK и DO будут какие-то сигналы, в случае, если камера не распознала родную вспышку. По крайней мере, мне осциллографом ничего поймать не удалось. Я, все же, думаю в сторону "костыля". Это не так сложно, если требуется HSS, воткнуть штекер в камеру. К тому же, благодаря этому можно будет определять и неполное нажатие кнопки (фокусировка), и тогда, можно будет реализовать стробоскопический режим для подсветки автофокуса. Только как лучше организовать синхронизацию? Нужно регистрировать низкий уровень, при том, что высокий - всего 2,8 В, чего будет недостаточно, чтобы держать Р-канальный (или PNP) транзистор в закрытом состоянии, если на истоке/эмиттере будет 3.7-4.2 от питания вспышки. Делителей ставить не хочу, т. к. на них могут быть утечки, когда вспышка выключена (отключение реализовано через глубокий сон МК). Можно попробовать заряжать конденсатор от 2,8 В камеры, и его посадить на исток транзистора... В общем, нужно сначала нарисовать схему.

В симуляции, работает. Можно попробовать:
Изображение

Не в сети
мастер
Сообщения: 655
Стаж 11 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение A-Gugu » 10 дек 2016, 08:09

Пошлите дроссель подальше, не зря советую, поверьте.

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 10 дек 2016, 12:07

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

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 10 дек 2016, 21:32

Здесь вот: DIY Canon RadioPopper RPCube пишут о возможности управлять мощностью вспышек дистанционно через радиосинхронизаторы. Речь идет о системе Canon, по такому же принципу можно управлять и никоновской вспышкой.
The big difference between Canon and Nikon is that
- Canon requires a low->high transition for quench.
- Nikon requires a high->low transition for quench.
У Canon за TTL прерывание (quench) отвечает контакт №5, "STSPC - TTL OK signal", а у nikon №3 "CSTP - light emission stop signal" (Внешние разъёмы фотовспышек и камер). Также по коммуникации между камерой и вспышкой есть много пояснений (Circuit Description) в сервис-мануалах вспышек Canon (Библиотека).
vvsector85, почитайте, может найдёте для себя какую-то подсказку, идею, хотя и из другой системы...

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 11 дек 2016, 16:28

Камера у меня как-раз Canon. Сложно, конечно, все получается... Попробовал посмотреть уровни на дополнительных контактах башмака относительно 2,8В камеры (с разъема кнопки), а не земли, там действительно что-то происходит, но проанализировать это достаточно сложно. Если всерьез этим заниматься, нужно собрать анализатор сигналов на дополнительных контактах. Даже не знаю, стоит ли оно того. К тому же, у меня нет фирменной вспышки, для анализа сигналов, входящих в камеру.

Вот, по Nikon, довольно подробное описание протокола iTTL есть http://cms.diodenring.de/de/electronic/ ... tlanalysis
С Canon должно бы быть проще, т. к. общение камеры и вспышки осуществляется в разных направлениях по разным контактам (DO, DI), но такой подробной статьи я не нашел.

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 11 дек 2016, 20:39

vvsector85 писал(а):по Nikon, довольно подробное описание протокола iTTL есть http://cms.diodenring.de/de/electronic/ ... tlanalysis
Там, в тексте и в таблице, есть или опечатка или ошибка в назначении контактов башмака:
ACK - на самом деле это CSP - camera monitor (Contact 'Speedlite Present '), камера будит вспышку через этот контакт.
CLOCK - это CRY - timing switch, Contact 'reaDY'
Другие контакты определены верно:
DATA = CSTP, Contact 'STop Pulse', гашение лампы, когда экспозиция достигает нормы.
X-SYNC = CX, Contact 'Xenon flash', поджиг лампы.
vvsector85 писал(а):С Canon должно бы быть проще, т. к. общение камеры и вспышки осуществляется в разных направлениях по разным контактам (DO, DI), но такой подробной статьи я не нашел.
По Canon есть сведения в сервис-мануалах и в упомянутом ранее патенте.

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 11 дек 2016, 20:47

vvsector85 писал(а):у меня нет фирменной вспышки, для анализа сигналов
Попробуйте связаться с sa137. У него, вроде бы, тоже Canon да и анализатор был. Может быть он снимет графики...

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 11 дек 2016, 21:23

Нет, это не опечатки в тексте. CLOCK - это действительно CRY, но во время передачи данных этот контакт используется для тактирования, и в статье есть табличка, в которой это расписано.

Я вот думаю, что делать дальше, и на чем стоит остановится. Можно, конечно, пытаться заставить вспышку общаться с камерой, но придется снова портироваться на более мощный МК (у ATmega168 уже не хватит ног и памяти для большего функционала), изучать протоколы по косвенным и неполным данным... стоит ли оно того?

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 12 дек 2016, 00:12

Извините, помещу эту картинку пока здесь, потом уберу в другое место, когда статью по вашей ссылке добавлю в форум.

Изображение

eTTL interface
Ну и дальше там много материала:
Canon ETTL protocol continued.
Sniffing Canon’s ETTL protocol.
Sniffing Canon’s ETTL protocol, II.
Canon ETTL protocol.
Building a remote interface for Canon ETTL flash interface.
Комментарии также интересны.

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 12 дек 2016, 19:39

Спасибо, этот блог я тоже находил, но, на сколько я понял, автору не удалось исчерпывающе изучить протокол.

Возникла еще идея на счет регулировки мощности. При калибровке мне удалось получить правдоподобные значения сопротивления цепи лампы, измеряя напряжение на накопительном конденсаторе во время свечения лампы и засекая время, за которое оно упадет от U0 до Uгашения+30В.
При частоте АЦП 250 кГц, можно измерять напряжение каждые 52 мкс (на одно преобразование требуется 13 циклов).
Как я сообщал ранее, в используемой мною формуле для расчета длительности импульса, не учитывается относительно плавное нарастание тока/яркости лампы в течение первых 100 мкс импульса, от чего расчеты становятся неточными на малых мощностях (1/16 и меньше). Вот я и решил, что можно пойти более простым путем - просто задавая требуемую энергию, можно установить напряжение, при котором лампу нужно отключить:
Изображение
U0, С - известные величины, E можно представить как Еmax x k

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

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 13 дек 2016, 15:59

Вот результат теста с регулировкой мощности по методу, описанному выше:
Изображение

Вполне объясним пересвет при F2.0 и мощности 1/128, тут явно не хватило скорости АЦП, лампу нужно было уже гасить, а АЦП еще не завершил преобразование, МК, не получил новое значение напряжения вовремя. Провал на F5.6-1/16 F4-1/32 по прежнему непонятен.

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 14 дек 2016, 22:41

Так... подумал я еще, и появилась следующая идея:
В микроконтроллерах AVR используются АЦП последовательного приближения. Если верить описаниям АЦП такого принципа действия, они "запоминают" напряжение на входе в начале цикла преобразования, а результат выдают по его окончанию. Время этой задержки известно, при 10-битной точности оно составляет, 13 циклов что при 250 кГц составляет 52 мкс. Итак, можно замерить напряжение на отрезках времени по 52 мкс, но это еще недостаточно точно - во-первых, можно провести серию вспышек и вычислить усредненное значение, во-вторых, можно провести такое же измерение, но запустив АЦП на 26 мкс позже, и наложить на график промежуточные точки, если и этого будет недостаточно, то еще с отставанием на 39 и с опережением на 13 мкс, что, в итоге, должно дать график U(t) с шагом 13 мкс, а потом по нему останется только найти значения времени, соответствующие Uвыкл для каждой ступени мощности вспышки. В теории пока что так.

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 15 дек 2016, 02:19

Идея интересная и, кажется, вполне отвечает вашей задаче. Однако, кривая напряжения на конденсаторе - она одна и та же, как со свежей лампой, так и с изношенной, у которой светоотдача упадет до 25%, а то и 50% от начальной. О какой стабильности тогда можно говорить? Хорошо, если в этом я ошибаюсь.
IMHO, применение для управления IGBT-драйвером автомата экспозиции, аналоговая схема которого обходится десятком деталей и отсутствием математики, высвободит мощности микроконтроллера для других, более интересных функций и опций вспышки. Или для сокращения схемы автомата экспозиции можно использовать вход МК с компаратором, если такой есть в вашем МК.

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 15 дек 2016, 03:28

Идея, опять же, в универсальности - я хочу, чтобы вспышка могла самостоятельно перекалиброваться (выстроить кривую U(t)) для любой лампы, ее цепи и конденсатора. С износом лампы, по идее, должно, разве что, уменьшиться ведущее число, но линейность регулировки мощности должна сохраниться. Что касается аналоговой схемы - там микроконтроллер вообще не нужен.
А в чем идея с компаратором? В смысле,ШИМом, генерируемым МК задавать напряжение, при котором должна произойти отсечка и сравнивать с напряжением на конденсаторе? Тоже вариант, в принципе...

Не в сети
мастер
Сообщения: 655
Стаж 11 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение A-Gugu » 15 дек 2016, 09:21

Без обид, но вы вспышку игратся собираетесь, или по назначению использовать? :)

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 15 дек 2016, 13:04

A-Gugu писал(а):Без обид, но вы вспышку играться собираетесь, или по назначению использовать? :)
Конечно играться. Иначе я купил бы уже давно какую-нибудь Yongnuo YN-14EX и не парился бы. А если серьезно, то мне нравится что-нибудь конструировать, разбираться, вникать в детали. Повторюсь в очередной раз - я хочу разработать универсальную "платформу", на основе которой, каждый сможет собрать свою вспышку, соответствующую требуемым параметрам. Для этого и нужен метод расчета мощности, который работал бы для любой лампы и конденсатора.

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 16 дек 2016, 01:27

На мощности вспышки 1/128 падение напряжения на конденсаторе (при ёмкости 1,3 мкФ) будет чуть меньше двух вольт, слишком много погрешностей на такую малую величину. Боюсь, никуда не деться от эмпирических методов. Придется делать какую-то ручную подстройку, по крайней мере, для малых мощностей.

https://www.google.com.ua/#q=y%3Dsqrt(( ... .7)/0.0013
По оси Х, 0-1 - мощность вспышки, по Y - напряжение, до которого разрядится конденсатор при импульсе такой мощности.

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 17 дек 2016, 00:39

Вот, нашел немного специфической для импульсных ламп математики... но мне она не под силу. Все равно, стоит изучить.
http://eprints.kname.edu.ua/21773/2/%D0 ... B8_8-9.pdf

Не в сети
мастер
Сообщения: 655
Стаж 11 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение A-Gugu » 17 дек 2016, 22:59

Я собрал стенд, отличие от обычного в том, что сильно завышена ёмкость конденсаторов, для 300дж лампы, при 400 вольт, стоит не 3800мкф, а 15000мкф. Отсечка через IGBT. Нащёлкал более 5000 пыхов на полной мощности, лампа - как новенькая. И падение яркости по ходу импульса минимальное. Может и вам надо избрать этот путь?

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 17 дек 2016, 23:12

"Этот путь" - Вы имеете в виду непомерную ёмкость? Действительно, в этом случае график будет почти линейным в первые миллисекунды вспышки, но тогда придется использовать лишь малую часть энергии, накопленной в конденсаторе (чтобы график оставался линейным, вспышку нужно прекратить до того как существенно упадет напряжение), я уж не говорю про габариты и стоимость такой ёмкости. В какой момент Вы делаете отсечку? Полная мощность у Вас почти 1200 Дж получается при такой ёмкости.

Кстати, по Вашему совету, попробовал убрать дроссель, как и ожидалось, сопротивление цепи (если верить измерениям моей вспышки) упало с 3.53 Ом до 3.48 Ом, и, вопреки ожиданиям, я не заметил уменьшения длительности нарастания тока в лампе, он так и остался около 100 мкс.

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 18 дек 2016, 02:19

vvsector85 писал(а):немного специфической для импульсных ламп математики...
Выжимка из "Импульсные источники света". /Под ред.И.С.Маршака.1978 https://impulsite.ru/ctlg/bibl/marshak_ ... a_1978.zip

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 19 дек 2016, 17:37

Ладно, я сдаюсь. Нужна обратная связь между лампой и микроконтроллером, через замер напряжения на накопительном конденсаторе реализовать это не получится - не хватает точности и скорости АЦП. Какое бы уравнение я не использовал, оно не сможет учесть износ лампы и прочие переменные. Если даже инженеры Кэнона не смогли обойтись без фотодатчика, значит, без него никак не получится.

Подскажите, пожалуйста, как это лучше реализовать? Если с аналоговой автоматической схемой все приблизительно ясно, то со ступенчатой регулировкой, все иначе. Ведь если током от фотодатчика заряжать конденсатор, то напряжение на нем все равно не будет пропорционально энергии импульса вспышки. Мы снова возвращаемся к
Изображение

P.S.: Кстати, почему в формуле с Википедии (1-e-t/RC), а не просто e-t/RC?

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 19 дек 2016, 20:36

vvsector85 писал(а):почему в формуле с Википедии (1-e-t/RC), а не просто e-t/RC?
1) А вы постройте графики этих функций и увидите разницу. :)

U=Uo(1-e-t/RC) - формула заряда конденсатора.

U=Uoe-t/RC - формула разряда конденсатора.

2) График заряда в начальном участке, до уровня 0,5 амплитуды, почти линейный.
3) Изучаем интегрирующие цепи.
4) Фотогальванический и фотодиодный режим фотодиода. Влияние насыщения фотодиода на измерения в фотогальваническом режиме наглядно показано в двух тестах: Test 1 и Test 2.
5) Площадь под графиком яркости импульсной лампы пропорциональна излучаемой световой энергии. Интегрируя эту кривую можем измерять излучаемую энергию.
6) Если посмотреть на схемы автоматов экспозиции, то можно получить готовые схемные решения. К примеру возьму схему Unomat B24TAC, а именно интегрирующую ёмкость C9 или C10 (в разных программных режимах), которая заряжается стабилизатором тока напряжения на VT3, C11. Время заряда до момента включения транзистора VT2 пропорционально сопротивлению фотодиода VD3, его освещенности и длительности освещения. viewtopic.php?p=749#p749
7) Задача по измерению излучаемой энергии лампы вырождается в измерение напряжения на интегрирующем конденсаторе или в измерение времени заряда до заданного уровня напряжения в пределах начального участка зарядной кривой конденсатора.

Кстати, по теме измерения энергии вспышки вспомнилась схема шкального флашметра: страница 121 в сборнике "Фотолюбитель-конструктор" (1 часть), под редакцией Анцева и Доброславского. Там пара страниц, познакомьтесь с принципом работы.

Не в сети
Аватара пользователя
коллега
Сообщения: 227
Стаж 8 лет 3 месяца

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение vvsector85 » 19 дек 2016, 21:04

Думаю, уместно будет использовать аналоговый компаратор. Заряжать конденсатор на одном его входе до заданного напряжения и сравнивать с напряжением на интегрирующем конденсаторе, при совпадении прерывать горение лампы. Только вот как лучше поддерживать заданное напряжение на "сравнительном" конденсаторе? 8-битного ШИМа может оказаться недостаточно... За счет уменьшения частоты можно повысить его разрядность, если использовать 16-битный таймер, но на нем работает и ШИМ преобразователя... Придется в корне пересматривать схему и код.

Не в сети
эксперт
Сообщения: 10367
Стаж 11 лет 6 месяцев

Re: Самодельная макровспышка на ATmega8

Непрочитанное сообщение Impulsite » 19 дек 2016, 21:29

Компаратор? Да. Или ОУ в качестве компаратора.
Попробуйте мне объяснить, почему схемы автоматов экспозиции прошлого века обходились без 16-битных таймеров и ШИМов?

Изображение Изображение Изображение Изображение
Ответить

Вернуться в «Личные темы строителей вспышек»