Схема шим регулятора напряжения на микроконтроллере. Регулятор мощности на микроконтроллере ATtiny2313 - Регуляторы мощности - Источники питания
Рис.1 Принципиальная схема регулятора мощности
На рис.1 приведена схема простого регулятора мощности на микроконтроллере ATtiny2313(V). Регулятор предназначен для работы с активной нагрузкой, подключаемой к сети напряжением 220 В. Напряжение подается на вход X1, нагрузка подсоединяется к выходу X2. Источником тактовой частоты DD1 выбран внутренний генератор сторожевого таймера, работающий на частоте ≈128 кГц. Благодаря этому энергопотребление устройства очень мало. Общий ток не превышает 15 мА, что легко позволяет реализовать также бестрансформаторное питание.
Регулирование мощности нагрузки производится изменением коэффициента заполнения импульсов на ШИМ-выводе OC0B DD1. Импульсы поступают на сток транзистор VT1. Он включен в диагональ моста VD5…VD8 и может работать без радиатора с токоприемниками до 400 Вт. Из-за слишком высокого уровня помех генерируемых в сеть, ШИМ-модуляция не является самым лучшим способ управления потребителями большей мощности.
Для формирования ШИМ-импульсов на выводе OC0B таймер-счетчик 0 функционирует в режиме Fast PWM (быстрый ШИМ). Частота импульсов FOC0B выбрана постоянной. Она зависит от модуля счета, определяемого содержимым регистра OCR0A:
F OC0B = F clk /(OCR0A*N),
где F clk – частота тактового генератора, N-коэффициент деления предделителя частоты таймера-счетчика 2.
Коэффициент заполнения импульсов αOC0B, а значит и мощность, отдаваемая в нагрузку, будет пропорционален содержимому регистра совпадения OCR0B:
α OC0B = OCR0B/OCR0A.
В данном примере в настройках микроконтроллера выбраны N=1 (предделитель отключен), OCR0A=100, т.е. FOC0B = 1280 Гц и α OC0B = OCR0B/100. Изменяя программно значения OCR0B от 0 до 100, получим диапазон регулировки мощности 0…100%.
Значение мощности нагрузки постоянно отображается 3-разрядном индикаторе с общим анодом HG1. Циклическая смена символов, а также опрос кнопок SB1…SB3, происходят во время прерывания по совпадению регистра OCR1AH:OCR1AL и счетного регистра таймера-счетчика 1. Таймер-счетчик 1 при этом работает в режиме CTC (сброс при совпадении). Частота F OCR1A с которой происходят прерывания:
F OCR1A = F clk /((OCR1AH:OCR1AL+1)*N),
где N-коэффициент деления предделителя частоты таймера-счетчика 1.
В программе F OCR1A = 200 Гц (N=1, OCR1AH:OCR1AL=639). Таким образом, смена каждого из трех символов и опрос кнопок происходят каждые 20 мс (т.е. с частотой 200/4=50 Гц).
Рис.2 Алгоритм работы регулятора мощности
Алгоритм работы регулятора мощности приведен на рис.2. В основном цикле программа реагирует на нажатие кнопок и производит двоично-десятичное преобразование величины мощности нагрузки в 3-разрядное число (0…100) для вывода на индикатор.
Каждое нажатие SB1 заставляет изменить состояние выхода на противоположное: нагрузка подключается с указанной мощностью, либо обесточивается. Признаком активизированного выхода является светящаяся десятичная точка в младшем разряде индикатора. Кнопки SB2 и SB3, соответственно, уменьшают и увеличивают мощность в нагрузке. При длительном нажатии модификация параметра происходят быстрее (≈10% в секунду). Если ни одна кнопка не нажата, то через 5 с после последнего изменения, значение мощности и состояния выхода (вкл./выкл.) сохраняются в EEPROM-памяти. Для защиты от зависания включен сторожевой таймер с периодом сброса 125 мс.
Регулятор оборотов микродрели на PIC-контроллере
ПОТАПЧУК,
г.Ровно, Украина. E-mail: [email protected]
В радиолюбительской практике одним из самых важных инструментов является дрель. В качестве миниатюрных электродрелей для сверления плат часто используются двигатели постоянного тока с приделанным микровыключателем на рукоятке. Питание на такую микроэлектродрель подается от внешнего блока питания. В большинстве случаев обороты электромотора не регулируются, а чтобы "сверлилка" лучше работала, на нее подается завышенное напряжение питания. Это приводит к преждевременному выходу со строя электромотора. Еще одним слабым звеном устройства является кнопка включения. Это и не удивительно, если учесть, что пусковой ток электромотора может достигать 3 А и более.
Эти недостатки побудили разработать регулятор оборотов на современном микроконтроллере ф.Microchip PIC16F627/628. Важной особенностью данной модели микроконтроллера является наличие внутреннего двухскоростного RC-генератора. Используя эту особенность, в процессе выполнения программы можно переключать тактовую частоту микроконтроллера с 4 МГц на 32 кГц и наоборот. Данная микросхема содержит также встроенный широтно-импульсный модулятор (ШИМ), что позволяет реализовать весь диапазон регулировки оборотов. Коэффициент заполнения импульсов (величина, обратная скважности) меняется от 0 до 1. Это позволяет построить очень эргономичное устройство практически на одной микросхеме с минимальным количеством внешних компонентов.
Технические характеристики
Напряжение питания, В 8...25
Ток потребления устройством в рабочем режиме
(зависит от мощности электромотора), А 0.5...3
Ток потребления в ждущем режиме работы, мА < 1
Частота работы ШИМ, кГц 15
Коэффициент заполнения ШИМ 0.4...1
Количество ступеней регулировки напряжения на электродвигателе 50
Плавность регулировки скважности ШИМ, ступени/с 2
К выводам 18, 7 и 8 микроконтроллера (рис.1) подключены кнопки управления устройством. Следует отметить, что от электромотора и соединительного шлейфа во время работы идет довольно солидное электромагнитное излучение, которое может привести к самопроизвольному срабатыванию кнопок SB2 и SB3. Для предотвращения этого используются блокировочные конденсаторы С4 и С5, которые шунтируют высокочастотные наводки на выводах кнопок. Цепь R2-VD2 представляет собой простейший параметрический стабилизатор, снижающий уровень напряжения, которое подается с кнопки SB1 на цифровой вход микроконтроллера, до стандартных TTL-уровней сигнала. Резистор R3 формирует на
выводе 18 DD1 уровень логического "О" в то время, когда кнопка SB1 отпущена. Светодиод HL1 отображает режимы работы устройства.
ШИМ-сигнал с выхода микроконтроллера через резистор R4 подается на составной транзистор VT1, VT2. Коллекторы транзисторов подсоединены к одному из полюсов электромотора. Электромотор подключается к устройству при помощи трехпроводного шлейфа. Два провода используются для подачи питания, третий — для приема сигнала от кнопки "Пуск". Напряжение питания на двигателе зависит от коэффициента заполнения ШИМ-сиг-нала. Стабилизатор на микросхеме DA1 обеспечивает питанием микроконтроллер. Конденсаторы С1 и С2 используются для фильтрации высокочастотных помех, поступающих как с блока питания, так и от самого электромотора. Для этих же целей установлен конденсатор СЗ, включенный параллельно полюсам питания электромотора. Диод VD1 гасит токи самоиндукции, которые появляются в цепи питания электромотора при работе.
Подробно разобраться в принципах работы устройства поможет схема алгоритма, представленная на рис.2. В соответствии с ним сразу после старта программы микроконтроллер проходит начальную инициализацию. Во время инициализации настраиваются порты микроконтроллера, таймеры (счетчики), и переключается тактовая частота с 4 МГц на 32 кГц. После этого микроконтроллер входит в программный цикл ожидания нажатия кнопки "Пуск" (SB1). В этом цикле также происходит обработка прерывания по переполнению таймера-счетчика 2, которое используется для задания периодов работы светодиодаНL1.
После нажатия кнопки SB1 программа микроконтроллера сразу же переключает частоту тактирования с 32 кГц на 4 МГц и проводит инициализацию внутреннего ШИМ-контрол-лера. Далее процессор читает сохраненное ранее в энергонезависимой памяти (EEPROM) значение длительности импульса ШИМ и записывает его в соответствующий служебный регистр. Проделав все эти операции, микроконтроллер запускает ШИМ и снова оказывается в программном цикле ожидания нажатия кнопок SB2, SB3, либо отпускания кнопки SB1.
При нажатии кнопки SB2 (SB3) микроконтроллер увеличивает (уменьшает) длительность импульса ШИМ, и тем самым изменяет напряжение, прикладываемое к электромотору. После каждого изменения длительности импульса ШИМ текущее значение сохраняется в виде константы в энергонезависимой памяти микроконтроллера (EEPROM). Это позволяет не проводить начальную настройку скорости вращения "сверлилки" каждый раз при начале работы. Если же программа обнаруживает, что кнопка SB1 отпущена, микроконтроллер сразу же переходит на программную ветвь завершения работы ШИМ-регулятора. В этой ветви производится выключение ШИМ (на выводе 9 DD1 устанавливается низкий уровень), и микроконтроллер снова переходит в цикл ожидания нажатия кнопки "Пуск". Дальше алгоритм работы устройства повторяется.
Управляющая программа микроконтроллера приведена в табл.1, а карта прошивки — в табл.2. Основные ее задачи — сканирование кнопок и управление ШИМ-сигналом.
Благодаря наличию в данном микроконтроллере регистра периода ШИМ, можно задать практически любую его частоту. В данном устройстве из практических соображений частота ШИМ выбрана около 15 кГц (точное значение зависит от частоты внутреннего RC-генератора). Коэффициент заполнения (К3), как уже упоминалось выше, можно задать от 0 до 1. Но практика показала, что большинство электромоторов при К3 меньше 0,4 не вращаются. По этой причине диапазон возможных К3 в данной программе составляет 0,4.. 1. Программа обеспечивает дискретное изменение К3 (50 ступеней) при нажатии соответствующих кнопок управления.
Устройство управляется с помощью трех кнопок SB1.. SB3. При помощи кнопки SB1 осуществляется включение и выключение электромотора (пока эта кнопка нажата, мотор вращается). Кнопка SB2 увеличивает обороты, a SB3 — уменьшает. Каждое изменение оборотов запоминается в энергонезависимой памяти микроконтроллера. Поэтому при следующем включении питания электродвигатель вращается со скоростью, заданной раньше.
Когда электродрель выключена, микроконтроллер находится в режиме энергосбережения (частота RC-генератора — 37 кГц), и ток потребления составляет менее 1 мА. О данном режиме сигнализирует светоди-Од HL1, который неравномерно мигает (с интервалом в 3 с). После пуска электромотора кнопкой SB1 светоди-од гаснет Изменение К3 можно производить только при включенном электромоторе. Все нажатия кнопок SB2 и SB3 подтверждаются миганием светодиода HL1. Если во время регулировки оборотов достигнут верхний либо нижний предел, светодиод HL1 перестает мигать, сигнализируя о том, что регулятором достигнут предел регулировок.
Устройство собрано на плате размерами 55x38 мм (рис.3). На одном ее конце сверлят три отверстия, в которые впаивают выводы шлейфа питания электромотора, длина которого может быть 0,5... 1 м. На корпусе электромотора в удобном месте монтируют кнопку SB1, а также блокировочный конденсатор СЗ и импульсный диод VD1. В описываемом устройстве используется микроконтроллер PIC16F627 или PIC16F628. Без какой-либо коррекции программы возможно замена на PIC16F627A, PIC16F628A или PIC16F648A, которые в большинстве случаев стоят дешевле. Основное различие между этими тремя микроконтроллерами заключается в разном объеме памяти программ. Так, у PIC16F627/627A объем памяти программ составляет 1024 слова, у PIC16F628/628A — 2048 слова, а у PIC16F648A — 4096 слов. Кроме того, PIC16F648A имеет больший объем ОЗУ и EEPROM (по 256 байт). Саму микросхему микроконтроллера выгодно установить в плату на "панельке". Это позволяет модернизировать устройство, не прибегая к паяльнику, т.к. в любое время можно вынуть микроконтроллер и запрограммировать его обновленным программным обеспечением.
Поскольку ток потребления электромотора может быть довольно большим, транзистор VT2 желательно установить на теплоотвод размерами не менее 40x40 мм (я использовал теплоотвод от блока разверток старого телевизора). Транзистор VT2 подбирается по мощности используемого мотора, например, КТ817 имеет рассеваемую мощность с теплоот-водом 20 Вт, а КТ819 — 60 Вт . В моем устройстве работает электромотор типа ДПМ-25-03.
В некоторых случаях необходимо, чтобы электродрель плавно набирала обороты при пуске (например, при сверлении отверстий в платах без кернения). Для таких случаев разработан второй вариант программы (карта прошивки — в табл.3).
В электронном виде таблицы можно найти по адресу http //radio-mir.com
1. Полупроводниковые приемно-усилительные устройства (Р.М.Терещук и др.). — К., 1987.
2. http://www.microcontrollers.narod.ru
Вашему вниманию представлена схема, позволяющая регулировать яркость светодиодной ленты при помощи Ш иротно-И мпульсной М одуляции (ШИМ, англ. PWM). Данная методика широко используется в мощных контроллерах, так как, в отличие от регулировки напряжения, не вызывает перекоса яркости у отдельных сегментов и гораздо более экономична.
Особенности:
- 2 независимых канала ШИМ (с разнесением фаз на 180°);
- Напряжение питания: 8 - 20 V;
- Рабочий ток нагрузки: 3.4 A/канал (при питании 12 V эквивалентно 40 W);
- Низкие потери в силовом ключе (сопротивление открытого канала 45 mΩ);
- Опциональная Гамма-коррекция позволяет равномерно регулировать яркость;
- Защита от всплесков на входе (аналоговая и программная фильтрация);
- Собственное энергопотребление менее 10 mA (0.12 W @ 12 V);
- Высокая частота ШИМ (~18.75 kHz) не вызывает стробоскопического эффекта и усталости глаз при управлении светодиодной лентой.
Устройство основано на микроконтроллере ATtiny13A, который анализирует входные напряжения на выводах PB3 и PB4, пересчитывает их и выводит ШИМ-сигналы с соответствующим заполнением на выводы PB0 и PB1. Эти сигналы поступают на полевые транзисторы T1 и T2, которые в свою очередь коммутируют мощные нагрузки (в данном примере - светодиодную ленту).
Перемычка J1 задаёт режим работы устройства: когда она установлена в нижнее (по схеме) положение, заполнение ШИМа линейно зависит от напряжения на соответствующем входе. Когда перемычка установлена в верхнее положение микроконтроллер пересчитывает значение требуемого заполнения ШИМ при помощи таблицы значений. В результате получается гамма-кривая, т. е. уровень яркости подстроен под чувствительность человеческого глаза. График зависимости выходного заполнения от входного напряжения приведён ниже:
Зелёный график - перемычка J1 в нижнем положении, синий - в верхнем
Особенности ШИМ-генератора
В отличие от "классического" Fast PWM в данной схеме используется Phase-correct PWM со сдвигом каналов на 180 градусов друг относительно друга. Ниже показано, как работают оба алгоритма.
Компоненты
Схема не требовательна к точному подбору компонентов, большинство деталей можно заменять на аналогичные похожего номинала. Например если у Вас нет переменных резисторов на 100 кОм, то можно поставить 50 кОм или 500 кОм, при этом схема будет продолжать исправно работать. В качестве T1 и T2 можно установить почти любой транзистор серии IRLML (учитывая коммутируемый ток)
Если Вам не нужен второй канал, то можно убрать R2, R4, C2 и T2, а вывод PB4 микроконтроллера заземлить (PB1 при этом оставить неподключенным)
Для индикации использованы 3 светодиода (3мм зелёного свечения) с резисторами 1 кОм, подключенные анодами ко входу питания 12V, а катодами к стокам транзисторов и к минусу питания. Дополнительно, параллельно керамическому конденсатору С3 подключен электролитический конденсатор 100µF, помогающий сгладить пульсации сети. Его установка не обязательна, но желательна.
Конфигурация фьюзов показана ниже:
На скриншоте галочка означает 0 - запрограммированный фьюз. Для Вашего удобства фьюзы описаны в комментариях в файле main.asm.
Настройка сводится к установке перемычки J1 в желаемое положение. После этого устройство готово к работе.
В заключение пара фото (ручки на переменных резисторах ещё не одеты):
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
U1 | МК AVR 8-бит | ATtiny13A | 1 | SOIC-8 | В блокнот | |
VR1 | Линейный регулятор | LM78L05 | 1 | TO-92 | В блокнот | |
T1, T2 | MOSFET-транзистор | IRLML2502 | 2 | SOT-23 | В блокнот | |
С1-С4 | Конденсатор | 100 нФ (0.1 мкФ) | 4 | Керамический 0402 | В блокнот | |
R1, R2 | Резистор переменный | 100 кОм | 2 | Линейный | В блокнот | |
R3, R4 | Резистор | 1 кОм | 2 | 0603 | В блокнот | |
R5 | Резистор | 10 кОм | 1 | 0603 | В блокнот | |
R6, R7 | Резистор |
Очень часто нужно иметь возможность регулировать ток, протекающий через лампы или нагревательные элементы. Поскольку нагрузка у них резистивная - самое простое решение собрать небольшой PWM (с английского ШИМ - широтно-импульсная модуляция) регулятор. Поскольку простые схемы на базе таймеров NE555 не интересовали - решено было разработать и собрать свою, несколько похожую на .
Схема, несмотря на наличие микроконтроллера PIC18LF2550, очень проста для повторения и может быть условно разделена на 3 части:
Генератор ШИМ
Микроконтроллер генерирует чёткие импульсы нужной формы и скважности, что значительно упрощает схему. Есть две кнопки, для увеличения и уменьшения мощности. Они идут на 3 и 5 выводы микросхемы PIC18LF2550. В зависимости от ширины импульса - светодиод медленнее или быстрее мигает, так визуально можно оценить скважность. Если светодиод светит полностью - мощность 100%, а если он погас, то скважность 0%.
Микроконтроллерный блок питания
Стаблизатор МК на 3,3 вольта, поэтому в зависимости от выходного транзистора можно использовать источник питания от 3.7 до 25 вольт. Частота коммутации составляет 32 кГц, а длительность импульса разделена на 256 шагов, в том числе полное включение и отключение.
Коммутатор нагрузки
Драйвер для MOSFET транзистора является - обычный 2N3904. Сам силовой транзистор может быть любой подходящий N-канальный MOSFET, не обязательно как по схеме 80NF55L.
Имеется большое количество различных схемных решений, однако в нашем случае мы разберем несколько вариантов ШИМ регулятор яркости светодиода () на PIC-микроконтроллере.
PIC10F320/322 это безупречный вариант для конструирования различных регуляторов освещения. При этом мы обретаем достаточно конструктивно навороченный прибор с наименьшей стоимостью и незначительными затратами времени на построение. Рассмотрим несколько вариантов диммера.
Первый вариант. Базовый регулятор яркости светодиода в котором изменение яркости свечения светодиодов осуществляется путем вращения ручки переменного , при этом яркость изменяется от 0 до 100%
Яркость свечения светодиодов устанавливается потенциалом сниманием с переменного резистора R1. Это изменяемое напряжение идет на ввод RA0, функционирующий как аналоговый ввод и подсоединенный к входу AN2 АЦП микроконтроллера. Вывод ШИМ RA1 контролирует силовой ключ на транзисторе V1.
Силовой транзистор возможно выбрать произвольный с логическим уровнем управления, то есть это те транзисторы, которые при получении 1…2 вольта на затвор целиком открывают свой канал.
К примеру транзистором IRF7805 возможно управлять током до 13 ампер соблюдая необходимые требования, а при любых других условиях до 5 ампер гарантировано. Разъем CON1 необходим, лишь для внутрисхемного программирования микроконтроллера, для этой же цели необходимы и сопротивления R2 и R5, то есть если микроконтроллер запрограммирован, то все эти радиоэлементы возможно не ставить.
Сопротивление R4 и BAV70 служат для защиты от перенапряжения и неправильного включения источника питания. Емкости C1 и C2 керамические и служат для снижения импульсных помех, и для надежности функционирования стабилизатора LM75L05.
Второй вариант. Здесь управление яркостью светодиодов так же осуществляется переменным резистором, а включение и выключение выполняется кнопками.
Третий вариант. Как видно в схеме отсутствует переменный резистор. В данном варианте управление яркостью свечения светодиодов выполняется исключительно двумя кнопками. Регулировка ступенчатая, изменение яркости происходит с каждым последующим нажатием.
Четвертый вариант. По сути такой же, как и третий вариант, но при удержании нажатой кнопки происходит плавное изменение свечения светодиодов.