- Komponente, potrebne za programiranje ATtiny85 prek USB-ja
- IC mikrokrmilnika ATtiny85 - Uvod
- Utripajoči zagonski nalagalnik na ATtiny85 z uporabo Arduino Uno
- Shema vezja za ATtiny programer
- Namestitev gonilnikov Digispark
- Nastavitev Arduino IDE za programiranje ATttiny85
Družina ATtiny je serija enega najmanjših mikrokrmilnikov na trgu AVR. Ti mikrokrmilniki lahko uporabljajo številne knjižnice, ki so na voljo na platformi Arduino. Čip mikrokrmilnika ATtiny85 je 8-pinski, 8-bitni AVR mikrokrmilnik. Zaradi majhnosti in majhne porabe energije je primeren za prenosne projekte z majhnimi odtisi in majhnimi zahtevami po energiji. Toda vnos kode na čip je lahko majhen izziv, saj nima vmesnika USB, kot so plošče mikrokrmilnika.
V prejšnji vadnici smo ATtiny85 programirali z uporabo Arduino Uno. Toda povezovanje Attiny85 z Arduinom in uporaba Arduina kot ponudnika internetnih storitev je lahko težavna in dolgotrajna. V tej vadnici bomo torej izdelali programsko ploščo ATtiny85, tako da jo bomo lahko neposredno vtaknili in programirali kot druge plošče mikrokrmilnika.
Komponente, potrebne za programiranje ATtiny85 prek USB-ja
- Arduino UNO (samo prvič med nalaganjem zagonskega nalagalnika)
- ATtiny85 IC
- USB vtič tipa A tipa
- 3 upori (2 × 47Ω & 1 × 1kΩ)
- 3 diode (2 × Zenerjeva dioda in 1 × IN5819 dioda)
- 8-pinska IC podstavek
- Breadboard
- Jumper žice
IC mikrokrmilnika ATtiny85 - Uvod
Atmelov ATtiny85 je visoko zmogljiv 8-bitni mikrokrmilnik z majhno močjo, ki temelji na napredni RISC arhitekturi. Ta mikrokrmilniški čip ima 8KB bliskovnega pomnilnika ISP, 512B EEPROM, 512-bajtni SRAM, 6 splošnih I / O linij, 32 splošnih delovnih registrov, en 8-bitni časovnik / števec s primerjalnimi načini, en 8-bitni hitri timer / števec, USI, notranji in zunanji prekinitve, 4-kanalni 10-bitni A / D pretvornik, programabilni časovni časovnik z notranjim oscilatorjem, trije načini varčevanja z energijo, ki jih je mogoče izbrati, in debugWIRE za odpravljanje napak na čipu. Izpit ATtiny85 je podan spodaj:
Večina I / O zatičev čipa ima več funkcij. Opis zatiča ATtiny85 za vsak zatič je podan v spodnji tabeli:
Pin št. |
Pripnite ime |
Opis pin |
1. |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Prekinitev zamenjave pinov 0, vir5 PONASTAVITEV: ponastavi pin ADC0: Vhodni kanal ADC 0 dW: odpravljanje napak WIRE I / O |
2. |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Prekinitev zamenjave pinov 0, Source3 XTAL1: kristalni oscilator Pin1 CLKI: Vhod zunanje ure ADC3: Vhodni kanal ADC 3 |
3. |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Prekinitev zamenjave pinov 0, vir 4 XTAL2: 2 kristalni oscilator CLKO: Izhod sistemske ure OC1B: Timer / Counter1 Primerjaj izhod Match B ADC2: Vhodni kanal ADC 2 |
4. |
GND |
Ground Pin |
5. |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: Izhod glavnih podatkov SPI / vnos pomožnih podatkov DI: vnos podatkov USI (trižični način) SDA: vnos podatkov USI (dvožični način) AIN0: Analogni primerjalnik, pozitiven vhod OC0A: Timer / Counter0 Primerjaj izhod Match A AREF: Zunanja analogna referenca PCINT0: Prekinitev menjave pinov 0, vir 0 |
6. |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Vnos glavnih podatkov SPI / izhod podrejenih podatkov DO: Izhod podatkov USI (način treh žic) AIN1: Analogni primerjalnik, negativni vhod OC0B: Timer / Counter0 Primerjaj izhod Match B OC1A: Timer / Counter1 Primerjaj izhod Match A PCINT1: Prekinitev zamenjave zatiča 0, vir 1 |
7. |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: vnos serijske ure USCK: ura USI (način treh žic) SCL: ura USI (dvožični način) ADC1: Vhodni kanal ADC 1 T0: Timer / Counter0 Clock Source INT0: Vhod zunanje prekinitve 0 PCINT2: Prekinitev zamenjave zatiča 0, vir 2 |
8. |
VCC |
Pin napajalne napetosti |
Utripajoči zagonski nalagalnik na ATtiny85 z uporabo Arduino Uno
Za programiranje ATtiny85 brez Arduina bi morali vanj najprej naložiti zagonski nalagalnik z uporabo plošče Arduino UNO, to je enkratni postopek in po tem ne bomo več potrebovali plošče UNO. Boot-loader je poseben program, ki se izvaja v mikrokrmilniku, ki ga je treba programirati. Eden najprimernejših načinov nalaganja podatkov programa na mikrokrmilnik je prek zagonskega nalagalnika. Boot-loader sedi na MCU in izvaja dohodna navodila, nato pa v pomnilnik mikrokrmilnika zapiše nove informacije o programu. Utripanje zagonskega nalagalnika na mikrokrmilniku odstrani potrebo po posebni zunanji strojni opremi (programske plošče) za programiranje mikrokrmilnika in lahko ga boste lahko programirali neposredno prek povezave USB. Digispark ATtiny85plošča poganja zagonski nalagalnik “micronucleus tiny85”, ki ga je prvotno napisal Bluebie. Zagonski nalagalnik je koda, ki je vnaprej programirana v Digisparku in ji omogoča, da deluje kot naprava USB, tako da jo lahko programira Arduino IDE. Na ATtiny85 bomo sprožili tudi isti zagonski nalagalnik digispark attiny85.
Spodaj je podan vodnik po korakih za bliskavico na ATtiny85 z uporabo Arduino Uno in Arduino IDE:
1. korak: Konfiguriranje Arduino Uno kot ponudnika internetnih storitev:
Ker je ATtiny85 le mikrokrmilnik, zahteva programiranje ISP (In-System Programming). Za programiranje ATtiny85 moramo najprej Arduino Uno konfigurirati kot ponudnika internetnih storitev, da deluje kot programer za ATtiny85. Za to priključite Arduino Uno na prenosni računalnik in odprite Arduino IDE. Po tem se pomaknite do Datoteka> Primer> ArduinoISP in naložite kodo ISP Arduino.
2. korak: Shema vezja za utripajoči zagonski nalagalnik na ATtiny85:
Celotna shema utripajočega zagonskega nalagalnika na ATtiny85 je navedena spodaj:
Kondenzator 10 µf je povezan med Reset in GND pin Arduino. Celotne povezave so podane v spodnji tabeli:
Zatič ATtiny85 |
Pin Arduino Uno |
Vcc |
5V |
GND |
GND |
Zatič 2 |
13. |
Zatič 1 |
12. |
Zatič 0 |
11. |
Ponastaviti |
10. |
Zdaj priključite Arduino Uno na prenosni računalnik in odprite Arduino IDE. Poiščite, na katera vrata COM je povezan Uno. V mojem primeru je to COM5.
Po tem s podane povezave prenesite datoteke ATtiny85 Boot-loader. Odprite " Burn_AT85_bootloader.bat " in spremenite številko vrat COM "PCOM5" s katero koli številko vrat COM, s katero je povezan vaš Uno. Pred izhodom shranite spremembe.
Zdaj premaknite urejeni datoteki " Burn_AT85_bootloader.bat " in " ATtiny85.hex " v korensko mapo Arduino IDE (C: \ Program Files (x86) Arduino).
Po tem z desno miškino tipko kliknite " Burn_AT85_bootloader.bat " in izberite "Zaženi kot skrbnik". Zagon zagonskega nalagalnika traja približno 5 do 6 sekund. Če je šlo vse dobro, boste prejeli to sporočilo "AVRdude done. Hvala. Pritisnite katero koli tipko za nadaljevanje…".
S tem je zagonski nalagalnik uspešno nameščen na čip ATtiny85. Zdaj je čas, da USB povežemo z ATtiny85, da ga lahko neposredno programiramo. Shema vezja za programiranje ATtiny85 prek USB je podana spodaj:
Shema vezja za ATtiny programer
Shema je vzeta iz sheme plošče Digispark ATtiny85, a ker želimo izdelati programer za ATtiny85, povezujemo samo moški vtič USB z ATtiny85.
R3 je vlečni upor, ki je povezan med Vcc in PB3 zatiči IC, medtem ko so Zener diode (D1-D2) dodane za popolno zaščito vmesnika USB. Po spajkanju vseh komponent na ploščo za perf, bo videti nekako takole spodaj:
Namestitev gonilnikov Digispark
Če želite programirati ATtiny85 z uporabo USB-ja, morate imeti na prenosnem računalniku nameščene gonilnike Digispark. Če jih nimate, jih lahko prenesete s pomočjo zgornje povezave. Nato izvlecite datoteko zip in dvokliknite aplikacijo “ DPinst64.exe ”, da namestite gonilnike.
Ko so gonilniki uspešno nameščeni, priključite ploščo ATtiny85 na prenosni računalnik. Zdaj pojdite na Upravitelj naprav v vašem sistemu Windows in naprava ATtiny85 bo navedena pod „naprave libusb-win32“ kot „Digispark Bootloader“. Če v upravitelju naprav ne najdete »naprav libusb-win32«, pojdite na Pogled in kliknite »Pokaži skrite naprave«.
Nastavitev Arduino IDE za programiranje ATttiny85
Za programiranje plošče ATtiny85 z Arduino IDE moramo najprej dodati podporo plošče Digispark v Arduino IDE. Za to pojdite na Datoteka> Nastavitve in dodajte spodnjo povezavo v URL-je dodatnega upravitelja plošč in kliknite »V redu«.
Po tem pojdite na orodja> Board> Board Manager in poiščite »Digistump AVR« in namestite najnovejšo različico.
Po namestitvi bi lahko zdaj videli nov vnos v meniju plošče z naslovom 'Digispark'.
Zdaj pojdite na datoteko> Primeri> Osnove in odprite primer utripanja.
Spremenite številko nožice iz LED_BUILTIN v 0.
Zdaj se vrnite na Orodja -> Plošča in izberite ploščo » Digispark (privzeto - 16 MHz) «. Nato kliknite gumb za nalaganje v Arduino IDE.
Opomba: Povežite ploščo ATtiny85 z računalnikom, šele ko se v Arduino IDE prikaže sporočilo »Plugin device now«.
Ko je koda naložena, mora LED, priključena na ATtiny85, začeti utripati.
Tako lahko ustvarite svojo lastno programsko ploščo ATtiny85 Arduino. Delovni videoposnetek istega je spodaj. Če imate kakršna koli vprašanja, jih pustite v oddelku za komentarje. Za kakršna koli druga tehnična vprašanja lahko tudi začnete razpravo na naših forumih.