Управление отоплением дома. Входы АЦП.
Речь ведем о системе управления отоплением дома с применением таймера-термостата NM8036. Аналоговые (АЦП) входы контроллера. Не каждому и не сразу понятно, что это такое и с чем его едят. Потому попытаюсь объяснить своими словами.
Вообще, что такое "аналоговый" вход? У контроллера два типа входов: цифровой и аналоговый. Цифровой может принимать только два значения: ноль и единица. Ноль - нет напряжения, единица - есть напряжение. Информация передается на цифровой вход импульсами во времени. А вот аналоговый вход способен принимать не только эти два значения, но вообще любое напряжение.
У контроллера NM8036 имеются два аналоговых входа (см. Управление отоплением дома. Сборка блока NM8036.). На каждый из этих входов может быть подано любое напряжение в пределах от 0 до напряжения питания (5 в). Например, 1,8 вольта, или 3,2 вольта... Короче, любое, но не более 5 вольт.
Что с этим напряжением делает контроллер? Очень просто: измеряет и представляет его в цифровом виде. Причем, делает он это в пределах от 0 до 1023. Это бинарные данные (bin-data), в которых верхний предел (1023) приравнивается к напряжению в 5 вольт. Это и есть Аналого-Цифровое Преобразование (АЦП).
Но фактическое напряжение - оно и есть фактическое. 5 вольт - они и есть 5 вольт. Это значение рассматривается здесь, как "Вольты". И правильно, вольты и есть.
Но здесь можно представить это напряжение и в других физических величинах (Физика). Например, подключили мы ко входу датчик давления или влажности, или тоже датчик температуры, но не цифровой, как DS1820, а терморезисторный. Этот терморезисторный датчик выдаст нам напряжение от 0 до 5 вольт (электронщики, не возбуждайтесь! Это лишь для примера.), но ведь нам важно знать температуру, а не напряжение!
Вот мы и калибруем эти значения. Нижний предел в настройках (см. Управление отоплением частного дома. Advanced Manager.) установим, например, в 16 градусов, а верхний - в 30 градусов. Вот такой вот у нас датчик, видите ли, подключен. А количество знаков после запятой поставим 2. И префикс укажем: С (то бишь, градусов цельсия).
И что мы при этом получим? А получим то, что когда датчик пришлет на вход напряжение, например, в 2,5 вольта, контроллер быстренько все пересчитает и выдаст нам три варианта результатов: 512 (bin-data), 2,5в (Вольты) и 23.00 С (градусов цельсия). Вот таким образом можно настроить работу практически с любым датчиком, выдающим на своем выходе аналоговое значение напряжения.
Существование двух аналоговых входов у контроллера - это ведь не только возможность подключения вышеперечисленных датчиков. Можно придумать немало схем, которые могут оказаться очень даже полезными для разных целей в частном доме. Перечислю навскидку возможные из них.
Простой выключатель на 2 положения. Может иметь на выходе Data либо 0 вольт, либо 5 вольт. Подключается тремя проводами: Vcc (+5в), Data (данные) и Gnd (общий провод). Таким выключателем можно устанавливать два разных режима работы нагрузок при программировании системы.
Переключатель на большее количество положений может обеспечить возможность программирования и большего количества режимов. Вот, скажем, на 3 положения. Каждое положение имеет свое напряжение на выходе. Самое нижнее положение - на выходе 1,25 в, среднее 2,5 в и верхнее 3.75 в. Увеличивая количество резистров в цепочке, можно увеличивать и количество положений переключателя.
Это были варианты ступенчатой регулировки, но ведь есть и вариант плавного регулирования. Здесь величина выходного напряжения зависит от положения движка переменного резистора. Можно применить, например, для ручной регулировки температуры. Сделать программу так, чтобы она поддерживала температуру в помещении такой, какая задана регулятором. Автоматическая регулировка - это одно, но нередко хочется где-то что-то повернуть, щелкнуть, чтобы было потеплее, или, наоборот, попрохладнее. Человек ведь существо привередливое.
Или применить такую схему для контроля, скажем, за уровнем воды в емкости, в колодце... Это несложно: поплавок на нитке, намотанной на ручку переменного резистора. Подпружиненной, естественно. Но это так, навскидку, без детальной проработки.
Если же продолжать фантазировать, то можно еще измерять уровень освещенности и в нужное время включать/отключать лампу... Короче, возможностей у этих аналоговых входов масса, NM8036 вполне может осилить немало задач не только в управлении отоплением частного дома, но и для решения многих других задач. О возможностях программирования поговорим в следующих статьях.
Кстати, по поводу регулировки температуры в помещении есть очень даже неплохое решение, взятое мною из форума MasterKit. В ответ на чей-то вопрос автор сообщения Brokly (он же автор Advanced Manager) привел пример применения аналогового входа. Привожу дословно:
Как тебе такое, Мастер? А мне, знаешь, понравилось.
Комментарии.
По поводу средней схемы подключения к ацп -
напряжения на входе оно меняет. Но вот запрограммировать на выполнение трех разных отдельно выполняющихся программ не получится.
устанавливаем верхний предел АЦП, к примеру, 100, а нижний - 0.
Для включения нагрузки 1 (входной сигнал 75) применяем 2 строки:
1. нагрев, гистерезис 80-81.
2. охлаждение, гистерезис 65-66, логика И.
Для включения нагрузки 2 (входной сигнал 50) тоже две строки:
1. нагрев, гистерезис 64-65
2. охлаждение, гистерезис 35-36, логика И.
Для включения нагрузки 3 (входной сигнал 25) опять же 2 строки:
1. нагрев, гистерезис 34-35
2. охлаждение, гистерезис 15-16, логика И.
Сегодня попробую.Спасибо!
Запрограммировать пока не получилось, вылезли проблемы с записью значений в контроллер. Записываю во флеш одно значение, а когда читаю, там совсем другие цифры. Если сталкивались с похожим, буду благодарен за наводку "куда копать".
Цифровой датчик контура-> термостата (крутилка) -> Блок управления -> насос контура
Например тебя нет дома, а жене стало жарко или холодно, подошла она к термостату контура «первый этаж» и выставила нужную ей температуру.
Как вы думает есть такая схема, на цифровые датчики?