Введение
1 Анализ требований и разработка концепции 8
1.1 Анализ рекомендуемых параметров микроклимата 8
1.2 Разработка концепции проекта 9
1.3 Описание процессов 10
1.3.1 Определение оптимальных параметров 10
1.3.2 Управление средствами контроля 13
1.4 Анализ существующих решений 15
1.4.1 MimiSmart 15
1.4.2 Бестрон 18
1.4.3 Insyte 19
1.4.4 Резюме по коммерческим решениям 21
1.4.5 Некоммерческие решения 22
1.4.6 Особенность данной работы 22
1.5 Требования к системе 24
1.5.1 Функциональные требования 24
1.5.2 Прочие требования 25
1.6 Модель использования системы 25
1.7 Концепция проекта 27
2 Разработка управляющей программы 30
2.1 Реализация искусственной нейронной сети 30
2.1.1 Сигмоидальный нейрон 31
2.2 Обучение сети 32
2.2.1 Метод обратного распространения ошибки 32
2.2.2 Предварительное обучение 33
2.3 Имитационное моделирование 34
2.3.1 Имитация пользователя 35
2.3.1 Итоги тестирования 35
2.4 Учёт замедленной реакции среды 36
3 Реализация на базе контроллера Arduino 37
3.1 Датчики 38
3.1.1 DHT11 - датчик температуры и влажности 38
3.1.2 MQ2 - датчик широкого спектра газов 40
3.2 Принципиальная схема 41
3.3 Дополнительные сведения 41
ЗАКЛЮЧЕНИЕ 42
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 44
ПРИЛОЖЕНИЕ А Листинг основной программы 45
Основное тело программы (SmartRoom.ino) 45
Класс данных с датчиков (SensorData.h и SensorData.cpp) 49
Класс нейрона (Neuron.h и Neuron.cpp): 52
Класс нейронной сети (NeuralNetwork.h и NeuralNetwork.cpp) 53
ПРИЛОЖЕНИЕ Б Листинг программы предварительного обучения 57
Главная форма приложения (MainForm.cs) 57
Класс нейронной сети (NeuralNet.cs) 59
Обобщённый класс нейрона (Neuron.cs): 61
Класс сигмоидального нейрона (Sigmoid.cs): 63
ПРИЛОЖЕНИЕ В Технические характеристики Arduino UNO 65
Возможность объединить все действующие в каком-либо здании системы (пожарная безопасность, охрана, замки, вентиляция, отопление, свет и т. д.) в единую систему управления возникла даже раньше, чем вычислительные устройства получили широкое распространение: сначала в режимных объектах, затем в производстве. Однако по мере проникновения сложной электроники в повседневный быт подобные системы стали всё чаще создаваться для жилых помещений. Такие управляющие системы получили обобщённое название «умный дом» («smart home»).
На данный момент не существует полностью унифицированной, не нуждающейся в настройке системы, так как каждое частное жилое помещение обладает своими собственными, отличными от остальных устройствами. Тем не менее, немало компаний продают необходимые компоненты и предлагают услуги по установке и настройке «умного дома»: ABB, Clipsal, Crestron и другие.
Отдельно стоит упомянуть типовые разработки, позволяющие собрать управляющую систему самостоятельно. В данной работе реализован необязательный компонент подобной системы: управление микроклиматом.
Микроклимат помещения - это комплекс метеорологических условий в помещении: температура, относительная влажность, количество аэроионов, воздухообмен, скорость движения воздуха, содержание в воздухе твердых частиц (пыли), наличие приятных запахов (ароматерапия) и др. (ГОСТ 30494 2011 «ЗДАНИЯ ЖИЛЫЕ И ОБЩЕСТВЕННЫЕ. ПАРАМЕТРЫ МИКРОКЛИМАТА В ПОМЕЩЕНИЯХ»)
Неблагоприятный микроклимат, при продолжительном действии, оказывает кумулятивное негативное действие на здоровье человека, сравнимое с длящимся стрессом. Страдают защитные силы организма, снижается иммунитет - возрастает риск заболеваемости вирусными и бактериальными инфекциями, заболеваниями воспалительного характера.
Плохой сон, упадок сил, раздражительность - это, нередко, результат плохих микроклиматических условий.
Системы управления микроклиматом являются составной частью более общих систем управления жилыми помещениями, широко известных под общим названием «умный дом». Системы «умный дом» могут быть реализованы по-разному, но принцип организации их работы один и тот же:
1) С помощью датчиков и обратной связи регистрируется текущее
состояние помещения: температура, отсутствие возгораний, охраняемость;
2) Данные поступают в центральный блок управления, который принимает решение о регулировке состояния на основе правил, заложенных пользователем и производителем (нормы, расписание);
3) Этот же блок определяет способ воздействия на помещения с использованием подключённого оборудования (кондиционера, портьер, сигнализации);
4) В случае необходимости данные отправляются пользователю тем или иным образом;
5) Цикл непрерывно повторяется.
Подобные системы не являются инновационными, существует множество разработок в этой области. Более того, сборка «умного дома» именно на основе контроллера Arduino является широко распространённым бюджетным решением. Оно хорошо оправдывает себя, когда отдельные части системы - оборудование, датчики - не объединены никакими стандартами.
Однако объектом данной работы является не сборка готовой системы регуляции микроклиматом как таковой, а разработка интеллектуальной системы управления для неё. В отличие от типовой системы управления, где оптимальные параметры прямо указываются пользователем при настройке, данная разработка должна обладать способностью автоматически определять, какие состояния оптимальны в тот или иной момент времени, для данного помещения и данных пользователей. При этом возможность непосредственно указать режим работы отсутствует. Вместо этого система управления ориентируется на действия пользователя в помещении (открытие окон, например), самостоятельно обучаясь и подстраивая свою работу под того, кто её использует. Образно говоря, «система сама включит обогреватель в случае, если бы я сам хотел его включить, даже если я не знаю, при какой температуре и влажности мне станет холодно». Также стоит учесть, что оптимальные показатели могут существенно отличаться для дневного и ночного времени.
Такая система не нуждается ни первоначальной настройке, ни в её ручной корректировке в случае, когда жилец меняется. Она могла бы применяться, например, для больничной палаты общего назначения, поддерживая в ней благоприятный климат и автоматически подстраиваясь под каждого нового постояльца.
Подводя итог, была разработана система, способная в теории регулировать микроклимат помещения, подстраиваясь под пользователя и обстоятельства, и не требующая явной настройки или перенастройки. Отличие от типовой системы в данной области заключается в способности самостоятельно оценивать наиболее оптимальное целевое состояние микроклимата в той или иной ситуации.
Проведённое имитационное моделирование говорит в пользу этой теории, а работоспособность основной концепции может быть продемонстрирована на макете, собранном на Arduino.
Нейронная сеть в качестве основного алгоритма оценки показала себя хорошо, но не безукоризненно. Остаётся теоретическая возможность переобучения (чрезмерного влияния обучения на структуру сети) в критических случаях, хотя зарегистрированы такие случаи не были.
Предполагается, что подобная разработка может быть использована для создания подсистемы климат-контроля, включённой в систему типа «умный дом». В таком случае она хорошо бы подошла помещений, которые эксплуатируются часто, либо для тех, в которых регулярно сменяется основной пользователь: например, для больничной палаты общего пользования. Для менее требовательных случаев регуляции микроклимата (теплиц, камер хранения и т. п.) подобная система является излишней и даже неудобной в использовании.
В данной работе число датчиков и выходов было строго ограничено, но нет препятствий в том, чтобы расширить систему до любого масштаба. Но создать демонстрационный макет на базе тех же технологий для большего масштаба будет затруднительно.
Тем не менее, с учётом вышеперечисленного и в результате сравнения данной разработки с аналогами можно прийти к выводу, что это исследование будет хорошим подспорьем в создании индивидуальной некоммерческой реализации «умного дома».
Особо стоит отметить, что выбранные средства разработки и прототипирования показали себя с самой лучшей стороны, позволив легко реализовать задуманный концепт.
Остаётся ещё широкое поле для оптимизаций. Например, во избежание слишком резких изменений в работе оборудования (постоянно открывающегося/закрывающегося окна) есть смысл регистрировать не мгновенные показания датчиков, а усреднённые за некоторый период. («алгоритм скользящего окна»). Также, для плавной регулировки мощности можно использовать пропорционально-интегрально-дифференцируемое управление, первоначально предусмотренное концептом. Обе эти возможности были опущены во время разработки, так как явно повредили бы наглядности демонстрационного макета своей неторопливой реакцией на раздражители.
Кроме того, возможно, подача на вход нейронной сети некоторых производных от показаний датчиков - скорость прироста температуры/влажности/загазованности - могла бы помочь регистрировать совсем неявные зависимости, например: «заранее открыть окно, если в комнате прибавилось людей» или «включать «тёплый пол» в усиленный режим во время утренней зарядки». Проверить эту гипотезу трудно без реального внедрения.