Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Диммер на Atmega
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
asf
Уважаемые, правильно я понимаю, что необходимо лишь дергать тиристор с определенной частатой, т.о. отсекая часть, при этом свечение лампы накаливания будет ровным т.к. у нити есть определенная инертность... unsure.gif
rx3apf
Цитата(asf @ Feb 19 2007, 22:19) *
Уважаемые, правильно я понимаю, что необходимо лишь дергать тиристор с определенной частатой, т.о. отсекая часть, при этом свечение лампы накаливания будет ровным т.к. у нити есть определенная инертность... unsure.gif

Если "с частотой" - это получится мигалка (биения "частоты" и сетевой частоты). А надо с определенной скважностью, отсчитывая момент включения симистора от начала сетевого полупериода.
asf
Цитата(rx3apf @ Feb 19 2007, 22:26) *
Цитата(asf @ Feb 19 2007, 22:19) *

Уважаемые, правильно я понимаю, что необходимо лишь дергать тиристор с определенной частатой, т.о. отсекая часть, при этом свечение лампы накаливания будет ровным т.к. у нити есть определенная инертность... unsure.gif

Если "с частотой" - это получится мигалка (биения "частоты" и сетевой частоты). А надо с определенной скважностью, отсчитывая момент включения симистора от начала сетевого полупериода.


т.е. необходима обратная связь .... получив 0, я начинаю менять длительность подачи фазы от 0 до N, всегда подаю от 0 до N и остальное отсекаю? т.о. яркость будет зависить от продолжительности подачи фазы от 0 до N?
rx3apf
Цитата(asf @ Feb 19 2007, 22:29) *
Цитата(rx3apf @ Feb 19 2007, 22:26) *

Цитата(asf @ Feb 19 2007, 22:19) *

Уважаемые, правильно я понимаю, что необходимо лишь дергать тиристор с определенной частатой, т.о. отсекая часть, при этом свечение лампы накаливания будет ровным т.к. у нити есть определенная инертность... unsure.gif

Если "с частотой" - это получится мигалка (биения "частоты" и сетевой частоты). А надо с определенной скважностью, отсчитывая момент включения симистора от начала сетевого полупериода.


т.е. необходима обратная связь .... получив 0, я начинаю менять длительность подачи фазы от 0 до N, всегда подаю от 0 до N и остальное отсекаю? т.о. яркость будет зависить от продолжительности подачи фазы от 0 до N?

Получив "0", отсчитываешь время до включения (которое обратно пропорционально требуемой яркости) в диапазоне 0...10 mS.
beer_warrior
Тут надо учесть еще один момент - лампа далеко не линейный элемент. Т.е. приращение угла зажигания на один градус, далеко не всегда даст пропорциональное увеличение яркости. Плюс, питание это синусоида - тоже нелинейность.
rx3apf
Цитата(beer_warrior @ Feb 19 2007, 23:47) *
Тут надо учесть еще один момент - лампа далеко не линейный элемент. Т.е. приращение угла зажигания на один градус, далеко не всегда даст пропорциональное увеличение яркости. Плюс, питание это синусоида - тоже нелинейность.

Да, несмотря на то, что в простых регуляторах используют потенциометры с линейной зависимостью (если я не вру), характеристика вовсе не линейная. Мощность от напряжения зависит квадратично, напряжение синусоидальное. Нужно условный код в линейном представлении превратить в нечто логарифмическое (когда я делал в новогодней мигалке фазоимпульсное управление сетевыми гирляндами, пришлось повозиться с этим моментом).
prottoss
Цитата(rx3apf @ Feb 20 2007, 02:38) *
Получив "0", отсчитываешь время до включения (которое обратно пропорционально требуемой яркости) в диапазоне 0...10 mS.
Вы наверное имели ввиду до выключения? Я понимаю так, что, когда мы "поймали ноль", мы подаем на тиристор управляющее напряжение, тем самым обеспечивая его открывание на заданное время.
rx3apf
Цитата(prottoss @ Feb 20 2007, 00:58) *
Цитата(rx3apf @ Feb 20 2007, 02:38) *
Получив "0", отсчитываешь время до включения (которое обратно пропорционально требуемой яркости) в диапазоне 0...10 mS.
Вы наверное имели ввиду до выключения? Я понимаю так, что, когда мы "поймали ноль", мы подаем на тиристор управляющее напряжение, тем самым обеспечивая его открывание на заданное время.

Нет, от нуля отсчитывается именно момент включения. Потому как тиристор можно включить, а вот принудительно выключить - крайне сложно. Типично он выключается сам, когда ток через него падает ниже порога удержания (т.е. примерно в момент "ноль" для активной нагрузки).
Screw
у атмела есть документик... дословно называется Zero-cross detector там показано как и что...
vooon
Вот еще посмотрите: http://sourceforge.net/projects/semitone/

особенно мне нравится что там сделана развязка от сети,
очень уж я не люблю бестрансформаторное питание.... ИМХО smile.gif
prottoss
Цитата(rx3apf @ Feb 20 2007, 05:11) *
Цитата(prottoss @ Feb 20 2007, 00:58) *

Цитата(rx3apf @ Feb 20 2007, 02:38) *
Получив "0", отсчитываешь время до включения (которое обратно пропорционально требуемой яркости) в диапазоне 0...10 mS.
Вы наверное имели ввиду до выключения? Я понимаю так, что, когда мы "поймали ноль", мы подаем на тиристор управляющее напряжение, тем самым обеспечивая его открывание на заданное время.

Нет, от нуля отсчитывается именно момент включения. Потому как тиристор можно включить, а вот принудительно выключить - крайне сложно. Типично он выключается сам, когда ток через него падает ниже порога удержания (т.е. примерно в момент "ноль" для активной нагрузки).
Да, точно! Что то я на ночь запарил smile.gif
Demeny
Цитата(beer_warrior @ Feb 19 2007, 23:47) *
Тут надо учесть еще один момент - лампа далеко не линейный элемент. Т.е. приращение угла зажигания на один градус, далеко не всегда даст пропорциональное увеличение яркости. Плюс, питание это синусоида - тоже нелинейность.

Если хочется линейного управления - приращение по углу должно быть нелинейным. А каким именно - я когда-то подробно излагал в этом топике
asf
Большое все спасибо!
AndryG
Делал недавно двухканальный регулятор - включался вместо обычного выключателя.

И наступил на грабли smile.gif

Если схема включается в разрыв провода, то вылавливать нужно только ОДИН переход синусоиды через ноль... и по нему отсчитывать время на оба полупериода.

На счет линейности изенения яркости ... с другом расчитывали табличку в Excel - задаете мин -макс мощность, к-во шагов - и получаете табличку значений для перегрузки таймера... изменение получилось более-менее равномерно, но все равно не идеальна линейность получилась из-за особенностей накала нити.

Немного описания и схема: http://andryg.ho.com.ua/index.php?p=switchl
Igor26
Цитата
то вылавливать нужно только ОДИН переход синусоиды через ноль... и по нему отсчитывать время на оба полупериода.

Вылавливать нужно ОБА перехода через ноль. Тогда не нужно будет отсчитавать время на оба полупериода. Реализуется предельно просто.
AndryG
Igor26, при цитировании не нужно резать предложения smile.gif
Если схема включается в разрыв провода, то вылавливать нужно только ОДИН переход синусоиды через ноль... и по нему отсчитывать время на оба полупериода.

Я на этом пару дней угробил - осциллографа нет sad.gif ... спасибо Александр Гатальский (http://g-a-v.pisem.net/) подсказал.
Igor26
Цитата(AndryG @ Feb 20 2007, 10:17) *
Igor26, при цитировании не нужно резать предложения smile.gif
Если схема включается в разрыв провода, то вылавливать нужно только ОДИН переход синусоиды через ноль... и по нему отсчитывать время на оба полупериода.

Я на этом пару дней угробил - осциллографа нет sad.gif ... спасибо Александр Гатальский (http://g-a-v.pisem.net/) подсказал.


Спорить не буду...
Просто пока не понимаю про один переход. cranky.gif Проверю при случае.
AndryG
Как я для себя объяснил ... говорю сразу "для себя" ибо осцила нет.

Симистор включаем последовательно с нагрузкой и всю схему в параллель с симистором.
Когда симистор закрыт, то схема получает "всю напругу" и можно отловить переход с отриц.полупериода в положительный - на контроллере будет переход 0->1.
Затем после задержки открываем симистор ... напруга на схеме исчезает (шунтируется симистором) и мы получаем на контроллере переход (1->0) ... вот тут я и ловился :-) программа думала, что это второй переход фазы напруги и уходила в облом - начинала отсчитывать задержку на вкл. симистора (хотя он еще работает - идет полупериод) ... потом начинают накладываться импульсы вклюсения симистора и переходы полупериодов ... одним словом получаем непревзойденную мигалку :-)
Вот. Таким макаром следует отлавливать один полупериод и вообще запрещать прерывание, пока не отработают оба включения симистора - на схеме огромные выбросы - и проскакивают ложные переходы 0->1(если в сети "шуметь" трансом и напильником)
SunnyDevil
Вообщето при точном управлении есть еще одна причина, почему стоит ловить только один переход. Дело в том, что при использовании большинства схем детекции перехода через ноль на вход микроконтроллера будут поступать испульсы, которые строго говоря меандром не являются. Т.е. у них относительно реального перехода через ноль, фронт 0->1 будет запаздывать, а фронт 1->0 опережать. Можно либо выкомпенсировать и то и то, либо просто ловить только один с единственным коэффициентом компенсирования.
#alex_
Цитата(AndryG @ Jun 14 2007, 17:55) *
Как я для себя объяснил ... говорю сразу "для себя" ибо осцила нет.

Симистор включаем последовательно с нагрузкой и всю схему в параллель с симистором.
Когда симистор закрыт, то схема получает "всю напругу" и можно отловить переход с отриц.полупериода в положительный - на контроллере будет переход 0->1.
Затем после задержки открываем симистор ... напруга на схеме исчезает (шунтируется симистором) и мы получаем на контроллере переход (1->0) ... вот тут я и ловился :-) программа думала, что это второй переход фазы напруги и уходила в облом - начинала отсчитывать задержку на вкл. симистора (хотя он еще работает - идет полупериод) ... потом начинают накладываться импульсы вклюсения симистора и переходы полупериодов ... одним словом получаем непревзойденную мигалку :-)


Да я тоже через это прошёл, вышел из ситуации следующим образом. Нашел в даташите на используемый мною контроллер макс. входное значение напряжения лог 0 и мин. значение напряжения лог. 1 и определил диапазон так называемой мертвой зоны (для МК tiny2313 её середина равна 0,45Vcc), которое находится между этими двумя значениями. При включении симистора прерывание не происходит, так как на входе детектора "0" U находится в этой зоне за счет расчитанного делителя. В приложенной схеме делитель R11/R10 ~ 0,8. Для МК mega8 делитель получился R11/R10 ~ 0,5 . При этих соотношениях для этих МК четко вылавливаютя ОБА перехода через ноль без ложных срабатываний.
Иван_Я
А как вы относитесь к тому если ловить переход через ноль встроенным компаратором самого контроллера?
syll
Может кто знает, почему трещит гасящий конденсатор и греется его резистор (для схемы постом выше)?
yakub_EZ
Скорее всего его (конденсатор) элементарно пробивает
rx3apf
Цитата(yakub_EZ @ Jan 10 2011, 19:29) *
Скорее всего его (конденсатор) элементарно пробивает

Тогда бы резистор просто испарился. Нет, скорее все в норме. Трещит - особенность диэлектрика, греется резистор - номинал великоват, потери достаточно большие, чтобы нагреваться.
yakub_EZ
Тогда, да. В общем то он не должен сильно греться. При чистом синусе ток через эту цепь должен быть 33 мА и соответственно на резисторе должно рассеиваться порядка 0.2 вата.
Ещё может быть, что в питающем напряжении много высших гармоник. Вот потому он и пищит и через резистор протекает больший ток, нежели при расчетных чистых 50 герцах
rx3apf
Цитата(yakub_EZ @ Jan 10 2011, 19:53) *
Тогда, да. В общем то он не должен сильно греться. При чистом синусе ток через эту цепь должен быть 33 мА и соответственно на резисторе должно рассеиваться порядка 0.2 вата.

А не порядка 0.42 ?
yakub_EZ
Цитата(rx3apf @ Jan 10 2011, 19:55) *
А не порядка 0.42 ?

Давайте посчитаем:
Сопротивление конденсатора по переменному току - Xc=1/(2*3.14*50*.47e-6)=6,7 k
Ток через него = 220/6k7 = 32.5 mA
потери в резисторе i^2*R = 0.21 вт
rx3apf
Цитата(yakub_EZ @ Jan 10 2011, 20:05) *
Давайте посчитаем:
Сопротивление конденсатора по переменному току - Xc=1/(2*3.14*50*.47e-6)=6,7 k
Ток через него = 220/6k7 = 32.5 mA

Резистор 390 Ohm, на нем падает 32.5E-3 mA * 390 = 12.7V. 12.7 * 32.5E-3 = ?
yakub_EZ
Я понял. Мы обсуждаем разные вещи - снаббер состоящий из C1 R1 и гасящую цепочку из C2 R2.
Я имел в виду конечно же C2 R2
rx3apf
Цитата(yakub_EZ @ Jan 10 2011, 20:13) *
Я понял. Мы обсуждаем разные вещи - снаббер состоящий из C1 R1 и гасящую цепочку из C2 R2.
Я имел в виду конечно же C2 R2

А, ну да (действительно, через снаббер-то ток все равно меньше), правильно. Но и 200 mW - тоже вполне ощутимый нагрев, а конденсаторы и оба могут трещать (в простом конденсаторном балласте светодиодной лампы пленочник 1 uF вполне ощутимо трещит).
syll
За обсуждение темы нагрева спасибо. А вот еще вопрос: Почему-то плавает время перехода через ноль, где-то на 150 мкс. Это заметно и на глаз по слабому мерцанию лампы во всех диапазонах мощностей. Контроллер использован Мега168v вместо Тини2313. Может проблема в том, что в меге нестабильно напряжение нуля?
syll
Цитата(syll @ Jan 14 2011, 07:43) *
За обсуждение темы нагрева спасибо. А вот еще вопрос: Почему-то плавает время перехода через ноль, где-то на 150 мкс. Это заметно и на глаз по слабому мерцанию лампы во всех диапазонах мощностей. Контроллер использован Мега168v вместо Тини2313. Может проблема в том, что в меге нестабильно напряжение нуля?


Прошу помощи по этому вопросу. Жалко потраченного времени. Уперся в стену, движения нет...
Varnish
У меня появился вопрос по схеме диммера, приведенной выше.
За счет чего питается контроллер, когда симистор находится в открытом состоянии?
В этом случае на нем падает всего около полутора вольт и этого явно не достаточно для работы гасящей цепи C2-R2.
Или хватает создаваемых гармоник для заряда конденсатора C4? Но они всё-равно в этом случае не должны превышать полутора вольт по амплитуде.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.