Sadržaj:

Kako koristiti Raspberry Pi GPIO pinove i Avrdude za Bit-bang program DIMP 2 ili DA PIMP 2: 9 koraka
Kako koristiti Raspberry Pi GPIO pinove i Avrdude za Bit-bang program DIMP 2 ili DA PIMP 2: 9 koraka

Video: Kako koristiti Raspberry Pi GPIO pinove i Avrdude za Bit-bang program DIMP 2 ili DA PIMP 2: 9 koraka

Video: Kako koristiti Raspberry Pi GPIO pinove i Avrdude za Bit-bang program DIMP 2 ili DA PIMP 2: 9 koraka
Video: Как собрать ПЛК Raspberry Pi Pico || Редактор OpenPLC 2024, Novembar
Anonim
Kako koristiti Raspberry Pi GPIO pinove i Avrdude to Bit-bang program DIMP 2 ili DA PIMP 2
Kako koristiti Raspberry Pi GPIO pinove i Avrdude to Bit-bang program DIMP 2 ili DA PIMP 2

Ovo su korak-po-korak upute o tome kako koristiti Raspberry Pi i besplatnu naredbu otvorenog koda avrdude za bit-bang-program za DIMP 2 ili DA PIMP 2. Pretpostavljam da ste upoznati sa svojim Raspberry Pi i LINUX-om komandna linija. Ne morate biti upoznati s programiranjem AVR čipova, ali pomaže ako nešto pođe po zlu jer možete pročitati izlaz avrdude i imati neku ideju što učiniti.

Ovaj postupak bi trebao trajati oko 1 sat prvi put i 5 do 10 minuta svaki put nakon toga.

Trebat će vam:

1) Raspberry Pi sa GPIO pinovima i napajanjem. Koristim Raspberry Pi Zero W sa zalemljenim GPIO pinovima. OS bi trebao biti Raspberry Pi OS (ranije Raspbian). Koristim Raspbian Lite (Stretch), koji je nekako star. Ove naredbe bi i dalje trebale raditi na najnovijoj verziji Raspberry Pi OS.

Ubuduće ću Raspberry Pi nazivati "RPi".

2) Žice kratkospojnika ženski na ženski. Uzmite jednu od svake od ovih boja: crvenu, crnu, plavu, žutu, zelenu, ljubičastu. Koristim smeđu umjesto ljubičastu.

3) DIMP 2 ili DA PIMP 2 sa opcijskim 10-pinskim ICSP zaglavljem zalemljeno. Ovdje koristim DIMP 2, ali upute su iste za DA PIMP 2.

4) Pristup internetu za RPi tako da možete instalirati besplatnu naredbu otvorenog koda avrdude.

5) Kopija.hex flash datoteke za vaš DIMP 2 ili DA PIMP 2. Možete stvoriti.hex datoteku sami iz sirovog izvornog koda, ali ovdje vam neću pokazati kako to učiniti.

6) Na neki način da se prijavite na RPi-koristite ili mrežnu vezu ili direktni pristup konzoli. Morate biti u mogućnosti da pokrećete komande na njemu.

Korak 1: Uklonite kabel za napajanje izmjeničnom strujom i uklonite 9V bateriju

Prvo provjerite je li kabel za napajanje naizmjeničnom strujom priključen na DIMP 2 ili DA PIMP 2 i je li priključen na električnu mrežu. Ako je tako, OPASNOST: OPASNOST OD LETALNOG UDARA. Nosite gumene rukavice, a zatim isključite glavni prekidač na DIMP 2 ili DA PIMP 2. Zatim odspojite kabel za napajanje naizmjeničnom strujom iz mrežnog napajanja i odvojite kabel za napajanje izmjeničnom strujom od DIMP 2 ili DA PIMP 2. Možete uzeti skinite gumene rukavice nakon što uklonite kabel za napajanje izmjeničnom strujom.

Zatim uklonite 9V bateriju. Napajanje će DIMP -u 2 napajati RPi putem crvene (Vcc) i crne (GND) žice. Za svaki slučaj isključite klizač na DIMP 2 ili DA PIMP 2.

Korak 2: Spojite kratkospojne žice

Spojite kratkospojne žice
Spojite kratkospojne žice
Spojite kratkospojne žice
Spojite kratkospojne žice
Spojite kratkospojne žice
Spojite kratkospojne žice
Spojite kratkospojne žice
Spojite kratkospojne žice

Kad RPi nije uključen, počnite spajati kratkospojnike. Od sada se GPIO pinovi nalaze na Raspberry Pi, a ICSP pinovi na DIMP 2 (zaglavlje J3) ili DA PIMP 2 (zaglavlje J1).

Pogledajte dijagram koji sam sastavio i fotografije ako ste se izgubili.

RPi dio dijagrama je sa pinout.xyz.

Dio dijagrama ATMEGA48V-10PU zaštićen je autorskim pravom 2016 Atmel Corp.

Tvrdim poštenu upotrebu ovih crteža zbog značajnih, transformativnih dodataka.

Crna boja ide od GPIO pina 6 do ICSP pina 10. Ovo je GND (uzemljenje)

Žuta prelazi sa GPIO pin 12 na ICSP pin 9. Ovo je MISO.

Zelena prelazi sa GPIO pina 16 na ICSP pin 1. Ovo je MOSI.

Plava boja ide od GPIO pina 18 do ICSP pina 7. Ovo je SCK ili SCLK (SClock)

Ljubičasta (smeđa na mojim fotografijama) prelazi sa GPIO pina 32 na ICSP pin 5. Ovo je RESET.

Crvena prelazi sa GPIO pin 4 na ICSP pin 2 Ovo je Vcc (napajanje 5V)

Korak 3: Uključite RPi

Sada, samo naprijed i uključite RPi. Dio voltmetra DIMP 2 ili DA PIMP 2 bi se također trebao uključiti, ali to nećete znati gledajući u zaslon. Ako ste u nedoumici, izmjerite napon crvenom sondom na pinu 20 na ATMEGA48V-10PU i crnom sondom na pinovima 4, 6 ili 8 na ICSP zaglavlju. Trebalo bi biti oko 5VDC.

Korak 4: Instalirajte Avrdude

Moje upute prikazuju samo naredbe naredbenog retka. Ako imate pokrenut GUI, poželjet ćete otvoriti terminal za pokretanje ovih naredbi naredbenog retka.

Prijavite se kao zadani korisnik pi. Zadana lozinka je malina

Instalirajte naredbu avrdude upisivanjem sljedećeg u naredbeni redak terminala:

sudo apt-get install avrdude

Korak 5: Uredite konfiguracijsku datoteku Avrdude

Uredite avrdude konfiguracijsku datoteku upisivanjem:

sudo nano /etc/avrdude.conf

Dodajte ove retke u sredinu datoteke gdje se nalaze ostale definicije programera. Ono što sam učinio je kopirao odjeljak programera odmah iznad njega za id = "linuxgpio", zatim ga zalijepio odmah ispod (u liniji 1274), a zatim uredio novi odjeljak.

programer

id = "pi_1"; desc = "Koristite Linux sysfs sučelje za bitbang GPIO linije"; type = "linuxgpio"; reset = 12; sck = 24; mosi = 23; miso = 18;;

Zatim spremite datoteku pritiskom na: Ctrl-O

Zatim zatvorite nano editor pritiskom na: Ctrl-X

Korak 6: Preuzmite ili kopirajte.hex Flash datoteku na /home /pi

Kopirajte.hex flash datoteku u RPi. Pretpostavljam da znate kako to učiniti. SAVET: Pomoću naredbe wget, curl, git ili scp prebacite datoteku s weba na RPi.

DIMP 2.hex datoteka je ovdje, zajedno s izvornim kodom:

github.com/dchang0/dimp2

Ovdje je prilagođena verzija.hex datoteke DA PIMP 2. Ovo nisam testirao!

github.com/jcwren/DaPimp2

Ako gornja verzija.hex datoteke DA PIMP 2 ne radi, izvorni kod Mikeyja Sklara DA PIMP 2 je ovdje. Morat ćete ga sami sastaviti u radnu.hex datoteku. Ne pokrivam to u ovim uputama jer će to biti dugačak (ali ne i težak) vodič. Uspješno sam programirao nekoliko radnih DA PIMP 2 jedinica koristeći ovaj izvorni kod:

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

Ili možete otići na glavnu stranicu DA PIMP 2 ovdje i kliknuti na vezu do izvornog koda.

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

Stavite.hex datoteku na ovu putanju i naziv datoteke na RPi …

Za DIMP 2:

/home/pi/dimp2.hex

Za DA PIMP 2:

/home/pi/da_pimp2.hex

Korak 7: Provjerite može li Avrdude razgovarati s ATMEGA48V-10PU

Pokrenite naredbu avrdude kako biste bili sigurni da može razgovarati s čipom ATMEGA48V-10PU na DIMP 2 ili DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Dobit ćete otprilike stranicu ispisa. Pogledaj kraj. Ako dobijete ovakav odgovor, možete nastaviti.

avrdude: AVR uređaj je inicijaliziran i spreman za prihvaćanje uputa

Čitanje | ################################################# | 100% 0.00s

Ako ne, onda nešto nije u redu i trebali biste to shvatiti. Najvjerojatnije se radi o pogrešnom ožičenju, ali još jedna uobičajena zamjerka koju sam vidio je da je čip ATMEGA48V-10PU lažni. Čini se da su mnogi od njih koji se prodaju na Amazonu ili ebayu lažni. One koje prodaju Mouser ili Digikey i drugi ovlašteni distributeri su originalne.

Korak 8: Prenesite.hex datoteku na ATMEGA48V-10PU

Pokrenite ovu naredbu da biste programirali čip …

Za DIMP 2:

cd /home /pi

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

Za DA PIMP 2:

cd /home /pi

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

Dobit ćete otprilike stranicu ispisa. Potražite ove redove:

avrdude: flash za pisanje (1528 bajtova):

Pisanje | ################################################# | 100% 0.79s

avrdude: provjera…

avrdude: 1528 bajtova potvrđeno blicom avrdude: safemode: Osigurači u redu (E: FF, H: DF, L: 62)

Ako ste stigli dovde, trebali biste vidjeti LED zaslon koji prikazuje nule za napon. Ako vidite nule, gotovi ste! Ako ne, prijeđite na sljedeći korak.

Ako vidite nule, ljubazno isključite svoj RPi s ovom naredbom:

sudo shutdown -h sada

Kad se lampica napajanja na RPi isključi (DIMP 2 ili DA PIMP 2 će i dalje svijetliti), možete isključiti napajanje iz RPi. Zatim isključite žice kratkospojnika između RPi i DIMP 2 ili DA PIMP 2.

Korak 9: Jednostavno rješavanje problema ako blic nije uspio

Ako ne vidite nule na ekranu vašeg DIMP 2 ili DA PIMP 2, vrijeme je za rješavanje problema.

Ponovo prvo provjerite ožičenje.

Zatim provjerite stanja osigurača koja prikazuje avrdude. Moguće je da je vaš čip došao s osiguračima postavljenim na različite vrijednosti od tvornički zadanih. Čipu će možda trebati resetiranje osigurača, što zahtijeva potpuno drugačiji hardverski uređaj. Ovo je problem s mnogim lažnim čipovima ATMEGA48V-10PU koji se prodaju na ebayu-to su stari čipovi izvučeni iz odbačenog hardvera, a osigurači su postavljeni, a prodavač se nije potrudio resetirati osigurače.

Ponekad čip nije ni ATMEGA48V-10PU. To bi mogao biti drugačiji čip s oznakom. Obično ove lažne podatke možete otkriti ako pažljivo pogledate oznake na vrhu i dnu čipa. Pametnije je nabaviti svoj ATMEGA48V-10PU preko pouzdanog dobavljača poput Mousera ili Digikey-a.

Preporučuje se: