- Súčasti potrebné na programovanie ATtiny85 cez USB
- IC mikrokontroléra ATtiny85 - úvod
- Blikajúci bootovací nakladač na ATtiny85 pomocou Arduino Uno
- Schéma zapojenia programátora ATtiny
- Inštalácia ovládačov Digispark
- Nastavenie Arduino IDE na program ATttiny85
Rodina ATtiny je séria jedného z najmenších mikrokontrolérov na trhu AVR. Tieto mikrokontroléry sú schopné využívať mnoho knižníc dostupných na platforme Arduino. Čip mikrokontroléra ATtiny85 je 8-pinový, 8-bitový, mikrokontrolér AVR. Vďaka malým rozmerom a nízkej spotrebe energie sa skvele hodí pre prenosné projekty s malými rozmermi a nízkymi požiadavkami na výkon. Ale dostať svoj kód na čip môže byť trochu výzva, pretože nemá žiadne USB rozhranie ako dosky mikrokontrolérov.
V našom predchádzajúcom tutoriáli sme programovali ATtiny85 pomocou Arduino Uno. Ale pripojenie Attiny85 k Arduinu a používanie Arduina ako ISP môže byť náročné a časovo náročné. V tomto tutoriále teda chystáme zostavenie Programovacej dosky ATtiny85, aby sme ju mohli priamo pluginovať a programovať ako ostatné dosky mikrokontrolérov.
Súčasti potrebné na programovanie ATtiny85 cez USB
- Arduino UNO (iba prvýkrát počas nahrávania bootloaderu)
- ATtiny85 IC
- USB zástrčka typu A, zástrčka
- 3 rezistory (2 × 47Ω & 1 × 1kΩ)
- 3 diódy (2 × Zenerova dióda a 1 × IN5819 dióda)
- 8-kolíková IC základňa
- Nepál
- Prepojovacie drôty
IC mikrokontroléra ATtiny85 - úvod
Atmel ATtiny85 je vysoko výkonný 8-bitový mikrokontrolér s nízkym výkonom založený na architektúre Advanced RISC Architecture. Tento čip mikrokontroléra obsahuje 8KB ISP flash pamäť, 512B EEPROM, 512-bajtovú SRAM, 6 univerzálnych I / O liniek, 32 univerzálnych pracovných registrov, jeden 8-bitový časovač / počítadlo s režimami porovnania, jeden 8-bitový vysokorýchlostný časovač / počítadlo, USI, interné a externé prerušenia, 4-kanálový 10-bitový A / D prevodník, programovateľný časovač strážneho psa s interným oscilátorom, tri softvérovo voliteľné režimy úspory energie a debugWIRE na ladenie na čipe. ATtiny85 Pinout je uvedený nižšie:
Väčšina I / O pinov čipu má viac ako jednu funkciu. Popis pinov ATtiny85 pre každý pin je uvedený v nasledujúcej tabuľke:
PIN č. |
Názov špendlíka |
Popis špendlíka |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 RESET: Resetovať PIN ADC0: Vstupný kanál ADC 0 dW: ladenie WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Change Interrupt 0, Source3 XTAL1: Krištáľový oscilátor Pin1 CLKI: Vstup externých hodín ADC3: Vstupný kanál ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Prerušenie výmeny pinov 0, zdroj 4 XTAL2: Pin 2 oscilátora kryštálu CLKO: Výstup systémových hodín OC1B: Časovač / Počítadlo1 Porovnáva výstup zhody B. ADC2: Vstupný kanál ADC 2 |
4 |
GND |
Uzemňovací kolík |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI výstup hlavných dát / Slave dátový vstup DI: Vstup údajov USI (režim troch vodičov) SDA: Vstup údajov USI (režim dvoch vodičov) AIN0: Analógový komparátor, kladný vstup OC0A: Timer / Counter0 Porovnajte výstup zhody A. AREF: Externá analógová referencia PCINT0: Prerušenie zmeny PINu, zdroj 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Vstup hlavných údajov SPI / výstup vedľajších údajov DO: Dátový výstup USI (režim troch vodičov) AIN1: Analógový komparátor, záporný vstup OC0B: Timer / Counter0 Porovnajte výstup zhody B. OC1A: Časovač / Počítadlo1 Porovnajte výstup Zhody A. PCINT1: Prerušenie výmeny pinov 0, zdroj 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Sériový vstup hodín USCK: Hodiny USI (režim troch vodičov) SCL: Hodiny USI (režim dvoch vodičov) ADC1: Vstupný kanál ADC 1 T0: Zdroj časovača / počítadla0 INT0: Vstup externého prerušenia 0 PCINT2: Prerušenie zmeny PINu, zdroj 2 |
8 |
VCC |
Pin napájacieho napätia |
Blikajúci bootovací nakladač na ATtiny85 pomocou Arduino Uno
Pri programovaní ATtiny85 bez Arduina by sme do neho najskôr museli nahrať bootloader pomocou dosky Arduino UNO, jedná sa o jednorazový proces a potom, čo už bude toto hotové, nebudeme už kartu UNO znova potrebovať. Boot-loader je špeciálny program, ktorý beží v mikrokontroléri, ktorý musí byť naprogramovaný. Jedným z najpohodlnejších spôsobov, ako načítať programové dáta do mikrokontroléra, je zavádzač. Boot-loader sedí na MCU a vykonáva prichádzajúce pokyny a potom zapisuje nové informácie o programe do pamäte mikrokontroléra. Blikanie bootloaderu na mikrokontroléri odstráni potrebu špeciálneho externého hardvéru (programátorské dosky) na programovanie mikrokontroléra a budete ho môcť programovať priamo pomocou pripojenia USB. Digispark ATtiny85na doske beží bootloader „micronucleus tiny85“, pôvodne napísaný Bluebie. Zavádzací program je kód, ktorý je vopred naprogramovaný na serveri Digispark a umožňuje mu fungovať ako zariadenie USB, aby ho bolo možné programovať pomocou IDE Arduino. Na ATtiny85 tiež chystáme flashovať ten istý bootloader digispark attiny85.
Nasleduje podrobný sprievodca pre flash bootloader na ATtiny85 pomocou Arduino Uno a Arduino IDE:
Krok 1: Konfigurácia Arduino Uno ako ISP:
Pretože ATtiny85 je iba mikrokontrolér, vyžaduje si programovanie ISP (In-System Programming). Takže na programovanie ATtiny85 musíme najskôr nakonfigurovať Arduino Uno ako ISP, aby fungoval ako programátor pre ATtiny85. Za týmto účelom pripojte Arduino Uno k notebooku a otvorte Arduino IDE. Potom prejdite do ponuky Súbor> Príklad> ArduinoISP a nahrajte kód ISP Arduino.
Krok 2: Schéma zapojenia blikajúceho bootovacieho nakladača na ATtiny85:
Kompletná schéma Flashing Boot-loader na ATtiny85 je uvedená nižšie:
Medzi pin Reset a GND Arduina je pripojený kondenzátor 10 μf. Kompletné pripojenia sú uvedené v nasledujúcej tabuľke:
ATtiny85 Pin |
Pin Arduino Uno |
Vcc |
5V |
GND |
GND |
Pin 2 |
13 |
Pin 1 |
12 |
Pin 0 |
11 |
Resetovať |
10 |
Teraz pripojte Arduino Uno k notebooku a otvorte Arduino IDE. Nájdite, ku ktorému portu COM je zariadenie Uno pripojené. V mojom prípade je to COM5.
Potom si z daného odkazu stiahnite súbory bootloaderu ATtiny85. Otvorte súbor „ Burn_AT85_bootloader.bat “ a zmeňte číslo portu COM „PCOM5“ na akékoľvek číslo portu COM, ku ktorému je vaše Uno pripojené. Pred ukončením uložte zmeny.
Teraz presuňte upravené súbory „ Burn_AT85_bootloader.bat “ a „ ATtiny85.hex “ do koreňového priečinka Arduino IDE (C: \ Program Files (x86) Arduino).
Potom kliknite pravým tlačidlom myši na súbor „ Burn_AT85_bootloader.bat “ a vyberte príkaz „Spustiť ako správca“. Blikanie bootovacieho nakladača trvá približne 5 až 6 sekúnd. Ak všetko prebehlo dobre, mali by ste dostať túto správu "AVRdude hotovo. Ďakujem. Pokračujte stlačením ľubovoľného klávesu…".
Vďaka tomu je bootovací nakladač úspešne nainštalovaný na čip ATtiny85. Teraz je čas pripojiť USB k ATtiny85, aby sme ho mohli programovať priamo. Schéma zapojenia pre programovanie ATtiny85 cez USB je uvedená nižšie:
Schéma zapojenia programátora ATtiny
Schéma je prevzatá zo schémy dosky Digispark ATtiny85, ale keďže sa zameriavame na vývoj programátora pre ATtiny85, pripájame iba Male USB Plug k ATtiny85.
R3 je pull-up rezistor, ktorý je pripojený medzi piny Vcc a PB3 IC, zatiaľ čo pre celkovú ochranu rozhrania USB sú pridané Zenerove diódy (D1-D2). Po spájkovaní všetkých komponentov na doske perf bude vyzerať asi takto:
Inštalácia ovládačov Digispark
Ak chcete programovať ATtiny85 pomocou USB, musíte mať vo svojom notebooku nainštalované ovládače Digispark, pokiaľ ich nemáte, môžete si ich stiahnuť pomocou odkazu uvedeného vyššie. Potom rozbaľte súbor ZIP a dvojitým kliknutím na aplikáciu „ DPinst64.exe “ nainštalujte ovládače.
Po úspešnej inštalácii ovládačov zapojte dosku ATtiny85 k notebooku. Teraz choďte do Správcu zariadení vo vašom Windows a zariadenie ATtiny85 bude uvedené v zozname „libusb-win32 devices“ ako „Digispark Bootloader“. Ak v správcovi zariadení nenájdete „zariadenia libusb-win32“, choďte na Zobraziť a kliknite na „Zobraziť skryté zariadenia“.
Nastavenie Arduino IDE na program ATttiny85
Ak chcete naprogramovať dosku ATtiny85 na Arduino IDE, je potrebné najskôr do Arduino IDE pridať podporu dosky Digispark. Prejdite do časti Súbor> Predvoľby a pridajte do odkazu URL ďalších správcov dosiek nasledujúci odkaz a kliknite na „OK“.
Potom choďte do nástrojov> Board> Board Manager a vyhľadajte „Digistump AVR“ a nainštalujte najnovšiu verziu.
Po inštalácii by ste teraz videli nový záznam v ponuke Board s názvom „Digispark“.
Teraz choďte na súbor> Príklady> Základné a otvorte príklad Blink.
Zmeňte číslo PINu tam z LED_BUILTIN na 0.
Teraz sa vráťte späť na Nástroje -> Doska a vyberte dosku „ Digispark (Predvolené - 16 MHz) “. Potom kliknite na tlačidlo nahrávania v Arduino IDE.
Poznámka: Pripojte dosku ATtiny85 k počítaču, iba ak Arduino IDE zobrazí správu s textom „Plugin device now“.
Po načítaní kódu by mala LED dióda pripojená k ATtiny85 začať blikať.
Takto si môžete zostaviť vlastnú programovaciu dosku ATtiny85 Arduino. Nižšie je uvedené pracovné video. Ak máte nejaké otázky, nechajte ich v sekcii komentárov. V prípade akýchkoľvek ďalších technických otázok môžete tiež začať diskusiu na našom fóre.