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 l’escursione dell’ADC 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 l’amplificazione desiderata.

TARATURA

Per la taratura si dovrà , con Vin della sonda = 0 V, regolare R4 per azzerare l’uscita 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