Регулятор_мощности_на_atmega8

Регулятор_мощности_на_atmega8

Регулятор мощности


Рис.1 Принципиальная схема регулятора мощности

На рис.1 приведена схема простого регулятора мощности на микроконтроллере ATtiny2313(V). Регулятор предназначен для работы с активной нагрузкой, подключаемой к сети напряжением 220 В. Напряжение подается на вход X1, нагрузка подсоединяется к выходу X3. Источником тактовой частоты DD1 выбран внутренний генератор сторожевого таймера, работающий на частоте ≈128 кГц. Благодаря этому энергопотребление устройства очень мало. Общий ток не превышает 15 мА, что легко позволяет реализовать также бестрансформаторное питание.

Регулирование мощности нагрузки производится изменением коэффициента заполнения импульсов на ШИМ-выводе OC0B DD1. Импульсы поступают на сток транзистор VT1. Он включен в диагональ моста VD5…VD8 и может работать без радиатора с токоприемниками до 400 Вт. Из-за слишком высокого уровня помех генерируемых в сеть, ШИМ-модуляция не является самым лучшим способ управления потребителями большей мощности.

Для формирования ШИМ-импульсов на выводе OC0B таймер-счетчик 0 функционирует в режиме Fast PWM (быстрый ШИМ). Частота импульсов FOC0B выбрана постоянной. Она зависит от модуля счета, определяемого содержимым регистра OCR0A:
FOC0B = Fclk/(OCR0A*N),
где Fclk – частота тактового генератора, 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 (сброс при совпадении). Частота FOCR1A с которой происходят прерывания:
FOCR1A = Fclk/((OCR1AH:OCR1AL+1)*N),
где N-коэффициент деления предделителя частоты таймера-счетчика 1.

В программе FOCR1A = 200 Гц (N=1, OCR1AH:OCR1AL=639). Таким образом, смена каждого из трех символов и опрос кнопок происходят каждые 20 мс (т.е. с частотой 200/4=50 Гц).


Рис.2 Алгоритм работы регулятора мощности

Алгоритм работы регулятора мощности приведен на рис.2. В основном цикле программа реагирует на нажатие кнопок и производит двоично-десятичное преобразование величины мощности нагрузки в 3-разрядное число (0…100) для вывода на индикатор.

Каждое нажатие SB1 заставляет изменить состояние выхода на противоположное: нагрузка подключается с указанной мощностью, либо обесточивается. Признаком активизированного выхода является светящаяся десятичная точка в младшем разряде индикатора. Кнопки SB2 и SB3, соответственно, уменьшают и увеличивают мощность в нагрузке. При длительном нажатии модификация параметра происходят быстрее (≈10% в секунду). Если ни одна кнопка не нажата, то через 5 с после последнего изменения, значение мощности и состояния выхода (вкл./выкл.) сохраняются в EEPROM-памяти. Для защиты от зависания включен сторожевой таймер с периодом сброса 125 мс.

Регулятор мощности


Рис.1 Принципиальная схема регулятора мощности

На рис.1 приведена схема простого регулятора мощности на микроконтроллере ATtiny2313(V). Регулятор предназначен для работы с активной нагрузкой, подключаемой к сети напряжением 220 В. Напряжение подается на вход X1, нагрузка подсоединяется к выходу X3. Источником тактовой частоты DD1 выбран внутренний генератор сторожевого таймера, работающий на частоте ≈128 кГц. Благодаря этому энергопотребление устройства очень мало. Общий ток не превышает 15 мА, что легко позволяет реализовать также бестрансформаторное питание.

Регулирование мощности нагрузки производится изменением коэффициента заполнения импульсов на ШИМ-выводе OC0B DD1. Импульсы поступают на сток транзистор VT1. Он включен в диагональ моста VD5…VD8 и может работать без радиатора с токоприемниками до 400 Вт. Из-за слишком высокого уровня помех генерируемых в сеть, ШИМ-модуляция не является самым лучшим способ управления потребителями большей мощности.

Читайте также:  Чем_покрасить_плиточный_клей

Для формирования ШИМ-импульсов на выводе OC0B таймер-счетчик 0 функционирует в режиме Fast PWM (быстрый ШИМ). Частота импульсов FOC0B выбрана постоянной. Она зависит от модуля счета, определяемого содержимым регистра OCR0A:
FOC0B = Fclk/(OCR0A*N),
где Fclk – частота тактового генератора, 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 (сброс при совпадении). Частота FOCR1A с которой происходят прерывания:
FOCR1A = Fclk/((OCR1AH:OCR1AL+1)*N),
где N-коэффициент деления предделителя частоты таймера-счетчика 1.

В программе FOCR1A = 200 Гц (N=1, OCR1AH:OCR1AL=639). Таким образом, смена каждого из трех символов и опрос кнопок происходят каждые 20 мс (т.е. с частотой 200/4=50 Гц).


Рис.2 Алгоритм работы регулятора мощности

Алгоритм работы регулятора мощности приведен на рис.2. В основном цикле программа реагирует на нажатие кнопок и производит двоично-десятичное преобразование величины мощности нагрузки в 3-разрядное число (0…100) для вывода на индикатор.

Каждое нажатие SB1 заставляет изменить состояние выхода на противоположное: нагрузка подключается с указанной мощностью, либо обесточивается. Признаком активизированного выхода является светящаяся десятичная точка в младшем разряде индикатора. Кнопки SB2 и SB3, соответственно, уменьшают и увеличивают мощность в нагрузке. При длительном нажатии модификация параметра происходят быстрее (≈10% в секунду). Если ни одна кнопка не нажата, то через 5 с после последнего изменения, значение мощности и состояния выхода (вкл./выкл.) сохраняются в EEPROM-памяти. Для защиты от зависания включен сторожевой таймер с периодом сброса 125 мс.

Регулятор мощности на atmega8

Всем привет! Начну я с небольшой предыстории. Как-то ранее я работал над проектом «Автомат подачи звонка» для своего учебного заведения. В последний момент, когда работа шла к завершению, я проводил калибровку устройства и исправлял косяки. В конце концов один из косяков мне спалил микросхему на программаторе. Было конечно немного обидно, программатор у меня всего один был, а проект нужно было быстрее заканчивать.

В тот момент у меня была запасная SMD микросхема для программатора, но паяльником её фиг отпаяешь. И я начал задумываться над приобретением паяльной станции с термо-феном. Залез в интернет магазин, увидел цены на паяльные станции, и приофигел… Самая убогая и дешёвая станция на тот момент стоила около 2800грн (более 80-100$). А хорошие, фирменные — еще дороже! И с того момента я решил заняться следующим проектом о создании своей паяльной станции с полного «Нуля».

Для своего проекта за основу был взят микроконтроллер семейства AVRATMega8A. Почему чисто «Атмегу», а не Arduino? Сама «мега» очень дешёвая (1$), а ArduinoNanoи Uno значительно подороже будет, да и программирование на МК начинал с «Меги».

Читайте также:  Уплотнительный_состав_ус_65_технические_характеристики

Ладно, довольно истории. Перейдём к делу!

Для создании паяльной станции мне первым делом нужен был сам Паяльник, Термофен, Корпус и так далее:

  • Паяльник я приобрёл самый простой YIHUA – 907A (6$) в котором есть керамический нагреватель и термопара для контроля температуры;

  • Паяльный фен той же фирмыYIHUA(17$)во встроенной турбиной;

  • Был приобретён «Корпус N11AWЧёрный» (2$);
  • ЖК дисплей WH1602 для отображения показателей температури статуса (2$);
  • МК ATMega8A (1$);
  • Пара микро тумблеров (0,43$);
  • Энкодер со встроенной тактовой кнопкой – от куда-то отковырял;
  • Операционный усилитель LM358N (0,2$);
  • Две оптопары: PC818 иMOC3063 (0,21 + 0,47);
  • И остальная различная расыпуха, которая у меня завалялась.

И в сумме станция обошлась мне примерно 30$, что в разы дешевле.

Паяльник и фен имеют следующие характеристики:

  • Паяльник: Напряжение питания 24В, мощность 50Вт;
  • Паяльный Фен: Спираль 220В, Турбина 24В, Мощность 700Вт, Температура до 480℃;

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

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

Источники питания станции

В качестве источника паяльника для паяльника был взят понижающий трансформатор (220В-22В) на 60Вт.

А для схемы управления был взят отдельный источник питания:-зарядное устройство от смартфона. Данный источник питания был немного доработан и теперь он выдаёт 9В. Далее, с помощью понижающего стабилизатора напряжения ЕН7805, мы понижаем напряжение до 5В и подаем его на схему управления.

Управление и контроль

Для управления температурой Паяльника и Фена нам в первую очередь нужно снимать данные с датчиков температур, и в этом нам поможет операционный усилитель LM358. Т.к. ЭДС у термопарыTCK очень мало (несколько милливольт), то операционный усилитель снимает эту ЭДС с термопары и увеличивает её в сотни раз для восприятия АЦП микроконтроллераATMega8.

Так же меняя сопротивление подстроечным резистором R7 иR11можно изменять коэффициент усиления ОС, что в свою очередь, можно легко калибровать температуру паяльника.

Так как зависимость напряжения на оптопаре от температуры паяльника u=f(t)– примерно линейная, то калибровку можно осуществить очень просто: ставим жала паяльника на термопару мультиметра, выставляем мультиметр в режим «Измерение температуры», выставляем на станции температуру в 350℃, ждём пару минут пока паяльник нагреется, начинаем сравнивать температуру на мультиметре и установленную температуру и если показания температуры отличаются друг от друга – начинаем изменять коэффициент усиления на ОС (резистором R7 и R11) в большую или в меньшую сторону.

Далее Нам нужно управлять нагревательным элементом Паяльника и Фена.

Паяльником мы будем управлять силовым полевым транзистором VT2 IRFZ44 и оптопарой U3 PC818 (для создания гальванической развязки). Питание на паяльник подаётся с трансформатора мощностью 60Вт, через диодный мостVD1 на 4А и фильтрующий конденсатор на C4=1000мкФ и C5=100нФ.

Так как на фен подаётся переменное напряжение 220В то управлять Феном будем Симистором VS1 BT138-600 и оптопарой U2 MOС3063.

Обязательно нужно установить Снаббер. Состоящий из резистораR20 220 Ом/2Вт и керамического конденсатора C16 на 220нФ/250В. Снаббер предотвратит ложные открывания симистора BT138-600.

В этой же цепи управления установлены светодиоды HL1 и HL2, сигнализирующие о работы Паяльника или Паяльного Фена. Когда светодиод постоянно горит, то происходит нагрев, а если они моргают, то происходит подержание заданной температуры.

Принцип стабилизации температуры

Хочу обратить внимание на способ регулировки температуры Паяльника и Фена. Изначально хотел осуществить ПИД регулировку (Пропорциональны Интегральный Дифференциальный регулятор), но понял, что это слишком сложно и не рентабельно, и я остановился просто на Пропорциональном регулировании с помощью ШИМ-модуляции.

Читайте также:  Чем_подкормить_лимонник_осенью

Суть регулирования такова: При включении паяльника будет подана максимальная мощность на паяльник, при приближении к заданной температуре мощность начинает пропорционально понижаться, и при минимальной разнице между текущей и заданной температурой – подаваемая мощность на паяльник или фен держится на минимуме. Таким образом мы удерживаем заданную температуру и устраняем инерцию перегрева.

Коэффициент пропорциональности можно задать в программном коде. По умолчанию установлено «#define K_TERM_SOLDER 20»

«#define K_TERM_FEN 25»

Разработка печаткой платы и внешнего вида станция

Для Паяльной Станции была разработана небольшая печатная плата в программе Sprint-Layout и изготовлена технологией «ЛУТ».

К сожалению я не чего не лудил, боялся что дорожки перегреются и они отлепятся от текстолита

Первым делом пропаял перемычки и SMD-резисторы, а потом всё остальное. В конце концов получилось как-то так:

Я остался доволен результатом.

Далее я занялся корпусом. Заказал себе небольшой чёрный корпус и начал ломать голову над лицевой панелью станции. И после одной неудачной попытки, наконец-то смой проделать ровные отверстия, вставить органы управления и закрепить их. Получалось как-то так, просто и лаконично.

Следом на заднюю панель были установлены разъём для шнура, выключатель, предохранитель

В корпус разместил трансформатор для паяльника, сбоку от него источник питания для схемы управления и посередине радиатор с транзисторомVT1(КТ819), который управляет турбиной на фене. Радиатор желательно ставить побольше чем у меня. Ибо транзистор сильно греется из-за падения напряжения не нём.

Собрав всё в кучу, станция приобрела вот такой внутренний вид:

Из обрезка текстолита были изготовлены подставки для паяльника и фена.

Конечный Вид Станции

Прошивка

Прошивка для микроконтроллера разрабатывалась с полного «Нуля» в программной среде «AVRStudio 5.0»на языке “С++”. Прошивалось программатором AVR USB ASPв программе «Khazama AVR Programmer».

В фьюзах меняем только частоту процессора на 2 МГц, всё остальное по – умолчанию:

Прошивка и исходный код можно в конце статьи

Примечания

  1. Транзистор VT1 Установить на хороший теплоотвод.
  2. Диод VD2, в цепи высокого напряжения, пропуская полупериод и уменьшает подаваемую мощность на Фена в 2 раза. Если нужно, чтобы Фен работал в полную мощность – вместо диода устанавливаем перемычку.
  3. В подставку для фена установлен неодимовый магнит. Когда фен кладётся на подставку, то срабатывает геркон и фен начинает остывать до 80℃. Как только снимается с подставки, он начинает нагреваться до ранее установленной температурой.
  4. При выключении фена турбина продолжает работать до тех пор пока фен не остынет до 80℃.
  5. Когда паяльник или фен не подключены к станции, то высвечивается надпись: «SolderERROR» или «HotAirERROR».
  6. Ножки микроконтроллераATMega8A: 2,3,6,23 – не используются.
  7. Переменный резисторR1 в цепи ЖК дисплея – настраивает контрастность экрана.
  8. Ножки ЖК дисплея: 7,8,9,10 – весят в воздухе.

Вывод: Очень доволен аппаратом! Прошло уже пол месяца как я его собрал, и всё работает на ура. В дальнейшем планирую немного его доработать, а именно внедрить в неё простой лабораторный блок питания (1,3-30В) ток 3А и выводить показания напряжения и тока на ЖК-дисплей. Специально для этого приобрёл DC-DC понижающий преобразователь.

Скачать прошивку, исходный код а также плату можно тут

Конструкцию Разработал и Реализовал Нагирич Владислав

Ссылка на основную публикацию
Регулировка_ножек_посудомоечной_машины
Задние ножки, регулируемые на передней панели Высоту задних ножек посудомоечной машины можно отрегулировать даже после установки ее в нишу, что...
Расход_воды_на_мытье_рук
Расход воды на мытье рук Санатории и дома отдыха с ванными при всех жилых комнатах 1 кг сухого белья Предприятия...
Расчет_потерь_в_силовых_трансформаторах_калькулятор
Расчет потерь электроэнергии в силовом трансформаторе Аннотация. Статья посвящена анализу расчета потерь в двухобмоточном силовом трансформаторе. Авторы предлагают также практическую...
Регулятор_мощности_на_atmega8
Регулятор мощности Рис.1 Принципиальная схема регулятора мощности На рис.1 приведена схема простого регулятора мощности на микроконтроллере ATtiny2313(V). Регулятор предназначен для...
Adblock detector