ATtiny85 je malý 8bitový mikrokontrolér navržený pro jednoduché řídicí úkoly, kde záleží na využití místa a energie. Kombinuje paměť, časovače, analogový vstup a sériovou komunikaci v 8pinovém balení. Tento článek poskytuje podrobné informace o jeho specifikacích, rozložení pinů, vnitřní struktuře, nastavení napájení a hodin, programování, obvodech a běžných otázkách.

Přehled ATtiny85
ATtiny85 je kompaktní 8bitový mikrokontrolér navržený pro jednoduché řídicí úkoly, kde je třeba udržovat nízký prostor, spotřebu energie a počet komponent. Jeho 8pinový formát pomáhá snižovat velikost obvodu, složitost zapojení a náklady na systém, přičemž stále poskytuje základní řídicí funkce.
Navzdory své dlouhé přítomnosti na trhu zůstává ATtiny85 široce používán díky své stabilitě, silné dokumentaci a kompatibilitě s běžnými vývojovými nástroji. Pracuje v širokém rozsahu napětí a podporuje více možností taktování, což jej činí vhodnou pro kompaktní, nízkoenergetické konstrukce vyžadující spolehlivé a předvídatelné chování.
Technické specifikace ATtiny85
| Ne. kolíků | 8 |
|---|---|
| CPU | RISC 8-Bit AVR |
| Provozní napětí | 1,8 až 5,5 V |
| Paměť programu | 8K |
| Typ programové paměti | Flash |
| RAM | 512 bajtů |
| EEPROM | 512 bajtů |
| ADC Počet ADC kanálů | 10-Bit 4 |
| Komparátor | 1 |
| Balíčky | PDIP (8-pin) SOIC (8-pin) TSSOP (8-pin) QFN/MLF (20-pin) |
| Oscilátor | až do 20 MHz |
| Časovač (2) | 8bitové časovače |
| Vylepšené napájení při resetu | Ano |
| Časovač zapnutí napájení | Ano |
| I/O piny | 6 |
| Výrobce | Mikročip |
| SPI | Ano |
| I2C | Ano |
| Watchdog časovač | Ano |
| Detekce brownoutu (BOD) | Ano |
| Reset | Ano |
| USI (Univerzální sériové rozhraní) | Ano |
| Minimální provozní teplota | -40 C |
| Maximální provozní teplota | 125 C |
Konfigurace pinů ATtiny85

| Pin | Jméno | Hlavní funkce |
|---|---|---|
| 1 | PB5 | RESET, GPIO (pokud se pojistka změnila) |
| 2 | PB3 | GPIO, ADC |
| 3 | PB4 | GPIO, ADC |
| 4 | GND | Ground |
| 5 | PB0 | GPIO, PWM, MOSI |
| 6 | PB1 | GPIO, PWM, MISO |
| 7 | PB2 | GPIO, ADC, SCK |
| 8 | VCC | Napájení |
ATtiny85 je dostupný v balení PDIP-8 a QFN/MLF-20. Oba mají stejnou vnitřní elektroniku, ale uspořádání pinů se liší. Pouzdro PDIP-8 zpřístupňuje pouze základní piny a je snazší na použití v základních obvodech, zatímco pouzdro QFN/MLF-20 obsahuje další piny označené jako nepřipojené.
Většina pinů podporuje více funkcí. Jeden pin může sloužit jako digitální vstup nebo výstup, číst analogové signály, generovat výstup PWM nebo podporovat sériovou komunikaci. Tento multifunkční design umožňuje ATtiny85 zůstat malý a zároveň nabízet flexibilitu. Pin RESET lze také nastavit jako pin změnou nastavení pojistky, i když tím se odstraní externí možnost resetu.
Blokový diagram ATtiny85

ATtiny85 je postaven na procesorovém jádru AVR, které vykonává instrukce uložené ve flash paměti. SRAM se používá pro dočasná data během provozu, zatímco EEPROM uchovává nevolatilní data, která musí být zachována při odpojení napájení. Programový čítač, ukazatel zásobníku a registry řídí tok instrukcí a zpracování dat.
Časovací funkce jsou řízeny dvěma interními 8bitovými časovači a watchdog časovačem. Watchdog zvyšuje spolehlivost tím, že zařízení resetuje, pokud se běžné vykonávání programu zastaví. Vnitřní oscilátor poskytuje hodinový signál a centralizované časové řízení synchronizuje všechny interní moduly.
Vstupní a výstupní operace jsou řízeny pomocí portových registrů připojených přímo k externím pinům. Zařízení také integruje analogové obvody, jako je ADC a komparátor. Všechny interní bloky jsou propojeny sdílenými datovými cestami, což umožňuje efektivní komunikaci mezi pamětí, logikou zpracování a vstupně/výstupem.
ATtiny85 nastavení napájení, hodin a pojistek
• ATtiny85 obsahuje interní RC oscilátor, který umožňuje provoz bez externích hodinových komponent.
• Externí hodinové zdroje nebo krystaly mohou být použity, pokud je potřeba vyšší přesnost časování.
• Nastavení pojistky řídí zdroj hodin, zpoždění při startu, úroveň detekce výpadku narůžení a chování pinu RESET.
• Provoz při nižších taktovacích frekvencích snižuje spotřebu energie a elektrický šum.
• Detekce brown-outu zlepšuje stabilitu při nízkých napájecích napětích, ale mírně zvyšuje odběr proudu.
Limity GPIO ATtiny85 a bezpečný provoz
• GPIO piny jsou určeny pro řízení signálu a nesmí dodávat napájení externím zátěžím.
• LED diody připojené k GPIO pinům vyžadují rezistory omezující proud, aby se zabránilo poškození.
• Motory, relé a další zařízení s vysokým proudem musí být řízena pomocí externích tranzistorů nebo MOSFETů.
• Vnitřní pull-up rezistory lze zapnout pro zjednodušení připojení tlačítek a přepínačů.
• Všechna napětí GPIO musí zůstat v rámci specifikovaných limitů, aby se zabránilo trvalému poškození.
ATtiny85 ADC a analogové schopnosti
| Funkce | Popis |
|---|---|
| Rozlišení ADC | 10-bitový |
| Vstupní kanály | Až 4 |
| Referenční možnosti | VCC nebo interní reference |
| Speciální režim | ADC spánek s redukcí hluku |
ATtiny85 má vestavěný analogově-digitální převodník, který měří měnící se úrovně napětí a převádí je na digitální hodnoty. Kvalita měření závisí na stabilním referenčním napětí, čistých napájecích spojích a správném směrování signálu. Použití režimu ADC Noise Reduction spánku pomáhá snížit vnitřní šum během převodu, což zlepšuje konzistenci čtení a celkovou spolehlivost.
ATtiny85 Sériová komunikace s USI
ATtiny85 podporuje sériovou komunikaci prostřednictvím univerzálního sériového rozhraní (USI). Toto flexibilní rozhraní lze nakonfigurovat pomocí firmwaru tak, aby fungovalo v režimu SPI nebo podporovalo komunikaci ve stylu I²C. Použitím jednoho sdíleného hardwarového bloku si zařízení udržuje kompaktní velikost a zároveň umožňuje základní výměnu dat.
Protože USI silně spoléhá na softwarovou kontrolu, je potřeba pečlivé řízení časování. Je vhodný pro jednoduché a nízkorychlostní komunikační úkoly, ale nabízí méně automatizačních funkcí než specializovaná periferie SPI nebo I²C používané ve větších mikrokontrolérech.
Programování ATtiny85 přes Arduino IDE

• ATtiny85 lze naprogramovat v Arduino IDE po instalaci jádra kompatibilního s ATtiny.
• Programování probíhá pomocí USB programátoru nebo Arduina nastaveného jako ISP.
• Nastavení desky v Arduino IDE musí odpovídat zvolené frekvenci a provoznímu napětí ATtiny85.
• PIN kódy používané v kódu se liší od fyzického rozložení pinů, proto je nutné je před zapojením pečlivě zkontrolovat.
Minimální spolehlivý obvod ATtiny85

Tento obvod používá pouze základní komponenty potřebné pro stabilní provoz. Piny VCC a GND dodávají energii, což umožňuje správnou funkci interní logiky. Interní oscilátor řídí časování, takže nejsou potřeba žádné externí hodinové komponenty.
LED připojená přes rezistor o síle 47 Ω demonstruje řízení výstupu a zároveň chrání jak LED, tak GPIO pin. Pin RESET zůstává přístupný pro přeprogramování nebo restartování zařízení. S velmi malým počtem externích komponent poskytuje toto uspořádání jednoduchý a spolehlivý základ pro základní aplikace.
ATtiny85 Běžné problémy a rychlé kontroly
| Problém | Co zkontrolovat nebo opravit? |
|---|---|
| Nahrávání kódu selhalo | Zkontrolujte zapojení od poskytovatele internetu a potvrďte nastavení RESET pojistky |
| Nesprávné načasování | Ověřte vybraný zdroj hodin a konfiguraci pojistky |
| Nestabilní ADC hodnoty | Zlepšit uzemnění a přidat správné odpojovací kondenzátory |
| Komunikační chyby | Zkontrolujte nastavení a časování USI |
| Přehřívající se piny | Snižte zátěžový proud a použijte externí řídicí komponenty |
Závěr
ATtiny85 spojuje základní ovládací prvky v velmi kompaktní podobě. Jeho specifikace, funkce pinů, vnitřní bloky a nastavení napájení vysvětlují, jak funguje v reálných obvodech. Při správném zpracování GPIO, použití ADC, sériovém nastavení a minimálním obvodu lze ATtiny85 jasně pochopit a aplikovat ve stabilních, nízkoenergetických konstrukcích.
Často kladené otázky [FAQ]
Kolik energie ATtiny85 spotřebuje?
Spotřeba energie závisí na napájení zdroje, frekvenci hodin a aktivních funkcích. Nižší frekvence a vypnutí nepoužívaných periferií snižují spotřebu proudu.
Potřebuje ATtiny85 externí hodiny?
Ne. ATtiny85 má vnitřní RC oscilátor a může pracovat bez externích hodinových komponent. Externí hodiny jsou potřeba pouze pro vyšší přesnost časování.
Lze RESET pin použít jako běžný I/O pin?
Ano. Pin RESET lze nastavit jako GPIO pomocí nastavení pojistky. To deaktivuje standardní programování ISP a vyžaduje vysokonapěťové programování pro přeprogramování zařízení.
Může ATtiny85 přímo ovládat motory nebo relé?
Ne. GPIO piny ATtiny85 slouží pouze pro řízení signálu. Motory a relé musí být poháněny pomocí externích tranzistorů nebo MOSFETů.
Proč jsou hodnoty ADC ATtiny85 nestabilní?
Nestabilní hodnoty ADC jsou obvykle způsobeny šumem napájení nebo špatným uzemněním. Přidání správných odpojovacích kondenzátorů a použití režimu ADC Noise Reduction zlepšuje stabilitu.