Добавить в корзинуПозвонить
Найти в Дзене
=РадиотехникА=

Термостолик для нагрева дисплеев

Коротко про нагревочный стол , для расклейки дисплеев при их замене , задних крышек и многое другое , что нужно подогреть . -Температура регулируется , до 150°max -Есть функция памяти , при нажатии на кнопку энкодера . Это для того , чтобы при отключении питания и вновь подачи его , температура выставлялась до той , которую установили и сохранили . -Гистерезис настроен 1° , в скетче можно изменить . -Потребляемая мощность 250 Вт Схема простейшая - датчик температуры max6675 - модуль энкодера KY-040 - дисплейный модуль TM1637 - Arduino nano Выходной сигнал с Ардуино D13 (и встроенный светодиод на самой плате , тоже сигнализирует о высоком уровне на выводе D13) Библиотеки для модулей легко находятся в интернете с любого поисковика . Ещё понадобится твердотельное реле , управление которым DC-5в и нагрузкой АС-240в . Далее алюминиевый лист 100х200х3 Нагревательный элемент 100х150 напряжением 220в , который будет клеится к пластине . Тонкий алюминиевый лист для теплоэкрана между корпусо
Оглавление

Здравствуйте !

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

-Температура регулируется , до 150°max

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

-Гистерезис настроен 1° , в скетче можно изменить .

-Потребляемая мощность 250 Вт

И так , быстро и по порядку .

Схема .
Схема .

Схема простейшая

- датчик температуры max6675

- модуль энкодера KY-040

- дисплейный модуль TM1637

- Arduino nano

Выходной сигнал с Ардуино D13 (и встроенный светодиод на самой плате , тоже сигнализирует о высоком уровне на выводе D13)

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

Ещё понадобится твердотельное реле , управление которым DC-5в и нагрузкой АС-240в .

Далее алюминиевый лист 100х200х3

-2

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

-3

Тонкий алюминиевый лист для теплоэкрана между корпусом и нагревательным элементом .

-4

Корпус изобретайте на свой вкус и цвет 😉 , у меня от старого прибора что-то завалялось , вот и пригодилось . Всё это дело , помещаем в коробочку и тщательно фиксируем .

-5

Теперь соберём этот слоистый пирог 🙂 . Стойки по 3 см .

-6

И пробуем включить !

-7

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

-8

Можно испытать .

-9

Скетч.

#include <max6675.h>

#include <TM1637Display.h> // http://forum.rcl-radio.ru/misc.php?action=pan_download&item=1008&download=1

#include <Encoder.h>

#include <EEPROM.h>//#include <EEPROMex.h>

int thermoDO = 12; // SO

int thermoCS = 11; // CS

int thermoCLK = 10;// SCK

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

TM1637Display display(4, 5);// CLK,DIO

Encoder myEnc(2, 3);// CLK, DT

 

double t_c,t_sum,t_iz;

unsigned long time,time0;

int oldPosition = -999,newPosition,rom,k;

byte reg,r0,r1;

const byte gis=1;// гистерезис

uint8_t data1[]{0x6d,0x08,0x50,0x3d};

 

void setup(){

pinMode(9,INPUT); // SW энкодера

pinMode(13,OUTPUT);// выход для управления нагрузкой

display.setBrightness(3);// яркость TM1637 0-7

delay(500);

r0=EEPROM.read(0);r1=EEPROM.read(1);rom=r0*100+r1;//чтение EEPROM

}

 

void loop(){

newPosition = myEnc.read()/4+rom;// чтение состояния энкодера

if (newPosition != oldPosition) {

oldPosition = newPosition;

time=millis();

reg=1;time0=3000;

r0=newPosition/100;r1=newPosition-r0*100;

}

else if(millis()-time>time0){

reg=0;time0=0;

for(int i=0;i<5;i++){

t_c=thermocouple.readCelsius();// чтение температуры с max6675

t_sum=t_sum+t_c;

delay(200);

}

time=millis();t_iz=t_sum/5;t_sum=0;

}

 

if(digitalRead(9)==LOW){// запись в EEPROM

EEPROM.update(0,r0);EEPROM.update(1,r1);

display.setSegments(data1);

delay(1000);

}

 

if(newPosition<0){newPosition=0;}

if(newPosition>1000){newPosition=1000;}

 

if(newPosition >= t_iz + gis){digitalWrite(13,HIGH);}

if(newPosition <= t_iz - gis){digitalWrite(13,LOW);}

 

if(reg==1){k=newPosition;}

else{k = t_iz;}

Serial.println(reg);

display.showNumberDecEx(k,0x00,false);// вывод информации на индикатор

 

}

На этом пока всё ! Всем пока 👋

⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡