ATtiny84: 85er mit mehr Pins

Die Chips des ATtiny85/45/25 sind bei uns inzwischen gut bekannt und werden als Arduino Alternative (genau genommen ATmega328 Alternative) gehandelt.
Mit insgesammt 8 PINs bleiben uns allerdings nur 3 digitale und 2 analoge Ausgänge für Anwendungen übrig.

Doch es gibt da noch den mittleren Bruder in Form des ATtiny84/44/24 zwischen der ATtiny und ATmega Serie.


Die ATtiny*4 Serie

Die ATtiny*4 Chips passen auf einen 14 Pin Sockel und bieten uns für Anwendungen gleich 11 GPIO Pins an, davon 8 analoge und 3 rein digitale. (Und natürlich lassen sich die analogen auch wie digitale nutzen.)

ATtiny84 Pins

Damit sind wir schon viel näher an einem ATmega328 dran, brauchen aber immer noch weniger Strom und können den internen Taktgeber auf 1 Megahertz heruntertakten.

Beim Speicher sieht es aber genau so limitiert aus, wie bei der 85/45/25 Serie, denn hier gilt:

Serie RAM EEPROM Prog. Flash
85 oder 84 512 Bytes 512 Bytes 8 KB
45 oder 44 256 Bytes 256 Bytes 4 KB
25 oder 24 128 Bytes 128 Bytes 2 KB

Arge Grafiken oder lange Statistiken lassen sich auf Grund des fehlenden RAMs bzw. des geringen Programm-Speichers nicht auf den kleinen Chip brennen.
Doch er eignet sich gut, um Daten von mehreren Sensoren weiterzugeben, oder mehrere Tastenerkennungen oder Strommessungen durchzuführen.

Wer noch den einen oder anderen ESP8266-1 bei sich herumliegen hat, kann dessen serielle Pins mit denen eines ATtiny84 zusammen schließen und dann vom WLAN des ESP8266 heraus Geräte, die am ATtiny hängen, auslesen.

Nachdem die ATtinys alle mit Spannungen von 2 bis 5.5 Volt betrieben werden können, sind sie auch mit den 3.3 Volt der ESP Serie kompatibel.

Programmierung

Natürlich existiert für die Arduino IDE ein Board Package, das man installieren kann. Unter http://highlowtech.org/?p=1695 findet man ein Beschreibung, doch grundsätzlich fügt man die Board-URL https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json in der Arduino IDE hinzu und sucht im Board-Manager nach ATtiny und sollte dann auch gleich den ATtiny-Board Eintragen finden.

Wenn man sich kein eigenes Programmiergerät kaufen will, funktioniert man am besten einen Arduino UNO zu einem Programmer um, in dem man das Arduino-as-ISP-Sketch auf ihn hochlädt.
Dann verbindet man noch die Pins D10, D11, D12 und D13 am UNO mit den Pins 4 (RST), 7 (MOSI/A6), 8 (MISO/A5) und 9 (SCL/A4) des ATtiny84, nebst Pluspol auf 1 (VCC) und Minuspol auf 2 (GND).

Und schon können wir über den UNO ein Sketch kompilieren und auf den ATtiny übertragen, wenn Arduino-as-ISP als Programmiergerät in der IDE eingestellt ist. Also so wie immer, wenn man einen Chip über einen Arduino UNO programmieren will.

ATtiny84 Programming

Anwendungen und Problemchen

Das größte Problem bei Arduino-Bibliotheken ist, dass sie die ATtinys generell oft nicht “bedenken” und von der Pin-Belegung des UNOs ausgehen. Auch kann es sein, dass es abhängig von der eingestellten Prozessortaktung zu falschen Frequenz- oder Verzögerungswerten kommt.

Daher muss man nach Bibliotheken suchen, die ATtinys unterstützen oder eigens für sie geschrieben wurden. Da kann es schon mal etwas dauern bis man nach ein paar Fehlschlägen die richtige Softwarelösung gefunden hat.

Ich selbst stehe hier auch noch am Anfang, freue mich aber mit dieser MCU ein Mittelding zwischen ATtiny85 und ATmega368 gefunden zu haben.

Fazit

Ein netter IC, nicht perfekt was die Softwareunterstützung anbelangt aber macht Spaß, mal was “selbst” implementieren zu müssen um das Potential des Chips auszunutzen.

Während man die 85/45/25 beim Elektronikladen um die Ecke findet, konnte ich die 84/44/24 Serie in unseren Breiten nicht entdecken.

In Asien kostet der Chip in der Sockelfassung aktuell mit rund 2 Euro pro Stück doppelt so viel wie ein günstiger ATmega328.
In Summe ist das aber dennoch recht wenig und der Chip spart dafür Energiekosten ein, was bei Batterieprojekten wieder “vergünstigend” wirkt.

Alles in allem eine Empfehlung und ein Experiment wert.


Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!