<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; Терморегулятор MAX6675 (Arduino)]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=252</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=252&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Терморегулятор MAX6675 (Arduino)».]]></description>
		<lastBuildDate>Thu, 25 Apr 2024 16:23:33 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10193#p10193</link>
			<description><![CDATA[<p>сложная задача???</p>]]></description>
			<author><![CDATA[null@example.com (Alex Kurgan)]]></author>
			<pubDate>Thu, 25 Apr 2024 16:23:33 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10193#p10193</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10129#p10129</link>
			<description><![CDATA[<div class="quotebox"><cite>Karl2233 пишет:</cite><blockquote><div class="quotebox"><cite>Alex Kurgan пишет:</cite><blockquote><p>Можете написать скетч для этой схемы??? Сам плохо разбираюсь с написанием.</p></blockquote></div><p>Так надо дать описание того, что требуется от этой схемы: что должно произойти, когда и при каких условиях.</p></blockquote></div><p>Здраствуйте.&nbsp; 2х зонный pid регулятор в первой строке показания 1 канала и выставленная температура, во второй 2 канал аналогично. Остальные настроики через меню также 1 и 2 строка.</p>]]></description>
			<author><![CDATA[null@example.com (Alex Kurgan)]]></author>
			<pubDate>Mon, 15 Apr 2024 02:08:36 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10129#p10129</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10126#p10126</link>
			<description><![CDATA[<div class="quotebox"><cite>Alex Kurgan пишет:</cite><blockquote><p>Можете написать скетч для этой схемы??? Сам плохо разбираюсь с написанием.</p></blockquote></div><p>Так надо дать описание того, что требуется от этой схемы: что должно произойти, когда и при каких условиях.</p>]]></description>
			<author><![CDATA[null@example.com (Karl2233)]]></author>
			<pubDate>Sun, 14 Apr 2024 07:29:07 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10126#p10126</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=10123#p10123</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2024/04/2d02a70c329fc8de25709e80998717f9.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2024/04/2d02a70c329fc8de25709e80998717f9.jpg" /></span> </p><br /><p>Здравствуйте. Можете написать скетч для этой схемы??? Сам плохо разбираюсь с написанием.</p>]]></description>
			<author><![CDATA[null@example.com (Alex Kurgan)]]></author>
			<pubDate>Sat, 13 Apr 2024 23:49:41 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=10123#p10123</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8909#p8909</link>
			<description><![CDATA[<p>Привет Всем!<br />Получилось испытать на макете код написанный Анатолием Невзоровым &quot;Паяльник на Arduino своими руками&quot;.<br />Хорошо смотрятся показания температуры большими цифрами. Хороший проект в целом.<br />Но как всегда, мы не ищем лёгких путей, решил попробовать отказаться от усилителя термопары и соответственно канала регулирования через аналоговый вход. Применил, бывший в наличии, модуль на МАХ31855 (3,6 В макс). Соответственно пришлось менять код и библиотеки . По началу работало, но в процессе шим регулирования происходил какой то сбой и импульсы с выхода МК пропадали.<br />И запустить можно было только после перезагрузки МК. Все проверял неоднократно, термопару менял, библиотеки менял . Результата не было. В момент сбоя, с модуля термопары поступал сигнал (данные ) nan. Не знал как исправить этот сбой, аппаратном или программно.<br />Получилось программно добавить условие в коде, после чего импульсы не пропадают. Так как я начинающий кодописатель, вероятно условие надо писать более правильно. Тут мне нужена помощь. <br />Сейчас жду когда у меня будет энкодер для полноценного тестирования всего кода и паяльника в целом.<br />Есть ещё некоторые идеи и хотелки для дальнейшего использования этого проекта .<br />Код не причесанный, но могу выложить как есть. Если интересно .</p>]]></description>
			<author><![CDATA[null@example.com (44chsv)]]></author>
			<pubDate>Fri, 24 Nov 2023 06:20:25 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8909#p8909</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8880#p8880</link>
			<description><![CDATA[<p>Большое спасибо.<br />Займусь изучением и буду пробовать.</p>]]></description>
			<author><![CDATA[null@example.com (44chsv)]]></author>
			<pubDate>Sat, 18 Nov 2023 15:14:21 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8880#p8880</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8879#p8879</link>
			<description><![CDATA[<p>Вот есть пример - <a href="https://www.youtube.com/watch?v=Rubw6RNYvhU">https://www.youtube.com/watch?v=Rubw6RNYvhU</a></p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sat, 18 Nov 2023 14:31:17 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8879#p8879</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8878#p8878</link>
			<description><![CDATA[<p>Тема интересная, вот и я решил присоединиться.<br />Решил таки сделать себе паяльную станцию. До этого как-то обходился.<br />Но здесь нашёл только аналоговую <a href="http://rcl-radio.ru/?p=2666">http://rcl-radio.ru/?p=2666</a><br />Может я не смог найти? Подскажите, есть тут тема по паяльным станциям на ATMega328 или LGT8F328P?</p>]]></description>
			<author><![CDATA[null@example.com (44chsv)]]></author>
			<pubDate>Sat, 18 Nov 2023 14:10:26 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8878#p8878</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=8877#p8877</link>
			<description><![CDATA[<p>Привет Всем!<br />Изменил немного код автора. Применил дисплей LCD1602 с шиной I2C и вместо модуля термопары<br />на ИМС MAX6675 применил MAX31855. Она понравилась лучшей стабильностью.</p><p>Возможно кому-то пригодится.</p><p>/*<br /> Терморегулятор <a href="http://rcl-radio.ru/?p=45845">http://rcl-radio.ru/?p=45845</a></p><p>*/</p><p>//#include &lt;SPI.h&gt;<br />#include &lt;Wire.h&gt;<br />#include &lt;EEPROM.h&gt; //#include &lt;EEPROM.h&gt;</p><p>// Initialize the LCD1602<br />#include &lt;LiquidCrystal_I2C.h&gt;<br />LiquidCrystal_I2C lcd(0x27, 16, 2);</p><br /><p>// Initialize the Thermocouple <br />#include &quot;Adafruit_MAX31855.h&quot;<br />#define MAXDO&nbsp; &nbsp;12<br />#define MAXCS&nbsp; &nbsp;10<br />#define MAXCLK&nbsp; 13<br />Adafruit_MAX31855 thermocouple(MAXCLK, MAXCS, MAXDO);</p><p>// Connecting to Arduino Nano</p><p>#define D3&nbsp; &nbsp;3&nbsp; // OUT Выход на исполнительное устройство<br />#define D4&nbsp; &nbsp;4&nbsp; // IN&nbsp; Вход кнопки КН1<br />#define D7&nbsp; &nbsp;7&nbsp; // IN&nbsp; Вход кнопки КН2<br />#define A0&nbsp; &nbsp;0&nbsp; // IN&nbsp; Вход кнопки КН2</p><br /><p>//Variables <br />double t_c,t_sum,t_iz; <br />byte erom2,erom3,erom4;<br />int kn1,kn2,t_reg,sh,sh1,gis;<br />long w;</p><p>void setup(){<br />&nbsp; Serial.begin(9600);<br />&nbsp; lcd.init();lcd.backlight();delay(500);&nbsp; //lcd.begin(16, 2);<br />&nbsp; pinMode(A0,INPUT);&nbsp; // KH3<br />&nbsp; pinMode(4,INPUT);pinMode(7,INPUT); // кнопки KH1, KH2<br />&nbsp; pinMode(3,OUTPUT);<br />&nbsp; erom2=EEPROM.read(4);if(erom2&gt;99){EEPROM.update(2,0);}<br />&nbsp; erom3=EEPROM.read(7);if(erom3&gt;10){EEPROM.update(3,0);}<br />&nbsp; erom4=EEPROM.read(13);if(erom4&gt;10){EEPROM.update(4,0);}<br />&nbsp; t_reg=erom2*100+erom3;gis=erom4;<br />}</p><p>void loop(){<br />&nbsp; if(analogRead(A0)&gt;600){kn1++;delay(300);}if(kn1&gt;2){kn1=0;}// кнопка<br />&nbsp; if(kn1==1){// регулирование<br />&nbsp; if(digitalRead(7) == HIGH){sh++;if(sh&lt;=10){t_reg++;}if(sh&gt;10&amp;&amp;sh&lt;=100){t_reg=t_reg+10;}}else{sh=0;}<br />&nbsp; if(digitalRead(4) == HIGH){sh1++;if(sh1&lt;=10){t_reg--;}if(sh1&gt;10&amp;&amp;sh1&lt;=100){t_reg=t_reg-10;}}else{sh1=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;reg = &quot;);lcd.print(t_reg);lcd.print((char)223);lcd.print(&quot;C&quot;);delay(200);<br />&nbsp; if(t_reg&lt;=0){t_reg=0;}if(t_reg&gt;=1000){t_reg=1000;}<br />&nbsp; erom2=t_reg/100;<br />&nbsp; erom3=t_reg-((t_reg)/100)*100;w=0;<br />}</p><p>if(kn1==2){// гистерезис<br />&nbsp; if(digitalRead(7) == HIGH){gis=gis+1;}<br />&nbsp; if(digitalRead(4) == HIGH){gis=gis-1;}<br />&nbsp; if(gis&gt;=10 || gis&lt;0){gis=0;}<br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;gis = &quot;);lcd.print(gis);lcd.print((char)223);lcd.print(&quot;C&quot;);delay(300);<br />&nbsp; erom4=gis;w=0;<br />}</p><p>if(kn1==0){w++;if(w==1){EEPROM.update(2,erom2);EEPROM.update(3,erom3);EEPROM.update(4,erom4);}&nbsp; <br />&nbsp; lcd.setCursor(0,0);lcd.print(&quot;T = &quot;);lcd.print(t_iz,1);lcd.print((char)223);lcd.print(&quot;C &quot;);<br />&nbsp; lcd.setCursor(0,1);lcd.print(&quot;reg=&quot;);lcd.print(t_reg);lcd.print(&quot; gis=&quot;);lcd.print(gis);<br />&nbsp; //Serial.print(&quot;C = &quot;); <br />&nbsp; //Serial.println(t_iz);</p><p>&nbsp; for(int i=0;i&lt;5;i++){<br />&nbsp; &nbsp; t_c=thermocouple.readCelsius();<br />&nbsp; &nbsp; t_sum=t_sum+t_c;<br />&nbsp; &nbsp; delay(200);<br />&nbsp; }<br />&nbsp; t_iz=t_sum/5;t_sum=0;<br />}</p><p>&nbsp; if(t_reg &gt;= t_iz + gis){digitalWrite(3,HIGH);}<br />&nbsp; if(t_reg &lt;= t_iz - gis){digitalWrite(3,LOW);}</p><p>&nbsp; lcd.clear();<br />}</p>]]></description>
			<author><![CDATA[null@example.com (44chsv)]]></author>
			<pubDate>Sat, 18 Nov 2023 13:58:46 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=8877#p8877</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7593#p7593</link>
			<description><![CDATA[<p>Вот! Оно! То, что надо. Спасибо огромное!</p>]]></description>
			<author><![CDATA[null@example.com (Mungo)]]></author>
			<pubDate>Thu, 23 Mar 2023 16:09:47 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7593#p7593</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7592#p7592</link>
			<description><![CDATA[<p>Попробуйте этот код,&nbsp; в железе не проверял.<br /></p><div class="codebox"><pre><code>#include &lt;Wire.h&gt;
#include &lt;EEPROM.h&gt;
#include &lt;STM32_TM1637.h&gt; // http://rcl-radio.ru/wp-content/uploads/ … TM1637.zip
#include &lt;max6675.h&gt; // http://rcl-radio.ru/wp-content/uploads/ … ax6675.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,w1,reg,gis,reg_h,reg_l,i;
int tic,tic1;

void setup() {
   Wire.begin();Serial.begin(9600);
   tm.brig(2); // ЯРКОСТЬ 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&gt;4){i=0;t_iz=t_sum/5;t_sum=0;}
 
/////////////////////////////////////////////
  if(digitalRead(7)==LOW){menu++;if(menu&gt;2){menu=0;}delay(1);}

///////// регулирование
  if(menu==1){
  if(digitalRead(8)==LOW){reg++;time=millis();w=1;w1=1;tic++;if(reg&gt;999){reg=999;}if(tic&lt;10){delay(200);}else{delay(50);} }
  if(digitalRead(9)==LOW){reg--;time=millis();w=1;w1=1;tic1++;if(reg&lt;0){reg=0;}if(tic1&lt;10){delay(200);}else{delay(50);}}
  tm.print_float(reg,0, 0b01010000,0,0,0);
     Serial.println(reg);
     if(digitalRead(8)==HIGH){tic=0;}
     if(digitalRead(9)==HIGH){tic1=0;}
     }
///////// гистерезис
   if(menu==2){
   if(digitalRead(8)==LOW){gis++;time=millis();w=1;if(gis&gt;10){gis=10;}delay(1);}
   if(digitalRead(9)==LOW){gis--;time=millis();w=1;if(gis&lt;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,0b01100011);
  }
////////////////////////////////////////////////////////     
   if(millis()-time&gt;5000 &amp;&amp; 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 &gt;= t_iz + gis){digitalWrite(13,HIGH);digitalWrite(12,HIGH);}
  if(reg &lt;= t_iz - gis){digitalWrite(13,LOW);digitalWrite(12,LOW);}
 
  if(w1==0){delay(200);}
  w1=0;
  Serial.println(menu);
}// loop</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 23 Mar 2023 15:39:10 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7592#p7592</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7591#p7591</link>
			<description><![CDATA[<p>Кстати, а можно сделать несколько пресетов?</p>]]></description>
			<author><![CDATA[null@example.com (Mungo)]]></author>
			<pubDate>Thu, 23 Mar 2023 15:30:22 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7591#p7591</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7590#p7590</link>
			<description><![CDATA[<p>Прошил.Особой разницы не увидел. Скорость настройки температуры уменьшилась, а точность все равно не очень . 3-4 знака на одно нажатие кнопки.&nbsp; Кстати гистерезис одно нажатие - одна цифра.</p>]]></description>
			<author><![CDATA[null@example.com (Mungo)]]></author>
			<pubDate>Thu, 23 Mar 2023 15:28:18 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7590#p7590</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7589#p7589</link>
			<description><![CDATA[<p>Чуть уменьшите скорость</p><p>&nbsp; if(digitalRead(8)==LOW){reg++;time=millis();w=1;w1=1;if(reg&gt;999){reg=999;}delay(<strong>50</strong>);}<br />&nbsp; if(digitalRead(9)==LOW){reg--;time=millis();w=1;w1=1;if(reg&lt;0){reg=0;}delay(<strong>50</strong>);}</p>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 23 Mar 2023 14:56:30 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7589#p7589</guid>
		</item>
		<item>
			<title><![CDATA[Re: Терморегулятор MAX6675 (Arduino)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=7588#p7588</link>
			<description><![CDATA[<p>Прошил. Скорость изменения то, что надо! Но теперь попасть на нужное значениe единичным нажатием кнопки невозможно. Сразу изменение на 3 - 6 градусов.</p>]]></description>
			<author><![CDATA[null@example.com (Mungo)]]></author>
			<pubDate>Thu, 23 Mar 2023 14:50:56 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=7588#p7588</guid>
		</item>
	</channel>
</rss>
