Sommario:

Atmega328p Companion: 6 passaggi (con immagini)
Atmega328p Companion: 6 passaggi (con immagini)

Video: Atmega328p Companion: 6 passaggi (con immagini)

Video: Atmega328p Companion: 6 passaggi (con immagini)
Video: Trucco per vedere sott’acqua senza maschera #shorts 2024, Luglio
Anonim
Atmega328p Companion
Atmega328p Companion

Compagno ATMEGA328P: il modulo bootloader e programmatore

Se sei come me, sei dipendente da progetti e Arduino. Tuttavia, se hai realizzato un certo numero di progetti con un Arduino come cervello, probabilmente hai iniziato a stancarti di guardare la scheda Arduino nel suo insieme, ingombrando il tuo progetto e nel complesso solo guardando male. Pertanto, ho deciso che volevo passare dalle schede Arduino all'utilizzo solo dell'IC.

Inserisci l'atmega328p.

L'atmega328p è probabilmente il circuito integrato compatibile con Arduino più prolifico sul mercato. Non è affatto il più economico o il più potente, tuttavia, tenendo conto di entrambi, secondo me è la migliore prestazione per dollaro. Quindi sei pronto per iniziare a dare ai tuoi progetti un aspetto molto più professionale e meno simile a un conglomerato di moduli standard? In tal caso, leggi questo tutorial e otterrai le informazioni necessarie per creare il tuo modulo che ti consentirà di eseguire il flashing di un bootloader sul tuo target atmega328p, caricare lo sketch dei blink per assicurarti che le cose funzionino e infine caricare i tuoi schizzi per i tuoi progetti individuali.

Passaggio 1: Distinta materiali e strumenti

Per prima cosa, questo istruibile non sarà un passo dopo passo su come costruire il manuale, ma presumo che tu sappia come leggere uno schema e che tu possa tradurlo su una scheda. Con questo in mente, ecco i materiali e gli strumenti necessari:

Materiali:

  • 1x scheda prototipi 40x60mm o PCB
  • 1x intestazione maschio a 6 pin (ho usato maschi ad angolo retto)
  • 2 connettori femmina a 14 pin
  • 1x intestazione femmina a 6 pin
  • 1x intestazione femmina a 2 pin
  • Condensatore 2x 22pF (22)
  • 1x condensatore 0.1uF (104)
  • 1x resistenza da 10 kohm
  • 2 resistenze da 330 ohm
  • 1x LED (qualsiasi colore per indicatore di alimentazione - 3 mm per progettazione PCB)
  • 1x LED (qualsiasi colore per il pin digitale 13 per il disegno lampeggiante - 3 mm per la progettazione PCB)
  • 1x cristallo da 16 MHz
  • 1x interruttore a scorrimento
  • 1x pulsante momentaneo

Utensili:

  • Arduino Uno
  • Saldatore
  • 6 ponticelli M-M
  • Programmatore FTDI
  • Cavo USB compatibile con il tuo programmatore FTDI
  • Arduino IDE

Passaggio 2: Schema/Layout

Schema/Layout
Schema/Layout
Schema/Layout
Schema/Layout

In allegato a questo passaggio ci sono i file eagle che ho usato. Sei libero di modificarli e cambiarli come preferisci. Tuttavia, ho progettato la scheda in modo che tutte le tracce siano sullo strato inferiore in modo che sia facile da fabbricare su una fresa per PCB (se ne hai accesso) con una scheda su un lato. È anche sul fondo in modo che sia facile saldare i componenti insieme.

Se vuoi il PCB, tuttavia, esegui semplicemente la CAM per ottenere i file gerber necessari per il tuo produttore preferito. Mi piace OSH Park perché gli dai solo il file della scheda e loro eseguono le CAM necessarie per ottenere i file di cui hanno bisogno.

Passaggio 3: saldatura

saldatura
saldatura
saldatura
saldatura

Quindi ci sono tre modi per creare questa tavola:

  • Popolamento di un PCB
  • Popolazione di una tavola fresata
  • Popolazione di una scheda prototipi

Il popolamento del PCB è abbastanza semplice e non dovrebbe darti alcun problema poiché tutto è etichettato.

Anche compilare una scheda fresata non dovrebbe essere troppo difficile, poiché è modellata esattamente allo stesso modo del PCB, tranne per il fatto che non hai i segni, quindi segui il file della scheda in Eagle per assicurarti di mettere le cose nel posto giusto (in particolare la polarità dei LED).

Infine, popolare una scheda prototipi è la cosa più impegnativa, tuttavia, non è terribilmente difficile. Ho alcune immagini su questo passaggio che mostrano la mia versione della scheda prototipi e come monto tutto. Nota che l'LM7805, i due condensatori da 4.7uF e i terminali a vite non saranno sulla tua scheda. Stavo giocando con l'idea di avere questa capacità di essere alimentata esternamente, ma una volta che ho iniziato a pensarci, ho deciso che alla fine era uno spreco di spazio sulla scheda.

Passaggio 4: caricamento del boot

Bootload
Bootload

Configurazione del bootloading Arduino:

Quindi ecco dove avrai bisogno del tuo altro Arduino. Prima vai qui e scarica i file di questo tizio. A questo punto, i file hanno qualche anno, ma funzionano ancora alla grande. Una volta scaricati, apri optiLoader.ino e il tuo IDE Arduino dovrebbe chiederti di inserirlo in una cartella. Fallo e poi inserisci il file optiLoader.h nella cartella con l'estensione.ino. Ora sei pronto per caricare quello schizzo sul tuo Arduino di bootloading. Ho usato un Arduino Uno, quindi so che funziona con quello, ma sono sicuro che funzionerà anche con altre schede.

Una volta caricato optiLoader.ino sul tuo Arduino, è tutto pronto per il bootload di molti chip Arduino diversi. L'ho fatto solo con l'atmega328p, tuttavia, il codice è impostato per rilevare l'MCU di destinazione e far lampeggiare il bootloader corretto, il che è piuttosto carino. Quindi ora, ogni volta che colleghi questo Arduino alla scheda Atmega Companion con un chip installato e lo accendi, rileverà automaticamente che il target è un atmega328p e lampeggerà automaticamente il bootloader appropriato. Nessun salto di reset, niente cose strane; basta collegare e riprodurre.

Cablaggio del Bootloader alla Companion Board:

[Bootloader Arduino] [Scheda Companion Atmega328p]

  • D10 Reset / pin 1
  • D11 MOSI / pin 17
  • D12 MISO / pin 18
  • D13 SCK / pin 19
  • 5V Vcc / pin 20 o 21
  • GND Massa / pin 22

I pin si riferiscono alle gambe dell'IC stesso. Se questo è fonte di confusione, guarda l'immagine della scheda dal passaggio schematico/layout poiché i pin sulla scheda companion sono etichettati.

Lampeggio del bootloader:

Ora che hai la configurazione di Bootloader Arduino con lo sketch optiLoader.ino ed è anche collegata alla tua Companion Board, assicurati che l'interruttore della companion board sia impostato su "bootload" invece di "upload", quindi collega il tuo Arduino su un computer. Dovresti vedere le luci su Arduino e Companion lampeggiare più volte. Dopo alcuni secondi, entrambi dovrebbero spegnersi e non lampeggiare più. Questo probabilmente significa che ha eseguito correttamente il flashing del tuo IC atmega328p con il bootloader. Per assicurarti che tutto sia andato bene, collegalo al tuo computer e apri l'IDE di Arduino e poi il monitor seriale. Cambia la velocità di trasmissione a 19200. Quindi, se non si riavvia automaticamente, premi il pulsante di ripristino sul tuo Arduino. Dovresti vedere un mucchio di testo che descrive cosa sta facendo lo script. Alla fine, non dovrebbe avere alcun messaggio di errore e dovrebbe informarti che il processo è terminato.

Se ricevi un errore, controlla il tuo interruttore e assicurati di essere su "bootload". Se continui a ricevere errori a questo punto, controlla tutto il cablaggio e assicurati che sia corretto.

Passaggio 5: caricamento

Caricamento
Caricamento

Questo è il passaggio facile.

Scollega tutti i cavi dal passaggio precedente e sposta l'interruttore da "bootload" a "upload". Collega il tuo modulo FTDI. Mi piace l'Adafruit CP2104 e lo SparkFun CH340G principalmente perché sono relativamente economici e il pinout corrisponde ai pin FTDI che escono dalla scheda companion.

Una volta che hai collegato il tuo FTDI alla scheda companion, vai avanti e collegalo al tuo computer. Da lì, carica lo schizzo di esempio di blink per assicurarti che il bootloader sia stato flashato correttamente. Seleziona Arduino/Genuino Uno dal menu delle schede. Una volta caricato lo schizzo lampeggiante, dovresti vedere il LED lampeggiante lampeggiare, come previsto. Se funziona, sei pronto per caricare i tuoi schizzi personalizzati sull'IC, proprio come faresti con qualsiasi altro Arduino.

Passaggio 6: lavoro futuro

In futuro, ho intenzione di trasformarlo in uno shield Arduino Uno. Non dovrebbe volerci molto tempo per farlo, e se le persone lo desiderano, posso caricare i file Eagle anche per quello qui. Ciò semplificherebbe la fase di bootloading, poiché non dovresti preoccuparti di cablarlo in modo errato. Sono aperto anche ad altri suggerimenti per il miglioramento, tuttavia, non sospetto che farò molto di più con questo, poiché era solo un passaggio necessario nella preparazione dei miei progetti futuri.

Se vuoi vedere altri miei progetti futuri, fammelo sapere e cercherò di tenere aggiornata la community.

Consigliato: