Многоканальный диммер PowerDimmer v2 (прототип)

Число просмотров: 7 261 

Готовая силовая часть диммера на макетной платеДиммер! Управление освещением! О, сколько же в этих словах смысла и ночных часов корпения над схемами, прошивками и хитрых ухищрений из разряда сделать так, чтобы всё работало и не надо было думать!

Конечно же, имея своё так или иначе сценическое прошлое, я не мог упустить замечательного момента подвигать ручки на старом совковом пульте управления освещением и соответственно поиграться яркостью киловатных прожекторов у Папика на работе в ДК. С раннего детства Идея регулирования освещения запала в мою голову и требовала реализации (конечно, наравне с другими идеями ^_^).

В 2000е годы ко мне в руки попалась КР1182ПМ1, про которую я писал вот здесь: Плавное включение освещения большой мощности на КР1182ПМ1, и мне казалось что уж эта-то микросхемка идеально подходит для того чтобы ей регулировать свет при помощи микроконтроллера. Фигли? Поставим ЦАП с защёлкой, оптрон — и микроконтроллер будет выдавать на них нужный код. Вот тебе и многоканальность и вообще что хошь! Да не тут-то было. До практических попыток дело так и не дошло: то лень было, то мне люди с iXBT популярно поясняли о том, что не будет никакого регулирования, даже нелинейного при таком принципе работы, потому что оптрон… ну не особо-то он и своё сопротивление меняет, изменение которого для этой микросхемы должно быть примерно пол мегаома. Советовали Dallas’овские цифровые сопротивления — но их где-то надо было искать, заказывать…

Казалось бы, Идея умерла. А вот фиг. Прошлым летом (2009) мне особенно нечего было делать, творчество искало выхода — и я таки начал читать и разбираться с методом фазового управления мощностью, который и используют все концертные и бытовые диммеры.

Ничего хорошего и научного из моих объяснений не получится — те, кому надо — и так всё знают. Я попытаюсь просто рассказать о том, как я познавал этот процесс, и пояснить его для тех, кто только пытается возиться с этими игрушками. Я прошу читателей писать в комменты все неточности и дополнения!

Суть фазового управления в том, что мы регулируем фазу между входной синусоидой и выходом на нагруку (той же синусоидой, но на нагрузке). А та самая мощность на нагрузке, которую нам надо менять — есть площадь под графиком выходного ..положим, напряжения на нагрузке. То-есть интегралом, которые так ненавидят школьники и студенты. В MathCAD’е я попробовал для себя же разрисовать эти самые графики. Тонкой коричневой линией у нас там показано входное напряжение сети, а жирной красной — напряжение на нагрузке.

Схематический процесс фазового регулирования мозности

Перед тем, как график надо будет рассматривать — попробуем поразмыслить. Если мощность = площади под графиком, то выходит что нам, чтобы снизить мощность от 100%, достаточно как-то отрубить часть выходной синусоиды. Площадь будет меньше — соответственно и мощность. Ураа! Подумаем ещё раз — «отрубить». То-есть, выключить регулирующий элемент в тот момент времени, как площадь под графиком будет равна нужным нам процентам. ОКей. А как — отрубить? Самый ходовой элемент для управления — это симистор или парочка тиристоров. Которые не вырубятся сами, пока через них не прекратит течь ток. Логически получается, что «отрубить» конец синуса не получается. Ну дык выход простой — если мощность = площади, то какая разница, откуда эта площадь считается? Мы же можем совершенно спокойно считать её как 1-100% — сначала пропускать ненужную часть синусоиды, а потом врубать симистор и ждать, когда она сам вырубится при переходе этой самой синусоиды через ноль!

А теперь — смотрим на график. Вся эта площадь — пропорциональна времени. То-есть, на пальцах алгоритм будет следующим. Мы ждём какое-то время, которое надо «пропустить», «обрезать», а потом открываем симистор (подачей управляющего иипульса) и ждёт пока он сам вырубится. Время микроконтроллер и так может считать сколько ему влезет при помощи таймера (ов). Осталось понять, откуда нам начать наш отсчёт. А всё просто — именно от этого самого перехода сетевого напряжения через ноль!

Итого: при переходе через ноль высчитываем время, открываем симистор. Логично завести переход через ноль на прерывание проца, а для управления взять любую ногу порта. Весь полупериод (или период, в зависимости от типа диммера) делится на некоторое число квантов времени, например на 100 или на 200 — как раз удобно для одного байта. Каждый квант времени микроконтроллер отрабатывает прерывание встроенного таймера, подсчитывая число этих самых квантов. Когда квантов времени насчитали больше нужного значения (которое и определяет требуемую мощность на нагрузке) — выдаём сигнал включения симистора. Ну а прерывание ZeroCross скидывает наш счётчик квантов на ноль, и всё начинается сначала.

Первая принципиальная схема родилась вот такой вот, совершенно в лоб. Хочу оговориться, что я морочился ещё и гальванической развязкой своего диммера от сети, так как сам диммер планировался навороченным. В случае, если сам микроконтроллер же от той же сети и питается (а устройство ставится в какой-нибудь стандартный подрозетник вместо выключателя), ZeroCross делается простым заводом 220 через огромный резистор на ногу проца. Без оптопар.

Принципиальная схема первой версии силовой части диммера

На форумах Electronix.ru пробегала ещё одна версия схемы определения перехода сетевой синусоиды через ноль. Она заявляется как менее греющаяся (исключаем резистор 100 кОм из моего варианта), и потому более удобная для миниатюрныз конструкций.

Другой вариант схемы Zero-Cross с форума Electronix.ru

Контрольная точка КТ1 служила для того чтобы тыкать вольтметром или осциллографом и смотреть что творится по входу сети. По входу висит оптопара PC814, которая иногда используется в импульсных блоках питания для обратной связи. Она через RC-цепочку воткнута в питающую сеть. Конденсатор применён вместо второго из резисторов в «делителе» — хоть как-то снизить негрев схемы ;)

Управление симистором осуществляется через опять же оптопару MOC3020 без встроенной схемы Zero-Cross. Такие оптопары включаются именно тогда когда надо нам, вотличие от оптопар со встроенной схемой Zero-Cross, которые включаются именно в момент перехода сетевого напряжения через ноль. Нам нужна именно без ZeroCross-схемы, так как мы включаем нашу нагрузку в освершенно произвольные моменты времени (в импортных каталогах это зовётся random-phase driver). По старой привычке от ТТЛ логики активные уровни схемы выбраны низкими, что дало достаточный плюс: при запуске микроконтроллера до его самоинициализации на всех его портах находятся логические единицы, и это предотвращает кратковременное мерцание лампы при включении питания — она сразу выключена.

Ну а дальше — переходим от несчастной теории к практике. Мне хотелось хоть на соплях скорее собрать платку и попробовать прочитанное и осмысленное в реале, и я взялся за макетку и паяльник.

Сначала мне хотелось вообще убедиться, сколько вольт выдаёт и как греется обычный делитель из двухватных резисторов если его включить в сеть 220 вольт. Для этого была прямо на столе спаяна схемка из резюков и воткнута в мультиметр и осциллограф. Мультиметр мерил около 2 вольт, я решил что для светодиода оптопары это не убийственно и продолжил работы. Обратите внимание, как маньячески лежит делитель рядом с мышкой от ноута. Под напряжением, конечно! Это называется «Ой, а какие у тебя тут проводАааААААааааААаааа бляя!!!»

Начало: сборка силовой части диммера на макетной плате Делитель, собранный на соплях, для проверки сетевого напряжения Проводим первые измерения: схема перехода сети через ноль

Чтобы ничего не пожечь, подключаемся аккуратно и издеваемся дальше. А дальше мы сразу (потому что невтерпёж) подключаем самую мелкую галогенку (220V, 30W) и даём активный низкий уровень на сигнал включения оптопары (пока в статическом режиме). Вааа!! Лампочка-то светится!! И как круто!! Значит сам по себе силовой модуль диммера работает!! Эээ.. а чо это палёным пахнет! Мляя!!! Конечно — лампочка-то на столе лежит! Подкладываем кусок макетки и продолжаем испытания.

Проверяем симисторный ключ: лампочка зажигается Адский отжег: лампочка прожгла стол

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

Осциллограмма входного напряжения 220 В, 50 Гц Осцилограмма выходного сигнала перехода через ноль

На первом — входное сетевое напряжение (чего-то оно в верхних точках ни черта не синусоидальное), а на втором — импульсы с выхода схемы ZeroCross. Если мысленно наложить графики друг на друга, то можно представить себе что верхушки импульсов ZeroCross приходятся примерно на переходы синусоиды через «ноль». Значит схема работает, а остальные вчисления и коррекцию переложим на микроконтроллер. Вот он:

Общий вид силовой части и микроконтроллерного ядра диммера Полный макет для испытания диммера Растаманский цветной шлейф - удобная вещь!

Опять же на макетке было собрано «ядро» из оставшихся у меня ATMega8 от HID USB-заморочек. Быстро накидал кварц, питание, немного кнопок и светодиодов для использования в целях отладки — и балуемся! Две кнопки — + и — по яркости, а третья — On/Off. Всё банально. Заодно сделал видюшку для теста озвучивания кнопок:

Дальше было смешно. Потому что всё вроде работало, но на малой яркости лампа начинала мерцать, мигать и вести себя как натуральная истеричка. Я долго искал глюки в прошивке, переосмысливал алгоритм, даже дёргал управляющий ток оптопары, — но всё было тщетно.

Даже купил AVR Dragon, выкинув программатор на параллельном порту вкусив прелести работы с USB. А к Дракону до кучи — 10 метров клёвого растаманского шлейфа, прелесть которого в том, что по цветам очень легко отличать сигналы и не высчитывать какой проводок с какой стороны шлейфа куда идёт. Дракон поставлялся в оригинальной китайской упаковке, которая мне сразу же напомнила похожую на неё, тоже китайскую, пачку с ароматическими палочками-вонилками.

Адский программатор AVR Dragon - упаковка Упаковка с вонилками. Похожа на AVR Dragon ;) Адский программатор AVR Dragon - внутри упаковки

При помощи Дракона отладка прошивки стала совершенным счастьем: переписал строчку, нажал кнопочку — проц уже ребутнулся с новой прошивочкой! СЧАСТЬЕ!!

Рабочая обстановка: ноут, макет, программаторА постепенно «вдруг» и выяснилось, что никаких проблем с прошивкой не было! Оказалось, что стоило подключить к этой силовой схеме не несчастную лампочку на 30Вт (а ведь я использовал маломощную нагрузку, чтобы добиться чёткого регулирования именно на ней), а адские прожектора по 500 Вт, оставшиеся с ремонта на квартире моего товарища (читать тут: Адский дестройный ремонт (электрика + сантехника) Часть 1: Добродушие).

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

«Это — херня», — подумал я начал делать вторую версию силовой платы. О ней и о том, до чего дошёл проект, можно прочитать здесь: Многоканальный диммер PowerDimmer v2: Силовая часть.

Если вас заинтересовала информация из этого поста и вы хотите со мной связаться (или заказать Сборку щита / Консультацию), то пишите мне на почту info@cs-cs.net или звоните на +7-926-286-97-35. Отзываюсь на имя "Электрошаман".
Невнимательных, тупых и наглых продаванов и менеджеров я буду жёстко стебать, если они не заглянут в инфу про контакты для организаций, а скорее кинутся звонить.

0 Отзыв на “Многоканальный диммер PowerDimmer v2 (прототип)”


  • Нет комментариев

Оставить отзыв

Вы должны войти на блог, чтобы оставить комментарий.