Ratgeber
ATtiny ist die Bezeichnung einer Gruppe von 8-Bit-AVR-Mikrocontrollern. Sie werden in Form von Entwicklungsboards angeboten und können aufgrund ihrer geringen Abmessungen und reduzierten Ausstattung in Projekte mit begrenztem Platzangebot eingebettet werden.
In unserem Ratgeber erfahren Sie, welche Spezifika ATtiny-Mikrocontroller auszeichnen und worauf bei der Auswahl zu achten ist.
ATtiny-Mikrocontroller gehören zur Familie der 8-Bit-AVR-Mikrocontroller, die ursprünglich vom US-amerikanischen Unternehmen Atmel entwickelt und produziert wurden, mittlerweile aber zum Portfolio der ebenfalls in den USA ansässigen Halbleiterherstellers Microchip zählen. Sie werden als separate Bauteile angeboten, etwa als DIP-8-Ausführungen, die erst auf Platinen aufgelötet werden müssen, sind aber auch Bestandteil von Entwicklungsboards, die man quasi sofort einsetzen und programmieren kann.
AVR-Mikrocontroller werden gerne für einfache Projekte im Entwicklungsbereich genutzt, beispielsweise LED- oder Weichenansteuerungen. Sie eignen sich gut für Hobbyanwendungen und sind einstiegsfreundlich, was vor allem darin begründet liegt, dass sie intern übersichtlich strukturiert sind und darüber hinaus eine In-System-Programmierung erlauben. Das heißt, dass sie programmiert werden können, ohne dass man sie aus der Schaltung herausnehmen muss. Wer sich für den Umgang mit Elektronik interessiert und das Programmieren möglichst nah an Hardware lernen möchte, ist damit gut beraten.
ATtiny-Mikrocontroller sind im Vergleich zu allen anderen Mitgliedern der AVR-Familie kleiner gebaut und reduzierter ausgestattet. Dadurch bieten sie zwar nicht so viele Anschlüsse und Features, lassen sich aber platzsparend unterbringen. ATtiny-Controller eignen sich daher sehr gut für Anwendungen, bei denen wenig Platz für die Integration von Bauteilen zur Verfügung steht. Da sie nur geringe Stromstärken für den Betrieb benötigen, sind sie ebenfalls eine gute Wahl, wenn die Stromkapazität limitiert ist, wie es bei batteriebetriebenen Projekten der Fall sein kann.
ATtiny-Mikrocontroller gibt es in vielfältigen Ausführungen, die sich im Hinblick auf die Polzahl der Gehäuse, die Größe der Speicherbausteine, die Anzahl der Ein- und Ausgänge (I/O-Pins) und die Taktfrequenz unterscheiden. Sie sind je nach Modell mit 6- bis 32-poligen Gehäusen ausgestattet und haben einen maximal 16 Kilobyte großen Flash-Speicher. Zum Vergleich: Mikrocontroller der größeren ATmega-Reihe haben 28- bis 100-polige Gehäuse und einen bis zu 256 Kilobyte großen Flash-Speicher. Alle ATtiny-Typen verfügen neben einem Flash- übrigens auch über einen EEPROM-Speicher (nichtflüchtig, elektrisch löschbar) und einen SRAM-Speicher (statischer RAM). Deren Größe variiert ebenfalls von Typ zu Typ.
Die Anzahl der Input/Output-Pins, also der Schnittstellen zur Anbindung elektronischer Geräte, unterscheidet sich mitunter stark. So sind es bei den ATtiny-Typen 11, 11L, 12, 12L, 12V, 22 und 22L beispielsweise 5 Pins, während der ATtiny48 und ATtiny88 es auf 24 bzw. 28 Pins bringen. Durchschnittlich haben ATtiny-Mikrocontroller jedoch weniger I/O-Pins als andere AVR-Mikrocontroller.
Die meisten Typen sind in der Lage, mit unterschiedlichen Taktfrequenzen zu arbeiten – anfangen bei 1 MHz, was der üblichen Einstellung im Auslieferungszustand entspricht, über 8 MHz bis hin zu 16 MHz. Mit einem Oszillator als externem Taktgeber können sogar Frequenzen von bis zu 20 MHz erreicht werden. Zwar braucht man zur Erzeugung hoher Taktraten mehr Strom, für manche Anwendungen sind sie jedoch unabdinglich.
Während die Nomenklatur anderer AVR-Mikrocontroller-Gruppen wie ATmega sehr ausdifferenziert und klar geregelt ist, verhält es sich bei ATtiny etwas anders. Zwar gibt die erste Ziffer auch hier die Größe des Flash-Speichers an (ATtiny10, 11, 12 etc. = 1 Kilobyte Flash, ATtiny25 = 2 Kilobyte Flash usw.), andere Informationen, etwa zur Baugröße oder zu Zusatzfunktionen, sind in der Bezeichnung jedoch nicht enthalten. Dementsprechend müssen alle übrigen Spezifikationen dem Datenblatt entnommen werden.
Der ATtiny85 zählt zu den gebräuchlichsten ATtiny-Typen. Er hat einen 8 Kilobyte großen Flash-, einen 512 Bytes großen EEPROM- und einen ebenfalls 512 Bytes großen SRAM-Speicher. Insgesamt verfügt der ATtiny85 über 8 Pins, von denen drei bereits mit Funktionen belegt sind. Pin 1 ist der Reset-Pin, während Pin 4 für das Erdpotenzial (GND = Ground) vorgesehen ist. Pin 8 ist der Spannungsversorgung (VCC = Voltage Common Collector) vorbehalten. Zieht man die drei reservierten Pins ab, bleiben fünf übrig, die als I/O-Pins genutzt und frei mit Funktionen belegt werden können.
Um herauszufinden, welcher Pin welcher ist, dreht man den ATtiny-Mikrocontroller zunächst in die richtige Ausgangsposition. Dazu ist in einer Ecke eine Kerbe angebracht, die nach oben links zeigen muss. Links neben dem Kern befindet sich Pin 1 (Reset). Zählt man davon ausgehend im Uhrzeigersinn durch, ermittelt man Pin 2, Pin 3, Pin 4 und so fort. Wer seine Programme mit dem Arduino IDE schreibt und einen Sketch auf den ATtiny 85 anwenden möchte, muss im Hinterkopf behalten, dass die Bezifferungen der Pins im Sketch und am Mikrocontroller nicht identisch sind. Soll beispielsweise eine LED an Pin 2 des ATtiny angesteuert werden, wird im Arduino Sketch Pin 3 als Output-Pin definiert. Pin 3 am ATtiny85 entspricht Pin 4 im Sketch, Pin 5 entspricht Pin 0, Pin 6 entspricht Pin 1 und Pin 7 entspricht Pin 2.
ATtiny-Mikrocontroller eignen sich hervorragend für Projekte, bei denen ein kleiner Arduino bereits überdimensioniert wäre. Das kann der Fall sein, wenn man nicht viele I/O-Anschlüsse braucht, wenn kaum Platz für die Integration von Bausteinen zur Verfügung steht oder wenn man möglichst wenig Strom verbrauchen möchte.
ATtiny-Boards lassen sich im Vergleich zu Arduino-Boards zwar nicht ganz so komfortabel einrichten und programmieren, das heißt aber nicht, dass es besonders kompliziert wäre. Die Stromversorgung wird über eine DC-Buchse oder einen USB-Port realisiert. Über USB wird auch die Software bzw. der Programmcode in den ATtiny-Prozessor geladen. Der Anschluss elektronischer Geräte wie Sensoren oder LEDs erfolgt über die I/O-Pins. Hier ist darauf zu achten, dass eine ausreichende Anzahl von (digitalen und analogen) Pins zur Verfügung steht.
Generell ist die Ausstattung des Entwicklungsboards ein entscheidendes Kriterium bei der Auswahl. Wichtig ist, dass die Schaltung mit derselben logischen Spannung arbeitet wie die Komponenten, die angeschlossen werden sollen.
Manche Boards bieten die Möglichkeit, Geräte mit unterschiedlichen Logiken, beispielsweise 3 V und 5 V anzuschließen, was je nach Anwendung durchaus sinnvoll sein kann.
ATtiny-Mikrocontroller-Boards können über die Pin-Steckplätze mit Modulen erweitert werden. Wichtig dabei ist, dass jedes angeschlossene Modul mit einem Jumperkabel an einem Pin geerdet und einem weiteren Pin mit Strom versorgt wird. Nur dann ist eine Spannungsversorgung sichergestellt. Der Pin am Entwicklerboard ist dann derjenige, über den in der Software auf das Modul zugegriffen werden kann.
Was braucht man zum Arbeiten mit einem ATtiny-Mikrocontroller-Board?
Beim Arbeiten mit einem ATtiny-Entwicklerboard braucht man einen Computer bzw. ein Notebook zum Programmieren, ein USB-Kabel, um den Programmcode auf das Board zu laden, und eine IDE (integrierte Entwicklungsumgebung), sprich Software für die Anwendungsentwicklung.
Kann ich einen Arduino Uno als Programmer für ein ATtiny85-Board verwenden?
Ja. Der Arduino Uno und jeder andere Arduino können als ISP-Programmer (ISP = In-System-Programming) genutzt werden, um verschiedenartige Typen von Mikrocontrollern zu programmieren, ohne dass dafür ein Adapter notwendig wäre. In dem Fall kommt die serielle SPI (Serial Peripheral Interface) zum Einsatz. Damit der Arduino Uno zu Beginn der seriellen Kommunikation nicht seinen Bootloader zur Neuprogrammierung startet, muss der Reset-Impuls abgefangen werden. Zu diesem Zweck wird zwischen Reset und GND ein Kondensator integriert, der diese Aufgabe übernimmt. Dadurch ist sichergestellt, dass der Arduino selbst als Programmer arbeitet und der Sketch gestartet werden kann.
Was muss ich beachten, wenn ich einen Arduino als Programmer für ein ATtiny-Board konfigurieren möchte?
Um einen Arduino als Programmer zu konfigurieren, muss zuerst ein Sketch darauf geladen werden. Fehlt dieser, ist das ATtiny-Board nicht programmierbar. Wichtig ist, den Kondensator bis zu diesem Schritt nicht zu verwenden, da er das Hochladen des Sketches verhindern würde.
Was bedeutet die Abkürzung MCU?
MCU ist die Abkürzung für Microcontroller Unit. Dabei handelt sich lediglich um eine Alternativbezeichnung für einen normalen Mikrocontroller.