Indice dei contenuti
Come creare il proprio circuito Arduino?
Arduino ha rivoluzionato l'elettronica con un sistema di piattaforma hardware open-source accessibile a tutti. Sul mercato sono già disponibili numerose schede di Arduino.
Scopri tutto su progettazione e produzione il proprio PCB Arduino. In questa guida completa, imparerete i fondamenti di Progettazione del PCB Arduino, componenti e guida passo-passo nella progettazione della propria scheda di circuito Arduino.
Che cos'è un PCB Arduino?
Arduino è la piattaforma opensource con PCB e il software Arduino integrato. Il circuito stampato Arduino è un scheda elettronica progettata su misura che imita o espande la capacità stabilita da una scheda Arduino standard. Include un microcontrollore, gestione dell'energia circuiti e un insieme di digitale e analogico ingresso/uscita (I/O) spille per il collegamento a interruttori, sensori, motori e altri dispositivi.
| Parametro | Specifiche di progettazione | Schema di implementazione tipico (Uno R3) |
| Intervallo di tensione in ingresso | 7-12 V CC (attraverso la presa CC) o collegamento diretto USB a 5 V | Regolatore lineare LM7805 (uscita 5V/1A) |
| Conversione della tensione del nucleo | 5V → 3,3V (alcuni nuovi MCU) | AMS1117-3.3 (alimentazione per chip I/O level-shift) |
| Disposizione del condensatore di disaccoppiamento | Condensatore ceramico da 100nF collegato al pin di alimentazione dell'MCU ≤ 3 mm, condensatore al tantalio da 10μF posizionato sull'uscita del regolatore | Condensatore in confezione 0805, impedenza ≤ 0,1Ω@100MHz |
| Protezione da sovracorrente | Fusibile auto-ripristinante (500mA) in serie nel percorso di alimentazione USB | PTC modello MF -MSMF050 |
| Tipo di interfaccia | Caratteristiche elettriche | Regole di progettazione dei PCB |
| I/O digitale (D0-D13) | Livello TTL (0V/5V), capacità di pilotaggio 20mA (singolo pin) | Larghezza della linea di segnale ≥ 8mil, e la distanza dalla linea elettrica ≥ 15mil |
| Ingresso analogico (A0-A5) | ADC a 10 bit (intervallo 0-5V), impedenza di ingresso 100MΩ | Aggiungere un filtro RC passa-basso (R = 1kΩ, C = 100nF) |
| Uscita PWM | Frequenza 490Hz, risoluzione 8 bit | Evitare tracce lunghe (consigliato ≤ 50 mm) per ridurre le radiazioni EMI |
| Interfaccia di comunicazione | SPI (SCK@4MHz) I²C (modalità standard 100kHz) UART (115200bps) | Controllo della coppia differenziale (come la differenza di lunghezza MISO/MOSI ≤ 5 mm) |
| Requisiti di progettazione | Schema Arduino Uno | Schema Arduino Mega 2560 |
| Selezione MCU | ATmega328P (32KB Flash, 2KB RAM) | ATmega2560 (256KB Flash, 8KB RAM) |
| Topologia di alimentazione | Uscita a 5 V a percorso singolo (commutazione automatica tra USB e presa CC) | Alimentazione indipendente a doppio percorso (separazione dell'alimentazione digitale/analogica) |
| Capacità di espansione I/O | 14 digitali + 6 analogici | 54 digitali + 16 analogici |
| Interfaccia di comunicazione | 1 set di hardware SPI/I²C/UART | 4 set di UART, 2 set di I²C, SPI possono essere multiplexati su più pin |
| Strati di PCB | 2 strati (basso costo) | 4 strati (con strati di alimentazione/terra indipendenti) |
Le schede Arduino sono di vari tipi e forme. Alcuni dei principali tipi di schede Arduino sono:
| Modello | Dimensione (mm) | Numero di strati | Scene applicabili |
| Uno R3 | 68.6×53.4 | 2 | Formazione/Prototipazione |
| Mega 2560 | 101.5×53.3 | 4 | Scenari industriali estesi |
| Nano | 45×18 | 2 | Dispositivi integrati |
- Arduino Uno (microcontrollore ATmega328P)
- Arduino Micro (microcontrollore ATmega32u4)
- Arduino Nano (microcontrollore ATmega328P)
- Arduino Mega (microcontrollore ATmega2560)
- Arduino Lily-Pad (microcontrollore ATmega32u4)
- Arduino Zero (microcontrollore Atmel SAMD21G18)
Vediamo alcuni dei principali componenti del circuito stampato di Arduino:
| Componente | Descrizione |
| Processore (microcontrollore) | Normalmente si tratta di ATmega328P o ATmega2560. La scelta avviene in base alla potenza di elaborazione, ai pin GPIO e alle esigenze specifiche del progetto. |
| Alimentazione | Regola la tensione per il microcontrollore e altri componenti. Dispone di un regolatore di tensione per sistemi a 5V o 3,3V. |
| Oscillatore a cristallo | Genera un impulso di clock a 16 MHz (per il microcontrollore). I condensatori esterni possono aiutare a stabilizzare l'oscillazione. |
| Pin di ingresso/uscita | Utilizzato per interagire con sensori, attuatori e altre periferiche. Richiede resistenze pull-up/pull-down adeguate. |
| Convertitore da USB a seriale | I segnali provenienti dall'USB vengono convertiti in UART. |
| Circuito di reset | È dotato di un pulsante per resettare autonomamente il microcontrollore, se necessario. |
| Condensatori di disaccoppiamento | Impostare vicino all'alimentazione per eliminare il rumore con una tensione stabile. |
Come funziona una scheda Arduino?
Nel processo di funzionamento della scheda Arduino, il flusso dei segnali è un processo sistematico. È innanzitutto responsabilità dei sensori rilevare le diverse grandezze fisiche del mondo esterno, come ad esempio temperatura, intensità luminosa, ecc.
Successivamente, i segnali emessi dai sensori vengono normalmente sottoposti a condizionamento. Questo include processi come l'amplificazione dei segnali deboli o l'eliminazione del rumore, nel tentativo di garantire la qualità del segnale. segnale qualità e precisione.
Successivamente, il segnale analogico condizionato viene inviato a un ADC (convertitore analogico-digitale) per la conversione. In Arduino viene comunemente impiegato un ADC a 10 bit, che può quindi convertire un segnale analogico in un valore digitale di 0 1023, consentendo al microcontrollore di elaborarlo digitalmente.
Successivamente, il microcontrollore (Arduino) interpreta questi segnali digitali in base a un programma pre-memorizzato, ad esempio per prendere decisioni o calcolare valori in base ai dati dei sensori.
Infine, i dati elaborati vengono inviati in uscita ai pin GPIO, che possono essere utilizzati per alimentare altri dispositivi, come ad esempio LEDmotori, ecc., consentendo così il controllo o l'interfacciamento con dispositivi esterni.
Come funziona il sottosistema di gestione dell'alimentazione di Arduino?
All'interno della scheda Arduino, il sistema di gestione dell'alimentazione sfrutta una doppio tensione design nel tentativo di gestire le esigenze dei diversi componenti.
Per il Rotaia da 5 V, AMS1117 5.0 È possibile utilizzare un regolatore che supporta fino a un massimo di ingresso tensione di 16V. È in grado di regolare tensioni di ingresso stabili più elevate a 5 V e di fornire l'alimentazione ai dispositivi che devono funzionare con una tensione di esercizio di 5 V.
Binario da 3,3 V è in grado di essere supportato dal sistema RT9193 33GB con una precisione di uscita di ±1,5% e fornire una tensione di 3,3 V precisa e stabile.
| Parametri | ATmega328P | STM32F103 |
| Architettura di base | AVR a 8 bit | ARM Cortex-M3 a 32 bit |
| Requisiti per il layout dei PCB | Pannello a 4 strati, larghezza linea ≥8mil | Scheda a 6 strati con controllo dell'impedenza ±7% |
| Pacchetto BGA | Non supportato | Richiede un cablaggio con passo di 0,4 mm |
Come progettare il PCB di Arduino?
Fase 1:
Ottenere un diagramma schematico
Utilizzo Software di progettazione di PCB come Eagle, Ki-Cad o Altium Design per disegnare il schematico schema del circuito stampato di Arduino. Questo schema vi fornirà un diagramma di cablaggio su come tutti i componenti si collegano (questo sarà il "progetto" per il vostro circuito).
Fase 2:
Verifica dello schema di Arduino
Protezione ESD dell'interfaccia USB
All'interno del progetto schematico di Arduino, la protezione dell'ESD dell'interfaccia USB è molto critica e deve essere dotata di TVS. diodi (come ESD5Z3.3T1) in modo che il circuito sia protetto dalla distruzione elettrostatica dell'interfaccia USB.
Layout di cristallo
Montaggio dei cristalli, per rimanere fuori dal MCU ≤ 15 mm e il trattamento della messa a terra del pacchetto. Questo perché il cristallo dell'MCU fornisce segnali di clock, il montaggio di prossimità può ridurre la perdita di segnale della trasmissione e l'interferenza, la messa a terra del pacchetto può anche ridurre l'interferenza elettromagnetica.
Confronto tra strutture laminate
Quando si progettano i circuiti stampati Arduino, l'opzione struttura in laminato affetti EMII risultati dei test EMI sono stati valutati confrontando le strutture, come le schede a doppio strato e le schede multistrato. I pannelli a doppio strato sono semplici e a basso costo, ma con scarso controllo delle EMI, schede multistrato può essere una disposizione a strati, un buon controllo delle EMI, la progettazione deve dipendere dalla funzione, dal costo e dagli standard EMC per scegliere la struttura corretta.
| Tipo | Spessore | EMI@100MHz |
| doppio strato | 1,6 mm | 48dB |
| a quattro strati | 1,6 mm | 32dB |
Lista di controllo DFM
| Parametri | Requisiti | Scopo |
| Larghezza/spazio minimo delle linee | 6mil/6mil | Evitare un'incisione non uniforme |
| Olio Overcap | Diametro del foro ≥0,3 mm | Previene i corti di saldatura |
| Profondità V-CUT | Spessore della piastra 1/3±0,1 mm | Garantire l'affidabilità del depaneling |
Fase 3:
Indirizzare le tracce
Collegare Componenti elettronici con PCB Layout Editor. Mantenere le tracce il più possibile corte e non attraversare per evitare interferenze di segnale. Potenza e le connessioni di terra trasportano di solito ordini di grandezza maggiori di corrente, quindi per questi collegamenti è sicuramente necessario utilizzare tracce più larghe.
Passo 4:
Generazione di file Gerber
Dopo il layout completo della PCB, creare File Gerber. Questi file contengono tutte le informazioni necessarie per fabbricare il PCB di Arduino. Verificare che i file siano correttamente inclusi nei livelli e nei componenti.
In KiCad, una volta terminati i progetti e i diagrammi schematici, selezionare i layer che si desidera generare. Quindi, fare nuovamente clic su Traccia per generare i layer.
Passo 5:
Produrre il vostro PCB
Inviare il PCB di Arduino o inviare file Gerber a produttori come ELEPCB o farlo da soli. Dopo aver realizzato il PCB, iniziamo assemblaggio la scheda Arduino.
Inviate i documenti di progetto per un preventivo rapido in 24 ore!
Assemblaggio del PCB di Arduino
Controllo iniziale
Verificare che il SMT Il processo è conforme ai requisiti, come l'accuratezza dell'apparecchiatura, i parametri di processo (come il profilo di temperatura, la pressione di stampa, ecc. Inoltre, si eseguono i test di compatibilità sullo schermo per assicurarsi che sia compatibile con il PCB di Arduino.
Design dello stencil
- In caso di 0402 componenti, il stencil Il rapporto di apertura è standard, 1:0,9, e mira a prevenire le perle di stagno.
- Per Pacchetto QFN componenti, lo stencil è progettato in modo da sporgere i pin di 0,1 mm per migliorare la qualità del lavoro. saldare quantità di spazio libero e garantire la saldatura qualità.
Test di compatibilità dello schermo
- Livello compatibilità: A 3.3V Il buffer (ad es. 74LVC245) viene utilizzato nell'interfaccia per 5V per garantire una transizione stabile tra i diversi segnali di livello.
- Test di durata: collegare e scollegare la spina prova 500 volte e la resistenza di contatto dopo il collegamento e lo scollegamento della spina. dovrebbe essere ≤20mΩ (secondo lo standard MIL-STD-1344).
Fase 1:
Raccogliere i componenti
Fase 2:
Saldare i componenti
Una volta creato lo schema per la scheda, raccogliere tutti i componenti necessari per la scheda Arduino, compresi il microcontrollore, le resistenze, i condensatori e i connettori.
Saldare i vari componenti sul circuito stampato, facendo attenzione a non brevee saldare prima le parti più piccole. Cercate di utilizzare un saldatore con una punta fine.
Fase 3:
Test del PCB
Passo 4:
Caricare il bootloader
Assicurarsi di testare il PCB assemblato per verificare che tutti i componenti funzionino correttamente. Se necessario, accertarsi che non vi siano cortocircuiti e verificare con un multimetro che la tensione di alimentazione sia corretta.
Caricare il bootloader Arduino sul microcontrollore utilizzando la scheda Arduino personalizzata. Se si carica il bootloader attraverso un FTDI (o compatibile) USB al convertitore seriale, collegare il PCB al computer.
Passo 5:
Carica il tuo schizzo
Una volta installato il bootloader, è possibile caricare lo sketch Arduino sul microcontrollore. Utilizzate le informazioni di debug fornite dallo sketch per verificare che il PCB funzioni come previsto!
Considerazioni commerciali
Esistono diversi metodi di quotazione in blocco per i principali dispositivi come l'elettronica Arduino. ELEPCB possiede una professionalità BOM team per aiutarvi con Servizio di quotazione 1 a 1.
Il nostro approvvigionamento i canali sono diversificati e la maggior parte dei marchi possiede anni di collaborazione con i produttori originaliPer i singoli componenti sensibili all'età, vi aiuteremo a trovare l'età appropriata dei canali normali, se necessario potete anche informarci sulle esigenze di pcb personalizzato.
Costo della distinta base dei PCB
Prendiamo in considerazione anche molti altri elementi rilevanti, tra cui:
- Intervallo di temperatura
- Sensibilità all'umidità
- Classe IPC
- Impedenza
Inviate i documenti di progetto per un preventivo rapido in 24 ore!
Conclusione
Creare il proprio circuito stampato Arduino è un compito arduo ma soddisfacente che può aggiungete un nuovo livello ai vostri progetti elettronici. Potete progettarlo e poi produrlo voi stessi, in base al vostro budget. Naturalmente, se avete bisogno di un produttore professionale ed esperto per aiutarvi a produrre in serie il vostro progetto, ELEPCB vi fornirà tutti i servizi necessari.
Domande frequenti
A1:
- Gestione termica: Se si usa un regolatore di tensione lineare, aggiungere un dissipatore se necessario.
- Larghezza della traccia: Le tracce di alimentazione devono essere sufficientemente larghe da prevenire il surriscaldamento quando trasporta corrente. UN PCB larghezza della traccia Il calcolatore può capire quale dovrebbe essere la larghezza.
- Layout dei componenti: Non posizionare i componenti sensibili al calore (ad esempio, i condensatori) vicino ad altri componenti che generano un'elevata potenza termica, come i regolatori di tensione.
A2:
- Corto circuito Test: Eseguire il test di cortocircuito con l'aiuto di un multimetro.
- Controllare l'alimentazione: Assicurarsi che il regolatore di tensione fornisca la tensione corretta (5 V o 3,3 V) al microcontrollore e agli altri componenti.
- Controllare le connessioni: Assicurarsi che non vi siano giunti di saldatura freddi o pin non saldati, in particolare in prossimità del microcontrollore e del convertitore USB-seriale.
- Bootloader Problemi: Se il microcontrollore non risponde, ricaricare il bootloader di Arduino utilizzando un programmatore esterno come un ISP AVR.
A3:
Le insidie più comuni sono posizionamento dei componenti, scarsa traccia routinge una progettazione errata dell'alimentazione. Per evitare questi problemi, controllate accuratamente lo schema e il layout.
A4:
Fase 1: Saldare il CNC (ad esempio, Arduino CNC Shield V3.0) sulla scheda Arduino Uno.
Fase 2: Collegare i driver dei motori passo-passo (ad esempio, A4988) ai pin degli assi X, Y e Z dello schermo CNC.
Fase 3: Scaricare e installare Arduino IDE (Integrated Development Environment).
Passo 4: Scaricare il firmware GRBL da GitHub (in genere in formato .zip).
Passo 5: In Arduino IDE, selezionare Sketch→Includere la libreria→Aggiungere la libreria ZIP., quindi selezionare l'opzione grbl nella cartella del firmware GRBL scaricato per installare GRBL come libreria Arduino.
Passo 6: In Arduino IDE, selezionare File→Esempi→grbl→grblUpload.
Passo 7: Selezionare la scheda Arduino e la porta COM corretta e premere il pulsante di caricamento per caricare il firmware GRBL sulla scheda Arduino.
Passo 8: Aprire il monitor seriale in Arduino IDE, impostare la velocità di trasmissione a 115200.
Passo 9: Immettere " " per visualizzare le impostazioni GRBL esistenti e regolarle in base ai parametri specifici della macchina CNC, come i passi del motore passo-passo, la velocità massima, l'accelerazione, ecc.
// Includere la libreria GRBL
#include
GRBL grbl;
// La funzione di setup viene eseguita una volta all'avvio di Arduino
void setup() {
Serial.begin(115200); // Inizializza la comunicazione seriale a 115200 baud rate
grbl.init(); // Inizializza GRBL
}
// La funzione loop viene eseguita continuamente dopo il setup
void loop() {
// Invia un'istruzione di codice G per spostarsi sulle coordinate (10, 10, 5)
grbl.sendGCode("G0 X10 Y10 Z5");
// Attendere il completamento del movimento
while (grbl.isMoving()) {
delay(100);
}
// Chiudere la connessione a GRBL
grbl.close();
// Aggiungiamo un ritardo per evitare una rapida ripetizione
delay(1000);
}





