Разработка программно-аппаратного комплекса домашней автоматизации
Объект исследования: автоматизированная система управления жизнеобеспечением жилых и производственных помещений.
Результаты, полученные лично автором:
- Рассмотрены модели АСУ и произведен выбор оптимального аппаратного и программного обеспечения для реализации поставленной задачи с учётом специфики применения
- Изготовлены узлы и аппаратные модули для данного проекта, написано ПО среднего и низкого уровня;
Любое здание состоит из набора подсистем, отвечающих за выполнение определенных функций, которые решают различные задачи в процессе функционирования этого здания. Развитие этих подсистем приводит к увеличению количества выполняемых ими функций, управление ими становится все более трудоемким. Современные требования к комфортности среды обитания приводят к сложному инженерное оснащению, однако развитие микропроцессорной электроники и телекоммуникационной инфраструктуры позволяет поднять уровень безопасности и комфорт благодаря быстроте, точности и надёжности управления современным жизнеобеспечением.
В данной работе поставлена цель — разработка и создание универсальной распределенной АСУ, имеющую трехуровневую структуру, что в свою очередь служит базовой платформой для осуществления любой задачи автоматизации. В качестве реализации данной задачи используется программно-аппаратный комплекс на базе микроконтроллеров семейства ATmega и среды программирования С/С++.
Список подсистем «умного дома», подлежащих автоматизации в данном проекте:
¾ Управление освещением.
Автоматическое управление, экономия электроэнергии и ресурса ламп, включая свет тогда и где это нужно (при движении, при недостаточной освещённости, по сценарию).
¾ Отопление и вентиляция.
Дистанционное управление газовым котлом, заслонками теплых полов (зимой) и кондиционером (летом). Снижение температуры в системе отопления при отсутствии людей в помещении и восстановление ее перед их приходом. Включение вентиляции только там, где есть люди (по расписанию) или по датчику углекислого газа и влажности.
¾ Метеостанция.
Опрос и отображение информации с датчиков температуры, давления, освещенности. Использование этих данных для автоматического управления климатом и освещением.
¾ Электроснабжение (розетки, счетчик). Мониторинг расхода электроэнергии. Удаленное управление питанием приборов (например, отключить забытый дома утюг). Автоматически отключать электричество при пожаре или затоплении.
¾ Водоснабжение. Снимать и отправлять показания счетчиков, вести статистику. Перекрывать воду в случае протечки или повышенного давления в системе (чтобы не прорвало трубы).
¾ Системы безопасности. Датчики углекислого, природного газа, дыма, протечки, движения, проникновения и т.д. Можно использовать и в целях охраны, и в целях автоматизации.
¾ Удаленное управление и телеметрия посредством СМС (GSM-модем), Web-интерфейса.
Рассмотрим трехуровневую структуру АСУ домашней автоматизации:
1. На верхнем уровне используется ПК с ОС Windows и установленным ПО (SCADA), что обеспечивает интерфейс пользователя - HMI, архивацию данных - HDA, сообщения - Alarm&Events.
2. На среднем уровне МК ATmega2560 – обеспечивает централизованное управление всеми узлами и модулями. Для управления множеством задач необходимо обеспечить гарантированное выполнение каждой из них за определенное (жестко заданное – 10 мс) время. Что достигается использованием флагового автомата, диспетчера задач или RTOS. Также на этом уровне используется HMI-панель Nextion для оперативного отображения информации и управления, не задействуя верхний уровень SCADA.
3. Низкий уровень представлен вспомогательными (подчиненными) автономными МК ATmega328 (МК метеоданных, МК по комнатам, МК сигнализации), которые опрашивают входные данные с датчиков, и управляют выходными данными – реле освещения и розеток, диммеры, э.м.клапана, электродвигатели.
При проектировании электронных систем необходимо учитывать ГОСТ Р 50628-2000 (электромагнитная совместимость) по возможным помехам в питающей сети 220 В, возникающих при эксплуатации электроприборов, коммутации индуктивной и емкостной нагрузки.
В частности, необходимо использовать:
¾ LC – фильтры (против импульсов с высоким dU/dt);
¾ TVS–диоды (гашение выбросов напряжения);
¾ ограничивать силу тока в цепях, как питания, так и управления,
¾ подключение общего провода в одной точке,
¾ для связи МК между собой применять гальванически развязанные (например, оптоизолированные) каналы связи.
При написании программы управления МК используется С++ с классами, что позволяет описать общие базовые системы с последующей реализацией конкретных экземпляров (объектов) класса системы в нужный момент времени. А также проводить конструирование из «компонент», обладающих необходимыми свойствами и методами, которые дают возможность абстрагироваться от деталей реализации. Использование С++ улучшает наглядность и удобство сопровождения программного обеспечения, а также защищает наиболее критичные данные от несанкционированного доступа.
В качестве коммуникационного интерфейса на физическом уровне для обеспечения надежности, отказоустойчивости и гибкости системы, лежит общая шина, соединяющая каждое устройство в общую сеть. Для данного проекта используется шина RS-485 с преобразователями интерфейса UART от МК и USB со стороны ПК верхнего уровня.
На логическом уровне протокола обмена даннымиRS-485 используется ModBus RTU с некоторыми модификациями (упрощениями).
Формат команд управления имеет следующий вид (побайтово):
Начало | Ведущ/Ведом | Функция | Аргумент №1 | Аргумент №2 | CRC8 |
Особенности данного проекта:
1. Возможность гибкого изменения интерфейса программы управления (HMI);
2. Возможность добавления любого аппаратного модуля без изменения архитектуры (RS-485);
3. Открытость платформы для любой модификации (Open Source);
4. Использование языка С++ и среды разработки Visual Studio (для МК устанавливается плагин Visual Micro (http://www.visualmicro.com/);
5. Низкая цена и доступность компонентов.
Таким образом, при выполнении поставленной цели проекта:
- Рассмотрены различные модели и применены методы взаимодействия программно-аппаратного комплекса между человеком и машиной;
- Создана универсальная распределенная АСУ имеющую трехуровневую структуру (верхний, средний и нижний уровень);
- Изготовлены узлы и аппаратные модули для данного проекта, написано ПО среднего и низкого уровня.
Материал поступил в редколлегию 19.04.2017
УДК 004.42
Г.Н. Корнакова
Научный руководитель: доцент кафедры «Металлорежущие станки и инструмент», к.т.н., Д.В. Левый