Kazalo:
Video: Kako programirati AVR (arduino) z drugim Arduinom: 7 korakov
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Ta navodila so uporabna, če:
* Arduino imate pri atmega168 in atmega328 ste kupili v lokalni trgovini z elektroniko. Nima zagonskega nalagalnika arduino *, za katerega želite narediti projekt, ki ne uporablja arduina - samo običajen čip AVR (na primer USBTinyISP) - imate čist attiny2313/attiny48 itd., Na katerega želite zapisati vdelano programsko opremo. Običajno bi morali imeti za programiranje novega čipa ponudnika internetnih storitev (v sistemskem programerju), kot je USBTinyISP. Ob arduinu ga lahko naučite, da je programer, zahvaljujoč odličnemu delu, ki ga je opravil Randall Bohn. Ustvaril je Mega -ISP - arduino skico, ki deluje kot programer.
1. korak: Kaj potrebujete?
* delujoč Arduino (ali klon - uporabljam BBB - BareBonesBoard in RBBB - RealBareBonesBoard podjetja ModernDevices) * čip, ki ga želite programirati (preizkušeno z atmega8, atmega168, atmega368, attiny2313, attiny13) * ploščo oz. plošča z ISP glavo * 3 LED + 3 upori * žice za mizo
2. korak: Ustvarjanje programerja Mega-isp na ploščici
Arduino lahko programirate na dva načina.
Svoj avr čip lahko priključite na ploščo in priključite 5v in GND na ustrezne zatiče (preverite podatkovni list!) + Uporni upor za ponastavitev in priključite zatiče od vašega arduina do čipa. To so vrstice na Arduinu in njihova funkcija 13 - SCK 12 - MISO 11 - MOSI 10 - RST (ponastavitev) Ali pa lahko naredite glavo ISP 2x3pin, ki jo lahko priključite na ploščo, ki ponuja eno (drugo arduino ploščo). Izpis za glavo ponudnika internetnih storitev je na tretji sliki. Tri lučke označujejo status programerja. nožica 9 - modra LED - to je zvok programerja. pin 8 - rdeča led - označuje napako pin 7 - green led - označuje, da programiranje poteka (bil sem len, zato se nisem ujemal z barvami v nastavitvah) Tu so risbe, narejene v Fritzingu. Ščit MEGA-isp. Yaroslav Osadchyy je ščit oblikoval v orlu. Datoteke eagle lahko dobite na njegovi spletni strani:
3. korak: nalaganje skice
Skico prenesite iz google kode mega-isp. (Avrisp.03.zip v času pisanja). Razpakirajte ga in zaženite arduino ide ter odprite avrisp.pde. Naložite ga na svojo arduino ploščo. Srčni utrip naj bi začel utripati.
4. korak: Uporaba z Avrdude
Za uporabo z avrdude (in vsemi grafičnimi vmesniki, ki ga uporabljajo) morate izbrati programer 'avrisp'. najvarnejša bitna hitrost je 19200.
Če želite preizkusiti svoj novi atmega168 iz ukazne vrstice, poskusite: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 so vrata, ki jih je arduino povezan z mojo linux box (vaša je lahko com5). To lahko preverite v arduino IDE v Orodja -> Serijska vrata. Morali bi dobiti: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR naprava inicializirana in pripravljena sprejeti navodila Branje | ################################################# | 100% 0,13 s avrdude: podpis naprave = 0x1e9406 avrdude: safemode: varovalke OK avrdude narejeno. Hvala vam. To pomeni, da je vse v redu. Če se prikažejo napake - preverite zadnji korak.
5. korak: zapisovanje vdelane programske opreme USBtinyISP na Attiny2313
USBTinyISP je odličen programer iz LadyAda, ki je res poceni - 22 USD. Imel sem rezervni attiny2313 in nekaj delov, zato sem se odločil, da ga naredim sam. Če nimate izkušenj pri izdelavi PCB -ja, svetujem, da kupite komplet, ker je boljši, kot ga lahko naredite sami:). Vsaj kupite tiskano vezje, če ga želite zgraditi. Dobite ga pri Adafruit. Priključite ATtiny2313 Na zadnji sliki lahko vidite attiny2313 z zatiči, ki se uporabljajo za ponudnika internetnih storitev, v rdeči barvi. Slika je iz vadnice LadyAda avr. Zapisovanje vdelane programske opreme: Razpakirajte vdelano programsko opremo USBTinyISP. Pojdite na spi dir in zaženite $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200, da preverite, ali je s čipom vse v redu. Zdaj nastavite varovalke: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Zdaj morate na čip priključiti zunanji oscilator 12 mhz. In zažgite vdelano programsko opremo: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Vaš attiny2313 ima vdelano programsko opremo USBTinyISP.
6. korak: zapisovanje zagonskega nalagalnika Arduino
Malo sem goljufal, ker sem za poenostavitev povezav uporabil RBBB. Shema je na sliki 2. Če uporabljate 2 arduina, uporabite sliko #3 in priključite ISP pin na ICSP 2x3header na drugem (podrejenem) arduinu. Na prvo ploščo priključite samo napajanje USB. Način grafičnega vmesnika To je malo težavno, ker ne morete uporabiti samo Orodja-> Zapiši zagonski nalagalnik-> w/ AVR ISP, ker je privzeta hitrost prevelika za mega-isp. Poiščite avrdude.conf, ki je priložen arduino IDE (v arduino/hardware/tools/avrdude.conf) in spremenite mejno vrednost za programerja avrisp iz 115200 na 19200 (okoli vrstice 312) Poiščite in spremenite v avrdude.conf programer id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # privzeto je 115200 type = stk500;; do: programer id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # privzeto je 115200 type = stk500;; Zdaj lahko uporabite Tools -> Burn Bootloader -> w/AVR ISP (ko izberete ustrezno ploščo v meniju Tools) Commanline Uporabite lahko tudi ukazno vrstico: Edit arduino/hardware/bootloaders/atmega/Makefile in spremenite ISPTOOL/PORT /SPEED za: # vnesite parametre za orodje avrdude isp ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 ne, lahko napišete $ make diecimila_isp za zapisovanje varovalk in zagonskega nalagalnika. Test Zdaj povežite nov arduino z USB in spali utripajoče!
7. korak: Odpravljanje težav
Napake Avrdude: avrdude: ser_open (): ni mogoče odpreti naprave "/dev/ttyUSB0": Taka datoteka ali imenik ni. Navedena so napačna vrata (-P) ali vaš arduino ni povezan. preverite povezavo avrdude: podpis naprave = 0x000000 avrdude: Ja! Neveljaven podpis naprave. Dvakrat preverite povezave in poskusite znova ali uporabite -F, da preglasite to preverjanje. To je nekakšna splošna napaka. Vaš čip ni prepoznan. Preverite povezavo na plošči (GND/5V priključeno na zatiče?) To napako boste dobili, ko je vaš čip nastavljen za uporabo zunanjega oscilatorja in ne deluje (ni ga ali ni pravilno nihajoč - 22pf kape manjka?)