Medtem ko so Arduino razvojne plošče znane po enostavni uporabi, zaradi česar so postale ljubljenke skupnosti, obstaja več primerov, ko njihova uporaba ni priporočljiva za projekt. Še posebej pri projektih, kjer razvijalci želijo majhno ohišje ali pa mora naprava imeti nizko porabo.
Kot nadomestek razvijalci v večini primerov običajno uporabljajo ATmega328p, vendar tudi to običajno poveča projekt. Da bi vse to rešili, razvijalci svojo pozornost usmerjajo na novo serijo mikrokontrolerjev ATtiny in za tokratni projekt se bomo osredotočili na to, kako lahko novo serijo uporabimo z Arduinom.
Morda niso tako priljubljeni kot ATmega328p, vendar nova serija mikrokontrolerjev ATtiny Microchip, kot sta ATtiny85 ali ATtiny2313, ne potrebuje predstavitve. Poganjajo vrsto drobnih naprav, kot je serija plošč Digispark, vendar so pri opravilih na žalost skoraj neuporabni, saj imajo zelo omejen Flash (običajno manj kot 8K) in RAM (manj kot 1K). Da bi to izboljšal, je Microchip izdal novo serijo čipov ATtiny z več pomnilnika in funkcionalnosti, ki so dovolj, da se lahko primerjajo tudi z nekaterimi dražjimi in priljubljenimi mikrokontrolerji serije ATmega.
Ta vsebina je samo za naročnike
- Na voljo so v SMD ohišjih in niso združljivi z nameščenimi ploščami, zato jih je težko uporabiti za domače graditelje.
- Manjkajo jim verige orodij, ki jih imajo MCU-ji, kot je ATmega328p, ki njihovim uporabnikom omogočajo, da uživajo v isti enostavnosti programiranja, povezani z Arduino ploščami (in kloni).
Da bi se izognili tem slabostim, so inženirji in ljubitelji v kratkem času začeli ustvarjati različne odprtokodne rešitve, ki omogočajo programiranje čipov prek Arduino IDE. Za tokratni članek bomo ustvarili adapter, ki bo čipe naredil prijazne, prav tako pa bomo preučili, kako lahko nekdo uporablja odprtokodne rešitve, ki vam omogočajo programiranje mikrokontrolerjev z uporabo Arduino IDE.
Potrebne komponente
Potrebujemo sledeče komponente:
- ATtiny serija mikrokontrolerjev 16 × 4. (npr. ATtiny1614)
- Arduino Nano
- 10k upor
- 10uf kondenzator
- Povezovalne žice
- Razvojna plošča
Te komponente lahko kupite v svojih najljubših spletnih trgovinah.
Izdelava ATtiny adapterja
Kot smo že omenili v uvodu, je eden največjih izzivov pri uporabi nove serije ATtiny mikrokontrolerjev njihova SMD narava, ki otežuje izdelavo prototipov, saj čipa ni mogoče priključiti neposredno na ploščo. Da bi odpravili to pomanjkljivost, bomo zasnovali adapter za čip.
Shema adapterja je preprosta. Vse, kar moramo storiti, je povezati priključke ATtiny čipa do konektorja. To je izvedeno na TIV, saj je to najprijaznejši način za izvajanje vsega, kar vključuje SMD komponente. Adapter je bil zasnovan z uporabo Eagle CAD, shema pa je prikazana na sliki 2.
TIV po zasnovi je prikazan na sliki 3.
Kot ste verjetno že opazili, se postavitev DIL-pin adapterja razlikuje od same postavitve SMD mikrokontrolerja. To je bilo storjeno zato, da je TIV enostranski in da se njegova širina ohrani znotraj 0,3 in, saj usmerjanje TIV-a tako, da je postavitev enaka postavitvi čipa SMD, zahteva širši ali obojestranski TIV. Širina adapterja 0,3 palca je bila namerna, saj je to širina, potrebna za vgradnjo adapterja v standardno 14-polno IC podnožje.
Priključki na zgornjem delu plošče predstavljajo priključke UPDI / RESET, VCC in GND, prek katerih je mogoče priključiti programator za programiranje mikrokontrolerja. Če odstranite te priključke na vrhu adapterske plošče, je enostavno programirati ATtiny, tudi če je adapter prispajkan v projekt.
Za lažje tiskanje lastnega tiskanega vezja so bile vse datoteke Eagle CAD, vključno z Gerberji, priložene v ZIP datoteki v razdelku za prenos. Lahko tiskate neposredno ali pa ga prilagodite svojim potrebam.
Če pa imate raje bolj prilagodljiv adapter, ki ga lahko znova uporabite za več čipov, ne da bi morali čipe spajkati in odspajkovati, lahko kupite adapter v obliki ZIF vtičnice, ki je naprodaj v Adafruit (slika 5).
Električna shema
Ko je adapter nameščen, ga povežete s programatorjem, ki bo nato povezan z vašim računalnikom. Za ta projekt bomo kot programator uporabili Arduino Nano, shema na sliki 6 pa prikazuje, kako je povezan adapter.
Kot predstavitev ATtiny v akciji bomo izvedli primer utripanja LED v Arduino okolju. Če želite to narediti, na nastavitev priključite LED, kot je prikazano na sliki 7.
Ko sta programator in LED povezana, lahko zdaj nadaljujemo s preučevanjem postopka nalaganja kode na ATtiny.
Priprava Arduino IDE
Da bi enostavnost programiranja z Arduino IDE, ki ga doživljajo običajne Arduino plošče in kloni, pripeljal do nove serije ATtiny MCU, je Spence Conde razvil paket plošč z imenom megaTinyCore, ki vam omogoča enostavno programiranje najnovejših serij ATtiny MCU-jev. prek Arduino IDE.
Za megaTinyCore je potrebna Arduino IDE različice 1.6.3 ali novejša, čeprav je bilo na njeni GitHub strani navedeno, da bo morda potreboval precej novejšo različico IDE s prvotnimi testi, izvedenimi v različici 1.8.9.
MegaTinyCore je mogoče namestiti na Arduino IDE na dva načina:
- Namestitev preko upravitelja Arduino plošč (Arduino Boards Manager)
- Ročna nastavitev
Raziskali bom obe metodi in se odločili, katera je najlažja ali hitrejša.
Namestitev prek upravitelja Arduino plošč
Upravitelj plošč Arduino je bil zasnovan tako, da uporabnikom olajša namestitev novih plošč in dodatkov. Če želite namestiti megaTinyCore s to metodo, sledite spodnjim korakom:
- Odprite okno z nastavitvami v Arduino IDE. Pojdite v Datoteka> Nastavitve ali Arduino> Nastavitve, če delate iz sistema macOS.
- V oknu z nastavitvami poiščite besedilno polje »Dodatni URL-ji upravitelja plošče« in v polje http://drazzy.com/package_drazzy.com_index.json vnesite, kot je prikazano na sliki 8 in kliknite tipko V redu.
- Nato odprite upravitelja Arduino plošče. Odprite Orodja> Plošče> Upravitelj Plošč
- Ko se odpre upravitelj plošč, v iskalno vrstico vnesite megaTinyCore in se pomaknite, videli boste »megaTinyCore by Spence Konde«, kliknite namestitev, kot je prikazano na sliki 9.
- Poiščite tudi paket »Uradne plošče Arduino megaAVR« in namestite tudi najnovejšo različico tega.
Ko je bilo vse to uspešno izvedeno, bi morali zdaj videti plošče ATtiny, vse navedene v razdelku plošč (orodja -> plošče) v Arduino IDE. Če je temu tako, to pomeni, da je bila namestitev plošče uspešna.
Ročna namestitev
Metoda upravitelja plošč Arduino zagotavlja določeno stopnjo avtomatizacije, po drugi strani pa ročna namestitev omogoča namestitev najnovejše različice jedra s popravki, ki morda še niso na voljo v različici jedra upravitelja plošč. Če želite uporabiti ročno namestitev, morate z upraviteljem plošč namestiti najnovejšo različico uradnega paketa plošč Official Arduino megaAVR, da bo ročna namestitev delovala.
Ročna namestitev je priporočljiva, če želite prispevati k razvoju jedra ali če so za vašo izdelavo pomembni najnovejši popravki, ki niso v izdani različici.
Za ročno namestitev sledite spodnjim korakom:
- Prepričajte se, da ste namestili najnovejšo različico uradnega paketa plošč Arduino megaAVR.
- Prenesite paket MegaTinyCore.zip (bodisi »izdana« različica bodisi s prenosom .zip glavnega repoja) v svoj računalnik.
- Razširite in položite datoteko v mapo »strojna oprema« znotraj mape skic (kjer se shranjujejo vaše Arduino skice). Če mapa strojne opreme ne obstaja, ustvarite novo mapo in jo poimenujte »strojna oprema«.
- Znova zaženite Arduino IDE.
Za samodejne posodobitve lahko namesto prenosa zip datoteke prenesete odjemalca GitHub in sinhronizirate ta repo v podmapo strojne opreme mape skic.
Ko so namestitveni koraki končani, bi morali zdaj videti plošče ATtiny, vse navedene v razdelku plošč (orodja -> plošče) Arduino IDE, če je bila namestitev uspešna.
Preoblikovanje Arduino Nano v UPDI programator
Drug izziv pri uporabi ATtiny čipov je način njihovega programiranja. Uporabljajo sistem, imenovan Unified Program and Debug Interface (na kratko UPDI). Ta vmesnik uporablja PIN RESET za programiranje in / ali razhroščevanje napak v napravi. Tako moramo Arduino Nano pretvoriti v UPDI programator, ki bo poslal ustrezne signale na UPDI / Reset pin.
Za to bomo uporabili skico UPDI Arduino, ki jo je ustvaril ElTangas. Skica pretvori Arduino na osnovi ATmega328 (p), kot so Arduino UNO, Nano in Pro mini, v programator UPDI. Skica pa ne deluje na ploščah, ki temeljijo na drugih mikrokontrolerjih, kot je plošča 32u4 (na Arduino Micro / Leo) ali plošči, ki ne vsebuje AVRja.
Naslednji koraki kažejo, kako to storiti.
- Zaprite vse primerke Arduino IDE, da se izognete napakam.
- Prenesite in izvlecite skico programerja UPDI
- Po razširitvi datoteke prenosa odprite mapo jtag2updi
- Odprite skico jtag2updi.ino in jo naložite na ploščo Arduino, ki jo želite uporabljati, kar je za nas Arduino Nano. Ko odprete kodo, bo datoteka .ino videti prazna in to je v redu, saj je vsa koda v drugih datotekah v isti mapi kot .ino, vendar je potreben prazen .ino, da jih lahko sestavi IDE.
Po uspešnem nalaganju ste pripravljeni na uporabo programerja UPDI. Če veliko uporabljate novo serijo ATtiny, bo pametna poteza, če boste Arduino Pro, Mini ali Nano ploščico popolnoma namenili kot stalni UPDI programator.
Programiranje kode v ATtiny
Za prikaz projekta v akciji bomo na ATtiny naložili primer Arduino utripanja LED. Primer utripanja ne potrebuje predstavitve, zato se ne bom trudil z razlago kode.
Ko je Arduino Nano povezan z ATtiny, kot je opisano v odseku shem, odprite primer utripanja, tako da odprete Datoteka-> Primeri-> Osnove-> Blink.
Z odprtim primerom izberite vrsto plošče in nastavite programator (Orodja-> programator (pomaknite se proti koncu)) kot jtag2updi (megaTinyCore).
Pred funkcijo setup () dodajte spodnjo vrstico kode, da označite priključek, na katerega je LEDica povezana (ker čip nima vgrajene LEDice).
#define LED_BUILTIN 0 //PA4 (Pin 2)
Pomembna stvar, ki jo je treba omeniti na tej točki, je razpored priključkov, ki prikazuje, kako je treba fizične IO-je sklicevati na funkcije Arduino C, kot so digitalRead, digitalWrite, analogRead ali analogWrite. Na primer, PA4, ki je na čipu označen kot pin 2, je v ID-ju Arduino naveden kot 0.
Upoštevajte tudi, da za razliko od ATmega328 MCU novi procesorji ATtiny nimajo ločenih analognih priključkov. Vse je mogoče uporabiti kot analogne ali digitalne, odvisno od tega, kako je navedeno v kodi.
Z zgoraj navedenim preverite kodo in pritisnite gumb za prenos. Sčasoma bi morali začeti videti, kako LED utripa. Na tej točki odklopite Arduino Nano in napajajte ATtiny iz vira 5VDC.
To je to!
Zdaj lahko v svoj projekt postavite novo serijo ATtiny mikrokontrolerjev. Prihranek prostora in denarja. V nasprotju s prejšnjimi ATtiny mikrokontrolerji so te nove serije MCU-jev opremljene z večjo količino Flash pomnilnikov, stanejo veliko manj in so na splošno bolj učinkoviti. Svetujem, da jih je treba obravnavati kot izbrani MCU za vaš naslednji majhen, poceni projekt z nizko porabo energije.
Avtor: Emmanuel Odunlade
email: emmaodunlade@gmail.com
2021-294