Фазовый регулятор для ёлочных ретро-гирлянд



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

Поскольку здесь ламповая тематика, Вашему вниманию предлагается 8-канальный автомат световых эффектов для ёлочных гирлянд на лампах накаливания на основе принципа фазового регулирования.

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

Данное устройство на основе микроконтроллера Attiny4313 (для реализации всех идей в 2313 не хватило памяти, а переделывать на более доступную Atmega уже не позволила готовая плата...) предназначено для новогодней иллюминации как комнаты (4-канальные "бегущие огни"), так и ёлки (3-4 гирлянды). "Бегущие огни" имеют 7 фиксированных программ - эффектов, позаимствованных из решений на "рассыпной логике", которые могут работать как каждый в отдельности, так и все один за другим, меняя "направление" на обратное и сменяя друг друга.

Для гирлянд на ёлке реализован интерпретатор программы, реализующий последовательность их переключений, записанной в eeprom МК. Каждый шаг программы включает в себя длительность (в сек.), номер канала (каналов), скорость, яркость. Последние 2 параметра или любой из них могут не указываться. Тогда сохраняются прежние значения. Программ в eeprom может быть несколько, они разделены значением 255. Эта часть в виде отдельного решения на 4 канала без гальванической развязки с описанием алгоритма, "прошивкой", исходными кодами и макетом печатной платы приведена в (1). Есть последовательности для управления "бегущими огнями": их можно на время остановить, выключить, включить все. Возобновление работы осуществляется автоматически на следующем шаге программы.

Все каналы обрабатываются МК в едином рабочем цикле. Панель управления (см. рис. справа) содержит кнопки выбора каналов и скорости для "бегущих огней", а также кнопку смены режима ("Mode") для бегущих огней или, при длительном нажатии - для всех каналов в целом и действует циклически: "Стоп" (сохранение текущего состояния яркостей каналов), -> "Все вкл." -> "Все выкл" -> "возобновить с момента останова". Индикатор (LED) включается в режиме мигания с частотой 1Гц при первом нажатии (стоп), затем горит непрерывно, если "Все вкл." и "Все выкл". При возобновлении работы - гаснет. Также он мигает с частотой 1/2Гц, если в программе eeprom встречена команда останова/выключения "бегущих огней".
Есть 2 режима "бегущих огней" - настройки и комплексные.
С помощью 7-сегментного индикатора панели управления осуществляется их настройка: для фиксированных программ (1-7) кнопкой "speed" задаётся скорость. В этом режиме "бегущие огни" демонстрируют выбранный эффект, перехода к следующему не происходит. При смене программы кнопкой изменённое значение скорости сохраняется в eeprom МК.
В комплексном режиме индикатор показывает только его номер в правом разряде. Количество их определяется тем, сколько при запуске было найдено программ переключений в eeprom. Запоминание режима осуществляется одновременным нажатием на кн. "mode" и "speed". Если всё успешно, точка-разделитель, мигающая с частотой 1/2Гц, непрерывно загорается на 1с. Это не сразу обычно получается, но не городить же ещё кнопок было...?

В основе решения лежит алгоритм фазового регулятора, вместе с теорией приведённый в [2], но реализованный для нескольких каналов. Видимая яркость ламп накаливания изменяется по линейному закону. Интервал от полного выключения до максимальной яркости поделен на 52 уровня, чего вполне достаточно для реализации плавных переключений, если их особо не "затягивать". Иначе, алгоритм начинает "цифрить", становится заметна ступенчатость работы.

Сущность работы алгоритма в том, чтобы в текущем периоде сетевого напряжения вовремя включить выходы на силовые ключи для всех каналов и успеть рассчитать значения фазовых углов для следующего периода. Практика показала, что Attiny 2313A/4313 успешно справляется с 4-мя каналами одновременно, имеющими различные значения фазовых углов, не считая каналов с минимальной и максимальной яркостью (они обрабатываются упрощённо). На видео https://youtu.be/KASX0zSImsc пример такого переключения на лабораторном стенде из [3], на котором происходила отладка алгоритма. Такой же алгоритм использован в упомянутом выше упрощённом решении [1]. но в том решении с бестрансформаторным питанием нет гальванической развязки. Здесь гальваническая развязка реализована от блока питания (БП) до управления силовыми ключами посредством оптопар MOC3052.

На рис. приведена схема основной платы устройства.

Ничего инновационного в схеме нет, это практически готовый набор решений, если говорить об управлении силовыми ключами или оптронной развязке детектора "нуля" (на схеме выделена синим). Ради гальванической развязки блок питания применён импульсный обратноходовой (flyback) на основе старого дешёвого TinySwitch 264PN, с обратной связью через оптопару. Он гораздо компактнее и легче, чем на низкочастотном трансформаторе. Конструкция его упрощённая, есть стабилизация только по напряжению, трансформатор (точнее, дроссель) БП имеет только две рабочих обмотки. Он выполнен на каркасе EE13, первичная обмотка 102 витка эмальпроводом 0,18-0,20мм., вторичная 8 витков 0,5мм. (Power Intrgrations. design idea DI61). Здесь использовано 2х0,3мм - сечение меньше, но нагрузка не будет достигать предельного значения. Поэтому, можно: другой такой БП "тянет" до 400мА, трансформатор практически не греется), экранирующая - 15 витков в 2 провода (в 1 слой) 0,20мм. Величина зазора магнитопровода сердечника 0,2мм. Намотка происходит в 1 направлении, нужно отмечать начала обмоток. Остальные рекомендации по намотке трансформаторов в статье [4], на основе которой был сделан этот БП. Заявленный максимальный ток - 600мА, для данного регулятора он ограничен сердечником трансформатора. Можно подобрать и готовый трансформатор, например, Premier Magnetics PNY-05015 или 07006, однако, найти их крайне сложно и они недёшевы в сравнении с остальными деталями. Проще и дешевле купить сердечников на Алиэкспрессе, обмоточный провод и заготовить трансформаторов под свои потребности. Однако и такой ток здесь кратно избыточен. Здесь также хватило бы бестрансформаторного БП, но решение продиктовано гальванической развязкой. К тому же, такой БП уже был реализован в другом решении, для которого было заготовлено два трансформатора. Оставалось только скомпоновать БП, "размазав" его по плате. Рекомендации по изготовлению трансформатора и отладке таких БП в [4]. Добавлю, что такие БП очень не любят непропай и это чревато либо разрядом конденсаторов в руку, либо выходом микросхемы из строя.

Схема детектора нуля имеет свои гасители напряжения и диодный мост.

7-сегментные индикаторы панели управления подключены к 2-м последовательно соединённым сдвиговым регистрам 74HC164 (на рис. слева). Они без "защёлки", поэтому, при смене цифр используется отключение катода индикаторов PNP-транзистором. Обычно для этого используют 74HC595 с "защёлкой", но эти 2 уже были и их хотелось пристроить к месту. Регистры работают по протоколу SPI. Тоже стандартное решение для экономии выводов МК.

По схемам
Все резисторы с номиналом 0 Ом - перемычки для облегчения разводки платы. Симисторы - практически любые подходящие. Резисторы номиналом 510Ом (это мин. значение, можно до 5,6кОм) - 0,5Вт. Остальные выводные - 1/4, 1/8 Вт, SMD - калибра 0805.
Термистор NTC - от 33Ом, необходим для ограничения тока при запуске БП. Его можно заменить резистором на 33-47Ом 0,5Вт, как братья-китайцы делают в дешёвых галогенных полумостовых "драйверах".
Конденсаторы C4 и C9 - от 1кВ, керамические. C3 - керамический дисковый на 50В.

Платы
Устройство состоит из основной платы с БП, МК, детектором "нуля", силовыми ключами и их оптопарами, а также штыревыми разъёмами для мезонинной платы панели управления.

На верхнем слева фото - вид сверху основной платы, МК не установлен. Сверзу справа - вид снизу.

Слева внизу - вид устройства в сборе до подпайки проводов питания.

Стеклянный предохранитель на плате - 0,5А 250В, он только на БП и гаситель напряжения, В корпусе - на 6А, общий.

Корпус
Взят более-менее подходящий по размеру из имеющихся в продаже. Поэтому, получился крайне неудобным. Содержит разъём шнура питания, контрольный LED питания +5В, входы для проводов гирлянд (1 общий и 7 - к симисторам), расположенных против соответствующих клеммников на основной плате. Сверху - отверстие под декаль с отверстиями для кнопок и LEDа панели управления, под которой находится 7-сегментный индикатор.

О доработках по опыту эксплуатации.
Джампер на линии MOSI нужен для отключения нагрузки при подключении программатора, который необходим не столько для прошивки МК, сколько для записи программ в eeprom. Если его не отключать, уровень сигнала будет снижаться светодиодом оптопары, программатор не "увидит" МК. чтобы исключить ручную операцию, да к тому же, джампер оказался перекрыт мезонинной платой панели управления, для автоматизации в разрыв вместо него был подключен одиночный элемент буфера типа 74HC126 с управлением от линии Reset. Т.е., когда "программатор" "кладёт" Reset на "землю", элемент переходит в Z-состояние, разъединяя "нагрузку". Т.е., для программирования достаточно отключить устройство от сети и можно подключить программатор с питанием МК от него по стандартному 10-пиновому кабелю. Программирования при включенном БП "на ходу" лучше избегать, хоть он и гальванически развязанный, чтобы по общей "земле" при неблагоприятном стечении обстоятельств не пожечь ПК.
IDC-разъём также пришлось сменить на угловой.

О нехорошем.
Выяснилось, что при включении и после нажатия на Reset нагрузка, подключенная к выводу PB5, который используется как линия MOSI при SPI-программировании МК, нехорошо так ярко вспыхивает. Не решила проблемы и указанная выше доработка. Проблема ушла после того, как "нога" PB5 была притянута к "земле" через резистор 10кОм. Видимо, в процессе инициализации МК она пребывала в некоем неопределённом состоянии. Элемент типа 74HC126 здесь наверное избыточен, достаточно просто транзисторного ключа. Это избавит от необходимости подавать сюда питание. Но "притяжка" PB5 к "земле" необходима.

Ограничения

  1. Данное устройство предназначено для использования исключительно с лампами накаливания. С гирляндами на неоновых лампах и светодиодными его использовать нельзя.
  2. Поскольку используются 8 выводов на управление нагрузкой, не более 20мА на каждый вывод, а на весь МК нагрузка не должна превышать 60мА. При падении напряжения на диоде оптопары 1,15В при токоограничивающем резисторе 430Ом получаем ток ~9мА. При одновременном включении 8 каналов это даст 72мА, что больше допустимого. Т.е., нужно избегать состояний, когда 8 каналов включаются одновременно на одной яркости.
  3. Поскольку симисторы не снабжены радиаторами, мощность нагрузки не должна превышать 200Вт на 1 канал.
  4. Помехи. Фазовые регуляторы из-за тиристоров и симисторов при работе создают наводки на сеть, однако, из опыта эксплуатации этого устройства, помех отмечено не было. Расчёт индуктивных фильтров от помех - отдельная и весьма сложная тема. Потом, нужно увидеть саму помеху, в области какой она частоты и уже исходя из этого рассчитывать фильтр.

Ссылки:

  1. https://cxem.net/mc/mc477.php
  2. https://radiokot.ru/articles/40/
  3. https://cxem.net/mc/mc476.php
  4. https://www.radiokot.ru/circuit/power/supply/09/
Автор: O18t, опубликовано: 16.11.22
(3)

Комментарии

Демо-видео. Цикл переключений ёлки (пример), https://disk.yandex.ru/i/SVDrZ6LZE3As_Q

(1)