MISURAZIONE DELLA TEMPERATURA
Si intende misurare la temperatura di un pannello solare e visualizzare il suo valore su un display a tre cifre con la precisione di ± 0,2 ° C.
Il sensore è un integrato tipo LM35 che alla sua uscita dà 10 mV/ ° C.
Si ipotizza che la temperatura possa variare tra il minimo di 0 ° C e 102 ° C.
Il diplay si trova distante dal punto della misura e pertanto si vuole utilizzare una trasmissione, via doppino telefonico, di dati digitali seriali contenenti il valore numerico della temperatura.
Si utilizza un micro controllore ST6210.
La sonda LM35 dà 10 mV / ° C pertanto a 102 ° C avremo una tensione di 1020 mV.
Per sfruttare tutta lescursione dellADC cioè da 0 a 5 V per avere una conversione con un numero compreso tra 0 e 255, dovrò amplificare il segnale della sonda di :
A = 5 : 1,02 = 4,9
così da avere a 102 ° C un byte di conversione contenente 255.
Se trasmetto tale byte in forma seriale e lo ricostruisco in sede di ricezione, basterà dividerlo per il fattore 5 e moltiplicare il risultato x 2 così da ottenere il numero che esprime i gradi:
255 : 5 = 51 con resto 0 poi 51 x 2 = 102
in realtá non arriveremo mai né a 100 né a 102° C ma soltanto al max 99,8 ° C
Facciamo un esempio reale :
Supponiamo che dalla conversione si abbia il numero 138 si avrà :
138 : 5 = 27 x 2 = 54 con resto = 6 anche il reto x 2 = 12 il che vuol dire 1 grado in piú e 2 decimi di grado infatti 12:10= 1 unitá e 2 di resto pertanto 54 diventerá 55 che : 10 = 5 con resto = 5 cioé cifra decine = 5 cifra unità = 5 cifra decimi = 2 cioè sul display avremo 55,2 ° C
Così per tutti gli altri possibili valori di conversione.
AMPLIFICATORE
Per adattare la tensione della sonda secondo quanto sopra esposto, si usa un operazionale in configurazione non invertente in grado di amplificare 4,9
Sapendo che A=1+( R8 : (R7+R5)) dovrà essere R7+R5 = 100 : 3,9 = 25,64 Kohm si è pertanto scelto R7 = 15K e R5 un trimmer da 22K così da poterlo regolare per ottenere lamplificazione desiderata.
TARATURA
Per la taratura si dovrà , con Vin della sonda = 0 V, regolare R4 per azzerare luscita sul pin 6 del uA741 mentre con una Vin di 500 mV si regola R5 per una Vout sul pin 6 di 2450 mV.
Per una più accurata taratura ripetere entrambe le regolazioni precedentemente fatte.
.title "RX+display" ; Titolo del programma .vers "ST62E10" ; Microprocessore usato ; 8 Mhz ; 26/08/1999 ....OMISSIS....... media add a,resto ;somma il precedente valore con il nuovo jrnc etic2 ;se non cè riporto salta inc risul ;altrimenti incrementa etic2 ld resto,a ld a,xx ;verifica se ha eseguito 255 conversioni jrz etic4 ;se si salta dec xx ;altrimenti un conversione in meno ret etic4 ld a,resto ;arrotonda cpi a,127 jrc etic3 ;se a é minore salta e continua a sottrarre inc risul ;altrimenti arrotonda incrementando risul etic3 ld a,risul ;valore mediato 255 volte va in a ldi xx,5 call div ld a,resto add a,a ;moltiplica per 2 add a,a ;ancora x2 ld decimi,a ld a,risul add a,a ; x2 ld decine,a ;salva provvisoriamente ld a,decimi ;riprende decimi cpi a,10 ;verifica se dopo x2 ha jrc ldxx ;superato l'unitá inc decine ;se si incrementa ldxx ldi xx,10 ;ín xx il divisore (:10) call div ld a,resto ld decimi,a ;decimi di grado ld a,decine ;riprendo decine call div ld decine,a ;decine di grado ld a,resto ld unita,a ;unita di grado ret div clr w ldi wdog,255 cp a,xx ;se a< div salta jrc ok sub_ sub a,xx ;sottrae x ad a inc w ;conta quante volte ci sta x in a ldi wdog,255 cp a,xx jrnc sub_ ;se a >= salta e continua a sottrarre ok ld resto,a ;resto UNITA ld a,w ;risultato ld risul,a ;DECINE ret ......OMISSIS......LE MODIFICHE APPORTATE SONO ALCUNI VALORI DELLO SCHEMA E LA PARTE SCRITTA IN ROSSO NEL LISTATO RX TUTTO IL RESTO IDENTICO AL PROGETTO ORIGINALE