Термостат с регулировкой температуры до 1000 С° с помощью модуля MAX6675, реле и arduino.

Задумал я сделать себе станок по изготовлению прутка пластика диаметром 1,75 мм  для печати на 3D принтере. И прокручивая в голове как это все будет выглядеть, изготовил “краник” состоящий из трубы 1/2″ и  заглушки с просверленным отверстием на 1,75 мм через который будет выдавливаться готовый пластик. Для этой трубы нашел нагревательные элементы, которые должны нагревать трубу до 200-250 градусов. Так как нагревательные элементы довольно простые, работающие как кипятильник у них нет регулировки по температуре, а мне же нужно держать заданную температуру. Для решил найти терморегулятор естественно пошел на Aliexpress и начал там искать подходящий. Там много “слабых” и дешевых терморегулятором, которые до 100C , но нашелся там терморегулятор и до 1000C и стоил он по моим меркам довольно много, вот ссылка: http://ali.pub/2wpnn1 Поэтому было решено сделать свой термостат. Для этого был закуплен модуль для термопары K типа MAX6675 и реле мощностью на 30A ( как раз для кипятильников)  ну и ардуинки у меня уже были закуплены на случай “апокалипсиса”. По цене это все мне обошлось довольно не дорого, так что это получился лучший вариант.

Приобрести все компоненты можно здесь:

arduino uno: http://ali.pub/2wpo97

Модуль термопары К типа max6675: http://ali.pub/2wpog0

Модуль реле: http://ali.pub/2wpp8l

LCD дисплей 16×2: http://ali.pub/2wppku

Итак все компоненты подключил по данной схеме:

 

 

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

Блоки FLProg довольно тяжело описывать на сайте, поэтому я просто оставлю ссылку на проект в FLProg: https://yadi.sk/d/S3LleCYav6fQqA

Демонстрация работы в видео:

Продвинутый термостат для дома / Habr

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


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

Решение
Наше устройство должно уметь:
1) Показывать температуру дома и на улице
2) Включать отопление, когда температура дома упадет ниже заданной
3) Соответственно задавать температуру мы будем графиком(например в 6 утра нам надо 22 градуса, когда все ушли на работу можно и 18 и т.д.)
Из плюшек
4) График температуры на улице за сутки
5) Часы(получились попутно)
Железо
Для большей наглядности решено использовать дисплей LCD TFT на контроллере ILI9320. Этот дисплей выпускается с разными диагоналями(2.2 -3.2 дюйма). Разрешение 240х320. Есть резистивный сенсорный тачскрин. В принципе можно применить практически любой дисплей с таким же разрешением. Потребуется поменять только процедуру инициализации. В прикреплении есть список поддерживаемых контроллеров, для которых есть примеры инициализации, спасибо Noi.


Текст изначально был только 8×8, и для мелких надписей его хватало, так же сделана возможность выводить этот шрифт с удвоенным масштабом. Шрифт генерился программой LCD Font Generator и хранился во flash. Но для больших цифр этого было явно мало. Был создан еще шрифт 128×128 в той же программе. Можно выбрать любой шрифт. Но 10 цифр и 3 символа занимали 200кБ памяти. Мне лень было придумывать формат для сжатия и я добавил внешнюю память eeprom 24c256. В ней хранятся большие цифры и пара пиктограмм.

Схема

Попытка уместить все устройство в тесном корпусе привела к двум платам, соединённые проводом МГТФ.


Первая плата служит для распаивания достаточно мелкого шага дисплея, на второй разместились Atmega32(код занимает 47% flash, поэтому подойдет Atmega16), EEPROM и линейный стабилизатор на 3.3В.

Дисплей питается от 3.3 вольт, да и входа не толерантны к 5 вольтам, поэтому я запитал МК от 3.3В, что бы не добавилось согласование уровней. В качестве датчиков температуры применил DS18B20

Что бы котел понимал что пора включится надо подать 220В на специальный вход. Для коммутации добавлено реле, которое разместилось внутри котла на отдельной плате вместе с блоком питания на 12В и стабилизатором на 5В. Также добавил еще одно реле, его обмотка подключена к 220 напрямую. А общий контакт идет на землю, а нормально замкнутый на вход МК. Теперь для чего нужно. При пропадании электричества, в первую очередь отваливается это реле, тем самым на определенном входе МК появляется ноль. Сразу отключается дисплей. Теперь Atmega работает только за счет заряженных конденсаторов в блоке питания и потребляет 7ma. Этого хватит на 2-3 секунды работы, за это время переписывается вся нужная информация(график задания температуры дома, настройки) в энергонезависимую память.


Для того что бы часы продолжали идти в то время пока нет электричества добавлена микросхема часов реального времени DS1307. Так как идея с этой микросхемой пришла после того как был изготовлен прототип, то я добавил ее на отдельной платке, купленной у китайцев за 2$.


Первое включение

Прототип готов

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

Температура дома

(Можете заметить много служебной информации, которая выводится на дисплей. Она нужна была для отладки, но уже удалена из прошивки)

Температура на улице

График температуры за сутки(реализовано авто масштабирование графика)

График задания температуры дома

В этом режиме видим предыдущий график задания(желтый) и новый, который я только что задал(зеленый).

Через 10 секунд старый удалится и зеленый перерисуется желтым.

Часы. Тут и говорить нечего

Настройки, пока минималистично.

В верхней части дисплея можно заметить рисунок огонька, нарисован он все в той же программе LFG. С генерацией шрифтов, рисунков и прочих символов нет ни каких проблем. Большие цифры были немного широковаты, когда они выводили время, поэтому они сжимались программно на 75%. Пиктограмки домика и улицы переводились в массив с помощью программы LCD Assistant.

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

Исходник на github.com

РадиоКот :: Термостат радиатора-термометр-вольтметр-автомобиля

РадиоКот >Схемы >Цифровые устройства >Защита и контроль >

Термостат радиатора-термометр-вольтметр-автомобиля

 

 

Схема:

 

Детали:

 

RV1-47k(многооборотистый)

R1-4k7

R2-4k7

R3-4k7

R4-4k7

R5-4k7

R6-4k7

C1-47mF(электролит)

C2-0.1mF

C3-0.1mF

U1-DS18B20(программный термостат)

U2-DS18B20

Sim1-Arduino Nano(Китай,Ch440G)

Lcd1-1602A(Китай,без кириллицы,QAPASS)

D1-подсветка экрана(встроенная в экране)

D2-логический выход термостата(в реальности тут может стоять готовый Китайский 5 вольтовый модуль реле)

  

Возможности устройства:


Одновременный вывод информации с двух цифровых датчиков температуры DS18B20 (-55.0 — 127.9*С, у каждого своя линия 1-wire), функция термостата(1-127*С), вольтметра (0.0 — 20.4V).
Вывод сообщений линий 1-wire о отсутствии линии(OFF) и ошибке данных(CRC).
Показания всех измерений так, чтобы точки, десятичные значения, градус цельсия, вольты всегда оставались на одном и том же месте, независимо от количества цифр перед ними.

Настройка через меню-нижней температуры термостата(1-127*С),верхней температуры термостата(1-127*С),яркости(0-100%),контрастности(0-100%). 

 

Работа устройства:

 

Прошиваем AvtoTermostat .При первом включении автоматически будет менятся яркость от 0 до 100% (на понравившейся яркости нужно нажать кнопку ОК), автоматически будет менятся контраст от 0 до 100% (на понравившейся контрастности нужно нажать кнопку ОК).Если этого не произошло то нужно прошить EEPROM ERASE, потом обратно AvtoTermostat и всё должно появится.

Зажимаем MENU, настраиваем Н.Т., В.Т., ЯРКОСТЬ, КОНТРАСТНОСТЬ, выходим в основной режим работы.

Настройка вольтметра-многооборотистым резистором добиваемся того чтоб при изменении входного напряжения с 19,9 вольт на 20,0вольт, на экране произошло тоже самое.Для тех кто хочет большей точности настройки есть прошивка ADC CALIBRATE, прошиваем ее настраиваем 20,00вольт=1000ADC, прошиваемся обратно AvtoTermostat.

Принцип работы термостата-пример.:выставляем Н.Т.=30градусам, В.Т.=50градусам.Когда температура станет равной 50 градусам или больше засветится светодиод D2 на экране появится значёк «*», после этого температура должна падать и когда она станет ниже 30 градусов светодиод D2 погаснет значёк «*» исчезнет.

 

Экран:

 

 

 

 

 

 

 

Файлы:
ADC CALIBRATE
AvtoTermostat
EEPROM ERASE
Arduino Nano
Proteus

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?


Эти статьи вам тоже могут пригодиться:

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

MexaLbl4 Идет загрузка
Загрузка

03.07.2017

3645

печатает на Prusa i3 Steel Вопросы и ответы Приветствую, друзья!

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

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

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

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

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

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

krasstilyaga Идет загрузка

Загрузка

24.01.2020

483

Всем доброго времени суток, пишу Вам из Красноярска, пока еще даже не начинающий, но желающий освоить 3d печать (попутно начал изучать солидворкс) . П…

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

02.02.2020

345

После смены родной платы на SKR mini v 1.2, cпустя 20-30 минут печати останавливается подача фламента и принтер машет головой вхолостую. Причём иногда…

Читать дальше Alex-S Идет загрузка
Загрузка

22.02.2018

11730

Понимаю, что тема 100500 раз обсуждалась, но не удалось нигде найти обобщающей информации, в основном все в одной куче советуется.

Пр…

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

Отправить ответ

avatar
  Подписаться  
Уведомление о