Sommario:

Progettazione di una scheda di sviluppo per microcontrollori: 14 passaggi (con immagini)
Progettazione di una scheda di sviluppo per microcontrollori: 14 passaggi (con immagini)

Video: Progettazione di una scheda di sviluppo per microcontrollori: 14 passaggi (con immagini)

Video: Progettazione di una scheda di sviluppo per microcontrollori: 14 passaggi (con immagini)
Video: Webinar Gratuito: Impara a Dominare l'ESP32 con MicroPython 2024, Dicembre
Anonim
Progettazione di una scheda di sviluppo per microcontrollori
Progettazione di una scheda di sviluppo per microcontrollori

Sei un produttore, un hobbista o un hacker interessato a passare da progetti di perfboard, DIP IC e PCB fatti in casa a PCB multistrato fabbricati da case board e imballaggi SMD pronti per la produzione di massa? Allora questo istruibile è per te!

Questa guida illustrerà in dettaglio come procedere per la progettazione di un PCB multistrato, utilizzando come esempio una scheda di sviluppo a microcontrollore.

Ho usato KiCAD 5.0, che è uno strumento EDA gratuito e open source, per creare gli schemi e il layout del PCB per questa scheda di sviluppo.

Se non hai familiarità con KiCAD o il flusso di lavoro per il layout del PCB, i tutorial di Chris Gamell su YouTube sono un buon punto di partenza.

EDIT: Alcune foto ingrandiscono troppo, basta cliccare sull'immagine per vedere l'immagine completa:)

Passaggio 1: pensa all'imballaggio dei componenti

Pensa all'imballaggio dei componenti
Pensa all'imballaggio dei componenti

I dispositivi a montaggio superficiale (SMD) possono essere posizionati su un PCB da una macchina pick and place, automatizzando il processo di assemblaggio. È quindi possibile eseguire il PCB attraverso un forno di rifusione o una saldatrice ad onda, se si dispone anche di componenti con foro passante.

Anche i cavi dei componenti per SMD più piccoli sono ridotti, con conseguente riduzione sostanziale di impedenza, induttanza ed EMI, una cosa molto buona, in particolare per i progetti RF e ad alta frequenza.

Il percorso di montaggio superficiale migliora anche le prestazioni meccaniche e la robustezza, che è importante per le prove di vibrazioni e sollecitazioni meccaniche.

Passaggio 2: scegli il tuo microcontrollore

Scegli il tuo microcontrollore
Scegli il tuo microcontrollore

Al centro di ogni scheda di sviluppo di microcontrollori, come Arduino e le sue derivate, c'è un microcontrollore. Nel caso dell'Arduino Uno, questo è l'ATmega 328P. Per la nostra scheda di sviluppo, utilizzeremo ESP8266.

È molto economico, funziona a 80 MHz (ed è overclockabile a 160 MHz) E ha un sottosistema WiFi integrato. Se utilizzato come microcontrollore autonomo, può eseguire determinate operazioni fino a 170 volte più velocemente di un Arduino.

Passaggio 3: scegli il tuo convertitore da USB a seriale

Scegli il tuo convertitore da USB a seriale
Scegli il tuo convertitore da USB a seriale

Un microcontrollore avrà bisogno di un modo per interfacciarsi con il tuo computer, in modo che tu possa caricare i tuoi programmi su di esso. Ciò è tipicamente realizzato da un chip esterno, che si occupa di tradurre tra i segnali differenziali utilizzati dalla porta USB del computer e la segnalazione a terminazione singola disponibile sulla maggior parte dei microcontrollori attraverso le loro periferiche di comunicazione seriale, come UART.

Nel nostro caso, utilizzeremo un FT230X, di FTDI. I chip da USB a seriale di FTDI tendono ad essere ben supportati nella maggior parte dei sistemi operativi, quindi è una scommessa sicura per una scheda di sviluppo. Alternative popolari (opzioni più economiche) includono il CP2102 di SiLabs e il CH340G.

Passaggio 4: scegli il tuo regolatore

Scegli il tuo regolatore
Scegli il tuo regolatore

La scheda dovrà ricevere energia da qualche parte e nella maggior parte dei casi troverai questa potenza fornita attraverso un circuito integrato regolatore lineare. I regolatori lineari sono economici, semplici e, sebbene non siano efficienti come uno schema a modalità commutata, offriranno potenza pulita (meno rumore) e facile integrazione.

L'AMS1117 è il regolatore lineare più popolare utilizzato nella maggior parte delle schede di sviluppo e una scelta abbastanza decente anche per la nostra scheda di sviluppo.

Passaggio 5: scegli il tuo schema di alimentazione OR-ing

Scegli il tuo schema di alimentazione OR-ing
Scegli il tuo schema di alimentazione OR-ing

Se hai intenzione di consentire all'utente di alimentare la scheda di sviluppo tramite USB e di offrire anche l'ingresso di tensione attraverso uno dei pin sulla scheda, avrai bisogno di un modo per scegliere tra le due tensioni concorrenti. Ciò si ottiene semplicemente attraverso l'uso di diodi, che funzionano per consentire solo il passaggio della tensione di ingresso più elevata e alimentare il resto del circuito.

Nel nostro caso, abbiamo una doppia barriera schottky, che include due diodi schottky su un singolo contenitore proprio per questo scopo.

Passaggio 6: scegli i tuoi chip periferici (se presenti)

Scegli i tuoi chip periferici (se presenti)
Scegli i tuoi chip periferici (se presenti)
Scegli i tuoi chip periferici (se presenti)
Scegli i tuoi chip periferici (se presenti)

Puoi aggiungere chip per interfacciarti con il tuo microcontrollore scelto per migliorare l'usabilità o la funzionalità che la tua scheda di sviluppo offre ai suoi utenti.

Nel nostro caso, l'ESP8266 ha un solo canale di ingresso analogico e pochissimi GPIO utilizzabili.

Per risolvere questo problema, aggiungeremo un IC convertitore analogico-digitale esterno e un IC Expander GPIO.

La scelta di un ADC è in genere un compromesso tra tasso di conversione o velocità e risoluzione. Risoluzioni più elevate non sono necessariamente migliori, perché i chip che presentano risoluzioni più elevate poiché utilizzano tecniche di campionamento diverse avranno spesso frequenze di campionamento molto basse. I tipici ADC SAR hanno frequenze di campionamento superiori a centinaia di migliaia di campioni al secondo, mentre gli ADC Delta Sigma a risoluzione più elevata sono solitamente in grado di eseguire solo una manciata di campioni al secondo, a un mondo di distanza dai veloci ADC SAR e dagli ADC a pipeline velocissimi.

L'MCP3208 è un ADC a 12 bit, con 8 canali analogici. Può funzionare ovunque tra 2,7 V-5,5 V e ha una frequenza di campionamento massima di 100 ksps.

L'aggiunta di un MCP23S17, un popolare expander GPIO, rende disponibili per l'uso 16 pin GPIO.

Passaggio 7: progettazione del circuito

Progettazione di circuiti
Progettazione di circuiti

Il circuito di alimentazione utilizza due diodi Schottky per fornire una semplice funzione OR per l'ingresso di alimentazione. Questo crea una battaglia tra 5 V provenienti dalla porta USB e qualunque cosa tu voglia fornire al pin VIN: il vincitore della battaglia degli elettroni esce in cima e fornisce alimentazione al regolatore AMS1117. Un modesto LED SMD funge da indicatore del fatto che l'alimentazione viene effettivamente fornita al resto della scheda.

Il circuito dell'interfaccia USB è dotato di un cordone di ferrite per evitare che le interferenze elettromagnetiche e i segnali di clock rumorosi si irradino verso il computer dell'utente. I resistori in serie sulle linee dati (D+ e D-) forniscono un controllo di base della velocità del fronte.

L'ESP8266 utilizza GPIO 0, GPIO 2 e GPIO 15 come pin di input speciali, leggendo il loro stato all'avvio per determinare se avviare in modalità di programmazione, che consente di comunicare su seriale per programmare la modalità di avvio del chip o flash, che avvia il programma. GPIO 2 e GPIO 15 devono rimanere rispettivamente a logica alta e logica bassa durante il processo di avvio. Se GPIO 0 è basso all'avvio, ESP8266 rinuncia al controllo e consente di memorizzare il programma nella memoria flash interfacciata all'interno del modulo. Se GPIO 0 è alto, ESP8266 avvia l'ultimo programma memorizzato in flash e sei pronto per iniziare.

A tal fine, la nostra scheda di sviluppo fornisce interruttori di avvio e ripristino, consentendo agli utenti di alternare lo stato di GPIO 0 e ripristinare il dispositivo, per mettere il chip nella modalità di programmazione desiderata. Un resistore di pull-up assicura che il dispositivo si avvii in modalità di avvio normale per impostazione predefinita, avviando il programma memorizzato più di recente.

Passaggio 8: progettazione e layout del PCB

Progettazione e layout PCB
Progettazione e layout PCB

Il layout del PCB diventa più critico quando sono coinvolti segnali analogici o ad alta velocità. I circuiti integrati analogici in particolare sono sensibili ai problemi di rumore di fondo. I piani di massa hanno la capacità di fornire un riferimento più stabile per i segnali di interesse, riducendo il rumore e le interferenze tipicamente causati dai loop di massa.

Le tracce analogiche devono essere tenute lontane dalle tracce digitali ad alta velocità, come le linee dati differenziali che fanno parte dello standard USB. Le tracce del segnale di dati differenziali dovrebbero essere il più corte possibile e dovrebbero corrispondere alla lunghezza della traccia. Evitare curve e via per ridurre i riflessi e le variazioni di impedenza.

L'utilizzo di una configurazione a stella per fornire alimentazione ai dispositivi (presupponendo che non si stia già utilizzando un piano di alimentazione) aiuta anche a ridurre il rumore eliminando i percorsi di ritorno della corrente.

Passaggio 9: impilamento PCB

Stack-up PCB
Stack-up PCB

La nostra scheda di sviluppo è costruita su uno stack PCB a 4 strati, con un piano di alimentazione e un piano di massa dedicati.

Il tuo "stack-up" è l'ordine dei livelli sul tuo PCB. La disposizione dei livelli influisce sulla conformità EMI del progetto, nonché sull'integrità del segnale del circuito.

I fattori da considerare nel tuo stack-up PCB includerebbero:

  1. Il numero di strati
  2. L'ordine degli strati
  3. Spaziatura tra i livelli
  4. Lo scopo di ogni livello (segnale, piano ecc.)
  5. Spessore dello strato
  6. Costo

Ogni stack-up ha la sua serie di vantaggi e svantaggi. Una scheda a 4 strati produrrà circa 15 dB in meno di radiazioni rispetto a un design a 2 strati. È più probabile che le schede multistrato presentino un piano di massa completo, una diminuzione dell'impedenza di terra e un rumore di riferimento.

Passaggio 10: ulteriori considerazioni sui livelli PCB e sull'integrità del segnale

Ulteriori considerazioni per gli strati PCB e l'integrità del segnale
Ulteriori considerazioni per gli strati PCB e l'integrità del segnale

I livelli di segnale dovrebbero idealmente trovarsi accanto a un piano di alimentazione o di massa, con una distanza minima tra lo strato di segnale e il rispettivo piano vicino. Ciò ottimizza il percorso di ritorno del segnale, che passa attraverso il piano di riferimento.

I piani di alimentazione e di massa possono essere utilizzati per fornire schermatura tra gli strati o come schermatura per gli strati interni.

Un piano di alimentazione e di massa, se posizionati uno accanto all'altro, si tradurrà in una capacità interplanetaria che in genere funziona a tuo favore. Questa capacità scala con l'area del tuo PCB, così come la sua costante dielettrica, ed è inversamente proporzionale alla distanza tra i piani. Questa capacità funziona bene per servire circuiti integrati che presentano requisiti di corrente di alimentazione volatili.

I segnali veloci sono idealmente nascosti negli strati interni dei PCB multistrato, per contenere l'EMI generato dalle tracce.

Più alte sono le frequenze trattate sulla scacchiera, più severi devono essere seguiti questi requisiti ideali. È probabile che i progetti a bassa velocità se la caveranno con meno strati, o anche un singolo strato, mentre i progetti ad alta velocità e RF richiedono una progettazione PCB più complessa con uno stack di PCB più strategico.

I progetti ad alta velocità, ad esempio, sono più suscettibili all'effetto pelle, che è l'osservazione che alle alte frequenze, il flusso di corrente non penetra attraverso l'intero corpo di un conduttore, il che a sua volta significa che c'è un'utilità marginale decrescente all'aumento lo spessore del rame ad una certa frequenza, poiché il volume extra di conduttore non verrà comunque utilizzato. A circa 100 MHz, la profondità della pelle (lo spessore della corrente che scorre effettivamente attraverso il conduttore) è di circa 7 um, il che significa anche 1 oz standard. strati di segnale spessi sono sottoutilizzati.

Passaggio 11: una nota a margine sui Vias

Una nota a margine su Vias
Una nota a margine su Vias

Le vie formano connessioni tra i diversi strati di un PCB multistrato.

I tipi di via utilizzati influiranno sul costo della produzione di PCB. Le vie cieche/interrate costano di più da produrre rispetto alle vie con foro passante. Un foro passante tramite punzoni attraverso l'intero PCB, che termina nello strato più basso. I via interrati sono nascosti all'interno e interconnettono solo gli strati interni, mentre i via ciechi iniziano su un lato del PCB ma terminano prima dell'altro lato. I fori passanti sono i più economici e facili da produrre, quindi se si ottimizzano i costi per l'uso dei fori passanti.

Passaggio 12: fabbricazione e assemblaggio PCB

Fabbricazione e assemblaggio PCB
Fabbricazione e assemblaggio PCB

Ora che la scheda è stata progettata, ti consigliamo di stampare il progetto come file Gerber dal tuo strumento EDA preferito e inviarli a una pensione per la fabbricazione.

Ho fatto fabbricare le mie schede da ALLPCB, ma puoi utilizzare qualsiasi negozio di schede per la fabbricazione. Consiglio vivamente di utilizzare PCB Shopper per confrontare i prezzi al momento di decidere quale board house scegliere per la fabbricazione, in modo da poter confrontare in termini di prezzi e capacità.

Alcune delle schede offrono anche PCB Assembly, di cui probabilmente avrai bisogno se desideri implementare questo design, poiché utilizza principalmente parti SMD e persino QFN.

Passaggio 13: è tutto gente

È tutto gente!
È tutto gente!

Questa scheda di sviluppo si chiama "Clouduino Stratus", una scheda di sviluppo basata su ESP8266 che ho progettato per accelerare il processo di prototipazione per un avvio hardware/IOT.

È ancora una prima iterazione del design, con nuove revisioni in arrivo.

Spero che abbiate imparato molto da questa guida!:D

Passaggio 14: Bonus: componenti, gerber, file di progettazione e riconoscimenti

[Microcontrollore]

1x ESP12F

[Periferiche]

1 x MCP23S17 GPIO Expander (QFN)

1 x MCP3208 ADC (SOIC)

[Connettori e interfacce]

1 x FT231XQ da USB a seriale (QFN)

1 x mini connettore USB-B

2 connettori femmina/maschio a 16 pin

[Potenza] 1 x AMS1117 - Regolatore 3.3 (SOT-223-3)

[Altri]

1 x ECQ10A04-F Doppia barriera Schottky (TO-252)

2 x BC847W (SOT323)

Resistori 7 x 10K 1% SMD 0603

2 x 27 ohm 1% SMD 0603 resistori

3 x 270 ohm 1% SMD 0603 Resistori

2 x 470 ohm 1% SMD 0603 resistori

Condensatore 3 x 0.1uF 50V SMD 0603

Condensatore SMD 0603 2 x 10uF 50V

1 x 1uF 50V SMD 0603 Condensatore

2 condensatori 47pF 50V SMD 0603

1 x LED SMD 0603 Verde

1 x LED SMD 0603 Giallo

1 x LED SMD 0603 blu

2 interruttori tattili OMRON BF-3 1000 THT

1 x perlina di ferrite 600/100 mhz SMD 0603

[Riconoscimenti]Grafici ADC per gentile concessione di TI App Notes

Benchmark MCU:

Illustrazioni PCB: Fineline

Consigliato: