Satura rādītājs:

Kā ieprogrammēt AVR (arduino) ar citu Arduino: 7 soļi
Kā ieprogrammēt AVR (arduino) ar citu Arduino: 7 soļi

Video: Kā ieprogrammēt AVR (arduino) ar citu Arduino: 7 soļi

Video: Kā ieprogrammēt AVR (arduino) ar citu Arduino: 7 soļi
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Novembris
Anonim
Kā ieprogrammēt AVR (arduino) ar citu Arduino
Kā ieprogrammēt AVR (arduino) ar citu Arduino
Kā ieprogrammēt AVR (arduino) ar citu Arduino
Kā ieprogrammēt AVR (arduino) ar citu Arduino
Kā ieprogrammēt AVR (arduino) ar citu Arduino
Kā ieprogrammēt AVR (arduino) ar citu Arduino

Šī instrukcija ir noderīga, ja:

* jums ir jūsu arduino ar atmega168 un jūs iegādājāties atmega328 vietējā elektronikas veikalā. Tam nav arduino sāknēšanas ielādētāja *, kuru vēlaties izveidot projektā, kurā netiek izmantots arduino - tikai parasta AVR mikroshēma (piemēram, USBTinyISP) - jums ir tīrs attiny2313/attiny48 utt., Kurā vēlaties ierakstīt programmaparatūru. Parasti, lai ieprogrammētu jauno mikroshēmu, jums ir jābūt ISP (sistēmas programmētājam), piemēram, USBTinyISP. Ņemot arduino, jūs varat iemācīt to būt programmētājam, pateicoties lieliskajam Randall Bohn paveiktajam darbam. Viņš izveidoja Mega -ISP - arduino skici, kas darbojas kā programmētājs.

1. darbība. Kas jums nepieciešams?

Ko tev vajag ?
Ko tev vajag ?

* strādājošs Arduino (vai klons - es izmantoju BBB - BareBonesBoard un RBBB - RealBareBonesBoard by ModernDevices) * mikroshēma, kuru vēlaties programmēt (pārbaudīta ar atmega8, atmega168, atmega368, attiny2313, attiny13) * maizes dēlis vai tāfele ar ISP galveni * 3 gaismas diodes + 3 rezistori * maizes dēļa vadi

2. solis: izveidojiet Mega-ISP programmētāju uz maizes dēļa

Mega-ISP programmētāja izgatavošana uz maizes dēļa
Mega-ISP programmētāja izgatavošana uz maizes dēļa
Mega-ISP programmētāja izgatavošana uz maizes dēļa
Mega-ISP programmētāja izgatavošana uz maizes dēļa
Mega-ISP programmētāja izgatavošana uz maizes dēļa
Mega-ISP programmētāja izgatavošana uz maizes dēļa

Ir divi veidi, kā savienot savu Arduino, lai ieprogrammētu mikroshēmu.

Jūs varat savienot savu avr mikroshēmu ar maizes dēli un savienot 5v un GND ar attiecīgajām tapām (pārbaudiet datu lapu!) + Pievilkšanas rezistoru, lai atiestatītu un pieslēgtu tapas no jūsu arduino mikroshēmai. Šīs ir līnijas Arduino un to funkcija 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Atiestatīt) Vai arī varat izveidot 2x3pinu ISP galveni, kuru varat pieslēgt pie tāfeles, kas nodrošina vienu (citu arduino plati). Interneta pakalpojumu sniedzēja galvenes pieslēgvieta atrodas trešajā attēlā. Ir 3 gaismas diodes, kas norāda programmētāja statusu. 9. tapa - zils LED - tā ir programmētāja apsilde. 8. tapa - sarkana gaismas diode - norāda kļūdu 7. tapa - zaļa gaismas diode - norāda, ka notiek programmēšana (es biju slinks, tāpēc neatbildu krāsām manā iestatījumā) Šeit ir rasējumi, kas veikti Fritzing programmā. Varat arī izveidot MEGA-isp vairogs. Jaroslavs Osadchyy veidoja ērgļa vairogu. Ērgļa failus varat iegūt viņa vietnē:

3. darbība: skices augšupielāde

Notiek skices augšupielāde
Notiek skices augšupielāde

Lejupielādējiet skici no mega-isp google koda. (Avrisp.03.zip rakstīšanas laikā). Izsaiņojiet to un palaidiet arduino ide un atveriet avrisp.pde. Augšupielādējiet to savā arduino panelī. Sirdsdarbības vadībai vajadzētu sākt pukstēt.

4. darbība: lietošana kopā ar Avrdude

Izmantojot ar Avrdude
Izmantojot ar Avrdude

Lai izmantotu ar avrdude (un visiem GUI, kas to izmanto), jums jāizvēlas “avrisp” programmētājs. drošākais bitu pārraides ātrums ir 19200.

Lai pārbaudītu savu jauno atmega168 no komandrindas, izmēģiniet: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 ir ports, kurā arduino ir savienots ar manu Linux kastīti (jūsu var būt com5). To var pārbaudīt arduino IDE sadaļā Rīki -> Sērijas ports. Jums vajadzētu saņemt: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR ierīce ir inicializēta un gatava pieņemt instrukcijas Lasīšana | ################################################ | 100% 0.13s avrdude: ierīces paraksts = 0x1e9406 avrdude: drošs režīms: drošinātāji OK avrdude done. Paldies. Tas nozīmē, ka viss ir kārtībā. Ja rodas kļūdas - pārbaudiet pēdējo darbību.

5. darbība. USBtinyISP programmaparatūras ierakstīšana Attiny2313

USBtinyISP programmaparatūras ierakstīšana Attiny2313
USBtinyISP programmaparatūras ierakstīšana Attiny2313
USBtinyISP programmaparatūras ierakstīšana Attiny2313
USBtinyISP programmaparatūras ierakstīšana Attiny2313
USBtinyISP programmaparatūras ierakstīšana Attiny2313
USBtinyISP programmaparatūras ierakstīšana Attiny2313

USBTinyISP ir lielisks LadyAda programmētājs, kas ir patiešām lēts - 22 USD. Man bija rezerves attiny2313 un dažas detaļas, tāpēc es nolēmu to izgatavot pats. Ja jums nav nekādas pieredzes PCB i padomu gatavošanā, iegādājieties komplektu, jo tas ir augstākas kvalitātes nekā jūs varat izgatavot pats:). Vismaz iegādājieties PCB, ja vēlaties to izveidot. Jūs to varat iegūt no Adafruit. Pievienojiet ATtiny2313. Pēdējā attēlā jūs varat redzēt attiny2313 ar sarkanā krāsā ISP izmantotajām tapām. Attēls ir no LadyAda avr apmācības. Programmaparatūras ierakstīšana: izpakojiet USBTinyISP programmaparatūru. Dodieties uz spi dir un palaidiet $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200, lai pārbaudītu, vai viss ir kārtībā ar mikroshēmu. Tagad iestatiet drošinātājus: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Tagad mikroshēmai jāpievieno 12 MHz ārējais oscilators. Un ierakstiet programmaparatūru: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Jūsu attiny2313 ir USBTinyISP programmaparatūra.

6. darbība: sadedziniet Arduino sāknēšanas programmu

Arduino sāknēšanas ielādēšana
Arduino sāknēšanas ielādēšana
Arduino sāknēšanas ielādēšana
Arduino sāknēšanas ielādēšana
Arduino sāknēšanas ielādēšana
Arduino sāknēšanas ielādēšana

Es mazliet krāpjos, jo es izmantoju RBBB, lai vienkāršotu savienojumus. Shēma ir redzama 2. attēlā. Ja izmantojat 2 arduinos, izmantojiet attēlu #3 un pievienojiet ISP tapu pie ICSP 2x3header otrā (verga) arduino. Pievienojiet tikai USB barošanu pirmajai plāksnei. GUI veids Tas ir nedaudz sarežģīts, jo jūs nevarat vienkārši izmantot Tools-> Burn Bootloader-> w/ AVR ISP, jo noklusējuma ātrums ir pārāk liels mega-ISP. Atrodiet avrdude.conf, kas nāk ar arduino IDE (arduino/hardware/tools/avrdude.conf), un mainiet avrisp programmētāja robežu no 115200 līdz 19200 (ap 312. rindu) Atrodiet un mainiet avrdude.conf programmer id = "avrisp"; desc = "Atmel AVR ISP"; bodu pārraides ātrums = 115200; # noklusējums ir 115200 tips = stk500;; to: programmētājs id = "avrisp"; desc = "Atmel AVR ISP"; bodu pārraides ātrums = 19200; # noklusējums ir 115200 tips = stk500;; Tagad varat izmantot Rīki -> Ierakstīt sāknēšanas ielādētāju -> w/AVR ISP (pēc tam, kad izvēlnē Rīki esat izvēlējies pareizo dēli) Komandrinda Varat izmantot arī komandrindu: Rediģēt arduino/hardware/bootloaders/atmega/Makefile un mainīt ISPTOOL/PORT /SPEED to: # ievadiet avrdude ISP rīka parametrus ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 nē, jūs varat rakstīt $ make diecimila_isp, lai sadedzinātu drošinātājus un sāknēšanas ielādētāju. Tests Tagad pievienojiet jaunu arduino USB un dedziniet mirgojošo!

7. darbība: problēmu novēršana

Traucējummeklēšana
Traucējummeklēšana

Avrdude kļūdas: avrdude: ser_open (): nevar atvērt ierīci "/dev/ttyUSB0": nav šāda faila vai direktorija Jums ir norādīts nepareizs ports (-P) vai jūsu arduino nav pievienots. pārbaudiet savienojumu avrdude: ierīces paraksts = 0x000000 avrdude: Yikes! Nederīgs ierīces paraksts. Vēlreiz pārbaudiet savienojumus un mēģiniet vēlreiz, vai arī izmantojiet -F, lai ignorētu šo pārbaudi. Šī ir sava veida vispārēja kļūda. Jūsu mikroshēma nav atpazīta. Pārbaudiet savienojumu uz tāfeles (GND/5V savienots ar tapām?) Jūs saņemsiet šo kļūdu, kad jūsu mikroshēma ir konfigurēta, lai izmantotu ārēju oscilatoru, un tā nedarbojas (tāda nav vai tā nav pareizi svārstīga - 22pf caps) trūkst?)

Ieteicams: