Strumenti Utente

Strumenti Sito


pcb

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
pcb [2020/09/27 16:57] – creata adminpcb [2023/09/17 14:10] (versione attuale) – [Fasi finali] admin
Linea 1: Linea 1:
 +====== Circuiti stampati (PCB) e progettazione di circuiti elettronici ======
 +
 +===== Note generiche sulla progettazione di circuiti elettronici =====
 +
 +Passaggi nella realizzazione di un circuito stampato:
 +
 +  * schematico, schema elettrico del circuito
 +  * layout, spazio dove collocare i componenti
 +  * master, stampa per fotoincisione
 +
 +Circuito stampato:
 +  * supporto in vetronite (FR4) su cui è depositato uno strato di rame
 +  * il circuito si ottiene asportando il rame in eccesso e lasciando solo le piste (percorsi sul piano di rame che devono essere disegnate in fase di sbroglio)
 +  * foratura del PCB in corrispondenza delle piazzole
 +  * montaggio e saldatura dei componenti
 +
 +Tecnologie per realizzare il circuito stampato: 
 +  * master e fotoimpressione: è obsoleta ma usata a scuola perché più semplice, meno costosa e più rapida((vedi questo [[https://vimeo.com/201761039|questo video]] che mostra come vengono realizzati i circuiti stampati a scuola))
 +  * si fa produrre la scheda all'esterno inviando il file del progetto a una //fab// (azienda che produce schede elettroniche in serie e in maniera automatizzata); il prodotto è molto superiore ma i tempi si allungano e non è possibile produrre in maniera economica schede diverse per ogni studente
 +
 +Quando disegniamo lo schema e posizioniamo i componenti dobbiamo associare ad ogni componente un **footprint** (impronta) che descrive fisicamente l'oggetto (contatti, dimensione). La stessa tipologia di componente può avere forme diverse e quindi footprint diversi.
 +
 +Passaggi:
 +  * schematico (ed eventuale simulazione)
 +    * controllo che ogni componente abbia il suo footprint 
 +    * viene generata una **netlist** che trasferiremo ad un altro software
 +  * creo il layout
 +    * devo sapere come collegare tra loro i terminali (o piedini) dei vari componenti (i software che utilizziamo ci guidano in questa operazione mostrando con delle linee giuda i collegamenti fare)
 +
 +Nella fase di layout la scheda viene mostrata come un rettangolo con tutti i componenti disposti all'esterno su un lato; occorre posizionarli. La disposizione, che rispecchierà la forma effettiva del circuito stampato, è fondamentale; è importante considerare l'ingombro, la possibilità di collegare facilmente i componenti e di testare la scheda.
 +
 +Fattori che incidono sul costo:
 +  * numero e da tipo dei componenti
 +  * dimensioni del PCB
 +  * tecnologia SMD o THT
 +  * PCB single layer o layer multiplo
 +
 +Definizioni:
 +  * **single layer**: tutti i componenti sullo stesso lato della scheda e rame (tutte le piste) sul lato opposto
 +  * **sbroglio**: realizzare i collegamenti sul circuito stampato senza incrociare le piste (se non è possibile evitare incroci su un solo layer si usano più strati/layer e delle **vie** per collegarli (fori metallizzati che collegano elettricamente i due layer).
 +
 +/*
 +
 +===== Schede elettroniche che realizzeremo =====
 +
 +In ogni scheda ci sono:
 +  * alimentazione
 +  * "intelligenza" firmware/software per il microcontrollore
 +  * attuazione
 +
 +Progetti 2015/2016:
 +  * scheda POV (//persistance of vision//)
 +  * shield harvesting energetico per alimentare una scheda Arduino con pannelli fotovoltaici (con misura della tensione prodotta)
 +
 +Pannelli fotovoltaici:
 +  * "grossi fotodiodi"
 +  * due poli come una batteria ma corrente e tensione non sono costanti (dipendono dalla luce che colpisce il pannello)
 +  * targa con caratteristiche tecniche (potenza, tensione a vuoto)
 +  * li useremo per tenere carica una batteria tampone
 +
 +Attività legata ai due progetti:
 +  * Multisim -> schematico
 +  * Ultiboard -> layout PCB
 +  * "roba pratica"
 +    * forare col trapano a colonna
 +    * saldare
 +    * collaudare la scheda
 +
 +*/
 +
 +====== Multisim e Ultiboard ======
 +
 +===== Multisim =====
 +
 +Nasce come software di simulazione ma noi lo useremo principalmente per disegnare lo //schematico// di un circuito e generare una //netlist// che passeremo a Ultiboard per la realizzazione del circuito stampato (layout e sbroglio).
 +
 +==== Definizioni fondamentali ====
 + 
 +  * la sigla **PCB** sta per //printed circuit board// cioè circuito stampato
 +  * lo **schematico** è una rappresentazione semplificata del circuito che mette in evidenza i componenti e le loro connessioni; studiando lo schematico è facile comprendere il funzionamento del circuito
 +  * il **layout** rappresenta il circuito stampato vero e proprio e tiene conto delle dimensioni effettive dei componenti, del loro posizionamento e del tracciato delle piste; il layout mostra l'aspetto che avrà il circuito stampato una volta realizzato
 +  * il **footprint** di un componente è la descrizione fisica del componente che indica dimensioni, posizione e numerazione dei morsetti, ecc. (NB lo stesso tipo di componente può essere prodotto con footprint diversi)
 +
 +
 +==== Componenti e footprint ====
 +
 +Multisim contiene un catalogo (database) vastissimo di componenti. Quando si inserisce un componente nello schematico bisogna tenere conto che:
 +  * il colore del simbolo ha un significato preciso:
 +    * nero -> solo modello matematico (per la simulazione) senza footprint
 +    * blu -> modello matematico e footprint
 +    * verde -> solo footprint
 +  * ogni componente ha:
 +    * un //RefDes// (//reference designator//), cioè una sigla che individua il componente formata da uno o due caratteri che indicano la [[wp>Reference_designator|tipologia del componente]] seguita da una numerazione progressiva (ad esempio ''R1'' per il primo resistore, ''J3'' per il terzo connettore) 
 +    * una //label// descrittiva opzionale
 +    * un //value// col valore del componente (ad esempio ''1kΩ'' per un resistore o ''LM7805'' per un regolatore di tensione)
 +Il footprint può essere associato quando si seleziona il componente dal database per inserirlo nello schematico (in basso a destra nella finestra) o successivamente. Nel primo caso può capitare che il footprint che serve non sia disponibile; in questo caso si piazza il componente e si cambia il footprint successivamente. Per cambiare il footprint di un componente si seleziona ''Edit footprint'' dalla scheda ''Value'' nelle ''Proprietà'' del componente. Per trovare velocemente un footprint tra i tantissimi a disposizione conviene ordinarli alfabeticamente((cliccare sulla voce corrispondente nell'intestazione della tabella)) o usare i filtri per restringere il campo dei possibili valori((per definire i criteri del filtro aggiungere delle righe (//row//) con le regole desiderate)).
 +
 +==== Le net e la netlist ====
 +
 +In Multisim i collegamenti tra i vari componenti sono dette **net** (di fatto corrispondono a quelli che solitamente chiamiamo "punti elettrici"). Ogni collegamento ha un nome ed è possibile visualizzarlo selezionando ''Net Names|Show All'' nella scheda Circuit delle proprietà dello schematico((nella stessa scheda si può scegliere se visualizzare le //RefDes//, le //label// e molto altro)) o dalle proprietà del collegamento. Il nome delle //net// è un numero progressivo assegnato automaticamente; se si vuole utilizzare un nome diverso e più significativo (ad esempio ''GND'' o ''5V'') occorre indicarlo nel campo ''Preferred net name'' delle ''Proprietà'' del collegamento.
 +
 +La **netlist** è una lista che elenca il nome delle connessioni e dei morsetti dei componenti ad esse collegati.
 +==== Passaggio della netlist a Ultiboard ====
 +
 +Prima di procedere è bene controllare le connessioni con lo strumento ''Electrical Rules Check'' dal menu ''Tools'' e correggere eventuali errori segnalati nella finestra in basso. Poi si può esportare la netlist dal menu ''Transfer'':
 +  * come file, scegliendo ''Export Netlist''
 +  * passandola direttamente al software Ultiboard, che si apre automaticamente, scegliendo ''Export to Ultiboard''
 +
 +==== Correzioni ====
 +
 +Molto spesso capita di dover fare delle modifiche alla netlist quando si è già passati alla creazione del layout con Ultiboard. In questo caso bisogna:
 +  * tornare allo schematico su Multisim
 +  * fare le correzioni necessarie
 +  * generare una nuova netlist che corregge quella in uso su Ultiboard scegliendo la voce ''Forward Annotate to Ultiboard'' dal menu ''Transfer'' di Multisim
 +Questa procedura si chiama **forward annotation**((esiste anche una backward annotation che riporta le modifiche fatte in Ultiboard sul file di Multisim)).
 +
 +Quando questo non è possibile o non funziona si può corregge la netlist in Ultiboard con lo strumento ''Netlist Editor''.
 +===== Ultiboard =====
 +
 +==== Generalità ====
 +
 +Ultiboard è il software che useremo per creare la rappresentazione grafica planimetrica di una scheda elettronica, cioè il suo **layout**. Il procedimento comprende:
 +  * l'importazione di una netlist((si può creare la netlist utilizzando solo Ultiboard ma di solito è preferibile partire da uno schematico))
 +  * il posizionamento dei componenti
 +  * la stesura delle **piste** (//tracks//) di rame che collegano i componenti
 +
 +Il prodotto finale sarà un file (o uno stampato, il **master**) che servirà per la realizzazione fisica della scheda. Il circuito, cioè il tracciato con le piste e le **piazzole** (//pads//) per saldare i componenti, sarà ricavato con un processo fotochimico((fotoimpressione della maschera del circuito con un bromografo seguita da uno sviluppo in acido)) asportando il rame che inizialmente ricopre completamente la scheda.
 +
 +==== Dimensioni, tecnologia e unità di misura ====
 +
 +Prima di procedere è bene impostare le dimensioni e la forma della scheda (indicate nel colore giallo del layer //board outline//) e la tecnologia utilizzata, cioè se si realizzerà una scheda:
 +  * a //singolo strato//, con tutte le piste su un unico lato
 +  * a //doppio strato// (o più in generale //multistrato//) con piste su entrambi i lati della scheda (o su strati interni non visibili)
 +Queste scelte si possono fare:
 +  * usando lo strumento ''Board Wizard'' (menu ''Tools'')((se si passa direttamente da Multisim a Ultiboard non è possibile utilizzare questo metodo))
 +  * nella finestra ''PCB Proporties'' (menu ''Edit''
 +La dimensione e forma della scheda può essere modificata:
 +  * selezionandola e spostandone i vertici (il pulsante dei filtri ''Enable Selecting Other Parts'' deve essere schiacciato((è l'ultimo a destra tra quelli a forma di imbuto nella barra degli strumenti)) ) o impostando posizione e dimensioni nelle proprietà
 +  * tracciandone una nuova con ''Place''|''Line'' con il layer ''Board Outline'' selezionato
 +
 +Nelle varie fasi della creazione del layout le dimensioni (di tracce, componenti, ecc.) possono essere espresse in diverse unità di misura. Le più comuni sono:
 +  * i millimetri
 +  * i //mil//, cioè millesimi di pollice
 +I //mil// sono un'unità di misura imperiale/anglosassone molto utilizzata in elettronica; ad esempio le bradboard e moltissimi componenti hanno un passo((distanza tra due terminali)) (//pitch//) di 100 //mil//. In Ultiboard useremo entrambe (è sempre possibile passare da una unità all'altra con dei menu a tendina).
 +
 +==== Elementi dell'interfaccia grafica ====
 +
 +L'interfaccia grafica di Ultiboard comprende molti elementi. I più utili sono:
 +  * la finestra centrale che mostra il layout
 +  * la finestra a sinistra che mostra:
 +    * i file del progetto
 +    * i layer (livelli) disponibili (quello selezionato è in rosso)
 +  * la finestra //Spreadsheet View// in basso con informazioni dettagliate su: eventuali errori (DRC), componenti, net, piazzole, ecc.
 +  * la finestra ''3D Preview'' (attivabile dal menu ''View'') che mostra una visualizzazione 3D della scheda, utile per verificare la forma e il posizionamento dei componenti
 +
 +Nella barra degli strumenti troviamo:
 +  * una serie di filtri (pulsanti a forma di imbuto) che permettono di selezionare solo alcune tipologie di elementi del layout (componenti, tracce, piazzole, ecc.)
 +  * un selettore a tendina per il layer e uno per la larghezza (//width//) delle piste (//track//)
 +  * il pulsante ''Place part from database'' per piazzare un componente nel layout
 +  * il pulsante per disegnare le tracce ''Place Line''
 +  * il pulsante per il piano di massa ''Create power plane''
 +
 +E' molto importante anche lo strumento ''Netlist Editor'' richiamabile dal menu ''Tools''. Qui è possibile:
 +  * elencare i piedini dei componenti collegati alle varie //net// o assegnarli a una determinata net selezionandoli col mouse((normalmente questa assegnazione va fatta a livello di schematico in Multisim))
 +  * indicare il layer da utilizzare per le net
 +  * indicare la larghezza minima/massima/standard per le tracce che coinvolgono la net oltre alla minima distanza tra le tracce (//clearance//)
 +Questo strumento permette di correggere errori - e modificare la netlist - senza passare da Multisim, anche se non è il metodo raccomandato.
 +==== Piazzare componenti ====
 +
 +Quando si importa una netlist o si passa dallo schematico di Multisim direttamente a Ultiboard viene mostrata una finestra che elenca le net, i piedini associati ed eventuali errori; una volta confermata la netlist si troveranno tutti i componenti disposti lungo il bordo della scheda. A questo punto bisogna piazzare i componenti nella scheda ma prima conviene fare qualche verifica nella finestra ''Properties'' dei vari componenti (doppio click o pulsante destro):
 +  * per visualizzare la forma del componente selezionare la scheda ''3D Data''
 +  * per verificare le dimensioni e la forma del footprint del componente selezionare la scheda ''Part'' e premere il pulsante ''Show Dimensions''
 +
 +Se è tutto corretto si procede a piazzare componenti (spostandoli e ruotandoli) in modo da:
 +  * rispettare a grandi linee i posizionamenti dello schematico
 +  * se possibile disporli in modo da evitare di incrociare tracce (aiutarsi con le guide di colore giallo che mostrano come andranno collegati i vari piedini)
 +  * occupare meno spazio possibile (le guide di colore arancione mostrano le distanze minime tra componenti)
 +  * allineare i componenti secondo la griglia
 +
 +==== Piste ====
 +
 +A questo punto bisogna collegare le piazzole dove saranno saldati i piedini/reofori dei componenti con delle piste (//tracks//). Le **piazzole** (//pads//) hanno una forma circolare o quadrata((quando è importante identificare il verso di un componente o il primo dei piedini)) e un foro al centro dove la scheda sarà forata col trapano per permettere l'inserimento di piedini e reofori dei componenti a foro passante. Le piste si disegnano utilizzando lo strumento ''Place Line'' cliccando sulle piazzole (o in un punto qualsiasi per cambiare direzione) e premendo ''Esc'' per terminare la traccia. Le piazzole da collegare sono indicate dalle guide di colore giallo dette //ratsnest//.
 +
 +Prima di disegnare una linea bisogna selezionare un **layer** (livello) e una larghezza (//width//) per la traccia. I layer permettono di scegliere dove sarà disposto un elemento del layout. Sono particolarmente importanti:
 +  * il layer ''copper bottom'', cioè la parte inferiore della scheda, dove disporremo tutte le tracce delle schede a singolo strato (//single layer//)
 +  * il layer ''copper top'', cioè la parte superiore della scheda, che utilizzeremo per le schede a doppio strato
 +  * il layer ''silkscreen'', utilizzato per le serigrafie, dove vengono indicate sagome e sigle utili a riconoscere i componenti per facilitare il montaggio
 +  * il layer ''board outline'' per la dimensione/forma della scheda
 +
 +Nei progetti più semplici, posizionando opportunamente i componenti ed evitando incroci tra tracce, si può ottenere uno sbroglio che permetta la realizzazione di un PC a singolo strato. Quando questo non è possibile si ricorre alle **vie** (//vias//), fori metallizzati che collegano lo strato superiore e quello inferiore. Ultiboard prevede sempre che la scheda sia a due facce ma si può impedire di usare uno dei due layer dalle opzioni del PCB (//Options|PCB properties//) disabilitando il //routing// su uno dei due layer (scheda //Copper layers|Allow routing|Properties// e togliendo la spunta)((La stessa operazione si può fare dalla spreadsheet view nella scheda //Copper layers//)). Questa impostazione è utile (ma non indispensabile) quando si realizza una scheda a singolo strato per evitare che il programma passi da un layer ad un altro ad esempio quando si riposiziona un componente già collegato a una pista.
 +
 +La larghezza delle tracce può essere impostata in vari modi: da un menu a tendina, scegliendo una larghezza predefinita per la net, oppure allargandola o restringendola (proprietà //width//) dopo averla tracciata. Il sistema più rapido per impostare la stessa larghezza per tutte le tracce è impostare il valore ''Trace Width'' nella scheda ''Nets'' della finestra ''Spreadsheet View'' in basso dopo aver selezionato tutte le net.
 +
 +Nel disegnare le tracce tenere conto che:
 +  * i cambi di direzione si fanno con angoli 45° (non 90°)
 +  * la distanza minima tra due tracce (//clearance//) deve essere rispettata
 +  * le tracce possono passare sotto i componenti ma è meglio che non passino tra due pin di uno stesso integrato
 +==== Fasi finali ====
 +
 +Per terminare il layout:
 +  * eventualmente disegnare un **piano di massa** (//power plane//) con //Place|Power plane// o con lo strumento //Polygon// e poi assegnarlo alla net ''GND''
 +  * verificare la correttezza del layout con gli strumenti ''Connectivity Check'' e ''DRC'' del menu ''Design''; eventuali errori sono segnalati nella finestra in basso (//Spreadsheet Window//) ed evidenziati nel layout con dei cerchi rossi
 +  * stampare il master sempre con fattore di scala 100%
 +  * controllare che le piazzole rispettino i criteri dettati dalla tecnologia di produzione scelta (ad esempio foro da 0,8 mm e diametro 2 mm)
 +  * controllare che le //clearance// siano rispettate, in particolare per le alimentazioni (ad esempio Vcc e GND devono essere opportunamente distanziate per evitare cortocircuiti)
 +
 +Il piano di massa si chiama così perché nelle schede multistrato si usano interi strati solo per GND e alimentazione e può essere creato anche in maniera automatica((con lo strumento ''Place|Power Plane'' e aggiustando la //clearance// nelle sue proprietà)). E' presente in quasi tutti i circuiti stampati e serve a:
 +  * facilitare il collegamento a massa dei vari componenti e ridurre la lunghezza di questi collegamenti
 +  * ridurre i disturbi ed evitare l'effetto antenna delle piste
 +  * dissipare il calore in eccesso (piano radiante)
 +  * rendere equipotenziale la massa riducendo le cadute di tensione dovute alle varie correnti (che incontrano una resistenza molto bassa e un percorso breve)
 +
 +==== Considerazioni pratiche per i circuiti stampati realizzati a scuola ====
 +
 +  * per distinguere le schede degli studenti scrivere il proprio nome nel layer ''Copper Bottom''((non sul silkscreen perché non verrà stampato nella realizzazione delle schede a scuola)); il nome deve essere **specchiato** (Edit|Orientation|Flip Horizontal) per comparire "al dritto" nel bottom layer e in grassetto (//bold//)
 +  * larghezza raccomandata per le tracce: 1 mm
 +  * larghezza delle tracce dell'alimentazione sempre almeno 1 mm 
 +  * clearance (distanza) tra tracce: 1÷2 mm
 +  * dimensione piazzole: diametro 2 mm e foro da 0,6 ÷ 0,8 mm
 +
 ==== Collaudo PCB ==== ==== Collaudo PCB ====
  
Linea 34: Linea 254:
  
  
 +===== Navigazione =====
 +
 +Torna all'[[start#indice|indice]].
pcb.1601225821.txt.gz · Ultima modifica: 2020/09/27 16:57 da admin