capitolo 1 realizzazione sistema chopper

34
Capitolo 1 Realizzazione sistema chopper In questo capitolo viene discussa la progettazione di un sistema chopper stand-alone per le frequenze da 0.1 a 5.0 Hz. Tale realizzazione si ` e resa nec- essaria avendo a disposizione solamente un sistema chopper a disco rotante che per frequenze inferiori ai 5Hz presentava una elevata instabilit`a. Tale problema era stato raggirato modulando il fascio ottico con frequenza pari a 10 Hz con conseguente sottodimensionamento dei valori di fotocorrente prodotti e quindi di IPCE. La progettazione della scheda di controllo e di alimentazione ` e stata curata nei minimi dettagli al fine di garantire stabilit` a nel tempo ed accuratezza nella frequenza di uscita. Verranno analizzate due soluzioni progettuali di cui solo una, quella che impiega un microcontrollore, si ` e rilevata la pi` u idonea per il rispetto delle specifiche. Un generico chopper per frequenze comprese tra 10 Hz e 2 kHz ` e costituito da un disco forato che ruota a velocit`a costante per mezzo di un motore in corrente continua (fig. 1.1). Quest’ultimo viene pilotato da un segnale elettrico con modulazione a larghezza di impulso (Pulse Width Modulation ). Un accoppiatore led - fotorilevatore, in prossimit` a dei fori del disco, permette il monitoraggio della frequenza di chopping. Per frequenze di modulazione inferiori ai 10 Hz la tecnica a disco rotante non ` e pi` u applicabile per due motivi: 1. Segnale elettrico PWM con duty cicle molto ridotto che comporta instabilit` a del motore elettrico. 2. La modulazione del fascio luminoso non ` e pi` u ad onda quadra a causa della ridotta velocit`a del disco. 1

Upload: others

Post on 19-Jun-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capitolo 1 Realizzazione sistema chopper

Capitolo 1

Realizzazione sistema chopper

In questo capitolo viene discussa la progettazione di un sistema chopperstand-alone per le frequenze da 0.1 a 5.0 Hz. Tale realizzazione si e resa nec-essaria avendo a disposizione solamente un sistema chopper a disco rotanteche per frequenze inferiori ai 5Hz presentava una elevata instabilita. Taleproblema era stato raggirato modulando il fascio ottico con frequenza paria 10 Hz con conseguente sottodimensionamento dei valori di fotocorrenteprodotti e quindi di IPCE. La progettazione della scheda di controllo e dialimentazione e stata curata nei minimi dettagli al fine di garantire stabilitanel tempo ed accuratezza nella frequenza di uscita. Verranno analizzate duesoluzioni progettuali di cui solo una, quella che impiega un microcontrollore,si e rilevata la piu idonea per il rispetto delle specifiche.

Un generico chopper per frequenze comprese tra 10 Hz e 2 kHz e costituitoda un disco forato che ruota a velocita costante per mezzo di un motorein corrente continua (fig. 1.1). Quest’ultimo viene pilotato da un segnaleelettrico con modulazione a larghezza di impulso (Pulse Width Modulation).Un accoppiatore led - fotorilevatore, in prossimita dei fori del disco, permetteil monitoraggio della frequenza di chopping.

Per frequenze di modulazione inferiori ai 10 Hz la tecnica a disco rotante none piu applicabile per due motivi:

1. Segnale elettrico PWM con duty cicle molto ridotto che comportainstabilita del motore elettrico.

2. La modulazione del fascio luminoso non e piu ad onda quadra a causadella ridotta velocita del disco.

1

Page 2: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 2

In questi casi e utilizzata la modalita shutter, ovvero il fascio luminoso vieneinterrotto repentinamente da un sistema elettro-meccanico come un pistone.Nel nostro caso lo shutter e stato ricavato dal sistema di lettura dati di unhard disk con tecnologia voice-coil (figura 1.2).

Figura 1.1: Chopper ottico Oriel range10Hz - 2 kHz

Figura 1.2: Sistema voice coil di unhard disk

Il sistema e costituito da unsolenoide fissato ad una estremitadel braccio che si muove all’inter-no di un campo magnetico prodot-to da blocchetti di Neodimio. Sul-l’estremita contenente la testina estata montata una patch metallicache servira ad oscurare il fascio lu-minoso. Lo spostamento del brac-cio si ottiene facendo scorrere la cor-rente nel solenoide alternativamentenei due versi. Cio e reso possibile, inpresenza di una alimentazione singo-la, dall’utilizzo di un ponte H (figu-ra 1.3) ovvero un circuito costituitoda quattro interruttori (bjt, mosfet,rele, ...) ampiamente utilizzato nelpilotaggio di motori in DC. Gli in-terruttori superiori sono detti di source mentre quelli inferiori, che assorbonola corrente proveniente dal carico induttivo, sono detti di sink. Ogni inter-ruttore e provvisto di un diodo Schottky di ricircolo che garantisce, nelle fasidi commutazione, la salvaguardia degli stessi dalle extratensioni prodotte dalcarico induttivo.

Page 3: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 3

Figura 1.4: Schema a blocchi chopper da 0.1 a 5.0 Hz

Nel nostro caso e stato utilizzato l’integrato SN754410 della Texas Instru-ments composto da quattro half-bridges con diodi di ricircolo incorporati. Ilvantaggio maggiore e dato dalla possibilita di pilotare i gate dei mosfet consegnali TTL permettendo un interfacciamento diretto con circuiti digitali.

Lo schema a blocchi e quello riportato in figura 1.4; la sezione di oscillatoredovra rispettare le seguenti specifiche progettuali:

fout= [0.1 , 5.0] Hz a step di 0.1 Hz

Due uscite in opposizione di fase

Duty cycle pari al 50%

Tolleranza rispetto al valore richiesto pari allo 0.2%

Stabilita al variare della temperatura di 0.001Hz°C

1.1 Oscillatore con NE555

Di seguito viene riportata la prima soluzione pensata per la progettazione delsistema di chopping, riportandone gli svantaggi che hanno fatto abbandonaretale scelta.

E’ stato studiato il classico integrato NE555, un timer che, posto in con-figurazione astabile, fornisce impulsi con Duty Cicle e frequenza di uscitatunabili. E’ composto principalmente da un flip-flop di tipo RS, due ampli-ficatori operazionali e tre resistori da 5 kOhm (da cui la sigla 555). In figura1.5 viene riportato l’integrato NE555 in configurazione astabile.

Page 4: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 4

Figura 1.5: NE555 in configurazione astabile

A B Verso rotazione

0 0 fermo0 1 avanti1 0 indietro1 1 fermo

Figura 1.3: Ponte H con diodi diricircolo

L’ingresso invertente di OP2 e fis-so a 2V cc

3mentre quello non inver-

tente di OP1 e fisso a V cc3

, inoltre,a seconda dell’uscita Q il transistorad essa collegata condurra o meno.Non essendoci controreazioni su en-trambi gli op-amp, e sufficiente cheal loro ingresso siano presenti ten-sioni differenti per pochi mV per farein modo che la loro uscita commutida 0 a Vcc e viceversa. Si deduceche la tensione sul condensatore Cvariera tra V cc

3e 2V cc

3. Ricaviamo

l’espressione della frequenza di usci-ta studiando il circuito nei seguenticasi:

Caso Q = 1 (t = 0s)

Poniamo VC(0−) = V cc3

, ottenedo ilcircuito, nel dominio di Laplace, difigura 1.6.

Page 5: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 5

Figura 1.6: NE555 caso Q = 1

Otteniamo Ic(s) =V cc

s−V cc

3s

Ra+Rb+1

sC

da cui

Vc(s) = V ccs− Ic(s)(Ra +Rb) = V cc

s−

2∗V cc3

s+ 1C(Ra+Rb)

Antitrasformando otteniamo:

Vc(t) = V cc− 23V cc · e(

−t(Ra+Rb)C

)

uguagliando Vc(t) al suo valore finale (2V cc3

) si ricava la durata (th) in cuil’uscita Q rimane alta:

th = . . . = 0.693(Ra +Rb)C

Caso Q = 0 (t = th)

Ragioniamo come in precedenza ponendo, per comodita, t=0s. Il circuitodiventa, trascurando la resistenza tra collettore ed emettitore del BJT, quellodi figura 1.7con VC(0−) = 2V cc

3.

Otteniamo Ic(s) =2V cc3s

Rb+1

sC

da cui Vc(s) = 23

V ccs+ 1

RbC

Antitrasformando otteniamo:

Vc(t) = 23V cc · e −t

RbC

Page 6: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 6

Figura 1.7: NE555 caso Q = 0

uguagliando Vc(t) al suo valore finale (V cc3

) si ricavare la durata (tl) in cuil’uscita Q rimane bassa:

tl = . . . = 0.693RbC

Siamo in grado di ricavare l’espressione della frequenza ponendo:

f = 1th+tl

= 1.44(Ra+2Rb)C

Occorre rispettare le seguenti condizioni:

- DC pari al 50% (tl = th) ⇔ Rb Ra

- Ra ≥ 0⇔Rb ≤ 0.72fC

- Ra, Rb ≤ 10MΩ C ≤ 4µF

Queste condizioni non permettono la copertura del range [0.1 , 5.0]Hz senon con duty cycle inferiori al 40%, condizione per noi inaccettabile. Unmiglioramento si sarebbe avuto con l’impiego di divisori di frequenza chedarebbero il duplice vantaggio di far lavorare l’NE555 a frequenze maggiorie di ridurre passo passo l’errore assoluto (fnominale − freale).

Page 7: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 7

1.2 Oscillatore con microcontrollore

Figura 1.8: PIC 16F628A

Il modo migliore di creare un sistemastand-alone e facilmente riconfigura-bile e quello di utilizzare un micro-controllore, ovvero un circuito inte-grato con microprocessore in gradodi gestire autonomamente differentifunzioni. Il microcontrollore utiliz-zato e un 16F628A prodotto dallaMicrochip [1], un modello low costad 8 bit basato su memoria flash intecnologia CMOS.

Il pic 16F628A possiede una ar-chitettura hardware di tipo Haward, ovvero istruzioni e dati memorizzate inlocazioni separate usando due distinti bus, a differenza della meno efficientearchitettura Von Neumann in cui il bus e unico. L’architettura software e ditipo RISC (Reduced Instruction Set Computer) in cui il numero di istruzionie ridotto e tutte hanno stessa lunghezza inoltre la quasi totalita viene es-eguita in un unico colpo di clock permettendo una migliore gestione delletempistiche.

La memoria di programma (figura 1.10) e di tipo EEPROM da 4 KByte,ovvero 4096 celle che vanno dall’indirizzo 0000h a 07FFh1. La memoria dati,partizionata in quattro banchi, e di tipo RAM e contiene sia i registri dedicatiche di uso speciale.

1.2.1 Realizzazione software

Il programma di gestione del microcontrollore e stato scritto in linguaggioAssembly in modo da poter gestire al meglio le tempistiche e le priorita deivari processi in gioco2. I compiti che il microcontrollore deve assolvere sono:

ottenere la frequenza desiderata dalla scalatura dei 32.768 kHz di unquarzo posto sui pin RB 6,7

generare due onde quadre in opposizione di fase (pin RB0,1)

1Il programma che e stato implementato arriva alla cella 0130h.2Il codice completo e riportato nella appendice 1.25

Page 8: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 8

Figura 1.9: Schema a blocchi 16F628A

Page 9: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 9

Figura 1.10: Memoria di programma e memoria dati

Page 10: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 10

frequenza tunabile con step di 0.1Hz tramite pulsanti UP e DOWN(pin RA 6 e RB 3)

visualizzazione della frequenza impostata su due display a sette seg-menti multiplexati (pin RA 0,1,2,3,4 e RB 2,5)

In figura 1.11 e riportato lo schema a blocchi del programma dove i sei sotto-programmi (subroutines) saranno spiegati passo passo. In figura 1.12 e grafi-cato il circuito finale con il microcontrollore interfacciato alle varie periferiche:pulsanti, display, led, quarzo e ponte H.

1.2.1.1 Dichiarazioni registri e variabili

Nella parte iniziale del programma vengono dichiarati, tramite la direttivaequ, i registri speciali con nome a piacimento e con indirizzo di memoriapari a quello riportato sul datasheet. Con la stessa direttiva sono dichiarate,nelle locazioni di memoria non occupate dai registri speciali, delle variabiligeneriche.

STAT EQU 03H ; Registro di statoPORTA EQU 05H ; Porta APORTB EQU 06H ; Porta BINTCON EQU 0BH ; Registro abilitazione interruptOPTIO EQU 81H ; Registro OPTIONCMCON EQU 1FH ; Reg comparatoriPCON EQU 8EH ; Registro Power Control...INDS EQU 31H ; Numero su display sinistroINDD EQU 32H ; Numero su display destroKL EQU 33H ; Parte bassa della costante KKH EQU 35H ; Parte alta della costante K

1.2.1.2 Creazione onde quadre

I pin RB0 e RB1 forniscono le onde quadre in opposizione di fase che pilotanoil ponte H. L’opposizione di fase si ottiene inizializzando ad esempio a zeroRB0 e ad uno RB1, una volta trascorso un semiperiodo viene effettuatal’operazione di XOR tra la porta B e il valore ’00000011’ in modo da invertirei valori impostati e lasciando invariati quelli delle altre porte. In gergo vienedetto che i pin sono stati ”togglati”.

La tempistica e gestita dal modulo TMR1 (figura 1.13), ovvero un timer -contatore a 16 bit che consiste in due registri da 8 bit (TMR1L e TMR1H);

Page 11: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 11

Figura 1.11: Diagramma di flusso del programma di gestione

Page 12: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 12

Figura 1.12: Circuito oscillatore variabile con microcontrollore

Page 13: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 13

Figura 1.13: Modulo TMR1

questi ultimi vengono incrementati a velocita pari o al clock interno o aduno esterno. La velocita di incremento puo essere variata per mezzo di unprescaler che puo dividere tale frequenza fino a otto volte.

Il modulo Timer1 viene fatto lavorare sotto interrupt ovvero, al verificarsi del-l’overflow del registro TMR1, viene abbandonata l’esecuzione del programmaprincipale per passare alla routine di interrupt. In questo sottoprogrammavengono salvati i registri principali in altri di appoggio in modo da poterliripristinare una volta conclusa la routine stessa. A questo punto si togglaRB0 con RB1 e viene ricaricato il valore di partenza sul registro TMR1.

INTERR movwf WTEMP ;Salvo i registri STAT e Wswapf STAT,Wmovwf STATEM

btfss PIR1,0 ; Interrupt da overflow TMR1? se si skipgoto endin ;movlw b’00000011’ ; Carica Wxorwf PORTB,1 ; PORTB=XOR(PORTB,W)call TM1 ; chiamo routine che ricarica TMR1bcf PIR1,0 ; Clear flag TMR1IF

endin swapf STATEM,wmovwf STATswapf WTEMP,fswapf WTEMP,wretfie

Calcolo valore del registro TMR1

Page 14: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 14

Caratteristiche quarzo utilizzato: E’ stato utilizzato un quarzo low-costcon caratteristiche riportate in tabella 1.1;la frequenza in ingresso al moduloTMR1 e pari a:

fquarzo = fnominale ·(1± 40

106 ± 11064T

)= fnominale ± 2Hz

Dove e stata assunta una variazione massima di temperatura pari a4Tmax =30°C .

Il compito del modulo TMR1 e di scalare tale frequenza entro il range[0.1↔ 5.0]Hz, il vantaggio che ne consegue e una scalatura dell’errore asso-luto:

fout = fquarzo

S= fnominale

S± 2Hz

Scon S=coefficiente di scalatura

nel caso la frequenza desiderata fosse di 1.0Hz allora S = 215 che comportaun errore assoluto di:

Eass|1.0Hz = 2Hz215 = 2−14

ovvero un errore assolutamente trascurabile in riferimento alle specificherichieste (vedi inizio capitolo 1).

TIPOLOGIA Quarzo low-cost

fnominale 32768 HzTolleranza ±40ppm @25°C

Deriva termica ±1ppm°C

Range lavoro T ∈ [−10↔ +70] °C

Tabella 1.1: Quarzo utilizzato

Modulo TMR1: La frequenzacon cui si verifica l’overflow del reg-istro TMR1, che corrisponde a quel-la con cui eseguiamo il toggle di RB0con RB1, e data da:

ftoggle =f1

PRE · (TMR1max − TMR1)(1.1)

f1 =

fclock

4nel caso si usi il clock interno

fext nel caso si usi un clock esterno nei pin RB6 e RB7

Page 15: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 15

Figura 1.14: Valori di TMR1 in funzione di fchopper

PRE = 1, 2, 4, 8 valore del prescaler

TMR1max = 216 = 65536

0 6 TMR1 6 TMR1max

fchopper =ftoggle

2con fchopper = [0.1 : 0.1 : 5.0]Hz

Il valore del prescaler deve essere scelto in modo da ottenere tutti i cinquantavalori di TMR1, corrispondenti ai cinquanta valori di fchopper, compresi nelrange suddetto e il piu spaziati possibili3.

In figura 1.14 sono riportati i valori di TMR1 al variare di fchopper utilizzandoun quarzo esterno da 32.768 kHz4.

E’ evidente che il valore del prescaler ottimale e pari a quattro.

Al fine di caricare un diverso valore sul registro TMR1 in corrispondenzadella pressione di un tasto, si possono adottare due tecniche:

creazione di una tabella in cui memorizzare 100 valori a 8 bit perTMR1L e TMR1H;

3Cio perche i valori di TMR1 ricavati sono arrotondati all’intero piu vicino.4Grafico ottenuto da uno script Matlab appositamente creato per ricavare i parametri

del modulo TMR1, si faccia riferimento all’appendice ??

Page 16: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 16

ricalcolare, tramite l’inversione della formula 1.1, il valore di TMR1.

La prima tecnica presenta lo svantaggio di dover riportare nel codice as-sembler cento valori da richiamare per mezzo delle istruzioni addwf e retlw5:

TM1low addwf PCL,1retlw ’valore per 0.1 Hz’retlw ’valore per 0.2 Hz’... ...retlw ’valore per 5.0 Hz’

TM1high addwf PCL,1retlw ’valore per 0.1 Hz’retlw ’valore per 0.2 Hz’... ...retlw ’valore per 5.0 Hz’

Inoltre, nel caso si volesse modificare il range di frequenze, occorrerebberiformattare completamente il suddetto codice.

E’ stata quindi adottata la seconda soluzione in cui ad ogni pressione di unodei tasti si ricalcola il valore di TMR1. Non essendo presenti in assembleristruzioni per le moltiplicazioni e divisioni sono state in parte appositamentecreate e riportate in appendice ??.

Visualizzazione del valore della frequenza Il valore della frequenzaviene visualizzato su una coppia di display a sette segmenti a catodo comune;al fine di minimizzare il numero di uscite occupate i due display presentanole linee dei segmenti condivise mentre in prossimita dei due catodi sono postidue transistor npn pilotati da altrettante uscite (figura 1.12). Sfruttando ilfatto che le immagini visive hanno un tempo di permanenza sulla retina trai 10 e i 20 ms, i display vengono alternativamente attivati per 10 ms.

Una volta associati le uscite del PIC alle linee dei segmenti, sono state createdelle costanti chiamate zero, uno, ..., nove che decodificano il numero davisualizzare sul display:

;-------------- Def costanti display catodo comune---------------------ZERO EQU 0CFH ; Codifica numero 0: 11001111 -6-UNO EQU 088H ; Codifica numero 1: 10001000 0| |7

5Si faccia riferimento all’appendice ??.

Page 17: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 17

DUE EQU 0D6H ; Codifica numero 2: 11010110 -4-TRE EQU 0DCH ; Codifica numero 3: 11011100 1| |3QUATTR EQU 099H ; Codifica numero 4: 10011001 -2- .NCCINQUE EQU 05DH ; Codifica numero 5: 01011101SEI EQU 05FH ; Codifica numero 6: 01011111SETTE EQU 0C8H ; Codifica numero 7: 11001000OTTO EQU 0DFH ; Codifica numero 8: 11011111NOVE EQU 0DDH ; Codifica numero 9: 11011101;----------------------------------------------------------------

La successione delle subroutine sara la seguente:

call VISSX ; Subroutine visualizza numero sinistrocall DELA10 ; Subroutine ritardo 10mScall VISDX ; Subroutine visualizza numero destrocall DELA10 ; Subroutine ritardo 10mS

Nelle subroutine VISSX e VISDX viene caricato il valore da visualizzare nelregistro di appoggio ’W’ e viene ricavata la decodifica per il display con laseguente routine:

DISP addwf PCL,1 ; Sommo W al program counterretlw ZERO ; Visualizza 0retlw UNO ; Visualizza 1retlw DUE ; Visualizza 2retlw TRE ; Visualizza 3retlw QUATTR ; Visualizza 4retlw CINQUE ; Visualizza 5retlw SEI ; Visualizza 6retlw SETTE ; Visualizza 7retlw OTTO ; Visualizza 8retlw NOVE ; Visualizza 9

Ritardo di 10 ms Per la gestione dei display e, come vedremo successiva-mente, per la gestione dei pulsanti con tecnica antirimbalzo, e richiesto un ri-tardo di 10 ms. E’ stato utilizzato il modulo TMR0 ovvero un timer/contatoreche consiste in un registro ad 8 bit che si auto-incrementa con la frequenzadel clock interno6 opportunamente scalata (vedi figura 1.15).

6A differenza del TMR1 che prevede la possibilita di gestire un clock esterno ad essoriservato.

Page 18: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 18

Valore bit Valore prescaler

000 1:2001 1:4010 1:8011 1:16100 1:32101 1:64110 1:128111 1:256

Figura 1.15: Valore del prescaler infunzione della combinazione dei bit0,1,2 dell’option register.

Il tempo necessario per andare inoverflow e pari a:

T = PRE·(TMR0max−TMR0)fcycle

dove:

fcycle = fclock

4nel nostro caso il

clock e interno e a 4 MHz

TMR0max = 28 = 256

Quindi per ottenere T = 10ms estato posto PRE = 256 e, di con-seguenza, TMR0 = 255. Se non sifosse utilizzato tale modulo il ritardo si sarrebbe dovuto incrementare ’man-ualmente’ un registro a 8 bit monitorandone l’eventuale overflow. Il mod-ulo TMR0 invece permette di automatizzare l’incremento del registro e lasegnalazione dell’overflow per mezzo di un bit flag del registro INTCON.

Gestione pulsanti Nei circuiti digitali la gestione dei pulsanti e problem-atica a causa di due fenomeni:

impulso di rumore di pochi microsecondi ;

rimbalzo dei contatti (figura 1.16 ).

Entrambi causano una falsa lettura dell’ingresso che puo essere evitata in-serendo nel codice una routine di ritardo di circa 20 ms prima che vengaaccertato lo stato delle porte di ingresso; nel nostro caso si utilizzano i 10ms di ritardo creati precedentemente per attivare uno dei display, ovveroviene attivato il display sinistro e durante i 10 ms si controlla lo stato deitasti in seguito viene eseguita la stessa procedura con il display destro (figura1.11). Quindi i due processi di visualizzazione e antirimbalzo sono stati ac-cumunati poiche entrambi devono rimanere attivi fino allo spegnimento dellostrumento.

Page 19: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 19

Figura 1.16: Tensione in ingresso apulsante premuto

Per evitare di eseguire piu step nelcaso in cui il pulsante venga premu-to piu di 20 ms, occorre utilizzare unbit di un registro come memoria del-la gia effettuata operazione di incre-mento o decremento della frequenza.Il bit in esame verra resettato solo alrilascio del pulsante.

Quanto detto si inplementa con ilseguente codice:

btfss REGUP,0 ; Testo UP per pressionegoto GOUP ; Vai alla routine GOUPbtfsc REGUP,1 ; Testo UP per rilasciobcf REGUP,2 ; Resetta memoria incremento effettuatobtfss REGDN,0 ; Testo UP per pressionegoto GODN ; Vai alla routine GODNbtfsc REGDN,1 ; Testo UP per rilasciobcf REGDN,2 ; Resetta memoria decremento effettuatogoto MAIN ;

Indicando con Id il valore visualizza-to sul display destro e con Is quello sul sinistro, la routine GOUP incrementala frequenza di 0.1 Hz e riparte dal valore iniziale (0.1 Hz) quando si oltrepassail valore massimo (5.0 Hz), mentre la routine GODN decrementa la frequenzadello stesso step e ritorna a 5.0 Hz nel caso si superi il valore minimo (0.1Hz) (figura ).

1.2.2 Realizzazione hardware

1.2.2.1 Shutter

Come gia riportato ad inizio capitolo lo shutter e stato ricavato dal sistemadi lettura voice coil di un normale hard disk modificato in modo da poteroscurare spot luminosi da 2 cm di diametro (figura 1.18).

In figura 1.19 e invece riportato un sistema piu complesso che ha lo scopodi deflettere uno specchio piano. Anche in questo caso un solenoide e fis-sato all’asse di rotazione ed e sospeso tra due polarita opposte di magnetial neodimio. Tale sistema permette di poter effettuare misure su due dis-positivi (ad esempio due celle) contemporaneamente. Lo specchio provvede

Page 20: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 20

Figura 1.17: Routine GOUP e GODN

a deflettere il fascio luminoso una volta su un dispositivo e una volta sul-l’altro. Nel caso dell’apparato di misura dell’IPCE, ponendo tale sistemanella parte terminale del set-up, e possibile misurare contemporaneamentela risposta della cella e quella del fotodiodo (da quest’ultima si ricava lapotenza incidente)(figura 1.20). Da notare che lo specchio assolve a tutti glieffetti il compito dello shutter illuminando per mezzo periodo un dispositivoe l’altro. L’angolo spazzato dallo specchio e tunabile in modo grossolano conl’avanzamento delle due barrette ai lati che limitano la corsa dell’induttore.

Entrambi i sistemi sono pilotabili dall’uscita del ponte H e la rapidita delladeflessione puo essere regolata per mezzo dei quattro microswitch di uscita7.

1.2.2.2 Scheda controllo

La scheda di controllo (figura 1.12) e stata realizzata su una classica basettamillefori, i componenti di interfaccia (display, tasti e microswitch) sono statiposti sulla faccia opposta a quella in cui risiedono microcontrollore e ponteH (figure 1.21 e 1.22 ).

7Ogni microswitch pone in parallelo alla resistenza di uscita del ponte H una di valoretale da raddoppiare via via la corrente; essendo Rout=680 Ohm sono stati poste resistenzeda 680, 330, 220 e 330 Ohm.

Page 21: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 21

Figura 1.18: Shutter da sistema voice coil

1.2.2.3 Alimentatore

Sezione 14/16 volt Come riportato in figura 1.12, il ponte H presentadue distinte alimentazioni: una a 5 volt per gestire l’interfacciamento consegnali TTL ed una compresa tra 5 e 36 volt per pilotare il carico induttivo.In figura 1.23 e riportato lo schema circuitale implementato; la tensione dellarete viene portata a 16 V per mezzo di un classico trasformatore con rapporto1:14, in cascata e presente un ponte di Graetz seguito da un condensatoreelettrolitico di livellamento.

Dimensionamento componenti Impostiamo le equazioni circuitali inmodo da poter dimensionare i componenti utilizzati[3, capitolo 4]:

Vrete = 311V · sin (2 · π · 50 · t) Vtrasf = Vm · sin (2 · π · 50 · t)

dove Vm = 16V

Vponte ≈ Vm · | sin (2 · π · 50 · t) |

Page 22: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 22

Figura 1.19: Sistema deflessione specchio

Page 23: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 23

Figura 1.20: Apparato di misura IPCE che fa uso del sistema di deflessionespecchio.

Figura 1.21: Scheda di controllo fronte.

Page 24: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 24

Figura 1.22: Scheda di controllo retro.

Figura 1.23: Schema alimentatore +5 V , +16V

Page 25: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 25

La tensione inversa di picco a cui e sottoposto ogni diodo e pari a:

Vreverse = −V m = −16V

Inserendo il condensatore di livellamento ed approssimando in modo linearegli andamenti di carica e scarica8 possiamo porre:

VC = Vm − Vripple

2dove Vripple = ILOAD·Tscarica

C

Piu la capacita e alta, tanto piu Tscarica tende al semiperiodo (vedi figura1.24), ovvero:

Tscarica ≈ 12·fAC

= 10ms

La tensione sul condensatore e utilizzata per alimentare il carico induttivo delponte H e quindi non necessita di una eccessiva stabilizzazione, un rapportoplausibile e: VC

Vripple= 10. Sapendo che ILOAD ≈ 300mA il condensatore deve

presentare una capacita di almeno 2.2mF.

La conduzione dei diodi si ha quando Vc < Vponte ottenendo:

Iponte = VC

RLOAD+ C dVC

dt= Vm

RLOADsin (wrete · t) + wrete · C · Vm · cos (wrete · t)

Semplificando l’espressione abbiamo:

Iponte = IM · sin (wrete · t+ ϕ)

dove IM = Vm

√1

R2LOAD

+ w2C2 e ϕ = arctan (wrete · C ·RLOAD)

8Approssimazione plausibile essendo i tempi di commutazione dell’ordine di 12frete

=10ms e le costanti di tempo dell’ordine del secondo.

Page 26: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 26

Figura 1.24: Tensione sul condensatore di livellamento e a valle del ponte adiodi.

Il massimo intervallo di conduzione si ha all’accensione dell’alimentatore perpoi calare esponenzialmente fino a stabilizzarsi; in figura 1.25 e riportatol’andamento della corrente dal momento dell’accensione per valori di C paria 22, 220 e 2200uF. Nel caso di 2200uF il valore di picco e di 5.7 A e la duratadella prima semionda e di 7ms. La scelta e ricaduta su un condensatore contensione massima supportata di 35V ed un ponte a diodi integrato modelloW08M con caratteristiche riportate nella tabella 1.2.

Max Tensione Inversa 560V

Max Corrente Erogata 1.5AMax Corrente picco (T<9ms) 50A

Tabella 1.2: Caratteristiche ponte adiodi

Sezione 5 volt L’alimentazioneda 5 volts per la parte digitale (PIC esezione ingresso ponte H) deve esserestabilizzata poiche, dovendo il sis-tema chopper lavorare in modo con-tinuo per diverse ore, non si deve in-correre in errori di lettura o in resetdel microcontrollore. A tale scopo si e fatto uso del classico regolatore ditensione a tre pin LM7805 (figura 1.27) che permette una attenuazione delripple in ingresso di 80 dB (tabella 1.3).

Page 27: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 27

Figura 1.25: Andamento della corrente attraverso i diodi per C=22, 220 e2200uF.

(4Vin

4Vout

)dB

80 dB

Imaxout 2 ARout 8 mWVnoise 40 mVTmax

j 115 °C

Rjc(TO220) 5 °C/WRch(TO220) 1 °C/W

Rminja 65 °C/W

Tabella 1.3: Caratteristiche LM7805

Page 28: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 28

Figura 1.26: Scheda alimentatore +16V / +5V

Page 29: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 29

Figura 1.28: Parametri termici con raffigurato il package TO220

Per tale componente occorre verificare la necessita di un dissipatore; in tabel-la 1.3 sono riportati i parametri termici per un package di tipo TO220e riportati in figura 1.28. I pedici stanno per junction, case, heat-sink eambiente.

Figura 1.27: Regolatore 7805

Per prima cosa si calcola la resistenza termi-ca da giunzione ad ambiente (Rja) in assenzadi dissipatore: se e molto maggiore di Rmin

ja

allora non e necessario utilizzare un dissi-patore altrimenti occorre inserirne uno conRda < Rja − (Rch +Rjc).

Impostiamo le equazioni:

Rja =Tmax

j − Tmaxa

Pdiss

(1.2)

Pdiss = Potenza da dissipare = (Vin − Vout)·Iout + Vin · Ig

Con un amperometro misuriamo Iout (terzo terminale) e Ig (secondo termi-nale) ottenendo:

Pdiss = (16V − 5V ) · 62mA+ 16V · 5.3mA = 0.77W

Page 30: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 30

Occorre stimare la temperatura massima raggiunta dall’ambiente circostante,essendo l’intero progetto installato in una confezione di PVC 10cm×10cm×6cm areata da una picola ventola 3cm × 3cm da 0.8W sovrastimiamo talevalore ponendo Tmax

a ≈ 60°C.

Otteniamo Rja = 115°C−60°C0.77W

= 71 °CW

≈ Rminja = 65 °C

Woccorre, quindi, far uso

di un dissipatore di calore9. Quello utilizzato e riportato in figura 1.26 epresenta Rha = 20 °C

W, ottenendo:

Rnewja = Rjc +Rch +Rha = 26 °C

Wovvero T new

j = Pdiss ·Rnewja + Tmax

a = 70°C.

In figura 1.29 e riportato l’intero sistema di chopping progettato, da eviden-ziare la compattezza del sistema che integra in un medesimo package alimen-tatore, scheda di controllo e interfaccia utente. Nelle figure sono riportati gliandamenti

9Infatti invertendo la relazione 1.2la temperatura raggiunta dalla giunzione e Tja =114°C.

Page 31: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 31

Figura 1.29: Sistema Chopper 0.1→ 5.0Hz

Page 32: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 32

Figura 1.30: Uscite TTL di riferimento 0° e 180° caso 1Hz

Page 33: Capitolo 1 Realizzazione sistema chopper

CAPITOLO 1. REALIZZAZIONE SISTEMA CHOPPER 33

Figura 1.31: Uscita ponte H caso 1 Hz

Page 34: Capitolo 1 Realizzazione sistema chopper

Bibliografia

[1] Data Sheet PIC 16F628A http://ww1.microchip.com/downloads/en/

DeviceDoc/40044F.pdf

[2] A.Sbrana Microcontrollori Pic Teoria e Pratica

[3] J.Millman, A.Grabel Microelettronica editore McGraw Hill

34