Come progettare uno shield per la scheda Arduino Uno con strumenti completamente gratuiti

In questo articolo scoprirai come progettare uno shield per la scheda Arduino Uno utilizzando il CAD gratuito DesignSpark PCB

shield Arduino

Si tratta di uno shield general purpose con i seguenti componenti:
  • Un LED RGB comandato da tre transistor NPN prepolarizzati MMUN2214LT1G (il LED RGB è collegato ai pin 8,12,13 della scheda Arduino Uno)
  • Un relè da 10 A comandato dal transistor NPN prepolarizzato MMUN2214LT1G
  • Due pulsanti di tipo through-hole
  • DS18B20-Sensor_0.jpg Un sensore di temperatura DS18B20 con il package TO-92 e due sequenze di tre fori ciascuna per poter collegare sensori DS18B20 impermeabili
  • Tre trimmer verticali collegati ai canali analogici A0,A1,A2
  • Un regolatore lineare NCP1117DT33G che genera 3.3 V con una corrente massima di 1 A
  • Un amplificatore operazionale LM358 le cui uscite sono collegate ai pin A3 e A4 della scheda Arduino Uno. Gli ingressi dell’amplificatore operazionale sono collegati a due partitori resistivi in modo da poter lavorare con segnali analogici la cui ampiezza può variare tra 0 e 13V
  • Due serie di header maschio a passo 2.54mm per poter collegare lo shield a una breadboard e quindi realizzare esperimenti rapidi.
La documentazione del progetto descritto in questo articolo è disponibile sulla piattaforma GitHub a questo link
Il primo step è di raccogliere i simboli circuitali e i footprint (sono gli ingombri dei componenti con le dimensioni e la disposizione delle pad su cui verrà effettuata la saldatura).

Simbolo e footrpint relativi all’integrato LM358MX/NOPB
Per realizzare i simpoli e i footprint ti consiglio specialmente se stai iniziando di realizzarli autonomamente partendo dalle informazioni che il datasheet del componente fornisce. Presta attenzione che la funzione dei pin può cambiare a seconda del package che utilizzerai. Ad esempio consideriamo l’operazionale OPA172. Nel package in formato SC70-5 il pin 1 corrisponde all’ingresso non invertente mentre per lo stesso integrato nel package SOT-23-5 il pin1 corrisponde all’uscita dell’amplificatore operazionale.
In alternativa, quando il tuo componente ha molti pin, puoi valutare di importare i simboli e i footrpint da un database di librerie. In particolare con DesignSpark, puoi  utilizzare questi due database online: LibraryLoader e Ultra Librarian.  Prima di utilizzare i simboli importati, confrontali sempre con le informazioni presenti nel datasheet.
Il secondo step consiste nel realizzare lo schema circuitale. Cerca di realizzare uno schema circuitale il più chiaro possibile in modo che persone esterno possano facilmente leggerlo.
  • Quando devi collegare pin che sono distanti nello schema circuitale, usa delle “LABEL” simboliche per unire i diversi segmenti. In questo modo eviti di creare accavallamenti tra i diversi segmenti.
  • Usa i riferimenti di tensione ad esempio +5V +3V3 per i pin collegati alle net di alimentazione
  • Dividi lo schema circuitale in sezioni logiche e se necessario usa più fogli di schema circuitale: connettori, alimentazioni. Per i valori decimali di resistori, condensatori non usare il punto o la virgola ma questa notazione 3k3 invece di 3.3k Il punto durante la stampa potrebbe non essere visibile e di conseguenza, leggendo di fretta lo schema, potresti creare spiacevoli inconvenienti.
  • Assicurati che tutti i pin dei componenti siano in griglia
Il terzo step consiste nel definire la geometria (forma e dimensioni) del circuito stampato e successivamente nel posizionare i fori meccanici che in questo caso corrispondono ai tre fori della scheda Arduino Uno. E’ importante che definisci e posizioni i fori meccanici in questa fase. Se lo fai successivamente rischi di dover spostare dei componenti oppure peggio ancora di dover sbrogliare nuovamente una parte del circuito.
A questo punto puoi posizionare i componenti all’interno della geometria che hai definito nel punto precedente. Posiziona i connettori che vanno collegati alla scheda Arduino ai bordi dello shield. Tieni separate la sezione analogica dalle sezioni digitali. Questo ti permetterà anche quando sbrogli il circuito di non avere segnali digitali che transitano nella sezione analogica. Così facendo, eviti che segnali digitali vadano a disturbare segnali analogici.
Posiziona il condensatore di disaccoppiamento C1 poco distante dal pin 8 dell’integrato U1.
La figura seguente mostra un esempio di posizionamento dei componenti.

Arduino_Shield_v1_Top.png

Il quarto step consiste nello sbrogliare il circuito. Incomincia dalle net di segnale: i segnali di controllo dei transistor polarizzati, i segnali collegati ai pulsanti, i segnali collegati ai pin dei due header che permettono il collegamento con una breadboard.
Fai scorrere vicini tra loro i segnali 0_RX e 1_TX in quanto appartengono all’interfaccia UART e fai scorrere vicini tra loro i segnali SDA e SCL in quanto appartengono all’interfaccia I2C.
Cerca quanto più possibile di mantenere separati altri segnali digitali dai precedenti due gruppi di segnali. Questo consente di ridurre quanto più possibile il cross-talk tra i segnali. Il crosstalk è l’influenza reciproca che due segnali digitali hanno tra loro. Un esempio tipico di crosstalk è quando il segnale di reset di un microcontrollore risulta influenzato dalle commutazioni di un segnale digitale che scorre parallelo per una certa distanza al segnale di reset. Tanto minore è la distanza tra i segnali, tanto maggiore è la possibilità che ci sia crosstalk.
Presta attenzione a come sbrogliare le NET che collegano il relè con i tre fori passanti: queste sono NET potenzialmente ad alta corrente (naturalmente questo dipende dal tipo di carico che colleghi al relè). In questo caso ti consiglio di utilizzare due tracce: una sul layer TOP e la seconda sul layer BOTTOM. Lo spessore di queste due tracce deve essere di almeno 5mm. Per stimare la larghezza della traccia in funzione della corrente percorsa puoi utilizzare il calcolatore gratutito Saturn PCB Toolkit.

Piste di potenza collegate al relè

Adesso dobbiamo sbrogliare la NET GND. Per sbrogliare questa net non dobbiamo utilizzare piste ma diffusioni di massa. In DesignSpark trovi il comando per generare una diffusione di massa andando su Add-> Copper Pour Area->Polygon.
Una volta creata la diffusione di massa nei layer TOP e BOTTOM, effettua il controllo automatico chiamato DesignRule Check o DRC. Questo ha due scopi: da una parte permette di controllare che non ci siano violazioni degli spazi minimi (ad esempio permette di controllare che due tracce sono distanti tra loro di almeno 0.152mm o 0,2032 mm) e dall’altra permette di controllare che tutte le net sono state sbrogliate. Per questo specifico esempio il CAD potrebbe darti errore in corrispondenza dei connettori presenti al bordo della scheda: se è così, tralascia questo errore.
Se il controllo DRC è positivo, puoi procedere all’ultimo step che consiste nella generazione dei file gerber. I file gerber sono i file finali di produzione che poi manderai al produttore di circuiti stampati. Il formato dei file gerber è indipendente dal CAD che utilizzi per progettarre il circuito stampato. Genera i file gerber utilizzando le unità di misura mils.
Per questo circuito i file gerber che devi generare sono :
  • Top Silkscreen : contiene la serigrafia dei componenti e la scritta che indica la versione del circuito stampato.
  • Top Copper: contiene le tracce e la diffusione di massa presente nel layer superiore
  • Top Soldermak: contiene geometrie in corrispondenza dei pin di componenti su cui poi verrà effettuata la saldatura. Il soldermask è una vernice protettiva che copre tutto il circuito stampato ad eccezione delle zone su cui verrà effettuata la saldatura.
  • Bottom Copper: contiene le tracce e la diffusione di massa presente nel layer inferiore.
  • Bottom Soldermask
  • File di foratura
In tutti i file gerber includi l’informazione sul bordo del circuito.
Per vedere che i file gerber sono stati generati correttamente poi usare questi due tool: ViewMate (versione gratuita) oppure il visualizzatore online Gerber Viewer
OK. Adesso sei pronto a far realizzare il tuo shield. Sei entusiasta?
Mi rendo conto che se non hai mai progettato un circuito stampato, alcuni passaggi presenti in questo articolo potrebbero risultare poco comprensibili.
Non è possibile mettere  in un articolo tutti i passi dettagliati che devi fare per progettare lo shield.
Proprio per aiutarti a progettare un PCB se parti da zero, è presente un percorso passo-passo in cui andremo a progettare lo shield per la scheda Arduino Uno descritto in questo articolo. Per scoprire di che cosa si tratta, visita questo link. A presto.

Grazie per aver letto questo post. I commenti sono stati disattivati. Se hai domande o suggerimenti scrivi a questo indirizzo email: info@pcbsemplice.com

      Cookie Policy         Privacy Policy Policy     PCB SEMPLICE     CF:MRCGRL83A01G535T