sistema di acquisizione e distribuzione dati

Transcript

sistema di acquisizione e distribuzione dati
ISTITUTO TECNICO INDUSTRIALE
C. ROSATELLI
ANNO: 2008/2009
SISTEMA DI ACQUISIZIONE E DISTRIBUZIONE DATI
PROGETTO: PANNELLO FOTOVOLTAICO
Alunno: Marco Ferroni
Introduzione
L‟Area Progetto di quest‟anno consiste nella gestione, tramite computer, di un pannello
fotovoltaico. Utilizzando la porta parallela inviamo dal computer una serie di comandi al motore
che abbiamo montato sul pannello, il quale ci permette di farlo ruotare su se stesso. Questa
rotazione ha lo scopo di tenere orientato il pannello nella direzione del sole. Contemporaneamente
abbiamo realizzato dei circuiti elettrici che vanno a “misurare” i valori di corrente e tensione erogati
dal pannello durante il suo lavoro. Questi valori sono stati poi condizionati e convertiti in digitale,
per poi essere inviati al computer, sempre sfruttando la porta parallela. Ovviamente abbiamo dovuto
realizzare un programma (utilizzando il linguaggio di programmazione Visual Basic) sul computer
che ci permettesse di pilotare il motore, monitorare i dati inviati alla porta dai circuiti e
memorizzarli. Tutti i circuiti sono stati progettati per far si che essi si autoalimentino sfruttando
l‟energia prodotta dal pannello.
Schema a Blocchi del Progetto
La figura rappresenta solo una schematizzazione del progetto, infatti, in fase di realizzazione, molti
di questi blocchi sono stati uniti insieme per ridurre il numero di schede. Essa ci permette di notare i
collegamenti tra le varie parti del progetto. Notare che alcuni collegamenti sono ad un solo verso,
ossia i “dati” vanno solo in una direzione, mentre altri sono bi-direzionali, ovvero permettono lo
scambio di dati tra i due blocchi in entrambi i versi. Nella lettura dello schema sopra, bisogna
ricordare che il collegamento tra il Circuito di Alimentazione e i restanti circuiti, rappresenta la
connessione delle alimentazioni, quindi tale collegamento non serve al passaggio dei dati, ma solo
all‟alimentazione del circuito.Nello schema sono presenti due collegamenti bi-direzionali, quello tra
Computer e Circuito di Trasmissione, e quello tra Circuito di Trasmissione e Blocco ADC. Il primo
dei due deve essere necessariamente di questo tipo, infatti il computer deve leggere i dati inviati dai
circuiti, e contemporaneamente deve essere in grado di inviare alla scheda del motore i comandi per
ruotare il pannello. Il secondo collegamento ha bisogno delle line dati necessarie per il
funzionamento del convertitore e contemporaneamente di quelle per il passaggio dei valori
convertiti.
Analisi dei Blocchi








Pannello Fotovoltaico
Circuiti di Condizionamento
Blocco ADC
Circuito di Trasmissione
Computer
Adattatore di Livello
Motore
Circuito di Alimentazione
PRINCIPIO DI FUNZIONAMENTO DEI PANNELLI FOTOVOLTAICI
L'effetto fotovoltaico consiste nella conversione dell'energia solare in elettricità. Questo processo è
possibile grazie a specifiche proprietà fisiche di alcuni particolari elementi, chiamati
semiconduttori.
L'elemento base del pannello fotovoltaico è la cella, che può essere realizzata con diverse modalità.
La cella è formata da materiale semiconduttore con uno spessore ridotto, al quale vengono collegati
i contatti elettrici. Con l'esposizione alla luce la cella produce energia elettrica in corrente continua,
infatti quando la cella fotovoltaica viene investita da un fascio luminoso (luce solare) questa diviene
un generatore di corrente continua.
Come può sembrare ovvio, l‟intensità e l‟incidenza della radiazione solare influenza l'intensità della
corrente di corto circuito della cella in maniera direttamente proporzionale. Al crescere dell'intensità
dell'energia elettromagnetica si verifica anche un aumento del flusso di elettroni da uno strato
all'altro all‟interno della cella.
La potenza massima estraibile dalla cella viene misurata in watt di picco (Wp). Nonostante la cella
fotovoltaica sia il dispositivo fondamentale per la trasformazione dell'energia solare in energia
elettrica, questa da sola non è in grado di fornire valori di corrente accettabili.
Perciò per generare una certa quantità di energia elettrica è necessario unire diverse celle
fotovoltaiche tra loro. Quindi il pannello fotovoltaico non è altro che un insieme di celle
fotovoltaiche collegate in serie o in parallelo tra di loro. I moduli più diffusi generalmente sono
composti da un numero di celle fotovoltaiche variabile dalle 30 a 36, con un peso di circa 7-8 kg.
DISPOSIZIONE OTTIMALE DEI PANNELLI FOTOVOLTAICI
Affinchè il pannello fotovoltaico riesca a fornire elevate prestazioni è necessario che esso sia
orientato in maniera ottimale. E'stato stabilito che l'orientamento ottimale (in caso di pannelli fissi)
è verso il SUD. Naturalmente questo discorso è molto semplicistico, perchè oltre all'orientamento
verso il sud è necessario fare anche altri calcoli riguardo all'inclinazione del pannello che varia in
base alla latitudine, all'ombreggiamento ecc.
CARATTERISTICHE TECNICHE DEL PANNELLO CHE ABBIAMO UTILIZZATO
Il pannello Fotovoltaico che abbiamo utilizzato fornisce, come valori massimi, una tensione di 24V
DC e una corrente di 1,1A. Ovviamente, come già detto, questi valori sono del tutto indicativi, in
quanto la quantità di energia elettrica prodotta è direttamente proporzionale alla quantità di
radiazione solare “catturata” dal pannello.
Circuiti di Condizionamento
Negli obiettivi del progetto è presente la misurazione dei valori di Corrente e Tensione erogati dal
pannello fotovoltaico. Per fare questo andiamo a prelevare i due valori che ci interessano
direttamente all‟uscita del pannello. Per “simulare” il funzionamento abbiamo inserito un carico
capace di assorbire (senza subire danni), tutta la corrente che il pannello fornisce, poi vi abbiamo
aggiunto in serie un blocco resistivo del valore di 0,5 Ohm per andare a misurare la corrente che
viene erogata dal pannello.
Come già detto il pannello può fornire una tensione massima di 24V; la tensione fornita viene
quindi misurata ai capi della resistenza all‟uscita del pannello, ovvero ai capi di una resistenza di
valore
Rt = Rcarico + 0.5 Ohm
La corrente viene misurata invece utilizzando la tensione ottenuta ai capi della resistenza da 0,5
Ohm; tale tensione risulta uguale al prodotto tra la resistenza (valore fisso) e la corrente che la
attraversa (valore da misurare).
V = 0,5 * I
Quindi, all‟aumentare della corrente, si ha un proporzionale aumento della tensione misurata ai capi
della resistenza.
Risulta quindi che:
la Tensione fornita ha un valore che va da 0 a 24 Volt;
la Corrente erogata, viene convertita in tensione in un range che va da 0 a 0.55 Volt.
(0 Ampere Min. x O,5 Ohm = 0 Volt) ---- (1,1 Ampere Max. x O,5 Ohm = 0.55 Volt)
A questo punto risulta ovvio che i due valori ottenuti non possono essere utilizzati così come sono
per poterli convertire in digitale, in quanto uno è troppo alto e potrebbe danneggiare il convertitore,
e l‟altro invece troppo basso e porterebbe facilmente degli errori nella conversione. E‟ quindi
necessario portare queste due misure a valori accettabili.
Per fare ciò abbiamo aggiunto due Circuiti di Condizionamento.
Andiamo ora ad analizzare nel dettaglio il circuito di condizionamento che “sistema” la tensione
che ci fornisce la resistenza da 0,5 Ohm, ovvero il circuito che amplifica la tensione misurata (00,55V) portandola a valori accettabili.
L‟alimentazione duale che abbiamo utilizzato per gli operazionali (+5V ; -5V) non ci permette di
amplificare più di tanto il segnale in ingresso, per evitare che l‟operazionale vada in saturazione,
quindi andremo a dimensionare il circuito per far si che ad un valore di 0,55V in ingresso, in uscita
il circuito fornisca 4V.
Come risulta ben visibile dallo schema elettrico il circuito altro non è che un Amplificatore
Operazionale in configurazione di Amplificatore Non-Invertente.
Per ottenere un valore di R2 = 62,7k Ohm, basta inserire un trimmer in serie alla resistenza e
regolarlo in modo che la resistenza complessiva di R2 raggiunga il valore richiesto.
Per quanto riguarda il circuito di condizionamento della tensione prelevata in uscita dal pannello,
valgono le stesse cose dette prima a proposito dell‟alimentazione duale, per questo il circuito deve
portare la tensione ad un valore massimo di 4V (per evitare che l„operazionale vada in saturazione).
Per farlo utilizziamo un partitore che ci permetta di abbassare il livello di tensione.
Sapendo che la tensione ai capi della seconda resistenza è uguale a:
V2 = Vi * R2/(R1+R2)
Dimensiono il partitore in modo che dei 24V la maggior parte cadano sulla R1.
Per facilitare il lavoro, dimensioniamo il circuito dell‟amplificatore in modo che l‟amplificazione
risulti pari a 2. Poi, sfruttando la formula sopra, poniamo in ingresso al partitore una tensione di 2V
nel caso in cui la tensione in ingresso sia di 24V.
Visto ciò che è stato detto fino ad ora, può sembrare superfluo inserire un amplificatore
Operazionale nel circuito: basterebbe infatti dimensionare opportunamente il partitore (R1 = 100k
Ohm e R2 = 20k Ohm) per ottenere, in caso di 24V in ingresso, una tensione di uscita di 4V.
Va però fatta un‟osservazione:
Il corretto funzionamento del partitore prevede che le due resistenze che lo compongono
mantengano lo stesso rapporto tra loro, ma questo potrebbe non avvenire se l‟uscita del partitore
fosse collegata direttamente al convertitore. Per risolvere questo problema sfruttiamo la resistenza
elevatissima d‟ingresso (approssimabile come infinita) degli amplificatori Operazionali. Collegando
il partitore direttamente all‟ingresso non-invertente, si crea una sorta di parallelo tra la R2 e la
resistenza di ingresso dell‟operazionale. Tale parallelo produce una resistenza equivalente che
risulterà approssimabile al valore di R2. Abbiamo cosi isolato il partitore dal resto del circuito.
Blocco ADC
Il blocco ADC è costituito da un convertitore Analogico/Digitale capace di gestire più segnali
analogici. Esso deve essere quindi dotato di un AMUX interno che ci permetta di selezionare quale
segnale deve essere convertito, infatti abbiamo bisogno di convertire due segnali insieme (V e I).
Dopo alcune ricerche abbiamo deciso di utilizzare l‟ADC0808, il quale è dotato di 8 linee di
ingresso (Canali) e fornisce in uscita un Byte (8 bit).
La prima osservazione da fare è che questo convertitore è di tipo ad Approssimazioni Successive, si
basa cioè sullo stesso principio di utilizzo delle bilance a due piatti. Da una parte viene messo il
peso da misurare, dall‟altra, uno per volta, i vari pesi, a cominciare da quello più grande, fino a
quello più piccolo. Quando aggiungiamo un peso, se la bilancia rimane ferma allora passiamo al
peso successivo, se la invece si sbilancia, lo togliamo e proviamo con quello più piccolo. Quando i
pesi finiscono, basta andare a leggere il valore dei pesi che si trovano sulla bilancia per ottenere il
peso che abbiamo misurato. Questo è un convertitore a 8-bit. Esso quindi per prima cosa mette tutti
i bit a zero. Poi, prova a mandare a 1 il bit più significativo (1000 0000). Il valore ottenuto viene
convertito in analogico da un DAC interno, e comparato con il valore da convertire. Se il risultato
della comparazione è 1 allora il valore attuale di comparazione è più piccolo del valore da
convertire, quindi il bit più significativo viene lasciato a 1 e si passa al bit successivo. Se invece il
risultato della comparazione è 0, significa che il valore attuale di comparazione è più grande del
valore da convertire, quindi il bit più significativo viene riportato a zero e si passa al bit successivo.
Questo tipo di convertitore è abbastanza veloce, e vista l‟applicazione, più che sufficiente per lo
scopo a cui è destinato, infatti non necessitiamo di velocità di conversione elevate.
Avendo bisogno di due soli canali, abbiamo portato due dei tre pin di selezione del canale a massa
(0 logico) (PIN 23,24), mentre la selezione del canale viene effettuata sul PIN 25 (Add A); come
appare ben evidente dalla tavola sottostante, così facendo vado ad utilizzare solo i due canali IN0 e
IN1, mentre tutti gli altri vengono automaticamente disabilitati.
Questo convertitore ha bisogno di un Clock (PIN 10) per poter funzionare, e ovviamente, impiega
tempi differenti per convertire il segnale in base alla frequenza dello stesso. Sarebbe quindi
opportuno impiegare frequenze abbastanza elevate per ottenere delle buone prestazioni dal
convertitore, anche se l‟applicazione che vogliamo realizzare lavora con tempi estremamente bassi.
Le due porte NOT all‟ingresso dello Start (PIN 6) servono a ritardare leggermente l‟impulso allo
Start rispetto a quello del ALE (PIN 22). Vado ora a riportare le temporizzazioni relative al
convertitore utilizzato.
Come appare evidente dalla figura, per poter convertire un valore non è necessario semplicemente
fornirlo in ingresso e selezionare il canale giusto. Il procedimento da utilizzare è un po‟ più
complesso, specialmente se si pensa che la maggior parte dei pin dovrà essere pilotata dal computer.
Per convertire un valore, bisogna selezionare il canale con il valore da convertire (Add A), poi
bisogna dare un impulso ai due pin ALE ( Address Latch Enable ) e, con un piccolo ritardo, allo
Start. A questo punto il convertitore inizia la conversione del valore che si trova sul canale
selezionato. Quando il processo di conversione è terminato, il convertitore manda alto il pin EOC
(End of Conversion) e manda alle uscite il valore convertito. A questo punto è necessario abilitare
le uscite (in tri-state durante la conversione) mandando alto il pin OE (Output Enable).
Questo procedimento va ripetuto ogni volta che si intende effettuare una conversione.
Circuito di Trasmissione
Il blocco del Circuito di Trasmissione ha lo scopo di permettere la comunicazione tra il Computer e
i circuiti esterni. Il vero problema in questa parte è l‟invio dei dati verso la porta parallela del
computer, infatti essa è in grado di ricevere soltanto 4 bit alla volta, quindi è necessario che il byte
(composto da 8 bit) che rappresenta le misurazioni, sia diviso in due semi-byte, per poter essere
inviato al computer metà per volta. Per eseguire questa operazione abbiamo utilizzato un
Multiplexer a 8 ingressi e 4 uscite, con un ingresso di selezione. Più precisamente, abbiamo
utilizzato il circuito integrato DM74157, di cui vado a riportare la piedinatura.
Dopo che i byte sono stati opportunamente divisi, bisogna farli passare attraverso il 74LS244
affinchè siano pronti ad essere inviati al computer. Questo integrato, la cui piedinatura è riportata
sotto, è costituito da 8 Trigger di Schmitt che sono abilitati da due linee di controllo. In questa
applicazione il suo scopo è quello di “adattare” i dati affinchè possano essere trasmessi al computer
senza problemi, e quello di “difendere” il computer da eventuali picchi di corrente che potrebbero
danneggiarlo.
Il 74LS244 è in grado di mandare le uscite in stato di alta impedenza (TRI-STATE), in parole
semplici è in grado di “staccare” internamente i pin lasciandoli scollegati. Questa abilità è
indispensabile per il collegamento alle linee BUS, su cui scorrono dati provenienti anche da altri
integrati.
Diverso è il discorso per quello che riguarda la lettura dei dati inviati tramite porta parallela dal
computer ai circuiti. In questo caso disponiamo di linee dati a sufficienza per trasmettere tutti i bit
di cui abbiamo bisogno, quindi non c‟è bisogno di niente, a parte, come già detto, di far passare
prima i dati attraverso il 74LS244.
Pc
Il blocco Computer sta a rappresentare un PC contenente un programma da noi realizzato che legge
i dati inviati dai circuiti e che pilota il motore del pannello. Questo collegamento tra Computer e
circuiti è realizzato sfruttando la porta parallela. Il programma verrà esaminato in seguito, in questa
fase ci andremo a soffermare invece sul funzionamento della porta.
Come è possibile vedere dall‟immagine essa racchiude in sé ben 25 pin, ma non tutti sono
utilizzabili per il nostro scopo. Vado ora a riportare la tabella contenente i dati relativi al
funzionamento di tutti i pin.
N°pin I/O
Funzione
Indirizzo
Posizione
Descrizione
1
O
-STROBE
037A
-bit 0
Sincronizza il trasferimento
2
O
D0
0378
bit 0
Dato trasferimento (LSB)
3
O
D1
0378
bit 1
Dato da trasferire
4
O
D2
0378
bit 2
Dato da trasferire
5
O
D3
0378
bit 3
Dato da trasferire
6
O
D4
0378
bit 4
Dato da trasferire
7
O
D5
0378
bit 5
Dato da trasferire
8
O
D6
0378
bit 6
Dato da trasferire
9
O
D7
0378
bit 7
Dato da trasferire (MSB)
10
I
-ACK
0379
bit 6
Conferma ricezione
11
I
BUSY
0379
-bit 7
Stampante occupata
12
I
PE
0379
bit 5
Fine carta
13
I
SLCT
0379
bit 4
Stampante selezionata (ON_LINE)
14
O
-AUTOFD
037A
-bit 1
Avanzamento riga automatica
15
I
-ERROR
0379
bit 3
Errore hardware
16
O
-INIT
037A
bit 2
Inizializza la stampante
17
O
-SLCT IN
037A
-bit 3
Seleziona la stampante
18-25
GND
La porta parallela possiede dodici linee di OUTPUT a livello TTL, con latch (ovvero i dati che vi
vengono scritti vi rimangono finchè non avviene un„altra scrittura), e cinque linee di INPUT che
possono
essere
utilizzate
dal
programma
usando
le
operazioni
IN/OUT.
La porta parallela quindi può essere usata anche per l‟acquisizione di dati a velocità medio bassa:
diventa allora bidirezionale consentendo la trasmissione in parallelo di otto bit per volta, e anche la
loro ricezione. Un accorgimento utile per l'uso della porta parallela per operazioni di IN/OUT è
quello di disaccoppiare, utilizzando buffer e latch esterni, i dispositivi collegati alla porta, o
comunque di utilizzare delle resistenze sulle linee di uscita che limitino la corrente erogata ai valori
consentiti di 2.6 mA max. Nel nostro caso questa operazione è stata fatta (come già detto), con
l‟utilizzo di buffer esterni forniti dall‟integrato 74LS244.
FLOW CHART DEL PROGRAMMA
DI ACQUISIZIONE E GESTIONE
Inizio
Inizializzazione
Porta parallela
Ricerca posizione
ottimale
Vletta
=max
NO
SI
Acquisisci V ed I
Visualizza dati
Disegna grafico
Attendi 10 min
Fine
Adattatore di Livello
Il blocco Adattatore di Livello è necessario per far si che l‟uscita del computer sia in grado di
pilotare il motore. Infatti, i valori di tensione e corrente forniti dal computer non sono sufficienti per
far funzionare il motore.
Come risulta ben visibile dallo schema, il fulcro di questa parte sono i transistor. Grazie ad essi,
questo blocco riesce a portare il valore di tensione fornito dal 74LS244 (0-5V) al valore necessario
per pilotare il motore, ovvero 12V. Le tre linee provenienti dal PC sono state inserite inizialmente
per poter: trasmettere l‟onda quadra, trasmettere il verso di rotazione e il segnale di Stop.
Successivamente abbiamo eliminato il segnale di Stop, in quanto superfluo. Infatti per far fermare il
motore abbiamo notato che era sufficiente interrompere la trasmissione dell’onda quadra.
Motore
Il blocco del motore è costituito dalla scheda che gestisce il motore e dal motore stesso.
La scheda ci è stata fornita insieme al motore al momento dell‟acquisto, perciò non sono in grado di
fornire informazioni dettagliate sulla stessa in quanto non disponiamo né di documentazione
adeguata, né tantomeno dello schema elettrico della scheda.Comunque il lavoro svolto dalla scheda
è quello di far funzionare il motore passo-passo avendo in ingresso un segnale ad onda quadra. Un
altro collegamento della scheda permette di decidere il verso di rotazione del motore. La frequenza
dell‟onda quadra che forniamo alla scheda determina la velocità di rotazione del motore.
Nonostante il computer non ci permetta di generare onde quadre ad elevate frequenze, esso è più
che sufficiente, in quanto in questa applicazione preferiamo avere una minore velocità ma con una
maggiore precisione.Sotto è riportata una foto della scheda del Motore.
I motori passo-passo, anche chiamati step o stepper, sono considerati la scelta ideale per tutte
quelle applicazioni che richiedono precisione nello spostamento angolare e nella velocità di
rotazione.
PRINCIPIO DI FUNZIONAMENTO DEI MOTORI PASSO PASSO
I motori passo-passo sono motori che, a differenza di tutti gli altri, hanno come scopo quello di
mantenere fermo l'albero in una posizione di equilibrio: se alimentati si limitano infatti a bloccarsi
in una ben precisa posizione angolare.
Solo indirettamente è possibile ottenerne la rotazione. Occorre infatti inviare al motore una serie di
impulsi di corrente, secondo un'opportuna sequenza, in modo tale da far spostare, per scatti
successivi, la posizione di equilibrio in cui viene bloccato l„albero.
È così possibile ottenere una rotazione dell'albero nella posizione e alla velocità voluta
semplicemente contando gli impulsi ed impostando la loro frequenza, visto che le posizioni di
equilibrio dell'albero sono determinate meccanicamente con estrema precisione.
LA COSTRUZIONE ELETTROMECCANICA
I motori passo-passo si dividono in tre gruppi: a magnete permanente, a riluttanza variabile e ibridi.
Questi ultimi sono i migliori, e rappresentano la quasi totalità di quelli oggi reperibili.
Un motore ibrido (come d‟altronde tutti i motori) è costituito da un rotore e da uno statore. Nella
fotografia sotto è riportato un motore passo passo in cui è ben visibile la struttura interna.
Il rotore appare come una coppia di ruote dentate affiancate e solidali all'albero (i "denti" vengono
anche chiamati coppette) costituite da un nucleo magnetico (le due ruote sono permanentemente
magnetizzate, una come NORD, l'altra come SUD) e le coppette in materiale ferromagnetico.Tra le
due ruote c‟è uno sfasamento esattamente pari ad 1/2 del passo dei denti, quindi alla posizione di un
dente su una delle due ruote corrisponde una valle sull'altra. Nel rotore non sono presenti fili
elettrici e quindi manca completamente ogni connessione elettrica tra la parte in movimento e quella
fissa. Di solito il rotore è montato su cuscinetti a sfera, anch‟essi ben visibili nella fotografia.
Lo statore appare come il classico insieme di avvolgimenti ed il circuito magnetico è costituito da
quattro o, più frequentemente, otto "espansioni polari" (nella fotografia ce ne sono otto). All'interno
dello statore sono presenti piccoli denti che si affacciano esattamente a quelli del rotore. O meglio,
sono esattamente affacciati al rotore solo il gruppo di denti appartenenti ad una espansione polare e
a quella opposta; le altre coppie sono sfalsate rispettivamente di 1/4, 1/2 e 3/4 del passo dei denti.
Intorno ai poli magnetici dello statore ci sono gli avvolgimenti che, opportunamente percorsi da
corrente, generano il campo magnetico che blocca il motore e, se opportunamente sfruttato, provoca
la rotazione dell„albero..
Il numero di posizioni di equilibrio presenti in una rotazione completa dell'albero è in genere
indicato come passi per giro e dipende dal numero dei denti del rotore e dai poli dello statore.
La foto sopra riprende il motore passo passo che abbiamo utilizzato con le ruote dentate che vi
abbiamo aggiunto per migliorarne il funzionamento. Queste ruote diminuiscono la velocità di
rotazione, ma diminuiscono anche la resistenza opposta al movimento di rotazione del motore.
Circuito di Alimentazione
Il circuito di Alimentazione serve per fornire al circuito le tensioni di cui ha bisogno per poter
funzionare. Ovviamente anche questo circuito ha bisogno di un‟alimentazione (di 12V) per poter
funzionare.
Come ben visibile il circuito presenta tre uscite, rispettivamente a +5V, 0V e -5V.
Analisi dei Circuiti Realizzati
Come già detto, per semplificare i circuiti e le varie connessioni abbiamo riunito alcuni blocchi tra
di loro in fase di realizzazione, cosi che alla fine abbiamo realizzato 3 schede, che sono:
 Scheda di Alimentazione
 Scheda di Trasmissione Dati
 Scheda di Rilevazione e Adattamento Dati
A queste ovviamente va aggiunta la scheda che gestisce il motore, che ci è stata data già fatta
quando abbiamo acquistato il motore e di cui abbiamo già parlato precedentemente.SCHEDA
ALIMENTAZIONE
+12V
+12V
U2 7805/TO220
+12V
1
3
Power Supply
CV
3
C4
J1
5
DSCHG
TRG
THR
C5
1
2
3
4
C1
U1
D1
U3 7905/TO220
D2
2
VIN
VOUT
DIODE
J3
J4
DIODE
C6
C2
1
2
3
2
6
7
OUT
+5 GND -5 +15
VCC
RST
R2
R1
VOUT
8
4
NE555
VIN
C7
3
4
1
2
C3
DC/DC CONVERTER
+12V
Disegnare lo schema elettrico con Orcad Capture
Uno dei programmi che permette di fare ciò è OrCad Capture; L'uso del pacchetto Capture è
piuttosto intuitivo se si utilizzano solo gli strumenti di base.
Iniziare un disegno da zero
Cliccando sul menu File > New > Project della schermata iniziale di Capture è possibile iniziare un
nuovo progetto.. Il file .opj che viene creato conterrà tutte le informazioni sul disegno in forma
gerarchica. In questa fase sono anche richieste le librerie dei componenti da utilizzare, anche se è
sempre possibile aggiungerne altre in un secondo momento. Lo schema vero e proprio (che verrà
salvato in un file separato) è creato in modo analogo, dopo aver creato il progetto (cliccare sul menu
File > New > CaptureDesign).Per i collegamenti elettrici è necessario usare lo strumento Place >
.Un errore spesso commesso è quello di dimenticare i connettori verso l'esterno, tipicamente le
alimentazioni. Ovviamente nello schema ciò non ha importanza ma nel momento in cui si realizza il
PCB diventa un aspetto essenziale .Al momento di salvare il file contenente lo schema (.dsn)
ricordarsi di specificare la directory.
I tools
Prima di proseguire occorre assegnare il PartReference di ciascun componente, cioè la numerazione
progressiva di ciascun componente (per esempio R1, R2, R3…). È possibile procedere
manualmente, sostituendo il carattere presente di default nel PartReference con un numero
progressivo ma consiglio caldamente l'utilizzo del comando Tools > UpdatePartReference
.Questo comando permette anche di numerare correttamente i pin nel caso in cui un singolo
integrato contenga più componenti dello stesso tipo, quali amplificatori operazionali quadrupli o
porte logiche. Eventuali diverse assegnazioni possono essere fatte manualmente prima di creare il
PCB oppure dopo, in fase di sbroglio per facilitare le connessioni. Un secondo tool molto utile è
Tools > DesignRulesCheck che permette di verificare l'esistenza di errori formali (pin o fili non
collegati, cortocircuiti, componenti duplicati...). Quando è richiesto quali errori verificare, vi
consiglio di selezionare tutte le caselle
La generazione della netlist
Per generare la netlist (cioè l'insieme dei collegamenti necessari per la creazione del circuito
stampato) è necessario selezionare il comando Tools > CreateNetList.Occorre scegliere la cartella
Layout (il file generato ha estensione .mnl) ed evidenziare le opzioni RunEcoToLayout (serve per
segnalare a Layout eventuali modifiche allo schema affinché ricarichi automaticamente la netlist) Il
file viene generato nella directory in cui si trova il disegno.Consultando la finestra dei messaggi
(sempre aperta all'avvio di Capture) si dovrebbe leggere una frase del tipo Processing complete with
no errors - DSN2MNL returned PASS: eventuali messaggi di errore indicano la non creazione del
file .mnl e quindi l'impossibilità di proseguire. Il principale motivo di fallimento del comando
deriva dalla presenza di reference non risolti (R? per esempio), da errori nella connessione, da pin
non collegati, dalla presenza di componenti duplicati.
Il caricamento della netlist
Avviato Orcad Layout appare una finestra completamente vuota ed una serie di menu ed icone che
permettono di lanciare i vari applicativi che costituiscono OrCad Layout. Per iniziare un nuovo
disegno occorre, evidentemente, cliccare su File > New. Sono necessari due file:

il file di tecnologia (.tch): esso contiene informazioni relative alla tecnologia costruttiva del
circuito stampato quali il numero ed il tipo di layer da utilizzare, la dimensioni delle piste e
delle piazzole, gli isolamenti minimi richiesti. Per le applicazioni a singola faccia la scelta
migliore è l'uso del file Jump6238. Esistono anche file per montaggio superficiale
(contengono il suffisso SMD). I settaggi predefiniti possono comunque essere modificati
successivamente.

il file con la netlist, creato da OrCad Capture (.mnl) o con altri programmi compatibili.
Viene quindi richiesto il nome del file .max che dovrà contenere il circuito stampato. Una ulteriore
tipologia di file che viene utilizzata è quella che contiene i footprint cioè la descrizione meccanica
dei vari tipi di componenti. La quantità di tali file che viene fornita con Layout. Infine la maggior
parte delle librerie sono poco adatte alla produzione di circuiti fatti in casa che, necessariamente,
sono costruiti con una scarsa precisione. A questo punto inizia l'operazione che, soprattutto le prime
volte, è senz'altro la più lunga e la fonte di errori: la fusione tra le informazioni contenute nei tre file
citati. Per ciascun tipo di componente viene richiesto quale footprint deve essere utilizzato, con una
finestra simile a quella riportata
In genere è utilizzato il primo pulsante link existing footprint to component per scegliere a quale
footprint legare quel particolare componente. Occorre quindi scegliere la libreria tra quelle
visualizzate e quindi scegliere il footprint tra quelli contenuti nella libreria.Purtroppo l'enorme
quantità di librerie presenti rende poco immediata la scelta. La scelta del footprint può essere
cambiata successivamente senza problemi insormontabili ma deve essere comunque fatta in questo
momento, pena il mancato completamento dell'operazione e l'impossibilità di proseguire. Se
annullate questa operazione, la cosa più semplice da fare è ripartire dall'inizio e sovrascrivere
l'eventuale file creato. Finita questa operazione appare sullo schermo un'immagine che rappresenta
tutti i componenti uniti da segmenti rettilinei che rappresentano le connessioni che dovranno essere
effettuate L'immagine è riferita allo schema di esempio, dopo la disposizione manuale dei
componenti, fatta semplicemente trascinando con il mouse i componenti nella posizione desiderata.
La definizione delle dimensioni
A questo punto possiamo caricare il file di strategie (File > Load_strategy): questo file contiene
informazioni necessarie ai tool di sbroglio automatico e semiautomatico per scegliere le "regole" da
usare. Molti parametri andranno modificati manualmente in funzione del singolo stampato ma una
corretta strategia è un buon punto di partenza. Per circuiti monofaccia da fare in casa la scelta
migliore è Jumper_v.sf oppure Jumper_h.sf (a seconda se si vogliono preferibilmente ponticelli
verticali oppure orizzontali). Per circuiti a due facce, la scelta migliore è 2_thr_x.sf.Prima di iniziare
a disporre i componenti è obbligatorio definire le dimensioni dello stampato. Per fare ciò occorre:



selezionare l'icona Obstacle_tool
cliccare con il tasto destro del mouse sul disegno e selezionare Insert
cliccare nuovamente con il tasto destro del mouse (il menù che si apre cambia) e selezionare
Modify. Questa operazione è inutile se si è appena creato un ostacolo dello stesso tipo



scegliere le seguenti opzioni: Board_outline, Width=50 (anche un altro valore potrebbe
essere adeguato) e Global_layer
iniziare a disegnare il bordo della scheda (deve essere necessariamente una sola linee chiusa,
di forma qualunque)
premere ESC per terminare
Le dimensioni ed il numero di lati della scheda sono modificabili in qualunque momento,
semplicemente cliccando sul bordo e trascinandolo dove serve.Occorre quindi definire le
dimensioni delle piste. Per fare ciò è necessario selezionare lo strumento Spreadsheet > Nets.
Appare una sorta di foglio elettronico con elencati tutti i collegamenti; se in Capture si era dato un
nome ad un collegamento (ad esempio GND_POWER o VCC) questo appare, La dimensione delle
piste è predefinita ma potrebbe essere opportuno impostarla per esempio a 15 o 20 mils (e magari
50 per la massa e 35 per le alimentazioni
Gli spreadsheet
Nel precedente paragrafo si sono già introdotti due spreadsheet (quello per la definizione degli
isolamenti e quello per la definizione delle dimensioni delle piste) ma come è possibile vedere
osservando i menù ne esistono molti altri. Questi strumenti permettono di avere sotto controllo tutti
i parametri del disegno, sono inizializzati caricando file di tecnologie o strategie e possono essere
modificati manualmente. Un controllo frequente delle informazioni presenti in questi fogli permette
di trovare e risolvere numerosi problemi apparentemente senza soluzione
Il posizionamento dei componenti
I componenti vanno disposti sullo stampato manualmente, I componenti possono essere ruotati e
spostati a piacimento evitando ovviamente di uscire da bordi e reciproche sovrapposizioni.
In questa fase possiamo introdurre due strumenti di verifica automatica:


il DRC è l'icona che permette una monitoraggio continuo del lavoro svolto e
l'individuazione immediata di eventuali errori quali un componente posto al di fuori della
scheda o isolamenti non rispettati. Per attivarlo occorre cliccare sull'icona corrispondente,
che rimane evidenziata dal colore rosso. In genere è opportuno attivare questa opzione solo
quando la disposizione dei componenti è semi-definitiva in quanto causa troppi messaggi di
errore quando la scheda è ancora lontana dall'aspetto definitivo. Una volta attivato il DRC
esistono poche occasioni in cui è opportuno disattivarlo.
Il secondo comando (Auto > Board_space_check) effettua un controllo complessivo sulla
scheda. È opportuno usare ogni tanto questo comando in quanto al DRC a volte sfugge
qualcosa e prima ce ne si accorge meglio è.
Prima di attivare l'autopiazzamento (Auto > Batch_place), ricordatevi comunque di disporre
manualmente i connettori ed eventuali altri componenti delicati da questo punto di vista e di
bloccarli nella posizione scelta
Sbrogliare un circuito stampato
Sono disponibili, cliccando sulle tre icone corrispondenti, tre livelli di sbroglio manuale assistito dal
software. Usando questi strumenti il programma verifica il rispetto delle regole di progetto (deve
essere attivato il DRC) e, a diversi livelli, fornisce il supporto alla scelta del percorso migliore.



Manual_route è lo strumento meno assistito e per questo utile sono nei casi più complessi
(per esempio per creare una pista a zigzag). Il programma si limita ad impedire la violazione
delle regole (per esempio incrocio con altre piste già presenti) e a segnalare con una linea
retta il punto di arrivo. Per attivare questo metodo occorre cliccare sull'icona relativa e
quindi sulla pista che si vuole sbrogliare. Un piccolo aiuto lo si ottiene con un doppio click
quando la conclusione del percorso è "ovvia". Da notare che, se si vuole rendere non più
modificabile una pista creata manualmente è necessario bloccarla (click con il tasto destro
del mouse e quindi Lock).
Manual_route_with_shove è simile al precedente con in più la possibilità di spostare
eventuali piste (o anche componenti se è attivata l'opzione Option > Grid >
Shove_components). Questo metodo è abbastanza potente per realizzare piste dal percorso
predefinito in una zona in cui già esistono piste precedentemente tracciate, da spostare
leggermente per far posto a quelle nuove.
Auto_path è, tra quelli manuali, quello che lascia il maggior controllo al programma. In
molti casi non troppo complessi è sufficiente fare un doppio click su una connessione del
ratnest per vedere la pista completarsi da sola, spostando eventuali tacce già presenti ed
inserendo ponticelli se necessario. In genere è però una scelta migliore quella di
"accompagnare" lo sviluppo della pista lungo il percorso che si ritiene migliore. Da notare
che, fin tanto che la pista non è definita, viene tratteggiata quella che il programma giudica
la scelta migliore.
Usando ciascuno dei tre metodi precedenti è possibile introdurre via (cioè fori metallizzati tra due
layer oppure fori per l'inserimento di jumper o "ponticelli" ). Per fare ciò è sufficiente premere il
tasto V oppure premere il tasto 1 per passare sul Layer_top o 2 per passare sul Layer_Bot. Le via
sono introdotte automaticamente usando Auto_Path, se serve ma a volte anche quando è inutile. In
genere le dimensioni delle piazzole per le via sono un po' piccole di quanto necessario ma possono
essere modificate usando spreadsheet > padstack.
REALIZZAZIONE PRATICA
Innanzitutto si parte dallo stampare
il master ,del top e del bottom ,del
circuito stampato realizzato con
layout, su un fogli particolare
chiamato PNP PRESS N PEEL. Il
processo di realizzazione di un
circuito stampato col metodo "PnP"
(PRESS n PEEL) utilizza una
pellicola trasparente rivestita di una
sostanza blu, la quale permette di
trasferire sulla superficie ramata di
una piastra, le piste del circuito stampato precedentemente impresse sul lato sensibile della pellicola
mediante una fotocopiatrice o una stampante laser o come nel nostro caso un ferro da stiro. Senza
altri passaggi, si passa all'incisione. In pratica, basta fare una fotocopia del master sulla superficie
sensibile di questa pellicola, oppure stamparvi la traccia con una stampante laser; occorre poi
appoggiare la parte stampata sul rame della basetta e passare per qualche minuto un ferro da stiro
sulla superficie lucida. Prima di trasferire questa pellicola sulla basetta di ramè è necessario
sottoporla ad un trattamento di pulizia con l‟ausilio di particolari sostanze come soda caustica.
Adesso si può procedere ad impressionare la pellicola
sulla
basetta.
Per
ottenere
un
buon
impressiona mento è necessario fissare il PNP in quattro
punti. Per ottenere un buon impressiona mento è
necessario ripetere l‟operazione di trasferimento della
pellicola almeno due volte. Successivamente dopo aver
atteso il tempo necessario il tempo necessario per far
raffreddare la basetta si procede con la rimozione del
fotoresist in eccesso. Ricordo che l‟operazione di
impressiona mento deve essere effettuata per entrambi i lati della basetta ( TOP e BOTTOM) in
quanto nella fase di progetto abbiamo scelto la tecnologia default tecnology ossia la realizzazione a
due strati. In questo momento si controlla che il trasferimento si avvenuto con successo e in caso
contrario se fosse presente qualche imperfezione questa verrebbe subito eliminata con l‟ausilio di
un‟apposita penna.
Adesso si procede con l‟attacco chimico ossia si
immerge la basetta di rame dentro il percloruro
ferrico e con l‟ausilio di una pistola termica si
riscalda la sostanza per rendere più efficace e
veloce l‟incisione. Dopo ciò si estrae la scheda che
prende il nome di PCB ultimato. Adesso si può
procedere con la saldatura dei componenti sulla
scheda.
1K
R11
R10
20K
10K
C2
10nF
10nF
VCC
C1
R
AD590/TO
CAN
3
R3 10K
VRES19
R21
- VCC
TO92/100
R
U9
33,5K
R22
R
R19
VCC
CARICO
1
2
3
J8
1
R7
2
-V
+V
1
2
6
2
4
8
5
7
2
3
3
VCC
-
+
-
+
NE555
THR
TRG
RST
VCC
CV
3
J3
2
U11A
VCC
74LS04
VCC
TP
A/D_3
11
6
10
12
16
26
27
28
1
2
3
4
5
U8
3
3
U3
OE
EOC
D0
D1
D2
D3
D4
D5
D6
D7
4
U11B
3
9
J7
CON8
6
U11C
- VCC
C5
CAP
74LS04
C4
C3 CAP
VCC
22
25
24
23
9
7
17
14
15
8
18
19
20
21
+12v
ALE
74LS04
1
VCC
START
A0
A1
ADC0808 A2
CLK
REF+
REF-
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
741 DIP.100/14/W.300/L.700
6
U10
OUT
R24
- VCC
1
DSCHG
2
3
VCC
6
6
U1
µA741
62,7K
- VCC
R18
1
R23
R
R20
3
2
µA741
U2
10K
U11D
G
A/B
1A
2A
3A
4A
1B
2B
3B
4B
CAP
74LS04
15
1
2
5
11
14
3
6
10
13
U5
8
5
74LS157
4Y
3Y
2Y
1Y
J4
2
1
U11E
74LS04
R12
100K
R13
100K
R14
100K
OUTPUT_1-14
12
9
7
4
10
11
- VCC
4
5
7
1
7
1
4
5
7
1
1
+
4
5
19
1
18
16
14
12
9
7
5
3
1
19
2
4
6
8
9
7
15
17
Y1
Y2
Y3
Y4
A5
A6
Y7
Y8
2OE
1OE
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y8
A1
A2
A3
A4
A5
A6
A7
A8
74AHC244 U7
1OE
2OE
A1
A2
A3
A4
Y5
Y6
A7
A8
U6 74LS244
2
4
6
8
11
13
15
17
18
16
14
12
11
13
5
3
9.1K
B
R16
B
9.1K
9.1K
B
+12v
R17
+12v
R15
+12v
J6
J5
Q3
NPN
Q2
NPN
Q1
NPN
J2
1
2
3
MOTOR_STEP
PARALLELA 2-9
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
PARALLELA 1-14-11-13
C
E
C
E
C
E
R8
8
7
6
5
4
3
2
1
IN A/D
OUT 1-14
OUT 2-9
-
BOTTOM LAYER
TOP LAYER
AST LAYER