Elettronica Plus

Misurare la temperatura di un microcontrollore usando solo un diodo e una capacitàERT

Notoriamente, l’uso delle giunzioni PN dei diodi nelle misure di temperatura è reso possibile dalla linearità del loro coefficiente termico pari a circa 2 mV/K. Generalmente, basta amplificare e digitalizzare questo voltaggio con un ADC per poi elaborarne i valori con un microcontrollore. Ciò che non tutti sanno però è che la corrente inversa della giunzione PN di un diodo presenta una buona dipendenza esponenziale rispetto alla temperatura e, in pratica, aumentare la temperatura di 12 K significa raddoppiare la corrente inversa, come si vede nella figura 1. Un modo semplice per misurare questa corrente su un ampio range di almeno due o tre decadi è quello di caricare e scaricare una capacità e misurare il tempo o la frequenza di questa attività.

Fig. 1 – La corrente inversa di una giunzione PN in un diodo ha una dipendenza esponenziale rispetto alla temperatura abbastanza regolare e tale da raddoppiare all’incirca ogni 12 K

In pratica, si può usare un pin I/O general-purpose di un microcontrollore per caricare una capacità o come fosse un’uscita diretta a un temporizzatore oppure usando una resistenza di pull-up, se questa è disponibile (Fig. 2a). Dopo che il pin ha finito di caricare la capacità, occorre riconfigurarlo come ingresso ad alta impedenza, in modo tale che la capacità possa scaricarsi come corrente inversa attraverso il diodo (Fig. 2b). In questo modo, il tempo di scarica è proporzionale alla temperatura del diodo e, se si sceglie bene quest’ultimo, la dipendenza rispetto alla caratteristica esponenziale del suo coefficiente termico può ritenersi sostanzialmente lineare.

Fig. 2 – (a) La capacità C si carica attraverso la resistenza di pull-up su un pin di I/O del microcontrollore configurato come output; (b) Il condensatore si scarica come corrente inversa sul diodo D1, mentre il pin del microcontrollore è ora configurato ad alta impedenza

Inevitabilmente si dovrà fare una preventiva calibrazione dell’intervallo dei valori misurabili giacché il valore assoluto della corrente può essere molto diverso a due differenti temperature. Inoltre, la scelta del diodo e del condensatore richiede molta attenzione perché, generalmente, quanto più è piccola la giunzione PN e tanto più risulta piccola la corrente inversa e, perciò, in proporzione si allunga il tempo di scarica. In generale, è meglio evitare di usare periodi di misura più lunghi di qualche secondo e, inoltre, scegliere un condensatore troppo piccolo può causare errori perché cominciano a diventare predominanti anche le capacità parassite e compromettere l’affidabilità delle misure.
Tipicamente, un diodo 1N4001 e una capacità di 1 nF possono dare buoni risultati con un tempo di scarica all’incirca compreso fra 0,3 e 1 secondi a temperatura ambiente, mentre può decrescere nell’ordine dei millisecondi se la temperatura si approssima a 100 °C. Eventualmente, per ottenere gli stessi risultati si può anche usare la giunzione PN di un transistor.