ATtiny85 er en lille 8-bit mikrocontroller designet til simple kontrolopgaver, hvor plads og strømforbrug betyder noget. Den kombinerer hukommelse, timere, analog indgang og seriel kommunikation i en 8-bens pakke. Denne artikel giver detaljeret information om dens specifikationer, pinout, intern struktur, effekt- og urindstillinger, programmering, kredsløb og almindelige problemstillinger.

ATtiny85 Oversigt
ATtiny85 er en kompakt 8-bit mikrocontroller designet til simple kontrolopgaver, hvor plads, strømforbrug og komponentantal skal holdes lavt. Dens 8-bens formfaktor hjælper med at reducere kredsløbsstørrelse, ledningskompleksitet og systemomkostninger, samtidig med at grundlæggende kontrolfunktionalitet stadig er tilgængelig.
På trods af sin lange tilstedeværelse på markedet er ATtiny85 fortsat udbredt på grund af sin stabilitet, stærke dokumentation og kompatibilitet med almindelige udviklingsværktøjer. Den opererer over et bredt spændingsområde og understøtter flere clock-muligheder, hvilket gør den velegnet til kompakte, lavstrømsdesigns, der kræver pålidelig og forudsigelig adfærd.
ATtiny85 Tekniske Specifikationer
| Nej. af nåle | 8 |
|---|---|
| CPU | RISC 8-Bit AVR |
| Driftsspænding | 1,8 til 5,5 V |
| Programhukommelse | 8K |
| Programhukommelsestype | Flash |
| RAM | 512 bytes |
| EEPROM | 512 bytes |
| ADC-antal ADC-kanaler | 10-bit 4 |
| Comparator | 1 |
| Pakker | PDIP (8-pin) SOIC (8-pin) TSSOP (8-pin) QFN/MLF (20-pin) |
| Oscillator | op til 20 MHz |
| Timer (2) | 8-bit timere |
| Forbedret kraft ved nulstilling | Ja |
| Power Up Timer | Ja |
| I/O-pins | 6 |
| Producent | Mikrochip |
| SPI | Ja |
| I2C | Ja |
| Vagthund-timer | Ja |
| Brun out-detektering (BOD) | Ja |
| Nulstil | Ja |
| USI (Universal Serial Interface) | Ja |
| Minimum driftstemperatur | -40 C |
| Maksimal driftstemperatur | 125 C |
ATtiny85 Pinout-konfiguration

| Pin | Navn | Hovedfunktioner |
|---|---|---|
| 1 | PB5 | RESET, GPIO (hvis sikringen er skiftet) |
| 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 fås i PDIP-8 og QFN/MLF-20 pakker. Begge deler det samme interne kredsløb, men stiftplaceringen er forskellig. PDIP-8-pakken eksponerer kun basale ben og er lettere at bruge i basiskredsløb, mens QFN/MLF-20-pakken inkluderer ekstra ben, der er markeret som ikke forbundet.
De fleste ben understøtter flere funktioner. En enkelt ben kan fungere som digital indgang eller udgang, læse analoge signaler, generere PWM-udgang eller understøtte seriel kommunikation. Dette multifunktionsdesign gør det muligt for ATtiny85 at forblive lille, samtidig med at den tilbyder fleksibilitet. RESET-pin'en kan også konfigureres som en pin ved at ændre sikringsindstillinger, men dette fjerner ekstern nulstillingsmulighed.
ATtiny85 blokdiagram

ATtiny85 er bygget op omkring en AVR-processorkerne, der udfører instruktioner gemt i Flash-hukommelse. SRAM bruges til midlertidige data under drift, mens EEPROM gemmer ikke-flygtige data, som skal bevares, når strømmen afbrydes. Programtælleren, stakpegeren og registrene styrer instruktionsflow og databehandling.
Timing-funktionerne håndteres af to interne 8-bit timere og en watchdog-timer. Watchdoggen forbedrer pålideligheden ved at nulstille enheden, hvis normal programudførelse stopper. En intern oscillator leverer clocksignalet, og centraliseret timingkontrol synkroniserer alle interne moduler.
Ind- og udgangsoperationer styres gennem portregistre, der er forbundet direkte til de eksterne ben. Enheden integrerer også analog kredsløb såsom ADC og komparator. Alle interne blokke er forbundet via delte datastier, hvilket muliggør effektiv kommunikation mellem hukommelse, processorlogik og I/O.
ATtiny85 Effekt-, clock- og sikringsindstillinger
• ATtiny85 inkluderer en intern RC-oscillator, som muliggør drift uden eksterne clock-komponenter.
• Eksterne urkilder eller krystaller kan anvendes, når der kræves højere timingnøjagtighed.
• Sikringsindstillinger styrer clock-kilden, opstartsforsinkelse, brownout-detektionsniveau og RESET-pin-adfærd.
• Drift ved lavere clockhastigheder reducerer strømforbrug og elektrisk støj.
• Brownout-detektion forbedrer stabiliteten ved lave forsyningsspændinger, men øger strømforbruget en smule.
ATtiny85 GPIO-grænser og sikker drift
• GPIO-ben er beregnet til signalstyring og må ikke levere strøm til eksterne belastninger.
• LED'er forbundet til GPIO-ben kræver strømbegrænsende modstande for at forhindre skader.
• Motorer, relæer og andre højstrømsenheder skal styres med eksterne transistorer eller MOSFET'er.
• Interne pull-up-modstande kan aktiveres for at forenkle knap- og kontaktforbindelser.
• Alle GPIO-spændinger skal forblive inden for specificerede grænser for at undgå permanent skade.
ATtiny85 ADC og analoge kapaciteter
| Feature | Beskrivelse |
|---|---|
| ADC-resolution | 10-bit |
| Indgangskanaler | Op til 4 |
| Referencemuligheder | VCC eller intern reference |
| Speciel tilstand | ADC Støjreducerende søvn |
ATtiny85 har en indbygget analog-til-digital omformer, der måler skiftende spændingsniveauer og omdanner dem til digitale værdier. Målekvaliteten afhænger af en stabil referencespænding, rene strømforbindelser og korrekt signalføring. Brug af ADC Noise Reduction sleep-tilstand hjælper med at reducere intern støj under konverteringen, hvilket forbedrer læsekonsistens og den overordnede pålidelighed.
ATtiny85 Seriel kommunikation med USI
ATtiny85 understøtter seriel kommunikation via en Universal Serial Interface (USI). Denne fleksible grænseflade kan konfigureres via firmware til at fungere i SPI-tilstand eller understøtte I²C-lignende kommunikation. Ved at bruge en enkelt delt hardwareblok opretholder enheden en kompakt størrelse, samtidig med at den muliggør grundlæggende dataudveksling.
Da USI i høj grad er afhængig af softwarekontrol, kræves omhyggelig timingstyring. Den er velegnet til simple og lavhastigheds kommunikationsopgaver, men tilbyder færre automatiseringsfunktioner end dedikerede SPI- eller I²C-periferiudstyr, der findes i større mikrokontrollere.
ATtiny85-programmering gennem Arduino IDE

• ATtiny85 kan programmeres i Arduino IDE efter installation af en ATtiny-kompatibel kerne.
• Programmering udføres ved hjælp af en USB-programmør eller en Arduino, der er sat op som ISP.
• Kortindstillingerne i Arduino IDE skal matche den valgte clockhastighed og driftsspænding for ATtiny85.
• PIN-koder, der bruges i kode, adskiller sig fra det fysiske pin-layout, så de skal kontrolleres grundigt før ledningsføring.
Minimal pålidelig ATtiny85-kreds

Dette kredsløb bruger kun de grundlæggende komponenter, der kræves for stabil drift. VCC- og GND-benene leverer strøm, hvilket gør det muligt for den interne logik at fungere korrekt. Den interne oscillator styrer timingen, så der ikke kræves eksterne clock-komponenter.
En LED forbundet via en 47 Ω modstand demonstrerer udgangskontrol, samtidig med at den beskytter både LED'en og GPIO-pinnen. RESET-pinden forbliver tilgængelig for omprogrammering eller genstart af enheden. Med meget få eksterne komponenter giver denne opsætning et simpelt og pålideligt fundament for grundlæggende anvendelser.
ATtiny85 Almindelige problemer og hurtige tjek
| Problem | Hvad skal man tjekke eller rette? |
|---|---|
| Kode-upload fejler | Tjek ISP-ledningen og bekræft RESET sikringsindstillingen |
| Forkert timing | Verificér den valgte clockkilde og sikringskonfiguration |
| Ustabile ADC-aflæsninger | Forbedr jordforbindelse og tilføj korrekte afkoblingskondensatorer |
| Kommunikationsfejl | Gennemgå USI-opsætning og timingindstillinger |
| Overophedningsstifter | Sænk belastningsstrømmen og brug eksterne driverkomponenter |
Konklusion
ATtiny85 samler kernekontrolfunktioner i en meget kompakt form. Dens specifikationer, pinfunktioner, interne blokke og effektindstillinger forklarer, hvordan den fungerer i virkelige kredsløb. Med korrekt GPIO-håndtering, ADC-brug, seriel opsætning og et minimalt kredsløb kan ATtiny85 forstås klart og anvendes i stabile, lavstrømsdesigns.
Ofte stillede spørgsmål [FAQ]
Hvor meget strøm bruger ATtiny85?
Strømforbruget afhænger af forsyningsspændingen, clockhastigheden og de aktive funktioner. Lavere clockhastigheder og deaktivering af ubrugte eksterne enheder reducerer strømforbruget.
Har ATtiny85 brug for en ekstern clock?
Nej. ATtiny85 har en intern RC-oscillator og kan fungere uden eksterne clock-komponenter. Et eksternt ur er kun nødvendigt for højere timingpræcision.
Kan RESET-pin'en bruges som en normal I/O-pin?
Ja. RESET-pinnen kan konfigureres som en GPIO ved hjælp af sikringsindstillinger. Dette deaktiverer standard ISP-programmering og kræver højspændingsprogrammering for at omprogrammere enheden.
Kan ATtiny85 drive motorer eller relæer direkte?
Nej. ATtiny85 GPIO-benene er kun til signalstyring. Motorer og relæer skal drives med eksterne transistorer eller MOSFET'er.
Hvorfor er ATtiny85 ADC-målinger ustabile?
Ustabile ADC-aflæsninger skyldes som regel strømstøj eller dårlig jordforbindelse. Tilføjelse af korrekte afkoblingskondensatorer og brug af ADC Noise Reduction-tilstand forbedrer stabiliteten.