Фильтр по тематике

Таймер, управляющий 30 независимыми нагрузками

В статье описан 30-канальный таймер на базе 8-разрядного микроконтроллера фирмы ATMEL. Устройство имеет 30 программируемых независимых каналов управления нагрузками.

25.12.2013 210 0
Таймер, управляющий 30 независимыми нагрузками

Структурная схема 30-канального таймера (далее устройства) представлена на рисунке 1. 


Устройство состоит из семи функциональных узлов: платы клавиатуры и шести 5-канальных таймеров (№ 1…6). Принципиальная схема одного 5-канального таймера (№ 1) представлена на рисунке 2.


Применение 8-разрядных микроконтроллеров (МК) в подобных уст­ройствах вполне оправдано. Причём это может быть х51-совместимый прибор или МК семейства AVR. Схемотехника устройства при этом почти не изменяется. Таймеры № 1…6 идентичны по схеме, конструкции и алгоритму работы. Принципиальная схема платы клавиатуры представлена на рисунке 3.


Соединители Х2…Х7 платы клавиатуры подключаются к соединителям Х7 таймеров № 1…6. Конструктивно таймер № 1 состоит из платы контроллера и каналов управления нагрузками. В таймере № 1 имеется пять независимых программируемых каналов. Каждый канал имеет свою программируемую функцию от времени. Кроме того, есть три независимых будильника. Для каждого канала, а также для будильника, определён свой внутренний таймер. Время включения каждого будильника программируется. Таким образом, в устройстве реализовано 30 программируемых каналов управления нагрузками и 18 будильников.

Интерфейс устройства включает в себя элементы управления: галетный переключатель SA1, клавиатуру (кнопки S1…S5) и элементы управления таймерами № 1…6, – индикаторы HL1…HL6, неоновые лампы H1…H5 и блок индикации (дисплей) из четырёх цифровых 7-сегментных индикаторов HG1…HG4.

Галетный переключатель SA1 (ПГ2-12-6П8Н) имеет шесть положений: «1», «2»…«6». Если он установлен в положение «1», то клавиатура (кнопки S1…S5) подключены к таймеру № 1. В этом случае можно задать параметры для пяти каналов таймера № 1. Если SA1 установлен в положение «2», то можно задать параметры для таймера № 2 и т.п. Факти­чески, галетным переключателем SA1 клавиатура подключается к одному из шести таймеров № 1…6. Понятно, что количество подключаемых плат таймеров зависит от числа положений галетного переключателя. Если применить один галетный переключатель на 6 направлений и 11 положений, то к плате клавиатуры можно подключить 11 плат таймеров, и количество выходных каналов увеличится до 55 (также можно использовать два галетных переключателя ПГ2-12-6П8Н).

Пусть галетный переключатель SA1 платы клавиатуры установлен в положение «1». Кнопки S1…S5 подключены к таймеру № 1. В данном случае можно задавать параметры для каналов таймера № 1.

Работа схемы

Рассмотрим работу таймера № 1 (см. рис. 2). Кнопки клавиатуры имеют следующее назначение:

S1 (D) – увеличение на единицу значения, индицируемого на дисплее, при установке времени в минутах во всех режимах; выключение звукового и светового сигнала при включении будильников; при удержании данной кнопки в нажатом состоянии более 4 с значение времени, индицируемое на дисплее, увеличивается на 5 единиц за 1 с;

S2 (Ñ) – уменьшение на единицу значения, индицируемого на дисплее, при установке времени в минутах во всех режимах; при удержании данной кнопки в нажатом состоянии более 4 с значение времени, индицируемое на дисплее, уменьшается на 5 единиц за 1 с;

S3 (Р) – выбор режима работы таймера («канал 1», «канал 2», «канал 3», «канал 4», «канал 5», «будильник 1», «будильник 2», «будильник 3»); в режиме «канал 1» задаются параметры для канала № 1, в режиме «канал 2» задаются парамет­ры для канала № 2 и т.д.;

S4 (C) – кнопка подтверждения заданных параметров для выбранного режима (канала); с нажатия данной кнопки начинается работа текущего канала (индицируемого на дисплее) таймера, и заданные параметры записываются в память МК;

S5 (I) – кнопка изменения состояния нагрузки в текущем режиме работы таймера; при каждом нажатии кнопки происходит инвертирование подключаемой нагрузки («включено» изменяется на «выключено», и наоборот).

Разряды индикации интерфейса имеют следующее назначение (слева направо по рис. 2):

  • 1 разряд (индикатор НG1) отображает «1» в режиме «канал 1», «2» в режиме «канал 2», «3» в режиме «канал 3», «4» в режиме «канал 4», «5» в режиме «канал 5», «6» в режиме «будильник 1»; «7» в режиме «будильник 2», «8» в режиме «будильник 3»;
  • 2 разряд (индикатор НG2) отображает «сотни минут» во всех режимах;
  • 3 разряд (индикатор НG3) отображает «десятки минут» во всех режимах;
  • 4 разряд (индикатор НG4) отображает «единицы минут» во всех режимах.

Включённые индикаторы HL1…HL5 сигнализируют о том, что каналы № 1…5 запрограммированы и находятся в рабочем режиме. Неоновые лампы сигнализируют о состоянии нагрузок, подключённых к каналам № 1…5. Нагрузки подключаются к каналам № 1…5 через соединители Х2…Х6, соответственно.

Выходной сигнал канала № 1 (вывод 6 МК DD2) представляет собой меандр. На дисплее отображается текущее значение интервала включения (или выключения) нагрузки, которое декрементируется с каждой минутой. Как только оно станет равным нулю, сигнал на выводе 6 МК DD2 инвертируется (так же как и состояние нагрузки), а на дисплее отображается первоначальное (заданное) значение. Интервал может быть установлен от 1 до 999 минут с дискретностью 1 минута.

На выходе канала № 2 (вывод 7 МК DD2) формируется аналогичный меандр. Алгоритм работы канала № 2 аналогичен работе канала № 1. Канал № 3 (вывод 8 МК DD2) представляет собой таймер с обратным отсчётом времени. Задаваемое время – от 1 до 999 минут с дискретностью 1 минута. Алгоритм работы канала № 4 (вывод 9 МК DD2) аналогичен алгоритму работы канала № 3.

Канал № 5 (вывод 11 МК DD2) представляет собой таймер с обратным отсчётом времени и периодом работы 24 ч. Задаваемый интервал включения – от 1 до 999 минут с дискретностью 1 минута. Через 24 часа с момента включения данного канала таймер с обратным отсчётом снова включится на заданный интервал, и на индикаторе будет отображаться заданное в первоначальный момент время. Таким образом, период выходного сигнала – 24 часа, а интервал включения нагрузки составляет от 1 до 999 минут.

Каждый из трёх будильников имеет внутренний таймер с обратным отсчётом времени. Время включения каждого из будильников программируется независимо. Можно, например, запрограммировать одинаковое время включения будильников № 1…3 и каналов № 3…5.

Предусмотрена подача короткого (длительностью 1 с) звукового сигнала в момент переключения нагрузок в каналах № 1 и 2 и включение на 60 с звуковой сигнализации с частотой повторения 1 Гц при включении будильников и включении нагрузок в каналах № 3…5.

Сразу после подачи питания таймер № 1 переходит в режим «канал 1» (в первом разряде дисплея отображается «1»). Во все выводы порта Р3 при инициализации МК заносятся лог. 1 (все нагрузки отключены). Для перевода канала в рабочий режим необходимо кнопками S1 (D) и S2 (Ñ) установить интервал времени и нажатием на кнопку S4 (С) запустить канал, при этом включится индикатор HL1. Для установки первоначального состояния нагрузки следует нажать кнопку S5(I). Каждое нажатие на данную кнопку инвертирует предыдущее состояние нагрузки. Все заданные параметры для текущего канала заносятся в память МК DD2. Аналогично задаются параметры при программировании других каналов.

Для перевода таймера № 1 в другой режим (для программирования других каналов и будильников) необходимо нажать кнопку S3 (Р). Таким образом, можно быстро задать параметры в каждом канале таймера, и, при необходимости, оперативно их изменить. При установке времени в каналах запрещается отсчёт текущего времени в таймерах, – он запускается после нажатия на кнопку S4(С). После установки параметров во всех каналах зажигаются индикаторы HL1…HL5. Каждый канал можно перепрограммировать. Для выключения канала необходимо кнопкой S2 (Ñ) обнулить значение задаваемого параметра для таймера и нажать кнопку S4 (C).

Рассмотрим основные функциональные узлы принципиальной схемы таймера № 1. Основой устройства служит МК DD2, рабочая частота которого задаётся генератором с внешним резонатором ZQ1 на 10 МГц. Канал № 1 управления нагрузкой собран на твердотельном реле DA1 и управляется с вывода 6 МК DD2. Нагрузка подключается к соединителю Х2. Остальные каналы идентичны. Нагрузки подключаются к соединителям Х2…Х6. Пьезоэлектрический излучатель ВА1 управляется с вывода 15 регистра DD1. Через порт Р1 МК DD2 управляет клавиатурой (кнопки S1…S5 на плате клавиатуры) и динамической индикацией. Динамическая индикация собрана на транзисторах VT1…VT6 и цифровых 7-сегментных индикаторах HG1…HG4. Коды для включения индикаторов HG1…HG4 поступают на вход P1 МК DD2. Для функционирования клавиатуры задействован вывод 2 МК DD2. Индикаторы HL1...HL6 также функционируют в режиме динамической индикации. Индикатор HL6 включается и выключается с периодом 1 с.

Лампы H1…H5 сигнализируют о состоянии нагрузок. Как видно из схемы, аппаратные возможности МК DD2 исчерпаны полностью. Цифровая часть принципиальной схемы таймера гальванически развязана от сети. Питающее напряжение +5 В поступает на таймеры № 1…6 с соединителя Х1 платы клавиатуры.

Программное обеспечение

Программа МК состоит из трёх основных частей: процедуры инициализации, основной программы, работающей в замкнутом цикле, и подпрограммы обработки прерывания от таймера TF0. При инициализации во все разряды порта Р3 МК DD2 записываются лог. 1. Твердотельные реле DA1…DA5 разомкнуты, нагрузки отключены. В основной программе происходит отсчёт текущего времени, коррекция текущего времени, установка времени включения будильников, сравнение текущего времени с уставками будильников, включение световых и звуковых сигналов и перекодировка двоичного числа значений времени в код для отображения информации на 7-сегментных индикаторах устройства, включение световых и звуковых сигналов, вывод байта управления нагрузками в порт Р3 микроконтроллера DD2.

Основная задача «часового» модуля программы – формирование точных временны́х интервалов длительностью 1 с – решена с помощью прерываний от таймера TF0 и счётчика на регистре R4. Счётчик на регистре R5 формирует интервал 1 с. Таймер TF0 формирует запрос на прерывание через каждые 3400 мкс. Счётчики, реализованные на данных регистрах, подсчитывают количество прерываний и через каждую минуту устанавливают флаг (pusk1), и текущее время в активизированных каналах декрементируется. При вышеуказанных параметрах таймера и счётчика реальное время отстаёт за один час на 1 с, что приемлемо в бытовом устройстве. Корректировка текущего времени происходит каждый час. Интервал для таймера TF0 (3400 мкс) выбран не случайно, – каждые 3400 мкс происходит отображение разрядов динамической индикации устройства.

В памяти данных МК с адреса 30Н по 57Н организован буфер отображения для динамической индикации. По своему функциональному назначению адресное пространство буфера можно условно разбить на 8 функциональных групп:

  1. 30Н…34H – адреса, где хранится интервал времени в минутах. Эти адреса выводятся на индикацию в режиме «канал 1»;
  2. 35Н…39Н – адреса, где хранится интервал времени в минутах. Эти адреса выводятся на индикацию в режиме «канал 2»;
  3. 3АН…3ЕН – адреса, где хранится текущее время в минутах. Эти адреса выводятся на индикацию в режиме «канал 3»;
  4. 3FН…43Н – адреса, где хранится текущее время в минутах. Эти адреса выводятся на индикацию в режиме «канал 4»;
  5. 44Н…48Н – адреса, где хранится интервал времени в минутах. Эти адреса выводятся на индикацию в режиме «канал 5»;
  6. 49Н…4DН – адреса, где хранится время включения будильника № 1. Эти адреса выводятся на индикацию в режиме «будильник 1»;
  7. 4EН…52Н – адреса, где хранится время включения будильника № 2. Эти адреса выводятся на индикацию в режиме «будильник 2»;
  8. 53Н…57Н – адреса, где хранится время включения будильника № 3. Эти адреса выводятся на индикацию в режиме «будильник 3».

Все эти адреса загружаются в регистр R0 микроконтроллера. На регистре R1 реализован счётчик разрядов. Каждый байт из функциональной группы циклически, в подпрограмме обработки прерывания таймера TF0 (метка OT), после перекодировки выводится в порт Р1 МК. Номер группы или режим работы записан в регистре R2. Для включения индикаторов HG1…HG4 необходимо установить лог. 0 на выводах 2, 5, 6, 9 регистра DD1 соответственно. Например, чтобы в режиме «канал 1» на индикаторе HG1 отображалась «1» необходимо двоично-десятичное число по адресу 30H перекодировать, вывести в порт Р1 МК и записать лог. 0 в первый разряд регистра DD1 (вывод 2). Записывая поочерёдно после перекодировки, в цикле, в порт Р1 МК байты из функциональной группы буфера отображения и выводя лог. 0 на соответствующий вывод регистра DD1, мы получаем режим динамической индикации. Каждый разряд индикатора устройства «привязан» к своему адресу в функциональной группе. Например, значение числа или символа, отображаемого на индикаторе HG1, находится в первом адресе функциональной группы (для режима «канал 1» – это 30Н, а для режима «канал 2» – 35Н).

По адресу 21Н находится байт включения индикаторов HL1…HL6. Для включения индикаторов необходимо выставить данный байт в порт Р1 МК DD2 и установить лог. 0 на выводе 12 регистра DD1 для включения транзистора VT5. Фактически, на данном транзисторе реализовано пятое знакоместо в динамической индикации.

В регистр R0 записываются адреса функциональных групп (метки TEMО1, TEMО2, TEMО3, TEMО4, TEMО5, TEMО6, TEMО7, TEMО8). При каждом обращении к подпрограмме обработки прерывания регистры R0 и R1 инкрементируются. При инициализации в регистр R0 загружается адрес 2BH (режим «канал 1»), а в R1 – число 1. В памяти данных в ячейке с адресом 20Н находится байт, который управляет разрядами динамической индикации и пьезоэлектрическим излучателем ВА1. Данный байт записывается в регистр DD1 сразу после записи перекодированного байта из функциональной группы в порт Р1 МК. Он представляет собой код «бегущий ноль» для включения знакомест (разрядов) динамической индикации (цикл равен 3400 мкс).

В процессе обработки подпрограммы прерывания происходит опрос клавиатуры. Старшая тетрада выводимого при этом в порт Р1 МК байта для клавиатуры представляет собой код «бегущий ноль». После записи данного байта в порт Р1 МК DD1 анализирует сигнал на входе 2 (Р3.0). В пределах вышеуказанной подпрограммы при любой нажатой кнопке на входе 2 МК присутствует лог. 0. Таким образом, каждая кнопка клавиатуры «привязана» к определённому разряду байта данных, выводимого в порт Р1 МК.

Нажатие кнопки S3 (Р) инкрементирует регистр R2, и, тем самым, задаёт один из вышеуказанных восьми режимов работ. При нажатии на кнопку S1 текущее значение времени на дисплее увеличивается на единицу и устанавливается флаг, разрешающий увеличивать текущее значение времени, отображаемое на дисплее. Одновременно запускается счётчик по адресу 58Н, формирующий интервал 4 с. Если кнопка удерживается более 4 с, значение времени, индицируемое на дисплее, увеличивается на 5 единиц за 1 с. Интервал, в течение которого происходит увеличение времени, организован в ячейке по адресу 59Н. При отпускании кнопки S1 все вышеуказанные счётчики обнуляются.

Аналогичным образом организована работа кнопки S2 для уменьшения текущего значения времени, отображаемого на дисплее. При нажатии на кнопку S2 текущее значение времени на дисплее уменьшается на единицу. Если кнопка удерживается более 4 с, значение времени, индицируемое на дисплее, уменьшается на 5 единиц за 1 с. Счётчики приведённого алгоритма для кнопки S2 организованы, соответственно, в ячейках по адресам 5АН и 5ВН.

Разработанная на ассемблере программа занимает порядка 2 кбайт памяти программ МК; её можно найти в приложении к статье на интернет-странице журнала (www.soel.ru).


Фотография макета интерфейса таймера № 1 приведена на рисунке 4. В устройстве использованы резисторы С2-33Н-0,125, подойдут любые другие с такой же мощностью рассеивания и допуском 5%. На плате клавиатуры конденсатор С1 типа К50-35. Галетный переключатель SA1 типа ПГ2-12-6П8Н на 6 положений и 8 направлений. На плате таймеров № 1…6 конденсатор С2 типа К50-35. Конденсаторы С1, С3, С4 типа К10-17.

Нагрузки, как уже отмечалось выше, подключаются к устройству через соединители (вилки) Х2…Х6 типа МРW-2 (ответная часть – розетки MHU-2). Данные соединители можно заменить на клеммники ТВ-10-02. При необходимости выходные каналы (или какое-то количество каналов) можно реализовать на реле, чтобы подключить конкретную нагрузку.

В дисплее целесообразно выделить разряд, индицирующий текущий режим работы устройства (индикатор HG1) на фоне остальных разрядов интерфейса. Поэтому для данного разряда используется 7-сегментный индикатор красного цвета HDSP-F001 (подойдёт HDSP-F151). Индикаторы HL1…HL6 КИПД 02Б-1К – красного цвета, можно использовать любые с Iпр = 10 мА. Номинальный ток предохранителей FU1, FU2 – 10 А, тип – ВП1-2 (10 А/250 В). Номинальное значение тока предохранителей определяется суммарным значением тока в нагрузках, подключаемых к устройству.

Потребление тока по каналу напряжения +5 В не превышает 300 мА. Сетевое напряжение поступает на таймер № 1 с соединителя Х1 через предохранители FU1 и FU2. Неоновые лампы H1…H5 N-702R имеют габаритные размеры L = 30 мм и d = 8,5 мм. Парамет­ры твердотельного реле S202ТО2: максимальный ток нагрузки 2 А, управляющий ток 8 мА, напряжение изоляции 3000 В. Данное реле можно заменить на S202S12 с более высокими параметрами. Для включения ещё более мощной нагрузки можно применить реле типа PF480D25 с управляющим напряжением 4…15 В, управляющим током (при Uупр.= 5 В) 15 мА, коммутируемым напряжением 48…660 В и максимальным током нагрузки 25 А.

В устройстве отсутствуют настройки и регулировки, и если монтаж выполнен правильно, оно начинает работать сразу после подачи напряжения питания.

© СТА-ПРЕСС


Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

25.12.2013 210 0
Комментарии
Рекомендуем
К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения  концепции поляритонов

К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения концепции поляритонов

В прошлом году в журнале «Современная электроника» были опубликованы три статьи, посвящённые юбилею выдающегося российского физика-теоретика Игоря Евгеньевича Тамма (СОЭЛ № 7–9, 2025). В частности, были описаны современные быстродействующие электрооптические модуляторы, поверхностные состояния Тамма, запрещённые фотонные зоны и фотонные кристаллы. В этих статьях умышленно не затрагивались темы поляритонов, оптических состояний Тамма (ОСТ) и плазмон-поляритонов Тамма (ППТ). Поскольку ключевой вклад в раннюю разработку этих явлений в основном принадлежит российским учёным, целесообразно посвятить их открытию более подробные отдельные статьи. Ниже рассмотрены два основных типа гибридных фотонных частиц: экситон-поляритоны и фонон-поляритоны.  
24.04.2026 СЭ №4/2026 80 0
Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

«…Наступит время… когда миллионы таких приборов, таких "электрических глаз" будут всесторонне обслуживать общественную и частную жизнь, науку, технику и промышленность…» Б. Розинг Семён Исидорович Катаев (1904–1991 гг.), советский учёный и изобретатель в области телевидения, доктор технических наук, профессор, заслуженный деятель науки и техники – незаслуженно обделён вниманием популяризаторами истории электроники и телевидения в нашей стране. Тем не менее И.С. Катаев внёс значительный вклад в развитие инженерной мысли в СССР при разработке и усовершенствовании электронно-лучевых трубок (ЭЛТ), ставших на многие годы ключевой технологией, лежащей в основе экранов телевизоров и оборудования различного назначения. Катаев дополнил изобретение Зворыкина и по праву может считаться ещё одним «отцом» отечественного телевидения. В найденных документах роль Катаева прослеживается чётко, и в статье мы хотим это показать.
23.04.2026 СЭ №4/2026 95 0
Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления –  на примере AE-Skin

Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления – на примере AE-Skin

Путь будущих разработок в области современной электроники пролегает от визуального отображения окружающего пространства до тактильного. В этой связи представляют интерес система Bioinspired Adaptable Multiplanar mechano-vibrotactile Haptic (BAMH) – пневматически активируемый роботизированный электронный комплекс с интерфейсом из мягкого материала и система AE-Skin, обеспечивающая интерфейс между кожей человека и физическими поверхностями. Принцип её действия достаточно известен и заложен в управлении интерактивными экранами. В первой части статьи рассматриваются особенности новых разработок в области медицинской электроники и перспективы тактильного воздействия на кожу человека для лечения и изменения настроения. Во второй части представлен подробный разбор AE-Skin и примеры её совершенствования во всех сферах жизни человека: от управления посредством электронных тактильных датчиков миниатюрной формы до устройств на основе новых технологий, воспринимающих движения руками без прикосновения и без применения пироэлектрических детекторов, как управляющие сигналы для РЭА.
17.04.2026 СЭ №4/2026 140 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться