Журнал и график событий термостата 24 В (оптопара + Raspberry Pi) с использованием малины
Есть много инструкций, которые показывают, как сделать термостат. Но что, если у вас уже есть термостат, и вы хотите регистрировать или контролировать, когда он включается и выключается? В этом руководстве показано, как использовать оптопару для получения постоянного напряжения логического уровня от обычного домашнего программируемого термостата, который подключается к системе обогрева и охлаждения переменного тока на 24 В. Он также включает датчик температуры и код, подходящий для работы на Raspberry Pi, для регистрации и отображения состояния термостата, событий и температуры.
ВНИМАНИЕ! Работа с электричеством может быть опасной. Прежде чем продолжить, убедитесь, что у вас достаточно знаний и навыков для безопасного выполнения этого проекта. Хотя я сделал все возможное, чтобы сделать это безопасным, я не несу ответственности, если этот проект поджарит ваш термостат, Raspberry Pi, систему отопления, вентиляции и кондиционирования воздуха, вашу кошку / собаку или сожжет ваш дом.
Шаг 1. Соберите необходимые детали и инструменты
Вам потребуются следующие детали:
- Оптрон HCPL3700
- 2 резистора по 3,3 кОм, номиналом 1/2 Вт или выше (важна мощность).
- Конденсатор 10 мкФ, минимум 10 В (электролитический подойдет).
- Керамический конденсатор 0,1 мкФ.
- Резистор 8 кОм (или, что более вероятно, резисторы 4,7 кОм и 3,3 кОм, включенные последовательно)
- Raspberry Pi
- Длина двухжильного изолированного провода, в идеале с каким-либо быстроразъемным соединением.
- Основные электронные разногласия, такие как:
- Макет
- Перемычки
Если вы также хотите построить дополнительный датчик температуры, вам также понадобятся:
- Датчик температуры ADT7410
- Коммутационная плата SOIC.
- Еще один керамический конденсатор 0,1 мкФ.
- 4 резистора по 10 кОм
Если вы хотите разработать и изготовить свою собственную печатную плату, вам также понадобятся:
- Винтовой блок с двумя клеммами
- По желанию, штырьковые разъемы для подключения коммутационной платы SOIC.
- Штекерные контакты заголовка для подключения к Pi или женские контакты заголовка для подключения к Arduino.
- При желании можно использовать SMD-версии резисторов, перечисленных выше, чтобы уменьшить общий размер.
Необходимые инструменты:
- Мультиметр
Прочие требования:
- Система отопления / охлаждения 24 В переменного тока.
Требования к программному обеспечению:
- Python
- Perl (необходим для HiPi, необходим для hipi-i2c)
- Графический счет (необязательно, для графического представления данных)
- Eagle (бесплатная версия, опционально, для проектирования печатных плат)
Шаг 2. Узнайте, как взаимодействовать с вашим термостатом
Многие бытовые системы отопления / охлаждения работают от 24 вольт переменного тока. (Те, которые этого не делают, выходят за рамки данного Руководства). Программируемые термостаты обычно либо разряжаются от батареек, либо используют какой-то механизм «похищения энергии» для своего питания. Фактическое переключение обычно выполняется реле внутри термостата.
Мы хотим отслеживать, работает ли система отопления / охлаждения. Для этого мы хотим определить, разрешает ли реле течь мощности или нет. Первый шаг - выяснить, какие провода отслеживать. Поскольку схемы подключения термостатов различаются, необходимо поэкспериментировать.
Возьмите мультиметр, установите его для измерения напряжения переменного тока и выясните, какая пара проводов показывает 24 В переменного тока, когда ваша система отопления / охлаждения активна. Убедитесь, что эта же пара показывает 0 вольт переменного тока, когда система неактивна. Обратите внимание, что у вас может быть несколько пар, которые будут работать, в зависимости от того, есть ли у вас вентилятор, который автоматически запускается, или другие переменные.
В моем термостате пять проводов, подключенных к шести контактам (один из проводов перемычан к двум контактам). Это означает, что существует 10 возможных комбинаций двух проводов для тестирования, и мы должны тестировать эти комбинации, когда система включена и выключена. Возможно, будет полезно записать пары проводов, которые вы тестируете, на листе бумаги, а затем по ходу записывать напряжение (или его отсутствие).
Как видите, в моем случае фактическое напряжение выше номинальных 24 вольт. Когда включен нагрев, мой мультиметр показывает почти 29 вольт на выбранной паре проводов.
Шаг 3. Дайте себе доступ к паре проводов
Выключите питание вашей системы отопления / охлаждения и с помощью мультиметра убедитесь, что питание отключено. Снимите термостат с его основания, обнажив проводку. Добавьте два дополнительных провода, подключенных к клеммам пары проводов, выбранной на предыдущем шаге.
Чтобы все было в порядке, неплохо использовать проводку, которая заканчивается каким-то быстроразъемным соединением на другом конце, чтобы термостат можно было быстро и безопасно отключить от проекта при желании.
Шаг 4. Подключите цепь для измерения напряжения
Это, пожалуй, самая сложная часть процесса. Очевидно, что мы не можем напрямую подключить 24 В переменного тока к Raspberry Pi - нужно что-то исправить и понизить это напряжение и сделать это безопасно.
Для этого мы можем использовать оптрон. Оптопара электрически изолирует две отдельные цепи. В нашем случае мы хотим изолировать систему обогрева / охлаждения переменного тока 24 В от Raspberry Pi.
Я решил использовать оптопару HCPL3700, потому что она включает в себя выпрямитель и может работать с широким диапазоном напряжений. В частности, он принимает на входе переменный или постоянный ток, от 5 до 240 В, и может работать от источника питания от 2 до 18 В. Текущие требования достаточно малы, чтобы устройство могло работать напрямую от источника питания 3,3 В Raspberry Pi.
На прилагаемой схеме показано, как я подключил HCPL3700 (пока вы можете игнорировать нижнюю половину схемы, которая является датчиком температуры). ВАЖНО:два резистора 3300 Ом, подключенные к входным контактам переменного тока, должны иметь номинал не менее 1/2 Вт. Эти два резистора устанавливают пороги срабатывания оптопары, то есть входное напряжение, при котором она включается. Подробнее о выборе этих номиналов резисторов см. В этом примечании по применению.
Выпрямитель в HCPL3700 выпрямляет входной переменный ток, но не сглаживает выпрямленную синусоидальную волну. Таким образом, без какой-либо дополнительной входной фильтрации логический выход будет быстро колебаться, вероятно, с частотой вашего сетевого напряжения (60 Гц в США). Чтобы этого избежать, мы помещаем конденсатор на контакты постоянного тока выпрямителя. В примечании к применению подробно описано, как рассчитать номинал этого конденсатора; достаточно конденсатора 10 мкФ, минимум 10 В.
Как и многие другие микросхемы, HCPL3700 предлагает разместить на выводах напряжения питания конденсатор емкостью 0,1 мкФ. Наконец, в микросхеме используется выход с открытым коллектором, что означает, что он только снижает свой выход; Чтобы увидеть выходы с высоким логическим уровнем, нам понадобится подтягивающий резистор. Вычислить подходящее значение для этого резистора непросто, поскольку оно зависит от характеристик как микросхемы, так и входных контактов Pi, но я обнаружил, что стандартный подтягивающий резистор 10 кОм потенциально не может производить достаточно высокое напряжение. быть прочитанным Пи как высокий логический уровень. Таким образом, я выбрал резистор 8 кОм (на самом деле 3,3 кОм и 4,7 кОм последовательно). Однако этот расчет основан на наихудшем сценарии; на практике резистор 10 кОм может работать нормально.
Для получения дополнительной информации:журнал и график событий термостата 24 В (оптопара + Raspberry Pi)
Производственный процесс
- Связь MQTT между NodeMCU и Raspberry Pi 3 B +
- Температурный профиль Raspberry Pi с использованием LabVIEW
- Журнал и график событий термостата 24 В (оптопара + Raspberry Pi) с использованием малины
- Датчик температуры Python и Raspberry Pi
- Простая температура и влажность на Raspberry Pi
- Удаленный мониторинг погоды с помощью Raspberry Pi
- SensorTag для Blynk с использованием Node-RED
- Журнал фотоэлементов Raspberry Pi и система предупреждений
- Датчик движения с использованием Raspberry Pi
- Датчик температуры и освещенности Raspberry Pi