Sei sulla pagina 1di 49

Iniziamo il nostro

viaggio alla scoperta


di KiCad, un CAD
elettronico open
source che permette di
coprire l’intero ciclo di
sviluppo di una scheda
elettronica, dalla
realizzazione degli
VFKHPLHOHWWULFLÀQR
allo sbroglio del PCB e
alla realizzazione dei
ÀOHGLIDEEULFD]LRQH
3ULPD3XQWDWD
di Francesco Ficili e Vincenzo Germano

1
a buoni tecnici, sappiamo che il primo caso si parla di ECAD -Electronic CAD- oppure di
D passo di un progetto elettronico è la rea-
lizzazione dell’hardware sul quale esso si basa.
EDA, ossia Electronic Design Automation) esisto-
no da almeno trent’anni, ma mentre un tempo si
Lo sviluppo di una scheda elettronica può es- trovavano solo prodotti per il settore professionale
sere affrontato a diversi livelli di complessità e (molto costosi e inaccessibili al grosso del pubblico),
la progettazione può essere più o meno profes- da diversi anni sviluppatori e semplici appassionati
sionale e richiedere o no l’utilizzo di strumenti hanno creato software di progettazione freeware o
CAD (Computer Aided Design) più o meno comunque di basso costo che hanno portato il CAD
complessi. La progettazione assistita dal com- nei computer di molti sperimentatori.
puter è una realtà assodata da decenni in vari Per il settore professionale esistono ottimi software
settori, che vanno dall’edilizia alla meccanica e come ad esempio OrCAD della Cadence, Altium
all’aeronautica, e, naturalmente, all’elettronica. dell’omonima azienda australiana; nel campo ope-
I programmi CAD per elettronica (in questo rano altre software house come Mentor Graphics,

Elettronica In ~ Marzo 2014 73


FIG. 1
Logo di dimostra estremamente valido e gode di una
KiCad. fama che va crescendo nel panorama hobbi-
stico. In Fig. 2 è possibile osservare il trend di
crescita della richiesta del software dall’anno
Synopsys, Zuken e molti altri. Questi tools, del suo primo rilascio, nel 2007, comparato
che sono indubbiamente molto performanti, con quello di ECAD simili.
costano cifre che solo aziende con un certo Kicad è utilizzato da moltissimi appassionati
giro d’affari possono sostenere: le licenze e piccole aziende in tutto il mondo, grazie alla
dei tools di EDA possono, infatti, costare da semplicità di utilizzo che lo caratterizza, al
alcune migliaia ad alcune decine di migliaia di fatto di essere completamente free ed al taglio
euro (per licenze multi postazione). professionale che ha raggiunto nel corso degli
Fortunatamente la diffusione dell’open source anni.
ha toccato anche questo mondo, venendo in
soccorso dell’hobbista che vuole cimentarsi INTRODUZIONE A KiCad
nella progettazione elettronica, ma anche del .L&DG©XQWRRO&$'VSHFLŎFDWDPHQWHSHQ-
professionista e della piccola azienda che han- sato per il disegno di schemi e circuiti elettro-
no necessità di progettare schede elettroniche nici. Attualmente KiCad è distribuito sotto
destinate all’uso interno o a progetti che non licenza GNU GPLv2 in maniera completa-
producono un ritorno economico tale da giu- mente gratuita, ed è disponibile per Windows,
VWLŎFDUHODVSHVDSHUOĬDFTXLVWRGLXQ(&$' Linux e Mac OS X.
professionale. Tramite Kicad è possibile realizzare schemi
Tra i software open source spicca KiCad, una HOHWWULFLGLVWLQWHFRPSRQHQWLH3&%ŎQRD
Electronic Design Automation Suite completa- layer, quindi tutti i master possibili. All’inter-
mente open e multi piattaforma, sviluppato e no di KiCad è presente un gestore integrato
distribuito sotto licenza GNU da Jean-Pierre delle librerie dei componenti, completo di
Charras. Chiaramente il livello di questo CAD editor sia per gli schemi elettrici che per i
non può essere paragonato a quello degli stru- footprint.
menti elencati in precedenza, ma è sicuramen- Nel CAD sono inoltre integrati un visualizza-
te paragonabile a tool ECAD a pagamento, WRUHGLŎOHJHUEHUHGDOWULVWUXPHQWLGLVXSSRU-
come ad esempio Eagle CAD di Cadsoft. to alla progettazione.
Sebbene completamente open source, il tool si KiCad è un IDE (Integrated Development

FIG. 2
Diffusione
di KiCad a
confronto
con quel-
la di altri
ECAD di
prestazioni
simili.

74 Marzo 2014 ~ Elettronica In


FIG. 4
FIG. 3 - Esempio di schema elettrico Esempio di
realizzato con Eeschema. associazione
componente
footprint.
Enviroment), ed è quindi costituito da un set
di tools software interdipendenti e racchiusi
all’interno di un Project Manager, che provve- elettrici. In Fig. 3 è rappresentato uno scre-
GHDOODJHVWLRQHGHLŎOHGLSURJHWWRHDOOĬDYYLR enshot di una porzione di schema elettrico
dei singoli programmi da un’unica interfaccia realizzata con Eeschema.
utente. • Cvpcb: è il programma che effettua l’associa-
All’interno del Project Manager sono racchiu- zione componente-footprint (il footprint è
si quattro programmi principali di seguito il layout del componente sul circuito stam-
descritti: pato, ovvero il suo ingombro), permette di
• Eeschema: è l’editor degli schematici elettrici. associare lo schema di un componente ad un
Integra l’editor per le librerie degli schemi footprint. In Fig. 4 è riportato uno screen-

FIG. 5 - Esempio di layout realizzato con Pcbnew.

Elettronica In ~ Marzo 2014 75


FIG. 6 - Download di KiCad.

iniziando con il download e l’installazione del


tool: KiCad può essere liberamente scarica-
WRGDOZHEFROOHJDQGRVLDOVXRVLWRXIŎFLDOH
http://www.kicad-pcb.org/. Una volta all’interno
della pagina, selezionare la voce “Download”
shot di una distinta elaborata con Cvpcb. dal menu che si trova sulla sinistra, così da
• Pcbnew: è l’editor del PCB. Può gestire accedere alla pagina di download. Una volta
3&%ŎQRDOD\HUHLQWHJUDXQWRROSHUOD entrati, dall’apposito menu in basso (Fig. 6)
generazione dei gerber e un editor per le selezionare il tipo di download desiderato.
librerie dei footprint. Inoltre dispone di un Sono disponibili, per il download, versioni
tool di visualizzazione 3D del PCB. In Fig. per Windows, Linux e Mac OS X (una versio-
5 è riportato uno screenshot di un layout di ne per Ubuntu è attualmente in lavorazione)
PCB realizzato con Pcbnew. ed è inoltre disponibile il download del codice
• Gerberview©LOYLVXDOL]]DWRUHGLŎOHJHUEHU sorgente di KiCad, così che chi lo desidera
può sviluppare una propria versione con fun-
Nelle versioni più recenti sono inoltre dispo- zioni personalizzate. In questo corso faremo
nibili altri due strumenti aggiuntivi: riferimento solo alla versione per Windows.
• Bitmap2Component è un convertitore bitmap- Cliccando sul pulsante con il logo di Windows
footprint, utile per inserire i loghi all’interno FRPSDULU¡ODŎQHVWUDUDSSUHVHQWDWDLQFig. 7,
dei PCB. che rappresenta il contenuto della directory di
• PcbCalculator è un tool di calcolo per PCB,
contenente diversi utili fogli di calcolo tra
cui un calcolatore per il dimensionamen- FIG. 8 - Welcome window dell’installer di KiCad.
to dei dissipatori e relativo ingombro, un
calcolatore per la larghezza piste, per l’iso-
lamento elettrico (distanza tra le piste) ed
altro ancora.

Durante il corso analizzeremo in dettaglio


tutti gli strumenti di lavoro, con il suppor-
to di un progetto pratico che si svilupperà
lungo tutta la durata del corso stesso e che
vi porterà a realizzare una demoboard per
microcontrollori Microchip.

DOWNLOAD E INSTALLAZIONE
Passiamo adesso alla fase operativa del corso,

FIG. 7
Contenuto
della directory
di download.

76 Marzo 2014 ~ Elettronica In


FIG. 9A - Finestra di “License Agreement”.
g FIG. 10 - Selezione del path di installazione.

FIG. 9B - Finestra di selezione dei componenti.


p FIG. 11 - Processo di installazione.

FIG. 12 - Installazione eseguita con successo.


GRZQORDG6HOH]LRQLDPRLOŎOHKiCad_stable-
2013.07.07-BZR4022_Win_full_version.exe, che
costituisce l’ultima versione stabile dispo-
nibile al momento della scrittura di questo
corso. Dopo aver cliccato sul link, si avvierà
il download del pacchetto di installazione.
Completato il download, possiamo lanciare
l’eseguibile, in modo da avviare la procedura
di installazione di KiCad. Dopo aver lanciato
l’installer, apparirà la “Welcome Window”
illustrata in Fig. 8. Qui bisogna cliccare sul
pulsante “Next” per procedere.
$TXHVWRSXQWRFRPSDULU¡ODŎQHVWUDGLĮ/L-
cense Agreemet”, dove bisognerà cliccare sul
SXOVDQWHĮ,$JUHHįHSURFHGHWH1HOODŎQHVWUD
successiva verrà richiesto quali componenti si
GHVLGHUDLQVWDOODUHROWUHDLŎOHELQDULGHLYDUL limitatevi a selezionare tutti i componenti
programmi, vengono installate delle librerie installabili per poi procedere (Fig. 9b).
SUHGHŎQLWHHWXWWDODGRFXPHQWD]LRQH4XHVWD A questo punto non vi resta che selezionare
ŎQHVWUDSX³ULVXOWDUHXWLOHVHLQIXWXURQDVFHOD il path di installazione del software (come
necessità di reinstallare i binari senza sovra- illustrato in Fig. 10) e procedere, cliccando sul
scrivere le librerie (che potreste avere modi- pulsante “Install”.
ŎFDWRQHOFRUVRGHOWHPSR HYLWDQGRFRV­GL L’installer inizierà l’installazione del software
sovrascrivere quelle esistenti. Per il momento e dei vari componenti (Fig. 11). Se tutto andrà

Elettronica In ~ Marzo 2014 77


Breve storia di KiCad
KiCad è stato realizzato nel corso degli anni da Jean-
Pierre Charras, un ricercatore del GIPSA-LAB e docente KiCad PROJECT MANAGER
allo IUT de Saint Martin d’Hères in Francia. Ora che abbiamo completato l’installazione
Abbiamo scritto a Jean-Pierre per rivolgergli alcune do- del nostro ambiente, possiamo lanciarlo ed
mande circa la storia di KiCad.
analizzare l’interfaccia, in modo da compren-
FF: Come nasce questo progetto? derne la struttura.
JPC: Il progetto nasce nel 1992, anno in cui ho iniziato a Siccome Kicad è un IDE, dispone di una serie
scrivere il codice di quello che oggi è Pcbnew. All’epoca di tool integrati all’interno di una singola
ero solo interessato a capire come un editor di layout interfaccia detta Project Manager. Questo
potesse funzionare (usavo OrCAD per MS-DOS per i miei DSSOLFDWLYRVLRFFXSDGHOODJHVWLRQHGHLŎOHGL
progetti elettronici). Ho iniziato a lavorare quando i primi progetto e dell’integrazione dei vari applicati-
compilatori a 32-bit free (DJGGP) e le prime librerie grafi- vi, offrendo all’utente un’interfaccia unica per
che (libgrx) sono apparse nel web. Due anni dopo avevo la gestione del progetto.
reso utilizzabile (solo da me, perché all’epoca era soltanto
Il Project Manager di Kicad è costituito da
un esperimento...) una prima versione di editor per layout.
quattro componenti principali.
FF: Poi cosa è successo? • Project Bar: questa è l’area di gestione del
JPC: A quel punto avevo un editor per layout ma non un progetto, da qui è possibile salvare o carica-
editor per schematici. Un giorno ho trovato i sorgenti di UHXQSURJHWWRFRPSULPHUQHLŎOHRDJJLRU-
un editor per schematici, molto primitivo e privo di diverse nare la visualizzazione della Navigation
parti, che però era un punto di partenza. Così ho iniziato a Bar. Sono inoltre disponibili tutte le opzioni
lavorare su quello che oggi è Eeschema. Quando wxWin- di sistema, come ad esempio le opzioni
dows è divenuto utilizzabile l’ho usato per rimpiazzare la relative alla lingua ed è possibile accedere al
prima libreria grafica. Qualche anno dopo vedeva la luce
manuale.
una prima versione di un tool completo (schematic +
layout): era un tool base, ma utilizzabile. Era KiCad. • Navigation Bar©OĬDUHDGLJHVWLRQHGHOŎOH
system del progetto, da qui è possibile vede-
FF: Qualche aneddoto divertente? UHWXWWLLŎOHUHODWLYLDOSURJHWWRHGDSULUOL
JPC: Beh… quando ero docente a Grenoble, ho chiesto • Tool Bar: è l’area dei tool che costituiscono
a un gruppo di studenti di provare a disegnare una scheda l’IDE, i principali, come descritto anche in
elettronica usando KiCad, per validare la prima release. precedenza sono Eeschema, Cvpcb, Pcbnew
Loro hanno accettato ed hanno realizzato prima lo schema e Gerberview.
e poi il layout. Tutto perfetto, nessun bug, nessun proble- • Output WindowTXHVWD©ODŎQHVWUDGL
ma. Solo alla fine ne abbiamo trovato uno: il comando
RXWSXWGL.LFDGGDTXHVWDŎQHVWUDLOWRRO
di salvataggio in Pcbnew non funzionava, così la prima
scheda realizzata con Kicad non ha mai visto la luce… ci comunica che tipo di operazioni sono

DEXRQŎQHDOWHUPLQHGHOSURFHVVRYHGUH-
te comparire la schermata di Fig. 12. Nella
schermata conclusiva, l’installer vi avvisa che
il software è stato correttamente installato e
che i componenti 3D presenti in KiCad sono
stati realizzati con Wings3D; inoltre vi infor-
ma che per creare i vostri elementi 3D perso-
nalizzati è necessario installare tale compo-
nente software.
In questo corso non cureremo tale aspetto,
limitandoci ad utilizzare la visualizzazione
3D con i modelli esistenti, senza crearne di
nuovi. Lasciamo ai lettori più esperti ed intra-
prendenti l’esplorazione di questa possibilità
aggiuntiva, che permette di personalizzare la
OLEUHULDGLHOHPHQWLJUDŎFLGHOG9LHZHU FIG. 13 - Project Manager di KiCad.

78 Marzo 2014 ~ Elettronica In


External Tools
KiCad dispone di una serie di tool esterni per agevolare
state eseguite e ci segnala eventuali errori o gli utenti in alcuni compiti. Un elenco di alcuni di questi
avvertimenti. tool si trova sul sito web di KiCad, all’interno della sezio-
ne External Tools. Eccone una breve descrizione.
Quick KICad Library Component Builder: permette la
In Fig. 13©ULSRUWDWDODŎQHVWUDGHO3URMHFW generazione di componenti per Eeschema. Ha un’inter-
Manager e sono mappate le aree descritte in faccia web molto intuitiva, che semplifica la generazione
precedenza. del componente.
Il Project Manager è anche l’interfaccia utilizza- KiCad Librarian: tool di library management per librerie
ta per creare un nuovo progetto; per fare ciò è di schemi e footprint di KiCad. È stand-alone e dispo-
VXIŎFLHQWHFOLFFDUHVXOOĬLFRQDĮ1XRYR3URJHWWRį nibile per le stesse piattaforme per cui è disponibile Ki-
posizionata all’estrema sinistra della “Project Cad. È un ottimo tool per mantenere in ordine le librerie.
Bar”, come illustrato in Fig. 14. CycleRecorder’s footprint builder: tool per la generazio-
ne di footprintp per Pcbnew.
8QDYROWDIDWWRYHUU¡SUHVHQWDWDXQDŎQHVWUDGL
Madparts footprint editor: tool per la generazione di foo-
dialogo per la selezione del path e del nome del tprint. Supporta KiCad ed anche Eagle. Disponibile per
progetto; scelti questi parametri, è possibile clic- Windows, Linue e Mac OS X.
FDUHVXOSXOVDQWHĮ6DOYDįSHUVDOYDUHLOŎOHFRQ KiCad 3D Models generator: tool per la generazione di
estensione .proFKHFRVWLWXLVFHLOŎOHSURJHWWRGL modelli 3D parametrici per KiCad 3D viewer.
KiCad. A questo punto è possibile utilizzare i
vari tools messi a disposizione dal CAD.
FIG. 16 - KiCad Librarian.
1HLVXFFHVVLYLSDUDJUDŎFKLDULUHPRFRPHYLHQH
JHVWLWRLOŏXVVRGLSURJHWWRFRQ.L&DG

FLUSSO DI PROGETTO KiCad


KiCad è impostato in modo da agevolare
OĬXWLOL]]RGLXQFHUWRZRUNŏRZFKHSDUWHFRQOD
WUDFFLDWXUDGHOORVFKHPDHOHWWULFRŎQRDWHUPL-
QDUHFRQODJHQHUD]LRQHGHLŎOHJHUEHU/ĬDFFHV-
so a uno step successivo avviene solo dopo il
completamento di quello precedente, in modo
da minimizzare il più possibile la generazio-
ne di errori durante il progetto, che sarebbero
molto onerosi da individuare e recuperare
QHOOHIDVLŎQDOL,OŏXVVRGLSURJHWWRGL.L&DG
è schematizzato in Fig. 15: qui, i blocchi indi-
cati in grigio rappresentano tool che non sono
integrati all’interno del CAD, ma che generano

degli output compatibili con questo (una lista di


questi tool è presente sul sito stesso di KiCad, e
ce ne sono molti altri disponibili gratuitamente
in rete). Come si può vedere, il primo passo
dello sviluppo di un progetto in KiCad (dopo la
creazione del progetto stesso) è il disegno dello
schema elettrico. Il punto di partenza di questo
blocco è una libreria di componenti esistente o
la creazione dei componenti necessari tramite il
“Component Library Editor”. Si consideri che la
creazione di componenti per Eeschema non ne-
FHVVLWDGHOODGHŎQL]LRQHGHOIRRWSULQWLQTXDQWR
in KiCad gli schemi elettrici e i footprint sono
due entità distinte, che fanno capo a due diverse
OLEUHULH HDGDOWUHWWDQWLHGLWRU DYHQWLŎOHGLWLSR
FIG. 14 - Creazione di un nuovo progetto.
differente (.lib per gli schemi elettrici e .mod

Elettronica In ~ Marzo 2014 79


per i footprint). Questo approccio è differente ŎOHGLSDUWHQ]DSHUODJHQHUD]LRQHGHOŎOH.brd,
rispetto ad altri ECAD similari e rappresenta RVVLDLOŎOHGLODYRURGL3FEQHZVWHVVR
una delle particolarità di KiCad. A questo punto può avvenire lo sbroglio del
Una volta procurata o generata la necessaria 3&%FKHSURGXFHFRPHRXWSXWXQŎOH*HUEHUR
libreria di componenti è possibile passare al Postscript (PS/PDF) da utilizzare per la fabbri-
disegno effettivo dello schematico su Eeschema: FD]LRQHGHOODVFKHGDVWHVVD/RVWHSŎQDOHGHO
questo processo produce due differenti output: ODYRUR©OĬLVSH]LRQHGHLŎOHGLRXWSXWJHQHUDWL
XQŎOH.schFKHFRVWLWXLVFHLOŎOHGLODYRURGL tramite Pcbnew, utilizzando Gerberview. Que-
(HVFKHPDHGXQŎOH.net (netlist) che costituisce sto step, sebbene opzionale, è di fondamentale
il punto di partenza per il tool successivo, ossia importanza per assicurare che non ci siano stati
Cvpcb. Il compito di Cvpcb è associare agli sche- errori non visti durante il disegno, che potrebbe-
mi elettrici un footprint; per assolverlo, Cvpcb ro portare alla produzione di un c.s. sbagliato.
acquisisce in ingresso, oltre alla netlist, anche le /ĬDQDOLVLGHLŎOHJHUEHU©ORVWHSFRQFOXVLYRGHO
librerie dei footprint, che anche in questo caso ZRUNŏRZGL.L&DGFKLDUDPHQWHDOFXQLVWHS
possono essere pre-esistenti o generate tramite possono subire delle iterazioni, derivanti da
un altro tool (il “Module Editor” di Pcbnew o errori che vengono corretti tornando allo step
un tool esterno per la generazione di footprint SUHFHQGHQWHHIIHWWXDQGROHPRGLŎFKHQHFHVVD-
per KiCad). ULHHULJHQHUDQGRLŎOHGLLQJUHVVRFRUUHWWLSHU
Cvpcb costituisce quindi l’anello di congiun- lo step successivo. Questo processo, denomi-
zione tra gli schematici ed i footprint, mettendo nato in genere backward annotation, permette di
LQVLHPHTXHVWHGXHHQWLW¡FKHŎQRDGRUDULVXO- mantenere un’assoluta coerenza tra tutti gli step
tavano separate. Tale approccio, se da un lato di progetto, in maniera che non si possano mai
apparentemente introduce uno step aggiuntivo YHULŎFDUHVLWXD]LRQLGLLQFRQVLVWHQ]DWUDOHYDULH
(solo teorico, in quanto la selezione del footprint fasi della progettazione, come ad esempio tra
deve essere fatta comunque, anche se eseguita a lo sviluppo dello schematico e lo sbroglio del
livello di schematic design), dall’altro riduce no- PCB. Siamo quindi giunti al termine di questa
tevolmente le dimensioni delle librerie. L’output puntata. Abbiamo introdotto l’ambiente, fornito
GHOSURFHVVRGLDVVRFLD]LRQHGL&YSFE©LOŎOH una guida per il download e l’installazione e
.net di partenza, arricchito con le informazioni descritto l’interfaccia del Project Manager e il
UHODWLYHDLIRRWSULQW4XHVWRŎOHYLHQHSUHVR ZRUNŏRZ
come input da Pcbnew, che lo utilizza come Dalla prossima puntata inizieremo ad occupar-
ci della progettazione,
p g , introducendo l’uso di
Eeschema su di un progetto pratico. J

FIG. 15 - KiCad workflow.

80 Marzo 2014 ~ Elettronica In


Proseguiamo la
conoscenza di KiCad, il
CAD elettronico open
source che permette
di coprire l’intero
ciclo di sviluppo di una
scheda elettronica.
Descriviamo l’uso di
Eeschema, l’editor
di schemi elettrici
integrato in KiCad,
e impariamo a usare
l’editor di componenti.
Seconda Puntata.
di Francesco Ficili e Vincenzo Germano

2
iCad è una Electronic Design Automation una demoboard per microcontrollori Microchip PIC
K Suite open source, o, se preferite, un CAD
elettronico open, che avete iniziato a cono-
della serie 18.

scere all’inizio di questo corso, dove abbiamo UTILIZZARE EESCHEMA


presentato l’ambiente operativo; quest’ultimo In questo primo paragrafo spiegheremo come
è composto da diversi tool software integrati utilizzare l’editor di schemi elettrici di KiCad, che
all’interno di un’unica interfaccia detta Project prende il nome di Eeschema. Per prima cosa lancia-
Manager. In questa seconda puntata iniziamo mo il Project Manager di KiCad e creiamo un nuovo
ad addentrarci nei singoli tool, spiegandone progetto nella maniera spiegata nella scorsa puntata.
nel dettaglio il funzionamento. Come base Vi ricordiamo che per eseguire questa operazione
principale di lavoro utilizzeremo un singolo possiamo cliccare sul pulsante “Nuovo Progetto”
progetto pratico, che seguiremo per tutta la presente all’interno della Project Bar (come illustrato
durata del corso, e che ci porterà a realizzare in Fig. 1), oppure selezionare l’opzione Nuovo/Vuo-

Elettronica In ~ Aprile 2014 115


strumenti. Contiene i vari oggetti che pos-
sono essere posizionati all’interno dell’area
FIG. 1 di lavoro per la costruzione dello schema
Creazione elettrico, come linee, bus, nodi, schemi di
di un nuovo componenti, ecc..
progetto.
• Project Bar: è la barra principale di gestione
del progetto. Questa barra si estende per tut-
ta la zona superiore al foglio di lavoro e per
una parte anche sulla sinistra. Contiene tutti
to, presente all’interno del menu File. È anche i tool che possono essere utilizzati nell’am-
possibile creare un progetto da un modello bito dello sviluppo di uno schema elettrico
precedentemente creato, ma al momento non con Eeschema, come l’editor delle librerie di
utilizzeremo questo approccio. Una volta componenti, il tool per l’annotazione, il tool
VHOH]LRQDWDOĬRS]LRQHVLDSULU¡XQDŎQHVWUDGL per la generazione dei componenti, tutte le
dialogo di Windows che ci chiederà di selezio- opzioni di visualizzazione e molto altro.
QDUHSDWKHQRPHGHOŎOH6HOH]LRQLDPRLOSDWK
GHVLGHUDWRQRPLQLDPRLOŎOH QHOOĬHVHPSLR© REALIZZAZIONE
stato scelto “Esempio_1” come nome del pro- DI UNO SCHEMATIC DESIGN
getto) e proseguiamo. Vediamo adesso come si utilizzano i vari
A questo punto abbiamo un nuovo progetto componenti presenti in Eeschema per la rea-
KiCad vuoto. Il passo successivo è la creazione lizzazione di uno schematico. Per cominciare
GHOŎOH.sch che conterrà lo schema elettrico impostiamo l’area di lavoro, in modo da adat-
del nostro progetto. Clicchiamo quindi sul tare la dimensione del foglio ed inserire i dati
pulsante “Schema Elettrico”, il primo pulsante sul cartiglio; allo scopo selezioniamo l’opzione
a sinistra della Tool bar, che avvierà Eesche- “Impostazioni Pagina” dal menù “File”; una
ma, come illustrato in Fig. 2. Al primo avvio volta selezionata questa opzione, comparirà la
di Eeschema comparirà il messaggio di errore ŎQHVWUDPRVWUDWDQHOODFig. 5.
riportato in Fig. 3, il quale ci avvisa che non Possiamo impostare le dimensioni e l’orien-
è stato trovato alcuno schema elettrico all’in- tamento del foglio agendo sui controlli “Di-
terno del progetto, il che è del tutto normale mensioni” ed “Orientamento”, posti sulla
quando si crea un nuovo
progetto vuoto. Possiamo
quindi ignorare il messag-
gio e fare clic sul pulsante
“OK” per proseguire.
A questo punto ci trovere-
mo di fronte l’interfaccia
principale di Eeschema,
riportata, con la descrizio-
ne dei suoi componenti,
in Fig. 4. L’interfaccia è FIG. 2
composta dai seguenti Avvio di
componenti. Eeschema.
• Workspace: è il foglio
di lavoro all’interno del
quale viene sviluppa-
to lo schema elettrico.
Eeschema posiziona
automaticamente un
cartiglio, che può essere
personalizzato.
• Tool Bar: è la barra degli
FIG. 3 - Messaggio d’errore iniziale.

116 Aprile 2014 ~ Elettronica In


SDUWHVLQLVWUDGHOODŎQHVWUDHGLQVHULUH
i dati del cartiglio sulla destra (Revi-
sione, Titolo progetto, Azienda, ecc.).
Selezioniamo A4 come dimensione ed
orientamento orizzontale. Nell’esempio
è stato inserito il numero di revisione e
“Esempio_1” come titolo ed “Elettronica
In” come azienda (compagnia).
Vediamo adesso come inserire dei
componenti all’interno dello schematic
design e come connetterli tra di loro,
con un semplice esempio: realizziamo lo
schema di un regolatore serie a 5V, ba-
sato su un LM7805. Per prima cosa po-
sizioniamo i componenti, tralasciando
momentaneamente le connessioni. Dalla
Component Bar selezioniamo lo stru- FIG. 4
pulsante “Cerca per parola chiave”: si aprirà Interfaccia
mento “Inserisci Componente” e clicchiamo
principale di
con il mouse all’interno dell’area di lavoro, XQĬXOWHULRUHŎQHVWUDFRQWXWWHOHDOWHUQDWLYHFKH
Eeschema.
in modo da poter scegliere i componenti da coincidono con i parametri di ricerca impo-
posizionare all’interno delle librerie. A questo stati, come illustrato in Fig. 7. Ora clicchiamo
punto possiamo cercare il componente che ci sul pulsante “OK” per inserire il componente
interessa, sia esplorando le librerie (selezionan- all’interno del workspace: Eeschema posizione-
do l’opzione “Visualizzatore Librerie” o “Sele- rà il simbolo elettrico del regolatore all’interno
ziona Componente”), sia utilizzando la funzio- dell’area di lavoro, come illustrato in Fig. 8.
ne di ricerca componente integrata. Scegliamo In maniera simile a quanto fatto in precedenza,
quest’ultima opzione e inseriamo la stringa posizioniamo adesso due condensatori, che
“LM7805” all’interno della textbox “Nome”, possono essere trovati all’interno delle librerie
come illustrato in Fig. 6. Per ricercare il compo- componenti usando la parola chiave “C” (per
nente all’interno delle librerie, facciamo clic sul Capacitor), ai due lati del regolatore (Fig. 9).

FIG. 5
Impostazione
pagina.

Elettronica In ~ Aprile 2014 117


FIG. 6
Finestra di
selezione del
componente.

magica. Dopo aver selezionato il tool di anno-


WD]LRQHVLSUHVHQWHU¡ODŎQHVWUDGLFig. 12.
È possibile selezionare una serie di opzioni,
come l’ordine di annotazione, se mantene-
re eventuali annotazioni esistenti, ecc. Noi
selezioniamo solo l’opzione “Chiudi automa-
WLFDPHQWHODŎQHVWUDįHSURVHJXLDPRFOLFFDQGR
Ora passiamo all’inserimento dei riferimenti VXOSXOVDQWHĮ$QQRWD]LRQHį&RPSDULU¡XQDŎ-
di tensione. Dalla Tool Bar selezioniamo lo nestra di conferma, dopo la quale i componenti
strumento “Inserisci Alimentazione”, che si sullo schema verranno nominati. Se tutto è
trova proprio al di sotto dello strumento usato stato eseguito correttamente, dovreste ottenere
in precedenza. Facciamo clic sul workspace, XQDŎQHVWUDFRPHTXHOODGLFig. 13.
DOORUFKªVLDSULU¡XQDŎQHVWUDGLGLDORJRVLPLOH Chiaramente è anche possibile eseguire le an-
a quella usata per la ricerca dei componenti, QRWD]LRQLPDQXDOPHQWHRPRGLŎFDUHDQQRWD-
ma con meno voci; qui selezioniamo l’opzione zioni eseguite, o, ancora, eseguire annotazioni
“Selezione Componente”, per visualizzare parziali. Vedremo più avanti, durante il resto
l’elenco dei simboli disponibili (che vedete in del corso, come eseguire anche queste opera-
Fig. 10). zioni.
Dall’elenco dei riferimenti di tensione sele- Ora che ogni componente è correttamente no-
zioniamo Vdd, +5V e GND, e posizioniamoli minato, possiamo passare all’inserimento delle
all’interno dello schema elettrico, come illu- connessioni. In KiCad esistono vari strumenti
strato in Fig. 11. utilizzati per inserire le connessioni all’interno
Ora che abbiamo i componenti posizionati cor- GHOORVFKHPDHOHWWULFR‰SRVVLELOHLQVHULUHŎOL
rettamente possiamo nominarli: in KiCad que- singoli, bus, giunzioni, elementi di connessioni
sta procedura è denominata “Annotazione” ed WUDŎORHEXVHFF8QGHWWDJOLRGHLYDULVWUX-
esiste un tool apposito per eseguirla automa- menti utilizzabili per le connessioni e la loro
ticamente. Il tool da utilizzare è “Annotazione posizione all’interno della Tool Bar è riportato
Componente”, presente sulla parte destra della in Fig. 14.
Project Bar (e presente anche sotto Strumenti/ Selezioniamo lo strumento “Inserisci Filo” e
Annota Schema), con l’icona rappresentante il colleghiamo i terminali dei componenti nel
simbolo di un componente ed una bacchetta seguente modo:

FIG. 7
Ricerca del componente
LM7805.

FIG. 8 - Inserimento del componente all’interno del workspace.

118 Aprile 2014 ~ Elettronica In


FIG. 9 - Inserimento dei condensatori.

FIG. 10 - Elenco dei FIG. 12 - Annotazione


riferimenti di tensione. schema.

- colleghiamo il riferimento Vdd al terminale


alto del condensatore C1 ed al terminale Vi
di U1;
- colleghiamo il riferimento a 5V al terminale
alto di C2 ed al terminale Vu di U1;
- colleghiamo i terminali bassi di C1 e C2 al
terminale GND di U1 ed al riferimento GND.

Per effettuare le connessioni clicchiamo


(mantenendo premuto il pulsante sinistro del
mouse) per posizionare un capo della con-
nessione (tipicamente sul terminale da cui
vogliamo partire), poi trasciniamo il puntatore
sino al punto di arrivo (Eeschema si occuperà
automaticamente di creare eventuali angoli) e
clicchiamo di nuovo per posizionare il secondo
FIG. 11 - Posizionamento dei riferimenti di tensione.
terminale.
Se il punto di arrivo o di partenza coincide con
Bar. Selezionando questa opzione si aprirà
una linea già esistente, l’editor inserirà auto-
ODŎQHVWUDULSRUWDWDLQFig. 16, che permette
maticamente una giunzione. Se tutto è stato
di analizzare tutti i componenti delle varie
eseguito correttamente, il risultato dovrebbe FIG. 13
librerie. Oltre alle librerie di base, KiCad offre
essere simile a quello riportato in Fig. 15. Schema
la possibilità di caricare librerie aggiuntive (è
annotato.
GESTIONE DELLE LIBRERIE
Come avevamo già detto nella prima pun-
WDWDGHOFRUVRGHVFULYHQGRLOZRUNŏRZGL
un progetto KiCad, e come abbiamo potuto
notare anche nel precedente esempio, uno
degli elementi fondamentali nello sviluppo di
una scheda elettronica tramite strumenti CAD
è rappresentato dal fatto di poter disporre di
una ricca dotazione di librerie di componenti.
Come abbiamo visto, KiCad dispone di una
serie di librerie di base, contenenti i componen-
ti più comunemente utilizzati in un progetto
elettronico. Le librerie preinstallate in KiCad
possono essere esplorate selezionando l’op-
zione “Esplora Librerie” accessibile dal menu
“Strumenti” presente all’interno della Project

Elettronica In ~ Aprile 2014 119


FIG. 14
Dettaglio degli zioniamoci sul workspace. Immaginiamo di
strumenti di voler aggiungere al circuito precedentemente
interconnessione. impostato un PIC12F510, un minuscolo ma po-
tente microcontrollore, la cui pinout è riportata
in Fig. 17.
Il componente non compare tra le librerie
base di KiCad, quindi è necessario realizzarlo
tramite l’editor di componenti integrato. Per
presente un gestore dei path di caricamento attivare l’editor è possibile selezionare l’opzio-
delle librerie, presente sotto Opzioni/Librerie), ne Strumenti/Editor Librerie, oppure cliccare
ed esistono tool che permettono di convertire sull’icona presente all’interno della Project
librerie di altri ECAD (come ad esempio Eagle) Bar. L’editor si presenta come in Fig. 18. Per
in librerie compatibili con KiCad. creare un nuovo componente, la prima cosa da
Ciononostante, il componente che serve può fare è selezionare la libreria di lavoro. Selezio-
non essere presente, oppure chi usa il CAD niamo quindi la libreria “Microchip” tramite
può preferire una gestione proprietaria delle l’opzione “Seleziona Libreria Corrente” e poi
librerie, ad esempio per questioni legate al selezioniamo l’opzione “Editore Librerie”.
formato dell’output degli schemi. Per venire &RPSDULU¡ODŎQHVWUDGLFig. 19, che ci permet-
incontro a queste necessità KiCad mette a te di nominare il componente e di selezionare
disposizione anche un potente editor di com- alcune opzioni. Inseriamo il nome del chip e
ponenti, che può essere utilizzato per generare proseguiamo.
la propria libreria personale di componenti. A questo punto possiamo iniziare a piazzare
Come abbiamo già fatto notare nella prima i pin, seguendo lo schema presente sul data-
puntata, in KiCad i componenti e i footprint sheet del microcontrollore. Per inserire un
sono due entità distinte, che vengono messe pin, bisogna selezionare l’opzione “Piedino
in relazione da un tool aggiuntivo (Cvpcb), Componente”, presente sotto il menu Inseri-
e quindi l’editor integrato in Eeschema è un sci o nella Toolbar a destra. Posizioniamo il
editor per gli schematici, mentre l’editor dei puntatore nell’area di lavoro e clicchiamo col
footprint è integrato in Pcbnew. WDVWRVLQLVWURGHOPRXVHDSSDULU¡ODŎQHVWUD
di Fig. 20, che consente di editare le proprie-
EDITOR DEI COMPONENTI tà del pin. Il primo piedino del PIC12F510 è
FIG. 15
Schema
Passiamo adesso all’analisi dell’editor di quello di alimentazione. Inseriamo quindi
elettrico con componenti integrato in Eeschema. Apriamo lo Vdd nel campo “Nome Piedino” e 1 come
connessioni. schema elettrico creato in precedenza e posi- QXPHURHFRQIHUPLDPR‰SRVVLELOHPRGLŎFDUH

FIG. 16 - Finestra Esplora Librerie.

120 Aprile 2014 ~ Elettronica In


attingere al lavoro di altri hobbisti e fornire un
contributo condividendo le proprie librerie,
nella migliore tradizione dell’open source.
FIG. 17 – Pinout del PIC12F510.
PROGETTO PRATICO: DEMOBOARD
PER PIC18 – SCHEMATIC DESIGN
Passiamo adesso alla presentazione del pro-
getto pratico che ci accompagnerà per il resto
del corso: progettiamo una demoboard per
PIC della serie 18F. Per prima cosa, come
GDFRQVXHWXGLQHWUDFFLDPROHVSHFLŎFKHGHO
nostro progetto, in modo da aver ben chiaro
cosa realizzare ed evitando uno sviluppo poco
organico.
In Fig. 23 è riportato lo schema a blocchi della
demoboard. Il micro scelto è un PIC18F4550,
che ha una ricca dotazione di periferiche ed è
dotato anche di un’interfaccia USB, la qua-
le permette di sperimentare applicazioni di
connettività con PC. Oltre all’interfaccia USB,
FIG. 18 - Editor delle librerie di Eeschema. si prevede di collegare al microcontrollore una
piccola rete I²C-Bus costituita da una memoria
EEPROM 24LC16B, un potenziometro digitale
anche altre opzioni, come l’orientamento le MCP4017 (con uscita collegata al canale ana-
GLPHQVLRQLOĬDVSHWWRJUDŎFRHFF/DŎQHVWUD logico AN1) ed un port expander MCP23008
presente in basso a sinistra mostra un’antepri- che pilota otto LED. Si prevede di collegare
PDGHOULVXOWDWRŎQDOHSHUPHWWHQGRGLDGDW- anche un sensore di temperatura SPI TC72. La
tare comodamente il pin alle nostre esigenze classica interfaccia RS232 completa la dotazio-
JUDŎFKH5LSHWLDPROĬRSHUD]LRQHSHULSLHGLQL ne delle periferiche di comunicazione. Dal lato
UHVWDQWL$OODŎQHGRYUHPPRRWWHQHUHTXDOFRVD analogico si prevede di collegare un poten-
di simile a quanto riportato in Fig. 21 LQŎJXUD ziometro analogico sull’ingresso AN0, mentre
è stato inserito anche il contorno del compo- come input digitale è stato previsto un tastie-
nente, tramite l’opzione Inserisci/Rettangolo, ULQRFRQFLQTXHSXOVDQWL,QŎQHVLSUHYHGHGL
presente sotto il menu Inserisci o nella comoda interfacciare un display LCD16x2. Per alimen-
Toolbar laterale).
A questo punto il componente è pronto per
essere salvato all’interno della libreria corrente,
operazione che può essere eseguita tramite
l’opzione File/Salva Libreria Corrente (pre-
sente anche sulla toolbar superiore). L’editor
mostrerà a video alcuni messaggi di conferma,
cliccate su OK e il componente verrà memo-
UL]]DWRVXOODOLEUHULDGLODYRUR3HUYHULŎFDUH
tornate su Eeschema e inserite un nuovo
componente, cercando all’interno della libreria
“Micrcohip”. Noterete che il componente è
adesso presente e può essere inserito (Fig. 22).
In questo modo possono essere creati tutti i
componenti desiderati ed è possibile costruirsi
la propria libreria personalizzata. Molti utenti
KiCad rendono disponibili le proprie librerie
tramite il sito del software, quindi è possibile FIG. 19 - Finestra Proprietà componente.

Elettronica In ~ Aprile 2014 121


FIG. 20 - Finestra Proprietà piedino. FIG. 22
Il compo-
nente è
presente
all’interno
della libreria
Microchip.

schemi elettrici, non ci soffermiamo su questo


punto, che vi lasciamo come esercitazione.
Iniziamo a costruire la sezione dello schema
relativa alla MCU, piazzando il PIC18F4550
che abbiamo appena creato, il circuito di
oscillazione (usiamo un quarzo da 4 MHz), il
circuito di reset e i condensatori di bypass e
del regolatore dell’interfaccia USB. Per il circu-
ito di oscillazione ci occorrono due condensa-
tori (“C”) e un quarzo (“Crystal”). Per il reset
occorrono un pulsante(“SW_PUSH”) ed una
FIG. 21 - Componente PIC12F510 creato e pronto UHVLVWHQ]D Į5į ,QŎQHLQVHULDPRQHOORVFKHPD
al salvataggio. altri due condensatori (Bypass e regolatore
USB).
tare il microcontrollore e le varie periferiche A questo punto dovremmo ottenere uno
connesse sarà possibile utilizzare sia la porta schema simile a quello di Fig. 24. Stavolta
USB che un regolatore LDO: la scelta si compie inseriamo anche i valori corretti ai componen-
con un jumper. ti, iniziando dai condensatori del circuito di
Passiamo adesso all’implementazione vera e oscillazione. Cliccando due volte nella zona
propria, cominciando dallo schema: il pri- centrale del componente che vogliamo valo-
mo passo per la realizzazione dello schema rizzare (oppure facendo clic con il pulsante
elettrico è la creazione dei componenti che GHVWURHLPSDUWHQGRLOFRPDQGR0RGLŎFD
non risultano presenti all’interno delle librerie. &RPSRQHQWH0RGLŎFD VLDSULU¡ODŎQHVWUD
Decidiamo quindi di realizzare, tramite l’uso riportata in Fig. 25. Selezioniamo il campo
dell’editor dei componenti di Eeschema, i com- valore dal gruppo “Campi” e inseriamo 27pF
ponenti mancanti. Creiamo quindi, all’interno all’interno del campo “Valore” in basso a
di una nuova libreria, i seguenti componenti: GHVWUDFRPHLOOXVWUDWRLQŎJXUD&RQWLQXLDPR
• PIC18F4550; per tutti i componenti inseriti (ad eccezione del
• 24LC16B; micro), impostando:
• MCP4018; • C Oscillatore: 27pF, 27pF
• MCP23008; • Quarzo: 4MHz
• TC72. • Switch: Tactile
• R Reset: 4,7k
Avendo già descritto l’uso dell’editor di • C USB: 330nF

122 Aprile 2014 ~ Elettronica In


FIG. 23 - Schema a blocchi della demoboard. FIG. 24 - Schema della sezione MCU.

FIG. 25
Finestra Proprietà
componente.

• C Bypass: 100nF to il progetto pratico. Nella prossima puntata


continueremo la descrizione dell’ambiente,
A questo punto inseriamo i riferimenti per completando la descrizione di Eeschema e
J
l’alimentazione e facciamo il routing dei ter- introducendo l’uso di Cvpcb.
minali. Non colleghiamo ancora la circuiteria
attorno al microcontrollore, perché lo faremo
nella prossima puntata usando le etichette: tale
metodica fornisce un design più omogeneo e
leggibile e costituisce una vera e propria de-
sign rule. Il risultato del nostro routing parzia-
le è visibile in Fig. 26.
Per il momento ci fermiamo qui. In questa
SXQWDWDDEELDPRSUHVRFRQŎGHQ]DFRQ(H-
schema, descritto l’interfaccia e mostrato un
semplice esempio di routing ed annotazione
componenti. Abbiamo inoltre presentato l’edi-
tor di librerie integrato in Eeschema e introdot-
FIG. 26 - Routing parziale della sezione MCU dello schema.

Elettronica In ~ Aprile 2014 123


e.
ch
o gi
l
c no
te
ità

e
M
Proseguiamo il
nostro viaggio alla
scoperta di KiCad, un
valido strumento di
progettazione CAD
elettronico open
source, continuando
la descrizione di
Eeschema, descrivendo
l’uso delle etichette,
e introducendo
l’uso di Cvpcb.
Terza puntata.
di Francesco Ficili e Vincenzo Germano

3
ella puntata precedente abbiamo presen- uno schema elettrico possono essere anche molto
N tato Eeschema, l’editor di schemi elettrici
di KiCad, analizzandone l’interfaccia e l’editor
LQWULFDWHHGLGLIŎFLOLVVLPDOHWWXUD(FFRSHUFKªPROWL
('$6PHWWRQRDGLVSRVL]LRQHGHJOLVWUXPHQWLSHU
dei componenti, che ci permette di creare i nostri ĮVHPSOLŎFDUHįOHFRQQHVVLRQLXQRGHLTXDOL©FRVWL-
componenti personalizzati o editare le librerie WXLWRGDOOHĮHWLFKHWWHį8QĬHWLFKHWWDUDSSUHVHQWDXQ
HVLVWHQWL,QŎQHDEELDPRSUHVHQWDWRLOSURJHWWR punto di connessione all’interno di uno schema; due
pratico che svilupperemo durante il corso: una o più etichette aventi lo stesso nome rappresentano
demoboard per il microcontrollore PIC18F4550. XQQRGR'LFRQVHJXHQ]DXQDFRSSLDGLHWLFKHWWH
In questa terza puntata consolidiamo le nostre co- può essere utilizzata per connettere due punti distan-
noscenze su Eeschema e introduciamo l’uso di un WLDOOĬLQWHUQRGLXQFLUFXLWRVHQ]DELVRJQRGLXWLOL]-
altro componente fondamentale di KiCad: Cvpcb. ]DUHXQFROOHJDPHQWRGLUHWWR(HVFKHPDGLVSRQHGL
diversi tipi di etichette, presenti sempre all’interno
USO DELLE ETICHETTE GHOODWRROEDULPPHGLDWDPHQWHDOGLVRWWRGHJOLVWUX-
Come sappiamo, le connessioni all’interno di PHQWLSHULOZLULQJHVDPLQDWLQHOODSXQWDWDSUHFH-

Elettronica In ~ Maggio / Giugno 2014 131


FIG. 1 - Tipologie di etichette presenti in Eeschema.
FIG. 2 - PIC12F510 e LED.

dente. In Fig. 1 sono riassunti i tipi di etichette


disponibili in Eeschema.
Nel corso di questa puntata prenderemo in
considerazione solo esempi di uso di etichette
locali, in quanto non stiamo facendo uso di
IRJOLJHUDUFKLFLPDVLFRQVLGHULFKHHVLVWRQR
anche etichette più avanzate.
Vediamo un esempio di uso di etichetta locale,
ULSUHQGHQGROĬXOWLPRHVHPSLRGLSURJHWWR
utilizzato nella puntata precedente, nel quale
avevamo realizzato lo schema con PIC12F510.
,PPDJLQLDPRGLGRYHUDJJLXQJHUHXQ/(' FIG. 3 - Finestra di dialogo “Proprietà Etichetta”.
DTXHVWRFLUFXLWRFROOHJDWRDGXQ*3,2GHO
PIC, utilizzando un’etichetta. Per prima cosa
SRVL]LRQLDPRXQ/(' GHYLFH/(' HGXQD FROOHJDWRDOOĬDQRGRGHO/('VHQ]DFKHFLVLDXQ
UHVLVWHQ]D GHYLFH5 DOOĬLQWHUQRGHOQRVWUR ŎORFKHFROOHJDGLUHWWDPHQWHTXHVWLGXHWHUPL-
schema, che dovrebbe, a questo punto, appa- QDOLVHPSOLŎFDQGRORVFKHPD
rire come in Fig. 2 DEELDPRDQFKHLQVHULWRJOL
estremi del circuito di alimentazione). A questo TOOLS DI DISEGNO, TESTO ED IMMAGINE
punto selezioniamo, dalla toolbar, lo strumen- (VDPLQLDPRDGHVVRJOLXOWLPLVWUXPHQWLGHOOD
WRĮ(WLFKHWWD/RFDOHįHSRVL]LRQLDPRQHXQD toolbar, che ci permettono di abbellire e rende-
DOOĬLQWHUQRGHOZRUNVSDFH6LDSULU¡ODŎQHVWUD re più professionale il nostro schema. Si tratta
GLGLDORJRULSRUWDWDLQFig 3, che ci permette GHJOLVWUXPHQWLGLLQVHULPHQWROLQHHSROLJRQL
di editare le proprietà dell’etichetta appe- WHVWRHGLPPDJLQHULHSLORJDWLLQFig. 5.
QDLQVHULWD,QVHULDPRĮ*3įDOOĬLQWHUQRGHO Facciamo un esempio di utilizzo di questi
FDPSRĮ7HVWRįHFOLFFKLDPRVXOWDVWRĮ2.įSHU strumenti, sfruttando sempre l’esempio pre-
SURVHJXLUH&ROOHJKLDPROĬHWLFKHWWDDSSHQDLQ- cedente, che nel frattempo abbiamo arricchito,
FIG. 4
VHULWDQHOZRUNVSDFHDOSLQ *3$13*'  LQVHUHQGRXQXOWHULRUH/('LOFLUFXLWRGLRVFLO-
Collega-
mento
GHO3,&)HGLQVHULDPRQHXQDDQDORJD lazione ed un pulsante di reset. Per rendere
tramite FROOHJDWDDOOĬDQRGRGHO/('FRPHLOOXVWUDWRLQ SLºOHJJLELOHORVFKHPDSRVVLDPRVXGGLYLGHUH
etichette Fig. 4. lo stesso in varie sezioni (in questo caso ne
locali. In questo modo il pin 7 del PIC12F510 risulterà LQGLYLGXLDPRTXDWWUR0LFURFRQWUROOHU/('V
Switch, Oscillator&Reset), che possiamo deli-
mitare all’interno di riquadri usando lo
VWUXPHQWRĮ,QVHULVFLOLQHDį
8WLOL]]DQGRORVWUXPHQWRĮ,QVHULVFLWHVWRį
SRVVLDPRQRPLQDUHLVLQJROLULTXDGULFRPH
evidenziato dall’esempio di Fig. 6,QŎQH
PHGLDQWHORVWUXPHQWRĮ,QVHULVFL,PPDJLQHį
SRVVLDPRDJJLXQJHUHLOORJRGL)XWXUD(OHWWUR-
nica all’interno del nostro schema. Il risultato
ŎQDOH©YLVLELOHLQFig. 7.
Notate che questi strumenti non sono semplici
strumenti di abbellimento, ma possono essere
HIŎFDFHPHQWHXWLOL]]DWLSHUUHQGHUHORVFKHPD

132 Maggio / Giugno 2014 ~ Elettronica In


FIG. 5 - Strumenti di disegno presenti
in Eeschema.

SLºOHJJLELOHHSHUDXPHQWDUQHLOFRQWHQXWR
informativo.

ESPORTAZIONE DELLA NETLIST


A questo punto abbiamo fornito le nozioni base
per la realizzazione di uno schema elettrico.
FIG. 6 - Riquadro “Microcontroller.”
Passiamo al passo successivo, ossia la realizza-
zione della netlist e la successiva associazione
componente-modulo. Prima di tutto vediamo SXQWDWDSUHFHGHQWHVHOH]LRQLDPRLOWRROĮ*H-
come creare una netlist, prendendo come esem- QHUDOLVWDFRPSRQHQWLGHOORVFKHPDįSUHVHQWH
pio lo schema appena realizzato. Dopo aver all’interno della Project Bar subito prima del
HVHJXLWROĬDQQRWD]LRQHFRPHLOOXVWUDWRQHOOD WRROSHUODJHQHUD]LRQHGHOOD%20HFRQWUDVVH-

FIG. 7 - Schema finale del progetto di esempio.

Elettronica In ~ Maggio / Giugno 2014 133


FIG. 8
Icona del tool per la
generazione
della netlist.

FIG. 10
Collegamento
a Cvpcb
da Eeschema.

FIG. 9 - Finestra di generazione della netlist.

FIG. 11 - Finestra di errore di Cvpcb.

JQDWRGDOVLPERORGLXQDFKLDYHLQJOHVHHGDOOD ASSOCIAZIONE
VFULWWDQHW IRUPDWRGHOŎOHFKHYHUU¡JHQHUD- COMPONENTE-MODULO: CVPCB
to), come evidenziato in Fig. 8. Passiamo ora alla descrizione di Cvpcb, il tool
In questo momento ci troviamo, all’interno KiCad che ci permette di effettuare l’associa-
del ciclo di sviluppo di KiCad, nella zona di zione tra schema del componente e modulo.
interfaccia tra Eeschema e Pcbnew. Cvpcb può essere lanciato dalla toolbar di Ki-
8QDYROWDVHOH]LRQDWRLOWRROVLDSULU¡ODŎQHVWUD cad, oppure anche dall’interfaccia di Eeschema.
di Fig. 9GDOODTXDOH©SRVVLELOHJHQHUDUHODQHW- ,Q(HVFKHPDLOFROOHJDPHQWRD&YSFE©SUHVHQ-
OLVWSHU3FEQHZPD©DQFKHSRVVLELOHJHQHUDUH te all’interno della parte in alto a destra della
XQŎOHGLQHWOLVWFRPSDWLELOHFRQDOWUL('$6 project bar, come illustrato in Fig. 10.
come ad esempio Orcad, Cadstar e Spice. È 8QDYROWDODQFLDWRLOWRRO.L&DGJHQHUHU¡XQD
LQROWUHSRVVLELOHLQVWDOODUHDOWULSOXJLQSHU ŎQHVWUDGLHUURUHODTXDOHFLLQIRUPDFKHQRQ
JHQHUDUHDOWULIRUPDWL
1RLFLOLPLWHUHPRDOODGHVFUL]LRQHGHOODJHQHUD-
zione della netlist per Pcbnew; lasciamo a voi
OĬHVSORUD]LRQHGLDOWUHSRVVLELOLW¡'DOODŎQHVWUD
di Fig. 9©SRVVLELOHVFHJOLHUHGHOOHRS]LRQLSHU
LOIRUPDWR6HOH]LRQLDPRĮIRUPDWRSUHGHŎQLWRį
HĮIRUPDWRDYDQ]DWRįHFOLFFKLDPRVXOOĬRS]LRQH
ĮVDOYDOLVWDFRPSRQHQWLį
$TXHVWRSXQWRVLDSULU¡XQDŎQHVWUDGLGLDOR-
JRGL:LQGRZVFOLFFKLDPRVX6DOYD LOQRPH
SUHGHŎQLWR©LOQRPHGHOSURJHWWRFRQHVWHQVLR-
QHQHW SHUSURVHJXLUH
$TXHVWRSXQWRODQRVWUDQHWOLVW©VWDWDVDOYD-
WDHG©SRVVLELOHDSULUODWUDPLWH&YSFESHU
DVVRFLDUHDJOLVFKHPLLOIRRWSULQW1HOFLFORGL
sviluppo della scheda, il compito di Eesche-
PD©WHRULFDPHQWHŎQLWRDPHQRGLHYHQWXDOL
backward annotations che richiedano di tornare
LQGLHWURDOOĬHGLWRUGHJOLVFKHPDWLFLSHUPRGLŎ-
FDUHTXDOFRVDHJHQHUDUHXQDQXRYDQHWOLVW FIG. 12 - Finestra di generazione della netlist.

134 Maggio / Giugno 2014 ~ Elettronica In


FIG. 13 - Risultato finale dell’associazione. FIG. 14 - Progetto della demoboard per PIC18F4550.

©SUHVHQWHXQŎOHFPSDVVRFLDELOHDOSURJHWWR che desideriamo associare e quest’ultimo appa-


(Fig. 11). ULU¡QHOODĮ&RPSRQHQW:LQGRZįLQFRUULVSRQ-
&RPHJL¡YLVWRDQFKHSHU(HVFKHPDTXHVWR© GHQ]DGHOODULJDGHOFRPSRQHQWHFKHVWLDPR
QRUPDOHTXDQGRQRQ©VWDWDDQFRUDVDOYDWDXQD associando. Continuiamo l’associazione dei
lista componenti, una volta effettuato il primo componenti e stabiliamo che:
VDOYDWDJJLROĬHUURUHVFRPSDULU¡ - Condensatori: C1;
&OLFFKLDPRVXĮ2NįSHUSURVHJXLUHHFLWURYH- /('/('PP
UHPRGLIURQWHODŎQHVWUDSULQFLSDOHGL&YSFE - Resistenze: R4;
$YHQGRJL¡JHQHUDWRODQHWOLVW.L&DGDVVRFHU¡ 6ZLWFK6:B3XVKB6PDOO
DXWRPDWLFDPHQWHLOŎOHDOOĬLVWDQ]DGL&YSFE 3,&',3BB(//
appena lanciata, così vedremo direttamente 4XDU]R+&89
ODOLVWDFRPSRQHQWLGHOQRVWURSURJHWWRDFXL
occorre associare i moduli (o footprint). In Fig. TABELLA 1 - Indirizzi I²C dei dispositivi componenti la rete.
12©ULSRUWDWDOĬLQWHUIDFFLDGL&YSFE
&RPHVLYHGHOĬLQWHUIDFFLD©FRVWLWXLWDGDLFRP-
ponenti qui elencati e descritti:
 7RRO%DU©ODEDUUDGHJOLVWUXPHQWL'DTXL
©SRVVLELOHDSULUHXQDQHWOLVWVDOYDUHXQŎOH
di associazione (.cmp), esaminare i footprint,
HVHJXLUHXQĬDVVRFLD]LRQHDXWRPDWLFDHFF ,OULVXOWDWRŎQDOHGRYUHEEHHVVHUHFRPHTXHOOR
 &RPSRQHQW:LQGRZ©ODŎQHVWUDGHLFRP- visibile in Fig. 138QDYROWDFRPSOHWDWDOĬDVVR-
SRQHQWL,QTXHVWDŎQHVWUDVRQRHOHQFDWLWXWWL FLD]LRQHSHUVDOYDUHLOQRVWURŎOHFPSLPSDU-
LFRPSRQHQWLGHOODQHWOLVWFKH©VWDWDFDULFDWD WLDPRLOFRPDQGRĮ)LOH6DOYDFRQ1RPHĴį
 )RRWSULQW:LQGRZ©ODŎQHVWUDGHLIRRW-
SULQW'DTXHVWDŎQHVWUD©SRVVLELOHVHOH]LR- PROGETTO PRATICO: GENERAZIONE
nare i footprint da associare ai componenti DELLA NETLIST ED ASSOCIAZIONE
SUHVHQWLVXOOD&RPSRQHQW:LQGRZ Con le nuove conoscenze acquisite in questa

$TXHVWRSXQWR©SRVVLELOHDVVRFLDUHDGRJQL
componente un footprint. Iniziamo selezio-
nando il primo componente, ossia C1 (uno
dei condensatori del circuito di oscillazione).
9RJOLDPRDVVRFLDUHDTXHVWRFRPSRQHQWHXQ
condensatore ceramico con case tipo THT.
(VLVWRQRYDULIRRWSULQWDGDWWLVFHJOLDPRGL
XWLOL]]DUHLOIRRWSULQW&'D&YSFE©SRVVLELOH
visualizzare i footprint selezionando il tool
Į0RVWUDLPSURQWDVHOH]LRQDWDįSUHVHQWHVXOOD
toolbar. Per effettuare l’associazione, facciamo
doppio clic (o premiamo Invio) sul footprint FIG. 15 - Sezione microcontrollore completata.

Elettronica In ~ Maggio / Giugno 2014 135


FIG. 16 - Sezione microcontrollore completata.

SXQWDWDSRVVLDPRWRUQDUHDOQRVWURSURJHWWR A questo punto passiamo alla realizzazione


pratico e completare lo schema elettrico, che della rete I²C-Bus, che comprende la memoria
avevamo lasciato al punto illustrato in Fig. 14. ((3520/&%LOSRWHQ]LRPHWURGLJLWDOH
8VDQGROHHWLFKHWWHFRPSOHWLDPRTXHVWD 0&3HLOSRUWH[SDQGHU0&3$EELD-
SRU]LRQHGLFLUFXLWR&ROOHJKLDPRLOFLUFXLWR PRUHDOL]]DWRJOLVFKHPLGHLFRPSRQHQWLQHOOD
GLRVFLOOD]LRQHLOFRQGHQVDWRUHGDQ)SHU puntata precedente, quindi possiamo posizio-
OĬ86%HGLOFLUFXLWRGLUHVHW QDUOLVXOZRUNVSDFHHGHIIHWWXDUHLVHJXHQWL
Il condensatore da 100 nF va semplicemente FROOHJDPHQWL
FROOHJDWRD9GGLQTXDQWRIXQJHVHPSOLFHPHQ- - inserire un condensatore di bypass da 100 nF
WHGDFLUFXLWRGLE\SDVV,OFLUFXLWRULVXOWDQWH© SHURJQLLQWHJUDWR
riportato in Fig. 15. FROOHJDUHLWHUPLQDOL6&$HG6&/GHOEXV,s&
(usando etichette locali);
FROOHJDUHGXHUHVLVWHQ]HGLSXOOXSSHUOĬ,s&
da 4,7k;
FROOHJDUHRWWR/('FRQUHODWLYHUHVLVWHQ]HDO
port expander.

*OLLQGLUL]]L,s&GHLWUHGLVSRVLWLYLVODYHVRQR
riportati nella Tabella 1.
,QQHVVXQFDVRFĬ©FRQŏLWWRGLLQGLUL]]RGL
FRQVHJXHQ]DSRVVLDPRFRQQHWWHUHDPDVVDWXWWL
LSLHGLQLGLFRQŎJXUD]LRQHGHOOĬLQGLUL]]RVH
SUHVHQWLVXLGLVSRVLWLYL6HWXWWRYLHQHHVHJXL-
FIG. 17 - Connessione USB. to correttamente, il risultato dovrebbe essere

FIG. 18 - Potenziometro analogico, Keypad ed SPI.

136 Maggio / Giugno 2014 ~ Elettronica In


FIG. 19 – Display LCD. FIG. 20 – Interfaccia RS232.

simile a quanto riportato in Fig. 16. UHJRODWRUHSHULOFRQWUDVWR,QŎQHFROOHJKLDPR


2UDSRVVLDPRSDVVDUHDOFROOHJDPHQWR86% LOSLQ%DFNOLJKWB$QDG5&LQPRGRGDSRWHU
LQVHULDPRXQFRQQHWWRUH86%HGXH/(' FRQ controllare la retroilluminazione direttamente
relative resistenze), che utilizzeremo, nella GDO3,&$OODŎQHGLWXWWRGRYUHVWHRWWHQHUH
nostra demoboard, come indicatori di status uno schema simile a quello riportato in Fig. 19.
GHOOLQN&ROOHJKLDPRLOFRQQHWWRUH86%DJOL Passiamo adesso alla sezione d’interfacciamen-
HVWUHPLGHOOĬDOLPHQWD]LRQHHGDLSLQ''GHO WR56VHQ]DVWDUHDGHVFULYHUHLSDVVDJJL
3,&)TXLQGLLGXH/('DLSLQ5(HG per implementarla; diciamo semplicemente
RE2 (Fig. 17). FKH©EDVDWDVXOFODVVLFRWUDQVFHLYHULQWHJUDWR
,QVHULDPRDGHVVRLOSRWHQ]LRPHWURDQDORJLFR 0$;GHOOD0D[LPXQFRPSRQHQWHJL¡
il keypad ed il sensore di temperatura SPI compreso nelle librerie di KiCad. Non ci soffer-
7& ,OFROOHJDPHQWRGHOSRWHQ]LRPHWUR© PLDPRQHOGHWWDJOLRGHOFRUULVSRQGHQWHVFKH-
semplice, inseriamo il componente “Poten- PDHOHWWULFRLQTXDQWRLOFLUFXLWRGHO0$;©
WLRPHWHUįSUHVHQWHDOOĬLQWHUQRGHOOHOLEUHULHGL noto e utilizzato ormai da molti anni. Riportia-
.L&DGHFROOHJKLDPRLSLQHDJOLHVWUHPLGL mo solamente lo schema completo (Fig. 20).
DOLPHQWD]LRQHHGLOSLQDOOĬLQJUHVVRDQDORJLFR ,QŎQHHVDPLQLDPRLOFLUFXLWRGHOUHJRODWRUHGL
$13HUTXDQWRULJXDUGDLONH\SDGLQVHULDPR tensione e l’interfaccia ICSP utile alla pro-
SXOVDQWLHFROOHJKLDPROLGLUHWWDPHQWHWUD
LOULIHULPHQWRGLDOLPHQWD]LRQHHJOLLQJUHVVL
5%5%/DSRUWD%GHO3,&)KDLQWH-
JUDWDXQDUHWHGLSXOOXSUHVLVWLYLTXLQGLQRQ©
QHFHVVDULRLQVHULUHSXOOXSHVWHUQL,QŎQHSHU
TXDQWRULJXDUGDLOVHQVRUH63,7&FROOHJKLD-
mo i tre pin della SPI e il piedino di Chip Select
(CS) ai pin RD4:RD7 (Fig. 18).
$GHVVRLQVHULHPRLOGLVSOD\/&',QTXHVWR
FDVR©VWDWRVFHOWRXQGLVSOD\/&'DOIDQXPH-
ULFR[FRQLQWHUIDFFLD+' +LWDFKL
FRPSDWLELOH 'DWRFKHQRQFLLQWHUHVVDJHVWLUH
LOGLVSOD\LQOHWWXUDPHWWHUHPRŎVVRDPDV-
VDLOSLQ5:,QROWUHSHUULVSDUPLDUHOLQHH
GDWLFRPDQGLDPRLOGLVSOD\LQFRQŎJXUD]LRQH
ĮQLEEOHįXVDQGRTXDWWURLQYHFHGLRWWROLQHH
GDWL4XLQGLVDU¡VXIŎFLHQWHFROOHJDUHLSLQ56 FIG. 21 – Regolatore
ed EN rispettivamente ad RA5 ed RE0 e i pin di tensione e interfaccia ICSP.
''ULVSHWWLYDPHQWHDG5'5',QŎQHFRO-
OHJKLDPRLSLQGLDOLPHQWD]LRQHHGLOSLQ&RQW
DGXQSRWHQ]LRPHWURDQDORJLFRFKHIXQJHU¡GD

Elettronica In ~ Maggio / Giugno 2014 137


FIG. 22 - Schema complessivo.

JUDPPD]LRQHLQFLUFXLWGHOODVFKHGD&RPH della netlist, come visto in precedenza. Il risul-


UHJRODWRUH©VWDWRVFHOWRXQ/0FROOHJDWR WDWRŎQDOH©UDSSUHVHQWDWRLQFig. 22.
alla classica rete di condensatori che evita l’au- Se volessimo ottenere uno schema in formato
WRVFLOOD]LRQH,QROWUH©VWDWRSUHYLVWRXQ/(' PDF, KiCad mette a disposizione un tracciato-
FKHLQGLFDODSUHVHQ]DGHOODWHQVLRQHUHJRODUH re che stampa lo schema in diversi formati. Per
sulla scheda. Prevediamo anche un jumper per ODQFLDUORELVRJQDVHOH]LRQDUHLQ(HVFKHPD
VHOH]LRQDUHODVRUJHQWHGLDOLPHQWD]LRQHWUDLO l’opzione Tracciatore, presente sotto il menu
UHJRODWRUHHODSRUWD86%,OFLUFXLWRFRPSOHVVL- File8QDYROWDVHOH]LRQDWDOĬRS]LRQHVLDSULU¡OD
YR©ULSRUWDWRLQFig. 21. ŎQHVWUDGLFig. 23.
/RVFKHPDGHOODQRVWUDGHPRERDUGDTXHVWR &RPHVLYHGHVLSRVVRQRJHQHUDUHGLYHUVLIRU-
SXQWR©FRPSOHWRHSRVVLDPRSURFHGHUHFRQ PDWL 3RVWVFULSW+3*/';) 6HOH]LRQLDPR
OĬDQQRWD]LRQHGHOORVFKHPDHODJHQHUD]LRQH PDF, Bianco e Nero e Traccia Squadratura e
FOLFFKLDPRVXOSXOVDQWHĮ7UDFFLD3DJLQD&RU-
UHQWHį(HVFKHPDJHQHUHU¡XQ3')FRQWHQHQWH
lo schema corrente (molto utile per la docu-
PHQWD]LRQH 6LDPRDUULYDWLDOODŎQHGLTXHVWD
terza puntata, nella quale abbiamo completato
ODQRVWUDDQDOLVLGL(HVFKHPDHSUHVRFRQŎGHQ-
za con Cvpcb. Abbiamo inoltre completato lo
VFKHPDGHOSURJHWWRSUDWLFRGHOFRUVRHJHQHUD-
to la netlist.
1HOODSURVVLPDSXQWDWDHVHJXLUHPROĬDVVR-
ciazione tra componenti e footprint della
demoboard ed introdurremo l’editor per i
layout di KiCad, Pcbnew, che ci servirà per
J
FIG. 23 - Tracciatore di schemi elettrici. UHDOL]]DUHORVEURJOLRGHOQRVWURSURJHWWR

138 Maggio / Giugno 2014 ~ Elettronica In


Abbiamo ormai preso
dimestichezza con
Kicad, la suite di
design elettronico
oggetto di questo
corso; aumentiamo
le nostre conoscenze
iniziando ad analizzare
Pcbnew, l’editor per
i layout della suite
e proseguendo lo
sviluppo del nostro
progetto pratico.
Quarta puntata.
di Francesco Ficili e Vincenzo Germano

4
el fascicolo del mese scorso abbiamo (uno dei componenti fondamentali di KiCAD) e lo
N approfondito la nostra conoscenza di
Eeschema (l’editor di schemi elettrici di KiCad,
facciamo associando i componenti della demoboard
e introduciamo un altro tool della suite, Pcbnew, che
che ci permette di creare i nostri componenti costituisce l’interfaccia per la creazione dei layout.
personalizzati o editare le librerie esistenti)
e abbiamo imparato ad associare i footprint BOARD LAYOUT CON KICAD:
agli schemi dei componenti mediante lo LO STRUMENTO PCBNEW
strumento Cvpcb. Inoltre siamo andati avanti Una delle fasi più critiche nello sviluppo di una
nello sviluppo della nostra demoboard per il scheda elettronica è la realizzazione del layout,
microcontrollore PIC18F4550 (che abbiamo vo- ovvero del percorso e della sagoma delle piste
luto come esempio di progettazione dei PCB) di interconnessione, nonché delle vie (ossia i fori
completandone lo schema elettrico ed eseguen- passanti tra le piste dei vari layer); questo processo
do per essa la funzione di associazione dei YLHQHXVXDOPHQWHGHŎQLWRĮVEURJOLRįGHOODVFKHGD
componenti. In questa quarta puntata consoli- /ĬRXWSXWŎQDOHGLTXHVWDIDVH©ODUHDOL]]D]LRQHGHL
diamo le nostre conoscenze nell’uso di Cvpcb ŎOHĮJHUEHUįFKHYHUUDQQRXWLOL]]DWLSHUODUHDOL]]D-

Elettronica In ~ Luglio / Agosto 2014 117


FIG. 1 - Icona di
avvio di Pcbnew
all’interno di
KiCad.

]LRQHŎVLFDGHO3&%FRQOHPDFFKLQHDFRQWURO-
lo numerico. All’interno di KiCad il tool utiliz-
zato per la realizzazione dei layout è Pcbnew.
Questo potente strumento integra:
• un editor per il layout;
• un editor per i footprint;
• un visualizzatore 3D;
ijXQWUDFFLDWRUHSHUODJHQHUD]LRQHGHLŎOHGL
output.

Si tratta quindi di uno strumento molto com-


pleto, che può essere utilizzato per tutta la fase FIG. 2 - Interfaccia di Pcbnew.
GLVEURJOLRGHOODVFKHGDHOHWWURQLFDŎQRDOOD
UHDOL]]D]LRQHGHLJHUEHUŎOHV3HUODQFLDUOR©
possibile cliccare sulla relativa icona presen-
te all’interno della toolbar di KiCad, come
illustrato nella Fig. 1; in alternativa è presente FIG. 3 - Importazione
anche un collegamento rapido a Pcbnew all’in- della netlist.
terno di Eeschema. Una volta lanciato il tool,
si aprirà l’interfaccia, che possiamo esaminare
aiutandoci con lo schema di Fig. 2. ORGHOOHUHJROHGLGLVHJQRJHQHUDUHLŎOHJHU-
&RPH©SRVVLELOHYHGHUHQHOODSUHGHWWDŎJXUD EHUHGLŎOHGLIRUDWXUDHPROWRDOWURDQFRUD
l’interfaccia è costituita dai seguenti compo- • Tool bar: è la barra degli strumenti. Trami-
nenti. te gli strumenti presenti in questa barra si
• Project bar: è la barra di gestione del proget- esegue lo sbroglio vero e proprio del PCB;
to, dalla quale è possibile caricare un pro- attraverso gli stessi strumenti della barra
getto, salvare il progetto corrente, importare è possibile eseguire operazioni di routing,
una netlist, impostare ed eseguire il control- inserire vie, riempire zone ed inserire testo
HGHOHPHQWLJUDŎFL
• Workspace: è l’area di lavoro. All’interno
di questa area viene eseguito lo sbroglio del
PCB.
• Option bar: è la barra delle opzioni di
visualizzazione; contiene molte opzioni
rapide di visualizzazione, come ad esempio
la visualizzazione delle zone, dei link tra i
moduli, della griglia e altro ancora.
• Design status bar: questa barra contiene al-
cuni indicatori che riassumono lo status del
PCB in sviluppo. In essa vengono indicati il
numero di nodi, di piste e di vias e l’elenco
dei nodi non connessi.

IMPORTAZIONE DELLA NETLIST


Ora che abbiamo eseguito una descrizione
generale dell’interfaccia, possiamo iniziare a
FIG. 4 - Esplorazione delle liste componenti. muovere i primi passi all’interno di Pcbnew,

118 Luglio / Agosto 2014 ~ Elettronica In


FIG. 6 - Netlist correttamente importata.

noiosa, se i componenti sono un certo nume-


ro). Per eseguire una distribuzione automa-
WLFDELVRJQDSULPDDELOLWDUHOĬRS]LRQHĮ0RGR
Impronte: posizionamento manuale o automa-
WLFRGHLPRGXOLįSUHVHQWHVHPSUHDOOĬLQWHUQR
FIG. 5 - Selezione della netlist da importare.
GHOODSURMHFWEDUDŎDQFRDOODVHOH]LRQHGHO
sfruttando il progetto di esempio che abbiamo layer corrente. Una volta abilitata l’opzione
portato avanti nelle precedenti puntate, un VDU¡VXIŎFLHQWHFOLFFDUHFRQLOWDVWRGHVWURVXO
piccolo circuito con un PIC12F510. Nella pun- ZRUNVSDFHHVHOH]LRQDUHOĬRS]LRQHĮ6SRVWD-
tata precedente avevamo completato l’associa- mento e posizionamento globale/Sposta tutti i
zione componente-modulo di questo progetto, PRGXOLįFRPHLOOXVWUDWRLQFig. 7.
quindi ora abbiamo una netlist importabile in Se tutto è stato eseguito correttamente, dovre-
Pcbnew. Per importare una netlist in Pcbnew, ste trovare i moduli distribuiti come rappre-
ELVRJQDVHOH]LRQDUHOĬRS]LRQHĮ$SULOLVWDFRP- sentato in Fig. 8.
SRQHQWLįSUHVHQWHDOOĬLQWHUQRGHOODSURMHFWEDU
come illustrato in Fig. 3. DESIGN RULES
)DWWRFL³VLDSULU¡ODŎQHVWUDGLFig. 4; in Ora abbiamo i nostri componenti distribuiti
TXHVWDŎQHVWUDGLGLDORJRVRQRGLVSRQLELOL all’interno del workspace e possiamo iniziare a
molte opzioni. Per il momento manteniamo disegnare il layout della scheda. Prima di ini-
OHLPSRVWD]LRQHSUHGHŎQLWHGDOSURJUDPPDH
SURVHJXLDPRVHOH]LRQDQGROĬRS]LRQHĮ(VSOR-
UDOLVWHFRPSRQHQWLįDTXHVWRSXQWRGDOOD
ŎQHVWUDGLGLDORJRFKHFRPSDULU¡VHOH]LR-
niamo il nome della netlist che desideriamo
importare (in questo caso Esempio_1.net, come
illustrato in Fig. 5).
/DQHWOLVWGDLPSRUWDUHYDYHULŎFDWDVHOH]LR-
QDQGROĬRS]LRQHĮYHULŎFDOLVWDFRPSRQHQWL
GHOORVFKHPDį6HFLVRQRHUURULQHOODQHWOLVW
importata -ad esempio una mancata corri-
spondenza (mismatch) tra un componente e il
relativo footprint- il tool lo segnalerà, in modo FIG. 7 - Spostamento automatico dei moduli.
che si possano eseguire le dovute correzioni.
Se invece è tutto corretto, la netlist verrà im-
portata all’interno di Pcbnew ed il tool resti-
tuirà un messaggio simile a quello riportato in
Fig. 6.
A questo punto i componenti sono stati in-
seriti all’interno del workspace, ma noterete
che sono tutti sovrapposti. La prima opera-
zione da fare è, dunque, quella di distribuirli
all’interno del workspace. A tale scopo, in
KiCad esiste una modalità di posizionamento
automatico che ci evita di doverlo fare ma-
nualmente (operazione estremamente lunga e FIG. 8 - Moduli distribuiti all’interno del workspace

Elettronica In ~ Luglio / Agosto 2014 119


FIG. 9 - La finestra Design rules.

impostate in Fig. 10.


Poi associamo le net +5V e GND al gruppo
Į3LVWH3RWHQ]DįHWXWWHOHDOWUHDOJUXSSRĮ3LVWH
6HJQDOHį,QTXHVWRPRGRTXDQGRHIIHWWXHUH-
mo il routing del circuito, a seconda della net
su cui stiamo lavorando, verrà selezionato il
set di regole impostato.

IMPOSTAZIONE DELLA SQUADRATURA


Come in Eeschema, anche in Pcbnew è possibi-
OHLPSRVWDUHLOFDUWLJOLR3HUIDUOR©VXIŎFLHQWH
ziare la vera e propria fase di design, bisogna selezionare l’opzione File/Imposta Pagina (o la
impostare le regole di disegno. Per farlo basta relativa icona all’interno della project bar). Si
VHOH]LRQDUHOĬRS]LRQHĮ3UHIHUHQ]H&LUFXLWR DSULU¡ODŎQHVWUDGLFig. 11, dalla quale è pos-
6WDPSDWRįSUHVHQWHVRWWRODYRFHSUHIHUHQ]H sibile selezionare le dimensioni del foglio di
della Project Bar. Una volta selezionata l’op- lavoro ed impostare i dati del cartiglio.
]LRQHVLDSULU¡ODŎQHVWUDGLGLDORJRPRVWUDWD
in Fig. 9, dalla quale è possibile impostare le POSIZIONAMENTO DEI COMPONENTI
UHJROHGLSURJHWWR7UDPLWHTXHVWDŎQHVWUD© Passiamo ora alla prima fase del layout: il po-
possibile impostare dei gruppi di regole, alle sizionamento dei componenti sul circuito. Per
quali può essere associato un gruppo di net. In SULPDFRVDRFFRUUHGHŎQLUHLOFRQWRUQRGHOODVFKH-
questo modo, ad esempio, è possibile imposta- da che intendiamo realizzare. Per farlo bisogna
re un gruppo di regole per le net del circuito di VHOH]LRQDUHODYRFHĮ&RQWRUQR6FKHGDįDOOĬLQWHUQR
alimentazione ed una per le net di segnale, che del menu a tendina per la selezione del layer
possono avere larghezze differenti delle piste e corrente, posto in alto all’interno della project bar,
diametri diversi per le vie (vias). Facciamo un come illustrato in Fig. 12.
HVHPSLRDOOĬLQWHUQRGHOODŎQHVWUDSUHFHGHQWH- A questo punto è possibile disegnare il contorno
mente aperta, impostiamo due nuovi gruppi della scheda usando gli strumenti di disegno
di regole che chiamiamo rispettivamente presenti nella toolbar; la Fig. 13 illustra tutti i tool
Į3LVWH3RWHQ]DįHĮ3LVWH6HJQDOHįFRQOHUHJROH di disegno disponibili per l’operazione. Usiamo
il tool per il disegno di linee e disegniamo un
contorno quadrato di 40x40 mm. Per eseguire
le misurazioni possiamo utilizzare lo strumento
Į,QVHULVFL4XRWHįSUHVHQWHLPPHGLDWDPHQWHDO
di sotto del gruppo degli strumenti di disegno.

FIG. 10 - Regole dei gruppi “Piste Potenza” e “Piste Segnale”. FIG. 11 - Impostazione pagina.

120 Luglio / Agosto 2014 ~ Elettronica In


FIG. 12 - Selezione
del layer “Contorno
Scheda”.

FIG. 13 - Strumenti di
disegno di Pcbnew.

FIG. 14 - Contorno scheda.


Se tutto è stato eseguito correttamente il risultato
dovrebbe essere simile a quello riportato nella ed impedendoci di collegare i nodi in maniera
Fig. 14. differente da quanto impostato nella netlist,
A questo punto bisogna posizionare i componen- generata da Eeschema, è quindi impossibile
ti all’interno del contorno della scheda, spostan- commettere errori. Se tutto è stato eseguito
doli ad uno ad uno. Per muovere un componente correttamente si dovrebbe ottenere qualcosa
©VXIŎFLHQWHFOLFFDUHFRQLOWDVWRGHVWURGHOPRXVH di simile a quanto riportato in Fig. 17 (chiara-
sopra il footprint e selezionare l’opzione Impron- mente esistono diversi modi di effettuare lo
ta…/Sposta, come illustrato in Fig. 15. sbroglio). Continuiamo lo sbroglio con le linee
(VLVWHXQVHWLQŎQLWRGLYDULDQWLGLSRVL]LRQD-
mento, chiaramente il suggerimento generale è
quello di posizionare i componenti in maniera
LQWHOOLJHQWHLQPRGRGDVHPSOLŎFDUHTXDQWRSLº
possibile la fase di sbroglio.
Una possibile soluzione è quella riportata nella
Fig. 16.

ROUTING: PISTE E VIAS


Passiamo adesso alla fase di sbroglio vero e
proprio della scheda. Prima di iniziare il rou-
ting è opportuno effettuare un salvataggio del
progetto, in modo da poter ritornare facilmen-
FIG. 15 - Spostamento componente.
te al livello di posizionamento dei moduli.
Per prima cosa bisogna posizionarci su uno
dei livelli rame della scheda. Intendiamo
realizzare una scheda doppio strato, quindi
avremo a disposizione un lato fronte ed un
lato retro (indicati come rame.fronte e rame.
retro all’interno del CAD). Possiamo seleziona-
re lo strato desiderato dal menu di selezione
layer, presente in alto a destra all’interno della
project bar. Selezioniamo il layer rame.retro
ed iniziamo a tracciare il routing della net di
alimentazione, unendo tra di loro tutti i nodi
a GND e 5V (avendo impostato in precedenza
le design roules, le piste che uniscono questi
nodi saranno impostate automaticamente a
0,6 mm). Pcbnew ci aiuta nel routing indican-
doci con delle linee i collegamenti tra i nodi FIG. 16 - Esempio di posizionamento.

Elettronica In ~ Luglio / Agosto 2014 121


FIG. 19 - Inserimento
di un foro di via.

• si inizia il tracciamento di
un segmento di pista;
• giunti al punto in cui si
desidera piazzare il foro
di via si clicca sul tasto
destro del mouse;
• dal menu a tendina che si
apre si clicca sull’opzio-
QHĮLQVHULVFLYLDį FRPH
visibile nella Fig. 19);
• il foro viene piazzato e si
FIG. 17 - Esempio di routing. può tracciare il segmento
di pista dal lato di arrivo.
di segnale. Colleghiamo i pulsanti e l’oscillato-
re, cambiando opportunamente piano per fare A questo punto uniamo i
in modo che le piste non si intersechino tra di terminali dei LED ai pin di
loro. Anche in questo caso, avendo impostato comando del PIC12F510
in precedenza le design rules, noteremo che partendo dal lato rame.retro
la larghezza delle piste di segnale è inferiore e passando sul lato opposto tramite due fori di
rispetto alle piste di potenza. Il risultato è via. Il risultato di questa operazione è visibile
illustrato in Fig. 18. nella Fig. 20.
A questo punto è possibile completare il
routing collegando i due LED. In questo caso PROGETTO PRATICO: ASSOCIAZIONE DEI
prevediamo anche il piazzamento di due fori COMPONENTI E IMPORTAZIONE
di via. Un foro di via è un foro metallizzato Torniamo adesso al nostro progetto pratico,
che permette di collegare due segmenti di procedendo con l’associazione dei componenti
pista disposti su due layer differenti. In questo e, quindi, con l’importazione della netlist sotto
caso il substrato del PCB viene forato e il foro Pcbnew.
viene metallizzato in modo da garantire il Per prima cosa procediamo all’associazione
collegamento elettrico. Si tratta di un com- GHLFRPSRQHQWL/DŎQHVWUDGL&YSFEUHODWLYD
ponente fondamentale dei PCB aventi più di al progetto pratico è riportata in Fig. 21.
uno strato, in quanto aumenta notevolmente il Per l’associazione dei componenti, usiamo le
grado di libertà del progettista nell’eseguire lo seguenti regole:
sbroglio della scheda. • Condensatori 100nF e 27pF: Footprint C1
Per inserire un foro di via con Eeschema si • Condensatori 330nF: Footprint C2
procede così: • Condensatori > 330nF: Footprint C1V5

FIG. 18 - Tracciamento delle prime piste di segnale. FIG. 20 – Uso dei fori di via.

122 Luglio / Agosto 2014 ~ Elettronica In


• LED: Footprint LED-5mm
ij86%)RRWSULQW86%0L-
niB
• DB9: Footprint DB9FC
• JP1: Footprint Pin_array_3
• P1: Footprint Jack_Alim
• P2: Footprint Pin_array_6
• Resistenze: Footprint R4
• Pulsanti: Footprint
Switch_Push_Small
• PIC18F4550: Footprint
DIP-40_600
ij/0)RRWSULQW72
• 24LC16B: Footprint DIP-
8_300
• 0&3)RRWSULQW6F
• LCD: Footprint Pin_ar- FIG. 21 – Finestra di associazione relativa al progetto pratico.
UD\B YHUU¡PRGLŎFDWR
sotto Pcbnew) zione successivamente.
ij0&3)RRWSULQW',3B
ij0$;)RRWSULQW',3B Noi abbiamo scelto il secondo metodo, in
• TC72: Footprint SSOP8 modo da avere così la possibilità di introdurre
• Quarzo: Footprint HC-18UV anche il footprint editor integrato in Pcbnew.
Esamineremo questa possibilità nel corso della
&RPSOHWDWDOĬDVVRFLD]LRQHVDOYLDPRLOŎOH prossima puntata, durante la quale continue-
.cmp e lanciamo Pcbnew. A questo punto lo remo anche la descrizione di Pcbnew e inizie-
J
schema è stato correttamente associato ed è remo il routing della demoboard.
possibile importare la netlist sotto
Pcbnew per iniziare lo sbroglio
della scheda.
Apriamo Pcbnew, usando l’icona di
ODQFLRGHO3URMHFW0DQDJHUHLPSRU-
tiamo la netlist del nostro progetto
pratico, come abbiamo visto nell’e-
sempio all’inizio di questa puntata.
Quando eseguiremo l’importazione,
noteremo la comparsa di alcuni er-
URULWLSRTXHOOLYLVLELOLQHOODŎQHVWUD
di come illustrato in Fig. 22.
Questo è del tutto normale, perché
il componente LCD non è stato as-
sociato al footprint corretto (perché
assente nella libreria base) e quindi
alcune piazzole non vengono tro-
vate. Il problema si può risolvere in
almeno due modi:
• Usare una libreria aggiuntiva che
contenga il footprint corretto,
• Assegnare un footprint tempo-
raneo e creare quello corretto
dall’editor dei footprint integrato
in KiCad, e correggere l’assegna- FIG. 22 – Importazione della netlist.

Elettronica In ~ Luglio / Agosto 2014 123


e.
ch
o gi
l
c no
te
ità

e
M
Continuiamo la nostra
analisi di Pcbnew,
l’editor usato per
il layout dei PCB in
KiCad, illustrando
l’uso delle librerie e
del footprint editor
e proseguendo lo
sviluppo del nostro
progetto pratico.
Quinta puntata.

di Francesco Ficili e Vincenzo Germano

5
ella quarta puntata di questo corso footprint integrato in Pcbnew. Inoltre prosegui-
N siamo arrivati ad introdurre e descri-
vere Pcbnew, l’editor usato in KiCad per
remo lo sviluppo del progetto pratico, entrando
nel vivo della fase di layout della scheda.
la gestione dei layout dei circuiti stampati;
inoltre abbiamo descritto le regole base GESTIONE DELLE LIBRERIE IN PCBNEW
per il piazzamento dei componenti e per il Pcbnew presenta, come anche Eeschema, un
routing. Oltre a ciò, abbiamo continuato lo gestore integrato delle librerie, ossia uno stru-
sviluppo del nostro progetto pratico, com- mento che permette così l’importazione su un
pletando la fase di associazione e l’importa- progetto esistente di librerie esistenti.
zione dei componenti all’interno di Pcbnew. Il gestore delle librerie può essere aperto di-
In questa quinta puntata continuiamo l’ana- rettamente da Pcbnew, selezionando l’opzione
lisi di Pcbnew, affrontando argomenti come Opzioni/Libreria, attraverso la quale si aprirà la
la gestione delle librerie, la realizzazione schermata di Fig. 1.
dei piani di massa e l’uso dell’editor di Da questa schermata può essere facilmente

Elettronica In ~ Settembre 2014 131


in internet è possibile reperire facilmente
librerie per KiCad sviluppate dalla comuni-
tà, come esistono anche tools usati per con-
vertire librerie sviluppate per altri CAD,
come ad esempio Cadsoft Eagle. È inoltre
possibile, tramite l’uso dell’editor, svilup-
pare le proprie librerie di componenti.

EDITOR DEI COMPONENTI


Passiamo adesso all’analisi dell’editor di
footprint integrato in Pcbnew. Per aprire
l’editor dei componenti bisogna selezionare
la relativa icona presente nella project bar
di Pcbnew, come illustrato in Fig. 2. Una
volta selezionata l’icona di lancio si aprirà
la schermata visibile nella Fig. 3, riguardan-
te l’editor dei footprint. Per illustrare l’uso
dell’editor dei footprint ci serviremo di un
semplice esempio: immaginiamo di dover
realizzare un footprint di tipo SOIC18, non
presente nelle librerie base. Ci sono essen-
FIG. 1 - Gestore delle librerie di Pcbnew.
zialmente due modi per realizzare un nuovo
IRRWSULQWSDUWHQGRGD]HURRPRGLŎFDQGRXQ
footprint esistente. In questo esempio vedre-
mo solo la seconda opzione, perché la prima
FIG. 2 - Icona di avvio è usata molto di rado dagli utenti KiCad. Co-
di footprint editor di munque considerate che nella costruzione da
Pcbnew. zero sostanzialmente nulla cambia rispetto
alla procedura descritta, se non il fatto che si
evita di partire da un “foglio bianco”.
Per prima cosa selezioniamo la libreria di
lavoro (in questo caso andremo ad aggiun-
gere il footprint all’interno di una libreria

FIG. 3 - Editor dei footprint di Pcbnew.

aggiunta una libreria singola di moduli


(librerie moduli) o un percorso specifico
contenente un gruppo di librerie.
Come abbiamo già spiegato in precedenza, FIG. 4 - Selezione della libreria corrente.

132 Settembre 2014 ~ Elettronica In


FIG. 7 - Modifica della numerazione delle piazzole.

rettamente il passo, come illustrato nella


FIG. 5 - Selezione del footprint di partenza.
Fig. 6 (raccomandiamo di scegliere il passo
esistente, ma si potrebbe anche creare una adatto, in modo da non fare errori).
nuova libreria). Gli altri socket di tipo A questo punto occorre modificare la
SOIC presenti in KiCad si trovano all’inter- numerazione delle piazzole, in modo da
no della libreria “libcms”, quindi usiamo renderla coerente con il nuovo componente
questa come libreria di lavoro. che stiamo creando. Partiamo dalla prima
Per farlo bisogna selezionare l’opzione piazzola duplicata (in basso a destra): per
File/Libreria Corrente, e selezionare la li- modificarne la numerazione eseguiamo un
breria dalla schermata che comparirà, come doppio clic proprio al centro della piazzola
illustrato in Fig. 4. stessa e vedremo comparire la schermata di
A questo punto bisogna accedere al menu Fig. 7.
File e impartire il comando File/Carica Mo- Modifichiamo il numero della piazzola da
dulo/Carica Modulo dalla Libreria Corren-
te, quindi selezionare il footprint da cui si
desidera partire (come illustrato in Fig. 5) e
proseguire facendo clic sul pulsante OK.
Per modificare correttamente il modulo
occorre inserire due piazzole aggiuntive:
creiamo una copia della piazzola 8 e della
piazzola 9 (selezione + tasto shift) e posi-
zioniamola immediatamente a destra delle
piazzole di partenza, usando un valore
opportuno della griglia per calcolare cor- FIG. 8 - Numerazione delle piazzole
del modulo modificato.

FIG. 6 - Aggiunta delle piazzole. FIG. 9 - Serigrafia corretta.

Elettronica In ~ Settembre 2014 133


FIG. 10 - Modulo presente all’interno della libreria libcms. FIG. 12 - Proprietà di riempimento di una zona in rame.

8 a 9 e clicchiamo sul tasto OK. Ripetiamo come i piani di massa, le maschere e i piani
l’operazione per tutte le piazzole successi- di applicazione della pasta saldante. KiCad
ve. Alla fine otterremo un risultato analogo offre un tool di riempimento zone, acces-
a quello riportato in Fig. 8. sibile dalla toolbar insieme agli altri stru-
A questo punto non resta che modificare la menti di disegno, come illustrato in Fig. 11.
serigrafia per correggere il nome del com- Il tool di riempimento varia il suo compor-
ponente ed il contorno sul piano serigrafie. tamento in base all’utilizzo e la principale
Il risultato finale è visibile in Fig. 9. differenziazione è fatta in base al layer
Ora è possibile salvare il nuovo modulo all’interno del quale si sta lavorando (in
selezionando l’opzione File/Salva Modulo particolare se si tratta o meno di uno strato
nella Libreria Corrente, o usando il tasto di rame).
scelta rapida Cntr+S. L’editor chiederà di Vediamo come utilizzare il tool per la
inserire il nome con cui si desidera salvare realizzazione di un piano di massa, ser-
il modulo: nella casella prevista allo scopo, vendoci del solito esempio. Per prima cosa
della finestra di dialogo Salva modulo, assicuriamoci di stare lavorando su uno
inseriamo il nome SO18E e proseguiamo fa- degli strati di rame (Rame.Fronte o Rame.
cendo clic sul pulsante OK. A questo punto Retro). Poi, una volta selezionato il tool
il modulo è presente nelle librerie dei “Inserisci Zona”, bisogna posizionarsi su
footprint e può essere utilizzato in Pcbnew.
Infatti se utilizziamo il visualizzatore dei
footprint, troveremo il modulo all’interno
della libreria “libcms”, come illustrato in
Fig. 10.

PIANI DI MASSA E RIEMPIMENTI


Una delle caratteristiche tipiche dei CAD
elettronici è la gestione dei riempimenti,

FIG. 11 - Strumenti di disegno. FIG. 13 - Definizione della zona di riempimento.

134 Settembre 2014 ~ Elettronica In


FIG. 14
Riempimento
zone.

FIG. 16 - Distribuzione dei componenti sul workspace.

FIG. 17 - Selezione
del componente
foro singolo.

FIG. 18
Scontornatura
scheda e
piazzamento dei
fori agli angoli.

FIG. 15 - Realizzazione del piano di massa.

un bordo della scheda e cliccare con il tasto


sinistro del mouse. A questo punto verrà
visualizzata la finestra di proprietà di ri-
empimento di uno strato in rame, illustrata
in Fig. 12.
Da questa finestra è possibile selezionare il
layer (fronte o retro), la net che si desidera
“annegare” ed altre opzioni (smussamento
o meno degli angoli, connessione con le
piazzole ed altro ancora). In questo esem-
pio abbiamo selezionato il layer posteriore
e la net GND (in modo da creare un piano
di massa).
Una volta impostate le varie opzioni, biso-
gna selezionare l’area di riempimento (in

Elettronica In ~ Settembre 2014 135


to, ma tutte le zone vengono poi riempite
contemporaneamente quando viene fornito
al CAD il comando di riempimento zone).

PROGETTO PRATICO: BOARD LAYOUT


Riprendiamo il nostro lavoro relativo al
progetto pratico del corso. Nella puntata
precedente avevamo completato il processo
di associazione dei componenti ed aveva-
mo importato la netlist. Procediamo adesso
realizzando il layout della scheda, inizian-
do dal piazzamento componenti.
Dopo l’importazione distribuiamo i modu-
li, come abbiamo visto nell’esempio esami-
nato la scorsa puntata. Dopo la distribuzio-
ne otterremo una situazione simile a quella
riportata in Fig. 16.
Per prima cosa procediamo con la realizza-
zione del contorno della scheda, in modo
da lavorare con un’area di dimensioni
fissate. Optiamo per un’area di dimensione
FIG. 19 - Finestra di proprietà del modulo.

FIG. 21
questo caso selezioniamo un’area che copre Piazzamento
l’intera scheda), come è possibile vedere in della rete I²C.
Fig. 13.
A questo punto per eseguire il riempimen-
to è sufficiente cliccare con il tasto destro
all’interno della zona da riempire e selezio-
nare l’opzione Riempi oppure la Aggiorna
tutte le Zone, come illustrato in Fig. 14.
Il risultato finale è visibile in Fig. 15.
In questo esempio abbiamo riempito la
zona rame retro; se volessimo completare il
piano di massa anche con la parte fronte ci
basterebbe ripetere il processo selezionan-
do il layer Rame.fronte nelle proprietà di
riempimento delle zone in rame (è necessa-
rio tracciare una nuova zona di riempimen-

FIG. 20 - Realizzazione del footprint del display LCD. FIG. 22 – Posizionamento display e tastierino numerico.

136 Settembre 2014 ~ Elettronica In


120x150 mm, posizioniamoci sul piano bor-
di e tracciamo i contorni (per tracciare le
dimensioni corrette usiamo il tool di quo-
tatura). A questo punto inseriamo quattro
fori agli angoli, in modo da poter poi utiliz-
zare altrettante colonnine esagonali come
supporto per la scheda. Per inserire i fori
usiamo il tool Inserisci Modulo e selezionia-
mo il componente “1 pin” come illustrato
nella Fig. 17.
Il risultato finale dovrebbe essere identico
a quanto riportato in Fig. 18.
Ricordiamo che durante l’associazione dei
footprint avevamo notato l’assenza del fo-
otprint del display LCD e avevamo deciso
di assegnare un footprint temporaneo (Pin
array) per poi realizzare quello definiti-
FIG. 23 – Microcontrollore, TC72, pulsante di
vo direttamente con il footprint editor di
reset e potenziometro.
Pcbnew. Abbiamo visto un’operazione
simile proprio in questa puntata. Procedia-
mo quindi alla modifica di questo footprint ponente. Un esempio di implementazione è
prima di passare al piazzamento dei vari riportato in Fig. 20.
componenti. Per eseguire l’operazione Ora bisogna salvare il componete all’inter-
clicchiamo due volte sul componente che no di una libreria. Selezioniamo la libreria
intendiamo modificare (marcato come U5), “display” e procediamo al salvataggio, in-
in modo da aprire la finestra di proprietà serendo il nome “Display_LCD_HD44780”
del modulo, e clicchiamo sul pulsante Edi- nell’apposita casella della finestra di dia-
tore Moduli, come illustrato in Fig. 19. logo Salva modulo, quindi facendo clic sul
Questa operazione aprirà il footprint sele- pulsante OK.
zionato all’interno dell’editor dei footprint. A questo punto si può procedere con il
A questo punto modifichiamo il footprint piazzamento dei vari componenti nella
in modo da adattarlo ad ospitare un di- scheda. Iniziamo piazzando la rete di com-
splay alfanumerico 16x2. Di fatto si tratta ponenti I²C (inclusi i LED connessi al port
di estendere i pin da 6 a 16 e creare, sul expander), sul lato destro della scheda,
piano serigrafie, il contorno fisico del com- come illustrato in Fig. 21.
Passiamo adesso al posizionamento del di-
FIG. 24 splay e dei pulsanti. Disponiamo i display
Posizionamento sulla parte alta e centrale della scheda ed
del regolatore di i pulsanti immediatamente alla sinistra.
tensione. Disponiamo SW2-SW5 a croce, in modo da
realizzare un piccolo keypad in configu-

FIG. 25 – Posizionamento dell’interfaccia RS232, del


connettore USB, dei LED e del jack di alimentazione.

Elettronica In ~ Settembre 2014 137


FIG. 26 - Posizionamento finale dei componenti.

razione tastierino di navigazione e dispo- componenti è riportato in Fig. 25.


niamo SW6 e SW7 immediatamente sotto, Il piazzamento finale dei componenti è
come pulsanti funzione. Infine posizionia- riportato in Fig. 26. A questo punto la fase
mo il potenziometro per la regolazione del di component place è terminata e si può
contrasto del display. Il tutto è riportato in passare alla fase di routing.
Fig. 22.
A questo punto piazziamo il CONCLUSIONI
microcontrollore, il circuito relativo di In questa quinta puntata abbiamo analizza-
oscillazione, il pulsante di reset, il termo- to altre caratteristiche di Pcbnew, come la
metro TC72 ed il potenziometro analogico. gestione delle librerie, l’editor di footprint
Piazziamo questi componenti nella zona integrato, ed il tool di riempimento zone,
centrale della scheda, in modo da agevo- che abbiamo usato per la realizzazione dei
lare la connessione dei vari pin del micro piani di massa. Abbiamo inoltre continuato
alle varie periferiche. La Fig. 23 illustra un lo sviluppo del progetto pratico, comple-
esempio di posizionamento. tando la fase di piazzamento dei compo-
Sul lato sinistro della scheda posizionia- nenti.
mo il regolatore di tensione serie ed il Nella prossima (ed ultima) puntata del
connettore ICSP per il PICkit, come illu- corso, concluderemo l’analisi di Pcbnew,
strato in Fig. 24. illustrando l’uso del tracciatore, ossia del
Ora possiamo posizionare i componen- componente utilizzato per la generazione
ti restanti, ossia l’interfaccia RS232, il dei gerber file ed analizzeremo il visua-
connettore USB, i due LED collegati diret- lizzatore di gerber integrato nella suite,
tamente al PIC18F4550 e il jack di alimen- e completeremo lo sviluppo del progetto
J
tazione. Il posizionamento di questi ultimi pratico.

138 Settembre 2014 ~ Elettronica In


Concludiamo questo
corso terminando
l’analisi di Pcbnew
e,contestualmente,
lo sviluppo del
progetto pratico.
Sesta ed ultima
puntata.

di Francesco Ficili e Vincenzo Germano

6
ella puntata precedente abbiamo conti- DEMOBOARD PIC18: IL ROUTING
N nuato l’analisi dello strumento Pcbnew,
che avevamo iniziato ad affrontare già nella
Non ci soffermiamo in dettaglio sul routing del
progetto pratico, in quanto l’argomento è già stato
quarta puntata, quando ci siamo occupati trattato nelle puntate precedenti ed una trattazio-
dell’editor dei layout, dei riempimenti e della ne dettagliata del routing di una scheda di queste
gestione di librerie e zone; sempre nella scorsa dimensioni risulterebbe eccessivamente pesante. Ci
puntata, siamo andati avanti nella realizzazio- limiteremo, quindi, ad evidenziare qui di seguito,
ne del progetto pratico, completando la fase alcune linee guida valide per tutti i casi.
di posizionamento dei componenti. In queste • Prima di eseguire lo sbroglio della scheda, biso-
pagine si conclude il corso dedicato a KiCad: gna posizionare tutti i moduli nella maniera più
completeremo la nostra panoramica sullo stru- conveniente.
mento Pcbnew e termineremo la realizzazione • Impostare le “design rules” di progetto (Preferen-
GHOQRVWURSURJHWWRSUDWLFR,QŎQHYHGUHPR ze/Preferenze Circuito Stampato), tenendo presenti:
FRPHUHDOL]]DUHLŎOHJHUEHUQHFHVVDULDOODUHD- - dimensioni delle piste;
lizzazione dei nostri circuiti stampati. - isolamento delle piste;

Elettronica In ~ Ottobre 2014 117


- fori di via;
- anular ring dei fori di via.
• Durante lo sbroglio evitare di realizzare pi-
ste con angoli retti (in alta tensione causano
l’innesco di scariche).
• Evitare percorsi troppo lunghi e loop.
• Prevedere sempre almeno un piano di mas-
sa per il PCB.
• Prestare attenzione alla posizione delle se-
ULJUDŎHHYLWDQGRSHUTXDQWRSRVVLELOHFKH
queste si sovrappongano alle piazzole e alle
piste ed alle vie.

In Fig. 1 è visibile la scheda del progetto


pratico a routing ultimato, mentre in Fig. 2 è
visibile la rappresentazione 3D creata dal 3D-
FIG. 1 - Layout della demoboard PIC18F4550. viewer di KiCad. Per la creazione del render
3D, sono state utilizzate le librerie 3D realizza-
te da Walter Lain, scaricabili dal suo sito web
http://smisioto.no-ip.org/elettronica/kicad/kicad.
htm.
Da entrambe le immagini (Fig. 1 e Fig. 2) è
stato rimosso il piano di massa, per permette-
re di vedere in maniera più chiara il routing.
Per visualizzare il rendering 3D dei PCB è suf-
ŎFLHQWHVHOH]LRQDUHGDOPHQXVisualizza, l’op-
zione “Visualizzazione 3d”: usando i modelli
3D associati ai footprint, Pcbnew genererà il
render 3D della scheda.

VERIFICA PCB: CONTROLLO DELLE


REGOLE DI PROGETTO
Una volta completato il routing, Pcbnew offre
la possibilità di eseguire un check automatico
FIG. 2 - Rappresentazione 3D della demoboard PIC18F4550.
VXOSURJHWWRLOTXDOHYHULŎFD
• il rispetto delle regole imposte in
fase di progetto;
• la presenza di nodi non connessi.

Pcbnew offre altresì la possibilità


di rieseguire automaticamente il
riempimento delle zone.
Per avviare il controllo delle
regole bisogna selezionare l’ico-
na con il simbolo della coccinella
e la spunta verde, che si trova
LQDOWRVXOOD3URMHFWEDUDŎDQFR
dell’icona per il caricamento della
netlist, oppure bisogna impartire
il comando omonimo che si trova
sotto il menu Strumenti (Controllo
FIG. 3 - Finestra di dialogo “Controllo regole”. Regole). Una volta eseguita questa

118 Ottobre 2014 ~ Elettronica In


magine sopra, i deli-
mitatori delle distanze
di guardia per le
piazzole si compe-
netrano tra di loro, e
quindi è stata violata
la regola imposta in
sede di progetto sulla
distanza di guardia
tra le piazzole.
Per risolvere il pro-
EOHPD©VXIŎFLHQWH
cambiare il valore
dell’isolamento tra le
FIG. 4 - Esempio di errore sulla distanza di guardia.
piazzole, operando
GDOODŎQHVWUDGLSUR-
prietà del modulo, portandolo ad un decimo
di mm, come illustrato in Fig. 6.
‰DQFKHSRVVLELOHYHULŎFDUHVRORODSUHVHQ]DGL
nodi disconnessi, evitando di eseguire il check
su tutte le regole: ciò si ottiene facendo clic sul
pulsante corrispondente.

GENERAZIONE DEI FILE DI OUTPUT


Una volta sicuri che non siano state violate
delle regole di progetto e che nel layout non
siano presenti nodi disconnessi, è possibile

FIG. 5 - Errore sulla distanza di guardia (sopra)


e relativa correzione (sotto).

RSHUD]LRQHVLDSULU¡ODŎQHVWUDLOOXVWUDWDQHOOD
Fig. 3. Il controllo delle regole di progetto si
avvia facendo clic sul pulsante Avvia Controllo
Regole, come evidenziato sempre in Fig. 3.
Le opzioni per il controllo sono riportate nel
riquadro a sinistra in alto (è anche possibile
JHQHUDUHHVDOYDUHXQŎOHFRQWHQHQWHLOUDSSRU-
WR QHOORVSHFLŎFRYHQJRQRFRQWUROODWL
• gli isolamenti (dalle preferenze impostate in
fase di progettazione e dalle proprietà dei
moduli);
• le larghezze delle piste;
• la dimensione delle vie (vias);
• la dimensione delle microvie (microvias).

In Fig. 4 è riportato un esempio di controllo


che restituisce un errore sulla distanza di
guardia tra le piazzole di un componente
SMD. L’errore e la relativa correzione sono
riportati in Fig. 5: come si può vedere nell’im- FIG. 6 - Modifica della proprietà del modulo.

Elettronica In ~ Ottobre 2014 119


FIG. 7 - Generatore file di output.

FIG. 13 - Finestra di generazione dei file di foratura.

selezionare un percorso relativo, in modo da


QRQGRYHUPRGLŎFDUHTXHVWDLPSRVWD]LRQH
qualora si portasse il progetto su un’altra
macchina). Una volta impostato il percorso
GLVDOYDWDJJLRGHLŎOH©QHFHVVDULRVFHJOLHUH
FIG. 8 - Finestra di dialogo Tracciatore. il formato dell’output; KiCad è in grado di
JHQHUDUHŎOHGLRXWSXWFRQLVHJXHQWLIRUPDWL
(selezionabili dal menu a tendina sotto la voce
“Formato Tracciatura”):
• Gerber;
• PostScript;
• SVG;
• DXF;
• HPGL.

FIG. 9 - Generazione dei file di output. Una volta selezionato il formato preferito
(in genere è Gerber), è possibile selezionare
SDVVDUHDOODIDVHGLUHDOL]]D]LRQHGHLŎOHGL dall’elenco “strati”, nella parte sinistra della
IDEEULFD]LRQH3HUIDUOR©VXIŎFLHQWHVHOH- ŎQHVWUDLOD\HUFKHVLGHVLGHUDWUDFFLDUH EDVWD
zionare l’icona a forma di stampante con la mettere o togliere il segno di spunta nella
lettera P sovrapposta, che è presente, sempre checkbox relativa ai layer). A questo punto si
all’interno della Project bar, a sinistra dello può intervenire sulle opzioni, presenti nei due
zoom, come indicato in Fig. 7 (oppure sele- riquadri “Opzioni” ed “Opzioni Gerber”. Una
zionare l’opzione File/Tracciatore dal menu YROWDFRPSOHWDWLWXWWLLVHWWDJJL©VXIŎFLHQWH
principale). fare clic sul pulsante “Tracciatore” per gene-
Una volta selezionato lo strumento, si aprirà UDUHLŎOHGLRXWSXW,OWRROFLIRUQLU¡XQUHSRUW
ODŎQHVWUDGLGLDORJRPRVWUDWDLQFig. 8. UHODWLYRDOODJHQHUD]LRQHGHLŎOHFRPHTXHOOR
Vediamo quali sono i passi da compiere per visibile in Fig. 9.
JHQHUDUHFRUUHWWDPHQWHLQRVWULŎOHGLRXWSXW 2OWUHDLŎOHUHODWLYLDLYDULVWUDWL©QHFHVVDULR
Per prima cosa è necessario impostare il JHQHUDUHDQFKHLŎOHGLIRUDWXUD4XHVWRWLSR
SHUFRUVRDOOĬLQWHUQRGHOTXDOHVDOYDUHLŎOH
JHQHUDWLSHUIDUOR©VXIŎFLHQWHFOLFFDUHVXO
pulsante “Esplora…” che farà comparire una
ŎQHVWUDGLGLDORJRGL:LQGRZVDWWUDYHUVROD
quale è possibile impostare il percorso pre-
ferito (viene anche fornita la possibilità di FIG. 11- Generazione dei file di foratura.

120 Ottobre 2014 ~ Elettronica In


GLŎOHVLJHQHUDFRQXQSURFHVVRDSDUWHFKH
può essere selezionato facendo clic sul pulsan-
te “Genera File di Foratura”, presente nel tool
di generazione.
$QFKHLQTXHVWRFDVRYHUU¡DSHUWDXQDŎQH-
VWUDVSHFLŎFD Fig. 10), dalla quale è possibile
impostare una serie di opzioni per la genera-
]LRQHGHLŎOHQRQFKªLOSHUFRUVRGLVDOYDWDJ-
JLRGHJOLVWHVVL'DWHQHUHSUHVHQWHFKHLŎOHGL
foratura generati devono essere coerenti con il
IRUPDWRVFHOWRSHULŎOHUHODWLYLDLOD\HUTXLQGL
VHJHQHULDPRGHLŎOHJHUEHUDQFKHLOŎOHGLIR-
ratura dovrà avere questo tipo di estensione. FIG. 12 - Finestra di generazione file di posizionamento.
Tra le varie opzioni disponibili, è possibile
selezionare l’unità di misura (i pollici sono
l’unità di misura comunemente accettata per
questo tipo di lavorazioni). Una volta com-
SOHWDWLLVHWWDJJL©VXIŎFLHQWHSUHPHUHLOWDVWR
“File di Foratura” per avviare la generazio-
QHGHLŎOH DQFKHLQTXHVWRFDVRLOULVXOWDWR
GHOOĬRSHUD]LRQHYLHQHULHSLORJDWRQHOODŎQHVWUD
di dialogo, come rappresentato in Fig. 11).

CREAZIONE DEI FILE


DI POSIZIONAMENTO
3FEQHZSHUPHWWHDQFKHGLFUHDUHLŎOHGL FIG. 13 - Generazione dei file di posizionamento.
posizionamento per il montaggio tramite
pick&place, nel caso la scheda sia di una certa alla sua realizzazione; KiCad ci viene incontro
dimensione e sia stata progettata prevedendo in questa fase, fornendoci, tra le esportazioni
ODWHFQRORJLDDPRQWDJJLRVXSHUŎFLDOH3HUDF- per la fabbricazione, la possibilità di genera-
cedere a questa opzione bisogna selezionare la re la BOM (acronimo di Bill Of Material) del
voce “Esportazioni per fabbricazione/Module progetto. Generarla è semplicissimo: basta
Position” presente sotto il menu File. Una vol- selezionare la voce “Esportazioni per Fabbri-
ta selezionata questa voce, sarà visualizzata la cazione/Elenco Materiali” dal solito menu
ŎQHVWUDGLFig. 12. Da qui, come di consueto, File, come illustrato in Fig. 14.
è possibile scegliere il percorso all’interno del
TXDOHVDOYDUHLŎOHJHQHUDWLGDOOĬHODERUD]LRQH
oltre ad altre opzioni, come ad esempio l’unità
GLPLVXUDODSRVVLELOLW¡GLJHQHUDUHXQŎOHGL
posizionamento per ogni strato della scheda
LQDOWHUQDWLYDDGXQŎOHSHUVFKHGDQHOFDVR
di un bundle).
Una volta completate le impostazioni, è
SRVVLELOHJHQHUDUHLŎOHGLSRVL]LRQDPHQWR
semplicemente facendo clic sul pulsante “OK”
(in Fig. 13©ULSRUWDWROĬRXWSXWGHOODŎQHVWUDGL
dialogo). FIG. 14 - Generazione della BOM.

CREAZIONE DELLA BOM


Una volta completata la realizzazione del
nostro circuito stampato, avremo la necessità
di approvigionarci dei componenti necessari FIG. 15 - Icona di lancio di Gerberview.

Elettronica In ~ Ottobre 2014 121


FIG. 16 - Finestra di dialogo Gerberview.

Dopo aver selezionato questa voce, verrà


YLVXDOL]]DWDXQDŎQHVWUDGLGLDORJRGL:LQ- FIG. 17 - finestra di dialogo per il caricamento dei file
dows, che permette di selezionare il path in Gerberview.
all’interno del quale salvare la BOM. Il forma-
WRGLHVSRUWD]LRQH©XQŎOH.csv contenente i PCB ed il convertitore Bitmap/Sikscreen come
riferimenti dei moduli, la quantità, il package degli strumenti facenti parte della toolchain,
ed il valore assegnato durante lo schematic ma più che altro come delle utility a corredo),
design. RVVLDLOYLVXDOL]]DWRUHGLŎOHJHUEHU*HUEHU-
view. Come dice anche il nome, si tratta di
ISPEZIONE DEI FILE GERBER: un semplice visualizzatore che ci permette di
GERBERVIEW DFFHUWDUHFKHLŎOHJHUEHUJHQHUDWLVLDQRHIIHW-
Analizziamo adesso l’ultimo tool della suite tivamente corretti ed evitare, di conseguenza,
di KiCad (non considerando il calcolatore per GLPDQGDUHLQODYRUD]LRQHGHLŎOHGLIHWWRVL

FIG. 18 – Visualizzazione di un file gerber tramite Gerberview.

122 Ottobre 2014 ~ Elettronica In


Calcolatore per PCB
Un tool utile che KiCad mette a disposizione all’inter-
che produrrebbero dei PCB errati, con eviden- no della suite è il calcolatore per PCB. Questo utile
te sperpero di tempo e denaro. strumento non è altro che un insieme di tool di calcolo
3HUDSULUH*HUEHUYLHZ©VXIŎFLHQWHFOLFFDUH per PCB, tutti raggruppati sotto un unico strumento.
L’utilità di calcolo (una cui schermata è riportata in Fig.
sulla relativa icona (la quarta da sinistra) nella
20), permette di:
toolbar di KiCad, come evidenziato in Fig. 15. • calcolare i valori del partitore resistivo dei regolatori
Il tool si presenta come in Fig. 16; in alto è variabili;
presente una toolbar minimale che permet- • calcolare la larghezza delle piste in funzione della
WHGLFDULFDUHŎOHJHUEHUHŎOHGLIRUDWXUDGL corrente;
eseguire zoom e di stampare. Sul lato sinistro • calcolare i valori dell’isolamento elettrico in funzione
è presente un’altra toolbar contenente alcune della tensione;
opzioni di visualizzazione, mentre a destra si • calcolare i parametri delle linee di trasmissione;
trova la selezione degli strati da visualizzare. • calcolare i valori delle resistenze degli attenuatori RF.
3HUFDULFDUHXQŎOHJHUEHUELVRJQDVHOH]LRQDUH
l’icona con la scritta “gerber” sovrapposta al
VLPERORGHOSROLJRQRVWUDWLŎFDWRGRSRDYHU
effettuato questa selezione, si presenterà una
ŎQHVWUDGLGLDORJRSHULOFDULFDPHQWRGHLŎOH
(Fig. 17).
8QHVHPSLRGLŎOHJHUEHUYLVXDOL]]DWR VLWUDW-
ta del copper front della demoboard oggetto
del nostro progetto pratico) è visualizzato in
Fig. 18.
Come abbiamo fatto notare all’inizio di questo
capitolo, il compito principale cui assolve Ger-
EHUYLHZ©OĬLVSH]LRQHGHLŎOHJHUEHUJHQHUDWL
SHUIDUHXQHVHPSLR©SRVVLELOHYHULŎFDUHFKH FIG. 20 – Calcolatore per PCB.
LOŎOHGLIRUDWXUDFRLQFLGDFRQOHSLD]]ROHGHL
piani di rame.
A questo scopo, una volta caricato un piano
rame (come visto precedentemente) è possibi- operazione è mostrato nel dettaglio riportato
OHVRYUDSSRUUHXQŎOHGLIRUDWXUDFDULFDQGROR in Fig. 19: come è possibile notare, i fori sono
WUDPLWHOĬLFRQDSRVWDDŎDQFRDTXHOODSHULO perfettamente allineati con le piazzole, e sia-
FDULFDPHQWRGHLJHUEHUŎOHHUHFDQWHLOVLPER- mo quindi sicuri che la realizzazione avverrà
lo di una trapano. Il risultato di questo tipo di in maniera corretta.
8QDYROWDFRPSOHWDWRLOFKHFNDQFKHVXLŎOH
JHUEHUVLSX³ŎQDOPHQWHLQYLDUHLO3&%LQOD-
vorazione presso l’azienda desiderata, attrez-
zata per realizzare lo stampato.

CONCLUSIONI
Con questa sesta puntata abbiamo concluso il
nostro viaggio alla scoperta di KiCad, comple-
tando la panoramica su Pcbnew e introducen-
do gli ultimi tool della suite.
Il progetto KiCad, che ci ha permesso di
disporre di un prezioso software ECAD di
progettazione di circuiti stampati che copre
OĬLQWHUDŎOLHUDGHOODSURGX]LRQHYDDYDQWLH
ci auguriamo che il team di sviluppo che l’ha
ideato e progettato possa offrire ancora, in
FIG. 19 - Sovrapposizione di un file di foratura futuro, delle versioni aggiornate di questo
ad un file gerber. ottimo CAD elettronico open-source. J

Elettronica In ~ Ottobre 2014 123

Potrebbero piacerti anche