При возникновении прерывания таймера TMR2 производится подача импульса на триак VS4, длительность которой составляет 100 мкс. Этот импульс открывает данный триак, в результате чего нагрузка включается. Закроется триак лишь когда сетевое напряжение достигнет нулевого значения.
Значение ступени для импульсно-фазового управления заносится в таймер TMR2 при возникновении прерывания INT1. Данное прерывание происходит при переходе сетевого напряжения через нулевое значение.
Цикл основной программы состоит из следующих этапов:
чтение данных с термометра и АЦП;
Приём данных с ПК;
Передача данных на ПК;
Проверка наличия невыполненной команду ПДУ;
Анализ принятых данных и установка переменных в соответствии с ними;
Вывод данных на экран.
Цикл главной программы начинается с чтения данных цифрового термометра и АЦП, после чего производится приём данных. Если данные не поступают в течение 500 мс, значит соединение прервано, и весь цикл будёт начат заново. Формат принимаемых данных описан в таблице 6.1.6
После того как будут приняты все 10 байт, начинается передача 6 байт в ПК. Формат передаваемых данных приведен в таблице 6.1.5.
После того как обмен данными завершен, производится проверка наличия невыполненной команды с ПДУ. В том случае если таковая имеется, выполняется проверка правильности принятого пароля с паролем, считанным с ПК. В том случае если пароль верен, производится анализ принятой команды и ее выполнение.
Следующий этап главного цикла состоит в установке переменных в соответствии с данными, полученными с ПК. Здесь производится установка порогов срабатывания датчика и сравнение их с текущим значением. Если какой-либо датчик сработал, включается режим оповещения.
После обработки полученной информации, на экран выводится текущее состояние системы и температура. Затем весь цикл повторяется.
Таблица 6.1.5 – формат передаваемых данных в ПК.
№ | Название | Назначение |
1 | Address | Сетевой номер охранной системы |
2 | SENS1_STAT | 0 – флаг дверного датчика1 – флаг оконного датчика2 – флаг лазерного датчика3 – знак измеренной температуры объекта4 – десятая часть градуса температуры5 – была команда с ПДУ на вкл.\выкл. силового канала №16 – была команда с ПДУ на вкл.\выкл. силового канала №27 – была команда с ПДУ на вкл.\выкл. силового канала №3 |
3 | SENS2_STAT | 0 – флаг доп. датчика №11 – флаг доп. датчика №22 – флаг доп. датчика №33 – флаг доп. датчика №44 – флаг доп. датчика №55 – флаг доп. датчика №66 –была команда с ПДУ7 – была команда с ПДУ на переключение режима ОС |
4 | AD | Значение, полученное с аналогового датчика |
5 | TERMAL | Измеряемая температура объекта |
6 | ADD_BYTE | 0 – флаг “пароль не верен”1…7 – не используются |
Таблица 6.1.6 – Формат принимаемых данных с ПК.
№ | Название | Назначение |
1 | Address | Сетевой адрес охранной системы |
2 | HL_STAT | 0 – флаг состояния силового канала №11 – флаг состояния силового канала №22 – флаг состояния силового канала №33 – вкл.\выкл. режим охраны4 – отбой тревоги, очистка флагов5 – режим оповещения (мерцание\включение)6 – вкл.\выкл. дверной датчик7 – команда ПДУ передана на ПК |
3 | TERMAL_L | Нижний порог срабатывания термометра |
4 | TERMAL_H | Верхний порог срабатывания термометра |
5 | AD_VREF | Порог срабатывания аналогового датчика |
6 | SENSOR_MODE | 0 – вкл.\выкл. доп. датчик №11 – вкл.\выкл. доп. датчик №22 – вкл.\выкл. доп. датчик №33 – вкл.\выкл. доп. датчик №44 – вкл.\выкл. доп. датчик №55 – вкл.\выкл. доп. датчик № 66 – вкл.\выкл. оконный датчик7 – вкл.\выкл. лазерный датчик |
7 | DEF_PASS1 | 1 и 2 цифры устанавливаемого пароля |
8 | DEF_PASS2 | 3 и 4 цифры устанавливаемого пароля |
9 | DEF_PASS3 | 5 и 6 цифры устанавливаемого пароля |
10 | DEF_PASS4 | 7 и 8 цифры устанавливаемого пароля |
6.2 Разработка программы поддержки
Для создания удобного интерфейса управления ОС необходимо написать программу на ПК. Эта программа должна обеспечить наглядное отображение состояния всех подключенных датчиков, а также дать возможность управления режимами ОС. Для создания данной программы будем использовать визуальную среду программирования Delphi 7.0. При работе с последовательным портом необходим дополнительный компонент под названием “Comport”, который доступен в Интернете на сайте http://www.torry.ru. Программа должна иметь удобное управление, а также голосовое озвучивание событий.
Создание главной формы.
Главная форма программы изображена на рисунке 6.2.1. В верхней части формы расположены клавиши управления ОС.
Подключить – данная кнопка служит для установления связи с устройством.
Параметры – вызывает форму с настройками системы, изображённую на рисунке 6.2.2.
Отбой – отключает режим оповещения, сбрасывает флаги сработавших датчиков.
Помощь – Вызывает форму с описанием программы.
Закрыть – завершает связь с ОС и закрывает программу.
Рисунок 6.2.1 – основная форма программы
В правом верхнем углу главной формы отображается температура охраняемого объекта, ниже расположены кнопки вкл./выкл. датчиков, рябом с которыми отображается название датчика и его состояние. Если датчик включен, кнопка загорается зеленым цветом.
В верхнем левом углу отображается текущий режим ОС и расположена клавиша управления режимом. Когда ОС находится в режиме охраны, кнопка загорается красным светом.
В середине расположены кнопки для управления трёмя силовыми каналами. Если какой-либо канал включен, соответствующая кнопка загорается жёлтым цветом. В том случае, когда с ПДУ была команда на вкл./выкл. какого-либо канала, программа автоматически зажигает или гасит соответствующую кнопку.
Ниже расположена картинка, которая наглядно отображает текущее состояние (откл., вкл., тревога) ОС.
Меню настроек программы.
Здесь расположены все элементы управления программой.
ИК-ключ. Здесь вводится пароль, который сравнивается в паролем, выдаваемым с ПДУ. Если он совпадает, система воспринимает команды ПДУ. По умолчанию “12345678”.
Термометр\термостат. Здесь задаются верхний и нижний порог срабатывания цифрового термометра. По умолчанию соответственно “40” и ”10”.
Аналоговый датчик. Здесь задаётся пороговое значение, полученное с АЦП. Если считано значение выше заданного, выдаётся сигнал тревоги.
Тип сигнализации. Устанавливает режим оповещения: либо мерцание лампы на четвертом силовом канале, либо просто его включение. По умолчанию выбран пункт “свет”.
Период таймера. Необходим для точной настройки временных задержек программы под индивидуальный компьютер. По умолчанию 80 мс.
Справа расположены настройки звукового оповещения при различных событиях. Кроме этого, есть возможность переименования датчиков под конкретные условия применения ОС.
Рисунок 6.2.2 – окно настроек программы
При срабатывании одного из датчиков, превышения заданного значения температуры или разрыве связи раздаётся соответствующее звуковое сообщение и выводится окно предупреждения.
Рисунок 6.2.3 – окно предупреждения при разрыве связи.
6.3 Среда проектирования
Микроконтроллеры PICmicro обеспечены большим спектром аппаратных и программных инструментальных средств проектирования:
Интегрированная среда проектирования: Программное обеспечение MPLAB IDE.
Ассемблер/Компилятор/Линкер: Ассемблер MPASM; Компиляторы MLAB-C17 и MPLAB-C18; Линкер MPLINK/ Организатор библиотек MPLIB.
Симулятор:
Программный симулятор MLAB-SIM.
Эмуляторы:
Внутрисхемный эмулятор реального времени MPLAB-ICE; Внутрисхемный эмулятор PICMASTER/PICMASTER-CE; ICEPIC.
Внутрисхемный отладчик:
MLAB-ICD для микроконтроллеров семейства PIC16F87X.
Программаторы:
Универсальный программатор PRO MATE II; Недорогой программатор PICSTART для начала работы,
Недорогие демонстрационные платы:
SIMICE; PICDEMH;
PICDEM-2;
PICDEM-3;
PICDEM-17;
SEEVAL; KeeLoq.
Интегрированная среда проектирования MPLAB-IDE
Программное обеспечение MPLAB-IDE предназначено для разработки программного обеспечения 8-разрядных микроконтроллеров PICmicro, работающее под управлением операционной системы Windows. Основные характеристики MPLAB-IDE:
Многофункциональные возможности:
Редактор;
Симулятор;
Программатор (приобретается отдельно);
Эмулятор (приобретается отдельно). Полнофункциональный редактор. Организатор проекта.
Настройка панелей инструментов и параметров отображения. Строка состояния. Интерактивная помощь,
MPLAB-IDE позволяет:
Редактировать исходные файлы, написанные на языке ассемблера или С.
Быстро выполнять трансляцию и компиляцию проекта автоматически загружая параметры используемого микроконтроллера PICmicro.
Выполнять отладку программы с использованием: Исходных файлов; Листинга программы; Объектного кода.
Однотипная работа инструментальных модулей интегрированной среды проектирования MPLAB-IDE позволяет легко перейти от программного симулятора MPLAB-SJM к использованию полнофункционального эмулятора.
Ассемблер MPASM
MPASM - полнофункциональный универсальный макроассемблер для всех семейств микроконтроллеров PlCmicro, Ассемблер может генерировать шестнадцатиразрядный файл пригодный для записи в микроконтроллер или формировать перемещаемые объектные файлы для линкера MPLINK.