Omet navegació

Temperatura amb NTC

El NTC és una resistència que depèn de la temperatura, anomenada també termistor caracteritzada per que la resistència no varia de forma lineal amb la temperatura.

El mòdel  més utilitzat és el de Steinhart–Hart que consta de l'equació següent.

Steinhart–Hart equació

on T és la temperatura en graus kelvins i a, b i c són coeficents que depenen del tipus i mòdel de termistor i del rang de temperatura on anen a fer les mesures

Normalment el fabricant ens donarà una fulla amb aquest coeficients o una gràfica amb valor tabulats.

Gràfica  Steinhart–Hart

Anem a usar aquest model de Steinhart–Hart per un NTC de 10K i una resistència de 10K connectats com mostra el següent esquema elèctric.

Temperatura_NTC10K

Ara ja pots usar Blockly@rduino per fer el programa següent:

Temperatura_NTC_10k

El passarem a codi d'Arduino IDE i modificarem una línia de codi. El motiu és que el sensor original de Temperatura de Blockly@rduino no és un NTC de 10K junt a una R de 10k formant un divisor de tensió posat a 3,3V i cal canviar aquesta línia per tal que calcule correctament la T en ºC.

 
float Temperatura_NTC_10k = 0;

void setup() {
  Serial.begin(9600);

}

void loop() {
    //Temperatura_NTC_10k = round( 1/(log((float)(1023-analogRead(36))*10000/analogRead(36)/10000)/3975+1/298.15)-273.15); // Calcul erroni
   
    Temperatura_NTC_10k=(3891/log((10000*3.3*((analogRead(36))/4095.0))/(3.3-(3.3*((analogRead(36))/4095.0)))/0.0214906446))-273.15; //Calcul corregit   
    Serial.println("Temperatura = ");
    Serial.println(Temperatura_NTC_10k);
    delay(1000);

} // final programa

Clica el botó </> Codi al BlocklyArduino per exportar el programa a un format llegible per Arduino IDE. Pega dins el codi i carrega el programa a la targeta.

En Windows, no cal pegar el codi a Arduino IDE, prem el botó transfereix a la targeta per carregar el codi a la targeta.

Em ambdos casos no oblides prémer el botó boot al ESP32 i el mantens premut fins que comença a compilar-se el programa 3 segons més tard de prémer el botó Puja/Transfereix a la targeta, podràs veure el % de carrega del programa i al final veuràs un missatge al terminal d'Arduino i el programa s'executarà.



Aquestes dues línies fan que el sensor de Temperatura escriga la T ºC en decimals per al sensor NTC de 10K que tenim nosaltres.
Si ara mires el monitor sèrie veuràs quelcom semblant a això:
Monitor sèrie Temperatura
Si a més a més, modifiques el programa per anular la línea aquesta afegint unes barres comentari al començament
// Serial.print("Temperatura º C =");
i vas «Eines» i prems «Plotter sèrie» veuràs una gràfica semblant a aquesta quan escalfes el NTC amb un eixugador de cabells.

Tº C Eixugador de cabells
Nota: No escalfes el NTC amb un encenedor de cigarrets si no vols destruir el sensor. Cap NTC aguanta el 460 ºC  o més d'un encenedor cremant iso-butà.

Creat amb eXeLearning (Finestra nova)