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.
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.
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.
Ara ja pots usar Blockly@rduino per fer el programa següent:
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ò:
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.
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à.
Llicenciat sota la Llicència Creative Commons Reconeixement CompartirIgual 4.0