Përmbajtje:

Si të Programoni një AVR (arduino) me një Arduino tjetër: 7 hapa
Si të Programoni një AVR (arduino) me një Arduino tjetër: 7 hapa

Video: Si të Programoni një AVR (arduino) me një Arduino tjetër: 7 hapa

Video: Si të Programoni një AVR (arduino) me një Arduino tjetër: 7 hapa
Video: LDmicro 21: настройка режима C и Arduino Mega (программирование микроконтроллера с помощью LDmicro) 2024, Korrik
Anonim
Si të Programoni një AVR (arduino) me një Arduino tjetër
Si të Programoni një AVR (arduino) me një Arduino tjetër
Si të Programoni një AVR (arduino) me një Arduino tjetër
Si të Programoni një AVR (arduino) me një Arduino tjetër
Si të Programoni një AVR (arduino) me një Arduino tjetër
Si të Programoni një AVR (arduino) me një Arduino tjetër

Ky udhëzues është i dobishëm nëse:

* e keni arduino -n tuaj me atmega168 dhe keni blerë një atmega328 në dyqanin tuaj elektronik lokal. Nuk ka një bootloader arduino * ju doni të bëni një projekt që nuk përdor arduino - vetëm një çip të rregullt AVR (si USBTinyISP) - ju keni një attiny2313/attiny48 të pastër etj në të cilën dëshironi të digjni firmuerin. Normalisht ju do të duhet të keni një ISP (Në Programues Sistemi) si USBTinyISP për të programuar çipin tuaj të ri. Duke pasur arduino ju mund ta mësoni atë të jetë një programues falë një pune të madhe të bërë nga Randall Bohn. Ai krijoi Mega -ISP - një skicë arduino që funksionon si një programues.

Hapi 1: Çfarë ju nevojitet?

Cfare te nevojitet ?
Cfare te nevojitet ?

* një Arduino që punon (ose një klon - unë jam duke përdorur BBB - BareBonesBoard dhe një RBBB - RealBareBonesBoard nga ModernDevices) * një çip që dëshironi të programoni (testuar me atmega8, atmega168, atmega368, attiny2313, attiny13) * një dërrasë buke ose një tabelë me kokën e ISP * 3 leds + 3 rezistorë * tela të bukës

Hapi 2: Bërja e Programuesit Mega-Isp në një Breadboard

Bërja e Programuesit Mega-Isp në një Breadboard
Bërja e Programuesit Mega-Isp në një Breadboard
Bërja e Programuesit Mega-Isp në një Breadboard
Bërja e Programuesit Mega-Isp në një Breadboard
Bërja e Programuesit Mega-Isp në një Breadboard
Bërja e Programuesit Mega-Isp në një Breadboard

Ka dy mënyra për të lidhur Arduino tuaj për të programuar një çip.

Ju mund ta lidhni çipin tuaj avr në një dërrasë buke dhe të lidhni 5v dhe GND me kunjat përkatëse (kontrolloni fletën e të dhënave!) + Një rezistencë tërheqëse për të rivendosur dhe lidhni kunjat nga ju arduino në çip. Këto janë linjat në Arduino dhe funksioni i tyre 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Rivendos) Ose mund të bëni një kokë ISP 2x3pin që mund ta lidhni në një bord që siguron një (një bord tjetër arduino). Pinout për kokën e ISP -së është në imazhin e tretë Ka 3 led për të treguar statusin e programuesit. pin 9 - blu blu - është dëgjimi i programuesit. pin 8 - led i kuq - tregon një gabim pin 7 - led e gjelbër - tregon që programimi po zhvillohet (isha dembel kështu që nuk përputhesha me ngjyrat në konfigurimin tim) Këtu janë vizatimet e bëra në Fritzing Ju gjithashtu mund të bëni një Mburoja MEGA-isp. Yaroslav Osadchyy projektoi mburojën në shqiponjë. Ju mund t'i merrni skedarët e shqiponjës në faqen e tij:

Hapi 3: Ngarkimi i Skicës

Ngarkimi i Skicës
Ngarkimi i Skicës

Shkarkoni skicën nga kodi mega-isp google. (Avrisp.03.zip në kohën e shkrimit). Shpaketojeni atë dhe ekzekutoni arduino ide dhe hapni avrisp.pde. Ngarko atë në bordin tuaj arduino. Rrahjet e zemrës të drejtuara duhet të fillojnë të rrahin.

Hapi 4: Përdorimi me Avrdude

Duke përdorur Me Avrdude
Duke përdorur Me Avrdude

Për ta përdorur me avrdude (dhe të gjithë GUI -të që e përdorin atë) duhet të zgjidhni programuesin 'avrisp'. bitrati më i sigurt është 19200.

Për të testuar atmega168 -in tuaj të ri nga komanda, provoni: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 është porta që arduino është e lidhur me kutinë time linux (e juaja mund të jetë com5). Kjo mund të kontrollohet në arduino IDE në Tools -> Port Serial. Ju duhet të merrni: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: pajisja AVR e inicializuar dhe gati për të pranuar udhëzimet Lexim | #################################################### | 100% 0.13s avrdude: Nënshkrimi i pajisjes = 0x1e9406 avrdude: safemode: Siguresat OK avrdude bërë. Faleminderit. Kjo do të thotë se gjithçka është në rregull. Nëse merrni gabime - kontrolloni hapin e fundit.

Hapi 5: Djegia e firmuerit USBtinyISP në një Attiny2313

Djegia e firmuerit USBtinyISP në një Attiny2313
Djegia e firmuerit USBtinyISP në një Attiny2313
Djegia e firmuerit USBtinyISP në një Attiny2313
Djegia e firmuerit USBtinyISP në një Attiny2313
Djegia e firmuerit USBtinyISP në një Attiny2313
Djegia e firmuerit USBtinyISP në një Attiny2313

USBTinyISP është një programues i shkëlqyeshëm nga LadyAda që është vërtet i lirë - 22 dollarë. Unë kisha një veshje rezervë2313 dhe disa pjesë kështu që vendosa ta bëja një vetë. Nëse nuk keni përvojë në bërjen e këshillave për PCB, blini pajisjen sepse është cilësi më e lartë se sa mund ta bëni vetë:). Blini të paktën PCB nëse doni të ndërtoni një të tillë. Mund ta merrni nga Adafruit. Lidhni ATtiny2313Në foton e fundit mund të shihni attiny2313 me kunjat e përdorura për ISP me ngjyrë të kuqe. Fotografia është nga mësimi i LadyAda avr. Djegia e firmuerit: Shpaketoni firmuerin USBTinyISP. Shkoni te spi dir dhe drejtoni $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 për të kontrolluar nëse gjithçka është në rregull me çipin. Tani vendosni siguresat: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Tani ju duhet të lidhni oshilatorin e jashtëm 12mhz në çip. Me Dhe digjni firmuerin: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Attiny2313 juaj ka firmuerin USBTinyISP.

Hapi 6: Djegia e Arduino Bootloader

Djegia e Arduino Bootloader
Djegia e Arduino Bootloader
Djegia e Arduino Bootloader
Djegia e Arduino Bootloader
Djegia e Arduino Bootloader
Djegia e Arduino Bootloader

Kam mashtruar pak sepse kam përdorur një RBBB për të thjeshtuar lidhjet. Skema është në figurën #2. Nëse përdorni 2 arduino përdorni figurën #3 dhe lidhni pinin e ISP -së me ICSP 2x3header në arduino -n e dytë (skllevër). Lidhni vetëm fuqinë USB me tabelën e parë. Mënyra GUI Kjo është një arsye pak e ndërlikuar që ju nuk mund të përdorni vetëm Tools-> Burn Bootloader-> w/ AVR ISP sepse shpejtësia e paracaktuar është shumë e madhe për mega-isp. Gjeni avrdude.conf që vjen me arduino IDE (në arduino/hardware/tools/avrdude.conf) dhe ndryshoni kufirin për programuesin avrisp nga 115200 në 19200 (rreth rreshtit 312) Gjeni dhe ndryshoni në avrdude.conf programues id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # parazgjedhja është 115200 type = stk500;; tek: programuesi id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # parazgjedhja është 115200 type = stk500;; Tani mund të përdorni Tools -> Burn Bootloader -> w/AVR ISP (pasi të zgjidhni bordin e duhur nga menyja Tools) Commanline Ju gjithashtu mund të përdorni vijën e komandës: Redaktoni arduino/hardware/bootloaders/atmega/Makefile dhe ndryshoni ISPTOOL/PORT /SPEED to: # futni parametrat për mjetin avrdude ISP ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 jo ju nuk mund të shkruani $ make diecimila_isp për të djegur siguresat dhe bootloader. Testoni tani ju lidh arduino të re me usb dhe djeg blinky!

Hapi 7: Zgjidhja e problemeve

Zgjidhja e problemeve
Zgjidhja e problemeve

Gabimet Avrdude: avrdude: ser_open (): nuk mund ta hap pajisjen "/dev/ttyUSB0": Asnjë skedar ose drejtori të tillë Ju keni portin e gabuar (-P) të specifikuar ose arduino juaj nuk është i lidhur. kontrolloni lidhjen avrdude: Nënshkrimi i pajisjes = 0x000000 avrdude: Po! Nënshkrim i pavlefshëm i pajisjes. Kontrolloni dy herë lidhjet dhe provoni përsëri, ose përdorni -F për të anashkaluar këtë kontroll. Ky është një lloj gabimi i përgjithshëm. Çipi juaj nuk njihet. Kontrolloni lidhjen në tabelë (GND/5V e lidhur me kunjat?) Do ta merrni këtë gabim kur çipi juaj është i konfiguruar të përdorë një oshilator të jashtëm dhe nuk punon (nuk ka një ose nuk po lëkundet siç duhet - kapakët 22pf mungon?)

Recommended: