Напомню, что речь идет о системе управления отоплением дома с помощью таймер-термостат NM8036 ( Начни здесь ).
Аналоговые (АЦП) входы контроллера и подключение датчиков температуры.
Итак, АЦП.
Не все сразу понимают, что это такое и с чем его едят. Поэтому попробую объяснить своими словами.
Что такое «аналоговый» вход вообще? Контроллер имеет два типа входов: цифровой и аналоговый.
Цифра может принимать только два значения: ноль и единицу.
Ноль означает отсутствие напряжения, единица означает, что напряжение есть.
Информация передается на цифровой вход импульсами с течением времени.
Но аналоговый вход способен принимать не только эти два значения, но и вообще любое напряжение.
Контроллер NM8036 имеет два аналоговых входа (о сборке блока NM8036 см.
в первой части).
На каждый из этих входов может подаваться любое напряжение в диапазоне от 0 до напряжения питания (5 В).
Например, 1,8 вольта, или 3,2 вольта.
Короче говоря, любое, но не более 5 вольт. Что делает контроллер с этим напряжением? Очень просто: измеряет и представляет данные в цифровом виде.
Причём делает это в диапазоне от 0 до 1023. Это двоичные данные (bin-data), у которых верхний предел (1023) приравнивается к напряжению 5 вольт. Это аналого-цифровое преобразование (АЦП).
Но фактическое напряжение именно таково: действительное.
5 вольт - они и есть 5 вольт. Это значение обозначается здесь как «Вольты».
И это верно, есть вольты.
Но здесь мы можем представить это напряжение и в других физических величинах (Физика).
Например, мы подключили ко входу датчик давления или влажности, или еще датчик температуры, но не цифровой, как у DS1820, а термисторный.
Этот терморезисторный датчик будет выдавать нам напряжение от 0 до 5 Вольт (электронщики, не горячитесь! Это всего лишь пример.
), но нам важно знать температуру, а не напряжение!
Поэтому мы калибруем эти значения.
Зададим в настройках нижний предел, например, 16 градусов, а верхний — 30 градусов.
Вот этот датчик у нас, видите ли, подключен.
А количество десятичных знаков зададим 2. И укажем приставку: С (то есть градусы Цельсия).
И что мы от этого получим? И получаем, что когда датчик подает на вход напряжение, например, 2,5 Вольта, контроллер быстро все пересчитает и выдаст нам три варианта результатов: 512 (бин-данные), 2,5 В (Вольты) и 23,00 С( градусов Цельсия ).
Так можно настроить работу практически с любым датчиком, выдающим на своем выходе аналоговое значение напряжения.
Наличие двух аналоговых входов на контроллере – это не только возможность подключения вышеперечисленных датчиков.
Можно придумать массу схем, которые могут оказаться весьма полезными для различных целей в частном доме.
Навскидку перечислю некоторые возможные: Простой двухпозиционный переключатель.
Выход данных может иметь либо 0 В, либо 5 В.
Он подключается тремя проводами: Vcc (+5В), Data (данные) и Gnd (общий провод).
С помощью этого переключателя при программировании системы можно установить два разных режима работы нагрузок.
Переключатель большего количества положений может обеспечить возможность программирования большего количества режимов.
Здесь, скажем, 3 позиции.
Каждая позиция имеет свое выходное напряжение.
Самое нижнее положение — это выход 1,25 В, среднее — 2,5 В и верхнее — 3,75 В.
Увеличивая количество резисторов в цепи, можно увеличить количество положений переключателя.
Это были варианты ступенчатой регулировки, но есть и вариант плавной регулировки.
Здесь величина выходного напряжения зависит от положения движка переменного резистора.
Может использоваться, например, для ручного регулирования температуры.
Составьте программу, поддерживающую температуру в помещении, заданную регулятором.
Автоматическая регулировка – это одно, но часто хочется что-то куда-то повернуть, что-то нажать, чтобы стало теплее или, наоборот, прохладнее.
Человек – существо привередливое.
Или использовать такую схему для контроля, скажем, уровня воды в емкости, в колодце.
Это несложно: поплавок на нити, намотанной на ручку переменного резистора.
Подпружиненный, конечно.
Но это так, навскидку, без детальных проработок.
Если продолжать фантазировать, то также можно измерить уровень освещенности и включить/выключить лампу в нужный момент. Словом, возможностей у этих аналоговых входов масса, NM8036 легко справляется со многими задачами не только в управлении отоплением частного дома, но и для решения многих других задач.
О возможностях настройки и программирования мы поговорим в следующих статьях.
Кстати, по поводу регулировки температуры в комнате есть очень хорошее решение, которое я взял из Форум МастерКит .
В ответ на чей-то вопрос автор сообщения Брокли (он же является автором программы Advanced Manager, о которой я тоже расскажу позже) привел пример использования аналогового входа.
Цитирую дословно: Можно было придумать что-то еще более сложное.
Установите контактный настенный термостат, подключите его к аналоговому входу, и пусть алкаши сами его крутят. Освободите уборщицу и повеселитесь с пьяницами.
И работы контроллеру меньше, термостат сработал - греть не надо.
Как вам это нравится, Мастер? И знаете, мне понравилось.
Теперь о подключении датчиков температуры.
В инструкции, конечно, есть схема подключения, но я бы дополнительно обратил внимание на то, что датчики необходимо подключать последовательно, не образуя «звезду».
Чтобы было понятнее, вот картинка: в ней у каждого датчика свой кабель для подключения к контроллеру, а где-то возле самого контроллера эти кабели соединены в один.
Это звездное соединение.
Спору нет, так датчики разнести, конечно, удобнее.
Только тогда возможны проблемы с их определением, и в работе устройства возникнут необъяснимые глюки.
А вот эта схема — пример последовательного подключения датчиков температуры DS18B20. То есть к одному непрерывному кабелю, подключенному к NM8036, последовательно подключаются датчик за датчиком по всей длине кабеля.
На самом деле, если судить строго с точки зрения электрических соединений, это подключение параллельное, но для лучшего понимания я назвал его по-своему.
Ведь соединение звездой тоже параллельно.
В целом такой тип подключения, как на рисунке, является наиболее правильным, но он не всегда удобен в реальных условиях, когда датчики необходимо располагать в разных помещениях, разбросанных совсем не в соответствии с логикой последовательного подключения датчики.
так что нам делать? Выход в такой ситуации — подключиться к отдачам, и я пошел именно по этому пути.
Там, где оказывалось невозможно протянуть кабель последовательно от датчика к датчику, я возвращался от следующего датчика к исходной точке и затем снова шел к следующему датчику.
Эта схема — всего лишь абстрактный пример, дающий представление о том, как подключаются датчики в реальных условиях.
Как видите, принцип последовательного подключения здесь полностью соблюден.
При установке датчиков температуры я использовал витую пару, которую используют для прокладки компьютерных сетей.
Этот кабель содержит 8 разноцветных жил, скрученных попарно.
Во-первых, это оказалось очень удобно для осуществления соединений с обраткой, во-вторых, витая пара как раз очень хороша для таких целей, уменьшая количество наведенных помех.
Купить такой кабель можно в любой компьютерной мастерской, сервисном центре или магазине электроники.
Это не так уж и дорого, рубль за штуку, три рубля за кучу.
В кабеле четыре пары: синяя и бело-голубая, коричневая и бело-коричневая, розовая и бело-розовая, зеленая и бело-зеленая.
Все провода белые — использую их как общий провод. Коричневый провод — данные на входе, синий провод — питание на входе.
Вывод: Данные — зеленый, питание — розовый.
На другом конце кабеля «с обраткой» подключаю датчик по указанной схеме, т.е.
все белые — общие, зеленые и коричневые — Data, синие и розовые — питание.
Теперь распиновка датчика, назначение его контактов.
Конечно, их не следует путать.
Берем датчик за ножки и смотрим на его лицевую сторону, где расположены надписи.
В этом случае справа будет вывод питания, слева общий, посередине вывод данных.
Но кабели разложены, датчики припаяны.
Как их обезопасить? Вопрос неоднозначный, если стоит цель измерить температуру с точностью до десятых долей градуса.
На самом деле датчик измеряет именно так, но он измеряет свою температуру.
А измерение температуры датчика и температуры воды в трубе – это далеко не одно и то же.
Казалось бы, что здесь такого сложного? Я приклеил датчик к трубе и он будет измерять температуру воды в трубе.
Разве это не логично? Логично.
Но это неправда.
Во-первых, сама поверхность трубы уже выдает ошибку, потому что ее омывает воздух, температура которого не всегда равна температуре воды.
Во-вторых, что самое главное, датчик прижимается к трубе только одной поверхностью.
Остальные снова промываются воздухом и температура самого датчика совершенно не равна температуре поверхности трубы.
Решение напрашивается само собой: изолировать датчик и участок трубы и сделать над местом крепления датчика своеобразный кожух, защищающий его от воздействия наружного воздуха.
Но я опять же пошел по пути упрощения и прикрепил датчики к трубам с помощью обычного тканевого пластыря.
Да, показания датчика не соответствуют действительности.
Разница колеблется от одного до полутора градусов.
Ну и что? Я не собираю термостат для научных экспериментов, у меня просто система управления отоплением для частного дома.
И при программировании системы мне ничто не мешает учесть эту разницу, что я, собственно, и сделал.
Например, у меня в коридоре разница между показаниями датчика и термометра (один на 2 миллиметра от другого) - 1,3 градуса.
Термометр показывает 24, а датчик 22,7. Кто из них лжет — разве это имеет значение? Хотя, я все же больше доверяю цифровому датчику.
Что еще с датчиками? Похоже, вот и все.
Да, и еще: не спешите прикручивать/закручивать все датчики сразу.
Опознать их позже будет непросто.
Пусть они пока висят в воздухе, чтобы потом, когда в настройках запустите «Поиск датчиков» и они все опознаются, можно было ладонями менять их температуру и давать имена в системе.
Система идентифицирует датчики по их серийным номерам и предоставит вам список этих серийных номеров.
Откуда она знает, что этот серийный номер принадлежит датчику возле унитаза, а этот — датчику под кроватью? Затем вы залезаете под кровать, согреваете датчик ладонями, дышите на него и просите супруга посмотреть список датчиков.
И вы узнаете у всех, у кого поднялась температура.
И вы узнаете, какой у него серийный номер, и присвоите ему имя: Кровать! Продолжение следует… Теги: #Сделай сам или Сделай сам #Электроника для начинающих #Умный дом #набор для мастеров #программирование микроконтроллеров
-
Гатлинг, Ричард Джордан
19 Oct, 24 -
Кто Отвечает За Преподавание?
19 Oct, 24 -
Стоять Или Не Стоять: Решайте С 2Гис
19 Oct, 24 -
Бездушное Покорение Атлантики
19 Oct, 24 -
Здоровые Дебаты
19 Oct, 24 -
Hadoop Для Сетевых Инженеров
19 Oct, 24