Taula de continguts:

Com s'utilitzen els pins GPIO i Avrdude d'un Raspberry Pi al programa Bit-bang DIMP 2 o DA PIMP 2: 9 passos
Com s'utilitzen els pins GPIO i Avrdude d'un Raspberry Pi al programa Bit-bang DIMP 2 o DA PIMP 2: 9 passos

Vídeo: Com s'utilitzen els pins GPIO i Avrdude d'un Raspberry Pi al programa Bit-bang DIMP 2 o DA PIMP 2: 9 passos

Vídeo: Com s'utilitzen els pins GPIO i Avrdude d'un Raspberry Pi al programa Bit-bang DIMP 2 o DA PIMP 2: 9 passos
Vídeo: Вздулся аккумулятор 2024, Desembre
Anonim
Com s'utilitzen els pins GPIO i Avrdude d'un Raspberry Pi al programa Bit-bang DIMP 2 o DA PIMP 2
Com s'utilitzen els pins GPIO i Avrdude d'un Raspberry Pi al programa Bit-bang DIMP 2 o DA PIMP 2

Aquestes són instruccions pas a pas sobre com utilitzar un Raspberry Pi i l'ordre lliure de codi obert avrdude per programar bit-bang un DIMP 2 o DA PIMP 2. Suposo que coneixeu el vostre Raspberry Pi i el LINUX línia d'ordres. No cal que estigueu familiaritzat amb la programació de xips AVR, però us ajuda si alguna cosa no funciona perquè podeu llegir la sortida de avrdude i tenir una idea de què fer.

Aquest procediment ha de trigar aproximadament 1 hora la primera vegada i 5 a 10 minuts cada vegada després.

Necessitarà:

1) Un Raspberry Pi amb pins GPIO i font d'alimentació. Estic fent servir un Raspberry Pi Zero W amb pins GPIO soldats. El sistema operatiu ha de ser el sistema operatiu Raspberry Pi (anteriorment Raspbian). Estic fent servir Raspbian Lite (Stretch), que és una mica antic. Aquestes ordres encara haurien de funcionar a la darrera versió del sistema operatiu Raspberry Pi.

En endavant, faré referència al Raspberry Pi com a "RPi".

2) cables de pont femení a femení. Obteniu un de cadascun d’aquests colors: vermell, negre, blau, groc, verd, porpra. Estic fent servir marró en lloc de porpra.

3) Un DIMP 2 o DA PIMP 2 amb la capçalera ICSP opcional de 10 pins soldats. Estic fent servir un DIMP 2 aquí, però les instruccions són les mateixes per al DA PIMP 2.

4) Accés a Internet per a l'RPi perquè pugueu instal·lar l'ordre lliure de codi obert avrdude.

5) Una còpia del fitxer flash.hex per al vostre DIMP 2 o DA PIMP 2. Podeu crear el fitxer.hex a partir del codi font en brut, però no us mostraré com fer-ho aquí.

6) Alguna manera d’iniciar sessió al RPi: utilitzeu una connexió de xarxa o accés directe a la consola. Heu de poder executar-hi ordres.

Pas 1: traieu el cable d'alimentació de CA i traieu la bateria de 9V

En primer lloc, comproveu si el cable d'alimentació de CA està connectat al DIMP 2 o DA PIMP 2 i connectat a la xarxa de CA. Si és així, PERILL: PERILL DE XOC LETAL. Utilitzeu guants de goma i apagueu l’interruptor basculant principal del DIMP 2 o DA PIMP 2. A continuació, desconnecteu el cable d’alimentació de CA de la xarxa de CA i desconnecteu el cable d’alimentació de CA del DIMP 2 o DA PIMP 2. Podeu els guants de goma un cop retirat el cable d'alimentació de CA.

A continuació, traieu la bateria de 9V. El RPi subministrarà energia al DIMP 2 mitjançant els cables vermell (Vcc) i negre (GND). Apagueu l'interruptor lliscant del DIMP 2 o DA PIMP 2 per si de cas.

Pas 2: connecteu els cables del pont

Connecteu els cables del pont
Connecteu els cables del pont
Connecteu els cables del pont
Connecteu els cables del pont
Connecteu els cables del pont
Connecteu els cables del pont
Connecteu els cables del pont
Connecteu els cables del pont

Si el RPi no està engegat, comenceu a connectar els cables del pont. En endavant, els pins GPIO es troben al Raspberry Pi i els pins ICSP al DIMP 2 (capçalera J3) o DA PIMP 2 (capçalera J1).

Consulteu l'esquema que he empedrat i les fotos si esteu perdut.

La part RPi del diagrama prové de pinout.xyz.

La part del diagrama ATMEGA48V-10PU és copyright 2016 Atmel Corp.

Reivindico un ús raonable d’aquests dibuixos a causa dels afegits significatius i transformadors.

El negre passa del pin GPIO 6 al pin 10. ICSP. Això és GND (terra)

El groc passa del pin 12 GPIO al pin 9. ICSP. Això és MISO.

El color verd passa del pin 16 GPIO al pin 1. ICSP. Això és MOSI.

El blau passa del pin 18 GPIO al pin 7. ICSP. Es tracta de SCK o SCLK (SClock)

El morat (marró a les meves fotos) va del pin 32 GPIO al pin 5. ICSP. Això és RESET.

El vermell passa del pin GPIO 4 al pin ICSP 2. Es tracta de Vcc (5V Power)

Pas 3: engegueu el RPi

Ara, endavant i engegueu el RPi. La part del voltímetre de DIMP 2 o DA PIMP 2 també s’hauria d’encendre, però no ho sabreu mirant la pantalla. En cas de dubte, mesureu la tensió amb la sonda vermella al pin 20 de l’ATMEGA48V-10PU i la sonda negra al pin 4, 6 o 8 de la capçalera ICSP. Hauria d’estar al voltant dels 5VDC.

Pas 4: instal·leu Avrdude

Les meves instruccions només mostraran ordres de línia d'ordres. Si teniu una GUI en execució, voldreu obrir un terminal per executar aquestes ordres de línia d'ordres.

Inicieu la sessió com a usuari per defecte pi. La contrasenya per defecte és raspberry

Instal·leu l'ordre avrdude escrivint el següent a l'indicador d'ordres del terminal:

sudo apt-get install avrdude

Pas 5: Editeu el fitxer de configuració Avrdude

Editeu el fitxer de configuració avrdude escrivint:

sudo nano /etc/avrdude.conf

Afegiu aquestes línies al centre del fitxer on hi ha les altres definicions de programador. El que vaig fer és copiar la secció del programador a sobre per a id = "linuxgpio", després enganxar-la just a sota (a la línia 1274) i després editar la nova secció.

programador

id = "pi_1"; desc = "Utilitzeu la interfície sysfs de Linux per a les línies GPIO de bitbang"; type = "linuxgpio"; restabliment = 12; sck = 24; mosi = 23; miso = 18;;

A continuació, deseu el fitxer prement: Ctrl-O

I, a continuació, sortiu de l’editor nano prement: Ctrl-X

Pas 6: baixeu o copieu el fitxer Flash.hex a / home / pi

Copieu el fitxer flash.hex al RPi. Suposo que sabeu fer-ho. SUGGERIMENT: Utilitzeu l'ordre wget, curl, git o scp per baixar el fitxer del web al RPi.

El fitxer.hex de DIMP 2 és aquí, juntament amb el codi font:

github.com/dchang0/dimp2

Aquí hi ha una versió personalitzada del fitxer.hex de DA PIMP 2. No ho he provat.

github.com/jcwren/DaPimp2

Si la versió anterior del fitxer.hex de DA PIMP 2 no funciona, el codi font original de DA PIMP 2 de Mikey Sklar ja és aquí. Vostè haurà de compilar-lo en un fitxer.hex que funcioni. No ho cobreixo en aquestes instruccions perquè serà un tutorial llarg (però no difícil). Vaig programar amb èxit diverses unitats DA PIMP 2 que funcionaven amb aquest codi font:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

O podeu anar a la pàgina principal de DA PIMP 2 aquí i fer clic a l’enllaç al codi font.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Poseu el fitxer.hex en aquest camí i nom de fitxer a l'RPi …

Per al DIMP 2:

/home/pi/dimp2.hex

Per al DA PIMP 2:

/home/pi/da_pimp2.hex

Pas 7: Verifiqueu que Avrdude pugui parlar amb l'ATMEGA48V-10PU

Executeu l'ordre avrdude per assegurar-vos que es pot parlar amb el xip ATMEGA48V-10PU del DIMP 2 o DA PIMP 2.

cd / home / pi

sudo avrdude -c pi_1 -p m48 -v

Obtindreu aproximadament una pàgina de sortida. Mireu el final. Si obteniu una resposta com aquesta, podeu continuar.

avrdude: dispositiu AVR inicialitzat i llest per acceptar instruccions

Lectura | ####################################################### | 100% 0,00

Si no, hi ha alguna cosa que no funciona i hauríeu d’esbrinar-ho. El més probable és que sigui un mal cablatge, però una altra queixa habitual que he vist és que el xip ATMEGA48V-10PU és fals. Sembla que molts d’ells venuts a Amazon o eBay són falsificacions. Els venuts per Mouser o Digikey i altres distribuïdors autoritzats són genuïns.

Pas 8: introduïu el fitxer.hex a l'ATMEGA48V-10PU

Executeu aquesta ordre per fer la programació del xip …

Per al DIMP 2:

cd / home / pi

sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex

Per al DA PIMP 2:

cd / home / pi

sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex

Obtindreu aproximadament una pàgina de sortida. Busqueu aquestes línies:

avrdude: flash d'escriptura (1528 bytes):

Escriptura | ####################################################### | 100% 0,79 s

avrdude: verificant …

avrdude: 1528 bytes de flash avrdude verificat: safemode: Fusibles correctes (E: FF, H: DF, L: 62)

Si arribeu fins aquí, hauríeu de veure la pantalla LED que mostra zero per a la tensió. Si veieu els zeros, ja heu acabat! Si no, passeu al pas següent.

Si veieu els zeros, tanqueu el vostre RPi amb aquesta ordre:

sudo shutdown -h ara

Quan el llum d’alimentació de l’RPi s’apaga (el DIMP 2 o el DA PIMP 2 continuaran encès), podeu desconnectar la font d’alimentació del RPi. A continuació, desconnecteu els cables del pont entre el RPi i el DIMP 2 o DA PIMP 2.

Pas 9: Solució senzilla de problemes si el flaix ha fallat

Si no veieu zeros a la pantalla del DIMP 2 o del DA PIMP 2, és hora de solucionar-los.

De nou, comproveu primer el cablejat.

A continuació, comproveu els estats del fusible que mostra avrdude. És possible que el vostre xip tingués els fusibles configurats a valors diferents dels predeterminats de fàbrica. És possible que el xip hagi de restablir els fusibles, cosa que requereix un dispositiu de maquinari totalment diferent. Aquest és un problema amb molts dels xips ATMEGA48V-10PU falsos que es venen a ebay: són xips vells extrets de maquinari descartat i els fusibles s'han definit i el venedor no es va molestar a restablir-los.

De vegades, el xip no és ni tan sols un ATMEGA48V-10PU. Podria ser un xip diferent etiquetat de nou. Normalment, podeu detectar aquestes falsificacions mirant detingudament les marques de la part superior i inferior del xip. És més intel·ligent aconseguir el vostre ATMEGA48V-10PU a través d’un proveïdor de confiança com Mouser o Digikey.

Recomanat: