Разработка программно-аппаратного комплекса домашней автоматизации

Объект исследования: автоматизированная система управления жизнеобеспечением жилых и производственных помещений.

Результаты, полученные лично автором:

- Рассмотрены модели АСУ и произведен выбор оптимального аппаратного и программного обеспечения для реализации поставленной задачи с учётом специфики применения

- Изготовлены узлы и аппаратные модули для данного проекта, написано ПО среднего и низкого уровня;

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

В данной работе поставлена цель — разработка и создание универсальной распределенной АСУ, имеющую трехуровневую структуру, что в свою очередь служит базовой платформой для осуществления любой задачи автоматизации. В качестве реализации данной задачи используется программно-аппаратный комплекс на базе микроконтроллеров семейства 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

Г.Н. Корнакова

Научный руководитель: доцент кафедры «Металлорежущие станки и инструмент», к.т.н., Д.В. Левый

[email protected]

Наши рекомендации