В предыдущей части мы обсудили алгоритм формирования температуры управляющего контура. В этой части разберемся с программой на Арудине. Основная задача скетча - автоматически управлять котлом, выдерживая заданную температуру в доме. Остальные функции сервисные и при желании их можно отключить.
В программе три режима работы: Автоматический (основной), Настройки и Ручной. Переключать режимы мы можем с помощью клавиш [7] – [8] – [9] на пульте управления. Начнем, пожалуй с сервисных функций.
Ручной режим нужен при первом включении прибора: с помощью клавиш [вверх] и [вниз] мы задаем режим работы котла. Это надо для того, чтобы перед первым подключением прибора к котлу проверить тестером соответствие желаемого сопротивления к фактическому. А потом, подключив ардуину к котлу, проверить соответствие желаемой температуры и температуры выставляемой котлом. Т.е. режим нужен только для тестирования прибора.
Режим настроек пригодится в первые пару недель для калибровки прибора. В этом режиме можно задавать коэффициент отопительной кривой, шаг поправки комнатной температуры, шаг поправки термостата. Переход между настройками клавиши [вправо]/[влево]. Изменение настройки - [вверх]/[вниз].
В режиме настроек, для прогнозирования температуры контура отопления можно эмулировать показания датчиков температуры: клавиши [1]/[4] - изменение значений датчика внешней температуры, [2]/[5] внутренней. При переходе в автоматический режим показания датчиков вернуться к реальным.
Подобрав настройки, лучше прописать оптимальные в программу, чтобы при перезагрузке устройства не нужно было все выставлять заново.
Автоматический режим - основной. В нем есть три экрана, переключением между ними - кнопки [влево]/[вправо]. Основной экран отображает текущие показания температурных датчиков (нижняя строка), температуру контура отопления (в скобочках) и желаемую комнатную температуру. Здесь же можно задать желаемую температуру с помощью клавиш [вверх]/[вниз].
Второй экран показывает формулу расчета температуры контура отопления, а точнее ее составляющие: температура контура отопления на основе отопительной кривой, поправка на желаемую комнатную температуру и поправка термостата.
Третий экран показывает статистику: максимальные и минимальные значения температуры контура отопления и внешней среды. Сброс статистики - клавиша [*]. Статистика бывает удобна: можно посмотреть на максимальные режимы работы котла или, допустим, был ли ночью заморозок. Правда, сбрасывать приходится часто.
В автоматическом режиме переключение контура отопления происходит раз в пять минут. Климат в доме штука инертная и даже пятиминутный интервал, пожалуй, слишком частый.
В автоматическом режиме раз в минуту собирается информация со всех датчиков и отправляется по сериал порту на компьютер, для сбора статистики. За это отвечает функция com_print(). Скетч на Processing отображает основные показания на экране и сохраняет их в CSV файле, который потом можно обработать в Excel.
Собранная статистика: красная линия - температура в доме, синяя - на улице, зеленая - температура контура отопления.
Ссылки для скачивания:
Скетч автоматического управления котлом на Ардуино.
Скетч на Процессинге для сбора статистики.