Tesmistor: tot ce trebuie să știți pentru a măsura temperatura în proiectele dvs.

termistor

Diferiti senzori de temperatura au fost analizați în alte articole. Unul dintre elementele sau dispozitivele pe care le puteți utiliza pentru a măsura temperatura menționată este tocmai termistor, în engleză thermistor (rezistor termosensibil sau rezistență sensibilă la temperatură). După cum sugerează și numele său, se bazează pe un material care își schimbă rezistența electrică în funcție de temperatura la care este supus.

În acest fel, prin intermediul unei formule simple, cunoscând tensiunea și intensitatea la care este supusă, rezistența poate fi analizată la determina temperatura după amploarea sa. Dar nu este folosit doar ca senzor de temperatură, ci poate fi folosit și pentru a modifica unele caracteristici ale circuitului în funcție de temperatura acestuia, ca element de protecție împotriva excesului de curent etc.

La alegerea tipului de senzor Ceea ce veți folosi pentru proiectul dvs. va depinde de nevoile pe care le aveți. Alte articole care vă pot interesa despre senzorii de temperatură:

  • LM35: senzor de temperatură și umiditate.
  • DS18B20: senzor de temperatură pentru lichide.
  • DHT22: senzor de precizie de temperatură și umiditate.
  • DHT11: senzor de temperatură și umiditate ieftin.

Introducere în termistor

simbolul termistorului

Pe piață puteți găsi o mulțime de termistori cu încapsulări diferite și de diferite tipuri. Toate se bazează pe același principiu, materialul lor semiconductor (oxid de nichel, oxid de cobalt, oxid feric, ...) va fi modificat atunci când temperatura variază, modificându-și astfel rezistența internă.

Tipuri

Printre tipuri de termistor putem evidenția două grupuri:

  • Termistor NTC (coeficient de temperatură negativ): acești termistori cu un coeficient de temperatură negativ, pe măsură ce temperatura crește, crește și concentrația purtătorilor de sarcină, prin urmare, rezistența lor este redusă. Acest lucru le face practice, astfel încât să poată fi utilizate ca:
    • Senzori de temperatură care sunt destul de frecvenți în multe circuite, cum ar fi detectoarele rezistive la temperatură scăzută, în sectorul auto pentru măsurători pe motoare, în termostate digitale etc.
    • Limitator de curent de pornire, atunci când se utilizează un material cu o rezistență inițială ridicată. Când curentul trece prin ele când circuitul este pornit, acest dispozitiv se încălzește datorită rezistenței pe care o prezintă și pe măsură ce temperatura crește, rezistența va scădea treptat. Acest lucru împiedică ca la început fluxul de curent care trece în circuit să fie foarte mare.
  • Termistori PTC (coeficient de temperatură pozitivă): sunt alți termistori cu un coeficient de temperatură pozitiv, cu concentrații foarte mari de dopanți care le conferă efectul opus NTC-urilor. Adică, în loc să scadă rezistența odată cu creșterea temperaturii, are loc efectul opus în ele. Din acest motiv, ele pot fi utilizate ca siguranțe pentru protejarea circuitelor de supracurent, ca temporizator pentru demagnetizarea afișajelor CRT sau a tuburilor catodice, pentru reglarea curentului motoarelor etc.
Grafic termistor NTC

Graficul curbei de rezistență în raport cu temperatura unui NTC

Nu confundați termistorul cu RTD (Detector de temperatură de rezistență)Pentru că spre deosebire de ele, termistoarele NU schimbă rezistența aproape liniar. RTD este un tip de termometru de rezistență pentru detectarea temperaturii pe baza variației rezistenței conductorului. Metalul acestora (cupru, nichel, platină, ...), atunci când este încălzit, are o agitație termică mai mare, care va împrăștia electronii și le va reduce viteza medie (crește rezistența). Prin urmare, cu cât temperatura este mai mare, cu atât este mai mare rezistența, ca și în cazul NTC.

Ambele RTD, NTC și PTC sunt destul de frecvente, în special NTC-urile. Motivul este că își pot îndeplini rolul cu un dimensiuni foarte mici și un preț foarte ieftin. poți achiziționați termistoare NTC precum popularul MF52 pentru un preț scăzut în magazine precum Amazon, la fel ca Sonde RTD, precum și în alte magazine specializate de electronice.

Ca pinout, are doar doi pini, la fel ca rezistențele normale. Modul său de conectare este același cu cel al oricărui rezistor, doar că valoarea rezistenței nu va rămâne stabilă, așa cum ar trebui să știți deja. Pentru mai multe informații despre intervalele de temperatură acceptate, tensiunea maximă suportată etc., puteți consulta datelefoaie de tabel componentei achiziționate.

Integrare cu Arduino

Schema Arduino cu termistor

la integrează un termistor cu placa Arduino, conexiunea nu ar putea fi mai ușoară. Este necesar doar să adaptați acea teorie și calcule pentru codul pe care trebuie să îl generați în ID-ul dvs. Arduino. În cazul nostru, am presupus utilizarea unui termistor NTC, în special modelul MF52. În cazul utilizării unui alt model de termistor, trebuie să variați valorile A, B și C pentru a le adapta conform ecuației Steinhart-Hart:

Ecuația modelului Steinhart-Hart

ființă T temperatura măsurată, T0 este valoarea temperaturii ambiante (o puteți calibra după cum vă interesează, cum ar fi 25 ° C), R0 ar fi valoarea rezistenței termistorului NTC (în cazul nostru cea furnizată de fișa tehnică MF52 și ar trebui nu-l confundați cu rezistența pe care am adăugat-o la circuit), iar coeficientul B sau Beta poate fi găsit în fișa tehnică a producătorului.

El cod prin urmare, ar arăta astfel:

#include <math.h>
 
const int Rc = 10000; //Valor de la resistencia del termistor MF52
const int Vcc = 5;
const int SensorPIN = A0;

//Valores calculados para este modelo con Steinhart-Hart
float A = 1.11492089e-3;
float B = 2.372075385e-4;
float C = 6.954079529e-8;
 
float K = 2.5; //Factor de disipacion en mW/C
 
void setup()
{
  Serial.begin(9600);
}
 
void loop() 
{
  float raw = analogRead(SensorPIN);
  float V =  raw / 1024 * Vcc;
 
  float R = (Rc * V ) / (Vcc - V);
  
 
  float logR  = log(R);
  float R_th = 1.0 / (A + B * logR + C * logR * logR * logR );
 
  float kelvin = R_th - V*V/(K * R)*1000;
  float celsius = kelvin - 273.15;
 
  Serial.print("Temperatura = ");
  Serial.print(celsius);
  Serial.print("ºC\n");
  delay(3000);
}

Sper că acest tutorial te-a ajutat ...


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.