Sommario:
- Passaggio 1: rimuovere il cavo di alimentazione CA e rimuovere la batteria da 9 V
- Passaggio 2: collegare i cavi dei ponticelli
- Passaggio 3: accendi l'RPi
- Passaggio 4: installa Avrdude
- Passaggio 5: modifica il file di configurazione di Avrdude
- Passaggio 6: scarica o copia il file Flash.hex in /home/pi
- Passaggio 7: verificare che Avrdude possa comunicare con ATMEGA48V-10PU
- Passaggio 8: eseguire il flash del file.hex su ATMEGA48V-10PU
- Passaggio 9: semplice risoluzione dei problemi in caso di errore del flash
Video: Come utilizzare i pin GPIO di un Raspberry Pi e Avrdude per programmare Bit-bang DIMP 2 o DA PIMP 2: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Queste sono istruzioni passo passo su come utilizzare un Raspberry Pi e il comando open source gratuito avrdude per programmare bit-bang un DIMP 2 o DA PIMP 2. Presumo che tu abbia familiarità con il tuo Raspberry Pi e LINUX riga di comando. Non devi avere familiarità con la programmazione del chip AVR, ma aiuta se qualcosa va storto perché puoi leggere l'output di avrdude e avere un'idea di cosa fare.
Questa procedura dovrebbe richiedere circa 1 ora la prima volta e da 5 a 10 minuti ogni volta dopo.
Avrai bisogno:
1) Un Raspberry Pi con pin GPIO e alimentatore. Sto usando un Raspberry Pi Zero W con pin GPIO saldati. Il sistema operativo dovrebbe essere il sistema operativo Raspberry Pi (precedentemente Raspbian). Sto usando Raspbian Lite (Stretch), che è un po' vecchio. Questi comandi dovrebbero ancora funzionare sull'ultima versione del sistema operativo Raspberry Pi.
Andando avanti mi riferirò al Raspberry Pi come "RPi".
2) Ponticelli femmina-femmina. Prendi uno di questi colori: rosso, nero, blu, giallo, verde, viola. Sto usando il marrone invece del viola.
3) Un DIMP 2 o DA PIMP 2 con l'intestazione ICSP a 10 pin opzionale saldata. Sto usando un DIMP 2 qui, ma le istruzioni sono le stesse per DA PIMP 2.
4) Accesso a Internet per RPi in modo da poter installare il comando open source gratuito avrdude.
5) Una copia del file.hex flash per il tuo DIMP 2 o DA PIMP 2. Puoi creare tu stesso il file.hex dal codice sorgente grezzo, ma non ti mostrerò come farlo qui.
6) Un modo per accedere a RPi: utilizzare una connessione di rete o l'accesso diretto alla console. Devi essere in grado di eseguire comandi su di esso.
Passaggio 1: rimuovere il cavo di alimentazione CA e rimuovere la batteria da 9 V
Innanzitutto, controlla se il cavo di alimentazione CA è collegato a DIMP 2 o DA PIMP 2 e collegato alla rete CA. In caso affermativo, PERICOLO: PERICOLO DI SHOCK LETALE. Indossare guanti di gomma e quindi spegnere l'interruttore principale a bilanciere sul DIMP 2 o DA PIMP 2. Quindi, scollegare il cavo di alimentazione CA dalla rete CA e scollegare il cavo di alimentazione CA dal DIMP 2 o DA PIMP 2. È possibile prendere togliere i guanti di gomma una volta rimosso il cavo di alimentazione CA.
Quindi, rimuovere la batteria da 9V. L'alimentazione sarà fornita al DIMP 2 dall'RPi attraverso i fili rosso (Vcc) e nero (GND). Per ogni evenienza, disattivare l'interruttore a scorrimento del DIMP 2 o del DA PIMP 2.
Passaggio 2: collegare i cavi dei ponticelli
Con l'RPi non acceso, iniziare a collegare i cavi dei ponticelli. Andando avanti, i pin GPIO sono sul Raspberry Pi e i pin ICSP sono sul DIMP 2 (header J3) o DA PIMP 2 (header J1).
Fare riferimento allo schema che ho messo insieme e alle foto se ti sei perso.
La parte RPi del diagramma proviene da pinout.xyz.
La parte ATMEGA48V-10PU del diagramma è copyright 2016 Atmel Corp.
Rivendico l'uso corretto di questi disegni a causa delle aggiunte significative e trasformative.
Il nero va dal pin 6 GPIO al pin 10 ICSP. Questo è GND (terra)
Il giallo va dal pin 12 GPIO al pin 9 ICSP. Questo è MISO.
Il verde va dal pin 16 GPIO al pin 1 ICSP. Questo è MOSI.
Il blu va dal pin 18 GPIO al pin 7 ICSP. Questo è SCK o SCLK (SClock)
Il viola (marrone nelle mie foto) va dal pin 32 GPIO al pin 5 ICSP. Questo è RESET.
Il rosso va dal pin 4 GPIO al pin 2 ICSP. Questo è Vcc (alimentazione 5V)
Passaggio 3: accendi l'RPi
Ora vai avanti e accendi l'RPi. Anche la parte del voltmetro di DIMP 2 o DA PIMP 2 dovrebbe accendersi, ma non lo saprai guardando il display. In caso di dubbio, misurare la tensione con la sonda rossa al pin 20 dell'ATMEGA48V-10PU e la sonda nera al pin 4, 6 o 8 dell'intestazione ICSP. Dovrebbe essere intorno a 5VDC.
Passaggio 4: installa Avrdude
Le mie istruzioni mostreranno solo i comandi della riga di comando. Se hai una GUI in esecuzione, vorrai aprire un Terminale per eseguire questi comandi della riga di comando.
Accedi come utente predefinito pi. La password predefinita è lampone
Installa il comando avrdude digitando quanto segue al prompt dei comandi del terminale:
sudo apt-get install avrdude
Passaggio 5: modifica il file di configurazione di Avrdude
Modifica il file di configurazione di avrdude digitando:
sudo nano /etc/avrdude.conf
Aggiungi queste righe al centro del file dove si trovano le altre definizioni del programmatore. Quello che ho fatto è copiare la sezione del programmatore proprio sopra di essa per id = "linuxgpio", quindi incollarla proprio sotto (alla riga 1274), quindi modificare la nuova sezione.
programmatore
id = "pi_1"; desc = "Usa l'interfaccia sysfs di Linux per bitbang sulle linee GPIO"; tipo = "linuxgpio"; reset = 12; sck = 24; mosi = 23; miso = 18;;
Quindi salvare il file premendo: Ctrl-O
E poi esci dall'editor nano premendo: Ctrl-X
Passaggio 6: scarica o copia il file Flash.hex in /home/pi
Copia il file flash.hex su RPi. Presumo tu sappia come farlo. SUGGERIMENTO: utilizzare il comando wget, curl, git o scp per trasferire il file dal Web all'RPi.
Il file.hex di DIMP 2 è qui, insieme al codice sorgente:
github.com/dchang0/dimp2
Una versione personalizzata del file.hex di DA PIMP 2 è qui. Non l'ho testato!
github.com/jcwren/DaPimp2
Se la versione precedente del file.hex di DA PIMP 2 non funziona, il codice sorgente originale di DA PIMP 2 di Mikey Sklar è qui. Dovrai compilarlo tu stesso in un file.hex funzionante. Non lo tratterò in queste istruzioni perché sarà un tutorial lungo (ma non difficile). Ho programmato con successo diverse unità DA PIMP 2 funzionanti utilizzando questo codice sorgente:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
Oppure puoi andare alla pagina principale di DA PIMP 2 qui e fare clic sul collegamento al codice sorgente.
mikeysklar.blogspot.com/p/da-pimp-battery-…
Metti il file.hex in questo percorso e nome file sull'RPi…
Per il DIMP 2:
/home/pi/dimp2.hex
Per il DA PIMP 2:
/home/pi/da_pimp2.hex
Passaggio 7: verificare che Avrdude possa comunicare con ATMEGA48V-10PU
Eseguire il comando avrdude per assicurarsi che possa parlare con il chip ATMEGA48V-10PU sul DIMP 2 o DA PIMP 2.
cd /home/pi
sudo avrdude -c pi_1 -p m48 -v
Otterrai circa una pagina di output. Guarda alla fine. Se ricevi una risposta come questa, puoi procedere.
avrdude: dispositivo AVR inizializzato e pronto ad accettare istruzioni
Lettura | ################################################# | 100% 0.00s
In caso contrario, c'è qualcosa che non va e dovresti capirlo. Molto probabilmente si tratta di un cablaggio errato, ma un'altra lamentela comune che ho riscontrato è che il chip ATMEGA48V-10PU è un falso. Sembra che molti di quelli venduti su Amazon o ebay siano falsi. Quelli venduti da Mouser o Digikey e altri distributori autorizzati sono originali.
Passaggio 8: eseguire il flash del file.hex su ATMEGA48V-10PU
Esegui questo comando per eseguire la programmazione del chip…
Per il DIMP 2:
cd /home/pi
sudo avrdude -c pi_1 -p m48 -U flash:w:dimp2.hex
Per il DA PIMP 2:
cd /home/pi
sudo avrdude -c pi_1 -p m48 -U flash:w:da_pimp2.hex
Otterrai circa una pagina di output. Cerca queste righe:
avrdude: scrittura flash (1528 byte):
Scrittura | ################################################# | 100% 0.79s
avrdude: verificando…
avrdude: 1528 byte di flash verificati avrdude: safemode: Fusibili OK (E:FF, H:DF, L:62)
Se sei arrivato così lontano, dovresti vedere il display a LED che mostra zeri per la tensione. Se vedi gli zeri, hai finito! In caso contrario, vai al passaggio successivo.
Se vedi gli zeri, spegni con grazia il tuo RPi con questo comando:
sudo shutdown -h ora
Quando la spia di alimentazione sull'RPi si spegne (il DIMP 2 o il DA PIMP 2 saranno ancora accesi), è possibile scollegare l'alimentatore dall'RPi. Quindi scollegare i cavi dei ponticelli tra RPi e DIMP 2 o DA PIMP 2.
Passaggio 9: semplice risoluzione dei problemi in caso di errore del flash
Se non vedi zeri sul display del tuo DIMP 2 o DA PIMP 2, allora è il momento di risolvere il problema.
Di nuovo, controlla prima il cablaggio.
Quindi, controlla gli stati dei fusibili mostrati da avrdude. È possibile che il tuo chip sia arrivato con i fusibili impostati su valori diversi rispetto all'impostazione di fabbrica. Potrebbe essere necessario ripristinare i fusibili del chip, il che richiede un dispositivo hardware completamente diverso. Questo è un problema con molti dei falsi chip ATMEGA48V-10PU venduti su ebay: sono vecchi chip estratti da hardware scartato e i fusibili sono stati impostati e il venditore non si è preoccupato di ripristinare i fusibili.
A volte il chip non è nemmeno un ATMEGA48V-10PU. Potrebbe essere un chip diverso rietichettato. Di solito puoi riconoscere questi falsi osservando attentamente i segni sulla parte superiore e inferiore del chip. È più saggio ottenere il tuo ATMEGA48V-10PU tramite un fornitore affidabile come Mouser o Digikey.
Consigliato:
Come programmare il decodificatore IR per il controllo del motore CA a più velocità: 7 passaggi
Come programmare il decodificatore IR per il controllo del motore CA a più velocità: I motori a corrente alternata monofase si trovano in genere in articoli per la casa come i ventilatori e la loro velocità può essere facilmente controllata quando si utilizza un numero di avvolgimenti discreti per le velocità impostate. In questo Instructable costruiamo un controller digitale che
Come utilizzare il motore passo-passo come encoder rotativo e display OLED per passaggi: 6 passaggi
Come utilizzare il motore passo-passo come encoder rotativo e display OLED per i passaggi: In questo tutorial impareremo come tenere traccia dei passaggi del motore passo-passo sul display OLED. Guarda un video dimostrativo. Il merito del tutorial originale va all'utente di YouTube "sky4fly"
LED lampeggiante con Raspberry Pi - Come utilizzare i pin GPIO su Raspberry Pi: 4 passaggi
LED lampeggiante con Raspberry Pi | Come utilizzare i pin GPIO su Raspberry Pi: Ciao ragazzi in questo tutorial impareremo come utilizzare i GPIO di Raspberry pi. Se hai mai usato Arduino, probabilmente sai che possiamo collegare l'interruttore LED ecc. Ai suoi pin e farlo funzionare come. far lampeggiare il LED o ricevere input dall'interruttore, quindi
Come utilizzare il terminale Mac e come utilizzare le funzioni chiave: 4 passaggi
Come utilizzare il terminale Mac e come utilizzare le funzioni chiave: ti mostreremo come aprire il terminale MAC. Ti mostreremo anche alcune funzionalità all'interno del Terminale, come ifconfig, il cambio di directory, l'accesso ai file e arp. Ifconfig ti permetterà di controllare il tuo indirizzo IP e il tuo annuncio MAC
Come programmare ATMEGA 8, 16, 328 Attiny e Fuse Bit: 5 passaggi
Come programmare ATMEGA 8,16,328 Attiny e Fuse Bit: Ciao amici. Oggi ti mostrerò come programmare ATMEGA 8,16,328 Attiny e Fuse Bit