Der ATtiny85 ist ein kleiner 8-Bit-Mikrocontroller, der für einfache Steueraufgaben entwickelt wurde, bei denen Platz und Stromverbrauch wichtig sind. Er kombiniert Speicher, Timer, analogen Eingang und serielle Kommunikation in einem 8-poligen Gehäuse. Dieser Artikel liefert detaillierte Informationen zu seinen Spezifikationen, Pinout, interner Struktur, Leistungs- und Takteinstellungen, Programmierung, Schaltungen und häufigen Problemen.

ATtiny85 Überblick
Der ATtiny85 ist ein kompakter 8-Bit-Mikrocontroller, der für einfache Steueraufgaben entwickelt wurde, bei denen Platz, Stromverbrauch und Komponentenanzahl gering gehalten werden müssen. Sein 8-poliges Formfaktor hilft, die Schaltungsgröße, die Verdrahtungskomplexität und die Systemkosten zu reduzieren, während dennoch grundlegende Steuerungsfunktionen bereitgestellt werden.
Trotz seiner langen Marktpräsenz bleibt der ATtiny85 aufgrund seiner Stabilität, starken Dokumentation und Kompatibilität mit gängigen Entwicklungstools weiterhin weit verbreitet. Er arbeitet über einen breiten Spannungsbereich und unterstützt mehrere Taktoptionen, was ihn für kompakte, energiesparende Designs geeignet macht, die zuverlässiges und vorhersehbares Verhalten erfordern.
ATtiny85 Technische Spezifikationen
| Nein. von Pins | 8 |
|---|---|
| CPU | RISC 8-Bit-AVR |
| Betriebsspannung | 1,8 bis 5,5 V |
| Programmspeicher | 8K |
| Programmspeichertyp | Flash |
| RAM | 512 Bytes |
| EEPROM | 512 Bytes |
| ADC-Anzahl der ADC-Kanäle | 10-Bit 4 |
| Comparator | 1 |
| Pakete | PDIP (8-Pin) SOIC (8-Pin) TSSOP (8-Pin) QFN/MLF (20-Pin) |
| Oszillator | bis zu 20 MHz |
| Timer (2) | 8-Bit-Timer |
| Verbesserte Leistung beim Reset | Ja |
| Power-up-Timer | Ja |
| I/O-Pins | 6 |
| Hersteller | Mikrochip |
| SPI | Ja |
| I2C | Ja |
| Wachhund-Timer | Ja |
| Brownout-Erkennung (BOD) | Ja |
| Reset | Ja |
| USI (Universal Serial Interface) | Ja |
| Mindestbetriebstemperatur | -40 C |
| Maximale Betriebstemperatur | 125 C |
ATtiny85 Pinout-Konfiguration

| Pin | Name | Hauptfunktionen |
|---|---|---|
| 1 | PB5 | RESET, GPIO (wenn die Sicherung gewechselt ist) |
| 2 | PB3 | GPIO, ADC |
| 3 | PB4 | GPIO, ADC |
| 4 | GND | Boden |
| 5 | PB0 | GPIO, PWM, MOSI |
| 6 | PB1 | GPIO, PWM, MISO |
| 7 | PB2 | GPIO, ADC, SCK |
| 8 | VCC | Stromversorgung |
Der ATtiny85 ist in den Paketen PDIP-8 und QFN/MLF-20 erhältlich. Beide teilen sich die gleiche interne Schaltung, aber die Pin-Anordnung unterscheidet sich. Das PDIP-8-Gehäuse stellt nur einfache Pins frei und ist in einfachen Schaltungen leichter zu bedienen, während das QFN/MLF-20-Gehäuse zusätzliche Pins enthält, die als nicht verbunden markiert sind.
Die meisten Pins unterstützen mehrere Funktionen. Ein einzelner Pin kann als digitaler Ein- oder Ausgang dienen, analoge Signale lesen, PWM-Ausgang erzeugen oder serielle Kommunikation unterstützen. Dieses Multifunktionsdesign ermöglicht es dem ATtiny85, klein zu bleiben und gleichzeitig Flexibilität zu bieten. Der RESET-Pin kann auch als Pin konfiguriert werden, indem man die Sicherungseinstellungen ändert, wobei dies die externe Reset-Funktion ausschließt.
ATtiny85 Blockdiagramm

Der ATtiny85 basiert auf einem AVR-Verarbeitungskern, der Anweisungen ausführt, die im Flash-Speicher gespeichert sind. SRAM wird während des Betriebs für temporäre Daten verwendet, während EEPROM nichtflüchtige Daten speichert, die beim Stromausfall gespeichert werden müssen. Der Programmzähler, der Stackzeiger und die Register steuern den Befehlsfluss und die Datenverarbeitung.
Die Timing-Funktionen werden von zwei internen 8-Bit-Timern und einem Wachhund-Timer übernommen. Der Watchdog verbessert die Zuverlässigkeit, indem er das Gerät zurücksetzt, wenn die normale Programmausführung stoppt. Ein interner Oszillator liefert das Taktsignal, und eine zentrale Zeitsteuerung synchronisiert alle internen Module.
Ein- und Ausgabeoperationen werden über Portregister verwaltet, die direkt mit den externen Pins verbunden sind. Das Gerät integriert außerdem analoge Schaltungen wie ADC und Komparator. Alle internen Blöcke sind über gemeinsame Datenpfade verknüpft, was eine effiziente Kommunikation zwischen Speicher, Verarbeitungslogik und I/O ermöglicht.
ATtiny85 Leistungs-, Takt- und Sicherungseinstellungen
• Der ATtiny85 verfügt über einen internen RC-Oszillator, der den Betrieb ohne externe Taktkomponenten ermöglicht.
• Externe Taktquellen oder Kristalle können verwendet werden, wenn eine höhere Zeitgenauigkeit erforderlich ist.
• Sicherungseinstellungen steuern die Taktquelle, die Startverzögerung, den Brownout-Erkennungspegel und das RESET-Pin-Verhalten.
• Der Betrieb mit niedrigeren Taktraten reduziert den Stromverbrauch und das elektrische Rauschen.
• Die Brownout-Detektion verbessert die Stabilität bei niedrigen Versorgungsspannungen, erhöht jedoch leicht den Stromverbrauch.
ATtiny85 GPIO-Grenzen und sicherer Betrieb
• GPIO-Pins sind für die Signalsteuerung vorgesehen und dürfen keine Stromversorgung an externe Lasten liefern.
• LEDs, die mit GPIO-Pins verbunden sind, benötigen strombegrenzende Widerstände, um Schäden zu verhindern.
• Motoren, Relais und andere Hochstrombauelemente müssen mit externen Transistoren oder MOSFETs gesteuert werden.
• Interne Pull-up-Widerstände können aktiviert werden, um Knopf- und Schaltverbindungen zu vereinfachen.
• Alle GPIO-Spannungen müssen innerhalb der festgelegten Grenzen bleiben, um dauerhafte Schäden zu vermeiden.
ATtiny85 ADC und analoge Fähigkeiten
| Funktion | Beschreibung |
|---|---|
| ADC-Auflösung | 10-Bit |
| Eingangskanäle | Bis zu 4 |
| Referenzoptionen | VCC oder interne Referenz |
| Spezialmodus | ADC Lärmunterdrückungsschlaf |
Der ATtiny85 verfügt über einen eingebauten Analog-Digital-Wandler, der wechselnde Spannungspegel misst und in digitale Werte umwandelt. Die Messqualität hängt von einer stabilen Referenzspannung, sauberen Stromanschlüssen und korrekter Signalleitung ab. Die Verwendung des ADC Noise Reduction Schlafmodus hilft, das interne Rauschen während der Umwandlung zu reduzieren, was die Lesekonsistenz und die allgemeine Zuverlässigkeit verbessert.
ATtiny85 Serielle Kommunikation mit der USI
Der ATtiny85 unterstützt serielle Kommunikation über eine Universal Serial Interface (USI). Diese flexible Schnittstelle kann per Firmware konfiguriert werden, um im SPI-Modus zu arbeiten oder I²C-ähnliche Kommunikation zu unterstützen. Durch die Verwendung eines einzigen gemeinsamen Hardwareblocks bleibt das Gerät kompakt und ermöglicht dennoch den einfachen Datenaustausch.
Da die USI stark auf Softwaresteuerung angewiesen ist, ist ein sorgfältiges Zeitmanagement erforderlich. Er eignet sich für einfache und langsame Kommunikationsaufgaben, bietet jedoch weniger Automatisierungsfunktionen als dedizierte SPI- oder I²C-Peripheriegeräte, die in größeren Mikrocontrollern zu finden sind.
ATtiny85-Programmierung über die Arduino-IDE

• Der ATtiny85 kann nach der Installation eines ATtiny-kompatiblen Kerns in der Arduino-IDE programmiert werden.
• Die Programmierung erfolgt mit einem USB-Programmierer oder einem Arduino, der als Internetanbieter eingerichtet ist.
• Die Platineneinstellungen in der Arduino-IDE müssen mit der gewählten Taktfrequenz und Betriebsspannung des ATtiny85 übereinstimmen.
• PINs, die im Code verwendet werden, unterscheiden sich vom physischen Pin-Layout, daher müssen sie vor der Verkabelung sorgfältig überprüft werden.
Minimal zuverlässige ATtiny85-Schaltung

Diese Schaltung verwendet nur die grundlegenden Komponenten, die für einen stabilen Betrieb erforderlich sind. Die VCC- und GND-Pins liefern Strom, sodass die interne Logik korrekt funktioniert. Der interne Oszillator steuert das Timing, sodass keine externen Taktkomponenten benötigt werden.
Eine über einen 47-Ω-Widerstand verbundene LED zeigt die Ausgangskontrolle und schützt dabei sowohl die LED als auch den GPIO-Pin. Der RESET-Pin bleibt zum Neuprogrammieren oder Neustarten des Geräts zugänglich. Mit sehr wenigen externen Komponenten bietet dieses Setup eine einfache und zuverlässige Grundlage für grundlegende Anwendungen.
ATtiny85 Häufige Probleme und schnelle Überprüfungen
| Problem | Was sollte man überprüfen oder beheben? |
|---|---|
| Code-Upload fehlschlägt | Überprüfen Sie die Verkabelung des Internetanbieters und bestätigen Sie die RESET Sicherungseinstellung |
| Falsches Timing | Überprüfen Sie die ausgewählte Taktquelle und Sicherungskonfiguration |
| Unstabile ADC-Messungen | Verbesserung der Erdung und Hinzufügen geeigneter Entkopplungskondensatoren |
| Kommunikationsfehler | Überprüfen Sie USI-Setup- und Zeiteinstellungen |
| Überhitzungsstifte | Niedrigere Laststromversorgung und Nutzung externer Treiberkomponenten |
Fazit
Der ATtiny85 vereint die zentralen Steuerungsfunktionen in einer sehr kompakten Form. Seine Spezifikationen, Pin-Funktionen, internen Blöcke und Leistungseinstellungen erklären, wie er in realen Schaltungen funktioniert. Mit korrekter GPIO-Handhabung, ADC-Nutzung, serieller Einrichtung und einer minimalen Schaltung kann der ATtiny85 klar verstanden und in stabilen, leistungssparenden Designs eingesetzt werden.
Häufig gestellte Fragen [FAQ]
Wie viel Strom verbraucht der ATtiny85?
Der Stromverbrauch hängt von der Versorgungsspannung, der Taktfrequenz und den aktiven Funktionen ab. Niedrigere Taktraten und das Deaktivieren ungenutzter Peripheriegeräte verringern den Stromverbrauch.
Benötigt der ATtiny85 einen externen Takt?
Nein. Der ATtiny85 verfügt über einen internen RC-Oszillator und kann ohne externe Taktkomponenten arbeiten. Ein externer Takt wird nur für eine höhere Zeitgenauigkeit benötigt.
Kann der RESET-Pin als normaler I/O-Pin verwendet werden?
Ja. Der RESET-Pin kann mit den Sicherungseinstellungen als GPIO konfiguriert werden. Dies deaktiviert die Standardprogrammierung des Internetanbieters und erfordert Hochspannungsprogrammierung zur Neuprogrammierung des Geräts.
Kann der ATtiny85 Motoren oder Relais direkt antreiben?
Nein. ATtiny85 GPIO-Pins sind ausschließlich für die Signalsteuerung gedacht. Motoren und Relais müssen mit externen Transistoren oder MOSFETs angetrieben werden.
Warum sind die ADC-Werte von ATtiny85 instabil?
Instabile ADC-Werte werden meist durch Stromstörungen oder schlechte Erdung verursacht. Das Hinzufügen geeigneter Entkopplungskondensatoren und die Verwendung des ADC-Rauschunterdrückungsmodus verbessert die Stabilität.