Самодельная макровспышка на ATmega8
- Автор
- Сообщение
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Ну, так меня тоже этот вопрос интересует. Если в ДШ указано 150КГц, то я так понимаю, что этот транзистор может работать на этой частоте. А вот какая скважность при этом допустима - это то, что я пытаюсь выяснить. В самом удобном, для транзистора, случае, заполнение будет 1/2, но даже тогда, период будет складываться из двух полупериодов открытого и закрытого состояния, длительностью по 1/f/2. А частота, f, указана явно, и составляет 150 КГц, значит, минимальная продолжительность импульса должна быть 3,33 мкс.
К тому же, я не смог найти транзисторов с большей частотой, а в Canon EX, каким-то образом, реализована частота 50КГц, и, думаю, скважность там тоже меняется от начала к концу серии импульсов, плюс, еще и мощность регулируется.
Нет идей, как посчитать потери на транзисторе в HSS? На приведенных выше осциллограммах сумма длительностей всех импульсов в HSS равна длительности одного импульса в простом режиме, но конечное напряжение на конденсаторе отличается на 30В. И вообще, странно, если из-за высокой частоты увеличилось сопротивление в цепи лампы, то конечное напряжение должно было бы быть наоборот, выше.
К тому же, я не смог найти транзисторов с большей частотой, а в Canon EX, каким-то образом, реализована частота 50КГц, и, думаю, скважность там тоже меняется от начала к концу серии импульсов, плюс, еще и мощность регулируется.
Нет идей, как посчитать потери на транзисторе в HSS? На приведенных выше осциллограммах сумма длительностей всех импульсов в HSS равна длительности одного импульса в простом режиме, но конечное напряжение на конденсаторе отличается на 30В. И вообще, странно, если из-за высокой частоты увеличилось сопротивление в цепи лампы, то конечное напряжение должно было бы быть наоборот, выше.
-
Не в сети
- эксперт
- Сообщения: 10367
- Стаж 11 лет 6 месяцев
Re: Самодельная макровспышка на ATmega8
Здесь подсказать не могу, не знаю. Но думаю, на форуме по преобразователям сварочных аппаратов вопрос потерь при переключении транзистора решали. И там должны быть могучие спецы по этой теме:vvsector85 писал(а):как посчитать потери на транзисторе в HSS?
http://valvol.ru/
http://valvolodin.narod.ru/
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Спасибо за ссылки. Подскажите, пожалуйста, на счет регулировки мощности в HSS, а то я серьезных вспышек в руках не держал. В каком диапазоне там регулировка? По выведенным формулам, МК без проблем посчитает длительности импульсов для любой мощности при любых допустимых параметрах, но все, опять таки, упирается в скорость транзистора и разрешающую способность ШИМ.
-
Не в сети
- эксперт
- Сообщения: 10367
- Стаж 11 лет 6 месяцев
Re: Самодельная макровспышка на ATmega8
Сейчас у топовых вспышек от 1/1 до 1/128 - семь ступеней диафрагмы. У Metz 58, который кстати, работает на IRG4BC40W, от 1/1 до 1/256.
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Это в режиме HSS?!! Это просто нереально! Если частота 50КГц, то мало того что скважность должна меняться по мере разряда конденсатора, и все это в периоде 20 мкс, так еще и эти импульсы нужно поделить на частей кучу частей! Какая же тогда разрядность ШИМ должна быть и какой минимальный импульс?! Тут счет на наносекунды и частота микроконтроллера в гигагерцах должна измеряться.
А, секундочку, ступеней всего 7... ну, все равно... даже если при частоте МК Мегагерц 30-40 и получится добиться нужной разрядности ШИМ, как быть с минимальным импульсом?
А, секундочку, ступеней всего 7... ну, все равно... даже если при частоте МК Мегагерц 30-40 и получится добиться нужной разрядности ШИМ, как быть с минимальным импульсом?
Последний раз редактировалось vvsector85 4 сен 2016, 21:59, всего редактировалось 2 раза.
-
Не в сети
- эксперт
- Сообщения: 10367
- Стаж 11 лет 6 месяцев
Re: Самодельная макровспышка на ATmega8
Ой, пардоньте, это в ручном режиме я привел числа.
В руководстве на Canon 600EX-RT в HSS, который там называется "быстрая вспышка" на стр. 114 указано ведущее число такой фразой "Соответствует от 1/2 до 1/6 ручного режима"
У Metz нет указания на диапазон регулирования в HSS, только в табличке приведено, что на всех фокусных расстояниях ведущее число примерно в 5 раз меньше, чем в ручной установке.
В инструкции к Nikon SB-900 более определенно: https://impulsite.ru/ctlg/nikon/sb900/14730143.png - т.е. можно в HSS выбирать и 1/128.
В руководстве на Canon 600EX-RT в HSS, который там называется "быстрая вспышка" на стр. 114 указано ведущее число такой фразой "Соответствует от 1/2 до 1/6 ручного режима"
У Metz нет указания на диапазон регулирования в HSS, только в табличке приведено, что на всех фокусных расстояниях ведущее число примерно в 5 раз меньше, чем в ручной установке.
В инструкции к Nikon SB-900 более определенно: https://impulsite.ru/ctlg/nikon/sb900/14730143.png - т.е. можно в HSS выбирать и 1/128.
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Возьмем, например, серию из 200 импульсов с частотой 50 КГц. При частоте МК 8 МГц, период в 20мкс получится поделить на 159 частей, т. е. заполнение можно регулировать в пределах 0-159. Тогда, при ёмкости 500 мкФ, U0=300В, Uмин.заж.=170В чтобы обеспечить одинаковую энергию каждого импульса, заполнение должно меняться в диапазоне 27-135 попугаев от начала к концу сереии импульсов. А значит, длительность первого импульса будет
(20 мкс*27)/159 = 3.37 мкс. В свою очередь, длительность этого самого короткого импульса тоже должна варьироваться от мощности. Я молчу про разрядность ШИМ, при тактовой частоте 8 МГц этот короткий отрезок можно поделить только на 27 частей, но эта частота не предел для МК, можно больше, но как быть со скоростью транзистора? Куда еще укорачивать импульс? На таком коротком участке напряжение практически не будет меняться, так что зависимость энергии импульса от длительности будет практически линейной. Значит, для мощности 1/128 его длительность должна быть около 26 нс, чего быть НЕ МОЖЕТ (могу посчитать точнее, но это мало что изменит).
Вот, нашел кое-что по потерям в транзисторе, но тут можно мозг сломать.
(20 мкс*27)/159 = 3.37 мкс. В свою очередь, длительность этого самого короткого импульса тоже должна варьироваться от мощности. Я молчу про разрядность ШИМ, при тактовой частоте 8 МГц этот короткий отрезок можно поделить только на 27 частей, но эта частота не предел для МК, можно больше, но как быть со скоростью транзистора? Куда еще укорачивать импульс? На таком коротком участке напряжение практически не будет меняться, так что зависимость энергии импульса от длительности будет практически линейной. Значит, для мощности 1/128 его длительность должна быть около 26 нс, чего быть НЕ МОЖЕТ (могу посчитать точнее, но это мало что изменит).
Вот, нашел кое-что по потерям в транзисторе, но тут можно мозг сломать.
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
На счет HSS, появилась следующая идея: при частоте 50 КГц регулировать мощность не представляется возможным, но такая частота нужна только для очень коротких выдержек, вплоть до 1/16000, если выдержка длиннее, просвет между шторками больше, соответственно нужно меньшее количество импульсов для равномерного засвета матрицы. С другой стороны, при ультра-коротких выдержках мощность вспышки должна быть близкой к максимальной, так что при частоте HSS 50 КГц просто не должно быть нужды сильно уменьшать мощность. Таким образом, мощность вспышки в режиме HSS можно регулировать, но при меньшей частоте. Чем ниже частота - тем в большем диапазоне возможна регулировка.
Как Вы считаете, верны ли мои умозаключения?
Теперь, когда проект перенесен на ATMega168, есть возможность реализовать дополнительные функции. Так, думаю, полезной была бы калибровка лампы.
1. Самое простое - открыть транзистор, т. е. сделать пых на полную мощность, после чего измерить оставшееся на конденсаторе напряжение. Для большей точности, можно провести эту процедуру несколько раз и посчитать среднее значение - получим Uг.
2. Чуть сложнее - снизить заполнение ШИМ преобразователя, чтобы конденсатор заряжался достаточно медленно, и с каждым подъемом напряжения на 1В, открывать транзистор. Когда произойдет вспышка, напряжение на конденсаторе резко упадет, МК поймет, что вспышка состоялась. Последнее значение напряжения при зарядке конденсатора и будет минимальным напряжением зажигания Uз. Измерение можно повторить несколько раз и взять самое высокое значение.
3. Самое сложное - вычислить сопротивление в цепи лампы. Боюсь, тут может не хватить скорости АЦП, но, попробовать стоит.
Известны следующие величины:
- ёмкость конденсатора C (написана на банке)
- начальное напряжение U0 (выбирается произвольно в пределах возможностей конденсатора)
- напряжение гашения Uг (определено первым тестом)
чтобы вычислить R остается только найти t, а вот с этим могут быть проблемы, т. к. для этого потребуется измерять напряжение на конденсаторе во время горения лампы, чтобы остановить отсчет времени при достижении Uг. Понятно, измерить время вспышки можно и иначе, сейчас я говорю именно об измерениях, которые можно провести средствами самой вспышки. Для 10 битной точности частота АЦП должна быть 50-200КГц, при тактовой частоте МК 8МГц, используя делитель 64 можно получить 125КГц АЦП, значит, один такт будет 8 мкс, для одного преобразования АЦП требуется 13 тактов, значит, измерение можно будет провести раз в 104 мкс... Точность так-себе, конечно, учитывая, что в среднем, максимальная длительность импульса лампы - около 2 мс. Можно, конечно, поднять частоту АЦП, но тогда точность самих измерений может снизится.
И вот, еще, к рассуждениям о наименьшей продолжительности импульса на IRG4BC40W:
td(on) Turn-On Delay Time 25 ns
tr Rise Time 23 ns
td(off) Turn-Off Delay Time 170 ns
tf Fall Time 124 ns
итого - 342 нс на весь цикл открытия-закрытия транзистора, правда, при I=20A, U=480V. Возможно, требуется еще какая-то минимальная плоская часть, в которой состояние транзистора не меняется, но я не нашел упоминаний об этом в ДШ
Как Вы считаете, верны ли мои умозаключения?
Теперь, когда проект перенесен на ATMega168, есть возможность реализовать дополнительные функции. Так, думаю, полезной была бы калибровка лампы.
1. Самое простое - открыть транзистор, т. е. сделать пых на полную мощность, после чего измерить оставшееся на конденсаторе напряжение. Для большей точности, можно провести эту процедуру несколько раз и посчитать среднее значение - получим Uг.
2. Чуть сложнее - снизить заполнение ШИМ преобразователя, чтобы конденсатор заряжался достаточно медленно, и с каждым подъемом напряжения на 1В, открывать транзистор. Когда произойдет вспышка, напряжение на конденсаторе резко упадет, МК поймет, что вспышка состоялась. Последнее значение напряжения при зарядке конденсатора и будет минимальным напряжением зажигания Uз. Измерение можно повторить несколько раз и взять самое высокое значение.
3. Самое сложное - вычислить сопротивление в цепи лампы. Боюсь, тут может не хватить скорости АЦП, но, попробовать стоит.
Известны следующие величины:
- ёмкость конденсатора C (написана на банке)
- начальное напряжение U0 (выбирается произвольно в пределах возможностей конденсатора)
- напряжение гашения Uг (определено первым тестом)
чтобы вычислить R остается только найти t, а вот с этим могут быть проблемы, т. к. для этого потребуется измерять напряжение на конденсаторе во время горения лампы, чтобы остановить отсчет времени при достижении Uг. Понятно, измерить время вспышки можно и иначе, сейчас я говорю именно об измерениях, которые можно провести средствами самой вспышки. Для 10 битной точности частота АЦП должна быть 50-200КГц, при тактовой частоте МК 8МГц, используя делитель 64 можно получить 125КГц АЦП, значит, один такт будет 8 мкс, для одного преобразования АЦП требуется 13 тактов, значит, измерение можно будет провести раз в 104 мкс... Точность так-себе, конечно, учитывая, что в среднем, максимальная длительность импульса лампы - около 2 мс. Можно, конечно, поднять частоту АЦП, но тогда точность самих измерений может снизится.
И вот, еще, к рассуждениям о наименьшей продолжительности импульса на IRG4BC40W:
td(on) Turn-On Delay Time 25 ns
tr Rise Time 23 ns
td(off) Turn-Off Delay Time 170 ns
tf Fall Time 124 ns
итого - 342 нс на весь цикл открытия-закрытия транзистора, правда, при I=20A, U=480V. Возможно, требуется еще какая-то минимальная плоская часть, в которой состояние транзистора не меняется, но я не нашел упоминаний об этом в ДШ
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Проверил в симуляции измерение длительности импульса (для определения сопротивления в цепи лампы самой вспышкой), как и ожидалось, в среднем, результат измерений завышен на 100 мкс.
-
Не в сети
- мастер
- Сообщения: 655
- Стаж 11 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Кстати вот что интересно, я замерил накамерные вспышки разные. Максимальная длительность импульса у них 8мсек. Было бы интересно узнать, если взять за основу 330 вольт на конденсаторе, то во сколько джоулей это перевести можно?
-
Не в сети
- эксперт
- Сообщения: 10367
- Стаж 11 лет 6 месяцев
Re: Самодельная макровспышка на ATmega8
Вопрос непонятно поставлен. Вроде бы раньше было E=0,5*C*U2.
-
Не в сети
- мастер
- Сообщения: 655
- Стаж 11 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Sigma EF какая-то. На мощности 1/1 длина импульса - 8мс. на 1/16 - 500мкс. Еще проверил всякие минольты и сони - максимальная длительность не более 8мс, так что условно говоря, ставить конденсатор 2200мкф вместо 1500мкф в обычную вспышку, смысла нет вроде?
-
Не в сети
- эксперт
- Сообщения: 10367
- Стаж 11 лет 6 месяцев
-
Не в сети
- мастер
- Сообщения: 655
- Стаж 11 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
не знаю, во всех случаях, снимал сигнал с базы IGBT транзистора
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Затвор IGBT-транзистора - не показатель. Мы не знаем в точности алгоритмов управления. Возможно, при максимальной мощности, транзистор открывается на время, заведомо большее, чем время горения лампы, а сама лампа гаснет раньше, чем закрывается IGBT-транзистор. Какие ёмкости стоят в этих вспышках?A-Gugu писал(а):не знаю, во всех случаях, снимал сигнал с базы IGBT транзистора
Есть ли какие-то мнения на счет моих изысканий? Что на счет точности измерения длительности горения лампы самой вспышкой? Достаточно ли ее? Что на счет идеи снижать частоту HSS по мере удлинения выдержки?
-
Не в сети
- мастер
- Сообщения: 655
- Стаж 11 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Ёмкости конденсаторов были от 400 до 1500мкф, во всех случаях, время открытия не превышало 8мс.
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Поднял частоту АЦП до 250КГц (точность измерения может снизится, но не значительно, 10 бит - это и так избыточно), немного оптимизировал код и точность определения сопротивления в цепи лампы существенно выросла (пока что в симуляции). При максимальной длительности разряда лампы более 2 мс, сопротивление рассчитывается с точностью до 0.05 Ом Считаю, это вполне неплохо. Вспышка сможет самостоятельно калибровать лампу и все дальнейшие расчеты производить с полученными значениями. Если сильно заморочиться, можно и ёмкость конденсатора вычислить, но это, я думаю, уже лишнее.
Размышляю еще над одной задачей - как поддерживать на конденсаторе постоянное значение напряжения? Когда собирал макет ранней версии этой вспышки, конденсатор заряжался выше порогового значения (310В), при чем, чем меньше была ёмкость, тем больше был перезаряд. конденсатор 470мкФ заряжался где-то до 316В. Не совсем понятна причина, ведь ШИМ преобразователя останавливался четко при достижении 310В, и скорость АЦП слишком велика, чтобы прозевать момент когда на конденсаторе достигается нужное напряжение. Возможно, нужно реализовать PID-алгоритм, или что-то подобное, чтобы поддерживать постоянное напряжение на ёмкости?
Размышляю еще над одной задачей - как поддерживать на конденсаторе постоянное значение напряжения? Когда собирал макет ранней версии этой вспышки, конденсатор заряжался выше порогового значения (310В), при чем, чем меньше была ёмкость, тем больше был перезаряд. конденсатор 470мкФ заряжался где-то до 316В. Не совсем понятна причина, ведь ШИМ преобразователя останавливался четко при достижении 310В, и скорость АЦП слишком велика, чтобы прозевать момент когда на конденсаторе достигается нужное напряжение. Возможно, нужно реализовать PID-алгоритм, или что-то подобное, чтобы поддерживать постоянное напряжение на ёмкости?
-
Не в сети
- мастер
- Сообщения: 655
- Стаж 11 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Красный - ток через транзистор. Синий - напряжение на базе транзистора. Кoнденсатор 1000мкф 350в, длительность импульса 2 мс. Лампа: http://www.excelitas.com/Downloads/BGGP6330NH.pdf
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Эксперименты в Протеусе натолкнули на мысль: а так ли необходим высоковольтный IGBT-транзистор для управления лампой? Если верить симуляции, то во время горения лампы (3 Ом), напряжение на коллекторе - всего около 10В, т. к. бОльшая часть напряжения падает именно на лампе. При закрытом же транзисторе, на коллекторе нет ничего, т. к. лампа, по сути - тригатрон, и в неактивном состоянии она размыкает цепь. Может, достаточно полевого транзистора с меньшим напряжением, но, зато, с большим током и скоростью?
Последний раз редактировалось vvsector85 12 сен 2016, 11:02, всего редактировалось 1 раз.
-
Не в сети
- мастер
- Сообщения: 655
- Стаж 11 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Картинки сдохли, я выкладывал, на транзисторе получается довольно большой импульс, так что надо федя, надо.
Я попробовал 330 вольтовый на 300 вольт - сгорел.
Я попробовал 330 вольтовый на 300 вольт - сгорел.
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
В случае с низковольтным транзистором, нужен отдельный маломощный высоковольтный транзистор в цепи поджига, т. к. там напряжение остается высоким. Возможно, Вы не учли этого в своем эксперименте. По идее ведь разность потенциалов К-Э будет всего лишь U = I*R
-
Не в сети
- мастер
- Сообщения: 655
- Стаж 11 лет 3 месяца
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
Уже дописываю интерфейс вспышки, скоро буду снова переходить к железу. Большинство софтовых проблем решил. Пришел к выводу, что регулировка мощности в HSS возможна только с понижением частоты, но, думаю, в фирменных вспышках это реализовано также. Стараюсь минимизировать количество параметров, которые нужно задать для конкретного железа вспышки. Думаю, достаточно будет ёмкости конденсатора, максимального напряжения заряда, желаемой длительности серии импульсов HSS, и минимальной длительности импульса (определяется параметрами транзистора). Все остальные параметры будут определяться и рассчитываться микроконтроллером автоматически.
Проблему с нехваткой оперативной памяти МК для хранения значений длительности каждого импульса HSS решил следующим образом - определил массив в 100 элементов, где будут храниться эти значения, в случае, если количество импульсов нужно больше, например, 200, то в массив будут вносится усредненные значения каждой пары импульсов, и т. д. Возможно любое количество импульсов, но значений будет сохраняться не более 100.
При тактовой частоте МК 8МГц минимальный шаг при регулировке длительности импульса - 125 нс. В принципе, частоту не проблема поднять до 16-20 Мгц, но тогда придется ставить step-up преобразователь для питания МК, чтобы обеспечить 5В и будут сложности с спящим режимом (преобразователь нужно будет отключать, чтобы он не садил аккумулятор).
Проблему с нехваткой оперативной памяти МК для хранения значений длительности каждого импульса HSS решил следующим образом - определил массив в 100 элементов, где будут храниться эти значения, в случае, если количество импульсов нужно больше, например, 200, то в массив будут вносится усредненные значения каждой пары импульсов, и т. д. Возможно любое количество импульсов, но значений будет сохраняться не более 100.
При тактовой частоте МК 8МГц минимальный шаг при регулировке длительности импульса - 125 нс. В принципе, частоту не проблема поднять до 16-20 Мгц, но тогда придется ставить step-up преобразователь для питания МК, чтобы обеспечить 5В и будут сложности с спящим режимом (преобразователь нужно будет отключать, чтобы он не садил аккумулятор).
-
Не в сети
- мастер
- Сообщения: 1035
- Стаж 11 лет 6 месяцев
- Откуда: RU, Crimea, Simferopol
Re: Самодельная макровспышка на ATmega8
Я, по-моему, где-то выкладывал скриншоты HSS пыха для разных вспышек. Самым разумным видится ограничение длины серии "одинаковых пыхов" для регулировки мощности.vvsector85 писал(а):Пришел к выводу, что регулировка мощности в HSS возможна только с понижением частоты
-
Не в сети
- коллега
- Сообщения: 227
- Стаж 8 лет 3 месяца
Re: Самодельная макровспышка на ATmega8
понятное дело, что для уменьшения мощности нужно уменьшить длительность каждого пыха в серии, но при частоте 50кГц, длительность первого (самого короткого пыха) будет меньше 4 мкс, куда еще его укорачивать? Никакой транзистор не справится. Выход - понизить частоту, а следовательно, и количество пыхов. Т. к. энергия каждого микропыха одинакова, то с уменьшением их количества вдвое и мощность уменьшится вдвое. Период станет вдвое больше, пыхов - вдвое меньше.