на главную
Карта сайта
English version
Вы читаете:

Программируемый таймер

Измерительная техника
6 лет назад

Усовершенствованный программируемый таймер


Предлагаемый таймер функционально аналогичен описанному в статье В. Геронды "Программируемый таймер" ("Радио", 2018, № 8, с. 46, 47). Его основное отличие - большее удобство пользования и информативность в работе благодаря замене DIP-переключателей кнопками без фиксации и добавленному ЖКИ (одна строка из десяти символов).

Разрабатывая конструкции на микроконтроллерах, я пришёл к следующим важным, на мой взгляд, выводам. В них должны максимально использоваться "интеллектуальные" возможности микроконтроллера. Не следует, например, заставлять пользователя набирать значения параметров на переключателях, да ещё в двоичном формате, или отсчитывать "в уме" длительность нажатия на кнопку. Полноценной должна быть и индикация режима и хода работы устройства.

Усовершенствованный таймер, работая в циклическом режиме, ведёт отсчёт времени по выбору пользователя в часах, минутах или секундах. В зависимости от выбранной единицы отсчёта максимальная выдержка - 99 часов, 59 минут или 59 секунд. Минимальная - один час, одна минута или одна секунда. В тех же пределах задают длительность пауз между выдержками, причём единица отсчёта пауз может быть выбрана другой. Число отрабатываемых циклов "выдержка-пауза" от 1 до 99 или неограниченное. В однократном режиме выдержка (до 99 часов 59 минут 59 секунд) задаётся и отсчитывается с дискретностью 1 с.

Все задаваемые значения вводят с помощью переменного резистора, наблюдая их на символьном ЖКИ. В процессе счёта времени выведенные на индикатор значения уменьшаются.

Принципиальная схема таймера показана на рис. 1. Он собран на микроконтроллере DD1 ATmega8L-8PU. Таймером управляют с помощью кнопок SB1-SB9, выключателей SA1 и SA2, переменного резистора R2. Формируемые звуковые сигналы микроконтроллер выводит через усилитель на транзисторе VT1 на электромагнитный излучатель звука HA1. Исполнительным реле K1 он управляет через усилитель на транзисторе VT2.

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

Рис. 1. Принципиальная схема таймера

 

Информация о заданных параметрах и режиме работы выводится на индикатор HG1. Светодиод HL1 во время отсчёта времени вспыхивает каждую секунду. Светодиод HL2 сигнализирует о том, что на обмотку реле K1 подано напряжение.

Питают таймер стабилизированным напряжением 5 В. Потребляемый им ток - 100...150 мА.

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

Плата таймера

Рис. 2. Плата таймера

 

Расположение деталей на плате

Рис. 3. Расположение деталей на плате

 

Применены выводные постоянные резисторы указанной на схеме мощности и оксидный конденсатор C6. Остальные конденсаторы - керамические для поверхностного монтажа типоразмера 1206. Кварцевый резонатор - KX-38T. Реле K1 - HK4100F-DC5V с обмоткой сопротивлением 70 Ом.

Переменный резистор R2 может быть любого типа с номинальным сопротивлением 1...10 кОм. Но при этом номинальное сопротивление резистора R1 должно быть таким же, как у R2. От качества переменного резистора (плавности хода и надёжности подвижного контакта) зависит удобство задания интервалов времени с его помощью.

Перед установкой микроконтроллера на плату коды из файла Shaper_ CS.hex должны быть загружены в его программную память, а конфигурация микроконтроллера запрограммирована в соответствии с табл. 1.

Таблица 1

Разряд

Сост.

Разряд

Сост.

RSTDISBL

1

BODLEVEL

0

WDTON

1

BODEN

0

5PIEN

0

SUT1

1

СКРОТ

1

SUT0

0

EESAVE

1

CKSEL3

0

BOOTSZ1

0

CKSEL2

1

BOOTSZO

0

CKSEL1

0

BOOTRST

1

CKSEL0

0

0 - запрограммировано; 1 - не запрограммирован

 

Процессор микроконтроллера тактирован внутренним RC-генератором частотой 8 МГц. Но таймер T/C2, отсчитывающий в микроконтроллере интервалы времени, тактирован другим внутренним генератором, частота которого стабилизирована кварцевым резонатором ZQ1.

АЦП микроконтроллера оцифровывает снимаемое с подвижного контакта переменного резистора R2 напряжение. Образцовое напряжение АЦП - 2,56 В от внутреннего источника. Результат преобразования программа делит на десять.

При включении питания таймер выводит на индикатор сообщение (рис. 4,а) и начинает работу в режиме ожидания. Если при разомкнутом выключателе SA1 (циклический режим) 

перейти нажатием на кнопку SB2 в режим установки выдержки, на индикатор будет выведено сообщение, показанное на рис. 4,б.

Вращением ручки переменного резистора R2 установите на индикаторе желаемую длительность выдержки. Например, 25, как показано на рис. 4,в.

Сообщения на индикаторе

Рис.  4. Сообщения на индикаторе

 

После дальнейших нажатий на кнопку SB2 установите сначала длительность паузы, например 10 (рис. 4,г), а затем число циклов "выдержка-пауза", например 5 (рис. 4,д). Учтите, если задать число циклов нулевым, таймер выполнит 256 циклов.

 

Четвёртое нажатие на кнопку SB2 возвратит таймер в режим ожидания. Все введённые значения программа запишет в соответствующие ячейки ОЗУ и EEPROM микроконтроллера.

Теперь можно запустить отсчёт времени нажатием на одну из кнопок SB4-SB8, выбрав этим и единицы отсчёта выдержки и паузы в соответствии с табл. 2. С началом отсчёта на индикаторе появится обновляющаяся информация об оставшемся до окончания текущей выдержки времени и оставшемся числе циклов "выдержка-пауза" (рис. 4,е). По истечении выдержки начнётся отсчёт паузы с выводом информации о ней (рис. 4,ж). Этот цикл повторится заданное число раз.

Таблица 2

Кнопка

Единица отсчёта длительности

Выдержки

Паузы

SB4

Час

Час

SB5

Минута

Час

SB6

Минута

Минута

SB7

Минута

Секунда

SB8

Секунда

Секунда

 

Паузой заканчивается каждый цикл работы таймера, кроме последнего (или единственного). Например, если задано десять циклов, таймер отсчитает десять выдержек и девять пауз. По завершении последней выдержки прозвучит пять коротких сигналов, а на индикаторе появится сообщение об остановке таймера, показанное на рис. 4,и.

Режим неограниченного числа циклов работы таймера устанавливают замыканием выключателя SA1. При этом на индикатор вместо заданного числа циклов выводятся буквы xx, как на рис. 4,к. При отсчёте времени они не изменяются. Во всех случаях возможна работа при нулевой длительности паузы и одном цикле.

Длительность выдержки таймера в однократном режиме задают, как было описано выше, но пользуясь кнопкой SB3 вместо кнопки SB2. На индикатор при этом выводится и в дальнейшем изменяется надпись, аналогичная показанной на рис. 4,л, а запускают таймер нажатием на кнопку SB9. По истечении заданной выдержки таймер, как и в циклическом режиме, подаёт пять коротких звуковых сигналов, а на индикатор выводит сообщение об этом (рис. 4,и). Нажатием на кнопку SB1 можно досрочно остановить таймер во всех режимах работы.

При безошибочном монтаже и исправных деталях таймер практически не требует налаживания. Может потребоваться лишь подборка резистора R1 с целью обеспечения на верхнем (по схеме) выводе резистора R2 напряжения 2,5 В. В ЖКИ MT-10S1 регулировка контрастности не предусмотрена, поэтому его вывод 13 не используется. Ток, потребляемый светодиодной подсветкой индикатора, - около 32 мА.

Программа микроконтроллера таймера имеется здесь.

Автор: Н. Салимов, г. Ревда Свердловской обл.