Сайт радиолюбителей Республики Коми.


: главная: странички:

Автомат суточного включения нагрузки.

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

Рис.1.

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

Под каждым светодиодом ставится кнопка установки, которая далее будет называется цветом своего светодиода (красная кнопка, желтая кнопка). Светодиод красного цвета индицирует значение регистра десятков часов, а светодиод желтого цвета — единиц часов.

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

После пуска и инициализации регистров проверяется флаг установки. Если установки нет, гасятся светодиоды и еще раз проверяется флаг установки. Если подтверждается отсутствие установки, производится сравнение значения регистра часов с регистром времени включения.

При их совпадении выход устанавливается в единицу и сравнение повторяется. Если регистры не совпадают, проверяется совпадение значений регистра часов и времени выключения.

При их совпадении выход обнуляется и сравнение повторяется. Таким образом, во время работы устройства процессор выполняет постоянное сравнение.

После нажатия двух кнопок одновременно во время прерывания (будет показано ниже) сбрасывается флаг сравнения и устройство переходит в режим установки.

На две секунды включаются оба светодиода. После отработки двух секунд проверяются нажатые кнопки.

Рис.2.

По тому, какая кнопка нажата, устанавливается соответствующий флаг и программа зацикливается еще на две секунды. Это необходимо для устранения дребезга контактов и предотвращения неверного срабатывания при неодновременном нажатии (отпускании) кнопок.

Пока кнопки нажаты, установок и индикации нет. После отпускания кнопок гасятся светодиоды и проверяется выбранный режим индикации установки.

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

Алгоритм работы программы индикации показан на рис. 2. Сначала проверяется флаг красного светодиода. Если флаг установлен, программа переходит на индикацию красного светодиода, в противном случае — красный светодиод выключается (если он горел).

Затем проверяется на нуль регистр индикации желтого светодиода. Если значение регистра равно нулю, программа возвращается на индикацию красного светодиода.

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

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

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

Далее регистр индикации снова проверяется на нуль. Если регистр еще не нулевой, индикация повторяется. Когда регистр индикации обнулится, устанавливается флаг красного светодиода и производится запись в регистры индикации установленных значений для данного режима.

Заканчивается цикл индикации проверкой флага установки. Для красного светодиода вся работа программы повторяется, но со своими значениями паузы. Прерывание программы происходит при переполнении таймера каждую четверть секунды (см. рис. 3). Счетчик миллисекунд имеет коэффициент деления, равный четырем, и предназначен для организации коротких вспышек светодиодов.

Рис.3.

За счетчиком миллисекунд последовательно инкрементируются регистры часов. Далее проверяется установка флага двух секунд. Если две секунды не прошли, прерывание завершается восстановлением значений сохраненных регистров.

В противном случае проверяется, нажаты ли одновременно две кнопки. Если кнопки нажаты, включается флаг установки и производится смена режима индикации. Пока кнопки нажаты, установок нет и прерывание завершается.

После нажатия и отпускания красной или желтой кнопки прибавляется единица в соответствующий регистр установки выбранного режима. Это произойдет через две секунды после отпускания кнопок. Завершаются установки восстановлением значений регистров.

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

Схема автомата очень проста и показана на рис. 4. Прямой выход RAO выдает лог. 1 при включении нагрузки.

Инверсный выход RA1 зарезервирован для случая, когда необходимо включение нагрузки сигналом лог. 0. Светодиоды HL1, HL2 могут быть любыми, желательно миниатюрными.

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

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

Нажмите желтую кнопку на время не менее 2 с и отпустите ее. Через две секунды включится желтый светодиод. Аналогично включается красный светодиод.

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

Рис.4.

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

Поэтому после очередной смены режима достоверная информация будет считана только после выполнения полного цикла индикации (красный-желтый). Определить, какая установка в данный момент производится, можно по длительности вспышек светодиодов.

Для того, чтобы невозможно было спутать короткие и длинные вспышки, разница их длительности сделана очень большой. Короткая вспышка длится 1/4 с, а длинная — 1 с.

  • Желтая вспышка короткая, а красная длинная — индикация времени включения.
  • Желтая вспышка длинная, а красная короткая — индикация времени выключения.
  • Оба светодиода мигают короткими вспышками — индикация установки часов.
  • Очередность переключения режимов следующая: включение — выключение — часы — включение и т. д.

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

Рис.5.

Например, вы начали установку в 19.55, значит необходимо установить две вспышки красного светодиода (20). Установку надо выполнять как можно ближе к 20 часам.

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

Через 5 мин после нажатия двух кнопок индикация выключается. Этого времени с избытком хватит для установки одного значения единиц и десятков часов.

Схема второго автомата включения нагрузки еще проще и показана на рис. 5.

Рис.5.

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

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

При включении устройства в любое время начинают работать “внутренние” часы, а нагрузка включается. Не имеет значения, какое время “на часах” внутри микроконтроллера.

В момент реального времени, когда необходимо выключить нагрузку, нажимают кнопку SA1. Нагрузка выключится. В момент реального времени, когда необходимо включить нагрузку, снова нажимаем кнопку. Нагрузка включится. Кнопку необходимо удерживать не менее 2...3 с.

Рис.6.

В момент нажатия кнопки значение регистров часов и минут “внутренних” часов переписывается в регистры сравнения. Каждое нажатие кнопки изменяет установку. То есть, если было установлено время выключения, то следующая установка будет для времени включения.

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

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

Рис.7.

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

Для подключения к устройствам сетевой нагрузки можно использовать схему, показанную на рис. 6 [1]. На рис. 7 [2] показана схема подключения микроконтроллера к телефонной линии для выключения телефона. В данном случае микроконтроллер питается от телефонной сети. Для того чтобы можно было самим сделать ночной звонок, необходимо установить параллельно электронному ключу тумблер (на схеме показан штриховой линией).

Н. Заец

Скачать архив файлов для прошивки микроконтроллера для первого, варианта устройства telef.hex и файл для второго варианта устройства knopka.hex.

Литература:

1. А. Юшин. Оптроны серии АОУ160. — Радио, 1997, № 10, с. 64.

2. Д. Ганженко, И. Коршун. Две конструкции на PIC-контроллере. — Радио, 1996, № 1, с. 50.

Материал подготовил С. Струганов (UA9XСN).

Rambler's Top100
Rambler's Top100
Copyright © Russian HamRadio

Hosted by uCoz