Опрос


Что для Вас Умный Дом?


Результаты

О надежности системы управления отоплением на базе компьютера

15/11/2009 21:44:00

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

  • Низкая надежность персонального компьютера
  • Избыточная вычислительная мощность
  • Высокая стоимость
  • Шум
  • Высокое энергопотребление

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

 

Низкая надежность.

Я, прежде всего, исхожу из того, что жилой дом, даже ультрасовременный, по сути является дальним родственником первобытных пещер, шалашей, землянок и прочих замков и крепостей. От того, что в доме вдруг перестанет работать свет, вода или даже отопление, в сию же секунду никто не умрет, да и вообще ничего страшного не случиться. Дом, выполненный согласно последним нормам по теплопроводности внешних стен, до нулевой температуры даже в самый лютый мороз будет остывать никак не меньше суток. Дом и системы дома не являются в этом смысле критически-важными системами жизнеобеспечения. Это не космический аппарат, АЭС или ГЭС, где необходимо закладывать тройную надежность. Хотя, как мы все прекрасно знаем, даже самые надежные системы дают сбой. В этом смысле я не вижу необходимости фанатично ставить надежность автоматизации дома во главу угла, главной целью, к которой следует стремиться. В то же время я не утверждаю, что об этом нужно совсем забыть. Вовсе нет. Но попробуем разобраться. В теории, чем сложнее и универсальнее система, тем больше она подвержена сбоям. Однако практика, как известно, главный критерий истины. Обычный персональный компьютер, собранный из самых доступных (made in China) комплектующих способен бесперебойно работать годами. В моей практике я часто наблюдаю, как старенькие железки долгие месяцы работают в качестве серверов, маршрутизаторов и еще бог знает чего. Не исключение и мой сервер домашней автоматизации.

Какие же у персональных компьютеров "слабые места" и как с этим бороться?
Во-первых, компьютеры казалось бы без видимых на то причин иногда виснут. Это правда. Но смею заверить, что промышленные системы автоматизации на базе микроконтроллеров также весьма часто подвержены этой "слабости". Например, я воочию лицезрел зависшим свой собственный немецкий котел, не отвечающий ни на какие нажатия кнопок. А ведь электроника котлов обычно относится к очень надежным узлам. Я наблюдал зависшие мини-АТС, отдельные платы больших систем промышленной автоматизации, промышленные контроллеры пожарно-охранной сигнализации. Наконец, я уже писал о том, что вполне промышленный стабилизатор напряжения вышел из строя всего через год бесперебойной работы. Отчего такие события происходят иногда понятно, а иногда нет. Решение в такой ситуации есть. Существуют простые устройства, которые вешаются на COM или LPT-порт компьютера и слушают сигнал, который подает в порт программа. Если сигнала нет, то, скорее всего, компьютер завис и следует дернуть контакт Reset или Power. Решение простое, как все гениальное. Такое устройство можно легко прицепить к любому компьютеру, но, увы, не к любому контроллеру.

Устройство автоматической перезагрузки в случае зависания компьютера

Устройство watchdog на базе NE555 для слежения за компьютером

Во-вторых, у персонального компьютера иногда выходят из строя комплектующие, чаще всего блок питания, жесткий диск или материнская плата. Здесь необходимо сказать, что в роли компьютера может выступать не только традиционная система на базе материнской платы ATX, механических жестких дисков и блока питания с активным охлаждением. В продаже имеются различного рода маршрутизаторы под управлением Linux, которые имея USB-порт (для 1-wire мастера) фактически являются полноценным компьютером с практически теми же возможностями, но, во-многом, более надежными с точки зрения работы электроники. По части надежности такие компьютеры-маршрутизаторы вполне можно приравнять к промышленным контроллерам. Существует и другое решение, более традиционное - система на базе Intel Atom без вентилятора, Flash (твердотельные накопители) в качестве жесткого диска (операционные системы вполне нормально работают с такими устройствами) и безвентиляторный блок питания. Надежность такого компьютера также будет выше. Кроме того, он не будет издавать никакого шума и будет мало потреблять электроэнергии.

WRT54G как мастер 1-wire сети

Маршрутизатор Linksys WRT54G, успешно работающий мастером 1-wire сети

Intel Atom как бесшумный и экономичный сервер для домашней автоматизации
Платформа Intel Atom в форм-факторе ITX - бесшумно и экономично

В продаже имеются и так называемый промышленные компьютеры. Как правило это компактные встраиваемые компьютеры с тщательно подобранными комплектующими с пассивным охлаждением. Это не только процессоры Intel Atom, но также Intel Core 2 Duo, Intel Celeron M, AMD LX-800, VIA Mark. В таких встраиваемых компьютерах можно встретить решения типа "System-On-Chip", как, например, Vortex86. Встраиваемые промышленные компьютеры - полноценные ПК, но собраны в особом миникорпусе (часто выполненном из алюминия для улучшения отвода тепла) и обладают всеми возможностями обычных персональных компьютеров при более высокой надежности и экономичности.

Но если уж ориентироваться на традиционную платформу, то, конечно, лучше использовать комплектующие от известных брендов. Они хотя и дороже на 15-30%, но действительно дольше работают. А для увеличения надежности можно c помощью ближайшей мастерской заменить дешевые электролитические конденсаторы на более долговечные, использовать корпусы с двумя блоками питания, RAID-массивы, зеркалирование или даже полное аппаратное дублирование, когда рядом с основным сервером установлен клон, который включается в работу после сбоя основного сервера. Но лично я приверженец совершенно обыкновенного ПК в роли сервера. Количество задач, решаемых сервером, постоянно увеличивается, как увеличивается и их сложность. Это требует новых ресурсов, памяти, жесткого диска, процессора. Апгрейдить систему на базе обычного ПК проще, дешевле и быстрее. Домашняя автоматизация - эта та область, в которой никогда нельзя ставить точку. Обязательно появятся новые идеи и для их воплощения нужно, чтобы вычислительные мощности были с запасом или в случае необходимости легко наращивались. Но если речь идет о развитии распределенной системы на базе контроллеров дело обстоит несколько иначе. Здесь для решения новой задачи просто будет применен еще один контроллер. Минус контроллера, особенно специфического или вовсе уникального в том, что в случае выхода его из строя не всегда возможно быстро найти замену, в то время как для замены любого блока ПК достаточно доехать до ближайшего магазина. А такие вещи как зеркалирование, резервное копирование (с сохранением, конечно, всех текущих данных, настроек и режимов работы) в случае распределенной контроллерной системы хотя и возможно, но все-таки достаточно трудноосуществимо.
Повторю, что вся система целиком рассматривается мною не как законченный продукт, а скорее как площадка для экспериментов, своего рода хобби, которое, между тем, с достаточной для бытовых целей надежностью позволяет решать сложные, нетривиальные задачи и, вместе с тем, не требует огромных знаний и опыта в области промышленной автоматики.

Независимо от применяемых автоматизированных систем (компьютерных или микроконтроллерных) обязательно необходимо предусматривать возможность переключения работы всей системы на ручное управление. С этой целью в схему управления отоплением (хотя аналогичные решения можно применить и в других задачах) я добавил еще один элемент - электрический щиток с тремя выключателями.
Напомню, что в моей системе используется два двух-канальных 1-wire ключа:

  1. Управление приводом 3-х ходового (+)
  2. Управление приводом 3-х ходового (-)
  3. Управление запросом тепла котла
  4. Управление насосом основного отопительного контура

Все перечисленное - 220В нагрузки. Каждая нагрузка подключена к электронному ключу параллельно выключателю, расположенному в так называемом щитке безопасности. По-умолчанию все выключатели находятся в положении OFF (Выключено) и нагрузка управляется только электронным ключом. В случае, если происходит сбой системы управления, я могу перевести выключатели в положении ON, подав тем самым 220В вручную. Почему выключателя три? Один для насоса, второй для дублирования запроса тепла котла, а третий выключатель включен параллельно с плюсовым направлением привода трехходового. Таким образом, при включении всех выключателей, 3-х ходовой через некоторое время оказывается в полностью открытом положении, что вполне приемлемо для аварийного режима работы. А непосредственное регулирование температуры теплоносителя обеспечивается на уровне ручного задатчика температуры на котле. Привод 3-х ходового имеет концевые выключателя в крайних положениях, поэтому постоянное присутствие 220В на одном их контактов вполне нормально. Плохо если 220В окажется на обоих контактах, что нестрашно, но неприятно (прежде всего, для самого привода). Такое возможно в случае сбоя компьютерного управления. В моем случае прежде чем переводить систему на ручное управление необходимо выключить компьютер, чтобы отключились все электронные ключи. А можно просто добавить в щиток безопасности еще один выключатель, который "насильно" отключает возможность подачи напряжения в минусовое направление привода.

Избыточная вычислительная мощность

Вопрос о вычислительной мощности в современных условиях вопрос философский. Ведь некоторые контроллеры обладают недюжинной производительностью. Да и аргумент этот в целом мне кажется странным. Конечно, имея полное представление о задаче, например об управлении отоплением, и о ее четкой реализации, мы можем изготовить контроллер с необходимым набором функций и нужной производительностью. Но это очевидно только если смотреть поверхностно. На самом деле каждый дом по-своему уникален. Дома отличаются климатом, в котором они расположены, планировкой, устройством стен, личными предпочтениями хозяев, устройством системы отопления. Казалось бы все это не имеет никакого значения с точки зрения управления 3-х ходовым смесителем... А вот, как ни странно, имеет. Система управления отоплением должна учитывать не только температуру на улице, но и обязательно температуру внутри. Если датчиков в доме несколько, каким-то образом вычислять среднее значение (не обязательно это простое усреднение). Система должна учитывать как ведет себя температурный график в доме и на улице, чтобы в простейшем случае не прибавлять температуру теплоносителя, если температура в доме растет, а в более сложном варианте даже прогнозировать температурный тренд учитывая время суток и температурный график на улице, чтобы таким образом сгладить неизбежные в таких случаях температурные колебания, а значит сэкономить газ. Например, известно, что солнечная радиация вносит свой вклад в тепловой баланс, а значит при равной наружной температуре и одинаковой температуре теплоносителя днем в доме будет теплее, чем ночью.

Система управления с помощью датчиков DS18B20 отслеживает график температуры на улице

С помощью DS18B20 отслеживается температура на улице,
которая учитывается в управлении отоплением.

А еще неплохо учитывать показания подключенной к системе метеостанции, дабы знать направление и силу ветра, который в значительной степени влияет на теплопотери дома. Датчик влажности также необходим, так как чем более влажный в доме воздух, тем меньше комфортная температура. Также система должна иметь связь с другими блоками, чтобы, например, в случае отсутствия хозяев на полградуса снижать температуру в доме. А пол градуса или градус - это существенная экономия газа. Я привел только некоторые, самые очевидные вещи, которые необходимы для комфортного управления отоплением. И хочу акцентировать внимание на двух моментах. Во-первых, невозможно заранее спроектировать систему управления отоплением. Практика в каждом конкретном случае будет диктовать свое, уникальное решение. А значит необходимо иметь возможность быстро менять алгоритм. Во-вторых, даже самое простое, но качественное управление требует определенных вычислительных ресурсов. Ведь необходимо обязательно сохранять и обрабатывать архив значений со всех температурных (и не только температурных) датчиков, чтобы понимать как вся система ведет себя в динамике и не "дергать" привод по пустякам.

Важной особенностью централизованного управления всеми системами заключается в том, что можно без каких-либо технических и программных ухищрений использовать в различных задачах данные одних и тех же датчиков. Самый очевидный пример - датчик уличной температуры. В моем случае специальный скрипт каждые 5 минут считывает показания датчика и записывает их в базу. Далее эти значения используются для отображения, для регулирования отопления, управления вентиляцией и в других приложениях. Такое решение выглядит более оптимально с точки зрения программно-аппаратной реализации.

Шум, потребление, стоимость.

Как я уже писал, проблема шума и потребления - это проблема конкретной реализации. В моем случае, когда ПК установлен в котельной, находящейся в подвале, это и вовсе неактуально. Потребление массы контроллеров конечно меньше потребления ПК, хотя и не очень значительно, но мой сервер выполняет помимо всего прочего функции маршрутизатора, файлового сервера для мультимедийного контента, веб-сервера. В этом смысле мне все равно пришлось бы держать сервер постоянно включенным. А вот возможность контролирования, управления, мониторинга всей системы целиком как из домашней локальной сети, так и из Интернета - весьма важная для меня функция. Это еще один момент в связи с которым я отказался от микроконтроллерной организации системы. Я могу удаленно, через Интернет, будучи в командировке в другом городе, вносить изменения в программный код системы. Конечно, это можно реализовать и на базе МК, но значительно сложнее, да и применяемые в такой логике МК уже не будут простыми и дешевыми. Кроме того, для программирования всей системы я использую уже готовые, оттестированные библиотеки и программы, такие как owfs и высокоуровневые языки PHP, Perl, Shell, которые понятны даже непрофессионалу. Программирование в этом смысле больше напоминает конструирование системы из уже готовых блоков. Особенно очевидным этот подход становится при использовании систем UNIX. Можно критиковать такой подход и "обзывать" систему зоопарком, но практика уже давно подтвердила жизнеспособность такой организации системы. Совершенно неважно, что блоки разного размера или цвета. Главное задача создателя - правильно состыковать их.

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

Несколько слов в защиту МК

В домашней автоматизации существует много различных задач. Все задачи можно грубо разделить на две группы: требующие немедленной реакции, не требующие немедленной реакции. В этом смысле управление водоочисткой, отоплением, вентиляцией или даже уличным освещением можно отнести к первой группе задач. 10 минут, полчаса или даже час простоя этих систем никак не повлияет на безопасность проживания в доме, учитывая возможность ручного управления. Но есть системы более важные, от которых требуется повышенная надежность. Прежде всего, это системы пожарно-охранной сигнализации (с подключенными датчикам протечки и прочими аварийными устройствами). Зависший компьютер может дорого в итоге обойтись владельцу дома. Такого рода системы обязательно должны выноситься в отдельные блоки, модули или дублироваться минимально-необходимыми независимыми устройствами. К такому же роду задач можно отнести и управление освещением. Я не сторонник автоматизации обычного бытового освещения (кроме ночников, дежурного, аварийного освещения, освещения длинных коридоров, лестниц и пр.), но если уж зайдет об этом речь, то данную функцию можно переложить на функционально-законченный блок под управлением МК, так как такого рода автоматизация не требует частого и сложного программирования. Хотя, повторюсь, современная промышленность уже предлагает мини-компьютеры с надежностью промышленных контроллеров. Да и грань между сложными МК и простыми компьютерными системами постепенно стирается. Возьмем, к примеру, архитектуру TINI, работающую под управлением TINI OS. Cтоит ли говорить, что не за горами тот день, когда самый простой утюг будет оснащен средствами Wi-Fi, портом Ethernet и выходом в Интернет.

Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.



Добавить комментарий:



Сортировка комментариев: Последние сверху | Первые сверху

2012-11-22 00:16:59 | Игорь
Кстати, в контроллерах Atmel есть встроенный Watchdog. Его там нужно включать с помощью программирования так называемых FUSE-бит.


2011-10-06 22:35:34 | Andrey_B
Артем, никакие маршрутизаторы не поддерживают 1-wire сеть. Некоторые девайсы, такие как Linksys NSLU2 имеют USB-порт, к которому можно подключить мастер сети (DS9490R), другие, такие как WRTG54 нужно переделать аппаратно для поддержки 1-wire.


2011-10-06 19:13:39 | Артем
А как узнать, какой маршрутизатор поддерживает 1-wire сети или нет? провода от 1-wire подключаются к роутеру коннектором rj-45&


2011-04-20 03:27:09 | Игорь
Познавательная статья. Навела на на мысли о возможности реализовать "тонкое" управление отоплением в многоквартирном доме. Не зависимое от прихоти тепловой компании. Тем более, что с нового отопительного сезона вводят общедомовой теплосчетчик, а автоматизированного управления тепловой нагрузки нет. Большое спасибо!


2010-02-17 16:38:15 | Balamutick
Спасибо за статью, может быть мало технических подробностей, но аргументация очень нравится.

Подобная статья придаёт мне больше энтузиазма заняться подобным же.