Di Angelo Lezza.
Nei termometri con sensori di tipo analogico è sempre necessario provvedere al condizionamento e alla linearizzazione del segnale. Questo progetto utilizza invece un sensore ad uscita digitale,
il DS18B20, che non necessita di alcun circuito di compensazione
Sin da tempi arcaici il concetto di temperatura nasceva dal tentativo di valutare il “caldo” e il “freddo” attraverso le percezioni sensoriali. E’ evidente che non poteva esserci alcuna esatta corrispondenza tra una sensazione sensoriale e la temperatura: ogni stima, seppur attenta, sarebbe stata del tutto approssimativa e qualche volta anche molto lontana dalla realtà.
Galileo Galilei, avendo ben compreso la criticità di tali valutazioni, realizzò il primo termoscopio, strumento per misurare il caldo e il freddo, costituito da un recipiente (caraffa) di vetro dal lungo collo; e nel 1607, realizzò anche il primo termometro. Da allora ad oggi sono stati costruiti innumerevoli dispositivi: a gas, a liquido, elettrici a resistenza, a termocoppia, bimetallici o a bimetallo, a massima e minima, a rovesciamento, ecc..
Realizzati i primi termometri, l’uomo si è posto il problema di adoperare delle scale termometriche per la lettura della temperatura e nel corso degli anni ne sono state adottate diverse: centesimale o Celsius, Réaumur, Fahrenheit, assoluta delle temperature o Avogadro, termodinamica delle temperature assolute, internazionale pratica delle temperature. In Italia, ad esempio, la scala termometrica tutt’oggi utilizzata è la centigrada o Celsius, così chiamata perché proposta nel 1742 da Anders Celsius, noto professore di astronomia.
Nella scala Celsius, il punto di congelamento dell’acqua corrisponde a 0°C mentre a 100°C si ha l’ebollizione. Sotto il punto di congelamento la scala diventa negativa.
Oggi, grazie al progresso tecnologico, la realizzazione di un termometro è alla portata di molti appassionati di elettronica. Esistono, infatti, una miriade di sonde analogiche e digitali “facilmente” controllabili tramite un microcontrollore. In questo articolo vi propongo appunto il progetto di un termometro che presenta un’accuratezza di tutto rispetto grazie ad un sensore termico ds18b20 controllato da un pic16f877.
Il sensore DS18B20
Il sensore DS18B20 è un componente prodotto dalla Dallas/Maxim Semiconductor, il suo aspetto peculiare sta nel fatto di fornire una risposta interamente digitale, attraverso un flusso seriale di dati facilmente decodificabili da un microcontrollore.
I trasduttori digitali, a differenza di quelli analogici, hanno il notevole vantaggio di semplificare l’hardware poiché non sono necessari circuiti di conversione analogico-digitali. Pertanto, anche sotto il punto di vista pratico, non vi è alcuna necessità di operare tarature e conversioni ADC, evitando quindi tutti quei fastidiosi problemi legati al condizionamento e all’imprecisione di un segnale discreto.
La sonda DS18B20 può rilevare una temperatura compresa tra -55°C e + 125°C, con un’accuratezza del rilevamento pari a ± 0.5°C, nel range -10°C ÷ 85°C. Il microcontrollore (master) comunica col sensore (slave) attraverso un protocollo proprietario denominato one-wired©, sviluppato dalla Dallas Semiconductor (oggi Maxim).
Protocollo che permette di avere un solo filo di connessione (dati), oltre a massa e positivo (nella configurazione “parassita” il positivo è opzionale, pur tuttavia in questo caso la velocità del bus sarà più lenta).
Il protocollo one-wired©
Il protocollo one-wired© è abbastanza intuitivo, la linea dati è collegata a I/O open-drain con una resistenza di pull-up (4,7 kΩ) comune a tutti i devices presenti nella Lan, che mantiene la linea normalmente “alta” (livello logico alto – a 3 o 5 volt).
Nessun commento on "Un Semplice ma Preciso Termometro Digitale"