Самодельный контроллер для управления тепловой пушкой (ATTiny2313)
В данной публикации автор представляет контроллер с модулем силовым для управления мощными тепловентиляторами (тепловыми пушками). В качестве объекта автоматизации выбран тепловентилятор КЭВ - 12С40Е. Автор приводит схемотехнику контроллера, а так же подробные комментарии к программному обеспечению.
Где применяются тепловентиляторы (тепловые пушки)? Конечно же в первую очередь для обогрева офисных, торговых, производственных. складских и других помещений.
Принципиальная схема
Принципиальная схема тепловентилятора и силового модуля представлена на рисунке 1. Данный тепловентилятор представляет собой металлический корпус с установленными внутри электронагревателями и осевым вентилятором.
Рис.1. Принципиальная схема тепловентилятора и силового модуля.
Вентилятор всасывает воздух из помещения через заднюю решетку, поток воздуха, проходя через нагреватели, нагревается и выбрасывается в помещение через переднюю решетку В тепловентиляторах КЭВ-С40Е установлены трубчатые электрические нагреватели (ТЭНы).
Управление тепловентиляторами осуществляется двумя вращающимися ручками: роторного переключателя и терморегулятора, установленными на передней панели корпуса.
Тепловентилятор КЭВ-12С40Е может работать в следующих режимах:
- выключено;
- режим вентилятора;
- включение 30% тепловой мощности;
- включение 70% тепловой мощности;
- включение 100% тепловой мощности.
Ручкой терморегулятора устанавливается необходимая температура нагрева воздуха в помещении в диапазоне от +5 до +40°С Соответствие положений переключателя S (рисунок 1) к включаемой мощности приведено в таблице 1.
Таблица 1.
Положение переключателя S | Режим работы тепловентилятора | Замкнутые контакты |
0 | выключен | |
1 | вентилятор | Р1 |
2 | включение 30% тепловой мощности | Р1 Р2 Р5 |
3 | включение 70% тепловой мощности | Р1 Р2. РЗ Р5 Р7 |
4 | включение 100% тепловой мощности, | Р1 Р2 РЗ Р5 Р6 Р7 Р8 |
Тепловентилятор снабжен устройством аварийного отключения ТЭНов в случае перегрева корпуса.
Для увеличения эксплуатационного срока службы рекомендуется перед выключением оставить тепловентилятор работать несколько минут в режиме вентилятора для снятия остаточного тепла ТЭНов.
С этой целью предусмотрена автоматическая задержка выключения вентилятора. После выключения тепловентилятора роторным переключателем вентилятор продолжает продувку до тех пор. пока температура ТЭНов не снизиться до заданной величины (обычно в течение 1-3 мин).
Рис. 2. Рабочий цикл устройства.
Силовой модуль (рисунок 1) добавлен в схему серийно выпускаемого тепловентилятора. Как видно из схемы твердотельные реле К1 К7 силового модуля подключены параллельно группам контактов переключателя S Управление тепловентилятором заключается во автоматическом включении на заданную мощность в заданное время твердотельных реле К1... К7, а значит и ТЭНов №1...№6 электронагревателя ЕК1 и вентилятора М.
Данную задачу решает 4-х канальный контроллер. Нагрузки. (ТЭНы N21 №6) подключенные к контроллеру, имеют свой временной интервал задержки, относительно момента нажатия кнопки (СТАРТ), и свой рабочий интервал.
В общем случае все интервалы могут быть разными, но нагрузки. (ТЭНы №1-№6) электронагревателя ЕК1 включаются только при включении вентилятора М Временная диаграмма устройства для управления ТЭНов №1 №6 электронагревателя ЕК1 и вентилятором М приведена на рис 2.
На рисунке представлена работа всех 4-х каналов устройства Т11 Т21 Т31. Т41 - интервалы временных задержек (интервалы выключения) каналов №1-№4 Т12, Т22, Т32, Т42 - рабочие интервалы (интервалы включения) каналов №1-№4.
Вышеуказанные интервалы программируются заранее. Рабочий цикл представленный на рис 2 периодически повторяется во времени.
Предусмотрена, независимая работа каждого канала. Все каналы запускаются одновременно от кнопки ОБЩ СТАРТ. Конструктивно, контроллер состоит из пяти основных частей плата контроллера №1 - управляет вентилятором плата контроллера №2 -управляет ТЭНами, №1, №3. плата контроллера №3 - управляет ТЭНами №2, №5, плата контроллера № 4 - управляет ТЭНами №4. №6. Принципиальная схема платы контроллера N1 представлена на рисунке 3.
Рис. 3. Принципиальная схема платы контроллера тепловой пушки на ATtiny2313.
Платы контроллеров №1, №4 - идентичны по схеме, конструкции и алгоритму работы. Принципиальная схема платы клавиатуры представлена на рисунке 4.
Соединители Х2 Х5 платы клавиатуры подключаются к соединителям Х2 плат контроллеров. Соединители Х1 плат контроллеров подключаются к соединителю Х1 модуля силового. Интерфейс устройства включает в себя элементы управления платы клавиатуры модульные переключатели SA1, SA2 клавиатура (кнопки S1 S7).
А так же элементы контроля и управления плат контроллеров №1 №4 индикаторы HL1, HL2. блок индикации (дисплей) из трех цифровых семисегментных индикаторах HG1...HG3.
SA2 - модульный переключатель с зависимой фиксацией. Это значит включение одного из модулей вызывает выключение ранее включенного модуля. Если в SA2 включен модуль "Г, то клавиатура (кнопки S1...S7) подключена только к плате контроллера №1.
Если в SA2 включен модуль "2", то клавиатура подключена только к плате контроллера №2 и т. д. Модульный переключатель SA1 со стартовой фиксацией. Это значит, что включенный модуль не фиксируется, и после снятия усилия нажатая кнопка возвращается в исходное состояние.
Рис. 4. Принципиальная схема платы клавиатуры для контроллера управления тепловой пушкой.
Пусть в переключателе SA2 включен модуль "Г. Рассмотрим работу контроллера №1 Канал управления нагрузкой собран на транзисторах VT1. VT2.
Канал управляется с вывода 11 микроконтроллера DD1. С порта РВ микроконтроллер DD1 управляет клавиатурой (кнопки S1... S9) и динамической индикацией. Динамическая индикация собрана на транзисторах VT2...VT4, цифровых семисегментных индикаторах HG1...HG3.
Резисторы R8...R15 токоограничительные для сегментов индикаторов HG1 HG3. Коды для включения индикаторов HG1 HG3 при функционировании динамической индикации поступают на вход РВ микроконтроллера DD1.
Для функционирования клавиатуры задействован вывод 7 микроконтроллера DD1.
Элементы интерфейса управления и контроля платы контроллера №1 имеют следующее назначение:
- S1 ( Д ) - увеличение на единицу значения, индицируемого на дисплее, при установки времени в минутах (секундах), при удержании данной кнопки в нажатом состоянии более 5 секунд, значение времени индицируемое на дисплее увеличивается на 5 единиц за 1 секунду;
- S2 ( \ ) - уменьшение на единицу значения, индицируемого на дисплее, при установки времени в минутах (секундах). соответственно при удержании данной кнопки в нажатом состоянии бопее 5 секунд, значение времени индицируемое на дисплее уменьшается на 5 единиц за 1 секунду;
- S3 ( С) - (Старт/стоп). Кнопка запуска/оста-нова устройства в режиме №2. В рабочем цикле (который периодически повторяется) идет обратный отсчет заданных интервалов времени Т1 и Т2. с первым нажатием данной кнопки нагрузка подключается к сетевому напряжению, идет обратный отсчет заданного интервала Т1.
- S4 (Р) - (Режим). Кнопка выбора режима работы; режим №1 или режим №2.
- S5 ( В1) - (Выбор). Кнопка выбора интервалов Т1 или Т2ю
- S6 (В2) - (Выбор). Кнопка выбора временного режима работы минуты или секунды выключения нагрузки.
- S7 (ВЗ) - (Вкл/Выкл). Кнопка принудительного (ручного) включения/выключения нагрузки, вне зависимости от того, в каком режиме находится устройство, каждое нажатие данной кнопки меняет состояние нагрузки на противоположное.
- SA1 (ОБЩ СТАРТ) - одновременный запуск в устройстве всех плат контроллеров №1-№9.
- HL1 - индикатор режима работы устройства: HL1 горит - режим №2, HL1 погашен - режим №1. (назначение режимов будет приведено ниже).
- HL2 - индикатор интервалов Т1 и Т2. Если HL2 горит, то на дисплее индицируется интервал Т1, Если HL2 погашен, то на дисплее индицируется интервал Т2.
Разряды индикации интерфейса имеют следующее назначение:
- 1 разряд (индикатор HG3) отображает ’единицы минут' ("единицы секунд") интервалов Т1 и Т2.
- 2 разряд (индикатор HG2) отображает "десятки минут’ ("десятки секунд’) интервалов Т1 и Т2;
- 3 разряд (индикатор HG1) отображает ’сотни минут’ ("сотни секунд’) интервалов Т1 иТ2.
Чтобы "запустить" плату контроллера №1 (запустить вентилятор М). необходимо задать интервалы Т11, Т12, перевести его в режим №2 и нажать кнопку S3 (С). При независимой работе каналов нужно задать соответствующие интервалы и нажать кнопку S3 (С).
Для запуска всего контроллера необходимо задать интервалы Т11. Т21, Т31 Т41, Т12, Т22, Т32. Т42 и одновременно нажать два модуля в переключателе SA1 (ОБЩ СТАРТ).
Сразу после подачи питания на выводе 1 микроконтроллера DD1 через RC-цепь (резистор R16, конденсатор С6) формируется сигнал системного аппаратного сброса микроконтроллера DD1. Инициализируются регистры, счетчики, стек, таймер Т/С1. сторожевой таймер, порты ввода/вывода При инициализации на выводе 11 микроконтроллера DD1 устанавливается - лог 1. На индикаторах HG1 HG3 индицируются нули. Индикатор HL1 - погашен Индикатор HL2 -горит.
Для плат контроллеров №1 №4 предусмотрено два режима работы режим задания параметров - режим №1 и рабочий режим - режим № 2. В режиме № 1 (режим задания параметров) с клавиатуры устройства задаются значения интервалов включения Т1 и выключения Т2.
В режиме №1 запрещен счет времени На выводе 11 микроконтроллера DD1 устанавливается - лог.1 Интервалы Т11 и Т12. могут быть заданы как в минутах так и в секундах в диапазоне от 999 до 1. с дискретностью 1. Визуально Т11 и Т12 поочередно, можно контролировать на трех разрядном дисплее.
В режиме № 2 (рабочий режим) идет обратный отсчет заданных интервалов Т1 и Т2 в рабочем цикле. В интервале времени Т11 на выводе 11 микроконтроллера DD1 устанавливается -лог 1 (нагрузка отключена). В интервал времени Т12 на выводе 11 микроконтроллера DD1 устанавливается - лог 0 (нагрузка включена).
Периодически, один раз в секунду, мигает точка h индикатора HG3 Подробнее рабочий цикл для платы контроллера и №1 будет приведен дальше.
Задача по формирование точных временных интервалов длительностью 1 с, решена с помощью прерываний от таймера Т/С1, и счетчика на регистре R20. Счетчик на регистре R21 формирует интервал в одну минуту. Таймер Т/С1 формирует запрос на прерывание через каждые = 3900 мкс.
Счетчики на данных регистрах, подсчитывают количество прерываний и через каждую минуту, устанавливается флаг (PUSK). и текущее время декрементируется. Через каждые = 3900 мкс происходит отображения разрядов в динамической индикации устройства.
Программа состоит из трех основных частей инициализации, основной программы. работающей в замкнутом цикле и подпрограммы обработки прерывания от таймера Т/С1 (соответственно метки INIT. SE1. ТІМ0).
В основной программе происходит инкремент, декремент заданного значения времени. В подпрограмме обработки прерывания осуществляется счет одной секунды, опрос клавиатуры, включение индикаторов HL1 и HL2 и перекодировка двоичного числа значений времени в код для отображения информации на семисегментных индикаторах.
В памяти данных микроконтроллера с адреса $060 по $065 организован буфер отображения для динамической индикации. По адресам $060...$062 хранится текущее значение интервала Т1. Заданное значение интервала Т1 хранится по адресам $066. $068.
Соответственно, по адресам $063 . $065 хранится текущее значение интервала Т2. Заданное значение интервала Т2 хранится по адресам $069 $06В. Текущие значения интервалов Т1 и Т2 с адресов $060 $062 и $063 $065 (значения которые задаются с помощью кнопок SI, S2) переписываются соответственно по адресам $066 $068 и $069. $06В, сразу после нажатия на кнопку S3 ( С).
На R22 (catod) организован регистр знакоместа. При инициализации в регистр R1 загружается число 1. в Y-регистр загружается начальный адрес буфера отображения $060. При этом на дисплее будет включен разряд "единицы минут" ("единицы секунд").
При каждом обращении к подпрограмме обработки прерывания содержимое регистра R22 сдвигается влево на один разряд, a Y -регистр инкрементируется. Понятно, что как только 1 будет в третьем разряде регистра R22, то все разряды будут выбраны, при этом опять в R22 нужно загрузить единицу, а в Y-регистр начальный адрес буфера отображения.
В процессе обработке подпрограммы прерывания происходит опрос клавиатуры. Младшая тетрада выводимого при этом в порт В микроконтроллера байта для клавиатуры представляет собой код "бегущий ноль". После записи данного байта в порт В, микроконтроллер DD1 анализирует сигнал на входе 7 (PD3).
В рамках вышеуказанной подпрограммы, при любой нажатой кнопки, из восьми имеющихся в устройстве, на входе 7 микроконтроллера присутствует лог. 0. Таким образом, каждая кнопка клавиатуры "привязана" к "своему" разряду в младшей тетраде байта данных, выводимого в порт В микроконтроллера, для опроса клавиатуры.
Алгоритм работы платы контроллера №1 в рабочем цикле (в режиме: секунды) следующий. После подачи питания необходимо с клавиатуры в режиме №1 задать необходимые параметры работы устройства -интервалы включения Т1 и выключения Т2. При установке интервалов Т1 и Т2 в устройстве, как уже упоминалось выше, запрещается отсчет текущего времени.
Данные параметры индицируются на дисплее (индикаторы HG1...HG3). Далее необходимо перейти в режим №2. Устройство переходит в рабочий цикл сразу после нажатия на кнопку "Старт/стоп" (S3) в режиме №2, при этом индикатор HL1 - загорается. Периодически, один раз в секунду, мигает точка h индикатора HG3.
Микроконтроллер DD1 устанавливает лог.0 на выходе 11 (включение нагрузки). Время (интервал включения Т1) индицируемое на дисплее декрементируется с каждой секундой. Как только оно станет равно нулевому значению, микроконтроллер устанавливает лог.
1 на выходе 6 (выключение нагрузки). Индикатор HL1 - гаснет. Заданное значение Т1 переписывается с адресов $066...$068 на адреса $060...$062. Теперь дисплей индицирует первоначальное заданное значение времени равное интервалу выключения Т2, которое хранится по адресам $063...$065.
Нагрузка будет отключена в течении времени равному интервалу выключения. Теперь, время индицируемое на дисплее (Т2) декрементируется с каждой секундой.
И как только оно станет равно нулевому значению микроконтроллер устанавливает лог. 0 на выходе И. (включение нагрузки). Индикатор НИ - загорается. Заданное значение Т2 переписывается с адресов $069 . $06В на адреса $063 $065.
На дисплее снова индицирует первоначальное заданное значение времени равное интервалу включения Т1. Рабочий цикл завершен. Устройство работает совершенно аналогично в режиме: минуты. В данном режиме интервалы Т1 и Т2 декрементируются с каждой минутой.
Но точка h индикатора HG3 все равно мигает периодически, один раз в секунду.
Разработанная программа на ассемблере занимает порядка 0,55 Кбайт памяти программ микроконтроллера. Потребление тока по каналу напряжения:+5 В, не более 150 мА. На плате контроллера применены следующие элементы.
Конденсаторы C1, С2, С4..С6 типа К10-17а. Конденсатор C3 типа К50-35 Применены резисторы типа С2-ЗЗН-0.125 Индикаторы HG1...HG3 зеленого цвета, типа HDSP-F501. Устройство не требует никакой настройки и отладки.
Исходный код программы и прошивка для МК - Скачать.
Шишкин С. РК-09-18.
- Самодельный кодовый замок на микроконтроллере (PIC16F628A)
- Схема вольтметра на Arduino UNO для двухполярного блока питания
- Самодельная лампочная и светодиодная гирлянда на Arduino UNO
- Схема таймера на микроконтроллере ATINY2313 для тепловых пушек
