TEMI D'ESAME DI MATURITA` PROFESIONALE
ESAMI DI MATURITÀ
PROFESSIONALE
INDIRIZZO: TECNICO DELLE INDUSTRIE ELEITRONICHE
Corsi di prosecuzione del PROGETTO 92
TEMA 1994:
ALTRI TEMI D'ESAME DI MATURITÀ PROFESIONALESi vuole realizzare un sistema elettronico per il monitoraggio a distanza della temperatura media di un processo fisico, che deve essere inviare ad un centro di rilevamento distante 10 Km dal punto di misura. IL sistema è organizzato secondo lo schema a blocchi di figura. Le tre sonde di temperatura, con resistenza interna Rs = 5K, forniscono ai loro capi una tensione di uscita a vuoto V1,V2,V3 secondo la seguente legge:V(T) = Vo +K*T
con T = Temperatura in gradi centigradi (° C) ;
Vo = 0,5 V;
K = 0,015 V/° C
I blocchi in esame si possono descrivere secondo i seguenti punti.
1) A1, A2, A3 sono tre stadi amplificatori in grado di fornire in uscita al variare della temperatura T fra 0° C e 60° C Ve segnali proporzionali di tensione Vu1, Vu2, Vu3 compresi fra 0 e 5 Volt.
2) M è un dispositivo analogico in grado di fornire all'uscita la media aritmetica Vm dei tre segnali provenienti dagli stadi precedenti.
3) T è un dispositivo di trasmissione.
4) C è un canale di trasmissione.
5) R è un dispositivo di ricezione.
IL candidato, dopo aver formulato le ipotesi progettuali che ritiene opportune ed avere scelto i componenti elettronici necessari:
a) scelga il canale di trasmissione e una adeguata modalità di realizzazione del collegamento a distanza, illustrando in particolare gli aspetti relativi al sistema di modulazione e demodulazione proposto;
b) commenti nella sua globalità il sistema mettendo in evidenza le funzioni svolte da ogni blocco;
c) progetti, scegliendo opportunamente gli elementi elettronici, i blocchi descritti ai punti 1) e 2).
Schema a blocchi
SOLUZIONE DEL PROBLEMA
Dovendo trasmettere i dati della temperatura ad una distanza di 10Km sarà opportuno prevedere l’utilizzo di un trasmettitore di radiofrequenza a modulazione di frequenza del tipo commerciale per usi civili in grado di trasmettere segnali di bassa frequenza nel campo audio in quanto si intende convertire la tensione Vm in un valore numerico digitale da poter inviare serialmente sotto forma di impulsi di B.F. Quanto fin qui esposto sarà sviluppato approfonditamente più avanti, ora occupiamoci della parte hardware necessaria per ottenere le tensioni proporzionali alla temperatura cioè A1=A2=A3. Un amplificatore adeguato al caso è un non invertente con operazionale come raffigurato qui di seguito.
SCHEMA AMPLIFICATORE A1-A2-A3
Con la sonda a 0 gradi si avrà una Vin= 0,5 + 0,015 x 0 = 0,5V
Con la sonda a 60 gradi si avrà un Vin=0,5 + 0,015 x 60 = 1,4V
L’escursione della tensione da 0 ° C a 60 ° C sarà di 0,9V.
Dovendo avere Vout = 5 V per 60 gradi di temperatura ne consegue che il guadagno dell’operazionale sarà A=Vout/Vin=5/0,9= 5,555
Scegliendo R2 dell’ordine di grandezza di Rs con un valore commerciale 5K6 (1%) posso determinare R3 sapendo che A=1+R3/R2 ne consegue che
R3= (A-1) x R2 = 4,555 x 5,6 = 25,555K
Per una migliore taratura sarà opportuno scindere R3 in una R da 22k con in serie un trimmer multigiri da 4K7 così da poter regolare Vout a 5V in corrispondenza dei 60 ° C.
Il dispositivo analogico in grado di fornire la media automatica Vm dei tre segnali Vu1,2,3 può essere un circuito sommatore non invertente ad operazionale come il seguente circuito :
È stata aggiunta la resistenza da 3k33 così da avere la tensione d’uscita già mediata. Supponendo infatti di avere V1=V2=V3=5V si può immaginare un circuito equivalente come il seguente :
Sapendo che il guadagno dell’amplificatore non invertente è dato da
A= 1+ Rf / Rx si avrà A= 1+ 1k5 / 1k5 = 1+1 =2
Essendo però per definizione A= Vout /Vin avremo
Vout= Vin x A = 2,5V x 2 = 5 V
Vout come si vede è la media delle tre tensioni d’ingresso. Lo stesso discorso vale anche per tutti gli altri casi con qualsiasi valore di V1,2,3.
Supponiamo V1=5V e V2=V3=0 V
La media dovrebbe essere (5+0+0) / 3 = 1,66V infatti se Vin all’ingresso non invertente è 0,83V sarà Vou = 0,83 x 2 =1,66 V. Considerando che la tensione utile in uscita degli operazionali può raggiungere massimo 5V ne consegue che il valore della tensione di alimentazione può essere +9 V per +Vcc e - 9 V per -Vcc.
Taratura dei trimmer
Regolare tutti i trimmer potenziometrici a metà corsa. Simulare una V1, 2, 3 d’ingresso al posto della sonda con una tensione 0,5 V e regolare il trimmer da 10K per avere una Vu1,2,3 di 0 V mentre simulando una V1,2,3 di 1,4V regolare il trimmer da 4K7 per Vu1,2,3 di 5V. Ripetere la taratura per una migliore regolazione.
Lo schema complessivo che soddisfa le richieste del problema di cui ai punti 1 e 2 sarà :
BLOCCO T DI TRASMISSIONE
Con il blocco T inteso come dispositivo di trasmissione oltre al trasmettitore vero e proprio, come già accennato inizialmente, è da prevedere la parte hardware e software che convertano il segnale Vm prima in un valore numerico digitale mediante ADC e poi in una serie di impulsi di B.F. Usando un microcontrollore ST6210 si potrebbe ottenere entrambe le funzioni. All’interno del micro è già previsto un ADC a 8 bit pertanto, opportunamente programmato, mi convertirà la tensione Vm da 0V a 5 V in un numero binario compreso tra 00000000b e 11111111b cioè da 0 a 255 decimale (00h - 0ffh). Una opportuna routine serializzerá tutti gli otto bit del valore ottenuto dalla conversione ADC abbinando al livello di ogni bit un diverso duty cycle dell’impulso da trasmettere come raffigurato nel seguente grafico.
Con un T di 1,2 mS si ha una frequenza F = 1 / T = 1 / 1,2 = 833,3 Hz segnale adeguato per essere inviato ad un trasmettitore. La banda passante del canale di trasmissione del tx sarà sufficiente ± 5 Khz usata da alcuni trasmettitori commerciali.
.title "TXBYTE" ; Titolo del programma .vers "ST62E10" ; Microprocessore usato ;*** Setta la porta A ldi pdir_a,00000001b ldi popt_a,00000001b ldi port_a,00000000b ;pa0=OUT ;*** Setta la porta B ldi pdir_b,00000000b ;PB0 input ADC ldi popt_b,00000001b ldi port_b,00000001b VARIABILI USATE : AA per contare 256 conversioni RESTO tiene il valore della conversione precedente che verrá sommata alla prossima RISUL conta gli owerflow di carry e alla fine conterrà il valore mediato Effettua 256 conversioni da analogico a digitale e somma ogni volta il risuolato della conversione contando gli owerflow del carry cosi che dopo 256 volte il valore di owerflow è il valore mediato di 256 misure A/D. convert res 4,ior ;disabilita eventuale interrup timer clr resto ;azzera le variabili usate in questa routine clr risul ldi aa,255 ;numero di conversioni da effettuare averr1 ldi wdog,255 ldi adcr,00110000b ;abilita A/D att jrr 6,adcr,att ;se il bit 6 di ADCR è 0 rimane ad ATTendere nop ld a,addr ;mette in a il valore della conversione add a,resto ;somma al resto precedente jrnc averr2 ;se non supero 255 salta inc risul ;altrimenti inc risul averr2 ld resto,a ;ricorda in resto ld a,aa ;se sono già 256 conversioni salta jrz averr4 dec aa ;altrimenti conta una conversione in più jp averr1 ;altra conversione averr4 ld a,resto ;finite le 256 conversioni verifica se cpi a,127 ;resto >127 allora jrc averr3 inc risul ;arrotonda e aggiunge uno al risultato averr3 ld a,risul ; mette in a il valore mediato delle 256 conversioni set 4,ior ;riabilita int. timer ret ;--------------------------- ;PROGRAMMA PRINCIPALE ;--------------------------- main ldi wdog,255 ldi adcr,00110000b ;attiva convertitore ADC attendi jrr 6,adcr,convert ;attende conversione - circa 70microsec. ld a,addr ;mette in a il valore della conversione ldi x,8 ;numero dei bit da tx unbit rlc a ;ruota nrl cy il bit 7 del byte jrnc zero ;se cy=0 salta a zero jp uno ;se cy=1 salta a uno zero set 0,port_a ;mette linea=1 ldi w,30 ;resta a 1 per 1/4 T decw dec w jrnz decw res 0,port_a ;mette linea=0 ldi w,90 ;resta a 0 per 3/4 T dew dec w jrnz dew jp decx uno set 0,port_a ;lineaa=1 ldi w,90 ;resta per 3/4 T decc dec w jrnz decc res 0,port_a ;lineaa=0 ldi w,30 ;resta a 0 per 1/4 T decw_ dec w jrnz decw_ decx dec x jrz ldiw ;se i bit tx sono 8 ritorna jp unbit ;altrimenti ne prende un altro ldiw ldi w,170 ;pausa fra byte = circa 2T duet ldi wdog,255 dec w jrnz duet jp main ;altro byteBLOCCO R DI RICEZIONEAll’uscita del ricevitore si riavrà il segnale spedito dal Tx con i fronti di salita e discesa leggermente alterati con gli spigoli smussati dovuti alle costanti di tempo degli stadi di media frequenza del ricevitore aventi una banda passante finita.
Pertanto le armoniche a frequenza elevata degli impulsi quadri verranno tagliate introducendo appunto una distorsione armonica del segnale.
Sará sufficiente far passare in una porta logica a trigger di Schmitt del tipo CD4093 per riavere i fronti di salita e discesa rigenerati introducendo delle alterazioni di durata del duty cycle non significative per la decodifica degli impulsi e della ricostruzione del relativo bit.
Infatti se consideriamo che la campionatura avverrà a metà dell’impulso si osserva che l’impulso può variare la sua durata , dovuto a questioni di distorsione, per un tempo quasi di ¼ T senza che influisca sulla corretta decodifica.
Il circuito di decodifica sarà ancora gestito da un ST6210 che sente il fronte di salita di ogni singolo impulso e da quel istante temporizza per un ritardo di ½ T per poi verificare se l’impulso in arrivo è a livello alto o a livello basso cosi da memorizzare o un bit a 1 o un bit a 0.
.title "RXBYTE" ; Titolo del programma .vers "ST62E10" ; Microprocessore usato ;*** Setta la porta A ldi port_a,00000000b ;pa0=input ldi pdir_a,00000000b ldi popt_a,00000000b ;*** Setta la porta B ldi port_b,00000000b ;default out=0 ldi pdir_b,11111111b ;tutti out ldi popt_b,11111111b ;------------------------ ;PROGRAMMA PRINCIPALE ;------------------------ main ldi wdog,255 ;RICEVE UN BYTE ldi w,130 ;resta in questo loop fino a che input testa jrs 0,port_a,main ;da alto torna basso e permane + di un T dec w ;per assicurarsi che sia un nuovo byte jrnz testa ldi x,8 ;numero bit da ricevere x confronto input ldi wdog,255 jrr 0,port_a,input ;resta qui se non riceve dal ricevitore ldi w,60 ;predispone per la campionatura a 1/2 T decr dec w jrnz decr jrr 0,port_a,zero ;se dopo 1/2 T e` 0 salta uno set 0,a ;altrimenti setta bit0 di a dec x ;conta un bit ricevuto jrz out ;se sono finiti salta sla a ;altrimenti sposta a sinistra bit0 e prepara resta jrs 0,port_a,resta ;per il prossimo jp input ;se linea =1 resta altrimenti input out ld port_b,a ;ha ricevuto il byte e lo mette su port_b jp main ;ricomincia per altro byte zero res 0,a ;bit0= 0 dec x jrz out ;se sono finiti salta sla a ;altrimenti sposta a sinistra e libera x prox jp input ;ne aspetta un altro
Pagina correlata: Trasmissione
e ricezione di un Byte
Misura, trasmissione
e visualizzazione della temperatura
(c) by Vittorio Crapella [ Retunr ]