Innehållsförteckning:
- Steg 1: Vad behöver du?
- Steg 2: Gör Mega-isp-programmeraren på ett brödbräda
- Steg 3: Ladda upp skissen
- Steg 4: Användning med Avrdude
- Steg 5: Bränning av USBtinyISP -firmware till en Attiny2313
- Steg 6: Bränning av Arduino Bootloader
- Steg 7: Felsökning
Video: Hur man programmerar en AVR (arduino) med en annan Arduino: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:48
Dessa instruktioner är användbara om:
* du har din arduino med atmega168 och du köpte en atmega328 hos din lokala elektronikbutik. Den har inte en arduino bootloader * du vill göra ett projekt som inte använder arduino - bara ett vanligt AVR -chip (som USBTinyISP) - du har en ren attiny2313/attiny48 etc som du vill bränna firmware på. Normalt måste du ha en ISP (In System Programmer) som USBTinyISP för att programmera ditt nya chip. Med arduino kan du lära dig att vara en programmerare tack vare ett fantastiskt arbete som utförts av Randall Bohn. Han skapade Mega -ISP - en arduino -skiss som fungerar som en programmerare.
Steg 1: Vad behöver du?
* en fungerande Arduino (eller en klon - jag använder BBB - BareBonesBoard och en RBBB - RealBareBonesBoard av ModernDevices) * ett chip som du vill programmera (testat med atmega8, atmega168, atmega368, attiny2313, attiny13) * ett brödbräda eller en bräda med ISP -sidhuvud * 3 lysdioder + 3 motstånd * brödbräda
Steg 2: Gör Mega-isp-programmeraren på ett brödbräda
Det finns två sätt att ansluta din Arduino för att programmera ett chip.
Du kan ansluta ditt avr -chip till en brödbräda och ansluta 5v och GND till respektive stift (kolla databladet!) + Ett pullup -motstånd för att återställa och trådstift från din arduino till chipet. Det här är linjerna på Arduino och deras funktion 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Återställ) Eller så kan du göra en 2x3pin ISP -rubrik som du kan ansluta till ett kort som ger en (ett annat arduino -kort). Pinout för ISP -rubriken finns på den tredje bilden Det finns 3 lysdioder för att indikera status för programmeraren. stift 9 - blå led - det är programmerarens hörsel. stift 8 - röd lysdiod - indikerar ett fel stift 7 - grönt led - indikerar att programmeringen pågår (jag var lat så jag matchade inte färgerna i min inställning) Här är ritningarna gjorda i Fritzing Du kan också göra en MEGA-isp-sköld. Yaroslav Osadchyy designade skölden i örn. Du kan få örnfilerna på hans webbplats:
Steg 3: Ladda upp skissen
Ladda ner skissen från mega-isp google-kod. (Avrisp.03.zip i skrivande stund). Packa upp den och kör arduino ide och öppna avrisp.pde. Ladda upp den till ditt arduino -kort. Heartbeat led bör börja slå.
Steg 4: Användning med Avrdude
För att använda med avrdude (och alla GUI som använder det) måste du välja 'avrisp' -programmeraren. den säkraste bithastigheten är 19200.
För att testa din nya atmega168 från kommandoraden, försök: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 är porten som arduino är ansluten till min linuxbox (din kan vara com5). Detta kan kontrolleras i arduino IDE i Verktyg -> Seriell port. Du bör få: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR -enhet initierad och redo att acceptera instruktioner Läsning | #################################################### | 100% 0.13s avrdude: Enhetssignatur = 0x1e9406 avrdude: safemode: Säkringar OK avrdude gjort. Tack. Det betyder att allt är ok. Om du får fel - kolla det sista steget.
Steg 5: Bränning av USBtinyISP -firmware till en Attiny2313
USBTinyISP är en bra programmerare från LadyAda som är riktigt billig - 22 $. Jag hade ett extra attiny2313 och några delar så jag bestämde mig för att göra en själv. Om du inte har någon erfarenhet av att göra PCB i råd köper du satsen eftersom det är högre kvalitet än du kan göra själv:). Köp åtminstone kretskortet om du vill bygga ett. Du kan få det från Adafruit. Anslut ATtiny2313 På den sista bilden kan du se attiny2313 med stiften som används för ISP i rött. Bilden är från LadyAda avr tutorial. Bränna fast programvara: Packa upp USBTinyISP -firmware. Gå till spi dir och kör $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 för att kontrollera om allt är ok med chipet. Ställ nu in säkringarna: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Nu ska du fästa den 12mhz externa oscillatorn till chipet. Och bränn firmware: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Din attiny2313 har fast programvara för USBTinyISP.
Steg 6: Bränning av Arduino Bootloader
Jag lurade lite eftersom jag använde en RBBB för att förenkla anslutningarna. Schemat finns på bild #2. Om du använder 2 arduinoer använder du bild #3 och ansluter ISP -stiftet till ICSP 2x3headern på den andra (slaven) arduinoen. Anslut bara usb -strömmen till det första kortet. GUI-sättet Detta är lite knepigt eftersom du inte bara kan använda Verktygs-> Burn Bootloader-> w/ AVR ISP eftersom standardhastigheten är för stor för mega-isp. Hitta avrdude.conf som levereras med arduino IDE (i arduino/hardware/tools/avrdude.conf) och ändra gränsen för avrisp programmerare från 115200 till 19200 (runt rad 312) Hitta och ändra i avrdude.conf programmerare id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # standard är 115200 typ = stk500;; till: programmerare id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # standard är 115200 typ = stk500;; Nu kan du använda Verktyg -> Burn Bootloader -> w/AVR ISP (efter att du har valt rätt kort från Verktyg -menyn) Kommanlinje Du kan också använda kommandoraden: Redigera arduino/hardware/bootloaders/atmega/Makefile och ändra ISPTOOL/PORT /SPEED to: # ange parametrarna för avrdude isp -verktyget ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 nej du kan skriva $ make diecimila_isp för att bränna säkringar och bootloader. Test Anslut nu din nya arduino till usb och bränn det blinkande!
Steg 7: Felsökning
Avrdude-fel: avrdude: ser_open (): kan inte öppna enheten "/dev/ttyUSB0": Ingen sådan fil eller katalog Du har angett fel port (-P) eller så är din arduino inte ansluten. kontrollera anslutningen avrdude: Enhetssignatur = 0x000000 avrdude: Japp! Ogiltig enhetssignatur. Dubbelkontrollera anslutningarna och försök igen, eller använd -F för att åsidosätta denna kontroll. Det här är ett generellt fel. Ditt chip känns inte igen. Kontrollera anslutningen på kortet (GND/5V ansluten till stift?) Du får det här felet när ditt chip är konfigurerat för att använda en extern oscillator och det fungerar inte (det finns inte en eller det är inte oscillerande korrekt - 22pf lock saknas ?)
Rekommenderad:
Hur man programmerar ESP32 M5Stack StickC med Arduino IDE och Visuino: 12 steg
Hur man programmerar ESP32 M5Stack StickC med Arduino IDE och Visuino: I denna handledning lär vi oss hur man programmerar ESP32 M5Stack StickC med Arduino IDE och Visuino. Se en demonstrationsvideo
Hur man programmerar PIC MCU med PICkit -programmerare med hjälp av en brödbräda: 3 steg
Hur man programmerar PIC MCU med PICkit -programmerare som använder ett brödbräda: Du behöver inte dyra och sofistikerade verktyg för att spela med PIC (eller andra) mikrokontroller. Allt du behöver är en brödbräda där du testar din krets och programmering. Naturligtvis är någon form av programmerare och IDE nödvändig. I denna instruktion
Hur man programmerar Arduino Pro Mini med Arduino Uno: 4 steg
Hur man programmerar Arduino Pro Mini med Arduino Uno: Jag skrev detta som en del av ett annat projekt, men sedan bestämde jag mig för att använda en Pro Micro som kan programmeras direkt från den bärbara datorn. Men det kan vara användbart någon gång (eller för någon) så Jag lämnar det här.
Hur man programmerar och återställer Arduino med Android Smartphone: 8 steg
Hur man programmerar och återställer Arduino med Android Smartphone: Du kanske har använt OTG -adapter för att ansluta Pendrives och spelkontroller och ge ström till små enheter. Du kan göra mycket mer än att slå på ditt Arduino -kort med Smart Phone. I den här självstudien kommer vi att sammanställa och ladda upp Ardu
Hur man programmerar ett AVR -kort med ett Arduino -kort: 6 steg
Hur man programmerar ett AVR -kort med ett Arduino -kort: Har du ett AVR -mikrokontrollkort? Är det svårt att programmera det? Tja, du är på rätt ställe. Här kommer jag att visa dig hur du programmerar ett Atmega8a mikrokontrollerkort med ett Arduino Uno -kort som programmerare. Så utan längd