Таймер для насоса отопления на микроконтроллере (Arduino UNO)


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

Сделать систему жидкостного отопления на самотоке так, чтобы все радиаторы нагревались равномерно довольно сложно (нужны трубы большого диаметра, нужно соблюсти все уклоны и прочие важные мелочи).

Принципиальная схема

Принципиальная схема таймера для насоса отопления на микроконтроллере Arduino UNO

Рис. 1. Принципиальная схема таймера для насоса отопления на микроконтроллере Arduino UNO.

Поэтому, обычно идут более простым путем, и устанавливают циркуляционный насос на подводящую к отопительному котлу трубу.

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

Достаточно включать насос на 10-15 минут один раз в 1-2 часа, чтобы поддерживать равномерную температуру нагрева отопительных батарей. На рисунке показана схема таймера, с помощью которого можно таким образом оптимизировать работу насоса. Впрочем, этот таймер можно применить и по другому назначению. Таймер выполнен на основе микроконтроллерной платы ARDUINO UNO.

Схема предназначена для управления одной нагрузкой, которой служит выше указанный циркуляционный насос. Для управления выбран порт D10.

Логический уровень с порта D10 поступает на транзисторный ключ на VT1, в коллекторной цепи которого включено реле К1, управляющее питанием циркуляционного насоса. Таймер через каждый час включает на десять минут циркуляционный насос.

Программа

Программа предельно проста. Она приведена в таблице 1. Программа написана на языке C++. Сначала устанавливается логическая единица на порте 10. При этом транзистор VT1 открывается и у реле К1 контакты замыкаются, питание на насос поступает. Длится это в течение 10 минут.

Таблица 1.

Исходный код программы для микроконтроллера

Рис. 2. Исходный код программы для микроконтроллера.

В программе это время указано как 600000 потому что указывать время нужно в миллисекундах. Таким образом, 10 минут это 600 секунд или 600000 миллисекунд. Затем на порте 10 устанавливается логический ноль. При этом транзистор VT1 закрывается и у реле К1 контакты размыкаются, питание на насос не поступает.

Длится это в течение одного часа (то есть, 3600 секунд или 3600000 миллисекунд). Затем все повторяется снова и снова.

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

delay (600000);

delay(3600000):

Плата и реле питаются от источника постоянного тока напряжением 12V. Это может быть нестабилизированный источник, потому что на плате есть стабилизатор напряжения, а для питания обмотки реле подойдет и нестабильное напряжение. Электромагнитное реле можно заменить другим, с обмоткой на 12V сопротивлением не менее 200 Ом.

Если транзистор КТ503 заменить полевым типа КП501 (включить как на схеме, - затвором вместо базы, истоком вместо эмиттера и стоком вместо коллектора) то можно использовать и более мощные реле.

Можно расширить схему для управления большим количеством нагрузок, используя другие порты (выходы D1-D13). Соответственно. нужно будет сделать необходимое количество ключей на транзисторах и реле и внести в программу несложные изменения, чтобы управлять нужным числом выходов. При этом можно опираться на статью Л.1.

Каравкин В. РК-08-2018.

Литература: 1. Каравкин В. - Елочный автомат на 12 гирлянд на Arduino Uno. РК-11-2017.


1 467 На микроконтроллерах
микроконтроллер arduino насос водяной насос электронасос отопление автоматическое управление
Оставить комментарий:

cashback