Misure di temperatura tramite un termistore

Myttex Forum ha chiuso definitivamente. Non è più possibile inviare messaggi, ma il contenuto è ancora consultabile in questo archivio.

AndreaChem

2018-02-15 14:25

Salve a tutti, oggi volevo mostrarvi come realizzare un termometro utilizzando un termistore e una scheda Arduino. 

Il termistore è un componente elettronico la cui resistenza varia in modo significativo al variare della temperatura. Si può dire che il funzionamento è simile a quello di una fotoresistenza.

Per i termistori di tipo NTC la variazione della resistenza in funzione della temperatura può essere valutata tramite l'equazione di Steinhart-Hart:

[img=204x35]https://wikimedia.org/api/rest_v1/media/math/render/svg/647af0694e3c498e467ff43221e0c071ddb87a9a[/img]

dove:

· T è la temperatura (in kelvin).

· R è la resistenza (in ohm).

· A, B e C sono i coefficienti di Steinhart-Hart che variano a seconda del tipo e modello di termistore e il range di temperatura scelto. Questi coefficienti possono essere ricavati dal datasheet del componente elettronico.

Tramite l'utilizzo di questa formula è possibile determinare la temperatura valutando la variazione della resistenza. 

Per realizzare questo semplice circuito ho utilizzato i seguenti componenti:

· Resistore da 3,9KΩ;

· Scheda Arduino Leonardo (naturalmente possono essere utilizzate anche altre schede come ad esempio la classica Arduino Uno);

· Termistore NTC da 5KΩ;

· Fili per i collegamenti.

Io ho acquistato i termistori e la scheda Arduino a buoni prezzi sul sito EBM Store.

Il circuito da realizzare è il seguente:

Sketch 1_bb.jpg
Sketch 1_bb.jpg

arduino (FILEminimizer).jpg
arduino (FILEminimizer).jpg

Inoltre, se qualcuno fosse interessato lascio anche lo sketch che ho utilizzato:

int sensorPin = A0;    

float sensorValue = 0;  

float V;

float R;

float T;

float C;

void setup() 

{

  Serial.begin(9600); 

}

void loop() 

{

  sensorValue= analogRead(0); 

  V=(5*sensorValue)/1024;                                       //si ricava la tensione sul PIN A0

  R = (5*(3900/V))-3900;                                         //si ricava la resistenza del termistore

  T=3980/log(R/(5000*pow(M_E,(-3980/298.15))));   //equazione di Steinhart-Hart 

  Serial.println("Temperatura in kelvin";-);

  Serial.println(T);  

  C = T-273.15;

  Serial.println("Temperatura in gradi centrigradi";-);

  Serial.println(C );

  Serial.println(" ";-);

  delay(500);

  }

Naturalmente la riga dove si utilizza la formula di Steinhart-Hart  deve essere modificata a seconda dei valori A,B e C dello specifico termistore.

Utilizzando questo sketch ogni 500ms sul monitor seriale viene riportata la temperatura misurata in gradi centigradi ed in kelvin. In questo caso viene riportata come varia la temperatura quando si tocca il termistore:

arduino 2.png
arduino 2.png

Variando il numero nella riga "delay(500);" è possibile variare l'intervallo di tempo ogni quanto viene fatta la misura (il valore è espresso in millisecondi).

Sicuramente questo circuito è molto semplice (e anche molto economico), ma è un buon inizio anche per qualcuno che non si è mai approcciato ad Arduino. Fatemi sapere cosa ne pensate e magari quelli più esperti di me mi consiglino come migliorare il circuito.

Prossimamente porterò un circuito più sofisticato sempre per la misura della temperatura che utilizza anche un display LCD. 

Andrea

I seguenti utenti ringraziano AndreaChem per questo messaggio: NaClO, Copper-65, Claudio

NaClO

2018-02-15 17:26

Ottimo progetto! Voglio iniziare anch’io con arduino, questo sarà uno dei miei primi progetti... Secondo me è ottimo per tenere la temperatura negli incubatori. Qual è l’accuratezza del sensore?Secondo me andrebbe fatta qualche prova per determinare precisione, accuratezza, scarto, etc. Una cosa simile sarebbe comoda come sonda per il pH. Mario se non ricordo male è bravissimo con queste cose (un po’ come in tutto...)

AndreaChem

2018-02-15 18:36

Non ho ancora fatto delle prove per bene, ma confrontando con altri termometri digitali mi sembra che l'accuratezza sia buona. Il termistore che ho utilizzato può operare in un intervallo di temperatura di -50/150°C.

In questo periodo sto progettando di costruire una stufa che va da temperatura ambiente a temperature massime di 150°C. La mia idea è quella di costruire un circuito come si deve con annesso rilevatore di temperatura.

I seguenti utenti ringraziano AndreaChem per questo messaggio: NaClO