Для постоянного тока гораздо проще контролировать питание с помощью ШИМ, где мы используем MOSFET и можем закрыть или открывать ее в любое время.
Однако для AC мы должны иметь дело с Triacs. У Triac также есть ворота для контроля, но если Triac включен, его нельзя отключить, пока напряжение переменного тока не опустится до 0 вольт. Если мы рассмотрим электроэнергию переменного тока с 220 В и 50 Гц, существует 50 полных периодов синуса и 100 половины периодов (50 положительного напряжения отрицательно 50 напряжения).
Одним из возможных способов управления скоростью мощности является сдвиг фазы:
Чтобы заставить его работать, вам нужен детектор AD Zero Cross и включите TRIAC для необходимого сдвига фазы, но до его окончания. Он работает нормально, но большой недостаток - это много электромагнитных помех (EMI), и все становится плохо, когда вам нужно снять большую силу, например, 4 кватта. Вы получите много EMI, и Triacs будет в стрессовом режиме.
Гораздо лучше включить триак, когда напряжение низкое (почти до 0 вольт), а другой - включить триак только в течение определенных половины периодов: в этом случае никаких проблем с EMI. Однако, как оценить мощность более точнее? Например, вам нужна скорость мощности = 40%, вам нужно включить триак только в течение первых 40 периодов? Чтобы решить эту проблему более точным способом, мы можем использовать алгоритм Бресенхэма, который может помочь нам распространять власть в течение определенного периода.
Давайте посмотрим на пример для 50 Гц -> 100 половины периодов. - Triac отключен, # - Triac включен:
Кроме того, для этого метода нам нужен нулевой детектор поперечного детектора, а TRIAC должны управляться с MOC3041 (или аналогичным IC) с нулевым обнаружением поперечного скрещивания внутри. В качестве альтернативы также можно использовать реле твердого состояния (с нулевым обнаружением поперечного скрещивания), например, Fotek SSR-40 DA.
Но вы не можете использовать этот подход для света, который нуждается в более высокой частоте. Для 50 Гц переменного тока может быть включен от 0 до 100 раз в секунду. Для резитивной нагрузки (обогревателей) это очень нормально, но луковицы будут мигать.
Детектор необходим для обработки алгоритма Бресенхэма. Схема схема детектора нуля
И осциллограмма этой схемы:
Пик импульса, когда волотаж равна 0 вольт.
Создайте новую папку под названием «Bresenhamtriacdriver» под папкой «Библиотеки» в папке Arduino Sketchbook. Создайте папку «библиотеки» на случай, если ее еще не существует. Поместите все файлы в папку "Bresenhamtriacdriver".
Чтобы использовать библиотеку в своем собственном эскизе, выберите ее из Sketch> Import Library .
Testscketch.ino