ATtiny

 

 

Čipy ATtiny

Alternativním řešením verze "Arduina bez Arduina" je použití malých osmibitových procesorů řady ATtiny amerického výrobce ATmel Corporation. V porovnání s procesory řady ATmega jsou méně výkonné, určené pro základní aplikace. Byl vybrán čip ATtiny85. Čip ATtiny85 (viz foto) je možné pořídit v Asii i v ČR. Obsahuje dva napájecí piny, jeden pin RESET a pět účelových pinů. Podrobnosti k čipům ATtinyx5 jsou zde. U tohoto čipu bylo ověřeno nataktování a naprogramování.

Pro práci s čipy ATtiny potřebujeme doplnit vývojové prostředí Arduina (IDE) specifickými soubory. Standardní IDE, např. verze 1.8.9, neobsahuje položky předmětných čipů v seznamu desek, viz „Nástroje/Vývojová deska …“. 

Seznam doplníme: 

Otevřeme menu IDE „Soubor/Vlastnosti". Naše PC připojíme k Internetu a do dialogového okna „Správce dalších desek URL:“ přeneseme zde uvedený URL řetězec - zvolíme „OK“:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json  

 

V IDE přejdeme na: „Nástroje/Vývojová deska/Manažér desek… otevřeme manažéra desek a najdeme „attiny  by David A. Mellis“. Najedeme kurzorem na vybranou položku (zde červeně podtrženou) vybereme vyšší verzi a zvolíme „Instalace“.

 

 Po instalaci otevřeme v IDE „Nástroje/Vývojová deska“ ..... . Zde vidíme doplněné položky ATtiny:

 

Nyní můžeme přistoupit k práci s čipy ATtiny. 

K nahrání programu do čipu použijeme desku Arduino UNO jako programátora. Desku UNO připojíme k PC a nejprve nastavíme IDE na desku UNO. Do desky UNO nahrajeme program „Arduino ISP“, který najdeme v IDE: "Soubor/Příklady/Arduino ISP… ". Dále připojíme k desce UNO čip ATtini85 (pin č.1RES čipu ATtiny85 je u značky na horní ploše čipu):

 

Arduino UNO            ATtiny85

D10 - SS         ---------->    P5 RESET (č.1)

D11 - MOSI   ---------->    P0 MOSI (č.5)

D12 - MISO    ---------->    P1 MISO (č.6)

D13 - SCK       ---------->       P2 SCK

+5V             ---------->      +5V

GND          ---------->         GND

Nastavíme IDE na čip ATtiny85 podle níže uvedených položek. Desku UNO nastavíme do funkce programátora v položce „Nástroje“:

- Nástroje/Vývojová deska: ATtiny25/45/85

               - Nástroje /Procesor: ATtiny85

                - Nástroje/Clock: Internal 1MHz

                - Nástroje/Port: COMx (zvolíme detekovaný port)

-Nástroje/Programátor: „Arduino as ISP“ (nikoliv „Arduino ISP“ – nefunguje)

Nyní do čipu ATtiny85 vypálíme zaváděcí program, tzv. "bootloader". Parametry již neměníme a v nabídce "Nástroje" odklikneme "Vypálit zaváděč".

Čipy ATtiny85 jsou v prodeji nabízeny s taktovácí frekvenci 1MHz. Čip je možné přetaktovat na 8MHz.  Zvolíme v položce Nástroje/Clock: "Internal 8MHz" a opět odklikneme „Vypálit zaváděč“. Taktování lze stejným způsobem s volbou Clock: "Internal 1MHz“ vrátit zpět.

V IDE otevřeme z „Příkladů“ program „Blink“. Protože samotný čip ATtiny "nemá přidruženou ledku“, musíme přepsat v programu „Blink“ „LED_BUILTIN“ na „0“(na řádcích 28,33,35) , tj. nastavíme pin "P0“ čipu ATtiny85 do funkce blikání ledky (upravený skeč "Blink" pro ATtiny je zde). Zkompilujeme upravený program a nahrajeme prostřednictvím desky UNO do čipu ATtiny85 a to běžným způsobem klikem na „šipku nahrávání“. Nahrání by mělo proběhnout úspěšně. Poté připojíme na pin P0 čipu (tj. kontakt č.5, P0 MOSI) ledku přes odpor 150 ohmů proti GND a přesvědčíme se, zda bliká podle programu „Blink“.

 

Na základě uvedeného byla připravena účelová deska pro prácí s čipy ATtiny:

Zapojení desky je totožné s výše uvedeným schématem a lze ji připojit k desce UNO. Ledka připojená přes ochranný odpor k pinu P0 čipu slouží k ověření programu "Blink". Pevné připojení ledky nebrání nahrávání.

Uvedené nataktování a nahrání kódu "Blink" do čipu je vstupem do problematiky praktických aplikací čipu ATtiny85. Podle zdroje zde musí být čip ATtiny ošetřen kvalitní filtrací napájení, minimálně kondenzátorem 0,1 µF připojeným nejblíže ke kontaktům Vcc a GND čipu, případně (podle kvality zdroje) filtrací o kapacitě  10 - 1000 µF. Pracovní napětí čipu je 1,7 - 5,05 V. Měřené klidové odběry byly 5V/10 mA, 1.7V/5 mA. 

Malé čipy ATtiny mají ve srovnání s procesory ATmega odlišnou vnitřní architekturu.  Neobsahují implementaci SPI a i2c rozhraní, obsahují jen 2 piny universální sériové komunikace (USI). Příkazy "Serial.xxx" používané ve skečích Arduina hlásí pro ATtiny chybu kompilace. Sériová komunikace vyžaduje specifické programování. Máme možnost instalovat podrobnější soubory manažéra desek zde (pro Arduina IDE verze 1.8.9 a vyšší), případně zohlednit informace internetových zdrojů, např. zde. Základní příkazy, které lze u ATtiny použít jsou uvedeny zde. Nevýhodou je omezená vnitřní paměť, která v některých případech nepojme rozsah skeče.

Srovnání pamětí procesorů ATmega328 a ATtiny85:

Informaci o rozsahu skeče obdržíme vždy ve spodní tmavé liště IDE po kompilaci skeče. 

 

 

 

Prosinec 2020, doplněno březen 2021

 

Home

 

Arby

arduinohobby@email.cz