Innehållsförteckning:

Hur man använder en Raspberry Pi: s GPIO-stift och Avrdude till Bit-bang-program DIMP 2 eller DA PIMP 2: 9 steg
Hur man använder en Raspberry Pi: s GPIO-stift och Avrdude till Bit-bang-program DIMP 2 eller DA PIMP 2: 9 steg

Video: Hur man använder en Raspberry Pi: s GPIO-stift och Avrdude till Bit-bang-program DIMP 2 eller DA PIMP 2: 9 steg

Video: Hur man använder en Raspberry Pi: s GPIO-stift och Avrdude till Bit-bang-program DIMP 2 eller DA PIMP 2: 9 steg
Video: Как собрать ПЛК Raspberry Pi Pico || Редактор OpenPLC 2024, Juli
Anonim
Hur man använder en Raspberry Pi: s GPIO-stift och Avrdude till Bit-bang-program DIMP 2 eller DA PIMP 2
Hur man använder en Raspberry Pi: s GPIO-stift och Avrdude till Bit-bang-program DIMP 2 eller DA PIMP 2

Det här är steg-för-steg-instruktioner om hur du använder en Raspberry Pi och det fria open-source-kommandot avrdude för att bit-bang-programmera en DIMP 2 eller DA PIMP 2. Jag antar att du är bekant med din Raspberry Pi och LINUX kommandorad. Du behöver inte vara bekant med programmering av AVR -chip, men det hjälper om något går fel eftersom du kan läsa avrdude -utdata och ha en aning om vad du ska göra.

Denna procedur bör ta cirka 1 timme första gången och 5 till 10 minuter varje gång efter.

Du kommer behöva:

1) En Raspberry Pi med GPIO -stift och strömförsörjning. Jag använder en Raspberry Pi Zero W med GPIO -stift lödda på. Operativsystemet bör vara Raspberry Pi OS (tidigare Raspbian). Jag använder Raspbian Lite (Stretch), som är lite gammalt. Dessa kommandon bör fortfarande fungera på den senaste versionen av Raspberry Pi OS.

Framöver kommer jag att hänvisa till Raspberry Pi som "RPi".

2) Kopplingstrådar mellan kvinnor och kvinnor. Få en av var och en av dessa färger: röd, svart, blå, gul, grön, lila. Jag använder brun istället för lila.

3) En DIMP 2 eller DA PIMP 2 med tillvalet 10-polig ICSP-header lödd i. Jag använder en DIMP 2 här, men instruktionerna är desamma för DA PIMP 2.

4) Internetåtkomst för RPi så att du kan installera det fria kommandot avrdude med öppen källkod.

5) En kopia av.hex flash -filen för din DIMP 2 eller DA PIMP 2. Du kan bygga.hex -filen själv från rå källkod, men jag kommer inte att visa dig hur du gör det här.

6) Något sätt att logga in på RPi-använd antingen en nätverksanslutning eller direkt konsolåtkomst. Du måste kunna köra kommandon på den.

Steg 1: Ta bort nätkabeln och ta bort 9V -batteriet

Kontrollera först om nätkabeln är ansluten till DIMP 2 eller DA PIMP 2 och ansluten till nätet. I så fall FARA: FARA FÖR LETHAL STÖD. Använd gummihandskar och stäng sedan av huvudvippströmbrytaren på DIMP 2 eller DA PIMP 2. Dra sedan ut nätsladden från nätströmmen och koppla bort nätsladden från DIMP 2 eller DA PIMP 2. Du kan ta av gummihandskarna när nätkabeln har tagits bort.

Ta sedan bort 9V -batteriet. RPi kommer att leverera ström till DIMP 2 genom de röda (Vcc) och svarta (GND) ledningarna. Vrid skjutreglaget på DIMP 2 eller DA PIMP 2 till avstängd för säkerhets skull.

Steg 2: Anslut bygeln

Anslut bygeln
Anslut bygeln
Anslut bygeln
Anslut bygeln
Anslut bygeln
Anslut bygeln
Anslut bygeln
Anslut bygeln

När RPi inte är påslagen, börja ansluta bygeln. Framöver finns GPIO -stiften på Raspberry Pi och ICSP -stiften finns på DIMP 2 (rubrik J3) eller DA PIMP 2 (rubrik J1).

Se diagrammet som jag kullar ihop och bilderna om du går vilse.

RPi -delen av diagrammet är från pinout.xyz.

ATMEGA48V-10PU-delen av diagrammet är copyright 2016 Atmel Corp.

Jag gör anspråk på rättvis användning av dessa ritningar på grund av de betydande, transformativa tilläggen.

Svart går från GPIO -stift 6 till ICSP -stift 10. Detta är GND (mark)

Gult går från GPIO -stift 12 till ICSP -stift 9. Detta är MISO.

Grönt går från GPIO pin 16 till ICSP pin 1. Detta är MOSI.

Blått går från GPIO -stift 18 till ICSP -stift 7. Detta är SCK eller SCLK (SClock)

Lila (brun på mina bilder) går från GPIO -stift 32 till ICSP -stift 5. Detta är ÅTERSTÄLL.

Rött går från GPIO pin 4 till ICSP pin 2. Detta är Vcc (5V Power)

Steg 3: Slå på RPi

Nu, fortsätt och slå på RPi. Voltmeterdelen av DIMP 2 eller DA PIMP 2 borde också starta, men du vet inte det genom att titta på displayen. Om du är osäker, mät spänningen med den röda sonden vid stift 20 på ATMEGA48V-10PU och den svarta sonden vid stift 4, 6 eller 8 på ICSP-huvudet. Det ska vara runt 5VDC.

Steg 4: Installera Avrdude

Mina instruktioner visar bara kommandorads kommandon. Om du har ett GUI igång, vill du öppna en terminal för att köra dessa kommandoradskommandon.

Logga in som standardanvändar -pi. Standardlösenordet är hallon

Installera avrdude -kommandot genom att skriva följande vid terminalens kommandotolk:

sudo apt-get install avrdude

Steg 5: Redigera Avrdude Config File

Redigera avrdude -konfigurationsfilen genom att skriva:

sudo nano /etc/avrdude.conf

Lägg till dessa rader i mitten av filen där de andra programmeringsdefinitionerna finns. Det jag gjorde är att kopiera programmeringssektionen precis ovanför den för id = "linuxgpio", sedan klistra in den precis nedanför (på rad 1274) och sedan redigera den nya sektionen.

programmerare

id = "pi_1"; desc = "Använd Linux sysfs -gränssnittet för att bitbang GPIO -linjer"; type = "linuxgpio"; återställ = 12; sck = 24; mosi = 23; miso = 18;;

Spara sedan filen genom att trycka på: Ctrl-O

Och avsluta sedan nanoredigeraren genom att trycka på: Ctrl-X

Steg 6: Ladda ner eller kopiera.hex Flash -filen till /home /pi

Kopiera.hex flash -filen till RPi. Jag antar att du vet hur du gör detta. TIPS: Använd kommandot wget, curl, git eller scp för att få ner filen från webben till RPi.

DIMP 2: s.hex -fil finns här, tillsammans med källkoden:

github.com/dchang0/dimp2

En anpassad version av DA PIMP 2: s.hex -fil finns här. Jag har inte testat detta!

github.com/jcwren/DaPimp2

Om ovanstående version av DA PIMP 2: s.hex -fil inte fungerar, finns Mikey Sklars ursprungliga DA PIMP 2 -källkod här. Du måste själv sammanställa den till en fungerande.hex -fil. Jag täcker inte det i dessa instruktioner eftersom det kommer att bli en lång (men inte svår) handledning. Jag har framgångsrikt programmerat flera fungerande DA PIMP 2 -enheter med denna källkod:

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

Eller så kan du gå till huvudsidan DA PIMP 2 här och klicka på länken till källkoden.

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

Sätt.hex -filen på denna sökväg och filnamn på RPi …

För DIMP 2:

/home/pi/dimp2.hex

För DA PIMP 2:

/home/pi/da_pimp2.hex

Steg 7: Kontrollera att Avrdude kan prata med ATMEGA48V-10PU

Kör avrdude-kommandot för att se till att det kan prata med ATMEGA48V-10PU-chipet på DIMP 2 eller DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Du får ungefär en sida med utdata. Se på slutet. Om du får ett svar som detta kan du fortsätta.

avrdude: AVR -enhet initierad och redo att acceptera instruktioner

Läsning | #################################################### | 100% 0,00s

Om inte, är det något som är fel och du bör ta reda på det. Mest troligt är det en felkoppling, men ett annat vanligt klagomål jag har sett är att ATMEGA48V-10PU-chipet är en falsk. Det verkar som att många av dem som säljs på Amazon eller ebay är förfalskningar. De som säljs av Mouser eller Digikey och andra auktoriserade distributörer är äkta.

Steg 8: Flasha.hex-filen till ATMEGA48V-10PU

Kör det här kommandot för att programmera chipet …

För DIMP 2:

cd /home /pi

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

För DA PIMP 2:

cd /home /pi

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

Du får ungefär en sida med utdata. Leta efter dessa rader:

avrdude: skrivande blixt (1528 byte):

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

avrdude: verifierar …

avrdude: 1528 byte med flash verifierad avrdude: safemode: Säkringar OK (E: FF, H: DF, L: 62)

Om du kommit så långt bör du se LED -displayen som visar nollor för spänningen. Om du ser nollorna är du klar! Om inte, gå vidare till nästa steg.

Om du ser nollorna stänger du graciöst av din RPi med det här kommandot:

sudo avstängning -h nu

När strömlampan på RPi släcks (DIMP 2 eller DA PIMP 2 lyser fortfarande) kan du koppla bort strömförsörjningen från RPi. Koppla sedan bort bygeln mellan RPi och DIMP 2 eller DA PIMP 2.

Steg 9: Enkel felsökning om blixten misslyckades

Om du inte ser nollor på skärmen på DIMP 2 eller DA PIMP 2 är det dags att felsöka.

Återigen, kontrollera din ledning först.

Kontrollera sedan säkringstillstånden som visas av avrdude. Det är möjligt att ditt chip kom med säkringarna inställda på andra värden än fabriksinställningarna. Chipet kan behöva återställas, vilket kräver en helt annan hårdvaruenhet. Detta är ett problem med många av de falska ATMEGA48V-10PU-chipsen som säljs på ebay-det är gamla chips som har dragits från kasserad hårdvara och säkringarna har ställts in och säljaren störde inte att återställa säkringarna.

Ibland är chipet inte ens en ATMEGA48V-10PU. Det kan vara ett annat chip som är märkt. Vanligtvis kan du berätta dessa förfalskningar genom att titta noga på markeringarna på toppen och botten av chipet. Det är klokare att få din ATMEGA48V-10PU genom en pålitlig leverantör som Mouser eller Digikey.

Rekommenderad: