Cuprins:
- Pasul 1: De ce ai nevoie?
- Pasul 2: Realizarea programatorului Mega-isp pe o placă de calcul
- Pasul 3: Încărcarea schiței
- Pasul 4: Utilizarea cu Avrdude
- Pasul 5: Arderea firmware-ului USBtinyISP pe un Attiny2313
- Pasul 6: Arderea Arduino Bootloader
- Pasul 7: Depanare
Video: Cum se programează un AVR (arduino) cu un alt Arduino: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
Acest instructable este util dacă:
* ți-ai luat arduino cu atmega168 și ai cumpărat un atmega328 de la magazinul tău local de electronice. Nu are un bootloader arduino * pe care doriți să faceți un proiect care nu utilizează arduino - doar un cip AVR obișnuit (cum ar fi USBTinyISP) - aveți un attiny2313 / attiny48 etc curat pe care doriți să ardeți firmware-ul. În mod normal, ar trebui să aveți un ISP (In System Programmer) ca USBTinyISP pentru a programa noul dvs. cip. Având arduino, îl poți învăța să fie programator datorită muncii grozave făcute de Randall Bohn. El a creat Mega-ISP - o schiță arduino care funcționează ca un programator.
Pasul 1: De ce ai nevoie?
* un Arduino funcțional (sau o clonă - folosesc BBB - BareBonesBoard și un RBBB - RealBareBonesBoard de la ModernDevices) * un cip pe care doriți să îl programați (testat cu atmega8, atmega168, atmega368, attiny2313, attiny13) * o placă cu antet ISP * 3 led-uri + 3 rezistențe * fire de panou
Pasul 2: Realizarea programatorului Mega-isp pe o placă de calcul
Există două moduri de a vă conecta Arduino pentru a programa un cip.
Puteți conecta cipul dvs. avr la o placă de calcul și puteți conecta 5V și GND la pinii respectivi (verificați foaia tehnică!) + Un rezistor de tragere pentru resetare și conectați pinii de la dvs. arduino la cip. Acestea sunt liniile de pe Arduino și funcția lor 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Resetare). Pinout-ul pentru antetul ISP se află pe a treia imagine Există 3 leduri care indică starea programatorului. pinul 9 - led albastru - este sunetul programatorului. pinul 8 - led roșu - indică o eroare pinul 7 - ledul verde - indică faptul că programarea are loc (am fost leneș, așa că nu am potrivit cu culorile din configurarea mea) Iată desenele făcute în Fritzing Puteți face și un Scutul MEGA-isp. Yaroslav Osadchyy a proiectat scutul în vultur. Puteți obține fișierele vultur pe site-ul său:
Pasul 3: Încărcarea schiței
Descărcați schița din codul google mega-isp. (Avrisp.03.zip în momentul scrierii). Despachetați-l și rulați arduino ide și deschideți avrisp.pde. Încărcați-l pe placa dvs. arduino. Ledul bătăilor inimii ar trebui să înceapă să bată.
Pasul 4: Utilizarea cu Avrdude
Pentru a utiliza cu avrdude (și toate GUI-urile care îl utilizează) trebuie să selectați programatorul „avrisp”. cel mai sigur bitrate este 19200.
Pentru a testa noul dvs. atmega168 de la linia de comandă, încercați: $ avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 / dev / USB0 este portul la care arduino este conectat la caseta mea Linux (poate fi com5). Acest lucru poate fi verificat în IDE arduino în Instrumente -> Port serial. Ar trebui să obțineți: [kabturek @ hal-9000 ~] # avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 avrdude: dispozitivul AVR inițializat și gata să accepte instrucțiunile Lectură | ####################################################### | 100% 0.13s avrdude: Semnătura dispozitivului = 0x1e9406 avrdude: safemode: Siguranțe OK avrdude terminat. Mulțumesc. Asta înseamnă că totul este ok. Dacă primiți erori - verificați ultimul pas.
Pasul 5: Arderea firmware-ului USBtinyISP pe un Attiny2313
USBTinyISP este un programator excelent de la LadyAda, este foarte ieftin - 22 $. Aveam un atiny2313 de rezervă și câteva piese, așa că am decis să fac unul singur. Dacă nu aveți nicio experiență în realizarea PCB-ului, vă sfătuiesc să cumpărați kitul, deoarece este de calitate mai bună decât vă puteți face singuri:). Cumpărați cel puțin PCB-ul dacă doriți să construiți unul. O puteți obține de la Adafruit. Conectați ATtiny2313 În ultima imagine, puteți vedea attiny2313 cu pinii folosiți pentru ISP în roșu. Imaginea este din tutorialul LadyAda avr. Arderea firmware-ului: despachetați firmware-ul USBTinyISP. Mergeți la spi dir și rulați $ avrdude -p pt2313 -P / dev / ttyUSB0 -c avrisp -b 19200 pentru a verifica dacă totul este în regulă cu cipul. Acum setați siguranțele: $ avrdude -P / dev / ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Acum ar trebui să atașați oscilatorul extern de 12mhz la cip. Și ardeți firmware-ul: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P / dev / ttyUSB0 -c avrisp -b 19200 Voila. Attiny2313 dvs. are firmware-ul USBTinyISP.
Pasul 6: Arderea Arduino Bootloader
Am înșelat puțin pentru că am folosit un RBBB pentru a simplifica conexiunile. Schema este în imaginea nr. 2. Dacă utilizați 2 arduino, utilizați imaginea # 3 și conectați pinul ISP la ICSP 2x3header de pe al doilea arduino (slave). Conectați doar puterea USB la prima placă. Modul GUI Aceasta este o cauză puțin dificilă, nu puteți folosi doar Instrumente-> Burn Bootloader -> w / AVR ISP deoarece viteza implicită este prea mare pentru mega-isp. Găsiți avrdude.conf care vine cu IDE arduino (în arduino / hardware / tools / avrdude.conf) și modificați limitele pentru programatorul avrisp de la 115200 la 19200 (în jurul liniei 312) Găsiți și modificați în programatorul avrdude.conf id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # implicit este 115200 type = stk500;; la: programator id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # implicit este 115200 type = stk500;; Acum puteți utiliza Tools -> Burn Bootloader -> w / AVR ISP (după ce selectați placa corespunzătoare din meniul Tools) Commanline Puteți utiliza și linia de comandă: Editați arduino / hardware / bootloaders / atmega / Makefile și modificați ISPTOOL / PORT / SPEED to: # introduceți parametrii pentru instrumentul avrdude ISPTOOL = avrisp ISPPORT = / dev / ttyUSB0 ISPSPEED = -b 19200 nu puteți scrie $ face diecimila_isp pentru a arde siguranțe și bootloader-ul. arde clipitul!
Pasul 7: Depanare
Erori Avrdude: avrdude: ser_open (): nu se poate deschide dispozitivul "/ dev / ttyUSB0": Nu există un astfel de fișier sau director Aveți un port greșit (-P) specificat sau arduino-ul dvs. nu este conectat. verifica conexiunea avrdude: Semnătura dispozitivului = 0x000000 avrdude: Yikes! Semnătură de dispozitiv nevalidă. Verificați dublu conexiunile și încercați din nou sau folosiți -F pentru a anula această verificare. Acesta este un fel de eroare generală. Cipul dvs. nu este recunoscut. Verificați conexiunea de pe placă (GND / 5V conectat la pini?) Veți primi această eroare atunci când cipul dvs. este configurat pentru a utiliza un oscilator extern și nu funcționează (nu există unul sau nu este oscilant corect) - capacele 22pf dispărut ?)
Recomandat:
Cum se programează Arduino Mega 2560 Core ?: 3 pași
Cum se programează Arduino Mega 2560 Core ?: Am găsit pe eBay această mega placă Arduino cu factor de formă mic. Este o versiune mai mică a Arduino mega 2560 și se pare că se numește Arduino mega core … Totuși, a existat o problemă! Nu include conectivitate USB și nu există multe în
Cum se programează ESP32 M5Stack StickC cu Arduino IDE și Visuino: 12 pași
Cum se programează ESP32 M5Stack StickC cu Arduino IDE și Visuino: În acest tutorial vom învăța cum să programăm ESP32 M5Stack StickC cu Arduino IDE și Visuino. Vedeți un videoclip demonstrativ
Cum se programează Arduino Pro Mini cu Arduino Uno: 4 pași
Cum să programez Arduino Pro Mini cu Arduino Uno: Am scris acest lucru ca parte a unui alt proiect, dar apoi am decis să folosesc un Pro Micro care poate fi programat direct de pe laptop. Totuși, acest lucru ar putea fi util cândva (sau pentru cineva) O voi lăsa aici
Cum se programează Arduino Pro Mini folosind Arduino UNO .: 4 pași
Cum se programează Arduino Pro Mini folosind Arduino UNO .: Bună ziua, băieți, astăzi vă împărtășesc o metodă simplă pentru a programa Arduino Pro mini folosind Arduino UNO. Acest tutorial este destinat celor care încep cu arduino și doresc să reducă dimensiunea proiectului lor folosind un Arduino Pro mini. Arduino Pro mini
Cum se programează NodeMCU pe Arduino IDE: 5 pași
Cum să programați NodeMCU pe Arduino IDE: Osoyoo NodeMCU vine pre-programat cu interpretor Lua, dar nu trebuie să-l utilizați! În schimb, puteți utiliza IDE-ul Arduino, care poate fi un punct de plecare excelent pentru iubitorii de Arduino pentru a se familiariza cu tehnologiile din jurul