Sisukord:

Kuidas programmeerida AVR -i (arduino) teise Arduinoga: 7 sammu
Kuidas programmeerida AVR -i (arduino) teise Arduinoga: 7 sammu

Video: Kuidas programmeerida AVR -i (arduino) teise Arduinoga: 7 sammu

Video: Kuidas programmeerida AVR -i (arduino) teise Arduinoga: 7 sammu
Video: To Design a Up/Down Counter using Atmega32 Microcontroller 2024, Juuli
Anonim
Kuidas programmeerida AVR -i (arduino) teise Arduino abil
Kuidas programmeerida AVR -i (arduino) teise Arduino abil
Kuidas programmeerida AVR -i (arduino) teise Arduino abil
Kuidas programmeerida AVR -i (arduino) teise Arduino abil
Kuidas programmeerida AVR -i (arduino) teise Arduino abil
Kuidas programmeerida AVR -i (arduino) teise Arduino abil

See juhend on kasulik, kui:

* teil on arduino koos atmega168 -ga ja ostsite kohalikult elektroonikapoest atmega328. Sellel pole arduino alglaadurit *, mida soovite teha projektiga, mis ei kasuta arduinot - lihtsalt tavaline AVR -kiip (nagu USBTinyISP) - teil on puhas attiny2313/attiny48 jne, millele soovite püsivara põletada. Tavaliselt peab uue kiibi programmeerimiseks olema ISP (süsteemiprogrammeerija), näiteks USBTinyISP. Tänu arduinole saate seda programmeerijaks õpetada tänu Randall Bohni suurepärasele tööle. Ta lõi Mega -ISP - arduino visandi, mis töötab nagu programmeerija.

Samm: mida vajate?

Mida sul vaja on ?
Mida sul vaja on ?

* töötav Arduino (või kloon - ma kasutan BBB - BareBonesBoard ja RBBB - RealBareBonesBoard by ModernDevices) * kiip, mida soovite programmeerida (testitud atmega8, atmega168, atmega368, attiny2313, attiny13) * leivaplaat või tahvel ISP päisega * 3 LED + 3 takistit * leivaplaadi juhtmed

Samm: valmistage Mega-ISP programmeerija leivaplaadile

Mega-isp programmeerija tegemine leivalaual
Mega-isp programmeerija tegemine leivalaual
Mega-isp programmeerija valmistamine leivalaual
Mega-isp programmeerija valmistamine leivalaual
Mega-isp programmeerija valmistamine leivalaual
Mega-isp programmeerija valmistamine leivalaual

Arduino ühendamiseks kiibi programmeerimiseks on kaks võimalust.

Saate ühendada oma avr -kiibi leivaplaadiga ja ühendada 5v ja GND vastavate tihvtidega (kontrollige andmelehte!) + Tõmbetakisti, et lähtestada ja ühendada tihvtid teie arduino kiibiga. Need on Arduino read ja nende funktsioon 13 - SCK 12 - MISO 11 - MOSI 10 - RST (lähtestamine) Või võite teha 2x3 -pin ISP päise, mille saate ühendada tahvliga, mis pakub ühte (teist arduino plaati). Interneti -teenuse pakkuja päise pinout on kolmandal pildil Programmeerija olekut näitavad 3 LED -i. pin 9 - sinine LED - see on programmeerija eelsoojendus. tihvt 8 - punane LED - näitab viga PIN 7 - roheline LED - näitab, et programmeerimine toimub (olin laisk, nii et ma ei sobinud oma seadistuse värvidega) Siin on joonised, mis on tehtud Fritzingis. MEGA-isp kilp. Jaroslav Osadchyy kujundas kilbi kotkast. Kotkafailid leiate tema saidilt:

3. samm: visandi üleslaadimine

Sketši üleslaadimine
Sketši üleslaadimine

Laadige visand alla mega-isp Google'i koodist. (Avrisp.03.zip kirjutamise ajal). Pakkige see lahti ja käivitage arduino ide ning avage avrisp.pde. Laadige see üles oma arduino tahvlile. Südamelöögi juht peaks hakkama lööma.

Samm: Avrdude kasutamine

Kasutamine koos Avrdude'iga
Kasutamine koos Avrdude'iga

Avrdude'iga (ja kõigi seda kasutavate GUI -dega) kasutamiseks peate valima programmeerija 'avrisp'. kõige turvalisem bitikiirus on 19200.

Uue atmega168 testimiseks käsurealt proovige: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 on port, mille kaudu arduino on ühendatud minu linuxi kastiga (teie oma võib olla com5). Seda saab kontrollida arduino IDE -s menüüs Tools -> Serial Port. Peaksite saama: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR -seade on initsialiseeritud ja juhiste vastuvõtmiseks valmis Lugemine | ########################################### | 100% 0,13 s avrdude: seadme allkiri = 0x1e9406 avrdude: ohutusrežiim: kaitsmed OK avrdude tehtud. Aitäh. See tähendab, et kõik on korras. Kui saate vigu - kontrollige viimast sammu.

Samm: USBtinyISP püsivara põletamine Attiny2313 -ks

USBtinyISP püsivara põletamine Attiny2313 -ks
USBtinyISP püsivara põletamine Attiny2313 -ks
USBtinyISP püsivara põletamine Attiny2313 -ks
USBtinyISP püsivara põletamine Attiny2313 -ks
USBtinyISP püsivara põletamine Attiny2313 -ks
USBtinyISP püsivara põletamine Attiny2313 -ks

USBTinyISP on LadyAda suurepärane programmeerija, mis on tõesti odav - 22 dollarit. Mul oli varuosa attiny2313 ja mõned osad, nii et otsustasin selle ise teha. Kui teil pole PCB valmistamise kogemust, soovitan selle komplekti osta, kuna see on kõrgema kvaliteediga kui saate ise teha:). Vähemalt ostke trükkplaat, kui soovite seda ehitada. Saate selle Adafruitist. Ühendage ATtiny2313. Viimasel pildil näete attiny2313 punasega ISP jaoks kasutatavate tihvtidega. Pilt on pärit LadyAda avr õpetusest. Püsivara põletamine: Pakkige USBTinyISP püsivara lahti. Minge spi dir -le ja käivitage $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200, et kontrollida, kas kiibiga on kõik korras. Nüüd määrake kaitsmed: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Nüüd peaksite kiibile kinnitama 12 MHz välise ostsillaatori. Ja põletada püsivara: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Teie attiny2313 -l on USBTinyISP püsivara.

6. samm: Arduino alglaaduri põletamine

Arduino alglaaduri põletamine
Arduino alglaaduri põletamine
Arduino alglaaduri põletamine
Arduino alglaaduri põletamine
Arduino alglaaduri põletamine
Arduino alglaaduri põletamine

Pettusin natuke, sest kasutasin ühenduste lihtsustamiseks RBBB -d. Skeem on pildil nr 2. Kui kasutate kahte arduinot, kasutage pilti #3 ja ühendage ISP -pistik teise (alam) arduino ICSP 2x3peaga. Ühendage USB -toide ainult esimese plaadiga. GUI viis See on natuke keeruline põhjus, sest te ei saa lihtsalt kasutada Tools-> Burn Bootloader-> w/ AVR ISP, sest vaikekiirus on mega-isp jaoks liiga suur. Leidke arduino IDE -ga kaasas olev avrdude.conf (arduino/riistvara/tööriistad/avrdude.conf) ja muutke avrispi programmeerija piirväärtust 115200 -lt 19200 -le (umbes rida 312) Leidke ja muutke avrdude.conf programmer id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 115200; # vaikimisi on 115200 tüüp = stk500;; to: programmeerija id = "avrisp"; desc = "Atmel AVR ISP"; baudrate = 19200; # vaikimisi on 115200 tüüp = stk500;; Nüüd saate kasutada tööriistu -> Burn Bootloader -> w/AVR ISP (pärast tööriistade menüüst õige plaadi valimist) Commanline Võite kasutada ka käsurea: Redigeeri arduino/hardware/bootloaders/atmega/Makefile ja vaheta ISPTOOL/PORT /SPEED to: # sisestage avrdude isp -tööriista parameetrid ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 ei, võite kirjutada $ make diecimila_isp, et põletada kaitsmed ja alglaadur. Testige nüüd uue arduino ühendamine usb -ga ja põletada vilkuv!

Samm: tõrkeotsing

Tõrkeotsing
Tõrkeotsing

Avrdude vead: avrdude: ser_open (): ei saa seadet avada "/dev/ttyUSB0": sellist faili või kataloogi pole määratud Teil on vale port (-P) määratud või teie arduino pole ühendatud. kontrollige ühendust avrdude: seadme allkiri = 0x000000 avrdude: Jah! Seadme allkiri on sobimatu. Kontrollige ühendusi uuesti ja proovige uuesti või kasutage selle kontrolli alistamiseks klahvi -F. See on omamoodi üldine viga. Teie kiipi ei tunta ära. Kontrollige plaadil olevat ühendust (GND/5V on ühendatud tihvtidega?) Selle vea saate siis, kui teie kiip on konfigureeritud kasutama välist ostsillaatorit ja see ei tööta (seda pole või see ei võnguta korralikult) - 22 pf mütsid puudu?)

Soovitan: