Manuale di riferimento

Questo documento è coperto dal Copyright © 2010–2015 dei suoi autori come elencati in seguito. È possibile distribuirlo e/o modificarlo nei termini sia della GNU General Public License (http://www.gnu.org/licenses/gpl.html), versione 3 o successive, che della Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), versione 3.0 o successive.

Tutti i marchi registrati all’interno di questa guida appartengono ai loro legittimi proprietari.

Collaboratori

Jean-Pierre Charras, Fabrizio Tappero.

Traduzione

Marco Ciampa <[email protected]>, 2014-2018.

Feedback

Si prega di inviare qualsiasi rapporto bug, suggerimento o nuova versione a:

Data di pubblicazione e versione del software

17 marzo 2014.

Introduzione a Pcbnew

Descrizione

Pcbnew è un potente strumento software per lo sviluppo di circuiti stampati disponibile per i sistemi operativi Linux, Microsoft Windows e Apple OS X. Pcbnew viene usato assieme al programma di disegno schemi elettrici Eeschema per la creazione di circuiti stampati.

Pcbnew gestisce le librerie di impronte. Ogni impronta è un disegno del componente fisico - la disposizione delle piazzole che forniscono le connessioni al componente. Le impronte richieste vengono automaticamente caricate durante la lettura della Netlist. Qualsiasi cambiamento nella selezione delle impronte o annotazione può essere cambiato nello schema e aggiornato in pcbnew rigenerando la netlist e ricaricandola nuovamente in pcbnew.

Pcbnew fornisce uno strumento per il controllo delle regole elettriche (Design Rule Check o DRC) che previene i problemi di distanziamento tra piste e piazzole e previene anche le connessioni errate che non hanno corrispondenza nella netlist/schema elettrico. Quando si usa lo sbroglio interattivo, questo esegue in continuazione questo controllo aiutando lo sbroglio delle singole piste.

Pcbnew fornisce una visualizzazione a ratnest, una ragnatela delle connessioni delle piazzole delle impronte connesse sullo schema elettrico. Queste connessioni si spostano dinamicamente seguendo gli spostamenti effettuati di tracce e impronte.

Pcbnew possiede un semplice ma efficace sbrogliatore per assistere nella produzione del circuito. Una funzione di esportazione/importazione in formato dsn SPECCTRA permette inoltre l’uso di sbrogliatori più avanzati.

Pcbnew fornisce opzioni specifiche per la produzione di circuiti ad ultra alta frequenza (come piazzole trapezoidali e di forme complesse, disposizione automatica di bobine sul circuito stampato, ecc.).

Caratteristiche principali di progettazione

L’unità più piccola in pcbnew è 1 nanometro. Tutte le dimensioni sono memorizzate come integer di nanometri.

Pcbnew può generare fino a 32 strati rame, 14 strati tecnici (serigrafia, maschera di saldatura, adesivo componenti, pasta salda, bordi di taglio) più 4 ausiliari (disegni e commenti) e gestisce in tempo reale l’indicazione della ragnatela di connessioni (rats nest) delle tracce mancanti.

La visualizzazione degli elementi del circuito stampato (tracce, piazzole, testo, disegni…​) è personalizzabile:

  • in modalità piena o solo contorno;

  • con o senza isolamento delle tracce.

Per i circuiti complessi, la visualizzazione degli strati, zone, componenti può essere nascosta in maniera selettiva per una migliore chiarezza sullo schermo. I collegamenti delle piste possono essere evidenziati per migliorarne il contrasto.

Le impronte possono essere ruotate di qualsiasi angolo, con una risoluzione di 0.1 grado.

Pcbnew include un editor di impronte che permette la modifica delle singole impronte posta su un circuito stampato o la modifica che quelle presenti in una libreria.

L’editor impronte è fornito di molti strumenti che fanno risparmiare tempo come:

  • Numerazione piazzole veloce, semplicemente trascinando il mouse sopra le piazzole che si vuole numerare.

  • Semplice generazione multipla di piazzole circolari o rettangolari per LGA/BGA o impronte circolari.

  • Allineamento semi-automatico di righe o colonne di piazzole.

Le piazzole delle impronte hanno una serie di proprietà che possono essere regolate. Le piazzole possono essere tonde, rettangolari, ovali o trapezoidali. Le forature dei componenti passanti possono essere spostate nella piazzola e possono essere tonde o a fessura. Le singole piazzole possono anche essere ruotate ed avere particolari spaziature per le maschere di saldatura, per l’isolamento dei collegamenti o per la pasta salda. Le piazzole possono anche avere una connessione piena o una connessione a basso trasferimento termico per migliorare la manifattura del circuito stampato. Qualsiasi combinazione anche univoca di piazzole può essere inserita in un’impronta.

Pcbnew genera facilmente tutti i documenti necessari per la produzione:

  • Prodotti per la fabbricazione:

    • Files for Photoplotters in GERBER RS274X format.

    • Files for drilling in EXCELLON format.

  • Stampa di file in formato HPGL, SVG o DXF.

  • Mappe di disegno e forature in formato Postscript.

  • Stampe locali.

Osservazioni generali

A causa del livello di controllo necessario, è fortemente raccomandato l’uso di mouse a tre tasti con pcbnew. Funzioni primarie come il pan e lo zoom necessitano di un mouse a tre tasti.

Nella nuova versione di KiCad, in pcbnew sono stati introdotti cambiamenti radicali da parte di sviluppatori del CERN. Questi includono caratteristiche come un nuovo motore di render (modalità di visualizzazione OpenGL e Cairo), uno sbrogliatore interattivo "push and shove", sbroglio e accordamento di piste differenziali e a zig-zag, un editor di impronte revisionato, e molte altre ancora. Si noti che molte di queste caratteristiche esistono solo nelle nuove modalità di visualizzazione OpenGL e Cairo.

Installazione

Installazione del software

La procedura di installazione è descritta nella documentazione di KiCad.

Modifica della configurazione predefinita

Un file di configurazione predefinito kicad.pro viene fornito in kicad/share/template. Questo file viene usato come file di configurazione iniziale per tutti i nuovi progetti.

Questo file di configurazione può essere modificato per cambiare le librerie da caricare.

Per fare ciò:

  • Avviare Pcbnew usando kicad o direttamente. Su Windows è in C:\\kicad\\bin\\pcbnew.exe mentre su Linux si esegue /usr/local/kicad/bin/kicad o /usr/local/kicad/bin/pcbnew se i binari sono posizionati in /usr/local/kicad/bin.

  • Selezionare Preferenze - Librerie e Cartelle.

  • Modifica come richiesto.

  • Salva la configurazione modificata (Salva configurazione) in kicad/share/template/kicad.pro.

Gestione delle librerie di impronte

Dalla versione 4.0, Pcbnew gestisce le librerie di impronte usando file chiamati "tabelle di librerie di impronte". Una tabella di librerie di impronte contiene le descrizioni di un certo numero di singole librerie di impronte, legandole ad una ``denominazione'' per ogni libreria, che viene usata per fare riferimento alla specifica libreria nell’individuazione di un’impronta.

Ci sono diversi tipi di librerie supportate da Pcbnew, ognuna delle quali è supportata da un ``plugin'':

  • KiCad - librerie di impronte native di KiCad memorizzate in un filesystem localenel formato .pretty (cartelle contenenti file .kicad_mod)

  • Github - librerie di impronte native di KiCad nel formato .pretty, memorizzate online come un repository Github

  • Tradizionali - librerie di impronte di KiCad in un vecchio formato (file .mod)

  • Eagle - librerie di impront di Eagle (cartelle contenenti file .fp)

  • Geda-PCB - librerie in formato Geda PCB

  • È possibile scrivere solo cartelle di librerie di impronte KiCad .pretty sul disco locale (e i file .kicad_mod dentro queste cartelle).

  • Tutti gli altri formati sono in sola lettura.

È consentito avere impronte con lo stesso nome in librerie differenti. L’impronta verrà memorizzata come combinazione di libreria e nome di impronta, assicurando che venga caricata l’impronta corretta dalla libreria appropriata.

Ci sono due tabelle di librerie di impronte: quella globale e quella del progetto.

Tabella librerie impronte globale

La tabella librerie impronte globale contiene l’elenco delle librerie che sono sempre disponibili indipendentemente dal file progetto attualmente caricato. La tabella viene salvata nel file fp-lib-table nella cartella utente. La posizione di questa cartella dipende dal sistema operativo.

Tabella librerie di impronte specifica del progetto

La tabella delle librerie di impronte specifica del progetto contiene l’elenco delle librerie che sono disponibili specificatamente per il file di progetto attualmente caricato. Questa tabella può essere modificata solo quando viene caricata assieme al file di progetto della scheda. Se non viene caricato un file di progetto o non c’è il file della tabella delle librerie di impronte nel percorso del progetto, viene creata una tabella vuota che può essere modificata ed in seguito salvata assieme al file della scheda.

Quando si definiscono le voci nella tabella specifica del progetto, viene scritto un file fp-lib-table contenente queste voci nella cartella del circuito stampato aperto correntemente.

Configurazione iniziale

La prima volta che CvPcb o Pcbnew vengono eseguiti e il file della tabella globale delle impronte fp-lib-table non viene trovato nella cartella home dell’utente, Pcbnew cercherà di copiare il file della tabella delle impronte predefinito fp_global_table memorizzato nella cartella di sistema dei modelli di KiCad sul file fp-lib-table nella cartella home dell’utente. Se fp_global_table non si trova, verrà creato un file di tabella librerie di impronte vuoto nella cartella home dell’utente. Se si verifica quest’ultima azione, l’utente può sia copiare il file fp_global_table manualmente o configurare la tabella a mano. La tabella librerie di impronte predefinita include tutte le librerie di impronte standard che vengono installate come parte di KiCad.

La tabella delle librerie di impronte predefinita include tutte le librerie di impronte standard che vengono installate assieme a KiCad.

Ci sono anche file campioni di fp-lib-table nel repository ufficiale delle librerie di KiCad da usare come punto di partenza per i propri progetti:

La prima cosa da fare quando si configura KiCad è di modificare questa tabella (aggiungere/togliere voci) secondo il proprio lavoro e le librerie che questo necessita per il progetto.

Può rallentare avere tante librerie, specialmente se queste si trovano solo on-line (come le librerie Github). Se si trova che le librerie siano lente da caricare, provare a rimuovere quelle di cui non si ha bisogno.

Aggiunta voci di tabella usando il manager delle librerie

Il manager della tabella delle librerie è accessibile da:

Library tables menu item

L’immagine sottostante mostra la finestra di dialogo di modifica della tabella delle librerie di impronte che può essere aperta invocando la voce "Manager librerie di impronte" dal menu delle "Preferenze".

Footprint tables list

Per usare una libreria di impronte, bisogna prima aggiungerla alla tabella globale o alla tabella specifica del progetto. La tabella specifica del progetto è applicabile solo quando un file scheda viene aperto.

Ogni voce di libreria ha un denominatore. Questo _deve_ essere univoco nella tabella. Il denominatore non deve avere alcuna relazione con il nome file della libreria o il suo percorso.

Ci sono alcune regole per garantire la validità delle voci della tabella librerie:

  • Il carattere due punti : non può essere usato da nessuna parte nel denominatore.

  • Ogni voce di libreria deve avere un valido percorso e/o nome file a seconda del tipo di libreria. I percorsi possono essere definiti assoluti, relativi o per sostituzione di variabile ambiente (vedere sotto).

  • Deve essere selezionato il tipo appropriato di plugin, in modo consentire la corretta lettura della libreria.

C’è anche un campo apposito per aggiungere una descrizione della voce di libreria. Il campo opzioni contiene opzioni speciali che sono specifiche del plug-in ed è generalmente vuoto.

Malgrado non si possano avere denominatori di librerie duplicati nella stessa tabella, è possibile avere gli stessi denominatori sia nella tabella globale che in quella specifica del progetto. La voce della tabella specifica del progetto ha la precendenza sulla corrispondente voce della tabella globale, in caso di nomi corrispondenti.

Sostituzione variabili ambiente

Una delle più potenti caratteristiche della tabella delle librerie di impronte è la sostituzione delle variabili d’ambiente. Questa caratteristica permette di inserire i percorsi personalizzati delle posizioni dove sono memorizzate le proprie librerie, in variabili d’ambiente.

La sostituzione delle variabili d’ambiente è supportata usando la sintassi ${NOME_VAR_AMB} nel percorso della libreria di impronte.

Ci sono alcune variabili predefiniche che KiCad definisce:

  • $KISYSMOD: Questa punta alla posizione dove sono state installate con KiCad le librerie impronte predefinite. Si può sovrascrivere $KISYSMOD definendola, e ciò permette di sostituire alle librerie di impronte predefinite di KiCad le proprie.

  • Quando un file di circuito stampato viene caricato, Pcbnew definisce anche $KPRJMOD usando il percorso del file. Ciò permette di creare librerie nel percorso del progetto senza dover definire percorsi assoluti alla libreria nella tabella delle librerie di impronte specifiche del progetto.

Aggiunta di vodi di tabella usando l’assistente librerie

È disponibile un assistente interattivo per aiutare ad aggiungere librerie alle proprie tabelle. È accessibile dal menu:

Library tables menu item

Esso può essere avviato anche dal gestore delle librerie, usando il pulsante ``Accoda con l’assistente''.

Qui, è selezionata l’opzione delle librerie locali.

Pagina d’inizio assistente di accodamento librerie impronte locali

Qui, viene selezionata l’opzione librerie remote.

Pagina d’inizio assistente di accodamento librerie impronte GitHub

L’assistente guiderà l’utente attraverso i passi necessari per aggiungere una libreria, che varieranno a seconda del tipo di libreria si aggiungerà. Il processo per ogni tipo è spiegato qui sotto.

Dopo che un insieme di librerie viene selezionato, la pagina successiva verifica la scelta:

Validazione assistente tabella librerie

Se alcune librerie selezionate non sono corrette (non supportate, o non sono librerie di impronte…​) queste verranno spuntate come ``Non valida''.

L’ultima scelta è la tabella librerie di impronte da popolare che può essere sia:

  • la tabella globale, o la

  • tabella specifica del progetto

Scelta dell’assistente di librerie di impronte della cartella locale
Aggiunta librerie locali esistenti

Si potrebbero avere librerie locali già presenti sul proprio computer. Per esempio:

  • Cartelle pretty di KiCad scaricate in precedenza

  • File KiCad .mod provenienti da vecchie installazioni

  • Librerie Geda o Eagle

Queste possono essere aggiunte selezionando l’opzione ``File sul proprio computer''. Verrà richiesta la cartella della libreria da aggiungere ed il formato:

Selezione tramite assistente di librerie locali di impronte

Se non si seleziona il formato, l’assistente proverà a indovinare il giusto formato.

Aggiunta librerie Github

L’assistente può anche aggiungere librerie da Github selezionando l’opzione ``Repository Github''.

È necessario specificare l’account Github che contiene i repository che si vuole aggiungere.

L’account ufficiale delle librerie Github di KiCad è https://github.com/KiCad

Si può scegliere di salvare una copia locale. Se non si salva una copia locale, la libreria sarà una libreria Github, e si risincronizzerà ad ogni ricarica di libreria. Se si salva una copia locale, la libreria diventerà una libreria KiCad (pretty) e non verrà automaticamente aggiornata in futuro.

La prossima pagina caricherà un elenco di repository .pretty trovati sul quell’account Github. Si può scegliere di aggiungerne quanti si desidera alla libreria.

Selezione di Github delle librerie di impronte con l’assistente

Dopo la conferma, se si è scelto di salvare una copia, le impronte verranno scaricate subito nella posizione locale specificata. Se si sta usando il plugin Github (no copie locali), le impronte vengono caricate da Github alla bisogna.

Uso del plugin di KiCad

Il plugin KiCad si occupa di gestire le librerie native di KiCad che si trovano sul computer (o su altro file system accessibile localmente).

Viene usato per librerie pre-installate che vengono installate assieme a KiCad, ma anche per altre librerie KiCad, provenienti dalla collezione di librerie ufficiale di KiCad come anche da terze parti o curate personalmente.

Installazione delle librerie del plugin di KiCad

L’assistente librerie di impronte serve ad aiutare ad installare librerie già presenti su disco o su Github. Per quelle su disco, è comunque necessario prima installarle manualmente.

Una libreria KiCad è una cartella che contiene un certo numero di file .kicad_mod.

Questo viene spesso fatto decomprimendo un archivio, copiando una cartella da un’altra posizione, o clonando un repository versionato.

Il plugin di KiCad non specifica alcun tipo di controllo di versionamento, ma Git è molto usato per tenere traccia dei cambiamenti a librerie, cambiamenti che possono essere critici, e per assicurare che i dati di libreria vengano registrati in modo sicuro e che soprattutto vengano salvati.

È facile tenere traccia dei cambiamenti e contribuire alle librerie Github ufficiali di KiCad. Ciò si fa usando il software di controllo versionamento Git. Se si vuole contribuire, è necessario fare un fork dei repository su Github in modo da poter poi inviare delle richieste di inclusione (pull request). Se si vuole solo aggiornare le librerie quando serve, non è necessario fare tutto ciò, basta solo fare una clonazione diretta delle librerie ufficiali di KiCad e aggiornare (tramite pull) quando serve.

Inviando dei pull request tramite Github permette al controllore automatico delle librerie standard di verificare i cambiamenti che proponiamo. Vedere Convenzioni delle librerie di KiCad per i dettagli sulle convenzioni adottate nelle librerie.

Uso del plugin GitHub

Il plugin di GitHub è uno speciale plugin che fornisce una interfaccia per un accesso in sola lettura ad un repository remoto GitHub. Questo repository consiste in un insieme di impronte .pretty. Il plugin fornisce opzionalmente supporto a funzionalità ``Copy-On-Write'' (COW) per la modifica delle impronte lette dal repository GitHub e salvate in locale.

  • Il plugin ``GitHub'' serve ad accedere in sola lettura a repository remoti di librerie di impronte* su https://github.com.

  • Non c’è modo di avvertire se un repository remoto è cambiato dal suo ultimo utilizzo. È necessario procedere con cautela quando si usano impronte direttamente da Github.

Per aggiungere una voce GitHub alla tabella librerie di impronte la voce ``Percorso libreria'' nella tabella delle librerie di impronte deve essere impostata ad un URL Github valido.

Per esempio:

https://github.com/liftoff-sr/pretty_footprints

Tipicamente gli URL GitHub hanno la forma:

https://github.com/nome_utente/nome_repository

Il Tipo di plugin'' deve essere impostato a Github''.

La tabella sottostante mostra una voce di tabella delle librerie di impronte con le opzioni predefinite (senza supporto COW):

Denominazione Percorso libreria Tipo plugin Opzioni Descrizione

github

https://github.com/liftoff-sr/pretty_footprints

Github

Liftoff’s GH footprints

Copy-On-Write

Per abilitare la caratteristica "Copy-On-Write" l’opzione allow_pretty_writing_to_this_dir deve essere aggiunta alle impostazioni delle "Opzioni" della voce della tabella delle librerie di impronte. Questa opzione è il `Percorso libreria'' per la memorizzazione locale delle copie modificate delle impronte lette dal repository GitHub. Le impronte salvate su questo percorso vengono combinate con la parte a sola lettura del repository GitHub per creare la libreria impronte. Se manca questa opzione, allora la libreria GitHub rimane a sola lettura. Se l’opzione è presente per una libreria GitHub, allora qualunque scrittura a questa libreria ibrida finirà nella cartella locale `*.pretty.

La porzione residente di github.com di questa libreria ibrida COW è sempre in sola lettura. Questo significa che non è possibile cancellare niente o neanche modificare direttamente qualunque impronta del repository GitHub specificato. La libreria aggregata rimane di tipo ``Github'' in tutte le successive disquisizioni, ma in effetti questa consiste di entrambe le parti; la porzione locale in lettura/scrittura e quella remota, in sola lettura.

La tabella sottostante mostra una voce nella tabella librerie di impronte con l’opzione COW. Si noti l’uso della variabile ambiente ${HOME} solo come esempio. La cartella github.pretty è posizionata in ${HOME}/pretty/path. Ogni volta che si usa l’opzione allow_pretty_writing_to_this_dir, è necessario creare manualmente ed in anticipo la cartella, il cui nome deve terminare con l’estensione .pretty.

Denominazione Percorso libreria Tipo plugin Opzioni Descrizione

github

https://github.com/liftoff-sr/pretty_footprints

Github

allow_pretty_writing_to_this_dir=${HOME}/pretty/github.pretty

Liftoff’s GH footprints

Il caricamento delle impronte darà sempre la precedenza alle impronte locali che si trovano nel percorso dato dall’opzione allow_pretty_writing_to_this_dir. Una volta salvata un’impronta nella cartella di libreria COW locale facendo un salvataggio impronta nell’editor delle impronte, nessun aggiornamento a GitHub verrà notato dal caricamento di un’impronta con lo stesso nome di quella salvata localmente.

Mantenere sempre una cartella locale .pretty separata per ogni libreria GitHub, mai combinarle facendo riferimento alla stessa cartella più di una volta. Inoltre, non usare la stessa cartella COW (.pretty) in una voce di tabella di libreria impronte. Ciò farebbe molto probabilmente confusione. Il valore dell’opzione allow_pretty_writing_to_this_dir espanderà qualunque variabile ambiente che utilizzi la notazione ${} per creare il percorso in modo analogo alle impostazioni del ``Percorso librerie''.

Uso del Copy-On-Write per condividere impronte

Qual è il punto di COW? Serve a caricare col turbo la condivisione delle impronte. Se si inviano periodicamente via e-mail modifiche al footprint di COW al manutentore del repository GitHub, si può aiutare ad aggiornare la copia di GitHub. Inviare semplicemente i singoli file * .kicad_mod che si trovano nelle cartelle COW al manutentore del repository GitHub. Dopo aver ricevuto conferma delle modifiche, si può tranquillamente eliminare i file COW e il footprint aggiornato dalla parte di sola lettura della libreria GitHub scorrerà verso il basso. L’obiettivo dovrebbe essere quello di mantenere il file COW il più piccolo possibile contribuendo frequentemente alle copie master condivise su https://github.com.

È possibile contribuire anche allo sviluppo delle librerie usando cloni locali Git delle librerie in oggetto usando il plugin KiCad e sottoponendo a pull request le modifiche effettuate ai responsabili delle librerie.
Usare una cache per Github

Il plugin di Github può essere lento, dato che deve scaricare tutte le librerie da Internet prima di poterle utilizzare.

Nginx può essere usato come cache sul server github per accelerare il caricamento delle impronte. Può essere installato localmente o su un server di rete. Nei sorgenti di KiCad c’è una configurazione di esempio in pcbnew/github/nginx.conf. Il modo più semplice per farlo funzionare è sovrascrivere il file predefinito nginx.conf con questo e fare export KIGITHUB=http://mio_server:54321/KiCad, dove mio_server è l’IP o il nome di dominio della macchina su cui gira nginx.

Modelli d’utilizzo

Le librerie di impronte possono essere definite globalmente o specificamente per il progetto attualmente caricato. Le librerie di impronte definite nella tabella globale dell’utente sono sempre disponibili e sono memorizzate nel file fp-lib-table nella cartella home dell’utente. È sempre possibile accedere alle librerie di impronte globali anche quando non è aperto alcun file di netlist di progetto. La tabella impronte specifica del progetto è attiva solo per il file di netlist correntemente aperto. La tabella della libreria di impronte specifiche del progetto viene salvata nel file fp-lib-table nel percorso del file della scheda attualmente aperta. È possibile definire le librerie in entrambe le tabelle.

Ci sono vantaggi e svantaggi per ogni metodo:

  • Si possono definire tutte le proprie librerie in una tabella globale, e questo significa che saranno sempre disponibili quando servono.

    • The disadvantage of this is that you may have to search through a lot of libraries to find the footprint you are looking for.

  • Si può definire tutte le proprie librerie sulla base di uno specifico progetto.

    • The advantage of this is that you only need to define the libraries you actually need for the project which cuts down on searching.

    • The disadvantage is that you always have to remember to add each footprint library that you need for every project.

  • È possibile anche definire librerie di impronte sia globali che specifiche del progetto.

Un modello d’uso pratico potrebbe essere anche quello di definire le librerie più comunemente utilizzate a livello globale, mentre inserire le librerie necessarie solo per il progetto corrente nella tabella librerie specifiche del progetto. Non ci sono restrizioni sul modo in cui si possono impostare le proprie librerie.

Modifica delle impronte in un progetto di circuito stampato

Quando un’impronta viene aggiunta ad un circuito stampato, l’intera impronta viene copiata del file del circuito stampato (.kicad_pcb). Ciò significa che i cambiamenti all’impronta nella libreria non influiscono automaticamente sul circuito stampato.

Questo significa anche che si possono modificare individualmente le impronte sul circuito stampato senza influire su altre istanze della stessa impronta (sia sullo stesso che su altri circuiti stampati).

Comunque, se si modifica l’impronta della libreria, la prossima volta che se ne inserirà un’istanza, essa non corrisponderà alle impronte esistenti con lo stesso nome.

Una pratica molto diffusa consiste nel copiare tutte le impronte che si usano in una posizione separata e versionata, facendo in modo tale che il progetto non venga inaspettatamente coinvolto da cambiamenti riguardanti librerie utente o di sistema. Inoltre, in questo modo, ci si assicura che tutte le risorse delle impronte usate per il circuito stampato possano essere facilmente distribuite assieme ad i file del circuito stampato.

Operazioni generali

Barre strumenti e comandi

In Pcbnew è possibile eseguire comandi usando vari metodi:

  • Il menu testuale in cima alla finestra principale.

  • Il menu della barra in alto.

  • Il menu della barra a destra.

  • Il menu della barra a sinistra.

  • I pulsanti del mouse (opzioni di menu). Specificatamente:

    • The right mouse button reveals a pop-up menu the content of which depends on the element under the mouse arrow.

  • Tastiera (Tasti funzione F1, F2, F3, F4, Maiusc, Canc, +, -, Pag su, Pag giù e la Barra spazio). Il tasto Esc generalmente annulla l’operazione in corso.

La schermata sottostante illustra alcune delle possibilità di accesso a queste operazioni:

Right click menu

Comandi col mouse

Comandi di base

Pulsante sinistro
  • Single-click selects and displays the characteristics of the element under the cursor in the lower message panel.

  • Double-click displays the properties editor (if the element is editable) of the element under the cursor.

  • Single-click hold and drag starts a block selection operation.

Center button/wheel
  • Rapid zoom and some commands in layer manager.

  • Hold down the center button and draw a rectangle to zoom to the described area. Rotation of the mouse wheel will allow you to zoom in and zoom out.

Pulsante destro
  • Displays a pop-up menu with the operations permitted on the element under the cursor.

In high density designs there can be so many elements under the cursor that the heuristics algorithm cannot determine a single element. In this case a disambiguation pop-up menu will be displayed with all of the elements to allow selection of the desired element.

Force display of disambiguation pop-up menu

In some instances the heuristics algorithm does not allow the desired element to be selected. In this case, the disambiguation pop-up menu display can be forced to display by holding the Ctrl key on Windows and Linux systems and holding Alt on macOS systems.

Blocks

Selection behavior

The block drag behavior determines how elements are selected.

  • Dragging left to right selects only elements fully contained within the block.

  • Dragging right to left selects elements fully contained within and intersect the block.

Successive block selection can be used to change the selected elements. The table below shows the block select modifier keys and their associated behavior.

Modifier Keys Selection Effect

Shift

Add block to existing selections.

Alt + Shift Linux and Windows, Ctrl + Shift macOS

Subtract block from existing selections.

Operazioni sui blocchi

Le operazioni per spostare, invertire (specularmente), copiare, ruotare e cancellare un blocco sono tutte disponibili tramite il menu a scomparsa. Inoltre, si può fare lo zoom dell’area descritta dal blocco.

La struttura del blocco è tracciata spostando il mouse mentre si mantiene premuto il pulsante sinistro del mouse. L’operazione viene eseguita quando il pulsante viene rilasciato.

Mantenendo premuti uno dei tasti commutatori Maiusc o Ctrl, o entrambi, durante il disegno del riquadro, l’operazione di inversione, rotazione o cancellazione viene mostrata automaticamente come mostrato nella seguente tabella:

Action Effect

Left mouse button held down

Trace framework to move block

Shift + Left mouse button held down

Trace framework for invert block

Ctrl + Left mouse button held down

Trace framework for rotating block 90°

Shift + Ctrl + Left mouse button held down

Trace framework to delete the block

Center mouse button held down

Trace framework to zoom to block

Spostando un blocco:

  • Sposta il bloco alla nuova posizione ed opera con il pulsante sinistro del mouse per piazzare gli elementi.

  • To cancel the operation use the right mouse button and select Cancel Block from the menu or press the Esc key.

In alternativa, se nessun tasto viene premuto durante il disegno del blocco, usare il pulsante destro del mouse per mostrare il menu a scomparsa e selezionare l’operazione richiesta.

Per ogni operazione di blocco una finestra di selezione consente di limitare l’azione solo ad alcuni elementi.

Selezione della dimensione della griglia

Durante la disposizione degli elementi il cursore si sposta su una griglia. La griglia può essere abilitata o disabilitata usando l’icona presente nella barra degli strumenti di sinistra.

Una qualsiasi delle dimensioni della griglia predefinite o una griglia definita dall’utente può essere scelta utilizzando la finestra a comparsa o il selettore a discesa della barra degli strumenti nella parte superiore dello schermo. La dimensione della griglia definita dall’utente viene impostata utilizzando l’opzione della barra del menu Dimensioni → Griglia definita dall’utente.

Regolazione del livello dello zoom

Il livello di zoom può essere modificato utilizzando uno dei seguenti metodi:

  • Aprendo la finestra a scomparsa (usando il tasto destro del mouse) e poi selezionando lo zoom desiderato.

  • Usando i seguenti tasti funzione:

    • F1: Enlarge (zoom in)

    • F2: Reduce (zoom out)

    • F3: Redraw the display

    • F4: Center view at the current cursor position

  • Ruota la rotellina del mouse.

  • Mantenendo premuto il pulsante centrale del mouse si disegna un rettangolo che descrive l’area su cui viene poi effettuato uno zoom."

Visualizzazione delle coordinate del puntatore

The cursor coordinates are displayed in inches or millimeters as selected using the 'In' or 'mm' icons on the left hand side toolbar.

Qualunque unità di misura sia selezionata, Pcbnew lavorerà sempre alla precisione di 1/10,000 di pollice.

La barra di stato in fondo allo schermo restituisce:

  • Le impostazioni di zoom correnti.

  • La posizione assoluta del puntatore del mouse.

  • La posizione relativa del puntatore. Si noti che le coordinate relative (x,y) possono essere impostate a (0,0) in qualunque punto premendo la barra spazio. La posizione del puntatore viene così visualizzata relativa a questa nuova posizione.

Inoltre la posizione relativa del puntatore può essere visualizzata alternativamente usando le sue coordinate polari (raggio + angolo). Questa funzionalità può essere abilitata o disabilitata usando l’icona presente nella barra strumenti di sinistra.

Pcbnew coordinate status display

Comandi da tastiera

Molti comandi sono accessibili direttamente con la tastiera. La selezione può essere sia minuscola che maiuscola. Molti tasti sono mostrati nei menu. Alcuni tasti che non appaiono sono:

  • Canc: cancella una impronta o una pista (disponibile solo se la modalità impronte o la modalità piste è attiva).

  • V: se lo strumento pista è attivo cambia strato di lavoro, oppure piazza un via se è in corso la stesura di una pista.

  • + e -: selezionano lo strato successivo o quello precedente.

  • Ctrl+F1: mostra l’elenco dei comandi da tastiera.

  • Spazio: azzera le coordinate relative.

Operazioni sui blocchi

Le operazioni di spostamento, inversione (speculare), copia, rotazione e cancellazione di un blocco sono tutte disponibili dal menu a discesa. Inoltre, si può centrare la vista sulla selezione del blocco.

La struttura del blocco è tracciata spostando il mouse mentre si mantiene premuto il pulsante sinistro del mouse. L’operazione viene eseguita quando il pulsante viene rilasciato.

Mantenendo premuti uno dei tasti Maiusc o Ctrl, entrambi Maiusc e Ctrl assieme, o Alt, mentre viene disegnato un blocco, l’operazione di inversione, rotazione, cancellazione o copia viene selezionata automaticamente come mostrato nella tabella qui sotto:

Azione Effetto

Pulsante sinistro del mouse

Sposta blocco

Maiusc + Pulsante sinistro del mouse

Inverti (specularmente) blocco

Ctrl + Pulsante sinistro del mouse

Ruota blocco di 90°

Maiusc + Ctrl + Pulsante sinistro del mouse

Cancella il blocco

Alt + Pulsante sinistro del mouse

Copia il blocco

Quando viene effettuato un comando su un blocco, viene mostrata una finestra di dialogo, e gli elementi coinvolti in questo comando possono essere scelti.

Any of the commands above can be canceled via the same pop-up menu or by pressing the Escape key (Esc).

Pcbnew block selection dialog

Le unità di misura usate per mostrare i valori dimensionali sono pollici (inch) e millimetri (mm). L’unità desiderata può essere selezionata premendo l’icona presente nella barra strumenti a sinistra: unit inch unit mm. Comunque, (N.d.T. a prescindere dall’unità di misura corrente) si può battere l’unità usata per definire il valore, quando si sta inserendo un nuovo valore.

Le unità di misura accettate sono:

1 in

1 pollice

1 "

1 pollice

25 th

25 thou (-sands = millesimi di pollice)

25 mi

25 mils, uguale a thou

6 mm

6 millimetri

Le regole sono:

  • Gli spazi tra il numero e l’unità sono accettati.

  • Solo le prime due lettere sono significative.

  • Nei paesi dove si possono usare separatori decimali alternativi al punto, il punto (.) può essere comunque utilizzato. Perciò 1,5 e 1.5 sono la stessa cosa in Francese e in Italiano.

Barra del menu in alto

La barra dei menu in alto fornisce accesso ai file (caricamento e salvataggio), opzioni di configurazione, stampa, tracciatura e file delle guide.

Pcbnew top menu bar

Il menu file

Pcbnew file menu

The File menu allows the loading and saving of printed circuits files, as well as printing and plotting the circuit board. It enables the export (with the format GenCAD 1.4) of the circuit for use with automatic testers.

Il menu modifica

Permette alcune modifiche globali:

Pcbnew edit menu

Il menu vista

Permette:

  • Mostra/nasconde il gestore degli strati (la selezione dei colori per la visualizzazione degli strati ed altri elementi. Permette anche di abilitare/disabilitare la visualizzazione degli elementi).

  • Mostra/Nascondi la barra strumenti microonde.

  • Mostra il navigatore librerie e il visualizzatore 3D.

  • Funzioni di zoom

  • Impostazione griglia e unità

  • Selezione modalità disegno e contrasto

Pcbnew view menu

Funzioni di zoom e di visualizzazione 3D della scheda.

Visualizzatore 3D

Apre il visualizzatore 3D. Ecco un esempio:

Sample 3D board

Fornisce accesso a due finestre di dialogo:

  • Impostazioni strati (numero, abilitazioni e nomi degli strati)

  • Impostazione regole di progettazione (dimensioni piste e via, isolamenti).

Un menu importante. Permette la regolazione di:

  • Dimensione dei testi e spessore delle linee usate per i disegni.

  • Dimensioni e caratteristiche delle piazzole.

  • Impostazione dei valori globali per i livelli maschera di saldatura e pasta di saldatura

Pcbnew setup menu

Il menu inserisci

Stessa funzione dello strumento presente nella barra strumenti a destra.c

Pcbnew place menu

Il menu sbroglia

Funzioni di sbroglio.

Pcbnew route menu

Il menu ispeziona

Permette:

  • Elenco collegamenti

  • Funzione misura

  • Il controllo regole di progettazione

Pcbnew inspect menu

Permette:

  • Mostra la finestra di dialogo di caricamento della netlist

  • Aggiorna il C.S. dallo schema elettrico

  • Aggiornare le impronte da libreria

  • Collaborazione con FreeRoute

  • Console di script Python

  • Plugin esterni

Pcbnew tools menu

Il menu delle preferenze

Pcbnew preferences menu

Permette:

  • La selezione delle librerie di impronte.

  • Gestione delle opzioni generali (unità, ecc.).

  • La gestione delle altre opzioni di visualizzazione.

  • Creazione, modifica (e rilettura) del file dei comandi da tastiera.

Il menu di aiuto

Fornisce accesso ai manuali utente e al menu di informazioni sulla versione (di Pcbnew).

Uso delle icone nella barra in cima

Questa barra strumenti dà accesso alle funzioni principali di Pcbnew.

Pcbnew top toolbar

new board

Creation of a new printed circuit.

open brd file

Opening of an old printed circuit.

save

Save printed circuit.

sheetset

Selection of the page size and modification of the file properties.

module editor

Opens Footprint Editor to edit library or pcb footprint.

modview icon

Opens Footprint Viewer to display library or pcb footprint.

undo redo

Undo/Redo last commands (10 levels)

print button

Display print menu.

plot

Display plot menu.

zoom in zoom out

Zoom in and Zoom out (relative to the center of screen).

zoom redraw

Redraw the screen

zoom fit in page

Fit to page

find

Find footprint or text.

netlist

Netlist operations (selection, reading, testing and compiling).

drc

DRC (Design Rule Check): Automatic check of the tracks.

Pcbnew toolbar layer select dropdown

Selection of the working layer.

Pcbnew layer pair indicator

Selection of layer pair (for vias)

mode module

Footprint mode: when active this enables footprint options in the pop-up window.

mode track

Routing mode: when active this enables routing options in the pop-up window

web support

Direct access to the router Freerouter

py script

Show / Hide the Python scripting console

Barra ausiliaria

Pcbnew track thickness dropdown

Selezione di uno spessore pista già in uso.

Pcbnew via size dropdown

Selezione di una dimensione via già in uso.

auto track width

Dimensione automatica pista: se inserita durante la creazione di una nuova pista, quando questa inizia da una pista esistente, la larghezza della nuova pista viene impostata alla larghezza della pista esistente.

Pcbnew grid size dropdown

Selezione della dimensione della griglia.

Pcbnew zoom factor dropdown

Selezione dello zoom.

La barra strumenti sul lato destro

Questa barra strumenti dà accesso allo strumento di modifica per cambiare la visualizzazione del circuito stampato in Pcbnew.

Pcbnew right toolbar

cursor

Select the standard mouse mode.

net highlight

Highlight net selected by clicking on a track or pad.

tool ratsnest

Display local ratsnest (Pad or Footprint).

module

Add a footprint from a library.

add tracks

Placement of tracks and vias.

add zone

Placement of zones (copper planes).

add keepout area

Placement of keepout areas ( on copper layers ).

add dashed line

Draw Lines on technical layers (i.e. not a copper layer).

add circle

Draw Circles on technical layers (i.e. not a copper layer).

add arc

Draw Arcs on technical layers (i.e. not a copper layer).

text

Placement of text.

add dimension

Draw Dimensions on technical layers (i.e. not the copper layer).

add pcb target

Draw Alignment Marks (appearing on all layers).

delete

Delete element pointed to by the cursor

Note: When Deleting, if several superimposed elements are pointed to, priority is given to the smallest (in the decreasing set of priorities tracks, text, footprint). The function "Undelete" of the upper toolbar allows the cancellation of the last item deleted.

pcb offset

Offset adjust for drilling and place files.

grid select axis

Grid origin. (grid offset). Useful mainly for editing and placement of footprints. Can also be set in Dimensions/Grid menu.

  • Piazzamento di impronte, piste, zone in rame, testo, ecc.

  • Evidenziazione collegamenti.

  • Creazione di note, elementi grafici, ecc.

  • Eliminare elementi.

La barra strumenti sul lato sinistro

La barra strumenti posta sul lato sinistro fornisce le opzioni di visualizzazione e controllo sull’interfaccia di Pcbnew.

Pcbnew left toolbar

drc off

Turns DRC (Design Rule Checking) on/off. Caution: when DRC is off incorrect connections can be made.

grid

Turn grid display on/off Note: a small grid may not be displayed unless zoomed in far enough

polar coord

Polar display of the relative co-ordinates on the status bar on/off.

unit inch unit mm

Display/entry of coordinates or dimensions in inches or millimeters.

cursor shape

Change cursor display shape.

general ratsnest

Display general rats nest (incomplete connections between footprints).

local ratsnest

Display footprint rats nest dynamically as it is moved.

auto delete track

Enable/Disable automatic deletion of a track when it is redrawn.

show zone

Show filled areas in zones

show zone disable

Do not show filled areas in zones

show zone outline only

Show only outlines of filled areas in zones

pad sketch

Display of pads in outline mode on/off.

via sketch

Display of vias in outline mode on/off.

showtrack

Display of tracks in outline mode on/off.

contrast mode

High contrast display mode on/off. In this mode the active layer is displayed normally, all the other layers are displayed in gray. Useful for working on multi-layer circuits.

layers manager

Hide/Show the Layers manager

mw toolbar

Access to microwaves tools. Under development

Finestre a scomparsa e modifiche veloci

Il clic destro con il mouse apre una finestra a scomparsa. I suoi contenuti dipendono dall’elemento individuato dal puntatore.

Questo dà immediato accesso a:

  • Changing the display (center display on cursor, zoom in or out or selecting the zoom).

  • Selezione della dimensione della griglia.

  • Inoltre un clic destro su un elemento abilita la modifica dei parametri degli elementi più spesso modificati.

Le schermate sotto mostrano come appaiono le finestre a scomparsa.

Modalità disponibili

Ci sono 3 modalità di utilizzo dello schermo. Nei menu a scomparsa, queste tre modalità aggiungono o tolgono alcuni comandi specifici.

mode module e mode track disabilitate

Modalità normale

mode module abilitata

Modalità impronte

mode track abilitata

Modalità piste

Modalità normale

  • Menu a scomparsa senza selezione:

Pcbnew popup normal mode
  • Menu a scomparsa con pista selezionata:

Pcbnew popup normal mode track
  • Menu a scomparsa con impronta selezionata:

Pcbnew popup normal mode footprint

Modalità impronta

Alcuni esempi in modalità impronta (mode module abilitata)

  • Menu a scomparsa senza selezione:

Pcbnew popup footprint mode
  • Menu a scomparsa con pista selezionata:

Pcbnew popup footprint mode track
  • Menu a scomparsa con impronta selezionata:

Pcbnew popup footprint mode footprint

Modalità pista

Gli stessi esempi in modalità pista (mode track abilitata)

  • Menu a scomparsa senza selezione:

Pcbnew popup track mode
  • Menu a scomparsa con pista selezionata:

Pcbnew popup track mode track
  • Menu a scomparsa con impronta selezionata:

Pcbnew popup track mode footprint

Implementazione schemi

Collegamento di uno schema ad un circuito stampato

In generale, uno schema elettrico è connesso con il suo circuito stampato per mezzo del file di netlist, che normalmente viene generato dall’editor degli schemi elettrici usato per creare lo schema. Pcbnew accetta file di netlist creati con Eeschema o Orcad PCB 2. Al file di netlist, generato dall’editor degli schemi elettrici, solitamente mancano le impronte che corrispondono ai vari componenti. Di conseguenza si rende necessario uno stadio intermedio. Durante questo processo intermedio viene eseguita l’associazione tra componenti e impronte. In KiCad, si usa il programma CvPcb per creare questa associazione e viene prodotto un file di nome *.cmp. CvPcb aggiorna anche il file di netlist usando queste informazioni.

CvPcb può anche generare un `file di cose'' `*.stf che possono essere back-annotate nel file dello schema elettrico come il campo F2 per ogni componente, risparmiandoci il compito di ri-assegnare le impronte in ogni passaggio di modifica dello schema elettrico. In Eeschema la copia di un componente copierà anche l’assegnazione dell’impronta e reimposterà il riferimento come non assegnato per la successiva annotazione auto incrementale.

Pcbnew legge il file di netlist modificato .net e, se esiste, il file .cmp. Nell’eventualità che una impronta sia stata cambiata direttamente in Pcbnew il file .cmp viene automaticamente aggiornato evitando la necessità di eseguire nuovamente CvPcb.

Fare riferimento alla immagine del manuale ``Introduzione a KiCad'' nella sezione Diagramma di flusso di KiCad che illustra il flusso di lavoro di KiCad e come i file intermedi vengano ottenuti e usati dai diversi strumenti software che compongono KiCad.

Procedura per la creazione di un circuito stampato

Dopo aver creato il prorio schema in Eeschema:

  • Generare la netlist usando Eeschema.

  • Assegnare ogni componente nel file di netlist alla forma sul circuito stampato (detta anche impronta) corrispondente usata sul circuito stampato usando Cvpcb.

  • Avviare Pcbnew e leggere il file di netlist modificato. Ciò leggerà anche il file con le selezioni delle impronte.

Pcbnew quindi caricherà automaticamente tutte le impronte necessarie. Ora le impronte possono essere piazzate manualmente o automaticamente sulla scheda e si possono collegare le piste.

Procedura per aggiornare un circuito stampato

Se lo schema elettrico viene modificato (dopo la produzione del circuito stampato), si devono ripetere i seguenti passi:

  • Generare un nuovo file di netlist usando Eeschema.

  • Se i cambiamenti allo schema comprendono nuovi componenti, le impronte corrispondenti devono essere assegnate usando Cvpcb.

  • Eseguire Pcbnew e rileggere la netlist modificata (ciò comporterà anche la rilettura del file con le selezioni delle impronte).

Pcbnew allora caricherà automaticamente ogni nuova impronta, aggiungendo le nuove connessioni e rimuovendo quelle ridondanti. Questo processo viene chiamato forward annotation ed è una procedura molto comune quando si crea ed aggiorna un circuito stampato.

Lettura del file netlist - caricamento impronte

Accessibile dall’icona netlist

Pcbnew netlist dialog

Opzioni disponibili

Selezione impronte

Componenti e collegamento impronte corrispondenti sulla scheda: il collegamento normale è il riferimento (come opzione normale la marcatura temporale può essere usata dopo la riannotazione dello schema, se l’annotazione precedente era andata persa (opzione speciale)

Scambio impronte:

Se un’impronta è cambiata nella netlist: mantieni la vecchia impronta o cambia con la nuova versione.

Piste non connesse

Mantiene tutte le piste esistenti, o cancella le piste errate

Impronte extra

Rimuovi le impronte presenti sulla scheda ma non nella netlist. Le impronte con attributo "Bloccata" non saranno rimosse.

Collegamenti a piazzola singola

Rimuovi i collegamenti a singola piazzole.

Caricamento nuove impronte

Con la visualizzazione GAL quando nuove impronte vengono rilevate nel file netlist, queste vengono caricate, sparse, e rese disponibili per il piazzamento come grupo dove si desidera.

Pcbnew import spread footprints

Con la visualizzazione tradizionale quando le nuove impronte vengono rilevate nel file netlist, queste vengono automaticamente caricate e piazzate alle coordinate (0,0).

Pcbnew stacked footprints

Le nuove impronte possono essere spostate e sistemate una ad una. Un modo migliore per spostarle automaticamente è:

Attivazione della modalità impronta (mode module)

Spostare il puntatore del mouse in un’area consona (libera da componenti) e fare clic con il tasto destro del mouse:

Pcbnew move all modules
  • Posiziona automaticamente le nuove impronte, se c’è già una scheda con impronte preesistenti.

  • Posiziona automaticamente tutte le impronte, per la prima volta (quando si crea una scheda).

La schermata seguente mostra i risultati.

Pcbnew unstacked footprints

Strati

Introduzione

Pcbnew può lavorare con 50 strati diversi:

  • Tra 1 e 32 strati rame per lo sbroglio piste.

  • 14 strati tecnici di funzione prefissata:

    • 12 strati appaiati (fronte/retro): Adhesive, Solder Paste, Silk Screen, Solder Mask, Courtyard, Fabrication

    • 2 strati singoli: Edge Cuts, Margin

  • 4 strati ausiliari che si può usare a piacimento: Comments, E.C.O. 1, E.C.O. 2, Drawings

Impostazione degli strati

To open the Layers Setup from the menu bar, select SetupLayers Setup.

The board thickness, number of copper layers, their names, and their function are configured there. Unused technical layers can be disabled.

Pcbnew layer setup dialog

Descrizione strati

Selezione degli strati rame

Gli strati rame sono i classici strati di lavoro usati per piazzare e impostare le piste. La numerazione degli strati comincia da 0 (il primo strato in rame, di fronte) e finisce a 31 (retro). Dato che i componenti non possono essere piazzati negli strati interni (dal numero 1 al 30), solo gli strati numero 0 e 31 sono strati componente.

Il nome di tutti gli strati rame è modificabile. Gli strati rame hanno un attributo di funzione utile nell’uso il router esterno Freerouter. Esempi di nomi di strati predefiniti sono F.Cu e In0 per lo strato numero 0.

Pcbnew layer setup dialog layer properties

Strati tecnici accoppiati

12 strati tecnici sono accoppiati: uno per la parte frontale, ed uno per il retro. Li si possono riconoscere dal prefisso F.'' o B.'' nel nome. Gli elementi che compongono un’impronta (piazzola, disegno, testo) di uno di questi strati vengono automaticamente resi speculari e spostati sugli strati complementari quando l’impronta viene ribaltata.

Gli strati tecnici accoppiati sono:

Adesivo (F.Adhes e B.Adhes)

Questi vengono usati per l’applicazione di colla che serve a mantenere i componenti SMD al loro posto sul circuito stampato, in genere durante la saldatura ad onda.

Pastasalda (F.Paste e B.Paste)

Usato per produrre una maschera per permettere la deposizione della pasta salda (chiamata anche flussante) sopra le piazzole dei componenti a montaggio superficiale, generalmente prima della fase di saldatura ad onda. In genere, solo le piazzole a montaggio superficiale occupano questi strati.

Serigrafia (F.SilkS e B.SilkS)

Sono gli strati dove appaiono i disegni dei componenti. È dove si disegnano cose come la polarità del componente, l’indicatore del piedino 1, i riferimenti per il montaggio, …​

Maschera di saldatura (F.Mask e B.Mask)

Questi definiscono le maschere di saldatura. Tutte le piazzole dovrebbero apparire su uno di questi strati (SMT) o su entrambi (per i componenti passanti) per prevenire che la vernice copra le piazzole.

Courtyard (F.CrtYd e B.CrtYd)

Usato per mostrare quanto spazio un componente fisicamente prende sul circuito stampato.

Fabbricazione (F.Fab e B.Fab)

Gli strati per la fabbricazione vengono usati principalmente a scopo di documentazione per passare informazioni, per esempio, all’azienda manufatturiera di circuiti stampati o a quella responsabile dell’assemblaggio.

Strati tecnici indipendenti

Edge.Cuts

Questo strato è riservato per il disegno del bordo del circuito stampato. Ogni elemento (grafica, testi…​) piazzato su questo strato appare su tutti gli altri strati. Usare questo strato solo per disegnare i bordi della scheda.

Margin

Limite assoluto sporgenza scheda.

Strati di uso generale

Questi strati sono a disposizione per qualsiasi uso. Possono essere usati per testo come istruzioni per l’assemblaggio o il cablaggio, o per disegni per la costruzione, da usare per creare un file di assemblaggio o lavorazione. I loro nomi sono:

  • Commenti

  • E.C.O. 1

  • E.C.O. 2

  • Disegni

Selezione dello strato attivo

La selezione dello strato di lavoro attivo può essere effettuata in diverse maniere:

  • Usando la barra strumenti a destra (gestore strati).

  • Usando la barra in alto.

  • Con la finestra a scomparsa (attivata dal tasto destro del mouse).

  • Usando i tasti + e - (funzionano solo sugli strati rame).

  • Tramite i comandi da tastiera.

La selezione usando il gestore degli strati

Pcbnew layer manager pane

La selezione usando la barra in alto

Pcbnew layer selection dropdown

Questo seleziona direttamente lo strato di lavoro.

Sono mostrati i comandi da tastiera per selezionare lo strato di lavoro.

La selezione usando la finestra a scomparsa

Pcbnew layer selection popup

La finestra a scomparsa apre un menu che fornisce la scelta dello strato di lavoro.

Pcbnew layer selection dialog

La selezione degli strati per i via

Se l’icona Aggiungi piste e via è selezionata sulla barra a destra, la finestra a scomparsa fornisce l’opzione di cambiare la coppia di strati usati per i via:

Pcbnew via layer pair popup

Questa selezione apre una finestra di menu che fornisce la scelta di strati usati per i via.

Pcbnew via layer pair dialog

Quando un via viene piazzato lo strato di lavoro (attivo) viene automaticamente commutato sullo strato alternativo della coppia di strati usati per i via (a meno che non si tenga premuto il tasto ``Maiusc'' mentre si aggiunge il via).

È possibile anche commutare su un altro strato attivo usando i comandi da tastiera, e se si sta collegando una pista, verrà inserito un via.

Uso della modalità ad alto contrasto

Questa modalità viene avviata quando lo strumento (nella barra comandi a sinstra) viene attivato: contrast mode

Quando si usa questa modalità, lo strato attivo viene mostrato come nella modalità normale ma tutti gli altri strati vengono mostrati di colore grigio.

Ci sono due casi in cui è utile:

Strati rame in modalità alto contrasto

Quando una scheda usa più di quattro strati, questa opzione permette allo strato rame attivo di essere visto più facilmente:

Modalità normale (strato rame lato retro attivo):

Pcbnew copper layers contrast normal

Modalità alto contrasto (strato rame lato retro attivo):

Pcbnew copper layers contrast high

Strati tecnici

L’altro caso è quando è necessario esaminare gli strati di pastasalda e di maschera di saldatura che normalmente non sono visualizzati.

Le maschere sulle piazzole vengono mostrate se questa modalità è attiva.

Modalità normale (strato maschera di saldatura lato fronte attivo):

Pcbnew technical layers contrast normal

Modalità alto contrasto (strato maschera di saldatura lato fronte attivo):

Pcbnew technical layers contrast high

Crea e modifica una scheda

Creazione di una scheda

Disegno dei contorni della scheda

Solitamente è considerata una buona idea definire per prima cosa i bordi della scheda. I bordi si disegnano con una sequenza di segmenti di linea. Selezionare 'Edge.Cuts' come strato attivo e usare lo strumento Aggiungi linea o poligono grafico'' per tracciare il bordo, facendo clic alla posizione di ogni vertice e facendo doppio clic per finire. Le schede di solito hanno dimensioni molto precise, perciò potrebbe essere necessario usare le coordinate mostrate del puntatore durante la tracciatura del contorno. Tenere a mente che le coordinate relative possono essere azzerate in qualsiasi momento usando la barra spaziatrice, e che le unità di misura mostrate possono essere abilitate/disabilitate usando la combinazione Ctrl-U''. Le coordinate relative consentono disegni di dimensioni molto precise. È possibile disegnare un contorno circolare (o arcuato):

  1. Selezionare lo strumento Aggiungi cerchio grafico'' o Aggiungi arco grafico''

  2. Fare clic per fissare il centro del cerchio

  3. Regolare il raggio muovendo il mouse

  4. Terminare facendo nuovamente clic.

La larghezza del bordo può essere regolata, nel menu Parametri (larghezza raccomandata = 150 in decimi di mils) o attraverso le Opzioni, ma questa non sarà visibile a meno che la grafica non sia mostrata in una modalità diversa da contorni.

Il bordo risultante dovrebbe somigliare a questo:

Pcbnew simple board outline

Uso di disegno DXF per il contorno scheda

In alternativa a disegnare il contorno scheda direttamente in Pcbnew, questo può essere importato da un disegno DXF.

Usando questa funzione si possono creare forme di schede più complesse di quelle che si otterrebbe sfruttando solamente le capacità di disegno interne di Pcbnew.

Per esempio un pacchetto CAD meccanico può essere usato per definire la forma della scheda giusta per un contenitore particolare.

Preparazione di un disegno DXF per contorno scheda

Le capacità di importazione DXF di KiCad non includono il supporto a caratteristiche DXF come POLYLINE e ELLISSI e i file DXF che usano queste caratteristiche richiedono alcuni passi aggiuntivi di conversione per prepararli all’importazione.

Per questa conversione si può usare un pacchetto software come LibreCAD.

Come primo passo, tutte le POLILINEE devono essere divise (esplose) nelle loro oiginali forme più semplici. In LibreCAD usare i passi seguenti:

  1. Aprire una copia del file DXF.

  2. Selezionare la forma della scheda (le forme selezionate sono mostrate con linee tratteggiate).

  3. Nel menu Modifica, selezionare Esplodi.

  4. Premere INVIO.

Come prossimo passo, curve complesse come le ELLISSI vanno spezzate in segmenti di linea più piccoli che 'approssimano' la forma desiderata. Questo accade automaticamente quando il file DXF viene esportato o salvato nel vecchio formato file DXF R12 (dato che il formato R12 non supporta forme dalle curve complesse, le applicazioni CAD convertono queste forme in segmenti di linea. Alcune applicazioni CAD permettono la configurazione del numero o della lunghezza dei segmenti di linea usati). In LibreCAD la lunghezza dei segmenti è generalmente abbastanza piccola da poter essere usata per le forme dei circuiti stampati.

In LibreCAD, usare i passi seguenti per esportare nel formato file DXF R12:

  1. Nel menu File, usare Salva con nome…​

  2. Nella finestra di dialogo Salva disegno come, c’è un selettore Salva come: in fondo a destra della finestra di dialogo. Selezionare l’opzione Drawing Exchange DXF R12.

  3. Opzionalmente inserire un nome fiel nel campo Nome file:.

  4. Fare clic su Salva

Il file DXF è ora pronto per l’importazione in KiCad.

Importare il file DXF in KiCad

I passi seguenti descrivono l’importazione del file DXF preparato come forma di circuito stampato in KiCad. Si noti che il comportamento di importazione è leggermente differente a seconda della modalità 'schermo' usata.

Uso nella modalità schermo ``predefinita'':

  1. Nel menu File, selezionare Importa e poi l’opzione File DXF.

  2. Nella finestra di dialogo Importa file DXF usare 'Esplora' per selezionare il file DXF preparato per essere importato.

  3. Nell’opzione 'Posiziona punto origine DXF (0,0):', impostare il punto dell’origine DXF relativa alle coordinate della scheda (la scheda KiCad ha (0,0) nell’angolo in alto a sinistra). Per 'Posizione personalizzata' inserire le coordinate nei campi 'Posizione X:' e 'Posizione Y'.

  4. Nella selezione 'Strati', selezionare lo strato della scheda da importare. Per i contorni scheda serve Edge.Cuts.

  5. Fare clic su 'OK'.

Uso nelle modalità schermo OpenGL'' o Cairo'':

  1. Nel menu File, selezionare Importa e poi l’opzione File DXF.

  2. Nella finestra di dialogo Importa file DXF usare 'Esplora' per selezionare il file DXF preparato per essere importato.

  3. L’impostazione dell’opzione 'Posiziona punto origine DXF (0,0):' viene ignorata in questa modalità.

  4. Nella selezione 'Strati', selezionare lo strato della scheda da importare. Per i contorni scheda serve Edge.Cuts.

  5. Fare clic su 'OK'.

  6. La forma è ora attaccata al proprio cursore e può essere spostata sull’area della scheda.

  7. Fare clic per 'depositare' la forma sulla scheda.

Esempio di forma DXF importata

Ecco un esempio di importazione DXF con una scheda che ha diversi segmenti ellittici approssimati da una serie di corti segmenti di linea:

Pcbnew board outline imported from a DXF

Lettura della netlist generata dallo schema elettrico

Attivare l’icona netlist per mostrare la finestra di dialogo della netlist:

Pcbnew netlist dialog

Se il nome (percorso) della netlist nel titolo della finestra è sbagliato, usare il pulsante 'Seleziona' per sfogliare e selezionare la netlist desiderata. Poi 'Leggere' la netlist. Ogni modulo non ancora caricato apparirà, sovrapposto uno sull’altro (vedremo poi come spostarli automaticamente).

Pcbnew board outline with dogpile

Se nessuna delle impronte è stata piazzata, tutte le impronte appariranno sulla scheda nello stesso punto, rendendole difficili da riconoscere. È possibile disporle automaticamente (usando il comando 'Disposizione globale' tramite il pulsante destro del mouse). Ecco il risultato di tale riorganizzazione:

Pcbnew board outline with globally placed modules
Se una scheda viene modificata sostituendo un’impronta esistente con una nuova (per esempio cambiando una resistenza da 1/8 W con una da 1/2 W) in CvPcb, sarà necessario cancellare il componente esistente prima che Pcbnew carichi l’impronta di rimpiazzo. Comunque, se un’impronta deve essere sostituita da una esistente, è più facile usare la finestra di dialogo impronte, accessibile tramite clic sul tasto destro del mouse sopra l’impronta in questione.

Correggere una scheda

È molto spesso necessario correggere una scheda seguendo un corrispondente cambiamento nello schema elettrico.

Passi da seguire

  1. Creare una nuova dallo schema elettrico modificato.

  2. Se sono stati aggiunti nuovi componenti, collegarli alle impronte corrispondenti in CvPcb.

  3. Leggere la nuova netlist in Pcbnew.

Cancellare le piste errate

Pcbnew è in grado di cancellare automaticamente piste che sono divenute errate per delle modifiche. Per far ciò, controllare l’opzione 'Cancella' nel riquadro 'Piste non collegate' nella finestra di dialogo della netlist:

Pcbnew bad tracks deletion option

Comunque, si fa spesso più velocemente a modificare tali piste a mano (la funzione DRC ne permette l’identificazione).

Componenti cancellati

Pcbnew può cancellare impronte corrispondenti a componenti che sono stati rimossi dallo schema. Opzionale.

Ciò è necessario perché ci sono spesso impronte (fori di fissaggio viti, per esempio) aggiunte al circuito stampato che non appariranno mai sullo schema elettrico.

Pcbnew extra footprints deletion option

Se l’opzione "Impronte extra" è selezionata, un’impronta corrispondente ad un componente non trovato nella netlist, verrà cancellata, a meno che questa non abbia l’opzione "Bloccata" attiva. È una buona idea attivare quest’opzione per le impronte "meccaniche":

Pcbnew unlock footprint option

Impronte modificate

Se un’impronta viene modificata nella netlist (usando CvPcb), ma l’impronta è stata già posizionata, essa non verrà modificata da Pcbnew, a meno che la corrispondente opzione del riquadro 'Scambio impronte' della finestra di dialogo netlist dialog sia stata abilitata:

Pcbnew exchange module option

Cambiare un’impronta (sostituendo una resistenza con un’altra di dimensione diversa, per esempio) può essere effettuata direttamente modificando l’impronta.

Opzioni avanzate - selezioni usando le marche temporali

Alle volte la notazione dello schema elettrico viene cambiata, senza che vi sia cambiamento materiale nel circuito (ciò può riguardare i riferimenti - come R5, U4…​). Il circuito stampato è così inalterato (eccetto forse per la serigrafia). Ciononostante, internamente, i componenti e le impronte sono rappresentati dai loro riferimenti. In questo caso, l’opzione 'Marcatura temporale' della finestra di dialogo della netlist può venire selezionata prima della ri-lettura della netlist:

Pcbnew module selection option

Con questa opzione, Pcbnew non identifica più le impronte dai riferimenti, ma dalle marcature temporali. Le marcature temporali sono automaticamente generate da Eeschema (è la data e l’ora di quando il componente è stato inserito nello schema).

È necessario esercitare una grande cura nell’uso di questa opzione (salvare prima il file!). Questo perché la tecnica è complicata nel caso si usino componenti contenenti più parti (per es. un 7400 possiede 4 parti e un contenitore). In questo caso, la marcatura temporale non è definita univocamente (per il 7400 ce ne sarebbero fino a quattro - una per ogni parte). Ad ogni modo, l’opzione marcatura temporale solitamente risolve i problemi di ri-annotazione.

Scambio diretto di impronte già piazzate sulla scheda

Il cambio di un’impronta (o qualche impronte identica) con un’altra impronta è molto utile e molto facile:

  1. Clic su un’impronta per aprire la finestra di dialogo della modifica.

  2. Attiva la modifica delle impronte.

Pcbnew change modules button

Opzioni per il cambio delle impronte:

Pcbnew footprint exchange options

Bisogna scegliere un nuovo nome impronta e usare:

  • Cambia impronta di 'xx' per l’impronta corrente

  • Cambia impronte 'yy' per tutte le impronte come l’impronta corrente.

  • Cambia le impronte con lo stesso valore per tutte le impronte come l’impronta corrente, ristretto a componenti aventi lo stesso valore.

  • Aggiorna tutte le impronte della scheda per ricaricare tutte le impronte sulla scheda.

Piazzamento impronte

Piazzamento assistito

Durante lo spostamento di impronte la ratsnest delle impronte (la rete di connessioni) può essere mostrata per assistere durante il piazzamento. Per abilitare questa funzione deve essere attivata l’icona modratsnest della barra strumenti di sinistra.

Piazzamento manuale

Selezionare l’impronta con il pulsante destro del mouse e scegliere il comando Sposta dal menu. Spostare l’impronta sulla posizione richiesta e piazzarla con il punsante sinistro del mouse. Se richiesto, l’impronta selezionata può anche essere ruotata, invertita o modificata. Selezionare Annulla dal menu (o premere il tasto Esc) per annullare il comando.

Qui si può osservare la visualizzazione della ratsnest dell’impronta durante uno spostamento:

Pcbnew ratsnest during move

Il circuito, una volta che tutte le impronte siano state piazzate, potrebbe apparire come mostrato:

Pcbnew circuit after placement

Distribuzione automatica impronte

In generale, le impronte si possono spostare solo se non sono state ``Bloccate''. Questo attributo può essere acceso o spento dal menu a discesa (pulsante destro del mouse sopra l’impronta) durante la modalità impronte o tramite il menu di modifica dell’impronta.

Come dichiarato nello precedente capitolo, le nuove impronte caricate durante la lettura della netlist appaiono impilate in una singola posizione sulla scheda. Pcbnew permette la distribuzione automatica delle impronte per semplificarne la selezione ed il piazzamento manuali.

  • Selezionare l’opzione ``Modalità impronte'' (icona mode module sulla barra strumenti in alto).

  • La finestra a scomparsa attivata dal pulsante destro del mouse diventa:

Se è presente un’impronta sotto il puntatore del mouse:

Pcbnew context module mode module under cursor

Se non c’è niente sotto il puntatore:

Pcbnew context module mode no module under cursor

In entrambi i casi i seguenti comandi sono disponibili:

  • Disponi tutte le impronte permette la distribuzione automatica di tutte le impronte non bloccate. In generale viene usato dopo la prima lettura di una netlist.

  • Disponi tutte le impronte non già presenti sulla scheda permette la distribuzione automatica delle impronte che non sono già state piazzate all’interno dei contorni dello stampato. Questo comando richiede che sia già presente un bordo scheda per determinare quali impronte possano essere distribuite automaticamente.

Disposizione automatica di impronte

Caratteristiche del piazzamento automatico

La funzione di piazzamento automatico permette il piazzamento di impronte sulle 2 facce di un circuito stampato (anche se lo spostamento di un’impronta sullo strato rame non è automatico).

Cerca anche il miglior orientamento (0, 90, -90, 180 gradi) per l’impronta. Il piazzamento viene fatto secondo un algoritmo di ottimizzazione, che cerca di minimizzare la lunghezza della ratsnest e di creare spazio tra le impronte più grandi con molti piedini. L’ordine di piazzamento è ottimizzato per piazzare inizialmente queste impronte più grandi con molti piedini.

Preparazione

Pcbnew può perciò piazzare le impronte automaticamente, anche se è necessario guidare questo piazzamento, perché nessun software può indovinare cosa l’utente desidera ottenere.

Prima che un piazzamento automatico venga effettuato si deve:

  • Creare il contorno della scheda (può essere complesso, ma deve essere chiuso se la forma non è rettangolare).

  • Piazzare manualmente i componenti le cui posizioni sono imposte (connettori, fori di fissaggio, ecc.).

  • Stesso discorso per alcune impronte SMD e componenti critici (impronte grandi per esempio) che devono stare su uno specifico lato o in una specifica posizione sulla scheda e questo va fatto manualmente.

  • Una volta completati i piazzamenti manuali queste impronte devono essere ``fissate'' per prevenirne lo spostamento. Con l’icona della modalità impronte mode module selezionata fare clic destro sull’impronta e selezionare "Fissa impronte" nel menu a discesa. Questa operazione può essere effettuata anche tramite il menu Impronta/Modifica parametri.

  • Il piazzamento automatico può essere effettuato. Con l’icona modalità impronte selezionata, fare clic destro e selezionare Disposizione globale - e poi Posiziona automaticamente tutte le impronte.

Durante il piazzamento automatico, se richiesto, Pcbnew può ottimizzare l’orientamento delle impronte. Comunque la rotazione verrà tentata solo se viene autorizzata per l’impronta (vedere le opzioni dell’editor impronte).

Solitamente le resistenze e i condensatori non polarizzati vengono autorizzati alla rotazione di 180 gradi. Alcune impronte (i piccoli transistor per esempio) possono essere autorizzati per la rotazione di +/- 90 e 180 gradi.

Per ogni impronta un cursore autorizza la rotazione di 90 gradi e un secondo cursore autorizza la rotazione di 180 gradi. Un’impostazione di 0 previene la rotazione, una impostazione di 10 la autorizza, e un valore intermedio indica una preferenza per/contro la rotazione.

L’autorizzazione alla rotazione può essere effettuata modificando l’impronta una volta che questa viene piazzata sulla scheda. Comunque è preferibile impostare le opzioni richieste sull’impronta nella libreria dato che queste impostazioni verranno ereditate ogni volta che l’impronta viene usata.

Auto-piazzamento interattivo

Potrebbe rendersi necessario il blocco del piazzamento automatico, durante il suo funzionamento (effettuabile premendo il tasto Esc), e il riposizionamento manuale di un’impronta. Usando il comando Autoposiziona prossima impronta si riavvierà l’autopiazzamento dal punto in cui era stato fermato.

Il comando Posiziona automaticamente nuove impronte permette il piazzamento automatico delle impronte chen non sono state già piazzate all’interno dei limiti della scheda. Non sposterà comunque quelle dentro i bordi del circuito stampato anche se queste dovessero non essere ``bloccate''.

Il comando Posiziona automaticamente rende possibile l’esecuzione di un autopiazzamento dell’impronta indicata dal mouse, anche se questa dovesse avere l’attributo di ``blocco'' attivo.

Nota aggiuntiva

Pcbnew determina automaticamente la possibile zona di piazzamento dell’impronta rispettando la forma dei bordi della scheda, che non devono necessariamente essere rettangolari (può essere tonda, avere ritagli, ecc.).

Se la scheda non è rettangolare, il profilo della scheda deve essere chiuso, in modo da permettere a Pcbnew di determinare cosa è dentro e cosa è fuori dalla scheda. Analogamente, se ci sono dei ritagli interni, i loro bordi devono essere chiusi.

Pcbnew calcola la possibile zona di piazzamento delle impronte usando i bordi della scheda, e poi passa ogni impronta una alla volta sopra quest’area in modo da determinare il posizionamento ottimale.

Impostazione parametri di sbroglio

Impostazioni correnti

Accesso alla finestra di dialogo principale

I parametri più importanti sono accessibili dal seguente menu a tendina:

Pcbnew design rules dropdown

e sono impostati nella finestra di dialogo delle regole di progettazione.

Impostazioni correnti

Le impostazioni correnti sono mostrate nella barra strumenti in alto.

Pcbnew design rules top toolbar

Opzioni generali

Il menu delle opzioni generali è disponibile tramite il collegamento nella barra strumenti in cima, Preferenze → Impostazioni generali.

Pcbnew preferences menu

La finestra di dialogo è simile alla seguente:

Pcbnew general options dialog

Per la creazione delle piste i parametri necessari sono:

  • Limita piste a 45 gradi: le direzioni consentite per i segmenti di pista sono 0, 45 o 90 gradi.

  • Usa piste a due segmenti: durante la creazione di piste, vengono mostrati 2 segmenti.

  • Cancella piste disconnesse: durante la creazione delle piste, la vecchia viene automaticamente cancellata se ridondante.

  • Piazzole magnetiche: il puntatore diventa una piazzola, centrato nell’area piazzole.

  • Piste magnetiche: il puntatore diventa l’asse della pista.

Netclass

Pcbnew permette di definire parametri di sbroglio diversi per ogni collegamento. I parametri sono definiti per gruppi di collegamento.

  • Un gruppo di collegamenti viene chiamato una Netclass.

  • C’è sempre una netclass chiamata "default".

  • Gli utenti possono aggiungere altre netclass.

Una netclass definisce:

  • L’ampiezza delle piste, i diametri dei via e dei fori.

  • Lo spazio tra piazzole e piste (o via).

  • Nello sbroglio, Pcbnew seleziona automaticamente la netclass corrispondente al collegamento della pista da creare o modificare, e quindi i parametri di sbroglio.

Impostazione parametri di sbroglio

La scelta viene effettuata nel menu: Regole di progettazione → Regole di progettazione.

Editor delle netclass

L’editor delle netclass permette di:

  • Aggiungere o cancellare netclass.

  • Impostare i parametri di sbroglio: isolamento, larghezza piste, dimensione via.

  • Raggruppare collegamenti in netclass.

Pcbnew design rules editor netclass tab

Regole di progettazione globali

Le regole di progettazione globali sono:

  • Consenti via ciechi/sepolti.

  • Consenti microvia (uVia).

  • Valori minimi permessi per piste e via.

Viene sollevata una segnalazione di errore di controllo regole di progettazione (DRC) quando viene incontrato un valore inferiore al valore minimo specificato. Il secondo pannello della finestra di dialogo è:

Pcbnew design rules editor global tab

Questa finestra di dialogo permette anche di inserire uno "stock" di dimensione piste e via.

Durante lo sbroglio, è possibile selezionare uno di questi valori per creare una pista o un via, invece che usare il valore predefinito della netclass.

Utile in casi critici quando un piccolo segmento di pista deve avere una specifica dimensione.

Parametri dei via

Pcbnew gestisce 3 tipi di via:

  • Via passanti (i normali via).

  • Via ciechi/sepolti.

  • Micro via, come i via sepolti, ma limitati da uno strato esterno al suo più vicino. Sono concepiti per collegare i pin BGA allo strato interno più vicino. Il loro diametro è solitamente molto piccolo e sono forati al laser.

Come impostazione predefinita, tutti i via hanno lo stesso valore di foratura.

Questa finestra di dialogo specifica i valori più piccoli accettabili per i parametri dei via. Su una scheda, un via più piccolo del valore qui specificato genera un errore DRC.

Parametri piste

Specifica la larghezza pista minima accettabile. Su una scheda, una pista la cui larghezza sia inferiore al valore qui specificato genera un errore DRC.

Dimensioni specifiche

Pcbnew specific size options

Si può inserire un insieme extra di dimensioni piste e/o via. Durante lo sbroglio di una pista, questi valori possono venir usati su richiesta, in luogo dei valori presi dalla netclass corrente.

Esempi e dimensioni tipiche

Larghezza pista

Usa il valore più grande possibile conforme alle dimensioni minime qui specificate.

Unità CLASS 1 CLASS 2 CLASS 3 CLASS 4 CLASS 5

mm

0.8

0.5

0.4

0.25

0.15

mils

31

20

16

10

6

Isolamento (distanza)

Unità CLASS 1 CLASS 2 CLASS 3 CLASS 4 CLASS 5

mm

0.7

0.5

0.35

0.23

0.15

mils

27

20

14

9

6

Solitamente, la distanza minima è molto simile alla larghezza minima di pista.

Esempi

Grezzo

  • Distanza: 0.35 mm (0.0138 pollici).

  • Larghezza piste: 0.8 mm (0.0315 pollici).

  • Diametro piazzole per CI e via: 1.91 mm (0.0750 pollici).

  • Diametro piazzole per componenti discreti: 2.54 mm (0.1 pollici).

  • Larghezza piste di massa: 2.54 mm (0.1 pollici).

Pcbnew dr example rustic

Standard

  • Distanza: 0.35 mm (0.0138 pollici).

  • Larghezza piste: 0.5 mm (0.0127 pollici).

  • Diametro piazzole per CI: allungate per permettere alle piste di passare tra le piazzole del CI ma permettendo alla piazzola di avere sufficiente superficie di aderenza (1.27 x 2.54 mm -→ 0.05 x 0.1 pollici).

  • Via: 1.27 mm (0.0500 pollici).

Pcbnew dr example standard

Sbroglio manuale

Lo sbroglio manuale è spesso raccomandato, perché è l’unico metodo che offre del controllo sulle priorità dello sbroglio. Per esempio, è preferibile iniziare a sbrogliare le piste di alimentazione, rendendole larghe e corte, mantenendo le alimentazioni analogiche e digitali ben separate. Solo in seguito bisognerebbe passare allo sbroglio delle piste di segnali sensibili. Oltre ad altri problemi, lo sbroglio automatico richiede spesso molti più via. Comunque, lo sbroglio automatico può fornire utili suggerimenti per il posizionamento delle impronte. Con l’esperienza, probabilmente si troverà che lo sbroglio automatico è utile per sbrogliare velocemente le piste ``ovvie'', ma le piste rimanenti sarà meglio sbrogliarle a mano.

Aiuto nella creazione delle piste

Pcbnew può visualizzare la ratsnest completa, se si attiva il pulsante modratsnest.

Il pulsante net highlight permette di evidenziare un collegamento (facendo clic su una piazzola o su una pista esistente si evidenza il collegamento corrente).

Il test DRC controlla le piste in tempo reale durante la loro creazione. Non è possibile creare una pista che non rispetti le regole DRC. È possibile disabilitare il controllo DRC facendo clic sul pulsante. Ciò è però sconsigliato, perciò sarà meglio usare questa funzione solo in casi particolari.

Creazione piste

Una pista può essere creata facendo clic sul pulsante add tracks. Una nuova pista deve cominciare su una piazzola o su un’altra pista, dato che Pcbnew deve conoscere la connessione usata per la nuova pista (in modo da controllare le regole DRC).

Pcbnew creating new track

Come si muove il mouse, viene creata una pista che connette l’origine della pista con la posizione corrente del mouse. La pista verrà disegnata con almeno due segmenti (per esempio, a destra, poi con una deviazione diagonale). Facendo clic durante lo sbroglio, si blocca lo snodo.

La direzione alla quale la pista viene disegnata inizialmente (per es. prima a destra, poi diagonalmente, o diagonalmente prima e poi a destra) viene chiamata Postura della pista'' e può essere commutata tramite la pressione del tasto /'' i del pulsante change entry orient.

Pcbnew routing posture

Mantenendo premuto 'Ctrl' durante lo sbroglio in modalità di visualizzazione classica, blocca lo sbroglio a singoli segmenti orizzontali o verticali. Cambiando postura cambia in un singolo segmento diagonale. Mantenendo premuto il tasto Maiusc'' mentre si fa lo sbroglio si toglie il magnetismo all’oggetto''.

Quando si crea una nuova pista, Pcbnew mostra i collegamenti alle piazzole più vicine non connesse.

Finire la pista facendo doppio clic, tramite il menu a scomparsa o tramite il corrispondente comando da tastiera.

Pcbnew track in progres context

Spostamento e trascinamento piste

Quando il pulsante add tracks è attivo, la pista dove il puntatore è posizionato può essere spostata con il tasto M''. Se si vuole trascinare la pista si può usare il tasto G''.

Inserimento via

Si può inserire un via solo durante la fase di creazione di una pista:

  • Tramite il menu a scomparsa.

  • Tramite il tasto ``V''.

  • Passando ad un nuovo strato rame usando il tasto appropriato.

Mantenendo premuto il tasto ``Maiusc'' mentre si aggiunge un via termina lo sbroglio appena il via viene piazzato. Ciò torna utile durante l’aggiunta di una connessione ad un piano, in modo che lo strato attivo non cambia e non è necessario premere alcun tasto aggiuntivo per uscire dallo sbroglio.

Selezione/modifica della larghezza pista e della dimensione via

Facendo clic su una pista o su una piazzola, Pcbnew automaticamente seleziona la netclass corrispondente, e la dimensione della pista e del via vengono ricavate da questa netclass.

Come osservato in precedenza, l’editor delle regole di progettazione globali possiede uno strumento per inserire dimensioni piste e via extra.

  • La barra strumenti orizzontale può essere usata per selezionare una dimensione.

  • Quando il pulsante add tracks è attivo, la larghezza della pista corrente può essere selezionata dal menu a discesa (accessibile anche quando si crea una pista).

  • L’utente può usare i valori predefiniti della netclass o un valore specificato.

Uso della barra orizzontale

Pcbnew track toolbar

Pcbnew track toolbar track width selection

Selezione della larghezza della pista. Il simbolo * è un contrassegno che indica la selezione del valore della netclass predefinita.

Pcbnew track toolbar track width selection in use

Selezione di un valore specifico di larghezza pista. Il primo valore nell’elenco è sempre il valore della netclass. Gli altri valori sono larghezze piste inserite dall’editor delle regole di progettazione globali.

Pcbnew track toolbar via size selection

Selezione dimensione via. Il simbolo * è un contrassegno per la selezione del valore della netclass predefinita.

Pcbnew track toolbar via size selection in use

Selezione di un valore di dimensione via specifico. Il primo valore nell’elenco è sempre il valore della netclass. Gli altri valori sono le dimensioni via inserite dall’editor delle regole di progettazione globali.

auto track width

Se abilitato: selezione automatica della larghezza pista. Quando si inizia una pista su una pista esistente, la nuova pista la la stessa larghezza della pista esistente.

Pcbnew track toolbar grid size selection

Selezione dimensione griglia.

Pcbnew track toolbar zoom selection

Selezione zoom.

Uso del menu a discesa

Si può selezionare una nuova dimensione per lo sbroglio, o cambiare in un via o un segmento di pista creati in precedenza:

Pcbnew track context menu

Se si desidera cambiare le dimensioni di molti via (o piste), il modo migliore è di usare una netclass specifica per i collegamenti che devono essere modificati (vedere Cambiamenti globali).

Modifica e cambiamento piste

Cambiare una pista

In molti casi è richiesto il ridisegno della pista.

Nuova pista (in corso):

Pcbnew new track in progress

Quando finita:

Pcbnew new track completed

Pcbnew rimuoverà automaticamente la vecchia pista se ridondante.

Cambiamenti globali

La finestra di dialogo delle dimensioni globali piste e via è accessibile tramite la finestra a scomparsa che appare facendo clic destro su una pista:

Pcbnew track global edit context menu

La finestra di dialogo consente il cambiamento globale di piste e/o via per:

  • Il collegamento corrente.

  • L’intera scheda.

Pcbnew track global edit dialog

Sbroglio Interattivo

Lo sbroglio interattivo permette di sbrogliare in maniera veloce ed efficiente i circuiti stampati, spingendo e girando attorno agli elementi sulla scheda che potrebbero collidere con le piste che si sta disegnando.

Sono supportate le seguenti modalità:

  • Evidenzia collisioni, che evidenzia con un colore verde brillante tutti gli oggetti e le regioni che violano le regole di isolamento.

  • Spingi, tenta di spingere e compattare tutti gli elementi che collidono con la pista che si sta attualmente sbrogliando.

  • Aggira, tenta di evitare gli ostacoli circondandoli/girandoci attorno.

Impostazione

Prima di usare lo sbroglio interattivo, impostare queste due cose:

  • Impostazioni isolamento. Per configurare le impostazioni di isolamento, aprire la finestra di dialogo delle Regole di progettazione e assicurarsi che i valori di isolamento predefiniti siano almeno ragionevoli.

Editor delle regole
  • Abilita la modalità OpenGL, selezionando l’opzione di menu Visualizza→Imposta schermo a OpenGL o premendo F11.

Modalità OpenGL

Disposizione delle piste

Per attivare lo strumento di sbroglio premere il pulsante Sbroglio interattivo Interactive Router Button o il pulsante X. Il puntatore si trasformerà in una croce e il nome dello strumento apparirà nella barra di stato.

Per cominciare a tracciare una pista, fare clic su un qualsiasi elemento (una piazzola, una pista o un via) o premere nuovamente il tasto X con il puntatore del mouse sopra l’elemento. La nuova pista userà il collegamento (net) dell’elemento di partenza. Facendo clic o premento X su una zona vuota del circuito stampato farà cominciare una pista senza un collegamento assegnato.

Spostare il mouse per definire la forma della pista. Lo sbrogliatore proverà a seguire il mouse, scartando gli ostacoli inamovibili (come le piazzole) e spostando piste/via in rotta di collisione, a seconda della modalità in cui si trova. Ritirando il puntatore del mouse, gli elementi spostati torneranno alle loro posizioni iniziali.

Facendo clic su una piazzola/pista/via dello stesso collegamento (net) finisce lo sbroglio. Facendo clic in uno spazio vuoto fissa i segmenti sbrogliati fino a quel momento e continua lo sbroglio della pista.

Per bloccare lo sbroglio e annullare tutti i cambiamenti (elementi spostati, ecc.), basta premere il tasto Esc.

Premendo V o selezionando Piazza via passante dal menu contestuale durante lo sbroglio di una pista, si collega un via in cima alla pista che si sta sbrogliando. Premendo V ulteriormente si disabilita l’inserimento del via. Facendo clic in qualsiasi punto del circuito stampato, si piazza il via e lo sbroglio continua (a meno che non si tenga premuto il tasto ``Maiusc'').

Premendo / o selezionando commuta postura pista dal menu contestuale commuta la direzione del segmento di pista iniziale tra diritto e diagonale.

Come valore predefinito, lo sbroglio si aggancia automaticamente al centro o agli assi degli elementi. Questo magnetismo può essere disabilitato tenendo premuto il tasto Maiusc durante lo sbroglio o la selezione degli elementi.

Impostazione larghezze piste e dimensioni via

Ci sono diversi metodi per pre-selezionare la larghezza pista/dimensione via o per cambiarle durante lo sbroglio:

  • Usare le scorciatoie da tastiera standard.

  • Premere W o selezionare Dimensione pista personalizzata dal menu contestuale per battere un valore personalizzato di spessore pista/dimensione via.

  • Selezionare una larghezza predefinita dal sotto-menu Seleziona larghezza pista del menu contestuale.

  • Selezionare Usa la larghezza iniziale pista nel menu Seleziona larghezza pista per prelevare la larghezza dall’elemento iniziale (o le piste già connesse ad esso).

Trascinamento

Lo sbrogliatore può trascinare segmenti di pista, angoli e via. Per trascinare un elemento, fare clic su di esso con il tasto Ctrl premuto, posizionare il puntatore del mouse sopra di esso e premere il G o selezionare Trascina pista/via dal menu contestuale. Concludere trascinando e facendo clic nuovamente o interrompere premendo il tasto Esc.

Opzioni

Il comportamento dello sbrogliatore può essere configurato premento il tasto E o selezionando Opzioni di sbroglio dal menu contestuale mentre si sta nella modalità Pista. Si aprirà una finestra come questa riportata in basso:

Le opzioni sono:

Schermata della finestra delle opzioni dello sbrogliatore
  • Modo - seleziona come lo sbroglio gestisce la violazione delle regole di progettazione (DRC) (spingendo, girando attorno, ecc.)

  • Spingi via - se disabilitato, i via vengono trattati come oggetti inamovibili e circondati anziché spostati.

  • Salta sopra gli ostacoli - se abilitata, lo sbrogliatore prova a spostare le piste collidenti dietro gli ostacoli pieni (come le piazzole) invece di "riflettere" indietro la collisione

  • Elimina piste ridondanti - elimina gli anelli durante lo sbroglio (cioè se la nuova pista garantisce la stessa connettività di una già esistente, la vecchia pista viene rimossa). La rimozione degli anelli funziona localmente (solo tra l’inizio e la fine della pista in fase di sbroglio).

  • Restringimento automatico - se abilitata, lo sbrogliatore prova a connettere piazzole/via in modo pulito, evitando angoli acuti e piste di connessione seghettate.

  • Arrotonda segmenti seghettati - se abilitata, lo sbrogliatore cerca di fondere assieme diversi segmenti seghettati in uno singolo e dritto (modalità trascinamento).

  • Permetti violazioni DRC (solo modalità evidenzia collisioni) - permette di stendere una pista anche se sta violando le regole di progettazione.

  • Sforzo di ottimizzazione - definisce quanto tempo lo sbroglio dovrà impiegare nell’ottimizzazione della disposizione/spostamento di piste. Un valore maggiore significa uno sbroglio più pulito (ma più lento), mentre valori più bassi portano a sbrogli più veloci ma con tracce più seghettate.

Creazione di zone in rame

Le zone rame sono definite da un contorno (poligono chiuso), e possono includere fori (poligoni chiusi dentro il contorno). Una zone può essere disegnata su uno strato rame o in alternativa su uno strato tecnico.

Creazione zone su strati rame

Le connessioni piazzola (e pista) verso aree rame piene vengono controllate dal motore di controllo regole elettriche. Una zona deve essere piena (non basta solo crearla) per essere connessa a delle piazzole. Pcbnew attualmente usa segmenti di pista o poligoni per riempire le aree rame.

Ogni opzione ha i suoi vantaggi e svantaggi; il principale svantaggio consiste nel tempo di ridisegno dello schermo che aumenta sensibilmente sulle macchine lente. Il risultato finale è comunque lo stesso.

Per risparmiare tempo di elaborazione, lo riempimento delle zone non viene rifatto ad ogni cambiamento, ma solo:

  • Se viene eseguito un comando di riempimento area.

  • Quando viene effettuato un controllo regole elettriche.

Le zone rame devono essere riempite o ri-riempite dopo avere effettuati dei cambiamenti nelle piste o nelle piazzole. Le zone rame (normalmente i piani di massa e di alimentazione) sono di solito connessi ad un collegamento (net).

Per creare una zona rame si deve:

  • Selezionare i parametri (nome collegamento, strato…​). Abilitare lo strato ed evidenziare il collegamento non è necessario ma è buona pratica.

  • Creare il limite della zona (altrimenti, la scheda intera viene riempita).

  • Riempire la zona.

Pcbnew prova a riempire tutte le zone in un colpo, e normalmente, non ci saranno blocchi di rame sconnessi. Può succedere che delle aree rimangano non riempite. Le zone che non hanno collegamenti non vengono pulite e possono avere delle aree isolate.

Creazione di una zona

Creazione dei limiti di una zona

Usare lo strumento add zone. Lo strato attivo deve essere uno strato rame. Facendo clic per iniziare a delineare la zona, la seguente finestra di dialogo verrà aperta.

Pcbnew zone properties dialog

Si puo specificare tutti i parametri per questa zona:

  • Collegamento

  • Strato

  • Opzioni riempimenti

  • Opzioni piazzole

  • Livello priorità

Disegnare il bordo della zona su questo strato. Questo bordo è un poligono, creato facendo clic su ogni angolo. Un doppio clic finirà e chiuderà il poligono. Se il punto di inizio e il punto di fine non sono alle stesse coordinate, Pcbnew aggiungerà un segmento dal punto finale a quello iniziale.

  • Il controllo regole elettriche è attivo durante la creazione dei bordi delle zone.

  • Uno spigolo che crea un errore DRC non viene accettato da Pcbnew.

Nell’immagine seguente si può vedere un esempio di bordo zona (il poligono tratteggiato con linea sottile):

Pcbnew zone limit example

Livello priorità

Alle volte una piccola zona deve essere creata all’interno di una più grande.

Ciò è possibile se la piccola zona ha un più alto livello di priorità di quella più grande.

Impostazioni livello:

Pcbnew zone priority level setting

Ecco un esempio:

Pcbnew zone priority example

Dopo lo riempimento:

Pcbnew zone priority example after filling

Riempimento della zona

Durante lo riempimento di una zona, Pcbnew rimuove tutte le isole di rame non connesse. Per accedere al comando di riempimento zone, fare clic desto sulla zona bordo.

Pcbnew zone context menu

Attivare il comando ``Riempi zona''. Di seguito il risultato del riempimento con il punto di inizio dentro il poligono:

Pcbnew zone filling result

Il poligono è il bordo dell’area di riempimento. Si può osservare un’area non riempita dentro la zona, perché quest’area non è accessibile:

  • Una pista crea un confine, e

  • Non c’è punto di inizio per riempire quest’area.

Si possono usare molti poligoni per creare aree di ritaglio. Qui si può osservare un esempio:
Pcbnew zone filled with cutout

Opzioni riempimenti

Pcbnew zone filling options

Quando si riempie un’area, si deve scegliere:

  • La modalità di riempimento.

  • L’isolamento e lo spessore minimo del rame.

  • Come le piazzole sono disegnate dentro la zona (o connesse alla zona).

  • Parametri dei supporti termici.

Modalità di riempimento

Le zone possono essere riempite usando poligoni o segmenti. Il risultato è lo stesso. Se si hanno problemi con la modalità poligoni (rifresco dello schermo lento) usare i segmenti.

Isolamento e spessore minimo del rame

Una buona scelta per l’isolamento è una griglia un po' più grande della griglia di sbroglio. Il valore di spessore minimo di rame assicura che non ci saranno aree di rame troppo piccole.

se questo valore è troppo ampio, forme piccole come i raggi dei supporti termici non possono essere disegnati.

Opzioni piazzole

Le piazzole del collegamento possono essere incluse o escluse dalla zona, o connesse tramite supporti termici.

  • Se incluse, saldare e dissaldare può essere molto difficile a causa della grande massa termica della grande area in rame.

Pcbnew zone include pads
  • Se escluse, la connessione alla zona non sarà molto buona.

    • The zone can be filled only if tracks exists to connect zone areas.

    • Pads must be connected by tracks.

Pcbnew zone exclude pads
  • Un supporto termico è un buon compromesso.

    • Pad is connected by 4 track segments.

    • The segment width is the current value used for the track width.

Pcbnew zone thermal relief

Parametri dei supporti termici

Pcbnew thermal relief settings

Si può impostare due parametri per i supporti termici:

Pcbnew thermal relief parameters

Scelta dei parametri

Il valore di larghezza del rame per i supporti termici deve essere maggiore del valore di larghezza minimo per la zona di rame. Altrimenti, non possono essere disegnati.

Inoltre, un valore troppo grande per questo parametro o per la dimensione dell’antipiazzola non permette di creare un supporto termico per piazzole piccole (come le dimensioni di piazzola usate per i componenti SMD).

Aggiunta di un’area di ritaglio dentro una zona

La zona deve già esistere. Per aggiungere un’area di ritaglio (un’area non riempita dentro la zona):

  • Fare clic-destro sul profilo esistente.

  • Selezionare «Aggiungi area di ritaglio».

Pcbnew add cutout menu item
  • Creazione di un nuovo contorno.

Pcbnew zone unfilled cutout outline

Modifica dei contorni

Un contorno può essere modificato da:

  • Spostamento di un angolo o di uno spigolo.

  • Cancellazione o aggiunta di un angolo.

  • Aggiunta di un’area simile o di un’area di ritaglio.

Se i poligoni si sovrappongono, verranno combinati.

Pcbnew zone modification menu items

Per fare ciò, fare clic-destro su un angolo o su un bordo e poi selezionare il comando appropriato.

Ecco un angolo (da un ritaglio) che è stato spostato:

Pcbnew zone corner move during

Ecco il risultato finale:

Pcbnew zone corner move after

I poligoni sono combinati.

Aggiungere una zona simile

Aggiungere una zona simile:

Pcbnew zone add similar during

Risultato finale:

Pcbnew zone add similar after

Modifica dei parametri di zona

Quando si fa clic-destro su un contorno, e si usa ``Modifica parametri di zona'' si aprirà la finestra di dialogo dei parametri della zona con la quale si potrà inserire i parametri iniziali. Se la zona è già riempita, sarà necessario ri-riempirla.

Riempimento finale della zona

Quando la scheda è finita, è necessario riempire o ri-riempire tutte le zone. Per fare ciò:

  • Attivare lo strumento zone tramite il pulsante add zone.

  • Fare clic-destro per mostrare il menu a scomparsa.

  • Usare Riempi o Ri-riempi tutte le zone: Pcbnew fill refill all zones

Il calcolo può impiegare del tempo se la griglia di riempimento è piccola.

Cambiare i nomi delle zone

Dopo la modifica dello schema elettrico, è possibile cambiare il nome di ogni collegamento. Per esempio VCC può essere cambiato in +5V.

Quando un controllo regole elettriche globale viene eseguito, Pcbnew verifica se esiste il nome collegamento della zona, e mostra un errore ne non esistono.

Modificando manualmente i parametri di zona, sarà necessario cambiare il vecchio nome nel nuovo.

Creazione di zone sugli strati tecnici

Creazione dei limiti di zona

Ciò viene effettuato usando il pulsante add zone. Lo strato attivo deve essere uno strato tecnico.

Facendo clic per iniziare il contorno della zona, si apre questa finestra di dialogo:

Pcbnew technical layer zone dialog

Selezionare lo strato tecnico dove piazzare la zona e disegnare i contorni della zona come spiegato in precedenza per gli strati in rame.

  • Per modificare i contorni usare lo stesso metodo adottato con le zone in rame.

  • Se necessario, si possono aggiungere delle aree di ritaglio.

Creazione di un’area proibita

Selezionare lo strumento add keepout area

Lo strato attivo dovrebbe essere uno strato rame.

Dopo aver fatto clic sul punto di partenza di una nuova area ritaglio, si apre la finestra di dialogo:

Pcbnew keepout area properties

Si possono selezionare gli elementi non permessi:

  • Piste.

  • Via.

  • Riempimenti in rame.

Quando una pista o un via si trova dentro un’area proibita che non lo permette, viene segnalato un errore DRC.

Per le zone in rame, l’area dentro un’area proibita senza diffusione di rame non verrà riempita. Un’area proibita è come una zona, perciò la modifica dei suoi bordi è analoga alla modifica di una zone in rame.

File per la fabbricazione del circuito stampato

Vediamo ora quali sono i passi per la creazione dei file necessari per la produzione del circuito stampato.

Tutti i file generati da KiCad vengono piazzati nella cartella di lavoro che è la stessa cartella che contiene i file xxxx.brd per il circuito stampato.

Preparazioni finali

La generazione dei file necessari per la produzione del circuito stampato includono i seguenti passi preliminari.

  • Marcare ogni strato (per es. 'top o front' e 'bottom o back') con il nome del progetto piazzando il testo appropriato su ogni strato.

  • Tutti i testi sugli strati rame (alle volte chiamati anche 'solder' o 'bottom') devono essere resi speculari.

  • Creare tutti gli strati di massa, spostando le piste come richiesto in modo da renderli contigui.

  • Piazzare i crocini di allineamento e possibilmente le dimensioni del bordo della scheda (questi sono piazzati generalmente su uno degli strati di uso generale).

Ecco un esempio che mostra tutti questi elementi, eccetto i piani di massa, omessi per migliorarne la visibilità:

Pcbnew final preparation example board

È stata inclusa anche una chiave di colore per i 4 strati in rame: Pcbnew layer colour key

Test DRC finale

Prima di generare i file d’uscita, un test generale di controllo delle regole di progettazione (DRC) è fortemente consigliato.

Le zone vengono riempite o ri-riempite quando si fa partire una DRC. Permere il pulsante drc per avviare la seguente finestra di dialogo DRC:

Pcbnew DRC dialog

Regolare i parametri e premere il pulsante ``Avvia controllo regole di progettazione''.

Questo controllo finale eviterà spiacevoli sorprese.

Impostazione delle coordinate di origine

Per impostare le coordinate di origine per i file del ftoplotter e per le forature, bisogna piazzare gli assi ausiliari su questa origine. Attivare l’icona pcb offset. Spostare gli assi ausiliari premendo il tasto sinistro del mouse sulla posizione scelta.

Pcbnew setting pcb origin

Generazione dei file per i fotoplotter

Quest’operazione viene effettuata tramite la voce File/Traccia che invoca la seguente finestra di dialogo:

Pcbnew plot dialog

Solitamente, i file sono in formato GERBER. Tuttavia, è possibile produrre risultati anche nei formati HPGL che POSTSCRIPT. Quando viene selezionato il formato Postscript, appare questa finestra di dialogo:

Pcbnew plot postscript dialog

In questi formati, è possibile usare una regolazione fine della scala per compensare i problemi di accuratezza del plotter ed avere così una vera scala 1 per il risultato:

Pcbnew plot fine scale setting

Formato GERBER

Per ogni strato, Pcbnew genera un file separato seguendo lo standard GERBER 274X; questo è, come impostazione predefinita, nel formato 4.6 (ogni coordinata nel file è rappresentata da 10 digit, dei quali 4 sono prima del punto decimale e 6 dopo di esso), unità in pollici, e scala 1.

Di norma è necessario creare file per tutti gli strati in rame e, a seconda del circuito, per gli strati di serigrafia, maschera di saldatura e pasta adesiva. Questi file possono essere prodotti tutti assieme, selezionando le caselle di spunta appropriate.

Per esempio, per un circuito stampato a doppia faccia con serigrafia, maschera di saldatura e pasta adesiva (per i componenti SMD), si dovrebbero generare 8 file ('xxxx' rappresenta il nome del file .brd).

  • xxxx-F_Cu.gbr per il lato componenti.

  • xxxx-B_Cu.gbr per il lato rame.

  • xxxx-F_SilkS.gbr per la serigrafia del lato componenti.

  • xxxx-B_SilkS.gbr per la serigrafia del lato rame.

  • xxxx-F_Paste.gbr per la pasta adesiva del lato componenti.

  • xxxx-B_Paste.gbr per la pasta adesiva del lato rame.

  • xxxx-F_Mask.gbr per la maschera di saldatura del lato componenti.

  • xxxx-B_Mask.gbr per la maschera di saldatura del lato rame.

Formato dei file GERBER:

Il formato usato da Pcbnew è il formato RS274X 4.6, sistema britannico imperiale, senza zeri iniziali, assoluto. Queste sono impostazioni molto comuni.

Formato POSTSCRIPT

L’estensione standard per i file in uscita è .ps nel caso di risultati postscript. Per quanto riguarda invece i risultati HPGL, la tracciatura può essere impostata a fattori di scala selezionati dall’utente e può essere speculare. Se l’opzione Orig = Centro è attiva, l’origine delle coordinate della tabella di tracciatura si assume sia nel centro del disegno.

Se l’opzione squadratura è attiva, viene tracciato anche il riquadro del foglio di lavoro.

Opzioni di tracciatura

Formato Gerber:

Pcbnew plot options gerber

Altri formati:

Pcbnew plot options other formats

Opzioni specifiche del formato Gerber:

Usa le estensioni dei nomi file Protel

Usa .gbl .gtl .gbs .gts .gbp .gtp .gbo .gto invece di .gbr per le estensioni dei nomi dei file.

Includi gli attributi estesi (X2)

Il risultato degli attributi estesi (formato file Gerber X2) finisce nel file Gerber.

Sottrai maschera di saldatura dalla serigrafia

Rimuove tutte le serigrafie dalle aree dedicate alla pastasalda.

Altri formati

L’estensione standard dipende dal tipo di file in uscita.

Alcune opzioni non sono disponibili in altri formati.

La tracciatura può essere effettuata a scala personalizzata e può essere speculare.

L’elenco opzioni della stampa forature permettere di scegliere tra piazzole piene, forate al diametro corretto o forate con un foro più piccolo (per guidare la foratura manuale).

Se l’opzione squadratura è attiva, viene tracciato anche il riquadro del foglio di lavoro.

Le impostazioni globali di distanza per la maschera di saldatura e la maschera della pastasalda

I valori di distanza della maschera possono essere impostati globalmente per gli strati della maschera di saldatura e della pastasalda. Queste distanze possono essere impostate ai seguenti livelli:

  • A livello delle piazzole.

  • A livello delle impronte.

  • Globalmente.

E Pcbnew usa un ordine di priorità.

  • Valori piazzola. Se assenti:

  • Valori impronta. Se assenti:

  • Valori globali.

Accesso

Il menu opzioni per questa funzione è disponibile tramite il menu Dimensioni:

Pcbnew pad mask clearance menu item

La finestra di dialogo è la seguente:

Pcbnew pad mask settings dialog

Distanza maschera di saldatura

Un valore di circa 0.2 mm in genere va bene. Questo valore è positivo perché la maschera è di solito più grande della piazzola.

È possibile impostare, per la mascheda di saldatura, un valore minimo di larghezza tra due piazzole.

Se il valore corrente è più piccolo del valore minimo, le due forme della maschera di saldatura verranno fuse assieme.

Distanza della pastasalda

La distanza finale è la somma della distanza della pasta salda e di una percentuale della dimensione della piazzola.

Questo valore è negativo perché la maschera è in genere più piccola della piazzola.

Generazione dei file delle forature

La creazione di un file delle forature xxxx.drl secondo lo standard EXCELLON è sempre necessario.

È possibile anche produrre opzionalmente sia un rapporto forature che una mappa delle forature.

  • La mappa delle forature può essere tracciata usando diversi formati.

  • Il rapporto forature è un file in testo semplice

La generazione di questi file viene controllata tramite:

  • Il pulsante ``Genera file forature'', o

  • File/Genera per fabbricazione/File forature.

La finestra di dialogo delle forature sarà la seguente:

Pcbnew drill file dialog

Per l’impostazione delle coordinate di origine viene usata la seguente finestra di dialogo:

Pcbnew drill origin setting
  • Assoluta: viene usato un sistema di coordinate assoluto.

  • Asse ausiliario: le coordinate sono relative all’asse ausiliario, usare l’icona (barra strumenti a destra) per impostarlo.

Generazione della documentazione di cablaggio

Per produrre i file di documentazione di cablaggio, è possibile tracciare gli strati della serigrafia degli strati rame e componenti. In genere, sono sufficienti le marcature del solo lato componenti della serigrafia per assemblare un circuito stampato. Se viene usato il lato rame della serigrafia, il testo contenuto dovrebbe essere reso speculare in modo da renderlo leggibile.

Generazione dei file per l’inserzione automatica dei componenti

Questa opzione è accessibile tramite la voce di menu file Genera per fabbricazione/File posizionamento impronte. Comunque, nessun file verrà generato a meno che almeno una impronta non abbia l’attributo Normal+Insert attivato (consultare la sezione Modifica impronte). Uno o due file verranno prodotti, a seconda se sono presenti componenti inseribili su una o entrambe le facce del circuito stampato. Una finestra di dialogo mostrerà i nomi dei file creati.

Opzioni di tracciamento avanzate

Le opzioni descritte sotto (parte della finestra di dialogo File/Traccia) permettono un controllo fine del processo di tracciamento. Sono particolarmente utili durante la stampa delle marcature sulla serigrafia per la documentazione del cablaggio.

Pcbnew advanced tracing options

Le opzioni disponibili sono:

Traccia squadratura su tutti gli strati

Disegna la disposizione di pagina (layout) e il riquadro iscrizioni (cartiglio) su tutti gli strati.

Traccia piazzole sulla serigrafia

Abilita il disegno dei profili delle piazzole sulgli strati serigrafici (se le piazzole sono state già impostate per apparire su questi strati). Se disabilitata impedisce la stampa di qualsiasi piazzola.

Traccia i valori dell’impronta

Abilita il disegno del testo VALORE sulla serigrafia.

Traccia i riferimenti dell’impronta

Abilita il disegno del testo RIFERIMENTO sulla serigrafia.

Forza la tracciatura di valori e/o riferimenti invisibili

Forza la stampa dei campi (riferimento, valore) dichiarati come invisibili. In combinazione con Traccia i valori dell’impronta'' e Traccia i riferimenti dell’impronta'', questa opzione abilita la produzione di documenti guida per il cablaggio e la riparazione. Queste opzioni si sono rivelate necessarie per i circuiti utilizzanti componenti troppo piccoli (SMD) per permettere guide di piazzamento leggibili di due campi di testo separati.

Non coprire i via (tent)

Cancella la maschera sopra i via (lasciandoli scoperti).

Escludi il contenuto dello strato di bordo scheda dagli altri strati

Specifica del formato GERBER. Non disegnare gli elementi grafici sullo strato del bordo.

Usa le estensioni dei nomifile Protel

Specifica del formato GERBER. Durante la creazione dei file, usa specifiche estensioni per ogni file. Se disabilitata l’estensione del file Gerber sarà .gbr.

Editor impronte - Gestione librerie

Panoramica dell’editor delle impronte

Pcbnew può mantenere simultaneamente diverse librerie. Perciò, quando un’impronta viene caricata, tutte le librerie che appaiono nell’elenco librerie vengono scansionate fino al ritrovamento della prima istanza di impronta. Di seguito, si noti che la libreria attiva è la libreria selezionata all’interno dell’editor delle impronte, il programma verrà descritto

L’editor impronte consente la creazione e la modifica di impronte:

  • Aggiunta e rimozione piazzole.

  • Il cambiamento delle proprietà delle piazzole (forma, strato) per piazzole individuali o globalmente per tutte le piazzole di un’impronta.

  • Modifica degli elementi grafici (linee, testo).

  • Modifica dei campi di informazione (valore, riferimento, ecc.).

  • Modifica della documentazione associata (descrizione, parole chiave).

L’editor impronte consente la manutenzione della libreria attiva permettendo di:

  • Elencare le impronte nella libreria attiva.

  • Cancellare una impronta dalla libreria attiva.

  • Salvare una impronta nella libreria attiva.

  • Salvare tutte le impronte contenute in un circuito stampato.

È anche possibile creare nuove librerie.

L’estensione della libreria è .mod.

Accedere all’editor delle impronte

Si può accedere all’editor impronte in due modi differenti:

  • Direttamente, tramite l’icona module editor nella barra strumentu principale di Pcbnew.

  • Nella finestra di dialogo di modifica dell’impronta attiva (vedere figura in basso: accesso ottenuto tramite il menu contestuale), c’è il pulsante Modifica con l’editor delle impronte.

Pcbnew module properties

In questo caso, l’impronta attiva della scheda verrà caricata automaticamente nell’editor delle impronte, abilitandone la modifica immediata o l’archiviazione.

Interfaccia utente dell’editor delle impronte

Chiamando l’editor delle impronte apparirà la seguente finestra:

Modedit main window

Barra strumenti principale nell’editor delle impronte

Modedit top toolbar

Da questa barra strumenti, sono disponibili le seguenti funzioni:

library

Seleziona la libreria attiva.

save library

Salva l’impronta corrente nella libreria attiva, e la scrive su disco.

new library

Crea una nuova libreria e vi salva l’impronta corrente.

modview icon

Apre il visualizzatore impronte.

delete

Accede alla finestra di dialogo di cancellazione impronta dalla libreria attiva.

new footprint

Crea una nuova impronta.

module wizard

Crea un’impronta con una procedura guidata.

load module lib

Carica un’impronta dalla libreria attiva.

load module board

Carica (importa) un’impronta dal circuito stampato.

update module board

Esporta l’impronta corrente sul circuito stampato se l’impronta era stata in precedenza importata dalla scheda corrente. Rimpiazzerà la corrispondente impronta sulla scheda (cioè, rispettando posizione e orientamento).

insert module board

Esporta l’impronta corrente sul circuito stampato. Verrà copiata sul circuito stampato alla posizione 0.

import module

Importa un’impronta da un file creato dal comando Esporta.

export module

Esporta un’impronta. Questo comando è essenzialmente identico a quello per creare una libreria, l’unica differenza è che crea una libreria nella cartella utente, mentre crea una libreria nella cartella delle librerie standard (solitamente kicad/modules).

undo redo

Annulla e Ripeti.

module options

Invoca la finestra di dialogo delle proprietà dell’impronta.

print button

Chiama la finestra di dialogo della stampa.

zoom in zoom out zoom redraw zoom fit in page

Comandi standard dello zoom.

options pad

Chiama l’editor della piazzola.

module check

Esegue un controllo di correttezza dell’impronta.

Creazione di una nuova libreria

La creazione di una nuova libreria viene fatta tramite il pulsante new library, e il file viene creato come impostazione predefinita nella cartella delle librerie o tramite il pulsante export module, nel qual caso il file viene creato come impostazione predefinita nella propria cartella di lavoro.

Una finestra di dialogo di selezione file permette di specificare il nome della libreria e di cambiarne la sua cartella. In entrambi i casi, la libreria conterrà l’impronta da modificare.

Se dovesse esistere una vecchia libreria con lo stesso nome, questa verrà sovrascritta senza avvertimenti.

Salvataggio di una impronta nella libreria attiva

L’azione di salvataggio di una impronta (modificando in tal modo il file della libreria attiva) viene eseguita usando questo pulsante save library. Se una impronta dello stesso nome esiste già, questa verrà rimpiazzata. Dato che si dipenderà dall’accuratezza delle librerie di impronte, è importante ricontrollare l’impronta prima di salvare.

È raccomandata la modifica dei campi di riferimento o del valore al nome dell’impronta come identificata nella libreria.

Trasferimento di una impronta da una libreria ad un’altra

  • Selezionare la libreria sorgente tramite il pulsante library.

  • Caricare l’impronta tramite il pulsante load module lib.

  • Selezionare la libreria di destinazione tramite il pulsante library.

  • Salvare l’impronta tramite il pulsante save library.

Si puo voler anche eliminare l’impronta sorgente.

  • Riselezionare la libreria sorgente con library.

  • Eliminare la vecchia impronta tramite il pulsante delete.

Salvataggio di tutte le impronte sulla scheda nella libreria attiva

È possibile copiare tutte le impronte di un dato progetto di scheda sulla libreria attiva. Queste impronte manterranno i loro nomi correnti nella libreria. Questo comando ha due usi:

  • Per creare un archivio o una libreria completa con le impronte di una scheda, nel caso che si perda una libreria.

  • Ancora più importante, per facilitare la manutenzione della libreria consentendo la produzione di documentazione per la libreria, come sotto.

Documentazione per le impronte di libreria

È caldamente raccomandato di documentare le impronte che si creano, in modo da abilitarne la ricerca rapida e senza errori.

Per esempio, chi è in grado di ricordare tutte le possibili varianti della piedinatura di un contenitore TO92? La finestra di dialogo delle proprietà dell’impronta offre una semplice soluzione a questo problema.

Modedit module properties

Questa finestra di dialogo accetta:

  • Una riga di descrizione/commento.

  • Più parole chiave.

La descrizione viene visualizzata con l’elenco componenti in Cvpcb e, in Pcbnew, viene usata dalla finestra di dialogo di selezione delle impronte.

Le parole chiave permettono di restringere le ricerche a impronte a cui queste parole chiave corrispondono.

Quando si carica direttamente una impronta (l’icona module Pcbnew della barra strumenti a destra), possono essere inserite delle parole chiave nella finestra di dialogo. Quindi, inserendo il testo =CONN si provocherà la visualizzazione dell’elenco delle impronte il cui elenco parole chiave contiene la parola CONN.

Librerie di documentazione - pratica raccomandata

Si raccomanda di creare le librerie indirettamente, creando uno o più schede circuiti ausiliarie che costituiranno la sorgente (di parte) della libreria, come segue: creare una scheda in formato A4, in modo da essere in grado di stamparla facilmente in scala (1:1).

Creare le impronte che la libreria conterrà in questo circuito stampato. La libreria stessa verrà creata con il comando File/Archivia impronte/Crea libreria e archivia impronte.

Pcbnew archive footprints menu

La "vera sorgente" della libreria sarà perciò la scheda di circuito stampato ausiliaria, e sarà su questa scheda che ogni successiva alterazione di impronte verrà fatta. Naturalmente, diverse schede possono venir salvate nella stessa libreria.

È generalmente una buona idea creare diverse librerie per diversi tipi di componenti (connettori, componenti discreti,…​), dato che Pcbnew è in grado di effetturare ricerche su più librerie durante il caricamento delle impronte.

Ecco un esempio di tale sorgente di libreria:

Pcbnew example library

Questa tecnica ha diversi vantaggi:

  • Il circuito può essere stampato in scala e servire come documentazione per la libreria senza alcuno sforzo.

  • Futuri cambiamenti di Pcbnew possono richiedere la rigenerazione delle librerie, cosa che può essere effettuata molto velocemente se sono stati usati sorgenti di circuito stampato di questo tipo. Tutto ciò è importante, dato che i formati dei file di circuito stampato vengono garantiti rimanere compatibili nei futuri sviluppi, ma ciò non è detto avvenga anche per quanto riguarda il formato dei file delle librerie.

Gestione librerie di impronte

L’elenco delle librerie di impronte in Pcbnew può essere modificato usando il manager delle librerie di impronte. Ciò permette di aggiungere e rimuovere librerie di impronte a mano, e permette anche di invocare l’assistente di librerie di impronte premendo il pulsante "Accoda con l’assistente".

L’assistente librerie di impronte può essere invocato anche tramite il menu delle preferenze, e può automaticamente aggiungere una libreria (rilevandone il tipo) da un file o da un URL Github. L’URL delle librerie ufficiali è: https://github.com/KiCad .

Ulteriori dettagli sulle tabelle di librerie di impronte, sul manager e sull’assistente relativo, sono reperibili sul manuale di riferimento del programma CvPcb nella sezione Tabelle librerie impronte.

Gestione librerie forme 3D

Le librerie di forme 3D possono essere scaricate con l’apposito assistente per le librerie di forme 3D. Esso può essere invocato dal menu delle preferenze → Scaricatore librerie di forme 3D.

Editor delle impronte - Creazione e modifica delle impronte

Panoramica dell’editor delle impronte

L’editor delle impronte viene usato per la modifica e per la creazione di impronte di componenti per il circuito stampato. Ciò include:

  • Aggiunta e rimozione piazzole.

  • Cambio delle proprietà delle piazzole (forma, strato), per piazzole individuali o per tutte le piazzole in un’impronta.

  • Aggiunta e modifica di elementi grafici (contorni, testo).

  • Modifica dei campi (valore, riferimento, ecc.).

  • Modifica della documentazione associata (descrizione, parole chiave).

Elementi impronte

Un’impronta è la rappresentazione fisica (impronta) della parte da inserire nel circuito stampato e deve essere collegata ai corrisponendi componenti presenti nello schema elettrico. Ogni impronta include tre elementi diversi:

  • Le piazzole.

  • Contorni grafici e testo.

  • Campi.

Inoltre, altri parametri dovranno essere definiti correttamente se si desidera usare la funzione di auto piazzamento. Stesso dicasi per la generazione di file di auto inserimento.

Piazzole

Due proprietà delle piazzole sono importanti:

  • Geometria (forma, strati, fori).

  • Il numero piazzola può essere lungo fino a quattro caratteri alfanumerici. I seguenti sono quindi tutti numeri piazzola validi: 1, 45 e 9999, ma anche AA56 e ANOD. Il numero piazzola deve essere identico al numero piedino corrispondente nello schema elettrico, dato che definisce la corrispondenza piedino - numero piazzola che Pcbnew usa per metterli in collegamento.

Contorni

I contorni grafici vengono usati per disegnare la forma fisica dell’impronta. Sono disponibili diversi tipi di contorni: linee, cerchi, archi e testo. I contorni non hanno significato elettrico, sono semplicemente elementi grafici di aiuto.

Campi

Questi sono elementi di testo associati ad una impronta. Due sono obbligatori e sempre presenti: il campo riferimento e il campo valore. Questi vengono automaticamente letti ed aggiornati da Pcbnew quando viene letta una netlist durante il caricamento delle impronte nella scheda. Il riferimento viene rimpiazzato dall’appropriato riferimento dello schema elettrico (U1, IC3, ecc.). Il valore viene anch’esso rimpiazzato dall’appropriato valore della parte corrispondente nello schema elettrico (47K, 74LS02, ecc.). Altri campi possono venire aggiunti ma si comporteranno come testo grafico.

Avvio dell’editor delle impronte e selezione di una impronta da modificare

L’editor delle impronte può essere avviato in due modi:

  • Direttamente tramite l’icona module editor dalla barra strumenti principale di Pcbnew. Questo permette la creazione o la modifica di un’impronta nella libreria.

  • Facendo doppio clic su un’impronta verrà lanciato il menu Proprietà impronta'', che offre un pulsante Editor impronte''. Se si esegue quest’azione, l’impronta presente nella scheda verrà caricata nell’editor, per la modifica o per il suo salvataggio.

Barre strumenti editor impronte

La chiamata dell’editor delle impronte porterà in primo piano una finestra simile alla seguente:

Modedit main window

Barra strumenti di modifica (lato destro)

Questa barra contiene strumenti per:

  • Posizionare piazzole.

  • Aggiungere elementi grafici (contorni, testo).

  • Posizionare ancoraggi.

  • Eliminare elementi.

Le funzioni specifiche sono le seguenti:

cursor

Nessuno strumento.

pad

Aggiungi piazzole.

add polygon

Disegna segmenti di linea e poligoni.

add circle

Disegna cerchi.

add arc

Disegna archi circolari.

text

Aggiungi testo grafico (i campi non sono gestiti da questo strumento).

anchor

Posiziona il punto di ancoraggio dell’impronta.

delete

Cancella elementi.

grid select axis

Origine della griglia (spostamento griglia). Utile per il posizionamento delle piazzole. L’origine della griglia può essere inserita su una data posizione (la prima piazzola da piazzare), ed in seguito la dimensione della griglia può essere impostata al "passo integrato". In questo modo il piazzamento di piazzole viene molto facilitato.

Barra strumenti di visualizzazione (lato sinistro)

Questi strumenti gestiscono le opzioni di visualizzazione nell’editor delle impronte:

grid

Mostra la griglia.

polar coord

Mostra le coordinate polari.

unit mm unit inch

Unità in uso in mm o pollici

cursor shape

Commuta forma del puntatore.

pad sketch

Visualizza piazzole in modalità contorno.

text sketch

Visualizza testo in modalità contorno.

show mod edge

Visualizza bordi in modalità contorno.

contrast mode

Visualizza con contrasto aumentato.

Il pulsante destro del mouse richiama dei menu che dipendono dall’elemento sottostante il puntatore.

Il menu contestuale per la modifica dei parametri dell’impronta:

Modedit context menu module parameters

Il menu contestuale per la modifica delle piazzole:

Modedit context menu pads

Il menu contestuale per la modifica degli elementi grafici:

Modedit context menu graphics

La finestra di dialogo delle proprietà dell’impronta

Questa finestra di dialogo può essere avviata quando il puntatore è sopra un’impronta facendo clic con il tasto destro del mouse e selezionando ``Modifica impronta''.

Modedit module properties dialog

Questa finestra di dialogo può essere usata per definire i principali parametri dell’impronta.

Creazione di una nuova impronta

Una nuova impronta può essere creata tramite il pulsante new footprint. Il nome della nuova impronta verrà richiesto. Questo sarà il nome con il quale l’impronta verrà identificata nella libreria.

Questo testo serve anche come valore dell’impronta, il quale viene sostanzialmente rimpiazzato dal valore reale (100 µF_16 V, 100 Ω_0.5 W, …​)

La nuova impronta richiederà:

  • Contorni (e forse del testo grafico).

  • Piazzole.

  • Un valore (testo nascosto che viene rimpiazzato dal vero valore se usato).

Un metodo alternativo:

Se una nuova impronta è simile ad una esistente in una libreria o su una scheda, un metodo alternativo e più veloce per creare una nuova impronta è il seguente:

  • Caricare l’impronta simile (load module lib, load module board o import module).

  • Modificare il campo "Nome impronta in libreria" in modo da generare un nuovo identificatore (nome).

  • Modificare e salvare la una nuova impronta.

Aggiunta e modifica piazzole

Una volta creata l’impronta, si possono aggiungere le piazzole, cancellarle o modificarle. La modifica delle piazzole può essere locale, e riguardare solo la piazzola sottostante il puntatore, o globale, e coinvolgere tutte le piazzole dell’impronta.

Aggiunta piazzole

Selezionare l’icona pad dalla barra strumenti a destra. Le piazzolo possono essere aggiunte facendo clic sulla posizione desiderata con il pulsante sinistro del mouse. Le proprietà delle piazzole sono predefinite nel menu delle proprietà della piazzola.

Non dimentirare di inserire il numero della piazzola.

Impostazioni proprietà piazzole

Si può fare in tre modi diversi:

  • Selezionando l’icona options pad dalla barra strumenti orizzontale.

  • Facendo clic su una piazzola esistente e selezionando \"Modifica piazzola\". Poi, le impostazioni della piazzola, possono si possono modificare.

  • Facendo clic su una piazzola esistente e selezionando "Esporta impostazioni piazzola". In questo caso, le proprietà geometriche della piazzola selezionata diverranno le impostazioni piazzola predefinite.

Nei primi due casi, la seguente finestra di dialogo verrà mostrata:

Modedit pad properties dialog

Occorre prestare attenzione a definire correttamente gli strati a cui apparterrà la piazzola. In particolare, anche se i livelli di rame sono facili da definire, la gestione di strati non-rame (maschera di saldatura, piazzole di saldatura …​) è altrettanto importante per la fabbricazione del circuito e la documentazione.

Il selettore del tipo di piazzola provoca una selezione automatica di strati che generalmente è sufficiente.

Piazzole rettangolari

Per impronte SMD di tipo VQFP / PQFP che hanno piazzole rettangolari su tutti i quattro lati (sia orizzontali che verticali), si raccomanda di usare una sola forma (ad esempio, un rettangolo orizzontale) e posizionarla con diversi orientamenti (0 per orizzontale e 90 gradi per verticale). Il ridimensionamento globale di piazzole può quindi essere realizzato in un’unica operazione.

Ruota piazzole

Rotazioni di -90 o -180 sono richieste solo per le piazzole trapezoidali usate nelle impronte per microonde.

Piazzole passanti non metallizzate

Le piazzole possono essere definite come passanti non metallizzate (piazzole NPTH).

Queste piazzole devono essere definite su uno o su tutti gli strati rame (ovviamente, il foro esiste su tutti gli strati rame).

Questo requisito consente di definire parametri specifici di distanza (per esempio la distanza di una vite).

Quando la dimensione del foro di una piazzola è la stessa della dimensione della piazzola, per una piazzola circolare o ovale, questa piazzola NON viene tracciata sugli strati rame nei file GERBER.

Queste piazzole vengono usate a scopi meccanici, perciò non è consentito dare nomi a piazzole o a collegamenti. Una connessione ad una net non è possibile.

Parametro spostamento

La piazzola 3 ha spostamento Y = 15 mils:

Modedit pad offset example
Parametro delta (piazzole trapezoidali)

La piazzola 1 ha il suo parametro Delta X = 10 mils

Modedit pad delta example

Impostazione distanza per gli strati di maschera di saldatura e di flussante

Quando si definiscono piazzole contenenti strati rame, KiCad crea gli strati di maschera di saldatura e di pastasalda basandosi su una distanza e/o un rapporto di geometria della piazzola fissi. Le impostazioni non-zero usate per calcolare la dimensione finale della piazzola si basano sul seguente ordine di precedenza:

  • Impostazioni piazzole

  • Impostazioni impronte

  • Impostazioni globali

La forma della maschera di saldatura della piazzola è solitamente più grande della piazzola stessa. Perciò il valore della distanza è positivo. La forma della maschera del flussante è invece solitamente più piccola della piazzola stessa. Perciò il valore della distanza è negativo.

Impostazioni pastasalda

Due impostazioni vengono usate per calcolare l’apertura della pastasalda:

  • Un’impostazione di distanza fissa.

  • Una percentuale della dimensione della piazzola.

Il valore finale è il prodotto dell’impostazioni del rapporto e della distanza.

Piazzole non su strati rame

C’è un secondo metodo per creare piazzole che non hanno strati rame definiti. Queste piazzole sono comunemente chiamate piazzole di apertura e possono essere usate per creare aperture personalizzate non basate sul profilo di geometria di una piazzola in rame. Questo metodo è stato introdotto nella versione 5.0.0-rc2. Le piazzola definite senza strati rame ignorano le impostazioni a livello globale e di impronta e usano solo le impostazioni a livello di piazzola.

Piazzole senza strati rame definite prima della versione 5.0.0-rc2 venivano tracciate usando le precendenze definite sopra usando le impostazioni globali e di impronta. Era necessario effettuare aggiustamenti per ogni scheda progettata prima di questa versione se si desiderava ottenere lo stesso risultato.

Impostazioni livello delle impronte:

Modedit footprint level pad settings

Impostazioni livello delle piazzole:

Modedit pad level pad settings

Proprietà campi

Ci sono almeno due campi: riferimento e valore.

I loro parametri (attributo, dimensione, larghezza) devono essere aggiornati. È possibile accedere alla finestra di dialogo dal menu a scomparsa facendo clic sul campo o tramite la finestra di dialogo delle proprietà dell’impronta:

Modedit footprint text properties

Piazzamento automatico di una impronta

Se l’utente desidera sfruttare pienamente le capacità delle funzioni di auto-piazzamento, è necessario definire l’orientamento consentito delle impronte (finestra di dialogo delle proprietà delle impronte).

Modedit module autoplace settings

Di solito, la rotazione di 180 gradi è permessa per le resistenze, per i condensatori non polarizzati ed altri componenti simmetrici.

Ad alcune impronte (come quelle dei piccoli transistor, per esempio) è permessa la rotazione di +/- 90 o 180 gradi. Come impostazione predefinita, una nuova impronta avrà i permessi di rotazione impostati a zero. Questo comportamento può essere impostato secondo la seguente regola:

Il valore 0 rende la rotazione impossibile, mentre 10 la permette completamente, e ogni valore intermedio rappresenta una limitazione nella rotazione. Per esempio, una resistenza può avere un permesso di 10 di rotare di 180 gradi (senza limitazioni) e un permesso di 5 per una rotazione di +/- 90 gradi (permesso ma sconsigliato).

Attributi

La finestra degli attributi è la seguente:

Modedit module attributes
  • Normale è l’attributo standard.

  • Normale+Inserisci indica che l’impronta deve apparire nei file di posizionamento automatico (per le macchine di posizionamento automatico). Questo attributo è utile soprattutto per i componenti a montaggio superficiale (SMD).

  • Virtuale indica che il componente è formato direttamente dal circuito stampato. Esempi sono in connettori (edge) fatti da un lato del C.S. o le induttanze create da una forma particolare sul C.S. (visibili alle volte nelle impronte per microonde).

Documentare le impronte in una libreria

È caldamente raccomandato di documentare le impronte appena create, in modo da facilitarne il recupero rapido ed accurato. Chi si ricorda le multiple varianti di una impronta TO92?

La finestra di dialogo delle proprietà dell’impronta offre un mezzo semplice e potente per la generazione della documentazione.

Modedit module properties documentation fields

Questo menu permette:

  • L’inserimento di una riga di commento (descrizione).

  • Più parole chiave.

La riga di commento viene mostrata con l’elenco componenti in CvPcb e nei meno di selezione impronte in Pcbnew. Le parole-chiave possono essere usate per restringere le ricerche alle parti che posseggono tali parole-chiave.

Perciò, durante l’uso del comando di caricamento dell’impronta (l’icona nella barra strumenti a destra in Pcbnew), è possibile battere il testo =TO220 nella finestra di dialogo per fare in modo che Pcbnew mostri l’elenco delle impronte che possiedono la parola-chiave TO220.

Visualizzazione tridimensionale

Una impronta può essere stata associata ad un file contenente una rappresentazione tridimensionale di essa. Per associare un tale file con un’impronta, selezionare la scheda delle ``Impostazioni 3D''. Il pannello delle opzioni è il seguente:

Modedit module 3d options
Figure 1. Interfaccia di selezione del modello 3D

I pulsanti sulla destra hanno le seguenti funzioni:

  • Aggiungi forma 3D mostra una finestra di dialogo di selezione file 3D e crea una nuova voce di modello per il componente.

  • Rimuovi forma 3D cancella la voce del modello selezionato.

  • Modifica nome file mostra un editor di testo per l’immissione manuale del nome del file del modello.

  • Configura percorsi mostra una finestra di dialogo di configurazione che permette all’utente di modificare l’elenco degli alias dei percorsi e dei valori.

La scheda Impostazioni 3D contiene un pannello con un’anteprima del modello selezionato e i dati di scala, scostamento e rotazione per il modello.

I valori di scala sono utili per i formati di visualizzazione come VRML1, VRML2, e X3D. Dato che il modello può essere stato prodotto da qualsiasi editor o esportatore VRML/X3D e VRML non obbliga all’uso di una unità di lunghezza nei modelli, qli utenti possono inserire un valore di scala appropriato per assicurarsi che il modello appaia come dovrebbe all’interno del visualizzatore 3D. Alcuni utenti impiegano un semplice parallelepipedo VRML come modello generico per componenti, selezionano i valori di scala in modo che questo parallelepipedo abbia la dimensione corretta per rappresentare il componente. Per i modelli provenienti dal CAD meccanico (MCAD) i valori di scala dovrebbero essere lasciati al valore unitario. I formati MCAD specificano sempre una unità di lunghezza e qualsiasi esportatore che fa uso di formati di dati MCAD ignorerà i valori di scala. Invece il visualizzatore 3D applicherà sempre i valori di scala; se i valori di scala diversi dall’unità vengono usati con modelli MCAD, il risultato del visualizzatore 3D differirà da qualsiasi modello MCAD esportato come IDF.

I valori di scostamento e rotazione sono richiesti tipicamente per allineare un modello 3D con una impronta. A causa di differenze nei software di modellazione 3D come anche nel modo in cui gli utenti creano i modelli, nella maggioranza dei casi è necessario che gli utenti inseriscano i valori di scostamento e rotazione per ottenere il posizionamento desiderato di un modello 3D. I valori di rotazione sono dati in gradi e vengono applicati in successione nell’ordine ZYX; la convenzione adottata è che un angolo positivo porta ad una rotazione oraria della parte durante la visualizzazione dalla posizione positiva dell’asse verso l’origine.

KiCad supporta i formati dei modelli 3D tramite un sistema di plugin che consentono il supporto dei formati dei modelli di visualizzazione VRML1, VRML2 oltre al formato dei modelli MCAD IDF. I formati MCAD IGES e STEP sono supportati tramite il Plugin OCE che richiede una versione apposita di OpenCascade o il software OpenCascade Community Edition (OCE).

Percorsi dei modelli 3D

Nel passato KiCad usava un percorso fisso verso la cartella dei modelli 3D mentre più tardi si fece affidamento sulla variabile ambiente KISYS3DMOD per specificare la posizione della cartella dei modelli. Altre cartelle di base per i modelli potevano essere specificate usando ulteriori variabili ambiente. L’attuale versione di KiCad ha un sistema speciale di alias per gestire i nomi dei modelli 3D. Lo scopo del nuovo sistema di gestione dei nomi di file (sistema di risoluzione dei nomi di file) è di fornire uno schema compatibile con le precedenti versioni di KiCad e nel contempo offrire un meccanismo maggiormente flessibile per specificare i nomi dei file dei modelli 3D migliorando la capacità di condividere i file di progetto.

A causa della richiesta di supporto ai formati di schema precedenti, contemporaneamente all’offrire un nuovo e maggiormente flessibile schema per la ricerca di modelli 3D, ci sono due metodi distinti per specificare i percorsi di ricerca di base per i modelli 3D.

Per mantenere la leggibilità dei file dati kicad_pcb e pretty, KiCad preferisce usare nomi di file accorciati tramite l’uso delle variabili ambiente (vecchio metodo) o alias (nuovo metodo). Dato che l’impostazione di variabili ambiente può essere scomoda specialmente su sistemi operativi basati su interfacce grafiche, lo schema a variabili ambiente per il supporto dei percorsi di ricerca dei modelli è stato esteso per fare uso della finestra di dialogo di configurazione dei percorsi esistenti definiti internamente di KiCad. Questa finestra di dialogo è disponibile attraverso il menu Preferenze→Configura percorsi ed è mostrata in basso. L’impostazione di percorsi aggiuntivi all’interno di questa finestra di dialogo estenderà i percorsi di ricerca usati per trovare i file dei modelli 3D. La finestra di dialogo, non imposta realmente le variabili ambiente, ma il sistema di risoluzione dei nomi di file agisce come se lo facesse; nel caso che delle vere variabili ambiente con lo stesso nome siano definite, il valore delle variabili ambiente andrà a sovrapporsi a qualsiasi valore definito internamente. I nomi di file relativi a queste variabili definite cominciano con ${MY_ENV_VAR} dove MY_ENV_VAR è una variabile definita tramite la finestra Configurazione percorsi o una vera variabile ambiente.

Modedit internal path config
Figure 2. Finestra di dialogo della configurazione dei percorsi di KiCad

Il nuovo schema per supportare i nomi di file accorciati è il sistema basato su alias. In questo sistema un percorso comincia con la stringa :mio alias: dove mio alias è una stringa di testo che viene scelta preferibilmente corta ma anche significativa per l’utente; per esempio un alias ad una cartella contenente i modelli ufficiali di KiCad potrebbe avere come alias Modelli ufficiali mentre la propria collezione di modelli personalizzati potrebbe avere come alias Miei modelli. Gli alias possono essere impostati facendo clic sul pulsante Configura percorsi presente nella scheda Impostazioni 3D mostrata in precedenza. La finestra di dialogo della configurazione alias è mostrata in basso.

Modedit alias path config
Figure 3. La finestra di configurazione degli alias di KiCad

I file dei modelli 3D possono essere selezionati facendo clic su Aggiungi forma 3D: ciò aprirà il browser dei modelli 3D mostrato in basso. Il browser dei modelli fornisce un’anteprima 3D, un filtro file, e un menu a cascata di selezione dei percorsi contenente l’elenco corrente dei percorsi di ricerca definiti tramite le variabili locali o gli alias. A seconda della dimensione e della complessità del modello la visualizzazione potrebbe impiegare alcuni secondi dopo la selezione. Per esempio, un caso estremo, un modello di contenitore BGA usato durante le prove, ha impiegato circa 12 secondi per essere visualizzato.

Modedit 3D file browser
Figure 4. Il browser 3D di KiCad

Salvataggio di una impronta nella libreria attiva

Il comando salva (le modifiche del file della libreria attiva) viene attivato dal pulsante save library.

Se esiste un’impronta con lo stesso nome (una versione più vecchia), essa verrà sovrascritta. Dato che è importante poter affidarsi alla libreria di impronte, vale la pena controllare più di una volta la correttezza dell’impronta prima di salvarla.

Prima di salvare si raccomanda anche di cambiare il riferimento o il valore dell’impronta in modo che corrisponda al nome della libreria di impronte.

Salvare un’impronta sulla scheda

Se l’impronta modificata proviene dalla scheda corrente, il pulsante update module board aggiornerà questa impronta sulla scheda.

Strumenti avanzati di modifica dei circuiti stampati

Ci sono alcuni strumenti di modifica più avanzati disponibili per Pcbnew e per l’editor delle impronte, che possono aiutare nella disposizione efficiente dei componenti sulla scheda.

Elementi duplicati

La duplicazione è un metodo per clonare un elemento e prelevarlo con lo stesso comando. È grosso modo simile a fare copia-incolla, ma permette di spargere'' i componenti sul C.S. in quanto permette di posizionare manualmente i componenti usando lo strumento di spostamento esatto'' (vedere sotto) più facilmente.

La duplicazione viene eseguita usando il comando da tastiera (che come impostazione predefinita è associato al Ctrl-D) o tramite la voce ``duplica'' nel menu contestuale, icona duplicate.

Spostamento esatto

Lo strumento ``Sposta esattamente'' permette di spostare un elemento (o gruppo di elementi) di un certo ammontare, che può essere inserito in forma di coordinate cartesiane o polari e in qualsiasi unità di misura supportata. Ciò può risultare molto utile in quanto altrimenti sarebbe stato molto scomodo commutare su una griglia diversa, soprattutto se la spaziatura non corrisponde a nessuna impostazione di griglia predefinita.

Per usare questo strumento, selezionare gli elementi che si desidera spostare, e poi usare il comando da tastiera (predefinito Ctrl-M) o il menu contestuale. Ciò invocherà la finestra di dialogo del comando, che può essere aperta con il comando da tastiera, anche quando si sta spostando o duplicando elementi, cosa che torna utile quando si deve applicare uno spostamento ripetutamente a più componenti.

Spostamento esatto con vettore di spostamento inserito in coordinate cartesiane

Pcbnew move exact cartesian

Spostamento esatto con vettore di spostamento inserito in coordinate polari

Pcbnew move exact polar

La casella di selezione permette di passare dal sistema di coordinare cartesiane a quello polare. Il valore correntemente inserito viene convertito automaticamente da un sistema all’altro.

Poi si inserisce il vettore di spostamento desiderato. Si possono usare le unità di misura indicate dalle etichette (mm'' nelle immagini sotto) oppure è possibile specificare le unità di misura direttamente (per es. 1 in'' per un pollice, o ``2 rad'' per 2 radianti).

Premendo OK'' si applicherà la translazione alla selezione, mentre Annulla'' chiuderà la finestra di dialogo e gli elementi non verranno spostati. Se viene premuto il pulsante OK, il vettore di spostamento verrà salvato e apparirà precompilato la volta successiva che si aprirà la finestra di dialogo, permettendo ripetute applicazioni dello stesso vettore a più oggetti.

Strumenti per le schiere

Pcbnew e l’editor delle impronte hanno entrambi degli assistenti per la creazione di schiere di elementi e componenti; questi assistenti possono essere usati per disporre in modo semplice ed accurato elementi ripetitivi sulla scheda o nelle impronte.

Attivazione dello strumento schiere

Lo strumento agisce sul componente presente sotto il puntatore opure, in modalità grafica tradizionale, su una selezione. È accessibile sia tramite il menu contestuale, icona array per la selezione che tramite comando da tastiera (predefinito Ctrl-N).

Lo strumento schiere si presenta come una finestra di dialogo, con un pannello per i tipi di schieramenti. Ci sono due tipi di schieramenti supportati: a griglia e circolare.

Ogni tipo di schiera può essere pienamente descritto nel rispettivo pannello. Le opzioni geometriche (come la griglia viene disposta) sono sulla sinistra; le opzioni di numerazione (incluso il tipo di progressione della numerazione sulla griglia) sono sulla destra.

Schiere a griglia

Le schiere a griglia sono schieramenti di disposizione di componenti secondo una griglia rettangolare bidimensionale. Questo tipo di schiere può produrre anche schieramenti lineari consistenti di una sola riga o colonna.

La finestra di dialogo di impostazione delle schiere a griglia:

Pcbnew array dialog grid
Opzioni di geometria

Le opzioni di geometria sono le seguenti:

  • Conteggio orizzontale: il numero di ``colonne'' nella griglia.

  • Conteggio verticale: il numero di ``righe'' nella griglia.

  • Spaziatura orizzontale: la distanza orizzontale da elemento a elemento nella stessa riga e nelle colonne successive. Se è negativa, la griglia procede da destra a sinistra.

  • Spaziatura verticale: la distanza verticale da elemento a elemento nella stessa colonna e nelle righe successive. Se è negativa, la griglia procede dal basso in alto.

  • Spostamento orizzontale: comincia ogni riga a questa distanza dalla destra della precedente

  • Spostamento verticale: comincia colonna a questa distanza sotto la precedente

Pcbnew array grid offsets
Figure 5. griglia 3x3 con spostamenti x e y
  • Alternanza: aggiunge uno spostamento ad ogni insieme di ``n'' righe/colonne, con ogni riga in progressione di 1/n della dimensione spaziale pertinente:

Pcbnew array grid stagger rows 2
Figure 6. Griglia 3x3 con un’alternanza di riga di 2
Pcbnew array grid stagger cols 3
Figure 7. Griglia 4x3 con un’alternanza di colonna di 3
Opzioni di numerazione
  • Direzione numerazione piazzole: determina se la numerazione deve procedere lungo le righe e poi spostarsi alla prossima riga, o lungo le colonne e poi spostarsi alla prossima colonna. Da notare che la direzione della numerazione è definita dal segno della spaziatura: una spaziatura negativa otterrà una numerazione da destra a sinistra o dal basso in alto.

  • Numerazione inversa piazzole su righe o colonne alternate: se selezionata, l’ordine di numerazione (da sinistra a destra o da destra a sinistra, per esempio) si alterna su righe o colonne. Sia per le righe che per le colonne l’alternanza dipende dalla direzione di numerazione. Questa opzione è utile per contenitori come i DIP dove la numerazione procede verso l’altro da un lato e verso il basso dall’altro.

  • Riavvio numerazione: se si sta disponendo elementi che possiedono già numerazione, reimposta all’avvio, altrimenti continua se possibile dal numero dell’elemento.

  • Schema numerazione piazzole

    • Continuous: the numbering just continues across a row/column break - if the last item in the first row is numbered "7", the first item in the second row will be "8".

    • Coordinate: the numbering uses a two-axis scheme where the number is made up of the row and column index. Which one comes first (row or column) is determined by the numbering direction.

  • Numerazione asse: che ``alfabeto'' usare per numerare gli assi. Le scelte sono

    • Numerals for normal integer indices

    • Hexadecimal for base-16 indexing

    • Alphabetic, minus IOSQXZ, a common scheme for electronic components, recommended by ASME Y14.35M-1997 sec. 5.2 (previously MIL-STD-100 sec. 406.5) to avoid confusion with numerals.

    • Full alphabet from A-Z.

Schiere circolari

Le schiere circolari posizionano gli elementi attorno ad un cerchio o ad un arco. Il cerchio viene definito dalla posizione della selezione (o dal centro di un gruppo selezionato) e da un punto centrale specificato. Ecco la finestra di dialogo della configurazione delle schiere circolari:

Pcbnew array dialog circular
Opzioni di geometria
  • Centro orizzontale, Centro verticale: il centro del cerchio. Il campo raggio sotto viene aggiornato automaticamente quando si regolano questi valori.

  • Angolo: la differenza angolare tra due elementi adiacenti nello schieramento. Impostarlo a zero per dividere equamente il cerchio con ``Conteggio'' elementi.

  • Counteggio: numero di elementi nello schieramento (incluso l’elemento originale)

  • Ruota: ruota ogni elemento attorno alla sua posizione. Diversamente, l’elemento verrà traslato ma non ruotato (per esempio, una piazzola quadrata rimarrà sempre diritta se questa opzione non viene impostata).

Opzioni di numerazione

Le schiere circolari hanno solo una dimensione ed una geometria più semplice delle griglie. Il significato delle opzioni disponibili è lo stesso che per le griglie. Gli elementi sono numerati in senso orario - per una schiera antioraria, specificare un angolo negativo.

Lo strumento di misura (righello)

Lo strumento di misura è un righello lineare che può essere usato per controllare visivamente dimensioni e distanze su una scheda di circuito stampato.

È accessibile tramite l’icona a forma di calibro measurement nel pannello strumenti a destra o con il suo comando da tastiera (predefinito Ctrl-Maiusc-M).

Se attivo è possibile disegnare un righello temporaneo sulla superficie di lavoro, disegnato con l’unità di misura corrente. Si può forzare l’inclinazione ad un angolo di 45 gradi tenendo premuto il tasto Ctrl. L’unità di misura può essere modificata senza lasciare lo strumento usando il solito comando da tastiera (di valore predefinito Ctrl-U).

Pcbnew measurement tool

Manuale di riferimento scripting di KiCad

Lo scripting permette di automatizzare delle operazioni in KiCad usando il linguaggio Python.

Vedere anche la documentazione doxygen su Python Scripting Reference.

Si può consultare la guida del modulo python battendo pydoc pcbnew nel proprio terminale.

Usando gli script si possono creare:

  • Plugin: questo tipo di script viene caricato all’avvio di KiCad. Esempi:

    • Assistenti impronte: per aiutare a creare facilmente impronte inserendo dei parametri. Consultare la sottostante sezione dedicata Assistenti impronte.

    • I/O file '(pianificato)': per consentire di scrivere plugin per esportare/importare altri tipi di file.

    • Azioni '(sperimentale)': associa eventi ad azioni di scripting o registra nuovi menu o icone nella barra strumenti.

  • Script a riga di comando: script che possono essere usati dalla riga di comando, per caricare schede o librerie, modificarle, e generare risultati o nuove schede.

Si dovrebbe notare che l’unica applicazione di KiCad che supporta lo scripting è Pcbnew. È pianificato di aggiungere questa caratteristica a Eeschema in un prossimo futuro.

Oggetti KiCad

Le API di scripting riflettono la struttura interna ad oggetti di KiCad/Pcbnew. BOARD è l’oggetto principale, che ha un insieme di proprietà e un insieme di MODULE, e TRACK/VIA, TEXTE_PCB, DIMENSION, DRAWSEGMENT. Poi i MODULE possono avere D_PAD, EDGE, ecc.

  • Vedere sotto la sezione BOARD.

Riferimento API di base

Tutte le API Pcbnew sono fornite dal modulo ``pcbnew'' in Python. Il metodo GetBoard() rerstituisce il c.s. corrente aperto dall’editor, utile per comandi scritti dalla shell di scripting integrata dentro pcbnew o per i plugin delle azioni.

Caricamento e salvataggio di una scheda

  • LoadBoard(nomefile): carica una scheda da file restituendo un oggetto BOARD, usando il formato file che corrisponde l’estensione del nome del file.

  • SaveBoard(nomefile,board): salva un oggetto BOARD su file, usando il formato file che corrisponde all’estensione del nome del file.

  • board.Save(nomefile): come sopra, ma è un metodo di un oggetto BOARD.

Esempio che carica una scheda, nasconde tutti i valori e mostra tutti i riferimenti.
#!/usr/bin/env python2.7
import sys
from pcbnew import *

filename=sys.argv[1]

pcb = LoadBoard(filename)
for module in pcb.GetModules():
    print "* Module: %s"%module.GetReference()
    module.Value().SetVisible(False)      # imposta il valore come nascosto
    module.Reference().SetVisible(True)   # imposta il riferimento come visibile

pcb.Save("mod_"+filename)

Elenco e caricamento librerie

Numerazione librerie, numerazione moduli, numerazione piazzole
#!/usr/bin/python

from pcbnew import *

libpath = "/usr/share/kicad/modules/Sockets.pretty"
print ">> numera impronte, piazzole di",libpath

# Carica l'adeguato plugin per leggere/scrivere la libreria .pretty
# (contenente i file impronta .kicad_mod)
src_type = IO_MGR.GuessPluginTypeFromLibPath( libpath );
# possiamo forzare il tipo di plugin usando IO_MGR.PluginFind( IO_MGR.KICAD )
plugin = IO_MGR.PluginFind( src_type )

# Stampa il nome del tipo del plugin: (atteso "KiCad" per una libreria .pretty)
print( "Selected plugin type: %s" % plugin.PluginName() )

list_of_footprints = plugin.FootprintEnumerate(libpath)

for name in list_of_footprints:
    fp = plugin.FootprintLoad(libpath,name)
    # stampa il nome abbreviato dell'impronta
    print name  # questo e' il nome dentro la libreria caricata
    # seguito dai campi riferimento, valore, e stringa di descrizione:
    # i testi ref e valore sono testi fittizi, rimpiazzati dai valori
    # dello schema elettrico al momento della lettura della netlist.
    print "  ->", fp.GetReference(), fp.GetValue(), fp.GetDescription()

    # print pad info: GetPos0() is the pad position relative to the footrint position
    for pad in fp.Pads():
        print "    pad [%s]" % pad.GetPadName(), "at",\
        "pos0", ToMM(pad.GetPos0().x), ToMM(pad.GetPos0().y),"mm",\
        "shape offset", ToMM(pad.GetOffset().x), ToMM(pad.GetOffset().y), "mm"
    print ""

BOARD

Board è l’oggetto base in pcbnew di KiCad, è il documento.

BOARD contiene un insieme di elenchi di oggetti a cui è possibile accedere usando i metodi seguenti, restituiranno elenchi iterabili che possono essere iterati usando "for obj in list:"

  • board.GetModules(): questo metodo restituisce una lista di oggetti MODULE, tutti i moduli disponibili nella scheda verranno qui esposti.

  • board.GetDrawings(): restituisce l’elenco di BOARD_ITEMS che appartengono ai disegni della scheda.

  • board.GetTracks(): questo metodo restituisce la lista di TRACK e VIA dentro una BOARD

  • board.GetFullRatsnest(): restituisce la lista di ratsnest (connessioni non ancora sbrogliate).

  • board.GetNetClasses(): restituisce la lista delle netclass

  • board.GetCurrentNetClassName(): restituisce la netclass corrente

  • board.GetViasDimensionsList(): restituisce la lista delle dimensioni dei via disponibili per la scheda.

  • board.GetTrackWidthList(): restituisce la lista di larghezza piste disponibili per la scheda.

Esempio di ispezione scheda
#!/usr/bin/env python
import sys
from pcbnew import *

filename=sys.argv[1]

pcb = LoadBoard(filename)

ToUnits = ToMM
FromUnits = FromMM
#ToUnits=ToMils
#FromUnits=FromMils

print "ELENCO VIA:"

for item in pcb.GetTracks():
    if type(item) is VIA:

        pos = item.GetPosition()
        drill = item.GetDrillValue()
        width = item.GetWidth()
        print " * Via:   %s - %f/%f "%(ToUnits(pos),ToUnits(drill),ToUnits(width))

    elif type(item) is TRACK:

        start = item.GetStart()
        end = item.GetEnd()
        width = item.GetWidth()

        print " * Pista: %s a %s, larghezza %f" % (ToUnits(start),ToUnits(end),ToUnits(width))

    else:
        print "Tipo sconosciuto    %s" % type(item)

print ""
print "ELENCO DISEGNI:"

for item in pcb.GetDrawings():
    if type(item) is TEXTE_PCB:
        print "* Text:    '%s' at %s"%(item.GetText(), item.GetPosition())
    elif type(item) is DRAWSEGMENT:
        print "* Drawing: %s"%item.GetShapeStr() # dir(item)
    else:
        print type(item)

print ""
print "ELENCO MODULI:"

for module in pcb.GetModules():
    print "* Modulo: %s a %s"%(module.GetReference(),ToUnits(module.GetPosition()))

print ""
print "Ratsnest cnt:",len(pcb.GetFullRatsnest())
print "pista w cnt:",len(pcb.GetTrackWidthList())
print "via s cnt:",len(pcb.GetViasDimensionsList())

print ""
print "ELENCO ZONE:", pcb.GetAreaCount()

for idx in range(0, pcb.GetAreaCount()):
    zone=pcb.GetArea(idx)
    print "zona:", idx, "priorita':", zone.GetPriority(), "nomenet", zone.GetNetname()

print ""
print "NetClassi:", pcb.GetNetClasses().GetCount(),

Esempi

Cambio del margine della maschera dell’adesivo dei pin di un componente

Vogliamo cambiare solo dai pin 1 al 14, il 15 è una piazzola termica e deve essere lasciata com’è.
#!/usr/bin/env python2.7
import sys
from pcbnew import *

filename=sys.argv[1]
pcb = LoadBoard(filename)

# Find module U304
u304 = pcb.FindModuleByReference('U304')
pads = u304.Pads()

#  Iterate over pads, printing solder paste margin
for p in pads:
    print p.GetPadName(), ToMM(p.GetLocalSolderPasteMargin())
    id = int(p.GetPadName())
    # Set margin to 0 for all but pad (pin) 15
    if id<15: p.SetLocalSolderPasteMargin(0)

pcb.Save("mod_"+filename)

Assistenti impronte

Gli assistenti impronte sono una collezione di script python ai quali è possibile accedere dall’editor delle impronte. Se si invoca la finestra di dialogo impronte si può selezionare un dato assistente che permette di vedere il risultato dell’elaborazione dell’impronta, con alcuni parametri impostabili.

Se i plugin non vengono distribuiti per il proprio sistema, si possono trovare le ultime versioni di questi assieme ai sorgenti di KiCad su gitlab.

Dovrebbero essere posizionati in, per esempio, C:\Program Files\KiCad\share\kicad\scripting\plugins.

Su Linux i plugin utente si possono mettere in $HOME/.kicad_plugins.

Crea facilmente impronte inserendo i parametri.
from __future__ import division
import pcbnew

import HelpfulFootprintWizardPlugin as HFPW


class FPC_FootprintWizard(HFPW.HelpfulFootprintWizardPlugin):

    def GetName(self):
        return "FPC (SMT connector)"

    def GetDescription(self):
        return "FPC (SMT connector) Footprint Wizard"

    def GetValue(self):
        pins = self.parameters["Pads"]["*n"]
        return "FPC_%d" % pins

    def GenerateParameterList(self):
        self.AddParam( "Pads", "n", self.uNatural, 40 )
        self.AddParam( "Pads", "pitch", self.uMM, 0.5 )
        self.AddParam( "Pads", "width", self.uMM, 0.25 )
        self.AddParam( "Pads", "height", self.uMM, 1.6)
        self.AddParam( "Shield", "shield_to_pad", self.uMM, 1.6 )
        self.AddParam( "Shield", "from_top", self.uMM, 1.3 )
        self.AddParam( "Shield", "width", self.uMM, 1.5 )
        self.AddParam( "Shield", "height", self.uMM, 2 )


    # build a rectangular pad
    def smdRectPad(self,module,size,pos,name):
        pad = pcbnew.D_PAD(module)
        pad.SetSize(size)
        pad.SetShape(pcbnew.PAD_SHAPE_RECT)
        pad.SetAttribute(pcbnew.PAD_ATTRIB_SMD)
        pad.SetLayerSet( pad.SMDMask() )
        pad.SetPos0(pos)
        pad.SetPosition(pos)
        pad.SetPadName(name)
        return pad

    def CheckParameters(self):
        p = self.parameters
        self.CheckParamInt( "Pads", "*n" )  # not internal units preceded by "*"


    def BuildThisFootprint(self):
        p = self.parameters
        pad_count       = int(p["Pads"]["*n"])
        pad_width       = p["Pads"]["width"]
        pad_height      = p["Pads"]["height"]
        pad_pitch       = p["Pads"]["pitch"]
        shl_width       = p["Shield"]["width"]
        shl_height      = p["Shield"]["height"]
        shl_to_pad      = p["Shield"]["shield_to_pad"]
        shl_from_top    = p["Shield"]["from_top"]

        offsetX         = pad_pitch * ( pad_count-1 ) / 2
        size_pad = pcbnew.wxSize( pad_width, pad_height )
        size_shld = pcbnew.wxSize(shl_width, shl_height)
        size_text = self.GetTextSize()  # IPC nominal

        # Gives a position and size to ref and value texts:
        textposy = pad_height/2 + pcbnew.FromMM(1) + self.GetTextThickness()
        self.draw.Reference( 0, textposy, size_text )

        textposy = textposy + size_text + self.GetTextThickness()
        self.draw.Value( 0, textposy, size_text )

        # create a pad array and add it to the module
        for n in range ( 0, pad_count ):
            xpos = pad_pitch*n - offsetX
            pad = self.smdRectPad(self.module,size_pad, pcbnew.wxPoint(xpos,0),str(n+1))
            self.module.Add(pad)


        # Mechanical shield pads: left pad and right pad
        xpos = -shl_to_pad-offsetX
        pad_s0_pos = pcbnew.wxPoint(xpos,shl_from_top)
        pad_s0 = self.smdRectPad(self.module, size_shld, pad_s0_pos, "0")
        xpos = (pad_count-1) * pad_pitch+shl_to_pad - offsetX
        pad_s1_pos = pcbnew.wxPoint(xpos,shl_from_top)
        pad_s1 = self.smdRectPad(self.module, size_shld, pad_s1_pos, "0")

        self.module.Add(pad_s0)
        self.module.Add(pad_s1)

        # add footprint outline
        linewidth = self.draw.GetLineThickness()
        margin = linewidth

        # upper line
        posy = -pad_height/2 - linewidth/2 - margin
        xstart = - pad_pitch*0.5-offsetX
        xend = pad_pitch * pad_count + xstart;
        self.draw.Line( xstart, posy, xend, posy )

        # lower line
        posy = pad_height/2 + linewidth/2 + margin
        self.draw.Line(xstart, posy, xend, posy)

        # around left mechanical pad (the outline around right pad is mirrored/y axix)
        yend = pad_s0_pos.y + shl_height/2 + margin
        self.draw.Line(xstart, posy, xstart, yend)
        self.draw.Line(-xstart, posy, -xstart, yend)

        posy = yend
        xend = pad_s0_pos.x - (shl_width/2 + linewidth + margin*2)
        self.draw.Line(xstart, posy, xend, posy)

        # right pad side
        self.draw.Line(-xstart, posy, -xend, yend)

        # set SMD attribute
        self.module.SetAttributes(pcbnew.MOD_CMS)

        # vertical segment at left of the pad
        xstart = xend
        yend = posy - (shl_height + linewidth + margin*2)
        self.draw.Line(xstart, posy, xend, yend)

        # right pad side
        self.draw.Line(-xstart, posy, -xend, yend)

        # horizontal segment above the pad
        xstart = xend
        xend = - pad_pitch*0.5-offsetX
        posy = yend
        self.draw.Line(xstart, posy, xend, yend)

        # right pad side
        self.draw.Line(-xstart, posy,-xend, yend)

        # vertical segment above the pad
        xstart = xend
        yend = -pad_height/2 - linewidth/2 - margin
        self.draw.Line(xstart, posy, xend, yend)

        # right pad side
        self.draw.Line(-xstart, posy, -xend, yend)


# register into pcbnew
FPC_FootprintWizard().register()

Plugin azioni

I plugin azioni associano eventi ad script di azione. Attualmente è implementata solo la registrazione di un nuovo menu.

I nuovi menu sono disponibili dentro il menu StrumentiPlugin esterni.

Pcbnew action menu
  • Aggiorna plugin: ricarica i plugin (crea un nuovo menu se necessario)

  • Aggiunta di una data sul C.S.: un plugin di esempio.

Attenzione: come tutti gli altri script python, le funzioni di annullamento / ripristino non funzionano (per ora!).

Esempio di plugin di azione: aggiunta di una data ad ogni elemento testo con contenuto '$date$'.
import pcbnew
import re
import datetime

class text_by_date(pcbnew.ActionPlugin):
    """
    test_by_date: A sample plugin as an example of ActionPlugin
    Add the date to any text field of the board where the content is '$date$'
    How to use:
    - Add a text on your board with the content '$date$'
    - Call the plugin
    - Automaticaly the date will be added to the text (format YYYY-MM-DD)
    """

    def defaults(self):
        """
        Method defaults must be redefined
        self.name should be the menu label to use
        self.category should be the category (not yet used)
        self.description should be a comprehensive description
          of the plugin
        """
        self.name = "Add date on PCB"
        self.category = "Modify PCB"
        self.description = "Automaticaly add date on an existing PCB"

    def Run(self):
        pcb = pcbnew.GetBoard()
        for draw in pcb.GetDrawings():
            if draw.GetClass() == 'PTEXT':
                txt = re.sub("\$date\$ [0-9]{4}-[0-9]{2}-[0-9]{2}",
                                 "$date$", draw.GetText())
                if txt == "$date$":
                    draw.SetText("$date$ %s"%datetime.date.today())


text_by_date().register()

Table of Contents