51

Re: Терморегулятор MAX6675 (Arduino)

все работает,
А теперь с ТМ1637, подключение кнопок и МАХ, оставьте такими же


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

52

Re: Терморегулятор MAX6675 (Arduino)

образцовый калибратор МС-6
на таких температурах такая погрешность нормально я так считаю
http://forum.rcl-radio.ru/uploads/images/2021/01/3a4dbabbcaf6afbcb209325509d5f72f.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/c13a1f25fd312db1f71f866045b3546c.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/f370db1e5fd111ed0a9a98a4a96a9658.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/598dff23d370acb0ea5b0ed027fb7261.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/de11949f4e58e45cd8fa860a17fcde9e.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/456d0d3f82cddf5e60e4beebb4ee2b61.jpg http://forum.rcl-radio.ru/uploads/images/2021/01/8bfd76a30ff042da3298709e957e4e03.jpg


http://forum.rcl-radio.ru/uploads/images/2021/01/28b01c243429f9cff520c7307b6d1f84.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/d516a07ed81720435d25e5b07c094ab9.jpg

53

Re: Терморегулятор MAX6675 (Arduino)

sanj76a пишет:

все работает,
А теперь с ТМ1637, подключение кнопок и МАХ, оставьте такими же


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

жду с ТМ1637. прогоню выложу

54 (2021-01-13 19:56:55 отредактировано sanj76a)

Re: Терморегулятор MAX6675 (Arduino)

терморегулятор уже собран на LCD 16x2, работает хорошо и с кнопками и с энкодером.
Скетч протестирован.
Осталось протестить  на индикаторе ТМ1637

55

Re: Терморегулятор MAX6675 (Arduino)

спасибо за примеры, собрал на ТМ1637, все хорошо работает, мне показалось, что при регулировке температуры отключения большеватые задержки и на экранчике кракозябры в этот момент. думаю это поправимо. запустил на атмеге 8, на этом же сайте есть как привязать этот контроллер к ардуине. для мелких устройств самое то. может и на LCD получится, посмотреть что там с памятью выйдет. возник вопрос по ходу экспериментов, если памяти впритык, можно же код сбрасывать в hex без загрузчика и записаться каким либо программатором с учетом фьюзов?

56

Re: Терморегулятор MAX6675 (Arduino)

при регулировке на ТМ1637 что вверх что вниз все показаня были четкие.
никаких кракозябров не было это что-то у вас какойто бок

57

Re: Терморегулятор MAX6675 (Arduino)

TM1637 + MAX6675 кнопочное управление

#include <Wire.h> 
#include <EEPROM.h>
#include <STM32_TM1637.h> // http://rcl-radio.ru/wp-content/uploads/2021/01/STM32_TM1637.zip
#include <max6675.h> // http://rcl-radio.ru/wp-content/uploads/2018/07/max6675.zip
STM32_TM1637 tm(2,3);// CLK, DIO 

int thermoDO = 6; // SO
int thermoCS = 5; // CS
int thermoCLK = 4;// SCK
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

unsigned long time;
double t_c,t_sum,t_iz; 
int menu,w,reg,gis,reg_h,reg_l,i;

void setup() {
   Wire.begin();Serial.begin(9600);
   tm.brig(7); // ЯРКОСТЬ 0...7
   pinMode(13,OUTPUT); // реле
   pinMode(12,OUTPUT); // индикатор нагрева
   pinMode(7,INPUT_PULLUP); // menu (нажатие кнопки - замыкание на gnd)
   pinMode(8,INPUT_PULLUP); // up (нажатие кнопки - замыкание на gnd)
   pinMode(9,INPUT_PULLUP); // down (нажатие кнопки - замыкание на gnd)
   reg_h = EEPROM.read(0);reg_l = EEPROM.read(1);gis = EEPROM.read(2);
   reg = reg_h*100+reg_l;

}

void loop() {
//// измерение температуры 
  i++;
  t_c=thermocouple.readCelsius();t_sum=t_sum+t_c;
  if(i>4){i=0;t_iz=t_sum/5;t_sum=0;}
  
/////////////////////////////////////////////
  if(digitalRead(7)==LOW){menu++;if(menu>2){menu=0;}delay(1);}

///////// регулирование
  if(menu==1){
  if(digitalRead(8)==LOW){reg++;time=millis();w=1;if(reg>999){reg=999;}delay(1);}
  if(digitalRead(9)==LOW){reg--;time=millis();w=1;if(reg<0){reg=0;}delay(1);}
  tm.print_float(reg,0, 0b01010000,0,0,0); 
     Serial.println(reg);
     }
///////// гистерезис
   if(menu==2){
   if(digitalRead(8)==LOW){gis++;time=millis();w=1;if(gis>10){gis=10;}delay(1);}
   if(digitalRead(9)==LOW){gis--;time=millis();w=1;if(gis<0){gis=0;}delay(1);}
   tm.print_float(gis,0, 0b00111101,0,0,0); 
     Serial.println(gis);
     }
////////////////////////////////////////////////////////        
  if(menu==0){  
  tm.print_float(t_iz,1, 0,0,0,0); 
  }
////////////////////////////////////////////////////////      
   if(millis()-time>5000 && w==1){
     reg_h = reg/100;reg_l = reg-reg_h*100;
     EEPROM.update(0,reg_h);EEPROM.update(1,reg_l);EEPROM.update(2,gis);
     menu=0;w=0;}

  if(reg >= t_iz + gis){digitalWrite(13,HIGH);digitalWrite(12,LOW);}
  if(reg <= t_iz - gis){digitalWrite(13,LOW);digitalWrite(12,HIGH);}
  
  delay(200);
  Serial.println(menu);
}// loop

58 (2021-01-20 22:52:04 отредактировано sanj76a)

Re: Терморегулятор MAX6675 (Arduino)

TM1637Display display(4, 5);// CLK,DIO-раньше было так написано

STM32_TM1637 tm(2,3);// CLK, DIO - сейчас так в новом скече
что значит - STM32. Как я понял это собирается на STM32F103C8T6

59

Re: Терморегулятор MAX6675 (Arduino)

Библиотека написана под stm32, но отлично работает под Arduino. Мне удобней работать с этой библиотекой.

60

Re: Терморегулятор MAX6675 (Arduino)

вот такие странные показанияhttp://forum.rcl-radio.ru/uploads/images/2021/01/2a07a3ce0fb2a4eaf3e8ae31f968fe12.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/06786f8b2f3ce3974a0875c8a3a32701.jpg
http://forum.rcl-radio.ru/uploads/images/2021/01/e275cbda4bbbb4e3985074491b639ee6.jpg

61 (2021-01-28 19:03:08 отредактировано sanj76a)

Re: Терморегулятор MAX6675 (Arduino)

индикатор заточен под часы поэтому нет точки ?
мне кажется что погрешность растет с ростом температуры

62 (2021-01-29 00:54:57 отредактировано sanj76a)

Re: Терморегулятор MAX6675 (Arduino)

убрать 4 знак и сделать например знак градуса
что нужно изменить в скетче

63

Re: Терморегулятор MAX6675 (Arduino)

Найдите строку
tm.print_float(t_iz,1, 0,0,0,0);
замените на
tm.print_float(t_iz,1, 0,0,0,0b01100011);

В младшем разряде должен быть отображен градус

64

Re: Терморегулятор MAX6675 (Arduino)

liman324 пишет:

Найдите строку
tm.print_float(t_iz,1, 0,0,0,0);
замените на
tm.print_float(t_iz,1, 0,0,0,0b01100011);

В младшем разряде должен быть отображен градус

Исправил, получилось

65 (2021-02-01 17:18:37 отредактировано sanj76a)

Re: Терморегулятор MAX6675 (Arduino)

по сравнению с LCD, измерение врет с большой погрешностью +- 30гр

66

Re: Терморегулятор MAX6675 (Arduino)

измерение врет с большой погрешностью +- 30гр

Напряжение подаете прямо с калибратора?

67 (2021-02-01 17:23:23 отредактировано sanj76a)

Re: Терморегулятор MAX6675 (Arduino)

перепроверю, напишу

68

Re: Терморегулятор MAX6675 (Arduino)

регулировка температуры и гистерезиса.
гистерезис мах. 10

http://forum.rcl-radio.ru/uploads/images/2021/02/316bae9090d5d3e674c02360a3143736.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/5164d1ec46c09e39bc863740fc156424.jpg

69

Re: Терморегулятор MAX6675 (Arduino)

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

http://forum.rcl-radio.ru/uploads/images/2021/02/a16ccaf86f0778de79a2d72c5440a4e1.jpg http://forum.rcl-radio.ru/uploads/images/2021/02/561127bdb3d071407668dac8d44f0740.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/73af704c6e0bfddab5ff299631f4213c.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/0e81560d741a1cacf0cbacd2006cb099.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/8516edaf6a74da9cdaec0e5b784bb898.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/4966a08540e2bbff50191f05fe559ad6.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/1b7aa039084204f4f025f8272fb8452a.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/03dd3ea918db533d31d16b1ac9deb233.jpg
http://forum.rcl-radio.ru/uploads/images/2021/02/0d07b3228b65d5bab561b139f644ba22.jpg

70

Re: Терморегулятор MAX6675 (Arduino)

если возможна коррекция то напишите где исправить

71

Re: Терморегулятор MAX6675 (Arduino)

if(i>4){i=0;t_iz=t_sum/5;t_sum=0;}

укажите коэффициент коррекции

if(i>4){i=0;t_iz=t_sum/5*0.98;t_sum=0;}

72 (2021-02-02 15:25:22 отредактировано sanj76a)

Re: Терморегулятор MAX6675 (Arduino)

100-102
200-199
300-297
400-397
500-498
600-599
700-700
800-799
900-897
я думаю что погрешность может давать монтаж на макетной плате и недостаток емкостей.
а в общем я считаю все просто отлично! тест закончен!
я вам задал вопрос в теме STM32 — осциллограф (Arduino IDE)

73

Re: Терморегулятор MAX6675 (Arduino)

вот такая шайтан - машин получились.
терморегулятор просто бомба!

http://forum.rcl-radio.ru/uploads/images/2021/02/493888a450bff34818dc04edff96b14e.jpg

74

Re: Терморегулятор MAX6675 (Arduino)

Не спеша доделываю терморегулятор. как и хотел, сделал на атмеге 8, индикатор 2002, потому что просто есть. Нагреватель силиконовый 12 в на 25 ватт. Для большей скорости нагрева желательно 15 вольтовый источник питания, у меня импульсник установлен в самом корпусе терморегулятора. Вместо кнопок применил джойстик, потому что валялся. Есть свободная изолированная пара силовых контактов на случай внешнего нагревателя. Плату не делал, все на макетке. Спасибо за полезный проект.
http://forum.rcl-radio.ru/uploads/images/2021/03/98e0efec08102dd69bedc31d21e5ce75.jpg

75

Re: Терморегулятор MAX6675 (Arduino)

Повторил схему с TM1637 и управление энкодером. При включении на несколько секунд загорается 1000 а потом уже реальная температура. При повороте энкодера в любую сторону загорается 1000 и ничего не регулируется. Энкодеры пробовал разные то же самое. куда копать?