ATtiny85 er en liten 8-bits mikrokontroller designet for enkle kontrolloppgaver der plass og strømforbruk er viktig. Den kombinerer minne, tidtakere, analog inngang og seriell kommunikasjon i en 8-pinners pakke. Denne artikkelen gir detaljert informasjon om spesifikasjoner, pinoppsett, intern struktur, effekt- og klokkeinnstillinger, programmering, kretser og vanlige problemer.

ATtiny85 Oversikt
ATtiny85 er en kompakt 8-bits mikrokontroller designet for enkle kontrolloppgaver der plass, strømforbruk og antall komponenter må holdes lavt. Dens 8-pinners formfaktor bidrar til å redusere kretsstørrelse, ledningskompleksitet og systemkostnad, samtidig som den gir grunnleggende kontrollfunksjonalitet.
Til tross for sin lange tilstedeværelse på markedet, er ATtiny85 fortsatt mye brukt på grunn av sin stabilitet, sterke dokumentasjon og kompatibilitet med vanlige utviklingsverktøy. Den opererer over et bredt spenningsområde og støtter flere klokkealternativer, noe som gjør den egnet for kompakte, lavstrømsdesign som krever pålitelig og forutsigbar oppførsel.
ATtiny85 Tekniske spesifikasjoner
| Nei. av pinner | 8 |
|---|---|
| CPU | RISC 8-bits AVR |
| Driftsspenning | 1,8 til 5,5 V |
| Programminne | 8K |
| Programminnetype | Flash |
| RAM | 512 bytes |
| EEPROM | 512 bytes |
| ADC-antall ADC-kanaler | 10-bit 4 |
| Komparator | 1 |
| Pakker | PDIP (8-pins) SOIC (8-pins) TSSOP (8-pins) QFN/MLF (20-pins) |
| Oscillator | opp til 20 MHz |
| Timer (2) | 8-bits timere |
| Forbedret kraft ved tilbakestilling | Ja |
| Oppstartstimer | Ja |
| I/O-pinner | 6 |
| Produsent | Mikrochip |
| SPI | Ja |
| I2C | Ja |
| Watchdog Timer | Ja |
| Brown out detect (BOD) | Ja |
| Reset | Ja |
| USI (Universal Serial Interface) | Ja |
| Minimum driftstemperatur | -40 C |
| Maksimal driftstemperatur | 125 C |
ATtiny85 Pinout-konfigurasjon

| Pin | Navn | Hovedfunksjoner |
|---|---|---|
| 1 | PB5 | RESET, GPIO (hvis sikringen er byttet) |
| 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 | Strømforsyning |
ATtiny85 er tilgjengelig i PDIP-8 og QFN/MLF-20-pakker. Begge deler samme interne kretser, men pinnoppsettet er forskjellig. PDIP-8-pakken eksponerer kun grunnleggende pinner og er enklere å bruke i grunnleggende kretser, mens QFN/MLF-20-pakken inkluderer ekstra pinner merket som ikke tilkoblet.
De fleste pinner støtter flere funksjoner. En enkelt pinne kan fungere som digital inngang eller utgang, lese analoge signaler, generere PWM-utgang eller støtte seriell kommunikasjon. Dette multifunksjonsdesignet gjør at ATtiny85 kan forbli liten samtidig som den tilbyr fleksibilitet. RESET-pinnen kan også konfigureres som en pinne ved å endre sikringsinnstillinger, men dette fjerner ekstern tilbakestillingsmulighet.
ATtiny85 blokkdiagram

ATtiny85 er bygget rundt en AVR-prosessorkjerne som utfører instruksjoner lagret i Flash-minne. SRAM brukes til midlertidige data under drift, mens EEPROM lagrer ikke-flyktige data som må beholdes når strømmen fjernes. Programtelleren, stakkpekeren og registrene styrer instruksjonsflyt og databehandling.
Tidsfunksjonene håndteres av to interne 8-bits timere og en watchdog-timer. Vakthunden forbedrer påliteligheten ved å tilbakestille enheten hvis normal programkjøring stopper. En intern oscillator leverer klokkesignalet, og sentralisert tidskontroll synkroniserer alle interne moduler.
Inn- og utgangsoperasjoner styres gjennom portregistre koblet direkte til de eksterne pinnene. Enheten integrerer også analoge kretser som ADC og komparator. Alle interne blokker kobles gjennom delte datastier, noe som muliggjør effektiv kommunikasjon mellom minne, prosesseringslogikk og I/O.
ATtiny85 Innstillinger for strøm, klokke og sikring
• ATtiny85 inkluderer en intern RC-oscillator, som tillater drift uten eksterne klokkekomponenter.
• Eksterne klokkekilder eller krystaller kan brukes når høyere tidsnøyaktighet kreves.
• Sikringsinnstillinger styrer klokkekilden, oppstartsforsinkelse, brunut-deteksjonsnivå og RESET-pinneoppførsel.
• Å operere med lavere klokkefrekvenser reduserer strømforbruket og elektrisk støy.
• Brown-out-deteksjon forbedrer stabiliteten ved lave forsyningsspenninger, men øker strømforbruket litt.
ATtiny85 GPIO-grenser og sikker drift
• GPIO-pinner er ment for signalkontroll og må ikke levere strøm til eksterne laster.
• LED-er koblet til GPIO-pinner krever strømbegrensende motstander for å forhindre skade.
• Motorer, reléer og andre høystrømsenheter må styres med eksterne transistorer eller MOSFET-er.
• Interne pull-up-motstander kan aktiveres for å forenkle knapp- og bryterforbindelser.
• Alle GPIO-spenninger må holdes innenfor angitte grenser for å unngå permanent skade.
ATtiny85 ADC og analoge kapasiteter
| Funksjon | Beskrivelse |
|---|---|
| ADC-oppløsning | 10-bits |
| Inngangskanaler | Opp til 4 |
| Referansealternativer | VCC eller intern referanse |
| Spesiell modus | ADC Støyreduksjonssøvn |
ATtiny85 har en innebygd analog-til-digital-omformer som måler endrede spenningsnivåer og konverterer dem til digitale verdier. Målekvaliteten avhenger av en stabil referansespenning, rene strømtilkoblinger og korrekt signalruting. Bruk av ADC Noise Reduction hvilemodus bidrar til å redusere intern støy under konvertering, noe som forbedrer lesekonsistens og generell pålitelighet.
ATtiny85 Seriell kommunikasjon med USI
ATtiny85 støtter seriell kommunikasjon via et Universal Serial Interface (USI). Dette fleksible grensesnittet kan konfigureres via fastvare til å operere i SPI-modus eller støtte I²C-lignende kommunikasjon. Ved å bruke en enkelt delt maskinvareblokk opprettholder enheten en kompakt størrelse samtidig som den muliggjør grunnleggende datautveksling.
Siden USI er sterkt avhengig av programvarekontroll, kreves nøye tidsstyring. Den egner seg for enkle og lavhastighets kommunikasjonsoppgaver, men tilbyr færre automatiseringsfunksjoner enn dedikerte SPI- eller I²C-tilbehør som finnes i større mikrokontrollere.
ATtiny85-programmering gjennom Arduino-IDE-en

• ATtiny85 kan programmeres i Arduino IDE etter installasjon av en ATtiny-kompatibel kjerne.
• Programmering gjøres ved hjelp av en USB-programmerer eller en Arduino som er satt opp som ISP.
• Kortinnstillingene i Arduino-IDE-en må matche valgt klokkehastighet og driftsspenning for ATtiny85.
• PIN-kodene som brukes i kode er forskjellige fra den fysiske pinneoppsettet, så de må sjekkes nøye før de kobles.
Minimal pålitelig ATtiny85-krets

Denne kretsen bruker kun de grunnleggende komponentene som kreves for stabil drift. VCC- og GND-pinnene leverer strøm, slik at den interne logikken fungerer korrekt. Den interne oscillatoren styrer timingen, så ingen eksterne klokkekomponenter er nødvendige.
En LED koblet gjennom en 47 Ω motstand demonstrerer utgangskontroll samtidig som den beskytter både LED-en og GPIO-pinnen. RESET-pinnen er fortsatt tilgjengelig for omprogrammering eller omstart av enheten. Med svært få eksterne komponenter gir dette oppsettet et enkelt og pålitelig grunnlag for grunnleggende applikasjoner.
ATtiny85 Vanlige problemer og raske sjekker
| Problem | Hva bør man sjekke eller fikse? |
|---|---|
| Kodeoplasting mislykkes | Sjekk ISP-ledningen og bekreft RESET sikringsinnstillingen |
| Feil timing | Verifiser valgt klokkekilde og sikringskonfigurasjon |
| Ustabile ADC-målinger | Forbedre jordingen og legge til riktige frakoblingskondensatorer |
| Kommunikasjonsfeil | Gjennomgang av USI-oppsett og tidsinnstillinger |
| Overopphetingsstifter | Senk belastningsstrømmen og bruk eksterne driverkomponenter |
Konklusjon
ATtiny85 samler kjernekontrollfunksjoner i en svært kompakt form. Dens spesifikasjoner, pin-funksjoner, interne blokker og effektinnstillinger forklarer hvordan den fungerer i virkelige kretser. Med riktig GPIO-håndtering, ADC-bruk, seriell oppsett og en minimal krets, kan ATtiny85 forstås tydelig og brukes i stabile, lavstrømsdesign.
Ofte stilte spørsmål [FAQ]
Hvor mye strøm bruker ATtiny85?
Strømforbruket avhenger av forsyningsspenningen, klokkehastighet og aktive funksjoner. Lavere klokkefrekvenser og deaktivering av ubrukte periferiutstyr reduserer strømforbruket.
Trenger ATtiny85 en ekstern klokke?
Nei. ATtiny85 har en intern RC-oscillator og kan operere uten eksterne klokkekomponenter. En ekstern klokke trengs kun for høyere tidsnøyaktighet.
Kan RESET-pinnen brukes som en vanlig I/O-pin?
Ja. RESET-pinnen kan konfigureres som en GPIO ved å bruke sikringsinnstillingene. Dette deaktiverer standard ISP-programmering og krever høyspenningsprogrammering for å omprogrammere enheten.
Kan ATtiny85 drive motorer eller reléer direkte?
Nei. ATtiny85 GPIO-pinner er kun for signalkontroll. Motorer og reléer må drives med eksterne transistorer eller MOSFET-er.
Hvorfor er ATtiny85 ADC-avlesninger ustabile?
Ustabile ADC-avlesninger skyldes vanligvis strømstøy eller dårlig jording. Å legge til riktige frakoblingskondensatorer og bruke ADC Noise Reduction-modus forbedrer stabiliteten.