Скетч управления котлом

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

dsc_3612

В программе три режима работы: Автоматический (основной), Настройки и Ручной. Переключать режимы мы можем с помощью клавиш [7] – [8] – [9] на пульте управления. Начнем, пожалуй с сервисных функций.

Управление осуществляется с пультика, через ИК приемник. Обработка нажатий осуществляется функцией ir_key(). Управление осуществляется с пультика, через ИК приемник. Обработка нажатий осуществляется функцией ir_key().

Ручной режим нужен при первом включении прибора: с помощью клавиш [вверх] и [вниз] мы задаем режим работы котла. Это надо для того, чтобы перед первым подключением прибора к котлу проверить тестером соответствие желаемого сопротивления к фактическому. А потом, подключив ардуину к котлу, проверить соответствие желаемой температуры и температуры выставляемой котлом. Т.е. режим нужен только для тестирования прибора.

Режим настроек пригодится в первые пару недель для калибровки прибора. В этом режиме можно задавать коэффициент отопительной кривой, шаг поправки комнатной температуры, шаг поправки термостата. Переход между настройками клавиши [вправо]/[влево]. Изменение настройки - [вверх]/[вниз].

В режиме настроек, для прогнозирования температуры контура отопления можно эмулировать показания датчиков температуры: клавиши [1]/[4] - изменение значений датчика внешней температуры, [2]/[5] внутренней. При переходе в автоматический режим показания датчиков вернуться к реальным.

Подобрав настройки, лучше прописать оптимальные в программу, чтобы при перезагрузке устройства не нужно было все выставлять заново.

Автоматический режим - основной. В нем есть три экрана, переключением между ними - кнопки [влево]/[вправо]. Основной экран отображает текущие показания температурных датчиков (нижняя строка), температуру контура отопления (в скобочках) и желаемую комнатную температуру. Здесь же можно задать желаемую температуру с помощью клавиш [вверх]/[вниз].

За отображение на экране отвечает функция lcd_print().Во всех режимах нажатие на решетку выключает / включает экран. За отображение на экране отвечает функция lcd_print().Во всех режимах нажатие на решетку выключает / включает экран.

Второй экран показывает формулу расчета температуры контура отопления, а точнее ее составляющие: температура контура отопления на основе отопительной кривой, поправка на желаемую комнатную температуру и поправка термостата.

Третий экран показывает статистику: максимальные и минимальные значения температуры контура отопления и внешней среды. Сброс статистики - клавиша [*]. Статистика бывает удобна: можно посмотреть на максимальные режимы работы котла или, допустим, был ли ночью заморозок. Правда, сбрасывать приходится часто.

В автоматическом режиме переключение контура отопления происходит раз в пять минут. Климат в доме штука инертная и даже пятиминутный интервал, пожалуй, слишком частый.

В автоматическом режиме раз в минуту собирается информация со всех датчиков и отправляется по сериал порту на компьютер, для сбора статистики. За это отвечает функция com_print(). Скетч на Processing отображает основные показания на экране и сохраняет их в CSV файле, который потом можно обработать в Excel.

Собранная статистика: красная линия - температура в доме, синяя - на улице, зеленая - температура контура отопления. Собранная статистика: красная линия - температура в доме, синяя - на улице, зеленая - температура контура отопления.

Ссылки для скачивания:
Скетч автоматического управления котлом на Ардуино.
Скетч на Процессинге для сбора статистики.

Продолжение.

Тэги: 
23.10.2016 23:40