Una rassegna tra i pacchetti CAE/CAD più diffusi nel mercato al fine di scegliere quello più adatto alle proprie esigenze.
Quando i computer non erano alla portata di tutti, i progettisti avevano l’arduo compito di progettare lo schema e il PCB a mano. All’inizio c’era la tecnica dei trasferibili e della penna indelebile. Con essi venivano approntati PCB di bassa o media complessità. Naturalmente i risultati erano poco soddisfacenti. Oggi, con l’avvento dei computer e soprattutto dei software del settore, anche questa operazione può essere condotta nel migliore dei modi, raggiungendo risultati assai professionali.
Cos’è il CAE/CAD
Con il termine di CAE si indica quella applicazione software (programma) che agevola la risoluzione di problemi tecnologici tramite il calcolo numerico. E’ l’acronimo di Computer-Aided Engineering che significa “ingegneria assistita dal computer”. Il CAE è utilizzato in numerosi ambienti lavorativi e tecnologici quali l’architettura, l’ingegneria, la meccanica e anche l’elettronica. Nel nostro campo, quello dell’elettronica, esso comprende quei programmi che consentono la progettazione, la creazione e la gestione di schemi elettrici e di circuiti stampati, in modo da ottenere risultati professionali con il minimo sforzo da parte dell’utente ma con la massima precisione e accuratezza richiesta allo scopo. Attorno alla progettazione elettronica “girano” diversi tipi di applicazione, ognuno dei quali svolge un ruolo ben preciso. Ecco altre tipologie di soluzione con il relativo acronimo:
» CAD (Computer Aided Design): Software per la progettazione;
» CAE (Computer Aided Engineering): Software per l’ingegneria. Progettazione elettronica utilizzando il computer;
» CAM (Computer Aided Manifacturing): Software per i processi di produzione;
» CAI (Computer Aided Instruction): Software per l’istruzione assistita da computer.
Le funzioni di un programma CAE
Ecco elencate, a grandi linee, le caratteristiche minime che dovrebbe possedere un buon prodotto. Naturalmente se tali caratteristiche sono inglobate in un unico package, ne risulta più comodo l’utilizzo, dovendo utilizzare un solo software. Un programma CAE dovrebbe prevedere e consentire le seguenti funzioni:
» completa gestione di uno schema elettrico;
» disponibilità di librerie di componenti aggiornate;
» possibilità di gestire il formato SPICE;
» creazione di una netlist compatibile con altri software;
» controllo validità dei collegamenti elettrici e dei nodi non collegati;
» gestire componenti analogici, digitali e animati;
» prevedere le operazioni di analisi del circuito;
» prevedere la simulazione A/D del circuito;
» prevedere la progettazione di filtri;
» possibilità di gestire sofisticate operazioni CAD;
» possibilità di gestire e creare script e procedure automatiche;
» prevedere la gestione dei livelli;
» gestire il circuito stampato;
» prevedere il posizionamento automatico dei componenti sul PCB;
» prevedere operazioni di autorouting e sbroglio automatico;
» prevedere ottimizzazione e risparmi sul PCB;
» gestire la BOM e i costi relativi;
» possibilità di visualizzare il prodotto finale in 3D.
A grandi linee diamo una breve spiegazione delle funzioni più importanti approfondendo quelle che riteniamo più utili. Ricordiamo che se il software prevede più funzioni, esso risulterà più comodo e non vi sarà bisogno di utilizzare software aggiuntivi ed esterni.
Completa gestione di uno schema elettrico
La possibilità di gestire “in toto” uno schema elettrico è una prerogativa importante. Essa prevede le operazioni di gestione di uno schema, a cominciare dalle fasi preliminari. Ecco allora che l’opportunità di acquisirlo da scanner (capture) senza doverlo disegnare manualmente si rileva estremamente utile. In questa fase quindi l’OCR e il riconoscitore ottico grafico devono essere più sofisticati possibili, in modo da acquisire al massimo della qualità e saper discriminare le parti grafiche da quelle testuali.
Disponibilità di librerie di componenti aggiornate
Un buon software CAE deve prevedere un numero enorme di librerie di componenti e package. I pacchetti professionali cercano di implementarli in numero più alto possibile e nuovi pacchetti vengono di volta in volta rilasciati su Internet. Solita mente un componente è descritto sia nella libreria dello schema elettrico, comprensivo di tutte le sue caratteristiche elettriche ed elettroniche, al fine della simulazione (SPICE) che nella libreria dei package, con le varie dimensioni, ingombri e costi, al fine della produzione finale del PCB.
Possibilità di gestire il formato SPICE
La simulazione SPICE (Simulation Program with Integrated Circuit Emphasis) è di fatto uno standard. Ormai la maggioranza dei software utilizza la sua sintassi e i suoi formati di importazione ed esportazione dei file.
Interfacciamento file esterni (netlist, partlist, gerber, ecc)
La possibilità di comunicare con vari formati esterni rende il software aperto al mondo dell’elettronica, permettendo l’utilizzo concomitante con altri programmi. Un buon software dovrebbe prevedere l’apertura o l’esportazione delle seguenti tipologie di documenti:
» Netlist (Ascii);
» Gerber;
» Formati grafici di tutti i tipi;
» Ascii files;
» Ibis;
» Spice files;
» Partlist e pinlist;
Controllo della validità dei collegamenti Un buon software non deve solamente limitarsi a realizzare quanto impartito. Deve anche effettuare controlli operativi e logici sui circuiti e sui PCB. Pertanto si possono rivelare estremamente utili, specialmente in caso di prototipi estremamente complessi, i controlli sullo schema elettrico, per la eventuale presenza di corti circuiti, di componenti pendenti, di incongruenze elettriche e di componenti mal posizionati. Ma anche controlli concernenti il circuito stampato finale, come verifica di piste troppo sottili, piste in collisione e altre tipologie di insufficienze logiche e operative.
Gestire componenti analogici, digitali e animati
Un buon software non deve solo prevedere i principali componenti passivi e attivi. Anche una dotazione numerosa di componenti digitali e, soprattutto, di microcontrollori rende il programma più performante e aperto a un utilizzo molto più professionale. La possibilità di prevedere poi i classici componenti animati contribuisce ad aumentare il grado di simulazione utile a imitare il più possibile il mondo della realtà del circuito. Solitamente i componenti animati sono i diodi led, lampade, interruttori, motori normali e stepper, diodi a 7 segmenti, display, voltmetri e altri strumenti di misura, che variano il proprio stato e la loro disposizione durante la simulazione, proprio come nella realtà.
Prevedere le operazioni di analisi del circuito
E’ un’operazione molto importante. Permette infatti di eseguire le simulazioni del circuito, sotto diversi punti di vista. Un buon programma deve prevedere, al mi
nimo, le seguenti tipologie di analisi:
» Transitorio;
» Analisi AC;
» Analisi DC.
I più sofisticati potranno anche effettuare le seguenti analisi:
» Funzione di trasferimento;
» Distorsione;
» Sensivity.
Prevedere la simulazione A/D del circuito
Il poter poi prevedere la simulazione digitale contemporaneamente a quella analogica, contribuisce ad avvicinare al massimo il proprio prototipo al comportamento reale. Quindi i circuiti digitali possono interagire con quelli analogici, comportandosi in maniera appropriata e indipendente ma corretta. In questi ultimi tempi, molti pacchetti CAE prevedono la simulazione digitale l’utilizzo dei microcontrollori. Tale possibilità dona al progettista una potenzialità enorme di operatività che consente di preparare l’intero lavoro senza realizzare praticamente alcuna saldatura ad alcun montaggio.
Prevedere la progettazione di filtri
Molti pacchetti software hanno la possibilità di progettare in maniera autonoma un filtro. Utile nel caso si dovessero prevedere o simulare sistemi in alternata. E’ possibile, con tale opzione, realizzare un filtro passivo o attivo e di qualsiasi ordine. Occorre solo specificare le frequenze di taglio e altre caratteristiche. Il sistema fornisce gli schemi dei filtri più importanti, inglobandoli solitamente in una macro, assieme ai valori calcolati dei componenti utilizzati.
Possibilità di gestire e creare script e procedure automatiche
Alcuni programmi mettono a disposizione dell’utente un vero e proprio linguaggio di programmazione. Con esso è possibile automatizzare svariate applicazioni o diverse operazioni, come posizionamenti, piazzamenti o creazione degli schemi elettrici. Tali linguaggi o, più in generale, linguaggi macro, permettono di realizzare degli script, richiamabili di volta in volta, al fine di rendere più agevole le operazioni ripetitive.
Prevedere il posizionamento automatico dei componenti sul PCB
La realizzazione al PC di un PCB implica sempre il posizionamento dei componenti sulla basetta. Tale operazione viene effettuata manualmente, con i problemi che ne potrebbero derivare. Non solo si impiega pertanto del tempo prezioso per la sistemazione di tutti i componenti, ma si rischia di commettere l’errore di posizionarli in maniera inadeguata o disarmonica, con la conseguenza che le tracce elettriche prodotte dal computer seguono percorsi molto lunghi e inadeguati o addirittura impossibili. Il posizionamento automatico invece prevede un’attenta analisi automatica dei componenti e delle relative connessioni. E’ un’operazione intelligente in quanto da essa dipende in parte la qualità dello sbroglio finale e della creazione dei collegamenti sulla piastra.
Prevedere operazioni di autorouting e sbroglio automatico
L’autorouting è l’operazione mediante la quale i componenti posizionati sulla basetta, attraverso le connessioni specificate sullo schema, vengono connessi tra di loro attraverso la creazione di opportune piste elettriche, che costituiranno poi le vere e proprie piste di rame sul PCB. Quando il circuito è particolarmente complesso, uno sbroglio manuale è senz’altro fonte di errori umani, pertanto un programma che preveda tale opzione è sicuramente da valutare per un suo utilizzo professionale in laboratorio. Prevedere inoltre, non solo la possibilità di gestire i doppia faccia, ma soprattutto i multistrato, è un’opzione molto utile, specie nel campo industriale.
Prevedere ottimizzazione e risparmi sul PCB
La possibilità poi di risparmiare sulle risorse produttive è una caratteristica che non deve essere sottovalutata dai produttori, specialmente se si prevedono operazioni di generazione a larga scala. L’ottimizzazione si occupa di risparmiare in quantità a favore della qualità. Essa comprende dunque il numero e la distanza delle piste, i vari spessori e altri parametri. Un PCB più compatto possibile è prerogativa essenziale, specialmente nei montaggi ad alta frequenza.
Gestire la BOM e i costi relativi
La BOM e altre operazioni correlate costituiscono la parte “contabile” del lavoro. Bom infatti è l’acronimo di Bill Of Material (lista dei materiali) ed è molto utile in quanto contabilizza le quantità e i costi dei materiali utilizzati nel circuito, senza dover obbligare il progettista a effettuare a mano tale operazione.
Possibilità di visualizzare il prodotto finale in 3D
Si tratta della ciliegina sulla torta di questa tipologia di programmi, che si sta diffondendo sempre di più. La possibilità di vedere, sul display o su stampa, il prototipo 3D dell’intero circuito realizzato, come se fosse vero, è ormai una realtà. La tecnica utilizza normalmente è il ray-tracing, che concorre a ottenere risultati sorprendenti come qualità e natura verosimile all’originale. Il fatto poi di poter osservare la propria basetta ancor prima di nascere, da tutte le possibili angolazioni e ingrandimenti, è un fatto che incrementa notevolmente le prestazioni del programma.
Gratuito e commerciale
Come detto nel precedente articolo inerente le scelte di software e di compilatori, l’utente è messo davanti al bivio di scegliere se acquistare un programma commerciale o utilizzarne uno gratuito. Teoricamente è consigliabile adottare un software commerciale. Un’azienda deve avere la certezza e la sicurezza di disporre di un ottimo servizio di assistenza, di aggiornamenti gratuiti, di supporti e documentazione e di tante altre agevolazioni, per cui dovrebbe adottare, o quanto meno considerare, l’acquisto del programma. C’è chi disprezza il software gratuito. Ma a volte esso risulta essere migliore del software commerciale. Un buon consiglio da seguire è quello di provarne una quantità sufficiente a farsi un’idea valida. Per i programmi commerciali si possono provare le versioni trial o limitate, anche se non danno la piena visione del prodotto, almeno contribuiscono a fornire una buona valutazione d’insieme. Per i prodotti gratuiti è sufficiente scaricare e installare il software. Nell’articolo sono stati esaminati tre software piuttosto noti. Ma la rete mette a disposizione migliaia di programmi, tutti da testare e provare. C’e’ l’imbarazzo della scelta.
Eagle
Il nome EAGLE deriva dall’acronimo di “Easily Applicable Graphical Layout Editor”. EAGLE è un programma molto semplice da usare. I moduli Schematic, Layout e Component Editor hanno tutti la medesima interfaccia grafica, amichevole e completa al tempo stesso. Vengono forniti i manuali in inglese (Tutorial e Reference), ma in rete è possibile trovare i tutorial in italiano. In ogni caso la documentazione è di ottimo livello. EAGLE è sviluppato dalla CadSoft, che fornisce direttamente supporto ai clienti in inglese tramite un newsgroup dedicato. Con la versione free scaricabile da Internet è possibile utilizzare EAGLE in tutti i suoi moduli, funzionanti al 100%. Eagle offre alta qualità di cattura schemi, PCB layout e autorouting, a un prezzo estremamente abbordabile. Grazie al supporto degli ULP (User Language Programs) e degli SCRIPT, EAGLE è un sistema aperto alla configurazione e personalizzazione avanzata. Infatti è possibile produrre programmi e script utilizzabili direttamente con esso. Eagle è composto da tre moduli integrati:
» Layout editor;
» Schematic editor;
» Autorouter.
I tre moduli sono riuniti in una singola interfaccia utente, e la netlist tra schematic e layout è la medesima. Il modulo per la realizzazione degli schemi elettrici è molto potente: quando il circuito viene disegnato, gran parte del lavoro di layout è automaticamente eseguito in background da EAGLE. E’ sufficiente premere un tasto (Switch-to-Board) per disporre tutti i package dei componenti affiancati a una scheda PCB vuota, con le relative connessioni. Si può immediatamente passare alla disposizione dei componenti sulla scheda contando anche sull’efficiente funzione di “Forward & Backward annotation” che mantiene lo schema sempre coerente con il layout. Si possono poi convertire le linee di connessione in vere e proprie piste (che poi compariranno sul PCB) in due diverse modalità:
» a mano;
» con il valido aiuto dell’autorouter integrato.
Ai fini della verifica e del controllo del lavoro eseguito, EAGLE fornisce le funzioni di ERC (Electrical Rule Check) e DRC (Design Rule Check). Si possono inoltre facilmente costruire i propri simboli e le proprie librerie, oltre a utilizzare quelle for nite insieme al pacchetto software, sotto forma di una immensa libreria di componenti.
Kicad
Kicad è un software opensource (GPL) per la creazione di schemi elettrici e di circuiti stampati. Si tratta quindi di CAD elettronico che permette di eseguire e risolvere le seguenti operazioni:
» Disegnare schemi elettrici;
» Creazione netlist in vari formati
(PCBNew, OrCAD, CadStar, Spice, ecc...);
» Disegnare circuiti stampati;
» Visualizzare l’effettivo ingombro tridimensionale dei componenti;
» Gestire i gerber e i drill file per creare i PCB.
E’ stato scritto da Jean-Pierre Charras, un ricercatore della LIS (Laboratoire des Images et des Signaux). Kicad: project manager. Kicad è utilizzabile sia in Windows che in Linux, anche se per aprire in Windows progetti creati in Linux (o viceversa) occorre modificare manualmente alcuni parametri all’interno dei file. E’ costituito da un insieme di tool più un project manager:
» Eeschema: editor di schemi;
» Pcbnew: editor di circuiti stampati (ge-
stisce 16 strati in rame + 12 strati tecnici);
» Gerbview: GERBER viewer
(documenti photoplotter);
» Cvpcb: footprint editor per i componenti. Dal project manager di Kicad, si può creare un nuovo progetto o lanciare uno dei tool sopradetti. Il programma usa le librerie WxWidgets ed è multipiattaforma. Gira con Linux e Windows (XP o 2000), gli aggiornamenti sono abbastanza regolari. Funziona anche con altri sistemi operativi: FreeBSD e Solaris.