МИКРОКОНТРОЛЛЕРНЫЙ СТАБИЛИЗИРОВАННЫЙ
                                РЕГУЛЯТОР МОЩНОСТИ

Абрамов С. М.    г. Оренбург.

        Во всех регуляторах мощности преследуется одна цель: установка как можно точнее необходимой мощности ее контроль и минимальное отклонение от заданного значения при изменяющейся амплитуде входного напряжения. Схема изображенная на Рис1. была разработана для поддержания заданной мощности в нагревательных приборах, используемых 1-2 кВт галогеновые лампы накаливания. Устройство удобно использовать если  нет возможности применить терморегуляторы.
Его параметры таковы:
Входное напряжение- 100-260 вольт
Выходное напряжение- 0-255 вольт
Дискретность регулировки- 0,85% от входного напряжения
Время реакции на изменение напряжения- 0,25 секунды
Точность поддержания выходного напряжения- 1,7% от входного напряжения.
Метод регулировки- фазовый, за счет изменения угла открывания симистора
  На самом деле под точностью  поддержания выходного напряжения подразумевается некоторый дрейф около заданного напряжения связанный с выбранным методом регулировки выходного напряжения, и при значительной мощности нагрузки внешне не заметен.  Рассмотрим работу устройства.

Схема состоит из 5 вольтового блока питания на диодах VD9-VD12, микросхемы стабилизатора D2 и фильтрующих емкостей C5,C6,C15. Формирователя стробирующего импульса в момент перехода сетевого напряжения через ноль R9,R10,VT2,C4,R11. Двухполярного блока питания +15,  -15в.  собранного на диодах VD14-VD17 микросхемах D3,D4 и Фильтрующих емкостях C7-C12 от которого запитывается преобразователь напряжение-частота D1. Выпрямителя и делителя напряжения снимаемого с нагрузки VD1-VD4,R1,R2,C1. Преобразователя напряжение-частота собранного на микросхеме D1,R5,R6,C2,C3. Дешифратора двоичный код –код семисегментного индикатора D6. Индикаторов HG1-HG3 и  ключей зажигания разрядов VT3-VT5.  Микроконтроллера D5. Кварцевого генератора ZQ1,C13,C14. Кнопок управления SA2- “+1” и SA3- “-1”, которыми задают напряжение стабилизации.
Львиная доля работы возложена на микроконтроллер поэтому работа устройства будет рассмотрена совместно с алгоритмом работы программы.
    В момент включения питания происходит сброс микроконтроллера а затем формируется некоторая задержка связанная с выходом на рабочий режим генератора и внутренних схем контроллера. Затем в регистр адреса записывается нулевой адрес и контроллер выполняет программу записанную в ПЗУ. Так как в начальный момент напряжение на нагрузке равно нулю стабилизатор плавно увеличивает напряжение до заданного тем самым предотвращая выход из строя нагрузки.
Инициализируем внутренние регистры, порты RA0-RA2,RB1-RB4,RB6,RB7 устанавливаем на вывод, RA3,RA4,RB0,RB5 на ввод. Сбрасываем програмные счетчики и переписываем сохраненное значение заданного напряжения из флэш памяти в регистр UZ.  В основной программе: 1-опрашивается состояние кнопок и в зависимости от этого  запускается подпрограмма преобразования двоичного кода в десятичный, для отображения информации заданного напряжения UZ или напряжения снимаемого с нагрузки UNI .  2-Для правильного вывода значения на дешифратор, UNI  получается за счет сдвига регистра UN.  3- Выводятся преобразованные значения на индикацию с частотой 33 Гц.  4-В случае нажатия на кнопки SA2,SA3 (инкремент или декримент) заданного значения с частотой примерно 0,5сек. и запись во Флеш память. Благодаря записи в UZ после выключения питания, не придется вновь устанавливать значение.  В зависимости от напряжения на нагрузке 1-255 вольт преобразователь напряжение-частота D1 выдает на выходе 10-2550 импульсов. Так как этот сигнал заведен на ножку RB5 контроллера, то прерывания происходят как по спаду так и по фронту импульса и реально программа прерывается 20-5100 раз в секунду. С этой частотой идет заполнение регистра UF микроконтроллера. Каждые 10мс. программа прерывается нулевым уровнем по ножке RB0 по спаду. Двадцать раз в секунду происходит перезапись UF в регистр UN и сброс предыдущего. Поэтому в регистре UN каждый бит соответствует 1 вольту. При обработке прерывания также происходит сравнение заданного значения с напряжением на нагрузке и в зависимости от этого происходит увеличение или уменьшение константы ZC задержки на включение симистора. Загружается этим значением таймер TMR0 и запускается. В этом же прерывании также устанавливаются флаги в регистре RF чтобы основная программа могла индицировать с частотой 33 Гц. По окончании времени задержки заданном в TMR0 происходит прерывание и выдается импульс длительностью 12мкс на вывод порта RB6. Таким образом с момента прерывания по входу RB0 происходит отсчет времени задержки на включение симистора  и от этого в итоге будет зависеть выделяемая мощность на симисторе. Опрос напряжения на нагрузке сравнение с заданным напряжением и включение симистора происходит каждые 10мс.
Все устройство собрано на односторонней печатной плате размерами 95х76,5мм, Рис2. кроме трансформатора,

                                                                                    Рис2
клемника и радиатора с симистором, они установлены на дополнительной текстолитовой плате размерами 76,5х125мм. прикрученной уголками к основной плате. Односторонний монтаж конечно усложняет разводку дорожек, но зато удобен в случае использования метода термопереноса. Устанавливаем лазерный принтер на максимальный выход тонера и печатаем на мелованную бумагу или термобумагу от факса предварительно наклеенную на стандартный лист, чувствительным слоем наружу. Затем накладываем на стеклотекстолит предварительно зашкуренный нулевкой и  при помощи утюга разглаживаем около минуты. Утюг установлен на максимум. Если тонер расплылся уменьшают время проглаживания и операцию повторяют. После этого ложат под струю теплой воды и замачивают минут 15-20. Затем пальцами стирают как резинкой бумагу, при этом остается тонер. Сцепление и кислотостойкость тонера позволяют травить практически в любых известных растворах и получать плату по качеству не уступающему промышленной. Печатать на бумагу лучше из программы на которой разводится плата. В частности очень удобен ACCEL 15. Радиатор имеет размеры 90х70х20мм. Если мощность нагрузки будет небольшой то можно радиатор не устанавливать.
Трансформатор мощностью 3-5Вт. Первичная обмотка рассчитана на напряжение 260 вольт. При подключении к сети 220вольт на вторичной обмотке должно быть 11-12 вольт и рабочий ток 100ма. Третья полуобмотка рассчитана на ток 10-20ма и выдавать напряжение 18 вольт. На микросхему  D2 необходимо прикрутить небольшую пластину размерами 10х40мм для теплоотвода. Вместо диодов VD1-VD4 можно применить любые на ток 30-100ма., и напряжение 300вольт. Вместо VD5-VD8  любые на ток 100-300ма и напряжение 300вольт, вместо VD9-VD13 на ток 100-300ма и напряжение 25-50вольт. Диоды КД522А заменяют на любые на ток 20-100ма и напряжение 25-50вольт. Подстроечные резисторы типа СП5-2. Все остальные типа МЛТ. Конденсаторы типа КМ, электролитические К50-35, кроме С2,С3 они должны быть как можно с меньшим ТКЕ например К73-17. Резонатор на частоту 4мГц с параллельным резонансом. Симистор в зависимости от переключаемой мощности можно использовать  ТС2-25,ТС2-50.
Налаживание сводится  к подаче напряжения 1вольт на вход 14 D1,  и подстройкой R5 добиваются на выходе 7D1 частоты 1кГц. После сборки устройства сопротивлением R1 добиваются равенства напряжения на нагрузке и показания индикаторов HG1-HG3.

HEX код программы

:020000040000FA
:020000005E2878
:08000800AD00030EAE000B1960
:1000100014288B1827280B1823280B1914282E0EA8
:100020008300AD0E2D0E09000B1106170617640094
:1000300006170617061706170617061706170617D8
:10004000061706130F2806080B10A50A0F28060826
:100050008B10A20B45282508A600A10B33282508E4
:10006000AB003230A100A5010530A200270826020E
:1000700003194528031C412875302402031DA403DD
:100080004528FF302402031DA40A240881008B1692
:1000900020185428A01858282019502820145C280B
:1000A0002011A01020145C2820112010A0145C281E
:1000B0002010A01020155C2820160F28831286011E
:1000C0008501831618308500213086008530810037
:1000D000831298308B00A501A801A901AA01323032
:1000E000A1000530A2003C30A3007530A400A0019F
:1000F000003089008316081483120808A700851DA4
:100100008528051E8528AF208628B220A80DA90DB8
:10011000AA0D201C9028051028081E3986000515F8
:10012000A01C9728051129081E3986008514201D5A
:100130009E2885102A081E3986000514201EAD2829
:100140002012A30BAD288519A728A70AC520051AD8
:10015000AB28A703C5203C30A30064007F282B08F0
:10016000A800B4282708A800A901AA010A3028027B
:10017000031CBD28A800A90AB6280A302902031CBE
:10018000C428A900AA0ABD28080000308900270851
:10019000880083168B13081555308900AA30890012
:0801A00088148B17831208007C
:02400E00F13F80
:00000001FF
 

Программа  написанная на ассемблере MPLAB лежит здесь