Sonntag, 1. Dezember 2019

ATtiny 84 mit dem Arduino UNO R3 programmieren

Der ATtiny45/85 reicht mit seinen fünf PIO für größere Projekte nicht immer aus, als Alternative nutze ich einen ATtiny84A-PU. Dieser stellt elf PIO zur Verfügung (P0 bis P7, P9 bis P10), P5 bis P8 unterstützen zusätzlich noch PWM (Pulse Width Modulation). Der ATtiny84 arbeitet wie sein Bruder ATiny85 mit einer Geschwindigkeit von 20Mhz, die Speichergröße ist 8kByte, der EEPROM und der RAM haben 512Byte.


ATtiny84A-20 PU - DIP-14!


Für die Programmierung benutze ich wie auch schon in meinem Post zum ATtiny85 Click here! beschrieben, einen Arduino UNO R3.


ELEGOO UNO R3, voll kompatibel zum Arduino UNO R3!

Der ATtiny84A wird am Arduino UNO R3 wie folgt angeschlossen:
(HINWEIS: es werden hier die Pins genannt. nicht die Ports!)

ATtiny84A - Pin: Arduino - Pin:
1 ==> VCC 5V
4 ==> 10
7 ==> 11
8 ==> 12
9 ==> 13
14 ==> GND

Zwischen den Arduino Pins "RESET" und "GND" ist noch ein ELKO 10uF/25V anzuschliessen. Der Kondensator sorgt dafür, dass der Arduino beim Upload nicht resettet.


Schematische Darstellung der Verdrahtung!


Wie auch schon für den ATiny45/85 habe ich mir zur Erleichterung bei der Programmierung einen Adapter gebaut, der direkt auf den Arduino UNO R3 gesteckt werden kann. Damit entfällt das wiederholte Stecken der Jumperkabel auf dem Breadboard.


Platine - Vorderseite
            
Platine - Rückseite

Schaltplan ATiny84-Adapter!


Boardansicht ATiny84-Adapter!


Für Testzwecke habe ich noch eine weitere Platine gebaut, hier kann der programmierte ATtiny aufgesteckt werden und die LED´s zeigen die Programmabläufe an.


Testboard für ATtiny84


Schaltplan Testboard ATtiny84


Boardansicht Testboard ATtiny84

Bevor mit dem Programmieren begonnen werden kann, muss wie in meinem Post
ATtiny 85 mit dem Arduino UNO R3 programmieren - die Software! beschrieben, die Arduino Software vorbereitet werden. Bis zu dem Punkt "Programmer auswählen" verläuft die Vorbereitung identisch.


Ab hier geht es mit der Softwareinitialisierung für die Programmierung eines ATtiny84 wie folgt weiter:

Unter dem Menuepunkt Werkzeuge - Board:... ist der ATtiny24/44/84 auszuwählen.


Beim Menuepunkt Werkzeuge - Clock wird der Eintrag "8Mhz internal" ausgewählt.
Wie auch beim ATtiny85 ist die Antwort auf die Frage "Warum?" wie folgt: z.B. die Funktion "delay" aus der Arduino-Bibliothek geht von einer 8 Mhz Prozessorgeschwindigkeit aus. Bei der Einstellung 1 Mhz internal läuft das Programm zu langsam, bei der Abarbeitung des Sketches werden für eine Sekunde (1000 Millisekunden) genau 8 Sekunden gebraucht (mit einer Stoppuhr nachgemessen). Alle anderen Einstellungen bleiben unverändert (gemäß Vorgaben aus der Boardverwaltung).


Zum Abschluss muss noch einmalig der Bootloader "gebrannt" werden. Dazu wird der ATtiny an den Arduino UNO R3 angeschlossen und im Menue Werkzeuge der Punkt Bootloader brennen ausgewählt.


Voilá! Fertig! Jetzt können Sketche auf dem ATtiny hochgeladen werden

An dieser Stelle noch der Hinweis:
der Nachbau geschieht auf eigene Gefahr.
Ich übernehme keine Haftung für eventuell entstandene Schäden!

Keine Kommentare:

Kommentar veröffentlichen