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