ATtiny85: tihvtide konfiguratsioon, plokkskeem ja programmeerimine

ene 07 2026
Allikas: DiGi-Electronics
Sirvi: 312

ATtiny85 on väike 8-bitine mikrokontroller, mis on loodud lihtsateks juhtimisülesanneteks, kus ruumi ja energiatarbimise on oluline. See ühendab mälu, taimerid, analoogsisendi ja jadakommunikatsiooni 8-kontaktilises pakendis. See artikkel annab üksikasjalikku teavet selle spetsifikatsioonide, pinouti, sisemise struktuuri, toite- ja taktsageduste seadistuste, programmeerimise, vooluringide ja levinud probleemide kohta.

Figure 1. ATtiny85

ATtiny85 ülevaade 

ATtiny85 on kompaktne 8-bitine mikrokontroller, mis on loodud lihtsateks juhtimisülesanneteks, kus ruumi, energiatarve ja komponentide arv tuleb hoida madalal. Selle 8-kontaktiline vormifaktor aitab vähendada vooluringi suurust, juhtmestiku keerukust ja süsteemi kulusid, pakkudes samal ajal põhilist juhtimisfunktsionaalsust.

Hoolimata pikaajalisest turulolekust on ATtiny85 endiselt laialdaselt kasutusel tänu oma stabiilsusele, tugevale dokumentatsioonile ja ühilduvusele tavapäraste arendustööriistadega. See töötab laias pingevahemikus ja toetab mitut taktsageduse valikut, muutes selle sobivaks kompaktsetele, madala energiatarbega lahendustele, mis nõuavad usaldusväärset ja ennustatavat käitumist.

ATtiny85 tehnilised andmed 

Ei. Nõelad8
CPURISC 8-bitine AVR
Tööpinge1,8 kuni 5,5 V
Programmi mälu8K
Programmi mälutüüpFlash
RAM512 baiti
EEPROM512 baiti
ADC kanalite arv10-bitine 4
Võrdleja1
PaketidPDIP (8-tihvt) SOIC (8-tihvt) TSSOP (8-tihvt) QFN/MLF (20-tihvt)
Ostsillaatorkuni 20 MHz
Taimer (2)8-bitised taimerid
Suurendatud võimsus lähtestamiselJah
Võimsuse taimerJah
I/O tihvtid6
TootjaMikrokiip
SPIJah
I2CJah
Watchdog TimerJah
Brown out tuvastamine (BOD)Jah
LähtestamineJah
USI (universaalne seriaalliides)Jah
Minimaalne töötemperatuur-40 C
Maksimaalne töötemperatuur125 C

ATtiny85 Pinout konfiguratsioon

Figure 2. ATtiny85 Pinout Configuration

PinNimiPeamised funktsioonid
1PB5RESET, GPIO (kui kaitse on vahetatud)
2PB3GPIO, ADC
3PB4GPIO, ADC
4GNDMaa
5PB0GPIO, PWM, MOSI
6PB1GPIO, PWM, MISO
7PB2GPIO, ADC, SCK
8VCCToiteallikas

ATtiny85 on saadaval PDIP-8 ja QFN/MLF-20 pakendites. Mõlemal on sama sisemine vooluring, kuid tihvtide paigutus erineb. PDIP-8 pakett paljastab ainult põhilised tihvtid ja on lihtsam kasutada põhilistes ahelates, samas kui QFN/MLF-20 pakett sisaldab täiendavaid tihvte, mis on märgitud ühendamata.

Enamik tihvte toetab mitut funktsiooni. Üks tihvt võib toimida digitaalse sisendi või väljundina, lugeda analoogsignaale, genereerida PWM-väljundit või toetada jadasidet. See multifunktsionaalne disain võimaldab ATtiny85-l jääda väikeseks, pakkudes samal ajal paindlikkust. RESET-tihvti saab konfigureerida ka tihvtina, muutes kaitsme seadeid, kuid see eemaldab välise lähtestusvõimaluse.

ATtiny85 plokkskeem

Figure 3. ATtiny85 Block Diagram

ATtiny85 põhineb AVR-protsessorituumal, mis täidab Flash-mälus salvestatud käske. SRAM-i kasutatakse ajutiste andmete jaoks töö ajal, samas kui EEPROM salvestab mittevolatiilseid andmeid, mis tuleb säilitada voolu katkestamisel. Programmi loendur, virnaosuti ja registrid haldavad käsuvoogu ja andmetöötlust.

Ajastusfunktsioone haldavad kaks sisemist 8-bitist taimerit ja valvekoera taimerit. Järelevalve parandab töökindlust, lähtestades seadme, kui normaalne programmi käivitamine peatub. Sisemine ostsillaator annab kella signaali ning tsentraliseeritud ajastusjuhtimine sünkroniseerib kõik sisemised moodulid.

Sisend- ja väljundtoiminguid hallatakse pordiregistrite kaudu, mis on ühendatud otse väliste kontaktidega. Seade integreerib ka analoogskeeme nagu ADC ja võrdleja. Kõik sisemised plokid on ühendatud jagatud andmeteede kaudu, võimaldades tõhusat suhtlust mälu, töötlemisloogika ja I/O vahel.

ATtiny85 toite-, taktsagedus- ja kaitseseaded

• ATtiny85 sisaldab sisemist RC-ostsillaatorit, mis võimaldab töötada ilma väliste kellakomponentideta.

• Väliseid kellaallikaid või kristalle võidakse kasutada, kui on vaja suuremat ajastustäpsust.

• Kaitsme seaded kontrollivad kella allikat, käivitusviivitust, tuvastuse taset ja RESET tihvti käitumist.

• Madalatel taktsagedustel töötamine vähendab energiatarbimist ja elektrimüra.

• Brown-out'i tuvastamine parandab stabiilsust madalatel toitepingetel, kuid suurendab veidi voolutarbimist.

ATtiny85 GPIO piirangud ja ohutu toimimine

• GPIO tihvtid on mõeldud signaali juhtimiseks ega tohi varustada toidet välistele koormustele.

• GPIO kontaktidega ühendatud LED-id vajavad kahjustuste vältimiseks voolupiiravaid takisteid.

• Mootoreid, releesid ja muid suure voolutugevusega seadmeid tuleb juhtida väliste transistorite või MOSFET-idega.

• Sisemised tõmbetakistid saab sisse lülitada, et lihtsustada nuppude ja lülitite ühendusi.

• Kõik GPIO pinged peavad jääma määratud piiridesse, et vältida püsivaid kahjustusi.

ATtiny85 ADC ja analoogvõimekus

FunktsioonKirjeldus
ADC resolutsioon10-bitine
SisendkanalidKuni 4
ViitevalikudVCC või sisemine viide
ErirežiimADC mürasummutuse unerežiim

ATtiny85-l on sisseehitatud analoog-digitaalmuundur, mis mõõdab muutuvaid pingetasemeid ja teisendab need digitaalseteks väärtusteks. Mõõtmise kvaliteet sõltub stabiilsest viitepingest, puhtatest toiteühendustest ja signaali õigest suunamisest. ADC müravähenduse unerežiimi kasutamine aitab vähendada sisemist müra konverteerimise ajal, mis parandab lugemise järjepidevust ja üldist töökindlust.

ATtiny85 jadaside USI-ga

ATtiny85 toetab jadasidet universaalse seriaaliliidese (USI) kaudu. Seda paindlikku liidest saab püsivara abil seadistada töötama SPI režiimis või toetama I²C-laadset suhtlust. Kasutades ühte jagatud riistvaraplokki, säilitab seade kompaktse suuruse, võimaldades samal ajal põhilist andmevahetust.

Kuna USI tugineb tugevalt tarkvarajuhtimisele, on vaja hoolikat ajastuse haldamist. See sobib lihtsateks ja madala kiirusega sideülesanneteks, kuid pakub vähem automatiseerimisvõimalusi kui suuremates mikrokontrollerites leiduvad spetsiaalsed SPI või I²C lisaseadmed.

ATtiny85 programmeerimine Arduino IDE kaudu

Figure 4. ATtiny85 Programming Through the Arduino IDE

• ATtiny85 saab programmeerida Arduino IDE-s pärast ATtiny-ühilduva tuuma paigaldamist.

• Programmeerimine toimub USB-programmeerija või Arduino abil, mis on ISP-na seadistatud.

• Arduino IDE plaadi seaded peavad vastama ATtiny85 valitud taktsagedusele ja tööpingele.

• Koodis kasutatavad PIN-koodid erinevad füüsilisest tihvtide paigutusest, seega tuleb neid enne juhtmestikku hoolikalt kontrollida.

Minimaalne usaldusväärne ATtiny85 vooluring

Figure 5. Minimal Reliable ATtiny85 Circuit

See ahel kasutab ainult stabiilseks tööks vajalikke põhikomponente. VCC ja GND tihvtid annavad voolu, võimaldades sisemisel loogikal korrektselt töötada. Sisemine ostsillaator kontrollib ajastust, seega väliseid kellakomponente pole vaja.

LED, mis on ühendatud 47 Ω takisti kaudu, demonstreerib väljundjuhtimist, kaitstes samal ajal nii LED-i kui GPIO tihvti. RESET-pinn jääb seadme taasprogrammeerimiseks või taaskäivitamiseks kättesaadavaks. Väga väheste väliste komponentidega pakub see lahendus lihtsa ja usaldusväärse aluse põhilisteks rakendusteks.

ATtiny85 levinud probleemid ja kiired kontrollid

ProbleemMida kontrollida või parandada?
Koodi üleslaadimine ebaõnnestubKontrolli internetiteenuse pakkuja juhtmestikku ja kinnita RESET kaitse seadistus
Vale ajastusKontrolli valitud kella allikat ja kaitsme konfiguratsiooni
Ebastabiilsed ADC näidudParanda maandust ja lisa korralikud lahtiühendavad kondensaatorid
KommunikatsiooniveadUSI seadistuste ja ajastuse seadistuste ülevaatamine
Ülekuumenemine tihvtidVähenda koormusvoolu ja kasuta väliseid draiverikomponente

Kokkuvõte

ATtiny85 ühendab põhijuhtimise funktsioonid väga kompaktses vormis. Selle spetsifikatsioonid, tihvtide funktsioonid, sisemised plokid ja toiteseaded selgitavad, kuidas see töötab päris vooluringides. Õige GPIO käsitsemise, ADC kasutamise, jadasüsteemi ja minimaalse vooluringiga saab ATtiny85 selgelt mõista ja rakendada stabiilsetes, madala energiatarbega lahendustes.

Korduma kippuvad küsimused [KKK]

Kui palju võimsust kasutab ATtiny85?

Toite tarbimine sõltub toitepingest, taktsagedusest ja aktiivsetest omadustest. Madalamad taktsagedused ja kasutamata lisaseadmete keelamine vähendavad voolutarbimist.

Kas ATtiny85 vajab välist kella?

Ei. ATtiny85-l on sisemine RC-ostsillaator ja see suudab töötada ilma väliste taktkomponentideta. Väliskella on vaja ainult suurema ajastuse täpsuse saavutamiseks.

Kas RESET pinni saab kasutada tavalise I/O pinnana?

Jah. RESET-tihvti saab konfigureerida GPIO-ks kaitsme seadete abil. See keelab standardse ISP programmeerimise ja nõuab seadme ümberprogrammeerimiseks kõrgpingeprogrammeerimist.

Kas ATtiny85 suudab mootoreid või releesid otse juhtida?

Ei. ATtiny85 GPIO kontaktid on mõeldud ainult signaali juhtimiseks. Mootoreid ja releesid tuleb juhtida väliste transistorite või MOSFET-ide abil.

Miks on ATtiny85 ADC näidud ebastabiilsed?

Ebastabiilsed ADC näidud on tavaliselt põhjustatud võimsusmürast või halvast maandamisest. Õigete lahtiühendavate kondensaatorite lisamine ja ADC müravähendusrežiimi kasutamine parandab stabiilsust.