Բովանդակություն:

Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ով. 7 քայլ
Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ով. 7 քայլ

Video: Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ով. 7 քայլ

Video: Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ով. 7 քայլ
Video: Կառավարեք AC լամպը Arduino AC Dimmer- ով 2024, Նոյեմբեր
Anonim
Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ի միջոցով
Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ի միջոցով
Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ի միջոցով
Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ի միջոցով
Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ի միջոցով
Ինչպես ծրագրավորել AVR (arduino) մեկ այլ Arduino- ի միջոցով

Այս հրահանգները օգտակար են, եթե ՝

* Դուք ստացել եք ձեր arduino- ն atmega168- ով և գնել եք atmega328 էլեկտրոնիկայի ձեր տեղական խանութում: Այն չունի arduino բեռնիչ Սովորաբար, ձեր նոր չիպը ծրագրավորելու համար պետք է ունենաք ISP (համակարգչային ծրագրավորողում), ինչպիսին է USBTinyISP- ը: Ունենալով arduino- ն, դուք կարող եք սովորեցնել այն լինել ծրագրավորող ՝ շնորհիվ Ռանդալ Բոնի կատարած մեծ աշխատանքի: Նա ստեղծեց Mega -ISP- ը `արդուինոյի էսքիզը, որն աշխատում է ծրագրավորողի նման:

Քայլ 1: Ի՞նչ է ձեզ անհրաժեշտ:

Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք

* աշխատող Arduino (կամ կլոն - ես օգտագործում եմ BBB - BareBonesBoard և RBBB - RealBareBonesBoard by ModernDevices) * չիպ, որը ցանկանում եք ծրագրավորել (փորձարկվել է atmega8, atmega168, atmega368, attiny2313, attiny13) * տախտակ կամ տախտակ ISP- ի վերնագրով * 3 leds + 3 ռեզիստորներ * breadboard լարեր

Քայլ 2. Mega-isp ծրագրավորողի պատրաստում Breadboard- ում

Mega-isp ծրագրավորողի պատրաստում Breadboard- ում
Mega-isp ծրագրավորողի պատրաստում Breadboard- ում
Mega-isp ծրագրավորողի պատրաստում Breadboard- ում
Mega-isp ծրագրավորողի պատրաստում Breadboard- ում
Mega-isp ծրագրավորողի պատրաստում Breadboard- ում
Mega-isp ծրագրավորողի պատրաստում Breadboard- ում

Ձեր Arduino- ն չիպը ծրագրավորելու համար միացնելու երկու եղանակ կա:

Դուք կարող եք ձեր avr չիպը միացնել տախտակին և միացնել 5v- ն և GND- ը համապատասխան կապումներին (ստուգեք տվյալների թերթիկը) + քաշիչ դիմադրություն ՝ ձեր arduino- ից չիպին միացնելու և դրանք կապելու համար: Սրանք Arduino- ի տողերն են և դրանց գործառույթը 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Վերակայել) Կամ կարող եք կազմել 2x3pin ISP վերնագիր, որը կարող եք միացնել մեկին (մեկ այլ arduino տախտակ) ապահովող տախտակին: ISP- ի վերնագրի pinout- ը երրորդ պատկերի վրա է: ledրագրավորողի կարգավիճակը նշելու համար կա 3 led: PIN 9 - կապույտ led - դա ծրագրավորողի լսողությունն է: PIN 8 - կարմիր led - ցույց է տալիս սխալի քորոց 7 - կանաչ led - ցույց է տալիս, որ ծրագրավորումը տեղի է ունենում (ես ծույլ էի, այնպես որ չհամապատասխանեցի իմ տեղադրման գույներին) Ահա Fritzing- ում նկարված նկարները: Կարող եք նաև կատարել MEGA-isp վահան: Յարոսլավ Օսադչին վահանը նախագծել է արծվի մեջ: Արծվի ֆայլերը կարող եք ձեռք բերել նրա կայքում ՝

Քայլ 3: Էսքիզների վերբեռնում

Էսքիզների վերբեռնում
Էսքիզների վերբեռնում

Ներբեռնեք էսքիզը mega-isp google կոդից: (avrisp.03.zip գրելու պահին): Բացեք այն և գործարկեք arduino ide- ն և բացեք avrisp.pde- ն: Վերբեռնեք այն ձեր arduino տախտակին: Սրտի բաբախյունը պետք է սկսի բաբախել:

Քայլ 4: Օգտագործելով Avrdude- ի հետ

Օգտագործելով Avrdude- ի հետ
Օգտագործելով Avrdude- ի հետ

Avrdude- ով (և այն օգտագործող բոլոր GUI- ներով) օգտագործելու համար պետք է ընտրել «avrisp» ծրագրավորողը: ամենաապահով բիթային արագությունը 19200 է:

Ձեր նոր atmega168- ը հրամանի տողից փորձարկելու համար փորձեք ՝ $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0- ն այն պորտն է, որը arduino- ն միացված է իմ linux տուփին (ձեր սեփականը կարող է լինել com5): Սա կարելի է ստուգել arduino IDE- ում Գործիքներ -> Սերիայի նավահանգիստ: Դուք պետք է ստանաք. #################################################### | 100% 0.13s avrdude: Սարքի ստորագրությունը = 0x1e9406 avrdude: safemode: Ապահովիչներ OK avrdude done. Շնորհակալություն. Դա նշանակում է, որ ամեն ինչ կարգին է: Եթե սխալներ եք ստանում, ստուգեք վերջին քայլը:

Քայլ 5. USBtinyISP ծրագրակազմի այրում Attiny2313- ում

USBtinyISP որոնվածը այրում է Attiny2313
USBtinyISP որոնվածը այրում է Attiny2313
USBtinyISP որոնվածը այրում է Attiny2313
USBtinyISP որոնվածը այրում է Attiny2313
USBtinyISP որոնվածը այրում է Attiny2313
USBtinyISP որոնվածը այրում է Attiny2313

USBTinyISP- ը LadyAda- ի հիանալի ծրագրավորող է, որն իսկապես էժան է `22 դոլար: Ես ունեի պահեստային attiny2313 և որոշ մասեր, ուստի որոշեցի ինքս պատրաստել: Եթե դուք PCB պատրաստելու փորձ չունեք, խորհուրդ տվեք գնել փաթեթը, քանի որ այն ավելի բարձր որակ է, քան ինքներդ կարող եք պատրաստել:): Գոնե գնեք PCB, եթե ցանկանում եք այն կառուցել: Դուք կարող եք այն ստանալ Adafruit- ից: Միացրեք ATtiny2313 Վերջին նկարում դուք կարող եք տեսնել attiny2313- ը ՝ կարմիր մատակարարով ISP- ի համար օգտագործվող կապումներով: Նկարը LadyAda avr ձեռնարկից է: Այրել որոնվածը. Բացեք USBTinyISP որոնվածը: Գնացեք spi dir և գործարկեք $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 ՝ ստուգելու, թե արդյոք չիպի հետ ամեն ինչ կարգին է: Այժմ դրեք ապահովիչները. $ Avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m. Եվ այրեք որոնվածը ՝ $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Ձեր attiny2313- ն ունի USBTinyISP որոնվածը:

Քայլ 6. Arduino Bootloader- ի այրում

Arduino Bootloader- ի այրում
Arduino Bootloader- ի այրում
Arduino Bootloader- ի այրում
Arduino Bootloader- ի այրում
Arduino Bootloader- ի այրում
Arduino Bootloader- ի այրում

Մի քիչ խաբեցի, քանի որ ես RBBB- ն օգտագործեցի ՝ կապերը պարզեցնելու համար: Սխեման պատկերված է #2 նկարում: Եթե օգտագործում եք 2 արդուինո, օգտագործեք նկար 3 -ը և ISP կապը միացրեք երկրորդ (ստրուկ) arduino- ի ICSP 2x3header- ին: Միայն USB տուփը միացրեք առաջին տախտակին: The GUI way Սա մի փոքր բարդ պատճառ է, որ դուք չեք կարող պարզապես օգտագործել Գործիքներ-> Burn Bootloader-> wR/ AVR ISP- ով, որովհետև կանխադրված արագությունը չափազանց մեծ է մեգա-իսպի համար: Գտեք avrdude.conf- ն, որն ուղեկցվում է arduino IDE- ով (arduino/hardware/tools/avrdude.conf) և փոխեք avrisp ծրագրավորողի սահմանը 115200 -ից մինչև 19200 (տող 312 -ի մոտ) Գտեք և փոխեք avrdude.conf ծրագրավորող id = "avrisp" - ում; desc = "Atmel AVR ISP"; բաուդրատ = 115200; # լռելյայն 115200 տեսակ = stk500;; դեպի ՝ ծրագրավորող id = "avrisp"; desc = "Atmel AVR ISP"; բաուդրատ = 19200; # լռելյայն 115200 տեսակ = stk500;; Այժմ կարող եք օգտագործել Գործիքներ -> Burn Bootloader -> w/AVR ISP (Գործիքների ցանկից համապատասխան տախտակ ընտրելուց հետո) Commanline Կարող եք նաև օգտագործել հրամանի տողը ՝ խմբագրել arduino/hardware/bootloaders/atmega/Makefile և փոխել ISPTOOL/PORT /SPEED դեպի. # Մուտքագրեք avrdude isp գործիքի պարամետրերը ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 այրել թարթումը!

Քայլ 7: Խնդիրների վերացում

Անսարքությունների վերացում
Անսարքությունների վերացում

Avrdude- ի սխալներ. ստուգեք կապը avrdude: Սարքի ստորագրությունը = 0x000000 avrdude: Yikes! Սարքի անվավեր ստորագրություն: Կրկնակի ստուգեք կապերը և նորից փորձեք, կամ օգտագործեք -F ՝ այս ստուգումը չեղարկելու համար: Սա մի տեսակ ընդհանուր սխալ է: Ձեր չիպը ճանաչված չէ: Ստուգեք կապը տախտակի վրա (GND/5V միացված է կապում): Դուք կստանաք այս սխալը, երբ ձեր չիպը կազմաձևված է արտաքին տատանումների օգտագործման համար և այն չի աշխատում (չկա մեկը կամ այն չի տատանվում համապատասխանաբար - 22pf գլխարկներ բացակայում է)

Խորհուրդ ենք տալիս: