Sisällysluettelo:

AVR: n (arduino) ohjelmointi toisella Arduinolla: 7 vaihetta
AVR: n (arduino) ohjelmointi toisella Arduinolla: 7 vaihetta

Video: AVR: n (arduino) ohjelmointi toisella Arduinolla: 7 vaihetta

Video: AVR: n (arduino) ohjelmointi toisella Arduinolla: 7 vaihetta
Video: Arduino & Codebender: Arduinon ohjelmointia selaimessa (chromebookilla!) 2024, Marraskuu
Anonim
Kuinka ohjelmoida AVR (arduino) toisen Arduinon kanssa
Kuinka ohjelmoida AVR (arduino) toisen Arduinon kanssa
Kuinka ohjelmoida AVR (arduino) toisen Arduinon kanssa
Kuinka ohjelmoida AVR (arduino) toisen Arduinon kanssa
Kuinka ohjelmoida AVR (arduino) toisen Arduinon kanssa
Kuinka ohjelmoida AVR (arduino) toisen Arduinon kanssa

Nämä ohjeet ovat hyödyllisiä, jos:

* sinulla on arduino atmega168: lla ja ostit atmega328 paikallisesta elektroniikkakaupasta. Siinä ei ole arduino -käynnistyslatainta *, jonka haluat tehdä projektissa, joka ei käytä arduinoa - vain tavallinen AVR -siru (kuten USBTinyISP) - sinulla on puhdas attiny2313/attiny48 jne., Johon haluat polttaa laiteohjelmiston. Tavallisesti sinulla on oltava IST (In System Programmer), kuten USBTinyISP, uuden sirun ohjelmoimiseksi. Kun sinulla on arduino, voit opettaa sen olemaan ohjelmoija Randall Bohnin suuren työn ansiosta. Hän loi Mega -ISP: n - arduino -luonnoksen, joka toimii ohjelmoijan tavoin.

Vaihe 1: Mitä tarvitset?

Mitä tarvitset ?
Mitä tarvitset ?

* toimiva Arduino (tai klooni - käytän BBB - BareBonesBoardia ja RBBB - RealBareBonesBoard by ModernDevices) * siru, jonka haluat ohjelmoida (testattu atmega8, atmega168, atmega368, attiny2313, attiny13) * leipälauta tai kortti, jossa on ISP -otsikko * 3 lediä + 3 vastusta * leipälevyn johdot

Vaihe 2: Mega-isp-ohjelmoijan tekeminen leipälevylle

Mega-isp-ohjelmoijan tekeminen leipälevylle
Mega-isp-ohjelmoijan tekeminen leipälevylle
Mega-isp-ohjelmoijan tekeminen leipälevylle
Mega-isp-ohjelmoijan tekeminen leipälevylle
Mega-isp-ohjelmoijan tekeminen leipälevylle
Mega-isp-ohjelmoijan tekeminen leipälevylle

On kaksi tapaa yhdistää Arduino ohjelmoimaan siru.

Voit kytkeä avr -sirun leipälevyyn ja liittää 5v ja GND vastaaviin nastoihin (tarkista tietolomake!) + Pullup -vastus nollataksesi ja kytkeäksesi nastat arduinolta sirulle. Nämä ovat Arduinon linjat ja niiden toiminta 13 - SCK 12 - MISO 11 - MOSI 10 - RST (nollaus) Tai voit tehdä 2x3 -nastaisen ISP -otsikon, jonka voit liittää korttiin, joka tarjoaa yhden (toisen arduino -kortin). Internet -palveluntarjoajan otsikon pinout on kolmannessa kuvassa Ohjelmoijan tilan ilmaisee 3 lediä. nasta 9 - sininen led - se on ohjelmoijan lämmitys. nasta 8 - punainen led - osoittaa virheen nasta 7 - vihreä led - osoittaa, että ohjelmointi on käynnissä (olin laiska, joten en vastannut asetuksissani olevia värejä) Tässä ovat piirustukset, jotka on tehty Fritzingissä. MEGA-isp-suoja. Jaroslav Osadchyy suunnitteli kilven kotkaksi. Saat kotkatiedostot hänen sivustoltaan:

Vaihe 3: Luonnoksen lataaminen

Luonnoksen lataaminen
Luonnoksen lataaminen

Lataa luonnos mega-isp-google-koodista. (Avrisp.03.zip kirjoitettaessa). Pura se ja suorita arduino ide ja avaa avrisp.pde. Lataa se arduino -kortillesi. Heartbeat ledin pitäisi alkaa lyödä.

Vaihe 4: Avrduden käyttö

Käyttö Avrduden kanssa
Käyttö Avrduden kanssa

Jos haluat käyttää avrdudea (ja kaikkia sitä käyttäviä graafisia käyttöliittymiä), sinun on valittava avrisp -ohjelmoija. turvallisin bittinopeus on 19200.

Voit testata uutta atmega168: ta komentoriviltä seuraavasti: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 on portti, johon arduino on liitetty Linux -laatikkooni (omasi voi olla com5). Tämä voidaan tarkistaa arduino IDE: ssä Työkalut -> Sarjaportti. Sinun pitäisi saada: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR -laite on alustettu ja valmis hyväksymään ohjeet Lukeminen | ################################################## | 100% 0.13s avrdude: Laitteen allekirjoitus = 0x1e9406 avrdude: turvatila: Sulakkeet OK avrdude done. Kiitos. Eli kaikki on ok. Jos saat virheitä - tarkista viimeinen vaihe.

Vaihe 5: USBtinyISP -laiteohjelmiston polttaminen Attiny2313: ksi

USBtinyISP -laiteohjelmiston polttaminen Attiny2313: ksi
USBtinyISP -laiteohjelmiston polttaminen Attiny2313: ksi
USBtinyISP -laiteohjelmiston polttaminen Attiny2313: ksi
USBtinyISP -laiteohjelmiston polttaminen Attiny2313: ksi
USBtinyISP -laiteohjelmiston polttaminen Attiny2313: ksi
USBtinyISP -laiteohjelmiston polttaminen Attiny2313: ksi

USBTinyISP on loistava LadyAda -ohjelmoija, joka on todella halpa - 22 dollaria. Minulla oli varaa attiny2313 ja joitakin osia, joten päätin tehdä sellaisen itse. Jos sinulla ei ole kokemusta piirilevyjen valmistamisesta, suosittelen ostamaan sarjan, koska se on laadukkaampi kuin voit itse tehdä:). Osta ainakin piirilevy, jos haluat rakentaa sellaisen. Saat sen Adafruitista. Liitä ATtiny2313. Kuva on LadyAda avr -opetusohjelmasta. Laiteohjelmiston polttaminen: Pura USBTinyISP -laiteohjelmisto pakkauksesta. Siirry spi -ohjaimeen ja suorita $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200 tarkistaaksesi, onko sirulla kaikki kunnossa. Aseta nyt sulakkeet: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Nyt sinun on kiinnitettävä 12 MHz: n ulkoinen oskillaattori siruun. Ja polta laiteohjelmisto: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Attiny2313 -laitteessasi on USBTinyISP -laiteohjelmisto.

Vaihe 6: Arduino -käynnistyslataimen polttaminen

Arduino -käynnistyslataimen polttaminen
Arduino -käynnistyslataimen polttaminen
Arduino -käynnistyslataimen polttaminen
Arduino -käynnistyslataimen polttaminen
Arduino -käynnistyslataimen polttaminen
Arduino -käynnistyslataimen polttaminen

Yhdistin Huijain hieman, koska käytin RBBB: tä yksinkertaistamaan yhteyksiä. Kaavio on kuvassa #2. Jos käytät 2 arduinoa, käytä kuvaa #3 ja kytke Internet -palveluntarjoajan nasta toisen (orja) arduinon ICSP 2x3 -otsikkoon. Kytke vain USB -virta ensimmäiseen korttiin. Käyttöliittymän tapa Tämä on hieman hankala syy, koska et voi käyttää vain Työkalut-> Polta käynnistyslatainta-> w/ AVR-Internet-palveluntarjoajaa, koska oletusnopeus on liian suuri mega-isp: lle. Etsi arduino IDE: n mukana toimitettu avrdude.conf (tiedostossa arduino/hardware/tools/avrdude.conf) ja muuta avrisp -ohjelmoijan raja -arvo 115200: sta 19200: een (noin rivi 312) Etsi ja muuta avrdude.conf -ohjelmoija id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # oletus on 115200 type = stk500;; to: programmer id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # oletus on 115200 type = stk500;; Nyt voit käyttää Työkalut -> Burn Bootloader -> w/AVR ISP (kun olet valinnut oikean levyn Työkalut -valikosta) Commanline Voit käyttää myös komentoriviä: Muokkaa arduino/hardware/bootloaders/atmega/Makefile ja muuta ISPTOOL/PORT /SPEED to: # syötä avrdude -isp -työkalun parametrit ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 ei, voit kirjoittaa $ make diecimila_isp polttaaksesi sulakkeet ja käynnistyslataimen. polttaa blinky!

Vaihe 7: Vianetsintä

Ongelmien karttoittaminen
Ongelmien karttoittaminen

Avrdude-virheet: avrdude: ser_open (): ei voi avata laitetta "/dev/ttyUSB0": Ei tällaista tiedostoa tai hakemistoa Olet määrittänyt väärän portin (-P) tai arduinoasi ei ole kytketty. tarkista yhteys avrdude: Laitteen allekirjoitus = 0x000000 avrdude: Jes! Virheellinen laitteen allekirjoitus. Tarkista liitännät ja yritä uudelleen tai ohita tämä tarkistus painikkeella -F. Tämä on eräänlainen yleinen virhe. Siruasi ei tunnisteta. Tarkista kortin liitäntä (GND/5V kytketty nastoihin?) Saat tämän virheilmoituksen, kun siru on määritetty käyttämään ulkoista oskillaattoria eikä se toimi (ei ole sellaista tai se ei värähtele kunnolla - 22pf caps) puuttuu?)

Suositeltava: