Сигнализация и охрана на микроконтроллерах (ATTiny2313, ATMega8535)

Принципиальные схемы трех самодельных устройств - кодового замка, сигнализации и имитатора присутствия, выполненных на микроконтроллерах ATTiny2313 и ATMega8535. В статье представлены три устройства, которые призваны осуществлять функции охраны и безопасности:

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

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

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

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

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

Эталонный код, хранимый в EEPROM микроконтроллера, всегда легко перепрограммировать, используя при этом только аппаратные ресурсы самого микроконтроллера (т. е. устройства выполненного на базе микроконтроллера). Кроме того, код не “потеряется” при выключенном питании. Тем самым отпадает надобность в операции программировании устройства при каждом новом включении питания или изменения эталонного кода.

Схема 7-канального кодового замка

Принципиальная схема электронного 7-канального кодового замка (далее замка или устройство) представлена на рисунке 1.

Принципиальная схема электронного 7-канального кодового замка на микроконтроллере ATTiny2313

Рис. 1. Принципиальная схема электронного 7-канального кодового замка на микроконтроллере ATTiny2313.

Рассмотрим основные, функциональные узлы устройства. Рабочая частота микроконтроллера DD2, задается генератором с внешним резонатором ZQ1 на 10.000 МГц. Порт PD микроконтроллера DD1 управляет динамической индикацией. Динамическая индикация собрана на транзисторах VT1...VT5, цифровых, семисегментных индикаторах HG1...HG5.

Резисторы R3...R10 - токоограничительные для сегментов индикаторов HG1... HG5. Коды для включения вышеуказанных индикаторов при функционировании динамической индикации поступают в порт РВ микроконтроллера DD2. Для функционирования клавиатуры задействован вывод 8 (PD4) микроконтроллера.

Сразу после подачи питания на выводе 1 микроконтроллера DD1 через RC-цепь (резистор R2, конденсатор СЗ) формируется сигнал системного аппаратного сброса для микроконтроллера DD2. На дисплее индицируется число 00001. Питающее напряжение +5В поступает на устройство с соединителя Х2.

Конденсатор С6 фильтрует пульсации в цепи питания +5 В. Блокировочные конденсаторы С4, С5 стоят по цепи питания регистра DD1 микроконтроллера DD2 соответственно. Регистр DD1 задействован для увеличения количества выводных линий. В устройстве имеются 7 независимых каналов: канал №1... №7.

Для канала №1 нужно ввести эталонный код №1, для канала №2 нужно ввести эталонный код №2 и т. д. Выходной сигнал канала №1 поступает на контакт 1, соединителя.

Выходные каналы сигналов сразу после подачи питания имеют уровень лог.1. Интерфейс устройства включает в себя: индикацию (дисплей) из цифровых семисегментных индикаторах HG1...HG5, и клавиатуру - кнопки S1...S8. На 5 разрядном дисплее отображается вводимый код и число (разряд HG5), которое определяет активированный канал.

Как видно из схемы аппаратные ресурсы микроконтроллера задействованы полностью. В алгоритме работы устройства можно выделить 14 режимов работы. Приведем их:

  1. Режим №1 - режим ввода рабочего кода №1. В случае совпадении рабочего (вводимого) и эталонного кодов сигнал КАНАЛ №1 (контакт 1, соединитель Х1) на 5 с устанавливается уровень лог.0.
  2. Режим №2 ...№7 - данные режимы по алгоритму работы аналогичны режиму №1. Режим №2 для сигнала КАНАЛ №2, режим №3 для сигнала КАНАЛ №3 и т. д.
  3. Режим №8 - режим ввода (записи) эталонного кода №1. В данном режиме для канала №1 эталонный код записывается в EEPROM микроконтроллера.
  4. Режим №9 ...№14 - данные режимы по алгоритму работы аналогичны режиму №8. Режим №9 для канал №2, режим №10 для канал №3 т. д.

Кнопки клавиатуры устройства имеют следующее назначение:

  • S1 ...S6 - кнопки для ввода кода доступа. Данные кнопки обозначены цифрами от ”1” до “6”. Вводимый код индицируется на дисплее устройства;
  • S7 (К) - кнопка выбора каналов №1... №7. Если выбран канал №1 на индикаторе HG5 индицируется цифра “Г, если выбран канал №2 на индикаторе HG5 индицируется цифра “2” и т. д.
  • S8( 3/Р ) - кнопка выбора режима работы: “запись” или “рабочий режим” для каналов №1...№7. В режиме “запись” на дисплее в четвертом разряде (индикатор HG4) будет индицироваться точка h;

Алгоритм работы устройства следующий. В рабочем режиме, сразу после подачи питания, на дисплее индицируется число 00001. Микроконтроллер DD1 ждет ввода четырехразрядного кода. Вначале необходимо записать эталонный код для каждого канала. Кнопкой S8 ( 3/Р ) выбираем режим “запись”.

Вводимый с клавиатуры код для канала №1, микроконтроллер индицирует на дисплее и записывает в ОЗУ. После ввода четырехразрядного кода, необходимо нажать любую кнопку из S1...S6. Код индицируемый на дисплее запишется в EEPROM-память микроконтроллера и будет эталонным для канала №1.

После записи на дисплее снова в разрядах HG1...HG4 индицируются нули. Кнопкой S7 (К) выбираем канал и проделываем аналогичные операции как для канала №2 и т. д.. Для выхода из режима записи нужно нажать кнопку S8, точка h в четвертом разряде (индикатор HG4) - погаснет. Устройство готово к работе.

Микроконтроллер ждет ввода четырехразрядного кода. Пусть выбран канал №1. Вводимый с клавиатуры четырехразрядный код, микроконтроллер индицирует на дисплее и записывает в ОЗУ.

После ввода пятого разряда (после ввода четвертого разряда нужно нажать любую кнопку из S1...S6), микроконтроллер побайтно сравнивает его с четырехразрядным кодом, записанным в EEPROM - памяти микроконтроллера (будем называть этот код - эталонным).

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

Через пять секунд микроконтроллер выключает механизм открывания замка (устанавливает лог. 1 на выводе 11 микроконтроллера) и обнуляет на дисплее разряды вводимого кода.

Если вводимый код не совпал с эталонным кодом, то микроконтроллер сразу обнуляет дисплей (на дисплее индицируется число 00001) и не изменяет состояние выходного сигнала канала. Целесообразно, чтобы доступ к кнопке S8 был ограничен.

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

В обработчике прерывания таймера ТО осуществляется: процедура опроса кнопок S1...S8, функционирование динамической индикации, перекодировка двоичного числа в код для отображения информации на семисегментнных индикаторах устройства, а так же временной интервал длительностью пять секунд, необходимый для изменения выходных сигналов каналов (установка сигнала уровня лог. 0 на выводах соединителя Х1) и процедуры записи и чтения набранного кода в EEPROM-память микроконтроллера.

В ОЗУ микроконтроллера с адреса $60 по адрес $64 организован буфер отображения для динамической индикации. По адресу $60 находится число, определяющее номер канала. С адреса $61 по адрес $64 - вводимый код.

Эталонный код из EEPROM микроконтроллера переписывается в ОЗУ микроконтроллера по адресам с $66 по адрес $69. Флаги, задействованные в программе, находятся в регистрах R19 (flo) и R25 (flo1). Разработанная программа на ассемблере занимает порядка 0,7 Кб памяти программ микроконтроллера.

Применены резисторы типа С2-ЗЗН подойдут любые другие с такой же мощностью рассеивания и погрешностью 5 %. Конденсаторы С1... С5, типа - К10-17а, С5 - К50-35.

Соединитель Х1 типа HU-10 (ответная часть - розетка WF-10). Соединитель Х2 типа WF-2 (ответная часть - розетка HU-2). Конденсатор С4 устанавливается между цепью +5V и общим проводником регистра DD1, соответственно конденсатор С5 устанавливается между цепью +5V и общим проводником микроконтроллера DD1. Индикаторы HG1...HG4 типа HDSP-F501 зеленого цвета.

Схема включения соленоида для втягивания ригеля (задвижки) замка приведена на рисунке 2. Схема построена на базе транзистора 2Т825А2 (максимальный ток коллектора до 15 А, корпус ТО-220) и транзисторной оптопары ЗОТ10Б. Напряжение питания 24В. Конденсаторы С1, типа К50-35.

Схема включения соленоида для втягивания ригеля (задвижки) замка

Рис. 2. Схема включения соленоида для втягивания ригеля (задвижки) замка.

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

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

Устройство для создания эффекта присутствия

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

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

Принципиальная схема предлагаемого реле времени (далее устройство) на базе микроконтроллера ATtiny2313 представлена на рис. 3.

Принципиальная схема реле времени на базе микроконтроллера ATtiny2313

Рис. 3. Принципиальная схема реле времени на базе микроконтроллера ATtiny2313.

Рассмотрим основные функции данного устройства. В устройстве предусмотрено два режима работы: режим задания параметров - режим №1 и рабочий режим - режим №2. Временная диаграмма рабочего цикла устройства в рабочем режиме приведена на рис. 4.

В режиме № 1 (режим задания параметров) с клавиатуры устройства задаются значения интервалов включения Т1 и выключения Т2. В режиме №1 запрещен счет времени, нагрузка подключаемая к соединителю Х1 устройства - отключена. В устройстве предусмотрено задание интервалов Т1 и Т2, как в минутах так и в секундах в диапазоне от 999 до 1, с дискретностью 1. Визуально Т1 и Т2 поочередно, можно контролировать на трех разрядном дисплее.

Диапазон задания Т1 и Т2 позволяет применить предлагаемое устройство для реализации эффекта присутствия. В режиме № 2 (рабочий режим) идет обратный отсчет заданных интервалов Т1 и Т2 в рабочем цикле. В интервале времени Т2 ключ на транзисторе VT1 - закрыт, нагрузка отключена. В интервале времени Т1 - ключ на транзисторах VТ1 - открыт.

Периодически, один раз в секунду, мигает точка h индикатора HG3. Подробнее рабочий цикл устройства будет приведен дальше.

Канал управления нагрузкой собран на транзисторах VT1. Канал управляется с вывода 11 микроконтроллера DD1. С порта РВ микроконтроллер DD1 управляет клавиатурой (кнопки S1...S8) и динамической индикацией.

Динамическая индикация собрана на транзисторах VT2...VT4, цифровых семисегментных индикаторах HG1...HG3. Резисторы R6...R13 токоограничительные для сегментов индикаторов HG1...HG3.

Коды для включения индикаторов HG1...HG3 при функционировании динамической индикации поступают на вход РВ микроконтроллера DD1. Для функционирования клавиатуры задействован вывод 7 микроконтроллера DD1.

Интерфейс управления и контроля устройства содержит клавиатуру (кнопки S1...S8), и блок индикации (дисплей) из трех цифровых семисегментных индикаторах HG1 ...HG3, индикаторы HL1, HL2.

Элементы интерфейса управления и контроля имеют следующее назначение:

  • S1 ( Л ) - увеличение на единицу значения, индицируемого на дисплее, при установке времени в минутах (секундах), при удержании данной кнопки в нажатом состоянии более 5 секунд, значение времени индицируемое на дисплее увеличивается на 5 единиц за 1 секунду;
  • S2 ( V ) - уменьшение на единицу значения, индицируемого на дисплее, при установки времени в минутах (секундах), соответственно при удержании данной кнопки в нажатом состоянии более 5 секунд, значение времени индицируемое на дисплее уменьшается на 5 единиц за 1 секунду;
  • S3 (С) - (Старт/стоп). Кнопка запус-ка/останова устройства в режиме №2. В рабочем цикле (который периодически повторяется) идет обратный отсчет заданных интервалов времени Т1 и Т2, с первым нажатием данной кнопки нагрузка подключается к сетевому напряжению, идет обратный отсчет заданного интервала Т1.
  • S4 ( Р) - (Режим). Кнопка выбора режима работы: режим №1 или режим №2.
  • S5 ( В1) - (Выбор). Кнопка выбора интервалов Т1 или Т2.
  • S6 (В2) - (Выбор ) Кнопка выбора временного режима работы: минуты или секунды.
  • S7 (О) - (Обнуление). Кнопка экстренного обнуления заданных параметров Т1 и Т2 и выключения нагрузки.
  • S8 (В3) - (Вкл.уВыкл). Кнопка принудительного (ручного) включения/выключения нагрузки, вне зависимости от того, в каком режиме находится устройство, каждое нажатие данной кнопки меняет состояние нагрузки на противоположное. Данная кнопка необходима при проверки работоспособности канала управления нагрузкой, а так же для включения нагрузки в режиме №2, в интервал времени Т2.
  • HL1 - индикатор режима работы устройства: HL1 горит - режим №2, HL1 погашен - режим №1.
  • HL2 - индикатор интервалов Т1 и Т2. Если HL1 горит, то на дисплее индицируется интервал Т1, Если HL1 погашен, то на дисплее индицируется интервал Т2.

Разряды индикации интерфейса имеют следующее назначение:

  • 1 разряд (индикатор HG3) отображает “единицы минут” (“единицы секунд”) интервалов Т1 и Т2;
  • 2 разряд (индикатор HG2) отображает “десятки минут” (“десятки секунд”) интервалов Т1 и Т2;
  • 3 разряд (индикатор HG1) отображает “сотни минут” (“сотни секунд”) интервалов Т1 и Т2 .

Чтобы “запустить” устройство, необходимо задать интервалы Т1, Т2, перевести его в режим №2 и нажать кнопку S3 ( С).

Временная диаграмма рабочего цикла устройства в рабочем режиме

Рис. 4. Временная диаграмма рабочего цикла устройства в рабочем режиме.

Сразу после подачи питания на выводе 1 микроконтроллера DD2 через RC-цепь (резистор R14, конденсатор С3) формируется сигнал системного аппаратного сброса микроконтроллера DD1.

Инициализируются регистры, счетчики, стек, таймер Т/С1, сторожевой таймер, порты ввода/вы-вода. При инициализации ключ на транзисторах - отключен. На индикаторах HG1...HG3 индицируются нули. Индикатор HL1 - погашен. Индикатор HL2 - горит.

Задача по формированию точных временных интервалов длительностью 1 с, решена с помощью прерываний от таймера Т/С1, и счетчика на регистре R20. Счетчик на регистре R21 формирует интервал в одну минуту. Таймер Т/С1 формирует запрос на прерывание через каждые * 3900 мкс.

Счетчики на данных регистрах , подсчитывают количество прерываний и через каждую минуту, устанавливается флаг (PUSK), и текущее время декрементируется. Через каждые * 3900 мкс происходит отображения разрядов в динамической индикации устройства.

Программа состоит из трех основных частей: инициализации, основной программы, работающей в замкнутом цикле и подпрограммы обработки прерывания от таймера Т/С1 (соответственно метки IN IT, SE1.TIM0).

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

В памяти данных микроконтроллера с адреса $060 по $065 организован буфер отображения для динамической индикации. По адресам $060...$062 хранится текущее значение интервала Т1. Заданное значение интервала Т1 хранится по адресам $066...$068.

Соответственно, по адресам $063...$065 хранится текущее значение интервала Т2. Заданное значение интервала Т2 хранится по адресам $069... $06В. Текущие значения интервалов Т1 и Т2 с адресов $060...$062 и $063...$065 (значения которые задаются с помощью кнопок S1, S2) переписываются соответственно по адресам $066...$068 и $069...$06В, сразу после нажатия на кнопку S3 ( С).

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

Одновременно запускается счетчик выполненный на R1, формирующий интервал 5 сек. Если кнопка удерживается более 5 секунд, значение времени, индицируемое на дисплее увеличивается на 5 единиц за 1 секунду.

Интервал времени в течении которого происходит увеличение времени организован на регистре R0. При отпускании кнопки S1 все вышеуказанные счетчики обнуляются.

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

При нажатии на кнопку S2 текущее значение времени на дисплее уменьшается на единицу. Если кнопка удерживается более 5 секунд, значение времени, индицируемое на дисплее уменьшается на 5 единиц за 1 секунду.

Счетчики приведенного алгоритма для кнопки S2 организованы соответственно на регистрах R3 и R2. Вышеуказанный алгоритм работы кнопок S1 и S2 в устройстве применим как к интервалу Т1, так и к Т2.

На R22 (catod) организован регистр знакоместа. При инициализации в R1 загружается число 1. в Y-регистр загружается начальный адрес буфера отображения $060. При этом на дисплее будет включен разряд “единицы минут” (“единицы секунд”).

При каждом обращении к подпрограмме обработки прерывания содержимое регистра R22 сдвигается влево на один разряд, а У - регистр инкрементируется. Понятно, что как только 1 будет в третьем разряде регистра R22, то все разряды будут выбраны, при этом опять в R22 нужно загрузить единицу, а в Y-регистр начальный адрес буфера отображения.

Каждый байт из буфера отображения, в подпрограмме обработки прерывания таймера Т/С1, после перекодировки выводится в порт РВ микроконтроллера DD1. Для включения индикаторов HG1...HG3 необходимо установить лог. 0 на выводах 2, 3, 6 микроконтроллера DD1 соответственно.

Так например, для того чтобы на индикаторе HG3 индицировалась ”1”, необходимо двоично-десятичное число расположенное в оперативной памяти по адресу $060 перекодировать, вывести в порт РВ микроконтроллера и установить лог. 0 на выводе 2 микроконтроллера DD1.

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

Младшая тетрада выводимого при этом в порт В микроконтроллера байта для клавиатуры представляет собой код “бегущий ноль”. После записи данного байта в порт В, микроконтроллер DD1 анализирует сигнал на входе 7 (PD.3).

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

Алгоритм работы устройства в рабочем цикле следующий. Пусть устройство работает в режиме секунд. После подачи питания необходимо с клавиатуры интерфейса в режиме №1 задать необходимые параметры работы устройства - интервалы включения Т1 и выключения Т2.

Данные параметры индицируются на дисплее (индикаторы HG1...HG3). Далее необходимо перейти в режим №2. Устройство переходит в рабочий цикл сразу после нажатия на кнопку “Старт/стоп” (S3) в режиме №2, при этом индикатор HL1 - загорается. Периодически, один раз в секунду, мигает точка h индикатора HG3. Микроконтроллер DD1 устанавливает лог.

0 на выходе 11. Время (интервал включения Т1) индицируемое на дисплее декрементируется с каждой секундой. Как упоминалось выше интервал включения Т1 (текущее значение) хранится в памяти данных по адресам $060...$062. Как только оно станет равно нулевому значению, микроконтроллер устанавливает лог. 1 на выходе 11. При этом закрывается транзисторы VT1. Нагрузка отключается.

Индикатор HL1 -гаснет. Заданное значение Т1 переписывается с адресов $066...$068 на адреса $060...$062. Теперь дисплей индицирует первоначальное заданное значение времени равное интервалу выключения Т2, которое хранится по адресам $063...$065. Нагрузка будет отключена в течении времени равному интервалу выключения. Теперь, время индицируемое на дисплее (Т2) декрементируется с каждой секундой. И как только оно станет равно нулевому значению микроконтроллер устанавливает лог.

0 на выходе 11. Транзисторы VT1-открывается. Нагрузка - включена. Индикатор HL1 - загорается. Заданное значение Т2 переписывается с адресов $069... $06В на адреса $063...$065

На дисплее снова индицирует первоначальное заданное значение времени равное интервалу включения Т1. Рабочий цикл завершен. Далее все периодически повторяется.

Устройство работает совершенно аналогично в режиме: минуты.

В данном режиме интервалы Т1 и Т2 декрементируются с каждой минутой. Но точка h индикатора HG3 все равно мигает периодически, один раз в секунду. Разработанная программа на ассемблере занимает порядка 0,54 «Байт памяти программ микроконтроллера.

Потребление тока по каналу напряжения:+5 В, не более 100 мА. Конденсаторы С1...С5 типа К10-17а. Конденсатор С6 типа К50-35. Данный конденсатор устанавливаются между цепью +5V и общим проводником микроконтроллера DD1.

В схеме применены резисторы типа С2-ЗЗН-0.125.

Схема охранного устройства

Принципиальная схема охранного устройства (далее устройство) приведена на рисунке 5.

Принципиальная схема охранного устройства на микроконтроллере ATMega8535-16PI

Рис. 5. Принципиальная схема охранного устройства на микроконтроллере ATMega8535-16PI.

Конструкция предполагает в устройстве наличие платы контроллера и внешние элементы. Внешними (выносными) элементами по отношению к плате контроллера и ко всему устройству, являются 24 концевых выключателя - датчиков (S1... S24), которые позволяют контролировать состояние 24 дверей. Один концевой выключатель контролирует состояние одной двери.

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

Индикатор - периодически мигает. Если дверь закрыта - концевой выключатель разомкнут. Индикатор - не горит (погашен). Пусть концевой выключатель S1 установлен в двери № 1. Пусть концевой выключатель S2 установлен в двери № 2 и т. д. Если открыта дверь № 1, то периодически мигает индикатор HL2 (если дверь № 1 закрыта индикатор HL2 - погашен).

Если открыта дверь № 2, то периодически мигает индикатор HL3 (если дверь № 1 закрыта индикатор HL3 - погашен) и т. д. Автор, не будет останавливаться на каком-то конкретном конструктивном исполнении установки концевого выключателя, а так же конструкции самого устройства.

В интерфейс контроля и управления платы контроллера входят: тумблеры SA1, SA2 (рис. 2), индикаторы HL1...HL25. Конструктивно, все вышеуказанные элементы целесообразно разместить на отдельной панели управления. Рассмотрим работу платы контроллера. Схема платы контроллера выполнена на базе микроконтроллера ATmega8535-16PI.

Элементы интерфейса управления платы контроллера имеют следующее назначение:

  • SA1 (ОХРАНА) - тумблер сигнализации. При установке данного тумблера в положение ”ВКЛ” -устройство ставится под охрану. Устройство ставится под охрану, через - 10 сек. с момента установки тумблера SA1 в положение ”ВКЛ” из положения ”ВЫКЛ”. После установки под охрану, сигнализация срабатывает через - 10 сек с момент замыкания любого концевого выключателя S1...SA24.
  • SA2 - тумблер выключения звука. Данный тумблер функционирует только в режиме контроля состояния дверей. Тумблер SA1 должен быть установлен в положении ”ВЫКЛ”. При установке тумблера SA2 в положение ”ВКЛ” при открытии любой двери пьезоэлектрическим излучатель ВА1 сразу выдаст звуковой сигнал, длительностью - 2 сек.Если данный тумблер в положение ”ВЫКЛ”, то при открытии любой двери, будет периодически мигать только соответствующий индикатор, пьезоэлектрическим излучатель ВА1 -будет выключен.
  • HL1 - индикатор активации режима охраны. Если устройство находится в режиме ’’охрана”, данный индикатор - горит, если в режиме ” контроль состояния дверей” данный индикатор - погашен.

Сигнализация срабатывает - это значит: на выводе 14 микроконтроллера постоянно присутствует сигнал уровня лог.0. Пьезоэлектрическим излучатель ВА1 - включается и выключается с периодом - 1 сек. Для выключения сигнализации необходимо тумблер SA1 платы контроллера установить в положение ”ВЫКЛ”.

Рассмотрим основные, функциональные узлы принципиальной схемы платы контроллера. Основой устройства служит микроконтроллер DD1, рабочая частота которого задается генератором с внешним резонатором ZQ1 на 10 МГц. К порту PD микроконтроллер DD1 подключены тумблеры SA1, SA2, индикатор HL1.

С данного порта так же управляются пьезоэлектрический излучатель ВА1, и реле К1 платы исполнительных устройств. К портам РВ, РА, PC микроконтроллера DD1 подключены концевые выключатели S1...S24 и индикаторы HL2...HL25. Питание на данные индикаторы поступает через ключ на транзисторе VТ3, который управляется с вывода 21 микроконтроллера DD1.

Резисторы R6...R13, R16...R23, R24... R31 - токоограничительные для индикаторов HL2...HL25. Резистор R4 - токоограничительный для индикатора HL1. Питающее напряжение +5В поступает на устройство с соединителя Х1.

Конденсатор С1 фильтрует пульсации в цепи питания +5 В. Блокировочный конденсаторы С2 стоит по цепи питания микроконтроллера DD1.

В алгоритме работы всего устройства можно выделить два режима работы: режим контроля состояния дверей и режим охраны. Рассмотрим вышеуказанные режимы на примере одной платы контроллера. Алгоритм работы в режиме контроля состояния дверей, следующий. Пусть все двери охраняемого объекта закрыты. Тумблер SA1 в положении “ВЫКЛ”.

Тумблер SA2 в положении “ВКЛ”. После подачи питания на устройство, при инициализации во все разряды портов РВ, РА, PC микроконтроллера DD1 записываются лог. 1. Сигнал ”Исп. устр.” - уровня лог. 0., индикатор - HL1 -погашен. Индикаторы HL2...HL25 - погашены.

Концевые выключатели S1...S24 -разомкнуты. С вывода 21 микроконтроллера DD1 генерируется периодический сигнал (меандр) с периодом порядка 1 с. Если, открыть дверь № 1, включится концевой выключатель S5.

Индикатор HL2 будет периодически мигать с периодом - 1 сек. Пьезоэлектрический излучатель ВА1 платы исполнительных устройств, выдаст звуковой сигнал длительностью - 3 сек.

Если, открыть дверь № 2, включится концевой выключатель S6. Индикатор HL2 будет периодически мигать с периодом - 1 сек.

Пьезоэлектрический излучатель ВА1 выдаст звуковой сигнал длительностью - 2 сек и т. д. Если установить тумблер SA2 в положении “ВКЛ”, то при замыкании любого концевого выключателя (при открывании любой двери) будет только мигать соответствующий индикатор.

Рассмотрим работу в режиме охраны. Пусть все двери охраняемого объекта закрыты. Тумблер SA1 установлен в положении “ВЫКЛ”. Устройство переходит в режим охраны, через -10 сек с момента установки тумблера SA1 в положении “ВКЛ”. За это время необходимо закрыть все двери и покинуть охраняемый объект.

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

Если в режиме охраны включится любой из концевых выключателей S1...S24 (будет открыта любая дверь) при этом на соответствующем выводе портов РВ, РА, PC микроконтроллера DD1 будет присутствовать сигнал уровня лог.0. то через - 10 сек. включится звуковая сигнализация (пьезоэлектрический излучатель ВА1 платы исполнительных устройств).

При этом на выводе 14 микроконтроллер DD1 установит уровень лог.0. Если на охраняемый объект проникает ’’свой”, то ему необходимо за - 10 сек и установить тумблер SA1 в положении “ВЫКЛ”, иначе сработает сигнализация.

Понятно, что доступ к тумблеру SA1 платы контроллера. Сигнализация включится и в том случае если любой из концевых выключателей S1...S24 включится на короткое время (например, закрыть и тут же закрыть дверь).

Выходные сигналы с соединителя Х1: “Исп. уст.” , “Звук” можно использовать для замыкания цепей управления или питания различных исполнительных устройств, например для механизма блокировки дверей или для включения сирены (ревуна).

Разработанная программа на ассемблере занимает порядка 0,4 Кбайт памяти программ микроконтроллера DD1. Разобравшись в программе можно заменить установленные программно параметры устройства: период мигания индикатора HL1; длительность звукового сигнала пьезоэлектрического излучателя ВА1 в режиме контроля состояния дверей; время постановки устройства под охрану, а так же время задержки на включение сигнализации.

В устройстве использованы резисторы С2-ЗЗН-0.125, подойдут любые другие с такой же мощностью рассеивания и погрешностью 5 %. Конденсатор С1 типа К50-35. Конденсатор С2...С5 типа К10-17а. Конденсатор С2 устанавливаются между цепью +5V и общим проводником микроконтроллера DD1. Концевые выключатели можно подобрать совершенно любые под каждый конкретный случай.

Это может быть кнопка типа ПКН124, или например, влагозащищенный выключатель путевой типа ВПК2111. Тумблеры SA1...SA2 типа МТД1.. Пьезоэлектрический излучатель ВА1 типа НРМ14АХ. Индикатор HL1 - АП307АМ, красного цвета. Индикатор HL1 можно заменить на любой другой, желательно, с максимальным прямым током до 20 мА.

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

Прошивки и исходный код программ для МК - Скачать (КБ).

Шишкин С. РК-2017-03.

1 234 На микроконтроллерах
таймер сигнализация охранное устройство avr микроконтроллер микроконтроллер
cashback