- Az ATtiny85 USB-n keresztüli programozásához szükséges elemek
- ATtiny85 mikrokontroller IC - Bevezetés
- Boot-loader villog az ATtiny85-en az Arduino Uno használatával
- Áramkör az ATtiny Programmer számára
- A Digispark illesztőprogramok telepítése
- Az Arduino IDE beállítása az ATttiny85 programozásához
Az ATtiny család az AVR piac egyik legkisebb mikrovezérlője. Ezek a mikrovezérlők képesek használni az Arduino platformon elérhető könyvtárak sokaságát. Az ATtiny85 mikrokontroller chip 8 tűs, 8 bites, AVR mikrokontroller. Kis mérete és alacsony energiafogyasztása kiválóan illeszkedik kis hordozhatóságú és alacsony energiaigényű hordozható projektekhez. De a kódnak a chipre való bejutása egy kis kihívást jelenthet, mivel nincs olyan USB interfésze, mint a mikrokontroller táblák.
Korábbi bemutatónkban az ATtiny85-et programoztuk az Arduino Uno segítségével. De az Attiny85 és az Arduino összekapcsolása, valamint az Arduino ISP-ként történő használata nehéz és időigényes lehet. Tehát ebben az oktatóanyagban fel fogunk építeni egy ATtiny85 programozótáblát, hogy közvetlenül beépítsük és programozzuk, mint a többi mikrokontroller lapot.
Az ATtiny85 USB-n keresztüli programozásához szükséges elemek
- Arduino UNO (Csak a bootloader feltöltésekor először)
- ATtiny85 IC
- USB A típusú csatlakozó dugó
- 3 ellenállás (2 × 47Ω & 1 × 1kΩ)
- 3 dióda (2 × Zener dióda és 1 × IN5819 dióda)
- 8 tűs IC alap
- Kenyérlemez
- Jumper huzalok
ATtiny85 mikrokontroller IC - Bevezetés
Az Atmel ATtiny85 egy nagy teljesítményű, kis teljesítményű, 8 bites mikrokontroller, amely az Advanced RISC architektúrán alapul. Ez a mikrokontroller chip 8KB ISP flash memóriával, 512B EEPROM, 512 bájtos SRAM-mal, 6 általános célú I / O vonallal, 32 általános célú munkaregiszterrel, egy 8 bites időzítővel / számlálóval összehasonlítási módokkal, egy 8 bites nagysebességű időzítő / számláló, USI, belső és külső megszakítások, 4 csatornás 10 bites A / D átalakító, programozható watchdog időzítő belső oszcillátorral, három szoftverrel választható energiatakarékos mód és debugWIRE a chipen belüli hibakereséshez. Az ATtiny85 Pinout az alábbiakban látható:
A chip legtöbb I / O tűje több funkcióval is rendelkezik. Az egyes csapokhoz tartozó ATtiny85 tű leírása az alábbi táblázatban található:
PIN-kód |
PIN neve |
PIN leírás |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 RESET: PIN- kód visszaállítása ADC0: ADC 0. bemeneti csatorna dW: a WIRE I / O hibakeresése |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Tűcsere megszakítás 0, Forrás3 XTAL1: Kristályoszcillátor csap 1 CLKI: Külső óra bemenet ADC3: ADC 3. bemeneti csatorna |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Tűcsere megszakítás 0, 4. forrás XTAL2: 2. kristályoszcillátor tű CLKO: Rendszeróra kimenet OC1B: Időzítő / Számláló1 Hasonlítsa össze a B mérkőzés kimenetét ADC2: ADC 2. bemeneti csatorna |
4 |
GND |
Talajcsap |
5. |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI törzsadatok kimenete / szolga adatok bevitele DI: USI adatbevitel (háromvezetékes mód) SDA: USI adatbevitel (kétvezetékes mód) AIN0: Analóg összehasonlító, pozitív bemenet OC0A: Időzítő / Számláló0 Hasonlítsa össze az A mérkőzés kimenetét AREF: Külső analóg referencia PCINT0: Tűcsere megszakítás 0, forrás 0 |
6. |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI törzsadatok bevitele / szolga adatok kimenete DO: USI adatkimenet (háromvezetékes mód) AIN1: Analóg összehasonlító, negatív bemenet OC0B: Időzítő / Számláló0 Hasonlítsa össze a B mérkőzés kimenetét OC1A: Időzítő / Számláló1 Hasonlítsa össze az A kimenetet PCINT1: Tűcsere megszakítás 0, 1. forrás |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Soros óra bemenet USCK: USI óra (háromvezetékes mód) SCL: USI óra (kétvezetékes mód) ADC1: ADC 1. bemeneti csatorna T0: Időzítő / Számláló0 Óraforrás INT0: Külső megszakítás 0 bemenet PCINT2: Tűcsere megszakítás 0, 2. forrás |
8. |
VCC |
Tápfeszültség csap |
Boot-loader villog az ATtiny85-en az Arduino Uno használatával
Az ATtiny85 Arduino nélküli programozásához először egy bootloadert kell feltöltenünk Arduino UNO kártya segítségével, ez egyszeri folyamat, és miután ez megtörtént, nem lesz szükségünk újra az UNO táblára. A Boot-loader egy speciális program, amely a mikrokontrollerben fut, és be kell programozni. A programadatok mikrokontrollerre történő betöltésének egyik legkényelmesebb módja a rendszerbetöltő. A Boot-loader az MCU-n ül és végrehajtja a beérkező utasításokat, majd új programinformációkat ír a mikrovezérlő memóriájába. A rendszerbetöltő villogása egy mikrovezérlőn feleslegessé teszi a speciális külső hardver (programozói alaplapok) szükségességét a mikrovezérlő programozásához, és közvetlenül USB-kapcsolaton keresztül programozhatja. A Digispark ATtiny85board futtatja a „micronucleus tiny85” rendszerindítót, amelyet eredetileg Bluebie írt. A boot-loader az a kód, amelyet előre beprogramoztak a Digisparkba, és lehetővé teszi, hogy USB eszközként működjön, hogy az Arduino IDE programozhassa. Az ATtiny85-en ugyanazt a digispark attiny85 rendszerindítót is villogtatni fogjuk.
Az alábbiakban egy lépésről lépésre bemutatunk egy flash bootloadert az ATtiny85-re az Arduino Uno és az Arduino IDE használatával:
1. lépés: Az Arduino Uno beállítása internetszolgáltatóként:
Mivel az ATtiny85 csak mikrovezérlő, programozásához ISP (rendszeren belüli programozás) szükséges. Tehát az ATtiny85 programozásához először be kell állítanunk az Arduino Unót ISP-ként, hogy az ATtiny85 programozójaként működjön. Ehhez csatlakoztassa az Arduino Uno-t a Laptophoz, és nyissa meg az Arduino IDE-t. Ezt követően keresse meg a Fájl> Példa> ArduinoISP elemet, és töltse fel az Arduino ISP kódot.
2. lépés: Áramvázlat az ATtiny85 villogó rendszerindítójáról:
Az ATtiny85-en található Flashing Boot-loader teljes vázlata az alábbiakban látható:
10 µf kondenzátor van csatlakoztatva az Arduino Reset és GND csapja közé. A teljes csatlakozásokat az alábbi táblázat tartalmazza:
ATtiny85 csap |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
2. tű |
13. |
1. tű |
12. |
Pin 0 |
11. |
Visszaállítás |
10. |
Most csatlakoztassa az Arduino Uno-t a laptophoz, és nyissa meg az Arduino IDE-t. Keresse meg, hogy az Uno milyen COM-porthoz csatlakozik. Az én esetemben ez a COM5.
Ezt követően töltse le az ATtiny85 Boot-loader fájlokat a megadott linkről. Nyissa meg a " Burn_AT85_bootloader.bat " fájlt, és változtassa meg a "PCOM5" COM port számát azzal a COM port számmal, amelyhez Uno csatlakozik. A kilépés előtt mentse a módosításokat.
Most helyezze át a szerkesztett " Burn_AT85_bootloader.bat " és " ATtiny85.hex " fájlokat az Arduino IDE gyökérmappába (C: \ Program Files (x86) Arduino).
Ezt követően kattintson a jobb gombbal a " Burn_AT85_bootloader.bat " elemre, és válassza a "Futtatás rendszergazdaként" lehetőséget. Körülbelül 5–6 másodpercbe telik a rendszerbetöltő villogása. Ha minden jól sikerült, akkor ezt az üzenetet kell kapnia: "AVRdude kész. Köszönöm. A folytatáshoz nyomja meg bármelyik gombot…".
Ezzel a Boot-loader sikeresen telepítve van az ATtiny85 chipre. Itt az ideje, hogy csatlakoztassa az USB-t az ATtiny85-hez, hogy közvetlenül programozni tudjuk. Az ATtiny85 USB- n keresztüli programozásának kapcsolási rajza az alábbiakban látható:
Áramkör az ATtiny Programmer számára
A vázlatot a Digispark ATtiny85 tábla vázlatából vettük át, de mivel egy programozót szeretnénk létrehozni az ATtiny85 számára, csak a Male USB Plug-ot csatlakoztatjuk az ATtiny85-hez.
Az R3 egy felhúzó ellenállás, amely az IC Vcc és PB3 csapjai közé van kapcsolva, miközben a Zener diódákat (D1-D2) adják hozzá a teljes USB interfész védelem érdekében. Miután forrasztotta az összes alkatrészt a perf táblán, az alábbiak szerint fog kinézni:
A Digispark illesztőprogramok telepítése
Az ATtiny85 USB-vel történő programozásához telepítenie kell a Digispark illesztőprogramokat a laptopjára, ha még nincs, letöltheti a fenti link segítségével. Ezután bontsa ki a zip fájlt, és kattintson duplán a „ DPinst64.exe ” alkalmazásra az illesztőprogramok telepítéséhez.
Az illesztőprogramok sikeres telepítése után csatlakoztassa az ATtiny85 kártyát a laptophoz. Most lépjen az Eszközkezelőhöz a Windows rendszeren, és az ATtiny85 eszköz a „libusb-win32 eszközök” alatt „Digispark Bootloader” néven szerepel. Ha nem találja a „libusb-win32 eszközöket” az eszközkezelőben, akkor lépjen a Nézet elemre, és kattintson a „Rejtett eszközök megjelenítése” elemre.
Az Arduino IDE beállítása az ATttiny85 programozásához
Az ATtiny85 Board Arduino IDE programozásához először hozzá kell adnunk a Digispark kártya támogatását az Arduino IDE-hez. Ehhez lépjen a Fájl> Beállítások elemre, és adja hozzá az alábbi linket a További táblák kezelő URL-címeihez, és kattintson az "OK" gombra.
Ezt követően lépjen az Eszközök> Board> Board Manager elemre, keresse meg a „Digistump AVR” szót, és telepítse a legújabb verziót.
A telepítés után most egy új bejegyzést láthat a Board menüben, amelynek neve „Digispark”.
Most lépjen a fájl> Példák> Alapok menüpontra, és nyissa meg a Blink példát.
Változtassa meg az ott lévő PIN-kódot a LED_BUILTIN értékről 0-ra.
Most térjen vissza az Eszközök -> Alaplapra, és válassza ki a „ Digispark (Alapértelmezett - 16 MHz) ” táblát. Ezután kattintson a feltöltés gombra az Arduino IDE-ben.
Megjegyzés: Csatlakoztassa az ATtiny85 kártyát a számítógéphez, csak ha az Arduino IDE megjeleníti a „Plugin device now” üzenetet.
A kód feltöltése után az ATtiny85-hez csatlakoztatott LED-nek villognia kell.
Így készítheti el saját ATtiny85 Arduino programozó tábláját. Az alábbiakban egy működő videót adunk. Ha bármilyen kérdése van, hagyja őket a megjegyzés részben. Ha bármilyen más technikai kérdés merülne fel, akkor fórumunkon vitát is indíthat.