Termočlánek "K"

 

 

Termočlánek "K", čip MAX 6675

 

 

Teplotu lze měřit různými sensozy. Jedním z nich je tzv. termočlánek  -  dva odlišné, na konci svařené kovové vodiče. V bodu svaru dochází k tvorbě stejnosměrného elektromotorického napětí závislého na teplotě. V případě použití chromu a niklu se jedná o tzv. chromniklový termočlánek označovaný jako termočlánek typu "K". Termočlánky generují nelineární napětí řádově v μV. Nízkoúrovňová napětí termočlánků jsou vyhodnocována účelovými čipy. Pro termočlánek "K" byl vyvinut např. čip MAX 6675.  Čip zajišťuje zesílení, linearitu a výstupní rozhraní. Termočlánky jsou vhodné k měření především vyšších teplot. Citlivost měření je na úrovni max. 0,2 st.C.

Jednou ze souprav, kterou lze připojit k Arduinu je "Termočlánek K s čipovým modulem MAX 6675". Je dostupný jak v Asii, tak v ČR. Souprava reálně měří v rozsahu 0-800 st.C s přesností +/- 1,5%, rozlišení 0,25 stC (modul MAX 6675 neměří pod 0 st.C, nelze měřit např. v mrazáku).

Souprava byla odzkoušena s deskou NANO a displejem OLED 0,91 palce. Zapojení a oživení displeje je uvedeno v kapitole "Malý displej". Modul MAX 6675 je vybaven rozhraním SPI. U termočlánku je nutno při zapojení vodičů na modul dodržet polaritu (+/-).

Zapojení čipu MAX 6675: 

 

MAX 6675          NANO

GND    -------->    GND

Vcc     -------->    + 5 V

SCK     -------->   D5

   CS     -------->     D4

       SO    -------->      D3     

 

 

OLED displej vyžaduje knihovnu "u8glib_oled.zip", viz kapitola "Malý displej" . Modul MAX 6675 vyžaduje knihovnu "max6675_tarmoclanek.zip". Instalaci do IDE lze provést způsobem "zip".  V IDE otevřeme  "Projekt/Přidat knihovnu/Přidat.ZIP knihovnu ... najdeme "zip" soubor knihovny a odklikneme". Po restartu IDE dojde k instalaci knihovny do IDE.

Displej oživíme kódem "OLED_termoclanek.ino". Klikneme na "OLED_termoclanek.ino", po zobrazení soubor přeneseme "klipbordem" na pracovní, předem "vyčištěnou" plochu IDE, uložíme do IDE a nahrajeme do desky Arduino.

 

Skeč "OLED_termoclanek.ino":

#include "U8glib.h"                                                                                    // knihovna displeje
#include <max6675.h>                                                                              // knihovna modulu termočlánku   
U8GLIB_SSD1306_128X32 mujOled(U8G_I2C_OPT_NONE);            // konfigurace displeje
int H=0;                                                                                                     // deklarace
int pinSO = 3; 
int pinCS = 4;
int pinSCK = 5;
MAX6675 termoclanek(pinSCK, pinCS, pinSO);                                      // iniciace modulu termočlánku

void setup()
{}

void loop() 
{float T = termoclanek.readCelsius();                                                         // načtení teploty termočlánku             
T=T*1;                                                                                                      // zde lze zavést experimentální korekci teploty                                         
{mujOled.firstPage();                                                                                 // iniciace displeje
do{mujOled.setFont(u8g_font_fur25);                                                        // nastavení velikost fontu 11,14,17,25,30; fonty "gdr";"fur";fub" aj. více: https://github.com/olikraus/u8glib/wiki/fontsize   
mujOled.setPrintPos(15,32);                                                                      // nastavení kursoru
mujOled.print(T,0);                                                                                    // tisk teploty                       
mujOled.setFont(u8g_font_fur11);                                                             // nastavení  fontu                              
mujOled.setPrintPos(80,14);                                                                      // nastavení kursoru
mujOled.print("o");                                                                                     // tisk   
mujOled.setFont(u8g_font_fur25);                                                             // nastavení fontu    
mujOled.setPrintPos(90,32);                                                                     // nastavení kursoru            
mujOled.print("C");}                                                                                 // tisk   
while(mujOled.nextPage());}                                                                     // vyčistění displeje
delay(1000);} 

 

Komentáře k příkazům kódu jsou uvedeny na jednotlivých řádcích za dvojitým lomítkem. Po nahrání skeče do Arduina se zobrazí měřená teplota :

 

Vzhledem k odolnosti kovové konstrukce termočlánku lze měřit vyšší teploty:

Zatím, co pokojovou teplotu termočlánek mírně nadměřoval (cca 1 stC oproti kalibračnímu teploměru), teplotu varu vody měřil vcelku stabilně na úrovni 100 stC: 

 

 Měřené hodnoty teplot lze zobrazovat na dvě desetinná místa. Je to neúčelné, hodnoty v setinách problikávají často, na desetinách rovněž (méně často). Od termočlánku nelze očekávat vysoce přesné měření, navíc, na displeji toto neúčelné zobrazení zabírá místo. Použití uvedeného zapojení je vhodné například k měření teplot v troubě při pečení, v udírně, teploty destilace aj. Pro tyto účely vyhovuje zobrazení teplot na celé stupně.

Uvedené zapojení bylo při ověřování napájeno LiPo baterii 3,7 V (připojeno na +5V pin NANO). Celkový odběr činil 18 mA.

 

Duben 2021

 

Home

 

Arby

arduinohobby@email.cz