INHOUDSOPGAWE:
- Stap 1: Wat het u nodig?
- Stap 2: Maak die Mega-isp programmeerder op 'n broodbord
- Stap 3: Laai die skets op
- Stap 4: Gebruik met Avrdude
- Stap 5: Brand USBtinyISP -firmware na 'n Attiny2313
- Stap 6: Brand die Arduino Bootloader
- Stap 7: Probleemoplossing
Video: Hoe om 'n AVR (arduino) met 'n ander Arduino te programmeer: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:29
Hierdie instruksies is handig as:
* u het u arduino met atmega168 en u het 'n atmega328 by u plaaslike elektronikawinkel gekoop. Dit het nie 'n arduino bootloader nie * u wil 'n projek maak wat nie arduino gebruik nie - net 'n gewone AVR -chip (soos die USBTinyISP) - u het 'n skoon attiny2313/attiny48 ens waarop u firmware wil verbrand. Normaalweg moet u 'n ISP (In System Programmer) soos USBTinyISP hê om u nuwe chip te programmeer. As u die arduino het, kan u dit leer om 'n programmeerder te wees, te danke aan die uitstekende werk wat Randall Bohn verrig het. Hy het Mega -ISP geskep - 'n arduino -skets wat soos 'n programmeerder werk.
Stap 1: Wat het u nodig?
* 'n werkende Arduino (of 'n kloon - ek gebruik die BBB - BareBonesBoard en 'n RBBB - RealBareBonesBoard deur ModernDevices) * 'n chip wat u wil programmeer (getoets met atmega8, atmega168, atmega368, attiny2313, attiny13) * 'n broodbord of 'n bord met ISP -kop * 3 leds + 3 weerstande * broodborddrade
Stap 2: Maak die Mega-isp programmeerder op 'n broodbord
Daar is twee maniere om u Arduino aan te sluit om 'n chip te programmeer.
U kan u avr -chip aan 'n broodbord koppel en 5v en GND aan die onderskeie penne koppel (kyk die datablad!) + 'N pullup -weerstand om terug te stel en penne van u arduino na die chip te dra. Dit is die lyne op Arduino en hul funksie 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Reset) Of u kan 'n 2x3pin ISP -kopstuk maak wat u kan aansluit op 'n bord wat een bied ('n ander arduino -bord). Die pinout vir die ISP -kop is op die derde prent. Daar is 3 LED's om die status van die programmeerder aan te dui. pen 9 - blou led - dit is die hartklop van die programmeerder. pen 8 - rooi led - dui op 'n fout pen 7 - groen led - dui aan dat die programmering plaasvind (ek was lui, so ek pas nie by die kleure in my opset nie) Hier is die tekeninge wat in Fritzing gemaak is. U kan ook 'n MEGA-isp skild. Yaroslav Osadchyy het die skild in die arend ontwerp. U kan die arendlêers op sy webwerf kry:
Stap 3: Laai die skets op
Laai die skets af van mega-isp google code. (Avrisp.03.zip op die oomblik van skryf). Pak dit uit en voer arduino ide uit en maak avrisp.pde oop. Laai dit op na u arduino -bord. Hartklop gelei moet begin klop.
Stap 4: Gebruik met Avrdude
Om met avrdude (en alle GUI's wat dit gebruik) te gebruik, moet u die 'avrisp' -programmeerder kies. die veiligste bitrate is 19200.
Om u nuwe atmega168 vanaf die opdraglyn te toets, probeer: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 is die poort wat arduino aan my Linux -boks gekoppel is (u kan com5 wees). Dit kan in arduino IDE in Tools -> Serial Port nagegaan word. U moet die volgende kry: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR -toestel geïnitialiseer en gereed om instruksies te aanvaar Lees | #################################################### | 100% 0.13s avrdude: Toestelhandtekening = 0x1e9406 avrdude: safemode: Sekerings OK avrdude gedoen. Dankie. Dit beteken dat alles in orde is. As u foute ondervind, kyk na die laaste stap.
Stap 5: Brand USBtinyISP -firmware na 'n Attiny2313
Die USBTinyISP is 'n uitstekende programmeerder van LadyAda, dit is baie goedkoop - 22 $. Ek het 'n ekstra attiny2313 en 'n paar onderdele gehad, so ek het besluit om dit self te maak. As u geen ervaring het met die maak van PCB nie, raadpleeg u die kit, want dit is van hoër gehalte as wat u self kan maak:). Koop ten minste die PCB as u een wil bou. U kan dit by Adafruit kry. Koppel die ATtiny2313 Op die laaste foto kan u die attiny2313 sien met die penne wat vir ISP gebruik word, in rooi. Die foto is afkomstig van LadyAda avr -tutoriaal. Brand die firmware: Pak die USBTinyISP -firmware uit. Gaan na die spi dir en voer $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 uit om te kyk of alles in orde is met die chip. Stel nou die lonts in: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Nou moet u die eksterne ossillator van 12mhz aan die chip koppel. En brand die firmware: $ avrdude -B 1 -pt2313 -U flits: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. U attiny2313 het die USBTinyISP -firmware.
Stap 6: Brand die Arduino Bootloader
Ek het 'n bietjie bedrieg omdat ek 'n RBBB gebruik het om die verbindings te vereenvoudig. Die skema is op prentjie 2. As u 2 arduino's gebruik, gebruik die prentjie #3 en koppel die ISP -pen aan die ICSP 2x3header op die tweede (slave) arduino. Sluit slegs die usb -krag aan op die eerste bord. Die GUI-manier Dit is 'n bietjie lastig, want u kan nie net Tools-> Burn Bootloader-> w/ AVR ISP gebruik nie, want die standaardspoed is te groot vir mega-ISP. Soek avrdude.conf wat by arduino IDE kom (in arduino/hardware/tools/avrdude.conf) en verander die grenswaarde vir avrisp programmeerder van 115200 tot 19200 (rondom reël 312) Soek en verander in avrdude.conf programmeerder id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # standaard is 115200 tipe = stk500;; aan: programmeerder id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # standaard is 115200 tipe = stk500;; Nou kan u Tools -> Burn Bootloader -> w/AVR ISP gebruik (nadat u die regte bord in die menu Tools gehad het) Commanline U kan ook die opdragreël gebruik: Wysig arduino/hardware/bootloaders/atmega/Makefile en verander ISPTOOL/PORT /SPEED om: # voer die parameters in vir die avrdude isp -instrument ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 nee jy kan $ make diecimila_isp skryf om lontjies en die selflaaiprogram te verbrand. Koppel nou jou nuwe arduino aan usb en brand die blink!
Stap 7: Probleemoplossing
Avrdude-foute: avrdude: ser_open (): kan nie toestel oopmaak nie "/dev/ttyUSB0": Daar is nie so 'n lêer of gids nie. U het die verkeerde poort (-P) gespesifiseer of u arduino is nie gekoppel nie. kyk na die verbinding avrdude: Toestelhandtekening = 0x000000 avrdude: Yikes! Ongeldige toestelhandtekening. Kontroleer die verbindings en probeer weer, of gebruik -F om hierdie tjek te ignoreer. Dit is 'n soort algemene fout. U chip word nie herken nie. Kontroleer die verbinding op die bord (GND/5V gekoppel aan penne?) U sal hierdie fout kry as u chip opgestel is om 'n eksterne ossillator te gebruik en dit nie werk nie (daar is nie een nie, of dit pendel nie behoorlik nie - 22pf -kappies ontbreek?)
Aanbeveel:
N Arduino programmeer met 'n ander Arduino om 'n rolteks sonder 'n biblioteek te vertoon: 5 stappe
N Arduino programmeer deur 'n ander Arduino te gebruik om 'n roltekst sonder 'n biblioteek te vertoon: Sony Spresense of Arduino Uno is nie so duur nie en benodig nie veel krag nie. As u projek egter beperkte krag, ruimte of selfs begroting het, wil u dit oorweeg om Arduino Pro Mini te gebruik. Anders as Arduino Pro Micro, is Arduino Pro Mi
Hoe om PIC MCU te programmeer met PICkit -programmeerder met behulp van 'n broodbord: 3 stappe
Hoe om PIC MCU te programmeer met PICkit -programmeerder met 'n broodbord: U het nie duur en gesofistikeerde gereedskap nodig om met PIC (of enige ander) mikrobeheerders te speel nie. Al wat u nodig het, is 'n broodbord waar u u stroombaan en programmering toets. Natuurlik is 'n soort programmeerder en IDE nodig. In hierdie instruksie
Hoe om 'n AVR -bord te programmeer met 'n Arduino -bord: 6 stappe
Hoe om 'n AVR -bord te programmeer met 'n Arduino -bord: het u 'n AVR -mikrobeheerderbord? Is dit moeilik om dit te programmeer? Wel, u is op die regte plek. Hier sal ek u wys hoe u 'n Atmega8a -mikrokontrollerbord kan programmeer met 'n Arduino Uno -bord as programmeerder. Dus sonder verby
Chips programmeer met u Arduino - AVR ISP wat ATTiny85, ATTiny2313 en ATMega328 dek: 3 stappe
Chips programmeer met u Arduino - AVR ISP wat ATTiny85, ATTiny2313 en ATMega328 dek: ek het dit as 'n konsep van baie jare gelede gevind. Dit is nog steeds nuttig vir my, ten minste, so ek gaan dit publiseer! Dit dek die programmering van AVR Microco
Hoe om 'n RC -lugboot te maak! Met 3D -gedrukte onderdele en ander goed: 5 stappe (met foto's)
Hoe om 'n RC -lugboot te maak! Met 3D -gedrukte onderdele en ander dinge: Lugbote is wonderlik omdat dit baie lekker is om te ry en ook op verskillende oppervlaktes werk, soos water, sneeu, ys, asfalt of wat ook al, as die motor sterk genoeg is. nie baie kompleks nie, en as u reeds die elektron het