Микроконтроллерный таймер с удобным управлением
- Подробности
- Категория: схемы на ATtiny
- Опубликовано: 02.04.2017 14:26
- Просмотров: 4661
Б. КЕЛЕХСАШВИЛИ, г. Волгодонск Ростовской обл.
Сегодня радиолюбители делают таймеры, как правило, на основе микроконтроллеров. Это не удивительно, поскольку они позволяют создать устройство с минимальным числом элементов и реализовать в нём функции, ограниченные только фантазией разработчика программы.
Вниманию читателей предлагается микроконтроллерный таймер для управления бытовыми электроприборами, отличающийся тем, что его выдержка устанавливается с помощью переменных резисторов. По мнению автора, это значительно удобнее, чем задавать её, многократно нажимая на кнопки.
В большинстве опубликованных конструкций таймеров на микроконтроллерах продолжительность выдержки задают нажатиями на кнопки управления. Иногда, чтобы достичь нужного значения, этих нажатий требуется довольно много, и процедура затягивается. В некоторых случаях предусмотрена возможность ускорить её, удерживая кнопку нажатой, но появляется опасность "проскочить" нужное значение и начать всё сначала. Практика показывает, что куда удобнее и быстрее задавать выдержку привычным поворотом ручки переменного резистора.
Основные возможности предлагаемого таймера:
— выдержка от 1 с до 99 мин 59 с устанавливается с шагом 1 с (режим М:С) или от 1 мин до 99 ч 59 мин с шагом 1 мин (режим Ч:М);
— прямой и обратный счёт времени;
— включение или выключение
нагрузки по истечении заданного времени;
— отключаемый двухтональный звуковой сигнал окончания выдержки;
— чередование включения и выключения нагрузки через заданный интервал времени (режим "цикл");
— запоминание установленных режимов в энергонезависимой памяти микроконтроллера;
— запоминание заданной продолжительности выдержки и её части, уже истёкшей к моменту выключения питания таймера, что позволяет при необходимости после возобновления работы таймера продолжить прерванный отсчёт заданного интервала времени;
— отображение на индикаторе заданной продолжительности выдержки, а также времени, прошедшего с её начала или оставшегося до её истечения, режима работы таймера и состояния нагрузки; — максимальная мощность нагрузки 200 Вт.
Схема таймера изображена на рис. 1.
Он построен на микроконтроллере ATtiny26L (DD1), который выбран ввиду наличия в нём многоканального АЦП, и имеет достаточное число линий ввода—вывода. Программа микроконтроллера написана на языке ассемблера AVRASM и отлажена в среде разработки программ AVR Studio 4.16. Исходный её текст содержит подробные комментарии. Его первая строка — директива .include, включающая в программу файл tn26def.inc. В нём определены стандартные имена регистров используемого микроконтроллера и заданы константы, описывающие его особенности. Этот файл входит в пакет поставки среды разработки, как и файлы описания других микроконтроллеров семейства AVR.
Линии портов микроконтроллера программа настраивает и использует следующим образом:
РА0 и РА1 — аналоговые входы АЦП (измерение напряжения, поступающего с переменных резисторов, которыми задают продолжительность выдержки);
РА2 — дискретный вход (сигнал от кнопки SB1);
РАЗ — дискретный вход (сигнал от кнопки SB2);
РА4—РА7 — выходы (четырёхразрядная шина данных ЖКИ HG1);
РВ0 — выход (управление нагрузкой);
РВ1 — выход (формирование звукового сигнала);
РВ2 — выход (признак команды или данных при записи в ЖКИ);
РВЗ — выход (разрешение записи в ЖКИ);
РВ6 — дискретный вход (сигнал от кнопки SB3).
В режиме Ч:М переменным резистором R1 задают минуты, a R2 — часы. В режиме М:С резистором R1 задают секунды, a R2 — минуты. Подстроечным резистором R7 добиваются наилучшей контрастности изображения на индикаторе HG1. Подборкой резистора R8 устанавливают желаемую яркость подсветки индикатора.
Резистор R6 ограничивает ток перезарядки ёмкости пьезоизлучателя НА1 для защиты выходных цепей микроконтроллера. Резистор R5 задаёт ток излучающего диода оптопары U1.
Оптопара служит для гальванической развязки выхода микроконтроллера и узла управления нагрузкой, выполненного на полевых транзисторах VT1, VT2. Напряжение между ними в процессе работы таймера может достигать амплитуды сетевого. Резистор R4, диод VD3, встроенные защитные диоды транзисторов VT1, VT2, стабилитрон VD4 и конденсатор С7 образуют выпрямитель, питающий постоянным напряжением 12 В цепи формирования им-
пульсов на затворах полевых транзисторов.
При низком уровне напряжения на выходе РВО микроконтроллера излучающий диод оптопары включён, поэтому её фототранзистор открыт и сопротивление его участка коллектор—эмиттер намного меньше, чем резистора R9. Напряжение затвор—исток транзисторов VT1, VT2 близко к нулю. Транзисторы закрыты, а нагрузка обесточена.
Когда микроконтроллер установил на упомянутом выходе высокий уровень, излучающий диод оптопары погашен, а сопротивление закрытого фототранзистора намного больше, чем резистора R9. Напряжение затвор—исток полевых транзисторов близко к 12В, и они открыты. Нагрузка подключена к сети.
Диоды VD5, VD6 ограничивают выбросы напряжения на затворах полевых транзисторов.
Основной узел питания таймера выполнен по бестрансформаторной схеме с гасящим конденсатором (С1 и С2, соединённые параллельно). Через резистор R3 эти конденсаторы разряжаются после отключения устройства от сети. Стабилитрон VD1 ограничивает до 7,5 В напряжение на выходе двух-полупериодного выпрямителя — диодного моста VD2. Интегральный стабилизатор DA1 формирует напряжение 5 В для питания микроконтроллера, индикатора и других элементов таймера (кроме узла управления нагрузкой). Конденсаторы СЗ, С5, С6 и С8 — фильтрующие.
После включения питания таймер остановлен. В верхней строке табло ЖКИ выведены заданная продолжительность выдержки, символы включения звукового сигнала, режима "Цикл" и состояния нагрузки. В нижней строке — время, прошедшее с начала отсчёта выдержки или оставшееся до её истечения (в зависимости от выбранного направления счёта), символы направления счёта и состояния таймера. В этой же строке выводятся дополнительные информационные сообщения, а также подтверждения выполнения действий, задаваемых длительным удержанием кнопок нажатыми.
В табл. 1 перечислены возможные состояния таймера, вид табло ЖКИ в этих состояниях, указаны функции органов управления (переменных резисторов и кнопок) в различных состояниях и режимах.
Загрузку кодов программы в память микроконтроллера можно выполнить, например, с помощью программы ChipBlasterAVR Evaluation v2.00 <http://www.hpinfotech.ro/cblasteravre.zip>, подключив к компьютеру любой из программаторов, имеющихся в списке тех, с которыми она работает. Программа ChipBlasterAVR работоспособна как в 32-, так и в 64-разрядных версиях операционной системы Windows и бесплатна для некоммерческого использования.
В табл. 2 показано необходимое состояние разрядов конфигурации микроконтроллера при стабилизации его тактовой частоты кварцевым резонатором ZQ1 и при работе от встроенного тактового RC-гeнератора частотой 1 МГц. Встроенный генератор можно использовать, если к точности выдерживания таймером заданных интервалов времени не предъявляется высоких требований.
Если в устройстве установлен русифицированный ЖКИ, во FLASH-память микроконтроллера заносят коды из файла AVR_Timer.hex. Но при отсутствии в знакогенераторе ЖКИ символов кириллицы следует воспользоваться файлом AVR_Timer_eng.hex, отличающимся тем, что все выводимые сообщения переведены на английский язык.
Два варианта программы микроконтроллера таймера (с сообщениями на русском и на английском языках) скачать
Таймер собран на печатной плате из односторонне фольгированного стеклотекстолита толщиной 1,5 мм (рис. 2).
В собранном виде она показана на рис. 3.
Индикатор HG1 крепится к плате тремя винтами М2,5. Пьезоизлучатель звука НА1 расположен под индикатором, цилиндрическое обрамление его выводов "утоплено" в плату.
Плата рассчитана на установку резисторов МЛТ указанной на схеме мощности или им подобных. Переменные резисторы R1, R2 — PTV09A-42xxF-B103, PTV09A-42xxU-B103 или R-0904N-A103. Для микроконтроллера на плате смонтирована панель, контакт 10 которой удалён, отверстие для него в плате не предусмотрено. Провода, заканчивающиеся стрелками с буквами А, К и с номерами, идут к соответствующим вы водам ЖКИ.
Вместо микроконтроллера ATtiny26L допускается применить ATtiny26. Интегральный стабилизатор 78L05 заменяется отечественным КР1157ЕН502 или подобным ему маломощным стабилизатором напряжением 5 В. В качестве замены транзисторов IRF830 подходят, например, отечественные КП830 и другие полевые транзисторы с изолированным затвором, допустимым напряжением сток—исток не менее 400 В и допустимым током стока больше максимального тока нагрузки.
Ввиду недостатка места в использованном автором для таймера корпусе (пластиковой монтажной коробки КМ41212 с внутренними размерами 75x75x20 мм) полевые транзисторы установлены без теплоотводов. Этим обусловлена максимальная мощность нагрузки 200 Вт. Применением тепло-отводов её можно увеличить в несколько раз.
Для более рационального использования свободного
пространства корпуса гасящий конденсатор узла питания прибора составлен из двух соединённых параллельно плёночных конденсаторов К73-17 на напряжение 630 В. При наличии достаточного места можно использовать вместо двух один конденсатор К73-17 ёмкостью 0,47 мкФ на такое же напряжение.
Конденсаторы С5, С6, С8 — малогабаритные керамические, они могут быть отечественными К10-17 или импортными. Оксидные конденсаторы — К50-35 или импортные.
Оптопару TIL191 может заменить TLP521. Стабилитроны BZX55C7V5 и BZX55C12 — другие малогабаритные с напряжением стабилизации соответственно 7,5...9 и 10... 15 В. Аналог диода КД522Б — 1N4148, но подойдут илюбые диоды серий КД521, КД522. Вместо диода 1N4004 можно применить отличающиеся большими значениями допустимого обратного напряжения 1 N4005—1 N4007.
Замена ЖКИ WH-0802A — отечественный MT-08S2A или другой цифро-буквенный ЖКИ, имеющий две строки по восемь символов и встроенный контроллер, совместимый с HD44780.
Розетка XS1 изготовлена из контактной части обычной сетевой розетки для открытой проводки, доработанной для уменьшения габаритов. Вилка ХР1 — неразборная штепсельная, установленная на конце сетевого шнура.
Кнопки SB1—SB3 — тактовые с длиной нажимного штока 1,5...6 мм.
Два варианта программы микроконтроллера таймера скачать.
Налаживания таймер не требует. Однако работать с ним, не поместив плату в закрытый корпус из изоляционного материала, опасно — все элементы устройства имеют гальваническую связь с сетью переменного тока. Из не проводящего ток материала должны быть сделаны и ручки переменных резисторов R1 и R2. Вырезанное в корпусе отверстие для наблюдения экрана ЖКИ следует закрыть прозрачной вставкой из органического стекла или поликарбоната. Для вентиляции, а также для улучшения слышимости звуковых сигналов в корпусе сверлят отверстия.
От редакции. Два варианта программы микроконтроллера таймера (с сообщениями на русском и на английском языках) имеются на нашем FТР-сервере
по адресу <ftp://ftp.radio.ru/pub/2012/04/u_timer.zip>.
Для повышения надёжности устройства рекомендуем последовательно с любым выводом диодного моста VD2 включить резистор сопротивлением 100 Ом, мощностью 0,5 Вт.
Радиo №4 2012