Sadržaj:

Kako programirati AVR (arduino) s drugim Arduinom: 7 koraka
Kako programirati AVR (arduino) s drugim Arduinom: 7 koraka

Video: Kako programirati AVR (arduino) s drugim Arduinom: 7 koraka

Video: Kako programirati AVR (arduino) s drugim Arduinom: 7 koraka
Video: Программирование Ардуино с нуля. Arduino для начинающих. 2024, Srpanj
Anonim
Kako programirati AVR (arduino) s drugim Arduinom
Kako programirati AVR (arduino) s drugim Arduinom
Kako programirati AVR (arduino) s drugim Arduinom
Kako programirati AVR (arduino) s drugim Arduinom
Kako programirati AVR (arduino) s drugim Arduinom
Kako programirati AVR (arduino) s drugim Arduinom

Ove upute su korisne ako:

* Imate svoj arduino s atmega168 i kupili ste atmega328 u lokalnoj trgovini elektronike. Nema arduino bootloader * za koji želite napraviti projekt koji ne koristi arduino - samo običan AVR čip (poput USBTinyISP -a) - imate čist attiny2313/attiny48 itd. Na koji želite snimiti firmver. Obično biste za programiranje svog novog čipa morali imati ISP -a (u sistemskom programeru) poput USBTinyISP -a. Imajući arduino, možete ga naučiti da bude programer zahvaljujući sjajnom poslu koji je obavio Randall Bohn. On je stvorio Mega -ISP - arduino skicu koja radi poput programera.

Korak 1: Što vam treba?

Što trebaš ?
Što trebaš ?

* radni Arduino (ili klon - koristim BBB - BareBonesBoard i RBBB - RealBareBonesBoard by ModernDevices) * čip koji želite programirati (testirano s atmega8, atmega168, atmega368, attiny2313, attiny13) * ploču ili ploča s ISP zaglavljem * 3 LED diode + 3 otpornika * žice za matičnu ploču

Korak 2: Izrada Mega-isp programera na pločici

Izrada Mega-isp programera na pločici
Izrada Mega-isp programera na pločici
Izrada Mega-isp programera na pločici
Izrada Mega-isp programera na pločici
Izrada Mega-isp programera na pločici
Izrada Mega-isp programera na pločici

Postoje dva načina povezivanja vašeg Arduina za programiranje čipa.

Možete priključiti svoj avr čip na matičnu ploču i spojiti 5v i GND na odgovarajuće pinove (provjerite podatkovnu tablicu!) + Otpornik za povlačenje za resetiranje i povezivanje pinova s vašeg arduina na čip. Ovo su linije na Arduinu i njihova funkcija 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Reset) Ili možete napraviti 2x3pin ISP zaglavlje koje možete priključiti na ploču koja pruža jednu (drugu arduino ploču). Ispis zaglavlja ISP -a nalazi se na trećoj slici. Postoje 3 LED diode za označavanje statusa programera. pin 9 - plava LED dioda - to je zvuk programera. pin 8 - crveni LED - označava grešku pin 7 - green led - označava da se programiranje odvija (bio sam lijen pa nisam odgovarao bojama u postavkama) Ovdje su crteži napravljeni u Fritzingu Također možete napraviti MEGA-isp štit. Yaroslav Osadchyy dizajnirao je štit u orlu. Datoteke orla možete pronaći na njegovoj web stranici:

Korak 3: Prijenos skice

Učitavanje skice
Učitavanje skice

Preuzmite skicu s mega-isp google koda. (Avrisp.03.zip u vrijeme pisanja). Raspakirajte ga i pokrenite arduino ide te otvorite avrisp.pde. Prenesite ga na svoju arduino ploču. LED otkucaja srca trebao bi početi kucati.

Korak 4: Korištenje s Avrdudeom

Korištenje s Avrdudeom
Korištenje s Avrdudeom

Za upotrebu s avrdudeom (i svim grafičkim sučeljima koja ga koriste) morate odabrati programer 'avrisp'. najsigurniji bitrate je 19200.

Da biste testirali svoj novi atmega168 iz naredbenog retka, pokušajte: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 je port koji je arduino spojen na moj linux box (vaš je možda com5). To se može provjeriti u arduino IDE -u u Alati -> Serijski port. Trebali biste dobiti: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR uređaj inicijaliziran i spreman za prihvaćanje uputa Čitanje | ################################################# | 100% 0,13 s avrdude: Potpis uređaja = 0x1e9406 avrdude: safemode: Osigurači OK avrdude učinjeno. Hvala vam. To znači da je sve u redu. Ako dobijete pogreške - provjerite zadnji korak.

Korak 5: Snimanje USBtinyISP firmvera na Attiny2313

Snimanje USBtinyISP firmvera na ATtiny2313
Snimanje USBtinyISP firmvera na ATtiny2313
Snimanje USBtinyISP firmvera na ATtiny2313
Snimanje USBtinyISP firmvera na ATtiny2313
Snimanje USBtinyISP firmvera na ATtiny2313
Snimanje USBtinyISP firmvera na ATtiny2313

USBTinyISP je izvrstan programer iz LadyAde koji je jako jeftin - 22 USD. Imao sam rezervni attiny2313 i neke dijelove pa sam ih odlučio napraviti sam. Ako nemate iskustva u izradi PCB -a, savjetujem vam da kupite komplet jer je kvalitetniji nego što ga možete sami izraditi:). Barem kupite PCB ako ga želite izgraditi. Možete ga nabaviti od Adafruit -a. Povežite ATtiny2313Na posljednjoj slici možete vidjeti attiny2313 s pinovima koji se koriste za ISP -a u crvenoj boji. Slika je iz vodiča LadyAda avr. Snimanje firmvera: Raspakirajte firmver USBTinyISP. Idite na spi dir i pokrenite $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 da provjerite je li sve u redu s čipom. Sada postavite osigurače: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Sada biste trebali priključiti vanjski oscilator od 12 MHz na čip. I narežite firmver: $ avrdude -B 1 -pt2313 -U bljesak: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Vaš attiny2313 ima firmver USBTinyISP.

Korak 6: Paljenje Arduino Bootloader -a

Paljenje Arduino Bootloader -a
Paljenje Arduino Bootloader -a
Paljenje Arduino Bootloader -a
Paljenje Arduino Bootloader -a
Paljenje Arduino Bootloader -a
Paljenje Arduino Bootloader -a

SpajanjeIzvadio sam malo jer sam upotrijebio RBBB da pojednostavim veze. Shema je na slici #2. Ako koristite 2 arduina, upotrijebite sliku #3 i spojite ISP pin na ICSP 2x3glavlje na drugom (slave) arduinu. Samo priključite USB napajanje na prvu ploču. Način GUI-a Ovo je malo zeznuto jer ne možete samo koristiti Tools-> Burn Bootloader-> w/ AVR ISP jer je zadana brzina prevelika za mega-isp. Pronađite avrdude.conf koji dolazi s arduino IDE -om (u arduino/hardware/tools/avrdude.conf) i promijenite ograničenje za programer avrisp sa 115200 na 19200 (oko retka 312) Pronađite i promijenite u avrdude.conf programer id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # zadano je 115200 type = stk500;; do: programer id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # zadano je 115200 type = stk500;; Sada možete koristiti Alati -> Burn Bootloader -> w/AVR ISP (nakon što odaberete odgovarajuću ploču s izbornika Alati) Commanline Također možete koristiti naredbeni redak: Uredi arduino/hardware/bootloaders/atmega/Makefile i promijeni ISPTOOL/PORT /SPEED to: # unesite parametre alata avrdude isp ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 ne možete napisati $ make diecimila_isp za spaljivanje osigurača i pokretačkog programa. Test Sada spojite novi arduino na USB i spali trepćući!

Korak 7: Rješavanje problema

Rješavanje problema
Rješavanje problema

Pogreške Avrdude: avrdude: ser_open (): ne može otvoriti uređaj "/dev/ttyUSB0": Nema takve datoteke ili imenika Naveli ste pogrešan port (-P) ili vaš arduino nije povezan. provjerite vezu avrdude: Potpis uređaja = 0x000000 avrdude: Svaka čast! Nevažeći potpis uređaja. Dvaput provjerite veze i pokušajte ponovno ili upotrijebite -F za poništavanje ove provjere. Ovo je vrsta opće pogreške. Vaš čip nije prepoznat. Provjerite vezu na ploči (GND/5V spojeno na pinove?) Dobit ćete ovu pogrešku kada je vaš čip konfiguriran za korištenje vanjskog oscilatora i ne radi (nema ga ili ne oscilira pravilno - 22pf kape nedostaje?)

Preporučeni: