Терморегулятор на ардуино: Терморегулятор вентилятора | AlexGyver

Содержание

детальная пошаговая инструкция по сборке

Терморегулятор или термостат — это устройство, которое измеряет температуру, работает в системе регулирования внутридомовых сетей отопления для поддержания заданной температуры внутреннего воздуха.

С помощью Arduino, термостат можно превратить в «умное» устройство, которое будет контролироваться и управляться пользователем на расстоянии через Вай-Фай и смартфон.

Несколько слов о термостатах

Для того чтобы правильно выбрать термостат для совместной работы с Arduino, необходимо понимать принцип их работы и знать классификацию, поскольку не все они могут работать в паре.

Существует несколько типов термостатов, которые используются в бытовой системе отопления:

  1. Высокого напряжения — самый простой вариант, как правило, работает непосредственно на нагревательном приборе радиаторе или конвекторе, запитан от сети 220 В. Принцип управления температурой прост: при высокой температуре воздуха в помещении, проход теплоносителя через радиатор уменьшается, вплоть до полной остановки, а при низкой — наоборот.
  2. Низкого напряжения, на сегодняшний день это самый распространенный вариант для домашних систем отопления. Его главное отличие от первого типа, он запитан от низкого напряжения, как правило, 24 В, а объектом управления является источник нагрева: газовый, твердотопливный или электрокотел. Они сами не контролируют и не управляют подачей теплоносителя, а сообщают источнику отопления, что делать, в зависимости от температуры окружающей среды: закрыть или открыть подачу газа в котел, включить или отключить подачу напряжения на ТЭН в отопительном контуре электрокотла. В твердотопливном котле процесс регулирования осуществляется путем подачи определенного объема дутьевого воздуха в топку, например, при закрытии заслонки, воздух поступать в котел не будет и горение твердого топлива прекратится.
  3. Умные термостаты еще более функциональные. Они, как правило, имеет погодозависимое управление тепловым процессом. Тепловой режим котла поддерживается по температуре наружного воздуха. Такие термостаты хорошо интегрируются в систему «Умный дом».

Как создать собственный «умный» термостат Arduino

Термостат на Arduino основан на фреймворке MySensors. Это сообщество разработчиков аппаратного ПО с открытым исходным кодом, которое специализируется конкретно на создании бытовой автоматики. MySensors хорошо известный в мире DIY (Do It Yourself или Сделай это сам) компонентов, такие как Arduino, Raspberry Pi, ESP8266 и NRF24L01, для создания датчиков и приводов бытовой автоматизации DIY.

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

Что нужно приобрести для создания «умного» термостат Arduino

Сердце «умного» термостата — Ардуино Нано, модернизированная Emakefun Nano. Это не очень большое, завершенное устройство, удобное для создания программируемого макета с высококачественной платой, работающей на микроконтроллере Atmega328P-AU. Ардуино Нано использует технологию Immersion Gold, поддержку загрузки ISP, USB и питания через USB. Пайка не требуется.

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

Также потребуется модуль приемопередатчика NRF24L01 Arduino NRF24L01 + 2.4 Гц. Он использует полосу 2.4 ГГц и может работать со скоростью от 250 кбит/с до 2 Мбит/с. При использовании на открытом пространстве и с более низкой скоростью передачи, его диапазон может достигать 100 м. Модуль может использовать 125 различных каналов, что дает возможность иметь сеть из 125 независимо работающих модемов в одном месте. Каждый канал может иметь до 6 адресов.

Энергопотребление этого модуля во время передачи составляет всего около 12 мА, что даже ниже, чем у светодиода. Рабочее напряжение модуля составляет от 1.9 до 3.6 В, его контакты допускают логику 5 В, поэтому он легко подключается к Arduino без использования каких-либо преобразователей логического уровня.

Для сборки схемы потребуются соединительные кабели Aukru для Arduino Raspberry Pi с длинной 20 см и расстоянием между выводами: 2.54 мм. Кабели-перемычки Raspberry Pi можно разделить, чтобы сформировать сборку, содержащую необходимое количество проводов для подключения, а также для поддержки нестандартных заголовков с нечетным интервалом.

Датчик температуры и влажности SODIAL (R) DHT22 AM2302 — это цифровой модуль для Arduino Raspberry DIY имеет отверстия для крепежного винта, поэтому его удобно устанавливать и фиксировать в любом комплекте. Цифровой выходной сигнал с одной шиной, и двунаправленными последовательными данными. Рабочее напряжение 5.5 В постоянного тока, рабочий диапазон температур от -40 до 80 °С, точность измерения +/- 0.5 °С. Диапазон влажности от 0 до 100%, точность измерения влажности: +/- 2%.

Релейная плата JBtek — 4-канальный релейный модуль постоянного тока 5 В для Arduino Raspberry Pi DSP AVR PIC ARM. Оснащен сильноточным реле, AC250V 10A; DC30V 10A. Плата 4-канального релейного интерфейса 5 В, каждому из которых требуется ток драйвера 50–60 мА. Умеет управлять различными приборами и другим оборудованием с большим током, поддерживает промышленную область, управление PLC, управление «умным домом». Имеет светодиоды индикации состояния релейного выхода.

Подключение термостата 24 В

Схема подключения термостата обозначается в паспорте на конкретное устройство заводом изготовителем.

Для примера можно показать порядок подключения термостата на Ардуино, на выше обозначенной схеме:

  • Красный цвет, терминал Р, клемма питания переменного тока 24 В. Нередко можно найти 2 красных кабеля RH и RC. В этом случае, оба питаются напряжением 24 В переменного тока, и можно использовать их для отдельного включения тепла и охлаждения.
  • Черный цвет, терминал С, это общее заземление.
  • Белый цвет, терминал В, эта клемма для подачи сигнала на включение теплоносителя.
  • Желтый цвет, терминал Y, эта клемма, которая включает циркуляционный насос.
  • Оранжевый цвет, терминал О, здесь клеммы O и B взаимодействуют с обратным клапаном. Обратный клапан контролирует поток холодной воды в обратном трубопроводе, через подмешивание его с горячим подающем теплоносителем. Таким образом, регулируется температура теплоносителя на нагревательных приборах.
  • Синий, терминал B, аналогичен клемме O, но для подачи тепла. Очень часто можно увидеть, что эти два терминала объединены в один с надписью O/B.
  • Зеленый терминал G, эта клемма управляет вентилятором источника нагрева.

Программный код термостата Arduino

Аналогично, как и в схеме подключения, код каждого термостата Arduino будет немного отличаться. Его нужно адаптировать к потребностям тепловой сети.

Для примера, можно показать программный код для схемы Ардуино Нано на микроконтроллере Atmega328P-AU. Скачать его можно по ссылке ниже:

https://cloud.mail.ru/public/hs1C/CtfPcvEJo

Эту схему можно модернизировать, например, добавить такие функции:

  1. Датчик движения для включения и выключения источника нагрева, в зависимости от присутствия жителей.
  2. Режим «АВТО», автоматическое ведение тепловым процессом.
  3. Внешние датчики для измерения температуры в помещении в разных местах.
  4. LED-экран для контроля температуры.

Скачать можно по ссылке ниже:

https://cloud.mail.ru/public/Ws2t/4g1zJWgyG

Таким образом, функциональные возможности терморегулятора с Arduino огромны. Они могут учесть, практически все, внутридомовые системы отопления. Современная промышленность наладила выпуск комплектующих изделий для такой схемы управления, а используя возможности Arduino и фреймворка MySensors, домашняя «умная» автоматики может быть реализована в каждом доме своими руками.

Видео по теме

Russia War Crimes

В чем еще вам лгут российские политики

Это не война, это только спецоперация

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

Россия хочет только защитить ЛНР и ДНР

Российская армия обстреливает города во всех областях Украины, ракеты выпускали во Львов, Ивано-Франковск, Луцк и другие города на западе Украины.

На карте Украины вы увидите, что Львов, Ивано-Франковск и Луцк — это больше тысячи километров от ЛНР и ДНР. Это другой конец страны.

Это места попадания ракет 25 февраля. За полтора месяца их стало гораздо больше во всей Украине.

Центр Украины тоже пострадал — только первого апреля российские солдаты вышли из Киевской области. Мы не понимаем, как оккупация сел Киевской области и террор местных жителей могли помочь Донбасу.

Мирных жителей это не коснется

Это касается каждого жителя Украины каждый день.

Тысячам семей пришлось бросить родные города. Снаряды попадают в наши жилые дома.

Это был обычный жилой дом в Тростянце, в Сумской области. За сотни километров от так называемых ЛНР и ДНР.

Тысячи мирных людей ранены или погибли. Подсчитать точные цифры сложно — огромное количество тел все еще под завалами Мариуполя или лежат во дворах небольших сел под Киевом.

Российская армия обстреливает пункты гуманитарной помощи и «зеленые коридоры».

Во время эвакуации мирного населения из Ирпеня семья попала под минометные обстрелы — все погибли.

Среди убитых много детей. Под обстрелы уже попадали детские садики и больницы.

Мы вынуждены ночевать на станциях метро, боясь обвалов наших домов. Украинские женщины рожают детей в метро, подвалах и бомбоубежищах, потому что в роддомы тоже стреляют.

Это груднички, которых вместо теплых кроваток приходится размещать в подвалах. С начала войны Украине родилось больше 15 000 детей. Все они еще ни разу в жизни не видели мирного неба.

В Украине — геноцид русскоязычного народа, а Россия его спасает

В HOSTiQ.ua работают люди из всех частей Украины: больше всего сотрудников из Харькова, есть ребята из Киева, Днепра, Львова, Кропивницкого и других городов. 99% сотрудников до войны разговаривали только на русском языке. Нас никогда и никак не притесняли.

Но теперь именно русскоязычные города, Харьков, Мариуполь, Россия пытается стереть с лица земли.

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

Украинцы сами в себя стреляют

У каждого украинца сейчас есть брат, коллега, друг или сосед в ЗСУ и территориальной обороне. Мы знаем, что происходит на фронте, из первых уст — от своих родных и близких. Никто не станет стрелять в свой дом и свою семью.

Украина во власти нацистов, и их нужно уничтожить

Наш президент — русскоговорящий еврей. На свободных выборах в 2019 году за него проголосовало три четверти населения Украины.

Как у любой власти, у нас есть оппозиция. Но мы не избавляемся от неугодных, убивая их или пришивая им уголовные дела.

У нас нет места диктатуре, и мы показали это всему миру в 2013 году. Мы не боимся говорить вслух, и нам точно не нужна ваша помощь в этом вопросе.

Украинские семьи потеряли полтора миллиона родных, борясь с нацизмом во время Второй мировой. Мы никогда не выберем нацизм, фашизм или национализм как наш путь. И нам не верится, что вы сами можете всерьез так думать.

Это месть за детей Донбасса

Российские СМИ любят рассказывать о кровожадных украинских детоубийцах. Но «распятый мальчик в трусиках» и «мальчик — мишень для ракет ВСУ» — это легенды, придуманные российскими пропагандистами. Нет ни единого доказательства подобным страшилкам, только истории с государственных российских телеканалов.

Однако допустим, что ваши солдаты верят в эти легенды. Тогда у нас все равно появляется вопрос: зачем, мстя за детей Донбасса, они убивают детей Донбасса?

8 апреля солдаты рф выпустили две ракеты в вокзал Краматорска, где четыре тысячи украинцев ждали эвакуационные поезда. Ракетным ударом российские солдаты убили 57 человек, из которых 5 — дети. Еще 16 детей были ранены. Это дети Донбасса.

На одной из ракет остались остатки надписи «за детей».

Сразу после удара российские СМИ сообщили о выполненном задании, но когда стало известно о количестве жертв — передумали и сказали, что у рф даже нет такого оружия.

Это тоже ложь, вот статья в российских СМИ про учения с комплексом Точка-У. Рядом скриншот из видео с военным парадом, на котором видна Точка-У.

Еще один фейк, который пытались распространить в СМИ: «выпущенная по Краматорску ракета принадлежала ВСУ, это подтверждает ее серийный номер». Прочитайте подробное опровержение этой лжи.

Посмотрите на последствия удара. Кому конкретно из этих людей мстили за детей Донбасса?

Ищу терморегулятор для стола на Arduino nano

MexaLbl4
Загрузка

03.07.2017

5570

Вопросы и ответы Приветствую, друзья!

Прошу прощения за возможно глупую просьбу, но хочу найти скетч и схемку на Ардуино для реализации терморегулятора для нагревательного стола…грубо говоря — ардуино-термостат с классическим термистором(NTC), дисплеем и мосфетом, чтобы управлять нагревом стола отдельно от связки мега+рампс. Некое подобие уже находил, но хотелось бы не прописывать в прошивке значения температуры, а видеть их на экране и выставлять нужное значение кнопочками :)))

Вопрос больше из разряда ‘вдруг кто видел подобное’.

На Алиэкспресс нашел терморегулятор, стоит копейки, но предел температуры — 110 град., а хотелось бы хотябы до 120.

Всем добра!)))

Ответы на вопросы

Популярные вопросы

zsm
Загрузка

19.03.2022

433

Всем привет, поделитесь пожалуйста  проектами дельтапринтеров актуальных, и доступных для повторения.Смотрел на росток , но каким то он хлипким к…

Читать дальше jonik22sm
Загрузка

21.03.2022

245

Добрый день. 

Предисловие у меня принтер ANET A8 PLUS

Вчера вечером подключил USB и когда я подключил, принтер…

Читать дальше mlizart
Загрузка

26.05.2018

38601

Часто участникам портала приходится изготавливать зубчатые колеса и шестерни. Но мало кто задается вопросом, в чем их отличие?

Недавн…

Читать дальше

Ардуино и микросхемы | Терморегулятор W1209 12V с релейным выходом

Терморегулятор цифровой программируемый WС1209 с одним релейным выходом адаптирован для проектов Ардуино с низким энергопотреблением и памятью настроек. Термостат также нашел широкое применение для автоматического поддержания заданного теплового режима теплиц, инкубаторов, аквариумов и т.п. Может работать как на охлаждение, так и на нагрев. В комплект терморегулятора входит Датчик температуры на основе NTC с сопротивлением 10KOHm. Датчик температуры NTC находится в герметичной колбе из нержавеющей стали и имеет провод для соединения с платой длиною 1 метр. Реле имеет настройку задержки срабатывания до 10 минут. Датчик температуры имеет регулировку показаний от -7 градусов до +7 градусов с шагом регулировки 0.1 градус.

Терморегулятор оснащен 3-bit индикатором для показаний и светодиодным индикатором вкл/выкл реле. Для подключения нагрузки используются контакты «К0/К1«. Питание платы подключается через контакты «12V/GND» соответственно.

Перед работой следует подключить нагрузку (с током коммутации не более 10 Ампер при 220 вольтах) к разъемам «К0-К1». Нагрузка подключается последовательно, т.е. в разрыв цепи питания управляемого прибора! Далее надо подключить питание самой платы, т.е. подать 12 вольт. После подачи питания на дисплее должна отобразится текущая температура, которую измерил выносной датчик NTC. 

Для установки нужной температуры, которую нужно отслеживать (контролировать) надо:

  • кратковременно нажать кнопку «SET» 
  • Кнопками «+» или «-» установить нужное значение
  • кратковременно нажать кнопку «SET» для подтверждения или не нажимать никакие кнопки в течение 5-ти секунд.

                                               Программирование:

Для входа в режим программирования:

  1. нажмите и удерживайте кнопку «SET» в течение 5-ти секунд. Кнопками «+» или «-» выбурите нужный пункт меню «Р0.Р6»
  2. для настройки параметра в выбранном пункте меню нажмите кратковременно кнопку «SET» и далее с помощью кнопок «+» или «-» установите нужное значение.
  3. нажмите и удерживайте кнопку «SET» в течение 5-ти секунд для сохранения настроек.
Код/Параметр Описание параметра Диапазон настройки По умолчанию
P0 Режим работы: охлаждение(Cooling)/Нагрев (Heating) C/H C
P1 Гистерезис, ℃ 0.1—15℃ 2
P2 Верхний предел поддерживаемой температуры, ℃ +110℃ +110℃
P3 Нижний предел поддерживаемой температуры, ℃ -50℃ -50℃
P4 Коррекция температуры, ℃ -7.+7 0
P5 Задержка времени вкл. реле, мин 0.10 0
P6 Верхний предел отключения, ℃/ Защита от перегрева OFF/ON (от 0 до 110) OFF

Следует отметить, что значение задержки времени включения реле (пункт «P5») может отличаться от выбранного в пределах ±50%

Показания на дисплее обозначают:

«LLL»   — не подключен датчик температуры

«HHH» — измеренная датчиком температура находится вне пределов «-50.+110»

«»    — превышение значения заданного предела в пункте «P6»

Для возвращения к заводским установкам или настройкам по умолчанию надо:

  1. отключить питание (12VDC)
  2. нажать и удерживать одновременно кнопки «+» и «-«
  3. при нажатых кнопках подать питание (12VDC)

 После выполненных действий на индикаторе должно отобразиться «888», после чего индикатор должен отобразить измеренную датчиком Температуру. 

Термостат на Arduino » NGIN.pro

Термостат на Arduino
Идея проста, использовать Arduino и датчик температуры TMP-36 вместе с небольшим ЖК-экраном, чтобы создать функционирующий термостат своими руками.
Но как это сделать?Читайте дальше и узнайте!

Шаг 1: Материалы

Макетная платаArduino UnoЖК-экран 16×2Потенциометр 300 Ом 3 х  выключатели3 х 10 кОм резисторы1 х LED (цвет на ваш выбор)1 х датчик температуры, можно TMP-36Различные провода-перемычки, около 30-40 будет достаточно.Шаг 2: Код программы
Скачать файл: arduino_thermostat_v_2.zip [1,56 Kb] (cкачиваний: 440)
Вы можете изменить программу по своему вкусу.

Шаг 3: Соберите схему

Во-первых, подключить ЖК-экран в голове макетки. 
Обеспечить питание платы, подключив один провод от пина 5V к + шины питания на вашей макетке и другой провод от штифта GND на Arduino к другой шине питания на вашем макете.

Присоединить провод от шины питания к внешнему пину, а затем еще один провод от шины заземления до другого крайнего пина. Подсоедините провод, проходящий от среднего контакта потенциометра к контакту 3 на ЖК-экране.

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

Теперь для остальной части контактов на ЖК:

Подключите контакт 4 к контакту 12 на Arduino

Подключите контакт 5 к контакту 11 на Arduino

Подключите контакт 6 к шине GND.

Подключите контакт 11 к контакту 5 на Arduino

Подключите контакт 12 к контакту 4 на Arduino

Подключите контакт 13 к контакту 3 на Arduino

Подключите контакт 14 к контакту 2 на Arduino

Подключите контакт 15 к шине GND

и, наконец, Подключите контакт 16 к шине питания.

Теперь к кнопкам. Этот процесс может быть повторен 3 раза, разница лишь в том, куда вывод данных идет.

Подключите шину питания к одному контакту кнопки, а затем на 2-й ноге, подключить провод data к контакту 7 на Arduino. К тому же контакту подключить 10kОм резистор к шине GND.

Повторите этот процесс еще 2 раза, подключив провода data на контакты 8 и 9 на Arduino, соответственно.

Подключите датчик температуры в макете.
Подключите светодиод на место, длинная ножка на пин 13 на Arduino.
Дважды проверьте все соединения, сравнивая его либо выше текст или фотографии выше.

Шаг 4: Время для тестирования!

Подключите Arduino к компьютеру с помощью кабеля USB и загрузите программу на Arduino.

Если все было сделано правильно, вы должны теперь иметь работающий термостат!

Если нет, обратитесь к следующему шагу (руководство по устранению неполадок).

Шаг 5: Хм … Это не похоже на работу (устранение неисправностей)

Вопрос: Помогите! Мои ЖК-дисплеи тарабарщина символов!

О: Двойная проверка всех соединений. Убедитесь, что все они собираются из правильных выводов на правильных контактов на Arduino. Если это не сработает, попробуйте заменить провода.

Вопрос: Кнопки не работают!

О: Если у вас есть мультиметр, самое простое, что нужно сделать, это включить его в режим непрерывности и протестировать кнопку. Если кнопка работает правильно, попробуйте изменить провода.

Источник


Модуль RA149M. Терморегулятор цифровой Термодаллас (-55°С +125°С, шаг 0.1°С)

Цифровой универсальный терморегулятор — это микроконтроллерное электронное устройство, предназначенное для поддержания заданной пользователем температуры объекта. Терморегулятор устанавливается в розетку, а коммутируемая нагрузка (электрические ТЭНы, компрессоры, вентиляторы и др.) подключается к гнездам на передней панели прибора.
     Трехразрядный светодиодный индикатор отображает значения температуры, измеряемой высокоточным датчиком DS1820. Длина провода для датчика (в комплекте) — 2м.
     Управление терморегулятором осуществляется с помощью двух кнопок, расположенных по обе стороны от индикатора.
     Управление нагрузкой осуществляется путем ее коммутации через встроенное в прибор реле.
     При работе в режиме НАГРЕВ — при достижении заданной температуры t, терморегулятор отключает нагревательный элемент до падения температуры на заданное пороговое значение Δt (Gs) (по умолчанию 4 градуса), после чего электропитание нагревательного элемента возобновляется.
     При работе в режиме ОХЛАЖДЕНИЕ терморегулятор поддерживает температуру объекта не выше заданной температуры t. При первоначальном включении охлаждение происходит до значения t-Δt, т.е. ниже заданной температуры t на значение Δt, после чего реле отключается. При нагреве объекта до температуры t, терморегулятор включает охлаждающий элемент и объект снова охлаждается на установленное значение t-Δt после чего охлаждение объекта снова отключается. Далее цикл повторяется.

Варианты использования
  • Теплые полы
  • Инкубаторы
  • Теплицы
  • Погреба, кладовые

Характеристики:
  • Режимы работы:
    • нагрев
    • охлаждение
  • Диапазон измеряемых температур: -55°C…+125°C
  • Диапазон регулируемых температур: -55°C…+125°C
  • Дискретность индикации в диапазонах:
    • -9,9°C…+99°C — 0,1°C
    • -55°C…-10°C; +100°C…+125°C — 1°C
  • Погрешность измерения: не более 0,5°C
  • Температурный порог (Δt): 0,0…25°C
  • Максимальный ток активной нагрузки: 7А
  • Напряжение питания: ~220В ± 10%, 50 Гц
  • Потребляемая мощность: не более 5Вт

Внимание: При необходимости использовать датчик температуры в токопроводящихжидкостях — необходимо поместить его в герметичную водонепроницаемую капсулу!

Используйте arduino для преобразования старого механического термостата в программируемый термостат

Используйте Arduino для преобразования старого механического термостата в программируемый термостат

Программируемые термостаты — отличный способ сохранить энергию и деньги. Но вам не нужно выходить и покупать. Вы можете модернизировать старый механический термостат. Все, что вам нужно — это микроконтроллер Arduino и сервомотор.

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

материалы

Микроконтроллер Arduino

Кабели соединителя Arduino

Серводвигатель

2 x мгновенных переключателя

2 x 100 кОм Резисторы

Большой скрепка (или другая стальная проволока)

Провода для перемычек

Код

Прилагается копия кода Arduino для этого проекта. Загрузите код и откройте его в редакторе программирования Arduino. Первое, что вам нужно сделать, это установить температуру по умолчанию (в градусах по Фаренгейту) в переменной «defaultTemperature». Это будет температура, в которой ваш дом будет большую часть времени. В течение недели температура будет корректироваться вверх или вниз от этой базовой линии.

Затем вам нужно установить почасовую регулировку температуры. Они хранятся в двухмерном массиве с именем «dayTimeArray (7) (24)». Массив делится на дни недели и отдельные часы в каждый день. Каждый час недели изначально устанавливается в 0. Это означает, что в это время настройка температуры равна температуре по умолчанию. Чтобы настроить это значение, введите значение для этого часа (положительное или отрицательное), которое представляет количество градусов вверх или вниз, которое вы хотите изменить настройку температуры относительно температуры по умолчанию. Например, если температура по умолчанию составляет 68 градусов, и вы хотите, чтобы температура в определенное время составляла 66 градусов, тогда вы должны ввести значение «-2» для этой позиции в массиве. Введите настройки температуры для каждого часа недели.

Продолжая код, вам нужно ввести числовое значение для текущего дня недели (от 0 до 6), часа дня (от 0 до 23) и минуты (от 0 до 59). Каждый из них хранится в своей переменной.

Ниже вы найдете переменную с именем «servoTemperatureConversion». Это означает, что количество градусов вращения сервопривода соответствует изменению градуса на термостате. Вы можете настроить это для калибровки системы на ваш специальный сервопривод. Но вам нужно подождать, пока вы не присоедините серво-ротор к регулировочному рычагу термостата.

После того, как вы внесете все необходимые изменения в код, загрузите его в свой Arduino.

Скачать код

Подключите коммутаторы и серво

Два переключателя подключены к Arduino, чтобы вы могли вручную регулировать температуру без перепрограммирования системы. Для этого вам нужны два моментальных переключателя. Одна сторона каждого переключателя подключена к 5V. Другая сторона переключателей подключена к цифровым контактам 10 и 11. Затем цифровые контакты 10 и 11 также подключаются к GND с резисторами 100 кОм. Эти резисторы действуют как выталкивающие резисторы и будут удерживать цифровые контакты в состоянии LOW до тех пор, пока не будут нажаты кнопки. Это предотвращает ложное срабатывание от электрических помех. Чтобы избежать перехвата переключателя (система, интерпретирующая одну кнопку, нажав несколько нажатий на кнопку), код, который он настроил, чтобы принимать только один вход от коммутатора в секунду.

Сервопривод имеет три провода. Один провод (обычно красный) подключается к 5V. Другой провод (обычно коричневый или черный) подключается к GND. Третий провод (оранжевый в этом случае) является сигнальным проводом и подключается к цифровому выводу 9. Различные производители используют разные цветовые коды, поэтому найдите соответствующие цвета для вашего серво.

Присоедините сервопривод в сторону термостата

Следующее, что вам нужно сделать, это вставить сервопривод в сторону термостата. Самый простой способ сделать это — с большой каплей горячего клея. Убедитесь, что монтажное отверстие на роторе выровнено горизонтально с помощью головки регулировочного рычага термостата.

Подключите ротор сервопривода к кронштейну регулировки температуры термостата

Самый простой способ подключения ротора сервоусилителя к кронштейну термостата — это кусок стальной проволоки. Установите сервопривод в положение по умолчанию (включив Arduino) и установите термостат по умолчанию. Я просто использовал большую скрепку. Сначала я выпрямил провод. Затем я согнул его в форму, которая соединила бы две части. Наконец, я наклонил провод в петлю на каждом конце, чтобы удерживать кусочки на месте.

Используйте термостат

Теперь ваш программируемый термостат DIY должен работать. Он автоматически будет поддерживать температуру в течение всей недели. Чтобы сделать ручную настройку температуры, вы можете нажимать кнопки вверх или вниз, и все настройки температуры будут сдвинуты вверх или вниз на один градус.

Имейте в виду, что если Arduino когда-либо отключится, он перезапустит программу. Поэтому, если питание отключается, помните, чтобы сбросить день и время.

Скачать код

Попробуйте этот проект сами! Получить спецификацию.

Термостат Arduino | James’s Knowledge Graph

Этот термостат на базе Arduino Uno оснащен ЖК-дисплеем с текущей и заданной температурой, а также контролем температуры и переключением измерений (градусы Фаренгейта/Цельсия) с помощью тумблеров.

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

Термостат запчасти

0
Часть Количество
Arduino Uno 1
1
16×2 LCD 1
Потенциометр 1
мгновенных коммутаторов 3
3
10K Ω резисторов
3
5V реле 2
DHT11 датчик температуры и влажности 1
перемычки провода несколько

Аппаратная сборка

Инструкции могут ввести в заблуждение, если вы не обратитесь к следующей схеме подключения!

1.Подключение ЖК-дисплея к макетной плате

Обратите внимание: обозначения некоторых контактов могут различаться в зависимости от марки.

0
9001 VSS RS E 2
LCD PIN-код
VSS Mathboard Rail ( - )
VDD VDD Rail Rail ( + )
VO 9009 Потенциометр стеклоочиститель (средний PIN)
RS Arduino PIN 11
RW Ground Rail ( - )
E Arduino Pin 12 9009
D4 (иногда DB4 ) Arduino Pin
D5 (иногда DB5 ) 9009 Arduino PIN 3
D6 (иногда DB6 ) Штырек Arduino 4
9 0096 D7 (иногда DB7 ) Arduino PIN-код 5
A (иногда LED + ) MASOBOBROBORE Rail ( + )
K (иногда светодиод - ) Рельс заземления макетной платы ( - )

2.Подключите потенциометр

Установите потенциометр на макетную плату. Подключите внешние контакты потенциометра к шинам питания и заземления макетной платы. Контакт стеклоочистителя (посередине) будет подключаться к контакту LED VO .

3. Подсоедините переключатели мгновенного действия

Установите каждый переключатель мгновенного действия на макетную плату, затем подключите один контакт каждого переключателя к шине питания макетной платы ( + ), а другой — к шине заземления макетной платы () с помощью Резистор 10 кОм.Наконец, подключите каждый заземленный PIN-код в Arduino в соответствии со своей целью:

Назначение Arduino PIN
Температура
7
Toggle Cellius / FaRenheit 8
Снижение температуры 9

, соответственно.Подключите сигнальный контакт к контакту Arduino

A0 .

5. Подсоедините реле

Подсоедините выводы заземления и питания каждого реле к шинам заземления и питания соответственно. Наконец, соедините каждую реле сигнал PIN-контакт к Arduino в соответствии с его назначением:

человек
Отопление 13
Охлаждение 10

6.Проверьте соединения

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

Запись программного обеспечения

1. Импорт библиотеки DHT

Библиотека DHT по умолчанию недоступна. Чтобы установить его, перейдите в Arduino IDE к Инструменты Управление библиотеками… , затем найдите «Библиотека датчиков DHT» и установите ее.

2. Напишите (или скопируйте и вставьте) код

Вот полный аннотированный код термостата:

 



#include 
#include 



константа целое
DHT_PIN = А0,
DHT_TYPE = DHT11;

Датчик DHT (DHT_PIN, DHT_TYPE);



константа целое
LCD_PIN_RS = 11,
LCD_PIN_EN = 12,
LCD_PIN_D4 = 2,
LCD_PIN_D5 = 3,
LCD_PIN_D6 = 4,
LCD_PIN_D7 = 5;

Жидкокристаллический ЖК(
LCD_PIN_RS,
LCD_PIN_EN,
LCD_PIN_D4,
LCD_PIN_D5,
LCD_PIN_D6,
LCD_PIN_D7);


константа целое
DECREMENT_BTN_PIN = 7,
TOGGLE_BTN_PIN = 8,
INCREMENT_BTN_PIN = 9;


константа целое
HEATER_PIN = 13,
COOLER_PIN = 10;


логическое использование по Фаренгейту = истина;
int targetF = 72, targetC = 22;

недействительная установка () {
  
  Серийный.начало (9600);
  Serial.print("настройка()\n");

  
  датчик.начало();
  Serial.print("\цензор инициализирован\n");

  
  lcd.begin(16, 2);
  lcd.setCursor (0, 0);
  ЖК.очистить();
  Serial.print("\tLCD инициализирован\n");

  
  pinMode (INCREMENT_BTN_PIN, INPUT);
  pinMode (DECREMENT_BTN_PIN, ВВОД);
  pinMode (TOGGLE_BTN_PIN, ВВОД);
  Serial.print("\tButtons инициализированы\n");
  
  
  pinMode(HEATER_PIN, ВЫХОД);
  pinMode (COOLER_PIN, ВЫХОД);
  
  Serial.print("настройка() ВЫПОЛНЕНА\n");
}

недействительный цикл () {
  Serial.print("цикл()\n");

  
  bool incrementTarget = digitalRead (INCREMENT_BTN_PIN);
  bool decrementTarget = digitalRead (DECREMENT_BTN_PIN);
  bool toggle = digitalRead(TOGGLE_BTN_PIN) == HIGH;
  логическое ожидание = incrementTarget || уменьшитьцель || переключать;

  
  if(toggle) useFahrenheit = !useFahrenheit;
  если (incrementTarget) { targetF++; целевойС++; }
  if (decrementTarget) { targetF--; цельC--; }
  const char symbol = useFahrenheit ? «Ф»: «С»;
  const int target = useFahrenheit ? цельF : цельC;

  
  температура поплавка = датчик.чтениеТемпература (использование по Фаренгейту);
  влажность с плавающей запятой = sensor.readHumidity();
  Серийный.печать(
"\t" + строка (температура) + "°" + символ +
", Относительная влажность" + Строка(влажность) +
"%\n");
  
  
  lcdWrite(0, "Temp: " + String(температура) + символ);
  lcdWrite(1, "Цель: " + Строка(цель) + ".00" + символ);

  
  если (круглый (цель) > круглый (температура)) digitalWrite (HEATER_PIN, HIGH);
  иначе цифровая запись (HEATER_PIN, LOW);

  if(round(цель) < round(температура)) digitalWrite(COOLER_PIN, HIGH);
  иначе цифровая запись (COOLER_PIN, LOW);

  
  если (ждать) задержка (500);
}


void lcdWrite (постоянная логическая строка, постоянная строка и текст) {
  ЖК.установитьКурсор(0, строка);
  lcd.print (текст);
}  

Подключите Arduino к компьютеру и нажмите кнопку Upload , чтобы развернуть код на Arduino.

3. Попробуйте!

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

Вот видео термостата в действии:

Кредит

Этот проект адаптирован из термостата Arduino Мики Билера.

Статьи, которые помогли

Более широкие темы, связанные с термостатом Arduino

ЖК-дисплей Arduino 16x2

Как использовать популярный ЖК-дисплей 16x3, входящий в состав многих комплектов Arduino

Arduino Uno

Электронная платформа с открытым исходным кодом для интерактивных проектов и прототипов

Реле

Узнайте о реле

График знаний по термостатам Arduino

Использование Arduino для преобразования старого механического термостата в программируемый термостат

Программируемые термостаты — отличный способ сэкономить как энергию, так и деньги.Но вам не нужно идти и покупать его. Вы можете обновить свой старый механический термостат. Все, что вам нужно, это микроконтроллер Arduino и серводвигатель.

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

Материалы

Микроконтроллер Arduino
Соединительные кабели Arduino
Серводвигатель
2 переключателя мгновенного действия
2 резистора по 100 кОм
Большая скрепка (или другая стальная проволока) 
Соединительные провода

Код

Прилагается копия кода Arduino для этого проекта.Загрузите код и откройте его в редакторе программирования Arduino. Первое, что вам нужно сделать, это установить температуру по умолчанию (в градусах по Фаренгейту) в переменной «defaultTemperature». Это будет температура, которая будет в вашем доме большую часть времени. В течение недели температура будет повышаться или понижаться по сравнению с этим базовым уровнем.

Далее необходимо установить почасовую регулировку температуры. Они хранятся в двумерном массиве с именем «dayTimeArray [7][24]». Массив разбит на дни недели и отдельные часы в каждом дне.Каждый час недели изначально установлен на 0. Это означает, что в это время установка температуры равна температуре по умолчанию. Чтобы настроить это, введите значение для этого часа (положительное или отрицательное), которое представляет количество градусов вверх или вниз, на которое вы хотели бы изменить настройку температуры относительно температуры по умолчанию. Например, если температура по умолчанию составляет 68 градусов, а вы хотите, чтобы температура в определенное время составляла 66 градусов, то вы должны ввести значение «-2» для этой позиции в массиве.Введите температурные корректировки для каждого часа недели.

Продолжая ввод кода, необходимо ввести числовое значение текущего дня недели (от 0 до 6), часа дня (от 0 до 23) и минуты (от 0 до 59). Каждый из них хранится в своей собственной переменной.

Ниже вы найдете переменную с именем «servoTemperatureConversion». Это представляет количество градусов вращения сервопривода, соответствующее изменению градуса на термостате.Вы можете отрегулировать это, чтобы откалибровать систему для вашего конкретного сервопривода. Но вам нужно подождать, пока вы не сможете прикрепить ротор сервопривода к регулировочному рычагу термостата.

После внесения всех необходимых изменений в код загрузите его в Arduino.

Программируемый_Термостат_Arduino_Code.zip

Подключение переключателей и сервопривода

Два переключателя подключены к Arduino, чтобы вы могли вручную регулировать температуру без необходимости перепрограммирования системы.Для этого вам понадобятся два переключателя мгновенного действия. Одна сторона каждого переключателя подключена к 5В. Другая сторона переключателей подключается к цифровым контактам 10 и 11. Затем цифровые контакты 10 и 11 также подключаются к GND с помощью резисторов 100 кОм. Эти резисторы действуют как подтягивающие резисторы и будут удерживать цифровые контакты в НИЗКОМ состоянии до тех пор, пока не будут нажаты кнопки. Это предотвращает ложное срабатывание из-за электрических помех. Чтобы избежать дребезга переключателя (система интерпретирует одно нажатие кнопки как нажатие нескольких кнопок), код, который он настроил, принимает только один ввод от переключателя в секунду.

Сервопривод имеет три провода. Один провод (обычно красный) подключается к 5В. Другой провод (обычно коричневый или черный) подключается к GND. Третий провод (в данном случае оранжевый) является сигнальным проводом и подключается к цифровому контакту 9. Различные производители используют разные цветовые коды, поэтому найдите подходящие цвета для своего сервопривода.

Прикрепите сервопривод сбоку к термостату

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

Подсоедините ротор сервопривода к рычагу установки температуры термостата

Самый простой способ соединить ротор сервопривода с рычагом термостата с помощью куска стальной проволоки. Установите сервопривод в положение по умолчанию (включив Arduino) и установите термостат на температуру по умолчанию.Я просто использовал большую скрепку. Сначала я выпрямил провод. Затем я согнул его в форму, которая соединила бы две части. Наконец, я согнул проволоку в петлю на каждом конце, чтобы удерживать кусочки на месте.

Использование термостата

Теперь ваш самодельный программируемый термостат должен работать. Он автоматически будет температуру для вас в течение недели. Чтобы выполнить ручную настройку температуры, вы можете нажать кнопки вверх или вниз, и все настройки температуры будут смещены вверх или вниз на один градус.

Имейте в виду, что если Arduino когда-либо отключится, программа перезапустится. Поэтому, если электричество отключится, не забудьте сбросить день и время.

Программируемый_Термостат.mp4

Попробуйте этот проект сами! Получите спецификацию.

Arduino, проект 60 — термостат и реле на базе Arduino — BuildCircuit.COM

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

Мы не используем файлы cookie этого типа.

Маркетинговые файлы cookie используются для отслеживания посетителей на веб-сайтах.Цель состоит в том, чтобы показывать релевантную и привлекательную рекламу для отдельного пользователя и, следовательно, более ценную для издателей и сторонних рекламодателей.

Мы не используем файлы cookie этого типа.

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

Мы не используем файлы cookie этого типа.

Файлы cookie предпочтений позволяют веб-сайту запоминать информацию, которая меняет поведение или внешний вид веб-сайта, например предпочитаемый вами язык или регион, в котором вы находитесь.

Мы не используем файлы cookie этого типа.

Неклассифицированные файлы cookie — это файлы cookie, которые мы классифицируем вместе с поставщиками отдельных файлов cookie.

Мы не используем файлы cookie этого типа.

Скачать бесплатно STL-файл Arduino Thermostat • Спроектировать для 3D-печати ・ Cults

?

Качество создания: 5.0/5 (1 голос)

Оценка членов на пригодность для печати, полезность, уровень детализации и т.д.

Ваш рейтинг: 0/5 удалять

Ваш рейтинг: 0/5

  • 👁 2,8к взгляды
  • ♥ 6 нравится
  • 0 Комментарии
  • 36 загрузки
  • 0 делает

Описание 3D модели

Для получения более новой и улучшенной версии на моем собственном веб-сайте перейдите по адресу https://www.designuitinspiratie.nl/hot-end-thermostaat/


Для меня это супер удобный инструмент, так что может пригодится еще кому-нибудь в интернете 🙂

Подключите 100K NTC, нагреватель и блок питания 12–24 В. Затем установите нужную температуру, и этот термостат будет поддерживать нагреватель при заданной температуре.

Это самодельный инструмент, который я использовал для нагрева нагревателей, таких как Hot End и Heat Beds от 3D-принтеров.
Так я смогу работать с ними на скамейке. Это также пригодится для сушки нити или поддержания определенной температуры в любой камере.В верхней строке дисплея отображается температура термистора. Нижняя строка показывает установленную температуру. Красный светодиод Горит, когда нагреватель активирован. Arduino питается отдельно от части FET и нагревателя, поэтому у меня есть свободный выбор в отношении питания. Arduino может получать питание от переднего порта через USB или настенный адаптер или через задний разъем.

Он встроен в корпус старого DVD-рекордера (предназначен для корпусов ПК)
Основой является Arduino Uno, который измеряет температуру и включает полевой транзистор для нагревателя.В разделе «Фото» я включил очень простую схему. Также для тех, кто заинтересован, включен скетч Arduino. Я установил свой в C, но опция Фаренгейта все еще (отключена) в эскизе.

Примечание. Мне пришлось обрезать некоторые провода Adruino Short, чтобы они вставлялись в переднюю часть (напечатанную на 3D-принтере).

Примечание 2: красный светодиод не показан на схеме

.

Примечание 3: Я использовал оптопару, но она работает и без нее. Вы можете пропустить это, просто подключив затвор полевого транзистора (через резистор) напрямую к Arduino.Но я думаю, что люди, которым это интересно, знают:-)

В противном случае не стесняйтесь спрашивать 🙂

Информация о файле 3D-принтера

  • Формат 3D-дизайна : STL и ZIP Сведения о папке Закрывать
    • Термостат2met_display.zip
    • зад.стл
    • перед.стл

    Подробнее о форматах

  • Последнее обновление : 2020/05/15 в 22:09
  • Дата публикации : 2020/01/28 в 08:40

Лицензия

CCBYNCSA

Метки

Создатель

Вдохновение через цифровые модели...

Вы имеете в виду особую модель? Дайте мне знать 🙂 Вы можете нанять меня 🙂

Вы можете поддержать меня: PayPal.me/jobsmolders


Бестселлеры категории Инструменты


Хотели бы вы поддержать культы?

Вам нравятся культы и вы хотите помочь нам продолжить приключение самостоятельно ? Обратите внимание, что мы небольшая команда из 3 человек , поэтому очень просто поддержать нас, чтобы поддерживали деятельность и создавали будущие разработки .Вот 4 решения, доступные всем:

  • РЕКЛАМА: Отключите блокировщик баннеров AdBlock и нажмите на наши рекламные баннеры.

  • ПРИСОЕДИНЕНИЕ: Совершайте покупки в Интернете, нажав на наши партнерские ссылки здесь Amazon или Aliexpress.

  • ПОЖЕРТВОВАТЬ: Если вы хотите, вы можете сделать пожертвование через PayPal здесь.

  • СВОБОДНЫЕ СВЕДЕНИЯ: Пригласите своих друзей, откройте для себя платформу и великолепные 3D-файлы, которыми делится сообщество!

Экран термостата Arduino - DIYLESS Electronics

Arduino Thermostat Gateway можно использовать для сборки термостата OpenTherm своими руками.
Вам просто нужно выполнить следующие простые шаги:

Компонент штук
Master OpenTherm Shield 1
Плата Arduino OpenTherm 1
Датчик температуры DS18B20 1
Однорядная вилка 2.54-мм ломающийся контактный разъем 10-контактный 1
Однорядный штекер 2,54 мм с разрывным контактным разъемом 8-контактный разъем 2
Однорядный штекер 2,54 мм с разрывным контактным разъемом 6-контактный разъем 1
Разъем с винтовой клеммной колодкой KF128-2P 3.81 мм 2 контакта 1

Вставьте Arduino в цепь термостата, но без общего

Было бы поучительно прочитать эту запись часто задаваемых вопросов от Nest, производителя интеллектуального термостата, о проводе C:

https://гнездо.com/support/article/When-Nest-needs-a-common-C-wire#wire-may-термостат

Насколько я могу судить, то, что Nest делает, когда «ворует энергию» — то есть работает без провода C — заряжает внутреннюю батарею от энергии, которую она потребляет между 230 В и проводами обогрева/охлаждения. Это чем-то похоже на то, что вы предлагаете, но обратите внимание: (1) В зависимости от вашего вентилятора, он может работать, пока вы «воруете» через него энергию, или останавливаться и запускаться, или нагреваться (поскольку обычно он не пропускает ток при этом не дует), или что-то еще неожиданное.(2) Когда вы действительно хотите, чтобы вентилятор действительно дул, вам придется закоротить провода 230 В и вентилятора, и в этот момент вы не сможете получить через них больше энергии: теперь вы понимаете, почему у Nest есть батарея. .

Инженеры Nest, вероятно, потратили много времени на точную настройку и эксперименты с различными моделями обогревателей и кондиционеров, чтобы сделать все правильно; и у них все еще есть запись FAQ, в которой отмечается, что при использовании кражи энергии: «в некоторых случаях вы можете столкнуться со странным поведением при нагреве или охлаждении... [y]наша система издает странные звуки: дребезжание, заикание, щелчки или удары - это может быть вызвано тем, что ваша система быстро включается и выключается ... системный вентилятор всегда работает или не включается [или] включается и выключается несколько раз в течение короткого промежутка времени."

Так что я бы предположил, что это сложное дело лучше оставить профессионалам. Думали ли вы, что большинство термостатов работают от батареек типа АА?

(Также обратите внимание: работа с напряжением 230 В опасна. Это может привести к летальному исходу. Я чувствую себя обязанным отметить, что это не очень хорошая идея, если вы не являетесь экспертом и тщательно не следуете надлежащей практике.Знаете ли вы категорию измерения вашего мультиметра? Если это не Cat III, то технически даже нельзя безопасно измерять мощность сети в розетке.)

Контроллер Arduino OpenTherm - хобби проекты


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

Главной частью каждой системы отопления является котел. Большинством котлов можно управлять с помощью простого термостата включения/выключения. Однако более новые котлы поддерживают модуляцию мощности и позволяют термостатам регулировать температуру отопительной воды. Котел будет использовать больше или меньше газа (электричества), при необходимости, чтобы достичь температуры воды, установленной термостатом. Использование простого устройства управления включением/выключением значительно снизит эффективность системы по сравнению с модулирующим термостатом.

OpenTherm (OT) — это стандартный протокол связи, используемый в системах центрального отопления для связи между котлом центрального отопления и термостатическим контроллером. Официальный веб-сайт www.opentherm.eu. Используя протокол OpenTherm, вы можете контролировать как температуру горячей воды в бойлере, так и температуру воды, используемой для отопления дома. Есть довольно много производителей, которые делают котлы, совместимые с OpenTherm.Спецификацию протокола версии 2.2 вы можете найти здесь. Котел и термостат следует подключать двумя проводами независимо от полярности. Уровни напряжения: Низкий уровень 7В, Высокий уровень - 15..18В.

Так что для управления котлом через ардуино нужно сделать переходник OpenTherm to TTL level. Я нашел схему DIY Opentherm Gateway, на базе PIC-контроллера, который позволяет отправлять команды OpenTherm на котел через последовательный порт. Мне было любопытно понять протокол OpenTherm и функции, которые он предоставляет, поэтому я решил реализовать только адаптерную часть этой схемы и управлять котлом напрямую с помощью Arduino.

Схема:


Печатная плата:


Печатная плата:


Реализация:

Выход последовательного порта:


Оборудование:

  • Оптопара PC817 x 2 0,2$
  • Транзистор PNP 0,1$
  • Диод 1N4148 x 4 0,1$
  • Стабилитрон 4V7 0,1$
  • Стабилитрон 15 В 0,1$
  • Стабилитрон 4V3 0.1$
  • 1/4 Вт 5% Резистор 100 Ом 0,01$
  • 1/4 Вт 5% Резистор 220 Ом 0,01$
  • 1/4 Вт 5% Резистор 330 Ом x 2 0,01$
  • 1/4 Вт 5% Резистор 1 к5 Ом 0,01$
  • Arduino Mega 2560 R3 или любой совместимый с Arduino 2-7$

Программное обеспечение:

Соединения:

Для подключения адаптера мы можем использовать любой совместимый с Arduino контроллер, просто выберите случайным образом два контакта GPIO и обновите две константы (OT_IN_PIN и OT_OUT_PIN) в скетче.Я сделал печатную плату, совместимую с Arduino Mega Shield, подключенную к контактам 18, 19 для данных и 5V, GND в качестве источника питания. Котел должен быть подключен к адаптеру (вместо термостата) двумя проводами с помощью винтовой клеммы.

Простой скетч позволяет отправлять OpenTherm запросы к котлу и получать ответы. Есть массив (запросов) базовых команд:

  • 0 - получить статус
  • 1 - установка температуры центрального отопления (64 или C в моем случае)
  • 25 - получить температуру котловой воды
Вы можете просто добавить другие команды, описанные в спецификации протокола, для управления котлом и просмотра ответов.Каждый запрос и ответ состоит из 64-битного фрейма, который имеет такую ​​структуру:
   P MGS-TYPE SPARE DATA-ID DATA-VALUE
   0 000 0000 00000000 00000000 00000000
    
Где P — бит четности, вы должны установить его в 1, если в запросе нечетное количество битов 1.
MGS-TYPE — 000 для запроса чтения и 001 для записи.
DATA-ID - идентификатор команды.
DATA-VALUE - 16-битное значение, специфичное для каждой команды.

Котел Buderus Logamax u072-24k:


Температура центрального отопления установлена ​​на 64 o C.

Собранный адаптер OpenTherm:

Более подробную информацию о собранном адаптере OpenTherm вы можете найти здесь.
Чтобы купить его, пожалуйста, перейдите на страницу магазина.


.

Добавить комментарий

Ваш адрес email не будет опубликован.