Obsah:

Ako naprogramovať AVR (arduino) pomocou iného Arduina: 7 krokov
Ako naprogramovať AVR (arduino) pomocou iného Arduina: 7 krokov

Video: Ako naprogramovať AVR (arduino) pomocou iného Arduina: 7 krokov

Video: Ako naprogramovať AVR (arduino) pomocou iného Arduina: 7 krokov
Video: LDmicro 21: настройка режима C и Arduino Mega (программирование микроконтроллера с помощью LDmicro) 2024, November
Anonim
Ako naprogramovať AVR (arduino) s iným Arduinom
Ako naprogramovať AVR (arduino) s iným Arduinom
Ako naprogramovať AVR (arduino) s iným Arduinom
Ako naprogramovať AVR (arduino) s iným Arduinom
Ako naprogramovať AVR (arduino) s iným Arduinom
Ako naprogramovať AVR (arduino) s iným Arduinom

Tento návod je užitočný, ak:

* Máte arduino s atmega168 a kúpili ste si atmega328 vo svojom miestnom obchode s elektronikou. Nemá arduino bootloader * chcete vytvoriť projekt, ktorý nepoužíva arduino - len obyčajný AVR čip (ako USBTinyISP) - máte čistý attiny2313/attiny48 atď., Na ktorý chcete napáliť firmvér. Na naprogramovanie vášho nového čipu by ste normálne museli mať ISP (v systémovom programátore) ako USBTinyISP. Mať arduino, môžete ho naučiť byť programátorom vďaka skvelej práci, ktorú vykonal Randall Bohn. Vytvoril Mega -ISP - arduino skicu, ktorá funguje ako programátor.

Krok 1: Čo potrebujete?

Čo potrebuješ ?
Čo potrebuješ ?

* funkčné Arduino (alebo klon - používam BBB - BareBonesBoard a RBBB - RealBareBonesBoard od ModernDevices) * čip, ktorý chcete naprogramovať (testované s atmega8, atmega168, atmega368, attiny2313, attiny13) * prkénko alebo doska so záhlavím ISP * 3 led + 3 odpory * káble do dosky

Krok 2: Vytvorenie programátora Mega-isp na Breadboard

Výroba programátora Mega-ISP na Breadboarde
Výroba programátora Mega-ISP na Breadboarde
Výroba programátora z Mega-ISP na Breadboarde
Výroba programátora z Mega-ISP na Breadboarde
Výroba programátora z Mega-ISP na Breadboarde
Výroba programátora z Mega-ISP na Breadboarde

Existujú dva spôsoby, ako pripojiť Arduino k programovaniu čipu.

Môžete pripojiť svoj avr čip na nepájivú dosku a pripojiť 5v a GND k príslušným kolíkom (pozrite si technický list!) + Vyťahovací odpor pre reset a zapojte kolíky od vás arduino k čipu. Toto sú riadky na Arduine a ich funkcia 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Reset) Alebo si môžete vyrobiť 2x3pin ISP záhlavie, ktoré môžete zapojiť do dosky, ktorá ho poskytuje (iná arduino doska). Vývod pre hlavičku ISP je na treťom obrázku K dispozícii sú 3 LED diódy, ktoré indikujú stav programátora. kolík 9 - modrá dióda LED - je to počutie programátora. pin 8 - červená LED - indikuje chybu pin 7 - zelená LED - indikuje, že prebieha programovanie (bol som lenivý, takže som nezodpovedal farbám v mojom nastavení) Tu sú výkresy vyrobené vo Fritzingu Môžete tiež vytvoriť Štít MEGA-isp. Jaroslav Osadchyy navrhol štít v orle. Súbory orla môžete získať na jeho webe:

Krok 3: Odovzdanie náčrtu

Odovzdávanie náčrtu
Odovzdávanie náčrtu

Stiahnite si náčrt z kódu Google Mega-ISP. (Avrisp.03.zip v čase písania článku). Rozbaľte ho a spustite arduino ide a otvorte avrisp.pde. Nahrajte ho na svoju dosku arduino. Kontrolka srdcového tepu by mala začať biť.

Krok 4: Používanie s Avrdude

Použitie s Avrdude
Použitie s Avrdude

Ak chcete používať program avrdude (a všetky grafické rozhrania, ktoré ho používajú), musíte vybrať programátor „avrisp“. najbezpečnejší bitrate je 19200.

Ak chcete otestovať svoj nový atmega168 z príkazového riadku, vyskúšajte: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 je port, ku ktorému je arduino pripojené k môjmu linuxovému boxu (váš môže byť com5). Toto je možné skontrolovať v arduino IDE v ponuke Nástroje -> Sériový port. Mali by ste dostať: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: Zariadenie AVR bolo inicializované a pripravené prijať pokyny Čítanie | ######################################################################################################################################################################### | 100% 0.13s avrdude: Device signature = 0x1e9406 avrdude: safemode: Fuses OK avrdude done. Ďakujem. To znamená, že je všetko v poriadku. Ak sa vám zobrazia chyby - skontrolujte posledný krok.

Krok 5: Napálenie firmvéru USBtinyISP na Attiny2313

Napaľovanie firmvéru USBtinyISP na Attiny2313
Napaľovanie firmvéru USBtinyISP na Attiny2313
Napaľovanie firmvéru USBtinyISP na Attiny2313
Napaľovanie firmvéru USBtinyISP na Attiny2313
Napaľovanie firmvéru USBtinyISP na Attiny2313
Napaľovanie firmvéru USBtinyISP na Attiny2313

USBTinyISP je vynikajúci programátor od LadyAda, ktorý je skutočne lacný - 22 $. Mal som náhradný attiny2313 a niektoré diely, a tak som sa rozhodol, že si ich vyrobím sám. Ak nemáte skúsenosti s výrobou DPS, odporúčam vám kúpiť súpravu, pretože je kvalitnejšia, ako si môžete vyrobiť sami:). Ak si ju chcete postaviť, kúpte si aspoň DPS. Môžete ho získať od spoločnosti Adafruit. Pripojte ATtiny2313Na poslednom obrázku môžete vidieť attiny2313 s kolíkmi použitými pre ISP v červenej farbe. Obrázok je z tutoriálu LadyAda avr. Napaľovanie firmvéru: Rozbaľte firmvér USBTinyISP. Choďte na spi dir a spustite $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 a skontrolujte, či je s čipom všetko v poriadku. Teraz nastavte poistky: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Teraz by ste k čipu mali pripojiť 12 MHz externý oscilátor. A napaľujte firmvér: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Váš attiny2313 má firmvér USBTinyISP.

Krok 6: Napálenie bootloadera Arduino

Napaľovanie bootloadera Arduino
Napaľovanie bootloadera Arduino
Napaľovanie bootloadera Arduino
Napaľovanie bootloadera Arduino
Napaľovanie bootloadera Arduino
Napaľovanie bootloadera Arduino

Pripojenie Trochu som podviedol, pretože som na zjednodušenie pripojení použil RBBB. Schéma je na obrázku č. 2. Ak používate 2 Arduino, použite obrázok č. 3 a pripojte pin ISP k záhlaviu ICSP 2x3 na druhom (podradenom) arduino. K prvej doske pripojte iba USB napájanie. Spôsob GUI Je to trochu ošemetné, pretože nemôžete použiť iba Nástroje-> Napáliť bootloader-> s AVR ISP, pretože predvolená rýchlosť je pre mega-ISP príliš veľká. Nájdite avrdude.conf, ktorý je dodávaný s arduino IDE (v arduino/hardware/tools/avrdude.conf) a zmeňte hranicu pre avrisp programátor z 115200 na 19200 (okolo riadku 312) Nájdite a zmeňte v avrdude.conf programátor id = "avrisp"; desc = "Atmel AVR ISP"; prenosová rýchlosť = 115200; # predvolená hodnota je 115200 typ = stk500;; pre: programátor id = "avrisp"; desc = "Atmel AVR ISP"; prenosová rýchlosť = 19200; # predvolená hodnota je 115200 typ = stk500;; Teraz môžete použiť Nástroje -> Burn Bootloader -> w/AVR ISP (po zvolení správnej dosky z ponuky Tools) Commanline Môžete tiež použiť príkazový riadok: Edit arduino/hardware/bootloaders/atmega/Makefile a zmeniť ISPTOOL/PORT /RÝCHLOSŤ: # zadajte parametre pre nástroj avrdude isp ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 nie, môžete napísať $ make diecimila_isp na spálenie poistiek a bootloadera. Test Teraz pripojte nové arduino k USB a spáliť bliny!

Krok 7: Riešenie problémov

Riešenie problémov
Riešenie problémov

Chyby Avrdude: avrdude: ser_open (): nemožno otvoriť zariadenie "/dev/ttyUSB0": Žiadny takýto súbor alebo adresár Nemáte zadaný nesprávny port (-P) alebo vaše arduino nie je pripojené. skontrolujte pripojenie avrdude: Podpis zariadenia = 0x000000 priemer: Fuj! Neplatný podpis zariadenia. Dôkladne skontrolujte pripojenia a skúste to znova alebo pomocou -F túto kontrolu prepíšte. Toto je druh všeobecnej chyby. Váš čip nebol rozpoznaný. Skontrolujte pripojenie na doske (GND/5V pripojený k pinom?) K tejto chybe dôjde, keď je váš čip nakonfigurovaný na používanie externého oscilátora a nefunguje (žiadny neexistuje alebo nekmitá správne - 22 pf čiapok chýba?)

Odporúča: