Arduino – impiego sensori analogici e taratura statica

2 – Determinazione dei punti appartenenti alla caratteristica del sensore

Lo scopo è sottoporre il termistore a 10 diverse temperature, monitorate mediante un termometro, e rilevare per ciascuna la tensione campionata. In tal modo è possibile ricostruire la caratteristica approssimata del sensore e impiegarla successivamente nella riconversione dalla tensione campionata val alla temperatura corrispondente temp.
Prima di effettuare le misure il termistore è stato avvolto in carta stagnola dopo aver opportunamente isolato i terminali, dopodiché è stato posizionato, insieme alla sonda del termometro, in una bacinella da riempire d’acqua successivamente. In tal modo è stato possibile sottoporli a diverse temperature pressoché stabili e facili da misurare.
Per le misure estreme (100°C e 2°C) il termistore è stato immerso in acqua all’ebollizione e in acqua con ghiaccio.
Per le misure intermedie da 30°C a 80°C, la bacinella d’acqua è stata riempita di acqua bollente e man mano che la temperatura diminuiva passando per i valori interessati, sono stati annotati i corrispondenti valori di tensione campionata.
Per le misure da 10°C a 20°C invece, la bacinella è stata riempita con acqua e ghiaccio, man mano che la temperatura aumentava sono stati annotati i valori restanti.

Altri dati utili, quali tensione effettiva Vo ai capi del termistore e valore resistivo Rt, sono stati successivamente determinati in modo indiretto. Il tutto è riportato nella tabella seguente.

Per risalire alla tensione effettiva Vo presente ai capi del termistore, partendo dalla tensione campionata, si impiega la relazione:

\displaystyle Vo(val) = \frac{5V}{1023}*val

Per risalire al valore resistivo Rt si impiega il metodo del confronto, basato sul fatto che la tensione complessiva Vi si ripartisce sulle rispettive resistenze in modo proporzionale al loro valore resistivo. Conoscendo quindi Vo, si risale a Va(Vo)=5V-Vo e quindi a Rt:

\displaystyle Rt(Vo) = \frac{Vo}{Va(Vo)}*Ra = \frac{Vo}{5V-Vo}*Ra

Riportando in un grafico il valore resistivo Rt in funzione della temperatura temp, si risale alla caratteristica del termistore.
Riportando invece la tensione campionata val in funzione della temperatura temp, si risale al grafico rappresentante la funzione composta val(temp) = \frac{Vo(Rt(temp))}{5V}*1023, caratteristica su cui si dovrà basare Arduino per risalire alla temperatura a cui il sensore è sottoposto, partendo dal valore letto sull’ingresso analogico.

Si nota però l’andamento completamente diverso dalla caratteristica del termistore, che è diventata “quasi” una retta, ma questo è solo un caso particolare.
Esaminando la relazione del partitore di tensione, si nota subito che la causa è la mancanza di una proporzionalità diretta tra il valore resistivo Rt(temp) e la tensione in uscita Vo, dovuta alla presenza a denominatore di una somma con il termine variabile Rt(temp).

\displaystyle Vo(Rt(temp)) = \frac{Vi*Rt(temp)}{Ra+Rt(temp)}

La deformazione della caratteristica è quindi dipendente dal valore fissato per la resistenza Ra, ciò significa che scegliendone un valore opportuno è possibile in qualche modo “linearizzare” la caratteristica per un determinato intervallo, ma ciò esula dallo scopo di questo tutorial. Pertanto si procederà nella modalità che si impiegherebbe per un generico sensore.

18,381 total views, 1 views today