1 piantoni federico candidato: piantoni federico 5^d classe: 5^d elettronica e telecomunicazioni...

27
1 CANDIDATO: PIANTONI FEDERICO PIANTONI FEDERICO CLASSE: 5^D 5^D INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI ELETTRONICA E TELECOMUNICAZIONI ANNO SCOLASTICO: 2004/05 2004/05 Istituto di Istruzione Superiore “Cristoforo Marzoli” Con sezioni associate ISTITUTO TECNICO INDUSTRIALE STATALE “CRISTOFORO MARZOLI” LICEO SCIENTIFICO DI STATO “GALILEO GALILEI” Via Levadello, 25036 Palazzolo s/O (BS) – C.F. 91011920179 - tel. 0307400391 fax 03074070000 TESINA PER L’ ESAME DI STATO TESINA PER L’ ESAME DI STATO

Upload: leonora-morelli

Post on 02-May-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

1

CANDIDATO: PIANTONI FEDERICOPIANTONI FEDERICOCLASSE: 5^D5^DINDIRIZZO: ELETTRONICA E TELECOMUNICAZIONIELETTRONICA E TELECOMUNICAZIONIANNO SCOLASTICO: 2004/052004/05

Istituto di Istruzione Superiore “Cristoforo Marzoli”Con sezioni associate

ISTITUTO TECNICO INDUSTRIALE STATALE “CRISTOFORO MARZOLI”LICEO SCIENTIFICO DI STATO “GALILEO GALILEI”

Via Levadello, 25036 Palazzolo s/O (BS) – C.F. 91011920179 - tel. 0307400391 fax 03074070000

TESINA PER L’ ESAME DI STATOTESINA PER L’ ESAME DI STATO

Page 2: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

2

SOMMARIO

IntroduzionePag.3

Principio di funzionamentoPag.4

Componenti optoelettroniciPag.6

Flip-flopPag.11

Microcontrollore HC08Pag.12

ProgrammazionePag.14

Amplificatore operazionalePag.20

Convertitore A/DPag.21

Driver displayPag.21

Display 7 segmenti ledPag.23

Schema circuitale autoveloxPag.24

SemaforoPag.25

AlimentazionePag.26

Schema circuitale semaforo e alimentazionePag.27

Problemi riscontrati e osservazioniPag.28

Page 3: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

3

INTRODUZIONEL’obbiettivo del progetto è realizzare un modellino di autovelox che misuri la velocità di un oggetto e la visualizzi su un display. La velocità sarà determinata con la relazione: velocità=spazio/tempo, dove lo spazio è la distanza in mm tra i due sensori che rilevano il passaggio dell’oggetto mentre il tempo sono i secondi necessari all’oggetto per andare da un sensore all’altro.

SCHEMA A BLOCCHI

RILEVAM.IR

RILEVAM.IR

MEMORIZZAZIONE

MICROCONTROLLORE

CIRCUITODI

CONDIZIONAM.DAC ADC

DRIVERDISPLAY

7SEGM

7SEGM

7SEGM

SOFTWARE

CIRCUITODI

CONDIZIONAM.

CIRCUITODI

CONDIZIONAM.

Page 4: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

4

PRINCIPIO DI FUNZIONAMENTOVi sono due sensori, ognuna formata da un diodo emettitore di luce infrarossa a 930nm e da un fototransistor sensibile alla luce infrarossa (con sensibilità massima a 930nm, compatibile quindi con il diodo emettitore) messi uno di fronte all’altro. Il fototransistor si comporta da circuito aperto se non colpito dalla luce infrarossa mentre si comporta da cortocircuito in caso di massimo irraggiamento.Collegato ad ogni sensore c’è un amplificatore operazionale utilizzato come trigger non invertente a soglie non simmetriche in modo da avere in uscita livelli di tensione stabili a seconda della ricezione infrarossa del fototransistor che potrebbe funzionare non regolarmente a causa di un cattivo allineamento con l’emettitore o in caso di irraggiamento di luce solare che contiene raggi infrarossi che interferiscono con quelli dell’emettitore.L’operazionale è seguito da un transistor in serie ad una resistenza collegata a 5v, che dà in uscita 5v in caso di visibilità tra emettitore e transistor, mentre 0v in caso di interruzione del raggio infrarosso, cioè in caso di passaggio dell’auto; in uscita risultano esattamente i due livelli compatibili TTL, 5v come livello alto e 0v come livello basso.I due circuiti rilevatori sono collegati ad un flip-flop JK (TTL 7476) con J e K a massa, il primo sensore al preset e il secondo al clear, in modo da avere in uscita dal flip-flop un impulso di lunghezza pari al tempo necessario all’auto per andare dal primo sensore al secondo.Questo impulso entra nel PTA1 del microcontrollore HC08 a 16pin. Il uC è programmato per dare in uscita (sugli 8bit del PTB) un numero tra 0 e 255 che rappresenta la velocità.Sul PTA3 il uC è collegato un pulsante normalmente aperto collegato a massa che, con la resistenza di pull-up all’interno dell’integrato attivata attraverso il software, serve da reset del uC.Gli 8bit del uC sono collegati agli 8bit in ingresso di un convertitore digitale-analogico (AD558) che converte il numero binario entrante (0-255) nei suoi ingressi, nella corrispondente tensione tra 0 e 2,55v.In successione vi sono poi due amplificatori operazionali in configurazione invertente, il primo con guadagno -0,39 e l’altro di guadagno -1.

Page 5: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

5

In questo modo, il range di tensione in ingresso (0-2,55v) sarà attenuato; l’uscita varierà quindi tra 0v e 1v. Vista l’impossibilità di avere precisamente un guadagno di 0,39 a causa dei limitati valori commerciali delle resistenze, il guadagno totale dei due operazionali in cascata sarà 0,37 e il range varierà tra 0v e 0,944v.Lo stadio finale, di visualizzazione della velocità, è composto da un particolare convertitore A/D (CA3162), un display driver (CA3161) e tre display sette segmenti ad anodo comune (H-) alimentati attraverso transistor BC328, questi ultimi pilotati dal convertitore A/D. L’ADC ha il compito principale di convertire in quattro bit una tensione compresa tra 0v e 1v e di inviarli al driver display che pilota i display sette segmenti.I display sono pilotati in sequenza: dal convertitore escono rapidamente in bit i tre numeri da visualizzare e contemporaneamente pilota i tre display attraverso i tre transistor. Il numero visualizzato corrisponde ai mV entranti nel conv. A/D.Anche se il range di tensione entrante ha un valore massimo di 944mV, sarà possibile visualizzare correttamente i valori agendo sui trimmer, modificando il valore di fondo scala e quindi, il guadagno.

USCITE DI OGNI BLOCCOuscita uC (in bit) uscita DAC (v) uscita AO (v) display

0 0 0 01 0,01 0,004 4

... ... ... ...127 1,27 0,470 496128 1,28 0,474 500

... ... ... ...254 2,54 0,940 996255 2,55 0,944 999

Page 6: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

6

EMETTITORE E FOTOTRANSISTOR A INFRAROSSI

Il led emettitore di luce infrarossa utilizzato nel circuito è l’OP165 della OPTEK. È un led di 3mm che emette luce infrarossa a 930nm, a breve distanza e con uno stretto angolo di trasmissione. Per un funzionamento ottimale necessita di una tensione di polarizzazione diretta di 1,6v e sopporta una corrente massima di 10mA. I tempi di accensione e spegnimento del led sono dell’ordine dei nanosecondi e sono quindi trascurabili ai fini del progetto.

Il fototransistor scelto è invece l’OP505 sempre della OPTEK, progettato appositamente per lavorare in accoppiata con l’emettitore OP165, anch’esso quindi sensibile ai raggi infrarossi a 930nm; questo teoricamente si comporta da circuito aperto se la base non è colpita da infrarossi mentre da cortocircuito (va in zona di saturazione) se la base è irradiata, e in quest’ultimo caso la tensione tra collettore ed emettitore è di 400mV.

Page 7: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

7

PRINCIPIO DI FUNZIONAMENTO DI UN LED INFRAROSSO

Un LED (light emitting diode) è un particolare tipo di diodo che emette una piccola quantità di luce se attraversato da una corrente elettrica. Esso è formato internamente da un chip di materiale semiconduttore ed esternamente da due terminali.La luce è una forma di energia che viene rilasciata da un atomo. Questa è composta da piccolissime particelle chiamate fotoni che rappresentano la singola unità di luce. In un atomo ci sono differenti elettroni che si muovo in un orbita intorno al nucleo. A seconda dell'orbita, un elettrone ha una certa quantità di energia. Più l'orbita è larga, più esso è carico. Quando un elettrone passa da un orbita larga ad una inferiore, esso perde un po’ della sua energia e lo fa sotto forma di un fotone. Più è alta l'energia rilasciata dall'elettrone, più il fotone è potente. Le cariche negative della regione N passano nella regione P per occupare le lacune con carica positiva. Visto che le lacune hanno un quantitativo di energia inferiore alle cariche negative, esse devono consumare della carica per poterli occupare e generano quindi fotoni (producendo la luce). Questo processo accade in tutti i diodi ma è visibile solo in quelli in cui la lunghezza d’onda dei fotoni prodotti è visibile dall'occhio umano. Usando materiali in cui gli elettroni hanno delle quantità inferiori di elettricità, la lunghezza d’onda dei fotoni sarà più alta della soglia visibile e non può essere percepita dal nostro occhio, formando un led a infrarossi.

Page 8: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

8

PRINCIPIO DI FUNZIONAMENTO DI UN FOTOTRANSISTOR

Come noto, un transistor è formato da una giunzione NPN o PNP. Un fototransistor è un particolare BJT (bipolare) che si presenta all’esterno con soli 2 terminali, infatti la base non è più pilotata in corrente ma con la luce (fotoni). La giunzione attiva di un fototransistor è la giunzione base-collettore polarizzata inversamente.In una giunzione P-N polarizzata inversamente, se irradiata di luce, si verifica un aumento della corrente inversa dovuta ai portatori minoritari. Questo perché quando una radiazione colpisce un semiconduttore drogato produce coppie elettrone-lacuna con conseguente aumento dei portatori minoritari.

N

P

N

LUCE ZONA DISVUOTAMENTO

R

VCC

IcRVccVo

collettore

emettitore

Page 9: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

9

PROVA DEL CIRCUITO DI RILEVAMENTO DI PASSAGGIO A INFRAROSSI

mAVV

led 40100

15

R7

Vled-VinI

VKK

KV

RR

RVinVref 9.3

7.210

105

1112

12

mAK

Vc 5

1

5

R6

VinI

mAK

Vb 5.0

10

5

R10

VopI

VK

KV

R

RVsatVh

VK

KV

R

RVrVtm

29.047

7.25

5

9

16.447

7.219.3

5

91

-FURMULA LED IR

-FORMULE FOTOTRANSISTOR

-FORMULE TRIGGER NON INVERTENTE

Vop

Vir

Visto che la corrente massima sopportata dal led IR è di 50mA, scelgo una corrente di 40mA.La tensione del led acceso è di 1V.

Scelgo una corrente Ic di 5mA.Per una forte saturazione del transistor, la corrente di base Ib dev’essere circa un decimo di Ic quindi sarà 0.5mA.

DIMENSIONAMENTO

SCHEMA CIRCUITALE

Scelgo una Vtm (valore di soglia) di 4.16V e una Vh (isteresi) di 0.29V per non rischiare disturbi e malfunzionamenti.

NOTE

Page 10: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

10

Vir Vref Vtm Vop Vo

On 2.59V 3.90V 4.16V 0.20V 4.92V

Off 4.93V 3.90V 4.16V 3.68V 0.05V

Collegando in uscita un led (in serie ad una resistenza) è stato possibile notare il passaggio di un oggetto attraverso il sensore a seconda del led acceso o spento.Il led è acceso quando non c’è passaggio e si spegne nel momento in cui un oggetto interrompe il raggio luminoso infrarosso.Vista la poca potenza dei dispositivi ottici, tra emettitore e fototransistor si è scelta una distanza di circa 3cm per garantire un ottimo funzionamento anche con uno scarso allineamento.

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

5.5

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

Vir(V)

Vop(V)

basso-alto

alto-basso

soglia (Vtm)

TABELLA VALORI

GRAFICO LIVELLI TRIGGER NON INVERTENTE

OSSERVAZIONI

Page 11: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

11

FLIP FLOPCome componente memorizzatore si è scelto il flip-flop JK 7476 della serie TTL. Questo componente ha il compito di dare uscita alta per tutta la durata del passaggio dell’oggetto tra i due sensori.La configurazione del flip-flop, per svolgere questo compito, sarà quella con J e K a massa e i due circuiti rilevatori di passaggio collegati il primo al preset e il secondo al clear (entrambi attivi bassi).

QCLRPRE

010

101

USCITAINGRESSI

SCHEMA CIRCUITALE TABELLA VALORI

PRIMOSENSORE

SECONDOSENSORE

N.B. Livelli TTL nel caso in cui gli ingressi J e K siano a massa.

Per verificare praticamente il corretto funzionamento del circuito memorizzatore, in uscita si è collegato un led. Questo led si accende quando l’oggetto attraversa il primo sensore e si spegne quando attraversa il secondo. Il led acceso corrisponde al livello alto TTL cioè 5V.

OSSERVAZIONI

PIEDINATURA

Page 12: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

12

MICROCONTROLLORE HC08Il microcontrollore è utilizzato per generare in uscita un valore che opportunamente amplificato corrisponderà alla velocità dell’oggetto.Il microcontrollore scelto è il Motorola HC08 a 16pin (QY), il software per programmarlo è il Codewarrior della Metrowerks, la scheda di programmazione utilizzata è la PK-HC08QT per l’HC08 a 8pin (QT). Quest’ultima è stata opportunamente modificata per poter programmare anche l’HC08 a 16pin (QY).L’uscita binaria che darà la velocità corrisponderà agli 8bit del PORT B. L’ingresso del micro è invece il PTA1 ed è collegato all’uscita del flip-flop. L’uscita del flip-flop può essere collegata direttamente nel micro, essendo quest’ultima compatibile con i livelli TTL. Il programma è stato scritto in linguaggio ASSEMBLER (linguaggio più vicino al linguaggio macchina), per la scarsa conoscenza del linguaggio C (linguaggio più vicino al linguaggio umano) da parte del candidato e per motivi di scarsa memoria del componente (un programma scritto in C richiede molta più memoria di un programma di pari utilità scritto in ASM).La piedinatura del micro è la seguente:

PIEDINATURA

Page 13: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

13

SCHEMA INTERNO DELL’HC08

I principali componenti del microcontrollore sono:-ALU (aritmetic logic unit): è il circuito che svolge calcoli aritmetici e logici, il “cervello” del microcontrollore-RAM (memoria volatile di lettura e scrittura): memoria di lettura e scrittura necessaria per l’elaborazione dei dati da parte della ALU-FLASH (memoria non volatile in tecnologia FLASH) e ROM (memoria non volatile): contiene tutto il programma e tutti i dati-A (accumulatore) e X (index register): registri d’appoggio per depositare temporaneamente i dati da elaborare-PC (program counter): contiene l’indirizzo della cella di memoria in cui è presente il codice operativo dell’istruzione da eseguire-UC (control unit) o CPU Control: è il circuito che invia le sequenze di comandi agli altri dispositivi per eseguire le istruzioni richieste-DDR (data direction register): contengono una sequenza di bit dalla quale decidono se un pin è ingresso o uscita (8 bit corrispondono a 8 pin)-PT (port): registri contenenti una sequenza di bit ognuno dei quali corrisponde al livello letto sul pin (se è un ingresso) o al livello generato sul pin (se è un’uscita)-CCR (control code register): collegato alla ALU è un registro 8 bit con 6 bit attivi, ognuno dei quali indica un certo evento di calcolo (N=risultato negativo, Z=risultato zero, C=riporto, I=interrupt, H=mezzo riporto, ecc…)

Page 14: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

14

XDEF main, irq_isrInclude 'HC08QT.inc' DEFAULT_ROM SECTIONinit:

bset 0, CONFIG1;Disables COP

mov #$00, DDRA ;PTA tutte entrate

mov #$FF, DDRB ;PTB tutte uscite

mov #$00, PTB ;PTB forzato a zero

mov #%00001000,PTAPUE ;Pull-Up sul PTA disattivato

;tranne sul pin di reset (PTA3)mov #%00000000,PTBPUE ;Pull-

Up sul PTB disattivatomov #$49, CONFIG2

;Enables external oscillator and IRQ pinmov #$02, OSCSTAT

;Enables external clock generatorrts

main:cli;Enables global interrupts bsr init

main_loop:mov #$FF, $80

;metti $FF nella cella $80mov #$80, $81

;metti $80 nella cella $81brset 1,PTA,conta ;salta a conta se sul

PTA1 c'è 1bra main_loop ;salta

(salto corto) in ogni caso a main_loopconta:;1000

dbnz $80,conta;decrementa di 1 il contenuto della cella

;$80 e salta se è = a 0dbnz $81,conta

;come sopra...in totale passa circa 100ms mov #$FF, $80

;metti $FF in $80mov #$80, $81

;metti $80 in $81mov #$FF, $83

;metti $FF in $83brset 1,PTA,ca ;salta

a ca se sul PTA1 c'è 1mov $83,PTB

;metti sul PTB il contenuto della cella $83jmp fine ;salta

(salto lungo) a fineca:;500

dbnz $80,cadbnz $81,camov #$FF, $80mov #$80, $81mov #$7f, $83brset 1,PTA,bmov $83,PTBjmp fine

b:;333

dbnz $80,bdbnz $81,bmov #$FF, $80mov #$20, $81mov #$54, $83brset 1,PTA,b1mov $83,PTBjmp fine

b1:;313

dbnz $80,b1dbnz $81,b1mov #$FF, $80mov #$20, $81mov #$4f, $83brset 1,PTA,b2mov $83,PTBjmp fine

b2:;294

dbnz $80,b2dbnz $81,b2mov #$FF, $80mov #$20, $81mov #$4a, $83brset 1,PTA,b3mov $83,PTBjmp fine

b3:;278

dbnz $80,b3dbnz $81,b3mov #$FF, $80mov #$20, $81mov #$46, $83brset 1,PTA,b4mov $83,PTBjmp fine

b4:;263

dbnz $80,b4dbnz $81,b4mov #$FF, $80mov #$20, $81mov #$42, $83brset 1,PTA,cmov $83,PTBjmp fine

c:;250

dbnz $80,cdbnz $81,cmov #$FF, $80mov #$20, $81mov #$3f, $83brset 1,PTA,c1mov $83,PTBjmp fine

c1:;238

dbnz $80,c1dbnz $81,c1mov #$FF, $80mov #$20, $81mov #$3b, $83brset 1,PTA,c2mov $83,PTBjmp fine

c2:;227

dbnz $80,c2dbnz $81,c2mov #$FF, $80mov #$20, $81mov #$39, $83brset 1,PTA,c3mov $83,PTBjmp fine

PROGRAMMA

Page 15: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

15

c3:;217

dbnz $80,c3dbnz $81,c3mov #$FF, $80mov #$20, $81mov #$36, $83brset 1,PTA,c4mov $83,PTBjmp fine

c4:;208

dbnz $80,c4dbnz $81,c4mov #$FF, $80mov #$20, $81mov #$34, $83brset 1,PTA,dmov $83,PTBjmp fine

d:;200

dbnz $80,ddbnz $81,dmov #$FF, $80mov #$20, $81mov #$32, $83brset 1,PTA,dd1mov $83,PTBjmp fine

dd1:;192

dbnz $80,dd1dbnz $81,dd1mov #$FF, $80mov #$20, $81mov #$30, $83brset 1,PTA,dd2mov $83,PTBjmp fine

dd2:;185

dbnz $80,dd2dbnz $81,dd2mov #$FF, $80mov #$20, $81mov #$2e, $83brset 1,PTA,dd3mov $83,PTBjmp fine

dd3:;179

dbnz $80,dd3dbnz $81,dd3mov #$FF, $80mov #$20, $81mov #$2c, $83brset 1,PTA,dd4mov $83,PTBjmp fine

dd4:;172

dbnz $80,dd4dbnz $81,dd4mov #$FF, $80mov #$20, $81mov #$2b, $83brset 1,PTA,d1mov $83,PTBjmp fine

d1:;167

dbnz $80,d1dbnz $81,d1mov #$FF, $80

mov #$40, $81mov #$29, $83brset 1,PTA,d1amov $83,PTBjmp fine

d1a:;154

dbnz $80,d1adbnz $81,d1amov #$FF, $80mov #$40, $81mov #$26, $83brset 1,PTA,d2mov $83,PTBjmp fine

d2:;143

dbnz $80,d2dbnz $81,d2mov #$FF, $80mov #$40, $81mov #$23, $83brset 1,PTA,d2amov $83,PTBjmp fine

d2a:;133

dbnz $80,d2adbnz $81,d2amov #$FF, $80mov #$40, $81mov #$21, $83brset 1,PTA,d3mov $83,PTBjmp fine

d3:;125

dbnz $80,d3dbnz $81,d3mov #$FF, $80mov #$40, $81mov #$1f, $83brset 1,PTA,d3amov $83,PTBjmp fine

d3a:;118

dbnz $80,d3adbnz $81,d3amov #$FF, $80mov #$40, $81mov #$1d, $83brset 1,PTA,d4mov $83,PTBjmp fine

d4:;111

dbnz $80,d4dbnz $81,d4mov #$FF, $80mov #$80, $81mov #$1b, $83brset 1,PTA,emov $83,PTBjmp fine

e:;100

dbnz $80,edbnz $81,emov #$FF, $80mov #$80, $81mov #$18, $83brset 1,PTA,eamov $83,PTBjmp fine

Page 16: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

16

ea:;91

dbnz $80,eadbnz $81,eamov #$FF, $80mov #$80, $81mov #$16, $83brset 1,PTA,e1mov $83,PTBjmp fine

e1:;83

dbnz $80,e1dbnz $81,e1mov #$FF, $80mov #$80, $81mov #$02, $82mov #$14, $83brset 1,PTA,e1amov $83,PTBjmp fine

e1a:;77

dbnz $80,e1adbnz $81,e1amov #$FF, $80mov #$80, $81mov #$12, $83brset 1,PTA,e2mov $83,PTBjmp fine

e2:;71

dbnz $80,e2dbnz $81,e2mov #$FF, $80mov #$80, $81mov #$02, $82mov #$11, $83brset 1,PTA,e3mov $83,PTBjmp fine

e3:;63

dbnz $80,e3dbnz $81,e3mov #$FF, $80mov #$80, $81mov #$02, $82mov #$f, $83brset 1,PTA,e4mov $83,PTBjmp fine

e4:;56

dbnz $80,e4dbnz $81,e4mov #$FF, $80mov #$80, $81mov #$02, $82mov #$0d, $83brset 1,PTA,fmov $83,PTBjmp fine

f:;50

dbnz $80,fdbnz $81,fdbnz $82,fmov #$FF, $80mov #$80, $81mov #$02, $82mov #$0b, $83brset 1,PTA,f1mov $83,PTBjmp fine

f1:;45

dbnz $80,f1dbnz $81,f1dbnz $82,f1mov #$FF, $80mov #$80, $81mov #$02, $82mov #$0a, $83brset 1,PTA,f2mov $83,PTBjmp fine

f2:;42

dbnz $80,f2dbnz $81,f2dbnz $82,f2mov #$FF, $80mov #$80, $81mov #$02, $82mov #$09, $83brset 1,PTA,f3mov $83,PTBjmp fine

f3:;38

dbnz $80,f3dbnz $81,f3dbnz $82,f3mov #$FF, $80mov #$80, $81mov #$02, $82mov #$08, $83brset 1,PTA,f4mov $83,PTBjmp fine

f4:;36

dbnz $80,f4dbnz $81,f4dbnz $82,f4mov #$FF, $80mov #$80, $81mov #$05, $82mov #$08, $83brset 1,PTA,gmov $83,PTBjmp fine

g:;33

dbnz $80,gdbnz $81,gdbnz $82,gmov #$FF, $80mov #$80, $81mov #$05, $82mov #$07, $83brset 1,PTA,g1mov $83,PTBjmp fine

g1:;29

dbnz $80,g1dbnz $81,g1dbnz $82,g1mov #$FF, $80mov #$80, $81mov #$05, $82mov #$06, $83brset 1,PTA,hamov $83,PTBjmp fine

Page 17: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

17

ha:;25

dbnz $80,hadbnz $81,hadbnz $82,hamov #$FF, $80mov #$80, $81mov #$0a, $82mov #$05, $83brset 1,PTA,imov $83,PTBjmp fine

i:;20

dbnz $80,idbnz $81,idbnz $82,imov #$FF, $80mov #$80, $81mov #$0a, $82mov #$04, $83brset 1,PTA,lmov $83,PTBjmp fine

l:;17

dbnz $80,ldbnz $81,ldbnz $82,lmov #$FF, $80mov #$80, $81mov #$0a, $82mov #$03, $83brset 1,PTA,mmov $83,PTBjmp fine

m:;14

dbnz $80,mdbnz $81,mdbnz $82,mmov #$FF, $80mov #$80, $81mov #$0a, $82mov #$03, $83brset 1,PTA,pmov $83,PTBjmp fine

p:;13

dbnz $80,pdbnz $81,pdbnz $82,pmov #$FF, $80mov #$80, $81mov #$0a, $82mov #$02, $83brset 1,PTA,qmov $83,PTBjmp fine

q:;11

dbnz $80,qdbnz $81,qdbnz $82,qmov #$FF, $80mov #$80, $81mov #$0a, $82mov #$02, $83

r:;10

dbnz $80,rdbnz $81,rdbnz $82,rmov #$02, $83

fine:mov $83,PTB;metti numero contenuto in$83

su PTBjmp main_loop

irq_isr:bil irq_isr

; Waits for the IRQ signal to go highjmp $FE1A

; Jumps to monitor codeEND

NOTE:Per calcolare il ritardo esatto tra gli intervalli di tempo necessari nel programma ci si basa sulla frequenza di clock del microcontrollore che è di circa 2.4MHz. Ogni istruzione per essere svolta necessita di più cicli. Un ciclo corrisponde al tempo di clock, calcolato come l’inverso della frequenza.Se la frequenza è di 2.4MHz il tempo sarà: tck=1/Fck=500ns.L’istruzione DBNZ occupa 5 cicli, quindi ogni decremento della cella occuperà: tdbnz=5 tck=2,5us.Di conseguenza se, ad esempio, si necessità di un ritardo di 100ms, il numero di decrementi sarà circa:N= 100ms/tdbnz=40000.Visto che il numero massimo che una cella di 8bit può contenere è 256, si utilizzano 2 celle. Il numero di decrementi corrisponderà così al prodotto tra i due numeri nella cella:40000=256*156. Nella prima cella si memorizzerà FF (256 in decimale) e nella seconda 9C (156 in decimale).Considerando l’esistenza di altre istruzioni che, anche se svolte in qualche us, aumentano il tempo totale di svolgimento del programma, dopo diverse prove pratiche il ritardo è stato lievemente diminuito memorizzando nella seconda cella il numero 80 (128 in decimale).Per verificare il corretto funzionamento del microcontrollore si è provato a cronometrare il ciclo totale del micro ed effettivamente la durata totale del ciclo è stata di 10s.

Page 18: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

18

velocità=distanza/tempodistanza(mm) tempo(s) velocità(mm/s) uscita uC(dec) uscita uC(bin) uscita uC(esa)

100 0.1 1000 255 11111111 FF100 0.2 500 127 1111111 7F100 0.3 333 84 1010100 54100 0.32 313 79 1001111 4F100 0.34 294 74 1001010 4A100 0.36 278 70 1000110 46100 0.38 263 66 1000010 42100 0.4 250 63 111111 3F100 0.42 238 60 111011 3B100 0.44 227 57 111001 39100 0.46 217 55 110110 36100 0.48 208 52 110100 34100 0.5 200 50 110010 32100 0.52 192 48 110000 30100 0.54 185 46 101110 2E100 0.56 179 45 101100 2C100 0.58 172 43 101011 2B100 0.6 167 42 101001 29100 0.65 154 38 100110 26100 0.7 143 36 100011 23100 0.75 133 33 100001 21100 0.8 125 31 11111 1F100 0.85 118 29 11101 1D100 0.9 111 27 11011 1B100 1 100 25 11000 18100 1.1 91 22 10110 16100 1.2 83 20 10100 14100 1.3 77 19 10010 12100 1.4 71 17 10001 11100 1.6 63 15 1111 F100 1.8 56 13 1101 D100 2 50 12 1011 B100 2.2 45 11 1010 A100 2.4 42 10 1001 9100 2.6 38 9 1000 8100 2.8 36 8 1000 8100 3 33 8 111 7100 3.5 29 6 110 6100 4 25 5 101 5100 5 20 4 100 4100 6 17 3 11 3100 7 14 3 10 2100 8 13 2 10 2100 9 11 2 1 1100 10 10 2 1 1

TABELLA VALORI

0

100

200

300

400

500

600

700

800

900

1000

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10tempo(s)

velo

cità

(mm

/s)

velocità(mm/s)

GRAFICO ANDAMENTO VELOCITA’

Page 19: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

19

ANALISI DEL PROGRAMMA

All’accensione del circuito il microcontrollore svolge automaticamente le istruzioni necessarie per poter funzionare correttamente (fase di inizializzazione) e configura i registri (tra cui i DataDirectionRegister e i registri per il PULL-UP) a seconda della configurazione decisa dall’utente.Dopo questa brevissima fase il micro passa al programma vero e proprio scritto dall’utente.Il programma svolge queste funzioni in sequenza:-scrive sull’uscita (PTB) tutti 0-controlla il livello del PTA1 e, se alto, passa al ciclo di conteggio mentre in caso contrario ripete il controllo-inizia il conteggio-dopo ogni intervallo di tempo, prestabiliti nel programma, controlla che il PTA1 sia a livello alto per continuare il conteggio mentre, se così non fosse, il micro dà in uscita un valore binario che corrisponderà, una volta amplificato, alla velocità dell’oggetto-fatto ciò torna al controllo del PTA1 iniziale-se il PTA1, dopo essere andato a livello alto, non torna basso entro 10s (la durata del conteggio) il micro dà in uscita 0 e torna al controllo iniziale

START(RESET)

PTB=0

CONTA 100ms

PTA1=1?

PTA1=0? PTB=1000

CONTA 100ms

PTA1=0? PTB=500

CONTA 100ms

PTA1=0? PTB=333

PASSATI 10s

PTA1=0? PTB=10

PTB=0

SI

SI

SI

SI

SI

NO

NO

NO

NO

NO

Page 20: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

20

AMPLIF. OPERAZIONALE E DACCome convertitore digitale/analogico è stato scelto l’AD558 perché il progetto vedeva la necessità di un DAC con 5V di alimentazione e 8 bit paralleli in ingresso. L’uscita di questo varierà tra 0 e 2,55V.Gli amplificatori operazionali sono stati invece usati nel circuito per due diverse funzioni:- nei sensori in configurazione di trigger non invertenti per pilotare il transistor- all’uscita del convertitore DAC per attenuare a 1V il segnale di 2,55VNel primo caso occorre un amplificatore operazionale che funzioni bene anche in single supply e in grado di dare in uscita una tensione vicina a zero o vicina a 5V. Inoltre è consigliabile, vista la necessità di usarne 2, sceglierlo in circuito integrato che ne contenga due o più ma allo stesso tempo che sia economico e facilmente reperibile. La scelta è caduta sull’LM 324, circuito integrato contenente 4 operazionali in grado di funzionare in single supply.

Per attenuare il segnale da 2.55V a 1V si è scelto di utilizzare due amplificatori operazionali in configurazione invertente (con la configurazione non invertente ne sarebbe bastato uno ma non è possibile praticamente avere un guadagno minore di 1). Il primo invertente attenua il segnale e lo rende negativo; il secondo ha il compito di riportare positivo il segnale. Quindi occorre utilizzare amplificatori dual supply (visto l’uscita negativa del primo stadio) e pienamente operativi e lineari tra il range da –2.55V a +2.55V. La soluzione più economica è utilizzare due comunissimi uA741.

PIEDINATURA LM324 PIEDINATURA uA741

PIEDINATURA AD558

Page 21: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

21

CONVERTITORE A/D CA3162 EDRIVER 7 SEGMENTI CA3161

Il circuito visualizzatore della velocità è formato principalmente da due componenti principali: il CA3161 e il CA3162.Il CA3161 è un decoder BCD/7 segmenti per display ad anodo comune ed è generalmente accoppiato al convertitore A/D con uscita BCD per tre bit multiplexati, permettendo il pilotaggio di tre display a 7 segmenti contemporaneamente.Il convertitore legge l’ingresso (che dev’essere compreso tra 0V e 1V) invia in sequenza al decoder prima la cifra delle unità, poi quella delle decine e infine quella delle centinaia, ripetendo poi questo ciclo.Il decoder applica la cifra decodificata ai 3 display, ma di essi si accende solo quello abilitato dal multiplexer interno al convertitore. Quindi, ad esempio, quando il convertitore invia la cifra delle unità il decoder la decodifica in codice 7 segmenti e la applica ai 3 display. Nel frattempo il convertitore pone basso il pin 5 provocando la saturazione del transistor che abilita la cifra delle unità. Durante questa fase i pin 4 e 3 sono alti e quindi i transistor che abilitano le altre due cifre sono interdetti e quindi gli altri due display sono spenti. Dopo un breve intervallo di tempo il convertitore invia la cifra delle decine e si ripete il processo per il quale il display delle decine si accende e si spengono gli altri 2, poi la stessa cosa con la cifra delle centinaia dopo di che il ciclo si ripete. In questo modo ogni cifra si accende e si spegne in sequenza visualizzando la propria cifra. La rapidità di accensione e spegnimento dei 3 display è tale da permettere all’occhio umano di vedere tutte e tre le cifre sempre accese.

PIEDINATURA CA3162 PIEDINATURA CA3161

Page 22: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

22

SCHEMA CIRCUITALE

NOTE E OSSERVAZIONI

Il convertitore è del tipo a integrazione ed è quindi necessaria la presenza del condensatore poliestere da 220nF per tale scopo.L’integratore interno viene alimentato da un generatore di corrente che va tarato agendo sul pot collegato al pin 13: la taratura va fatta dando in ingresso 1V preciso; i display dovranno visualizzare 999.L’ingresso è di tipo differenziale e la differenza di tensione massima tra gli ingressi (pin 11 e pin 10) è di 1V; collegato il pin 10 a massa, la tensione differenziale corrisponderà a quella del pin 11.Tra il pin 8 e il pin 9 va collegato un potenziometro per tarare lo zero (valore iniziale): la taratura va fatta mettendo a massa il pin 11 e variando il pot fino a quando sui display verrà visualizzato lo zero.

Page 23: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

23

DISPLAY 7 SEGMENTIUn display 7 segmenti è un semplice dispositivo formato da 7 piccoli led disposti a 8, ognuno dei quali illumina un segmento di questo 8, riuscendo a rappresentare tutte le cifre esadecimali da 0 a F.Un ottavo led rappresenta il punto (o virgola) separatore delle cifre e si utilizza quindi nel caso di più display per visualizzare altrettante cifre, se il numero da rappresentare è con la virgola.Esistono 2 diversi tipi di display: a catodo comune(G+) e ad anodo comune(H-).Nei primi i catodi di tutti i led sono uniti internamente in un unico pin che va collegato a massa, quindi per l’accensione dei segmenti si da tensione ai singoli anodi; viceversa quelli ad anodo comune hanno l’anodo in comune collegato alla tensione di alimentazione e l’accensione avviene nel mandare a massa i catodi.Nel progetto sono stati scelti i secondi per essere compatibili con le uscite del CA3161 attive basse.

STRUTTURA INTERNADISPLAY ANODO COMUNE

PIEDINATURA

g f ac a b

e d ac c pt

g

d

a

e

f b

c

pt

ac

a b c d e f g pt

Page 24: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

24

SEMAFOROPer completare il progetto si è deciso di creare un piccolo semaforo a led da aggiungere alla strada dove sono istallati i sensori.Vi sono molte soluzioni per creare un semaforo:-con le porte logiche, utilizzando un contatore con un clock molto basso-con il microcontrollore HC08 a 8pinSi è scelta la seconda soluzione per diversi motivi: la semplicità circuitale, il numero davvero ridotto di componenti e la facilità realizzativa.Infatti utilizzando il micro basta collegare 3 led dei tre colori del semaforo (rosso, giallo, verde) a tre pin a scelta tra quelli possibili da utilizzare come uscite e, dal programma, scegliere quale led accendere e per quanto tempo.La logica del programma è basata sulla falsariga del programma dell’autovelox: il micro fa accendere un led e nel frattempo conta per un certo tempo, poi quando arriva ad un certo numero di secondi spegne il led e ne accende un altro, e così via.Il programma è il seguente:

XDEF main, irq_isr, inizio, rosso, verde, inizio2, inizio3, arancInclude 'HC08QT.inc' DEFAULT_ROM SECTIONinit:

bset 0, CONFIG1mov #%00010011, DDRA ;pta0(giallo),pta1(rosso),pta4(verde) uscitemov #%00001000, PTAPUE ;pull-up su pta3(reset)mov #%00000000, PTA ;pta tutto a zeromov #$49, CONFIG2mov #$02, OSCSTATmov #$FF, $80mov #$FF, $81rts

main:clibsr initmov #%00000001,PTA ;giallo

inizio:mov #$FF,$f0mov #$FF,$f1mov #$30,$f2

rosso:dbnz $f0,rossodbnz $f1,rossodbnz $f2,rossomov #%00000010,PTA ;rosso

inizio2:mov #$FF,$f0mov #$FF,$f1mov #$80,$f2

verde:dbnz $f0,verdedbnz $f1,verdedbnz $f2,verdemov #%00010000,PTA ;verde

inizio3:mov #$FF,$f0mov #$FF,$f1mov #$60,$f2

aranc:dbnz $f0,arancdbnz $f1,arancdbnz $f2,arancmov #%00000001,PTA ;giallobra inizio

irq_isr:bil irq_isrjmp $FE1A

END

START(RESET)

GIALLO

ROSSO

4sec?

SI

NO

VERDE

14sec?

SI

NO

GIALLO

10sec?

SI

NO

SCHEMA A BLOCCHI

Page 25: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

25

ALIMENTAZIONEVista la necessità di utilizzare operazionali con alimentazione duale +15V/-15V il progetto si completa con un alimentatore duale stabilizzato da +15V/-15V. Visto che la maggior parte dei componenti circuitali sono però alimentati a 5V, in ogni circuito è presente un regolatore di tensione 7805 la cui uscita è collegata a tutte le alimentazioni dei componenti funzionanti a 5V; all’ingresso arrivano i 15V dell’alimentatore stabilizzato.L’alimentatore stabilizzato è in grado di generare una corrente massima continua di 1.2A da ognuna delle due uscite, con picchi massimi di 2.4A.Per il semaforo è invece stata scelta una batteria transistor 9V ricaricabile, vista la poca potenza necessaria al suo funzionamento. Con una batteria di 150mAh la durata del semaforo è di circa 8ore, assorbendo circa 20mA totali.Anche sul semaforo, per alimentare il micro a 5V, c’è un regolatore 7805.L’alimentatore è suddivisibile in alcuni blocchi principali:

Trasformatore220Va.c./+-18Va.c.

Ponte di Graetz

Condensatore Regolatore

Condensatore Regolatore

220Va.c.

15Vd.c.

-15Vd.c.

SCHEMA A BLOCCHIE FORME D’ONDA

220 18

-18

16

-16

50Hz

16

-16

15

-15

Page 26: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

26

PROBLEMI RISCONTRATI E OSSERVAZIONI

Durante la costruzione non si sono riscontrati particolari problemi.Si è scelto di costruire su millefori la parte inerente il microcontrollore, flip-flop e operazionali per poter eventualmente fare modifiche al circuito. Su basetta stampata è stata invece realizzata la parte di visualizzazione della velocità, dove non era necessario apportare modifiche visto che la configurazione dei componenti è obbligatoria.Osservazioni importanti vanno fatte sull’accensione:-vista la presenza di microcontrollori, occorre schiacciare i pulsanti di reset dell’autovelox e del semaforo per un corretto funzionamento;-visto che il flip-flop all’accensione da un’uscita alta e non bassa come il progetto necessita, il primo passaggio dell’auto tra i due sensori non verrà considerato e servirà solamente a portare il flip-flop con uscita bassa.Quest’ultima osservazione è stata analizzata e una possibile soluzione poteva essere un condensatore in parallelo all’ingresso clear del flip-flop che teoricamente ritarderebbe il livello alto in ingresso per la durata della carica; la soluzione è stata però scartata visto che durante il normale funzionamento dell’autovelox il condensatore rimaneva carico (a livello basso arrivava comunque qualche millivolt e non si scaricava mai) e quindi l’ingresso clear non andava mai a livello basso.Un’altra soluzione per il problema del flip-flop poteva essere quella di far considerare al micro solo fronti di salita e fronti di discesa in ingresso per far partire o fermare il conteggio ma anche in questo caso una misura sarebbe andata persa.Piccoli problemi sono sorti a causa di saldature che si staccavano dalla basetta causando malfunzionamenti, problema però risolto con un’accurato controllo.

Page 27: 1 PIANTONI FEDERICO CANDIDATO: PIANTONI FEDERICO 5^D CLASSE: 5^D ELETTRONICA E TELECOMUNICAZIONI INDIRIZZO: ELETTRONICA E TELECOMUNICAZIONI 2004/05 ANNO

27

IN ALLEGATO IL MASTER DELCIRCUITO VISUALIZZATORE