- Komponente potrebne za programiranje ATtiny85 putem USB-a
- ATtiny85 IC mikrokontrolera - Uvod
- Trepćući boot-loader na ATtiny85 koristeći Arduino Uno
- Kružni dijagram za ATtiny programer
- Instaliranje upravljačkih programa Digispark
- Postavljanje Arduino IDE-a za programiranje ATttiny85
Obitelj ATtiny serija je jednog od najmanjih mikrokontrolera na tržištu AVR. Ovi mikrokontroleri mogu koristiti mnoge knjižnice dostupne na Arduino platformi. Čip mikrokontrolera ATtiny85 je 8-pinski, 8-bitni, AVR mikrokontroler. Zbog male veličine i male potrošnje energije izvrsno se podudara s prijenosnim projektima s malim otiscima i malim zahtjevima za napajanjem. No, unos vašeg koda na čip može biti mali izazov jer nema USB sučelje poput ploča mikrokontrolera.
U našem prethodnom vodiču programirali smo ATtiny85 koristeći Arduino Uno. Ali povezivanje Attiny85-a s Arduinom i korištenje Arduina kao ISP-a može biti teško i dugotrajno. Dakle, u ovom uputstvu ćemo izgraditi programsku ploču ATtiny85, tako da je možemo izravno priključiti i programirati kao ostale ploče mikrokontrolera.

Komponente potrebne za programiranje ATtiny85 putem USB-a
- Arduino UNO (samo prvi put prilikom prijenosa pokretačkog programa)
- ATtiny85 IC
- USB utikač A-tipa muški
- 3 otpornika (2 × 47Ω i 1 × 1kΩ)
- 3 diode (2 × Zener dioda i 1 × IN5819 dioda)
- 8-pinska IC baza
- Breadboard
- Jumper žice
ATtiny85 IC mikrokontrolera - Uvod
Atmelov ATtiny85 je 8-bitni mikrokontroler male snage s visokim performansama zasnovan na naprednoj RISC arhitekturi. Ovaj mikrokontrolerski čip sadrži 8KB ISP flash memorije, 512B EEPROM, 512-byte SRAM, 6 I / O linija opće namjene, 32 radna registra opće namjene, jedan 8-bitni timer / brojač s načinima usporedbe, jedan 8-bitni brzi timer / brojač, USI, unutarnji i vanjski prekidi, 4-kanalni 10-bitni A / D pretvarač, programabilni nadzorni sat s unutarnjim oscilatorom, tri načina uštede energije koji se mogu odabrati i debugWIRE za otklanjanje pogrešaka na čipu. Iznad ATtiny85 dan je u nastavku:

Većina I / O pinova čipa ima više od jedne funkcije. Opis pin-a ATtiny85 za svaki pin dat je u donjoj tablici:
|
Pin br. |
Naziv pribadače |
Opis pribadače |
|
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Prekid promjene pina 0, izvor5 RESET: Resetiraj pin ADC0: ADC ulazni kanal 0 dW: ispravljanje pogrešaka WIRE I / O |
|
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Prekid promjene pina 0, Izvor3 XTAL1: kristalni oscilator Pin1 CLKI: Ulaz vanjskog sata ADC3: ADC ulazni kanal 3 |
|
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Prekid promjene pina 0, izvor 4 XTAL2: Pribadača kristalnog oscilatora 2 CLKO: Izlaz sistemskog sata OC1B: Tajmer / brojač1 Usporedite izlaz B podudaranja ADC2: ADC ulazni kanal 2 |
|
4 |
GND |
Pribadača |
|
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: Izlaz glavnih podataka SPI / Unos podataka podređenih podataka DI: Unos podataka USI (način rada s tri žice) SDA: USI unos podataka (dvožični način) AIN0: Analogna usporedba, pozitivan ulaz OC0A: Tajmer / brojač0 Usporedite izlaz A podudaranja AREF: Vanjska analogna referenca PCINT0: Prekid promjene pina 0, izvor 0 |
|
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI ulaz glavnih podataka / izlaz podataka podređenih podataka DO: USI izlaz podataka (način rada s tri žice) AIN1: Analogna usporedba, negativni ulaz OC0B: Tajmer / brojač0 Usporedite izlaz B podudaranja OC1A: Tajmer / brojač1 Usporedite izlaz A podudaranja PCINT1: Prekid promjene pina 0, izvor 1 |
|
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Ulaz serijskog sata USCK: USI sat (način rada s tri žice) SCL: USI sat (dvožični način rada) ADC1: ADC ulazni kanal 1 T0: Tajmer / brojač0 Izvor sata INT0: Ulaz vanjskog prekida 0 PCINT2: Prekid promjene pina 0, izvor 2 |
|
8 |
VCC |
Pin za napon napajanja |
Trepćući boot-loader na ATtiny85 koristeći Arduino Uno
Za programiranje ATtiny85 bez Arduina, najprije bismo u njega morali učitati bootloader pomoću Arduino UNO ploče, ovo je jednokratni postupak i nakon što to bude učinjeno, neće nam trebati UNO ploča ponovo. Boot-loader je poseban program koji se pokreće u mikrokontroleru koji se mora programirati. Jedan od najprikladnijih načina za učitavanje podataka vašeg programa na mikrokontroler je kroz boot-loader. Učitavač za pokretanje sjedi na MCU-u i izvršava dolazne upute, a zatim upisuje nove podatke o programu u memoriju mikrokontrolera. Treptanjem pokretačkog programa na mikrokontroleru uklanja se potreba za posebnim vanjskim hardverom (programske ploče) za programiranje mikrokontrolera i moći ćete ga programirati izravno pomoću USB veze. Digispark ATtiny85ploča pokreće boot-loader "micronucleus tiny85", koji je izvorno napisao Bluebie. Učitavač je kod koji je unaprijed programiran na Digisparku i omogućuje mu da djeluje kao USB uređaj kako bi ga Arduino IDE mogao programirati. Također ćemo flash isti digispark attiny85 bootloader na ATtiny85.
Koračni vodič za flash pokretanje uređaja na ATtiny85 pomoću Arduino Uno i Arduino IDE dan je u nastavku:
1. korak: Konfiguriranje Arduino Uno kao ISP-a:
Budući da je ATtiny85 samo mikrokontroler, potreban mu je ISP (In-System Programming). Dakle, da bismo programirali ATtiny85, prvo moramo konfigurirati Arduino Uno kao ISP-a da djeluje kao programer za ATtiny85. Za to spojite Arduino Uno na Laptop i otvorite Arduino IDE. Nakon toga, idite na Datoteka> Primjer> ArduinoISP i prenesite Arduino ISP kôd.

Korak 2: Dijagram sklopa za trepćući boot-loader na ATtiny85:
Kompletna shema za trepćući boot-loader na ATtiny85 dana je u nastavku:

Kondenzator od 10 µf povezan je između Reset i GND pina Arduina. Kompletne veze date su u donjoj tablici:
|
Pribadača ATtiny85 |
Arduino Uno Pin |
|
Vcc |
5V |
|
GND |
GND |
|
Pin 2 |
13 |
|
Pribadača 1 |
12 |
|
Prikvači 0 |
11 |
|
Resetirati |
10 |
Sada priključite Arduino Uno na prijenosno računalo i otvorite Arduino IDE. Pronađite na koji je COM port povezan Uno. U mom slučaju to je COM5.
Nakon toga preuzmite datoteke ATtiny85 Boot-loader s dane veze. Otvorite " Burn_AT85_bootloader.bat " i promijenite broj COM porta "PCOM5" s bilo kojim brojem COM porta na koji je povezan vaš Uno. Spremite promjene prije izlaska.
Sada premjestite uređene datoteke " Burn_AT85_bootloader.bat " i " ATtiny85.hex " u korijensku mapu Arduino IDE (C: \ Program Files (x86) Arduino).
Nakon toga kliknite desnom tipkom miša na " Burn_AT85_bootloader.bat " i odaberite "Pokreni kao administrator". Potrebno je otprilike 5 do 6 sekundi za pokretanje pokretačkog programa. Ako je sve prošlo u redu, trebali biste primiti ovu poruku "AVRdude done. Hvala. Pritisnite bilo koju tipku za nastavak…".

Ovim je boot loader uspješno instaliran na ATtiny85 čip. Sada je vrijeme da USB povežemo s ATtiny85om kako bismo ga mogli izravno programirati. Dijagram sklopa za programiranje ATtiny85 putem USB-a dat je u nastavku:
Kružni dijagram za ATtiny programer
Shema je preuzeta iz sheme ploče Digispark ATtiny85, ali kako želimo izraditi programer za ATtiny85, povezujemo samo muški USB utikač s ATtiny85.

R3 je pull-up otpornik koji je povezan između Vcc i PB3 pinova IC, dok su Zener diode (D1-D2) dodane za potpunu zaštitu USB sučelja. Nakon lemljenja svih komponenata na perf ploči, izgledat će otprilike kao u nastavku:

Instaliranje upravljačkih programa Digispark
Da biste ATtiny85 programirali putem USB-a, na prijenosnom računalu morate imati instalirane upravljačke programe Digispark. Ako ih nemate, možete ih preuzeti pomoću gore navedene veze. Zatim izvucite zip datoteku i dvaput kliknite aplikaciju " DPinst64.exe " da biste instalirali upravljačke programe.

Nakon što se upravljački programi uspješno instaliraju, priključite ploču ATtiny85 na prijenosno računalo. Sada idite na Upravitelj uređaja na vašem sustavu Windows i uređaj ATtiny85 bit će naveden pod „libusb-win32 devices“ kao „Digispark Bootloader“. Ako na upravitelju uređaja ne možete pronaći 'libusb-win32 uređaje', idite na Pogled i kliknite na 'Prikaži skrivene uređaje'.
Postavljanje Arduino IDE-a za programiranje ATttiny85
Da bismo ATtiny85 ploču programirali s Arduino IDE-om, prvo moramo dodati podršku za ploču Digispark u Arduino IDE. Za to idite na Datoteka> Postavke i dodajte donju vezu u URL-ove upravitelja dodatnih ploča i kliknite "U redu".
Nakon toga idite na alati> Ploča> Upravitelj ploče i potražite "Digistump AVR" i instalirajte najnoviju verziju.

Nakon što ste ga instalirali, sada ćete u izborniku ploče moći vidjeti novi unos pod nazivom 'Digispark'.

Sada idite na datoteku> Primjeri> Osnove i otvorite primjer Blink.

Tamo promijenite broj pin-a iz LED_BUILTIN u 0.

Sada se vratite na Alati -> Ploča i odaberite ploču " Digispark (zadano - 16 MHz) ". Zatim kliknite gumb za prijenos u Arduino IDE-u.
Napomena: Spojite ploču ATtiny85 na računalo, samo kada Arduino IDE prikaže poruku koja kaže “Plugin device now”.
Nakon što se kod učita, LED spojena na ATtiny85 trebala bi početi treptati.
Na ovaj način možete izgraditi vlastitu ploču za programiranje Ardino ATtiny85. Radni video istih naveden je u nastavku. Ako imate pitanja, ostavite ih u odjeljku za komentare. Za bilo koja druga tehnička pitanja možete započeti raspravu na našim forumima.
