Obsah:
- Krok 1: Co potřebujete?
- Krok 2: Výroba programátoru Mega-isp na prkénku
- Krok 3: Nahrání náčrtu
- Krok 4: Používání s Avrdude
- Krok 5: Vypálení firmwaru USBtinyISP na Attiny2313
- Krok 6: Vypálení zavaděče Arduino
- Krok 7: Odstraňování problémů
Video: Jak naprogramovat AVR (arduino) pomocí jiného Arduina: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:25
Tento návod je užitečný, pokud:
* Máte arduino s atmega168 a koupili jste atmega328 v místním obchodě s elektronikou. Nemá zavaděč arduino * chcete vytvořit projekt, který nepoužívá arduino - jen běžný AVR čip (jako USBTinyISP) - máte čistý attiny2313/attiny48 atd., Na který chcete vypálit firmware. Normálně byste k naprogramování nového čipu museli mít ISP (In System Programmer) jako USBTinyISP. Mít arduino ho můžete naučit být programátorem díky skvělé práci, kterou odvedl Randall Bohn. Vytvořil Mega -ISP - skicu arduina, která funguje jako programátor.
Krok 1: Co potřebujete?
* funkční Arduino (nebo klon - používám BBB - BareBonesBoard a RBBB - RealBareBonesBoard od ModernDevices) * čip, který chcete naprogramovat (testováno s atmega8, atmega168, atmega368, attiny2313, attiny13) * prkénko nebo deska se záhlavím ISP * 3 LED + 3 odpory * dráty pro nepájivé pole
Krok 2: Výroba programátoru Mega-isp na prkénku
Existují dva způsoby, jak připojit Arduino k programování čipu.
Můžete připojit svůj avr čip na prkénko a připojit 5v a GND k příslušným pinům (podívejte se na datový list!) + Vytahovací odpor k resetování a drátové piny od vás arduino k čipu. Toto jsou řádky na Arduinu a jejich funkce 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Reset) Nebo si můžete vytvořit 2x3pin ISP záhlaví, které můžete zapojit do desky, která ho poskytuje (další arduino deska). Pinout pro záhlaví ISP je na třetím obrázku K dispozici jsou 3 LED diody indikující stav programátora. kolík 9 - modrá LED - jeho odezva programátora. pin 8 - červená LED - indikuje chybu pin 7 - zelená LED - indikuje, že probíhá programování (byl jsem líný, takže jsem neodpovídal barvám v mém nastavení) Zde jsou výkresy vytvořené ve Fritzing Můžete také vytvořit Štít MEGA-isp. Yaroslav Osadchyy navrhl štít v orlu. Soubory orla můžete získat na jeho webu:
Krok 3: Nahrání náčrtu
Stáhněte si skicu z mega-isp google kódu. (Avrisp.03.zip v době psaní článku). Rozbalte jej a spusťte arduino ide a otevřete avrisp.pde. Nahrajte jej na svoji desku arduino. Kontrolka tepu by měla začít bít.
Krok 4: Používání s Avrdude
Chcete -li použít s avrdude (a všemi GUI, která jej používají), musíte vybrat programátor 'avrisp'. nejbezpečnější bitrate je 19200.
Chcete -li otestovat svůj nový atmega168 z příkazového řádku, zkuste: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 je port, ke kterému je arduino připojeno k mému linuxovému boxu (váš může být com5). To lze zkontrolovat v arduino IDE v Nástroje -> Sériový port. Měli byste získat: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: Zařízení AVR inicializováno a připraveno přijímat pokyny Čtení | ############################################################################# | 100% 0.13s avrdude: Device signature = 0x1e9406 avrdude: safemode: Fuses OK avrdude done. Děkuji. To znamená, že je vše v pořádku. Pokud se zobrazí chyby - zkontrolujte poslední krok.
Krok 5: Vypálení firmwaru USBtinyISP na Attiny2313
USBTinyISP je skvělý programátor od LadyAda, který je opravdu levný - 22 $. Měl jsem náhradní attiny2313 a některé díly, tak jsem se rozhodl, že si jeden vyrobím sám. Pokud nemáte žádné zkušenosti s výrobou desek plošných spojů, doporučuji si ji koupit, protože je kvalitnější, než si můžete sami vyrobit:). Pokud si ji chcete postavit, kupte si alespoň desku plošných spojů. Můžete jej získat od společnosti Adafruit. Připojte ATtiny2313 Na posledním obrázku můžete vidět attiny2313 s piny použitými pro ISP červeně. Obrázek je z tutoriálu LadyAda avr. Vypalování firmwaru: Rozbalte firmware USBTinyISP. Přejděte na spi dir a spusťte $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 a zkontrolujte, zda je s čipem vše v pořádku. Nyní nastavte pojistky: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Nyní byste měli na čip připojit externí oscilátor 12 MHz. A vypálit firmware: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Váš attiny2313 má firmware USBTinyISP.
Krok 6: Vypálení zavaděče Arduino
Připojování Trochu jsem podváděl, protože jsem použil RBBB ke zjednodušení připojení. Schéma je na obrázku č. 2. Pokud používáte 2 arduino, použijte obrázek č. 3 a připojte pin ISP k ICSP 2x3header na druhém (slave) arduinu. Připojte pouze USB napájení k první desce. Způsob GUI Je to trochu ošidné, protože nemůžete použít pouze Nástroje-> Vypálit bootloader-> s AVR ISP, protože výchozí rychlost je pro mega-ISP příliš velká. Najděte avrdude.conf, který je dodáván s arduino IDE (v arduino/hardware/tools/avrdude.conf) a změňte hranici pro avrisp programátor z 115200 na 19200 (kolem řádku 312) Najděte a změňte v avrdude.conf programátor id = "avrisp"; desc = "Atmel AVR ISP"; přenosová rychlost = 115200; # výchozí je 115200 typ = stk500;; pro: programátor id = "avrisp"; desc = "Atmel AVR ISP"; přenosová rychlost = 19200; # výchozí je 115200 typ = stk500;; Nyní můžete použít Tools -> Burn Bootloader -> w/AVR ISP (after you select the appropriate board from the Tools menu) Commanline Můžete také použít příkazový řádek: Edit arduino/hardware/bootloaders/atmega/Makefile a změnit ISPTOOL/PORT /RYCHLOST na: # zadejte parametry pro nástroj avrdude isp ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 ne, můžete napsat $ make diecimila_isp k vypálení pojistek a bootloaderu. Test Nyní připojte nové arduino k USB a spálit blinky!
Krok 7: Odstraňování problémů
Chyby Avrdude: avrdude: ser_open (): nelze otevřít zařízení "/dev/ttyUSB0": Žádný takový soubor nebo adresář Zadali jste nesprávný port (-P) nebo vaše arduino není připojeno. zkontrolujte připojení avrdude: Podpis zařízení = 0x000000 avrdude: Fuj! Neplatný podpis zařízení. Znovu zkontrolujte připojení a zkuste to znovu nebo pomocí -F tuto kontrolu přepište. Toto je druh obecné chyby. Váš čip nebyl rozpoznán. Zkontrolujte připojení na desce (GND/5V připojeno k pinům?) K této chybě dojde, když je váš čip nakonfigurován pro použití externího oscilátoru a nefunguje (žádný neexistuje nebo nekmitá správně - 22pf cap) chybí?)
Doporučuje:
Jak flashovat nebo naprogramovat firmware ESP8266 AT pomocí ESP8266 Flasher a programátoru, modulu IOT Wifi: 6 kroků
Jak flashovat nebo naprogramovat firmware ESP8266 AT pomocí ESP8266 Flasher a programátoru, modulu IOT Wifi: Popis: Tento modul je adaptér /programátor USB pro moduly ESP8266 typu ESP-01 nebo ESP-01S. Je vhodně vybaven zásuvkou 2x4P 2,54 mm pro připojení ESP01. Také rozbíjí všechny kolíky ESP-01 prostřednictvím mužského konektoru 2x4P 2,54 mm
Programování Arduina pomocí jiného Arduina pro zobrazení posouvaného textu bez knihovny: 5 kroků
Programování Arduina pomocí jiného Arduina pro zobrazení posouvaného textu bez knihovny: Sony Spresense nebo Arduino Uno nejsou tak drahé a nevyžadují mnoho energie. Pokud má však váš projekt omezení výkonu, prostoru nebo dokonce rozpočtu, můžete zvážit použití Arduino Pro Mini. Na rozdíl od Arduino Pro Micro, Arduino Pro Mi
Jak naprogramovat ESP32 M5Stack StickC pomocí Arduino IDE a Visuino: 12 kroků
Jak naprogramovat ESP32 M5Stack StickC pomocí Arduino IDE a Visuino: V tomto tutoriálu se naučíme programovat ESP32 M5Stack StickC s Arduino IDE a Visuino. Podívejte se na ukázkové video
Jak naprogramovat PIC MCU pomocí programátoru PICkit pomocí Breadboardu: 3 kroky
Jak programovat PIC MCU pomocí programátoru PICkit pomocí Breadboardu: K hraní s mikrokontroléry PIC (nebo jinými) nepotřebujete drahé a sofistikované nástroje. Vše, co potřebujete, je prkénko, kde otestujete svůj obvod a programování. Samozřejmě je nutný nějaký programátor a IDE. V tomto návodu
Jak naprogramovat desku AVR pomocí desky Arduino: 6 kroků
Jak programovat desku AVR pomocí desky Arduino: Máte položenou desku mikrokontroléru AVR? Je složité to naprogramovat? Tak jste na správném místě. Zde vám ukážu, jak naprogramovat desku mikrokontroléru Atmega8a pomocí desky Arduino Uno jako programátoru. Takže bez dalších