ARDUINO ATtiny-Brenner

Wozu einen ATtiny-Brenner?
Nicht immer ist für Projekte ein ARDUINO UNO, oder gar ein ARDUINO MEGA, ja nicht einmal ein ARDUINO NANO, erforderlich. Ein "Winzling", wie ein ATtiny 85 tut es oftmals für kleine Anwendungen und ist preiswert für nur 1,75 € zu haben. Aber auch auf diesen Baustein müssen Programme hochgeladen werden (wie auch auf einen ARDUINO), beziehungsweise gebrannt werden. Dazu dienen "Brenner"; aber wozu kaufen, wenn doch wohl bereits ein ARDUINO UNO vorhanden ist. Denn damit lässt sich ein ATtiny-Brenner sehr leicht verwirklichen.
Im Internet findet man etliche Beschreibungen dazu. Ich fand aber, dass viele dieser Beschreibungen lückenhaft sind, sodass man beim Hochladen der erforderlichen Programme nicht selten Fehlermeldungen bekommt (z.B. "not in sync" ="nicht synchron" beim Hochladen des Bootloaders), nur weil eventuell nicht die richtigen Einstellungen gewählt wurden, oder das Falsches vom Internet geholt wurde.
Deshalb habe ich eine komplette detaillierte Anleitung für ATtiny85 geschrieben, welche hier als pdf heruntergeladen werden kann. Da die Anleitung sehr viele beschreibende Bilder enthält, verzichte ich aus Platzgründen diese hier auf der Seite einzustellen (Sie müssten viel zu sehr rauf und runter scrollen).

Der Download enthält:
- HJB ATtiny mit ARDUINO-UNO programmieren.pdf
- ArduinoISP_HJB.fzz
- ArduinoISP_HJB.ino
ATtiny85 Bootloader und Programme hochladen
Download HJB ATtiny mit ARDUINO-UNO programmieren
Abb.1

ATtiny85-IC


Abb.2
Abb.1 zeigt einen ATtiny 85 in einem 8-poligen DIL-Gehäuse.

Abb.2 zeigt die Pinbelegung. Hier ist darauf zu achten, dass in einem Sketch (Programm) das Ansprechen der Pins etwas anders gestaltet ist, als bei einem ARDUINO UNO oder NANO! Es sind also dafür die Ziffern in den blauen runden Kreisen zu verwenden!
Abb.3
In der oben zum Download bereitgestellten Anleitung ist auch zum Testen des Brenners ein Beispiel-Programm enthalten. Es handelt sich dabei um eine Wechselblinkschaltung für einen ATtiny85. Diese kleine Schaltung kann beispielsweise bereits auf einer Modellbahnanlage bei einem unbeschrankten Bahnübergang Anwendung finden. Entweder wird eine kleine Platine geätzt (Abb.4), oder unkompliziert eine kleine Lochraster-Platine verwendet (Abb.5). Dabei liegt der Preis für die Bauteile lediglich bei 2 €!

Download Attiny_TEST_LED
Der Download enthält:
- Attiny_TEST_LED.fzz
- Attiny_TEST_LED.ino

Abb.4

Abb.5

ARDUINO UNO HV-Brenner[1] Schaltung für einen ATtiny85

Im Internet findet man etliche Beschreibungen von sogenannten ARDUINO-HV-Brennern, wie ein bereits verwendeter ATtiny85 zur Neuverwendung wieder in seinen Urzustand versetzt werden kann. Einige wurden von mir getestet, welche aber nicht auf Anhieb funktionierten; auch waren die Beschreibungen zumeist lückenhaft, sodass erst viel ausprobiert werden muss, oder sind für jene verfasst, die sich bereits mit dem ARDUINO und ATtiny85 sehr gut auskennen, meistens auch nur in englisch verfasst.

Das für mich am besten geeignete Programm beschreibe ich hier mit überarbeiteter ausführlicher deutscher Baubeschreibung.

[1] Schaltung und Programm wurde aus dem Internet entnommen.

LINK: https://sites.google.com/site/wayneholder/attiny-fuse-reset
Schaltungsaufbau:
Die Abb.6 zeigt die Schaltung auf einem Steckboard. Der ARDUINO UNO wird vom PC über USB mit 5V= versorgt. Ein Steckernetzteil liefert die erforderlichen 12V=  zum "Brennen". 12 Volt ist eigentlich keine "Hochvoltspannung" ("HV"), der Ausdruck wird hier wohl nur deshalb verwenden, weil eine höhere Löschspannung erforderlich ist, als die normale 5 Volt Betriebsspannung.

Funktionsweise:

Bei einem bereits beschrieben ATtiny85 wurden sogenannte "Fuses" ("Sicherungen") gesetzt, welche aus Sicherheitsgründen ein versehentliches Neubeschreiben verhindern sollen. Ein HV-Brenner versetzt die Fuses wieder in den Urzustand zurück, sodass ein ATtiny85 wieder neu verwendet werden kann.

Abb.6

Abb.7 Schaltplan

Abb.8 Platinenlayout
Um das ARDUINO-Brennprogramm (später im Download) zum Löschen eines ATtiny zu starten, bedarf es eines Terminal-Programms. Ich verwende hier das Terminal-Programm "PuTTY".

PuTTY

LINK zum Programm-INFO und DOWNLOAD:

https://www.heise.de/download/product/putty-7016

Ist das PuTTY-Programm gestartet, ist es zunächst zu konfigurieren:

 

Der COM-Port (Serial line) hat die gleiche Einstellung, wie der über USB angeschlossene ARDUINO UNO ( bei mir hier COM6).

 

Die Baudrate (Speed) ist gleich der für den ARDUINO UNO eingestellten Rate [im Sketch die Zeile " Serial.begin (9600);"]. Ich verwende hier nur 9600 (sicherheitshalber eine relativ niedrige Geschwindigkeit, welche aber vollkommen ausreichend ist).

 

Verbindungstyp (Connection type) Serial

 

Fenster Schließen (Close window on exit): Only on clean exit.

 

Dann: Open klicken.

Abb.9

Das ARDUINO UNO Brennprogramm erwartet nun ein Startbefehl zum Löschen des ATtiny85, was mit einem Rechtsklick der Maus erfolgen kann.

 

Im Terminal-Programmfenster kann verfolgt werden, was zum ATtiny85 gesendet wird, siehe Abb.10.

 

Danach ist der ATtiny85 gelöscht und befindet sich wieder im Urzustand, sodass er wieder zu anderen Zwecken verwendet werden kann. (Dazu muss natürlich auch wieder der Bootloader auf den ATtiny85 geschrieben werden, bevor auf ihm ein Programm hochgeladen werden kann, siehe oben unter "ARDUINO ATtiny85-Brenner").

Abb.10
Die komplette Anleitung kann hier heruntergeladen werden:
- Beschreibung als pdf mit Programm-Listing
- Fritzing
- ARDUINO Sketch
Download
HJB_ARDUINO_UNO_ATtiny_Brenner

ATtiny85 Brenner-Shield für einen ARDUINO UNO

Um nicht jedesmal die Schaltung auf einem Steckboard aufbauen zu müssen (ein Steckboard ist auch nicht gut betriebssicher!), kann die Hardware für den Brenner auch auf ein sogenanntes Shield fest aufgebaut werden. Das Schield wird dann einfach oben auf einen ARDUINO UNO aufgesteckt, die Brennsoftware in den ARDUINO geladen, den zu löschenden ATtiny85 in den DIL-8-Sockel stecken (dabei auf die Kerbe, beziehungsweise auf den Punkt bei Pin 1 achten! In der Shield-Abbildung also links unten des Sockels!), die USB-Verbindung zum PC (oder Laptop) hergestellt, (sofern der ARDUINO UNO nicht mehr das Brennprogramm enthält, die IDE mit dem Brennprogramm starten und das Programm hochladen), die Einstellungen überprüfen (in der IDE unter "Werkzeug" Board ARDUINO UNO, COM-Port), PuTTY starten mit Einstellungen wie oben beschrieben, und los geht´s.

Die Abbildung 11 zeigt den Aufbau des Shields (Prototype Shield v.5, bestellbar im Internet).
Diese Shield ist auch unter "ARDUINO und Zubehör" eingestellt.

Abb.11

Abb.12
Bauteilebestückung auf der Oberseite des Shields.
Der hier bestückte kleine Keramikkondensator von 100pF muss nicht zwingend bestückt werden. Er dient aber dazu, eventuelle Störungen (verursacht durch die ICs) zu dämpfen. Statt der 12V-Buchse kann auch eine Klemm- oder Steckerleiste verwendet werden, um das 12V Steckernetzteil anzuschließen.

Abb.13
Verdrahtung auf der Unterseite des Shields.
Diese Abbildung soll eine Hilfe bei der Verdrahtung sein. Die hier dargestellten Drahtfarben korrespondieren mit den Leitungsfarben der Abbildungen 6 und 7, zur besseren Orientierung und brauchen also nicht zwingend in diesen Farben verbaut werden.
Anschlussbelegung des Transistors.
Es kann jeder Kleinleistungstransistor verwendet werden; es ist aber auf die Anschlussbelegung zu achten!

Abb.14
Ein 8-poliger Sockel (DIL-Fassung, DIL = Dual-In-Lnline) dient zur Aufnahme des ATtiny85-ICs.
Abb.15
Die Verdrahtung kann auch mittels Fädelstifte erfolgen.
Die Lackisolierung schmilzt dabei an den Lötstellen (Löttemperatur 400-450°C). Hierzu gehört aber zuvor etwas Übung!

Abb.16
Hat man sich einmal "verlötet" und muss die Lötung wieder entfernen, so hilft eine Enlöt-Litze mit einer Breite von 1,5mm (fein). Das Ende der Litze wird knapp auf die Lötstelle gesetzt, die Spitze des Lötkolbens oben auf die Litze gedrückt bis Lötzinn in das Kupfergeflecht steigt.
Abb.17

ATtiny85 Bootloader-Shield für einen ARDUINO UNO, als auch zum Hochladen von Sketches in den ATtiny85

Auch für den Bootloader ist es vorteilhaft, sich ein Shield aufzubauen. Spendiert man sowohl beim ATtini85-Brenner, als auch beim ATtiny85-Bootloader, jeweils einen eigenen ARDUINO UNO mit den jeweiligen Programmen, so können ATtiny85-ICs schnell und komfortabel bearbeitet werden. Das Bootloader-Shield kann auch zum Hochladen von Programmen auf einem ATtiny85 verwendet werden; dann aber sollte ein 10uF Kondensator von GND nach RESET auf das Shield gesteckt werden, damit beim Hochladen von Programmen ein RESET sicher vermieden wird (Abb.18). Dieser Kondensator wird aber beim Hochladen eines Bootloaders auf einen ATtiny85 entfernt!
Abb.19

Abb.18

Abb.20
Bauteilebestückung auf der Oberseite des Shields.
Der hier bestückte kleine Keramikkondensator von 100pF muss nicht zwingend bestückt werden. Er dient aber dazu, eventuelle Störungen (verursacht durch die ICs) zu dämpfen.

Abb.21
Verdrahtung auf der Unterseite des Shields.
Diese Abbildung soll eine Hilfe bei der Verdrahtung sein.
Die 5V-Stromversorgung erfolgt vom PC über USB an den ARDUINO UNO USB-Anschluss.
Beachte:
beim HV-Brenner, beim Bootloader, sowie beim Programmhochladen, sind die Einstellungen stets vorzunehmen, wie sie in den oben verfügbaren Downloads angegeben werden!
Die Schaltungen und Programme auf dieser Seite wurden aufgebaut und getestet. Auch konnten beschriebene ATtiny85-ICs mehrfach mit dem HV-Brenner gelöscht werden (also in ihren Ursprungszustand versetzt werden) und dann wieder mit einem Bootloader versehen werden und neue Programme hochgeladen werden.

ATtiny84 Bootloader und Programme hochladen

Wie für den ATtiny85 ist auch für einen ATtiny84 ein Bootloader erforderlich, mit dem ebenfalls Programme auf den ATtiny84 hochgeladen werden können. Die Schaltung dafür unterscheidet sich aber von der für die eines ATtiny85!

Abb.22
Die Schaltung mit der mittels eines ARDUINO UNO der Bootloader auf einen ATtiny84 geladen werden kann, als auch Programme (Sketche) auf einen ATtiny84 hochgeladen werden können.

Abb.23

Abb.23 zeigt die Pinbelegung. eines Attiny84.
Hier ist darauf zu achten, dass in einem Sketch (Programm) das Ansprechen der Pins etwas anders gestaltet ist, als bei einem ARDUINO UNO oder NANO! Es sind also dafür die Ziffern in den blauen runden Kreisen zu verwenden!

Download

ATtiny84 Bootloader

Download enthält eine komplette Anleitung inklusive Bootloade-Sketch für ARDUINO UNO.

Abb.24
Auch für einen ATtiny84 lohnt sich der Aufbau eines Shield. Siehe Abbildung 24 rechts.
Anmerkung:
Wollte man bei einem bereits beschriebenen ATtiny85 diesen mit einem neuen Programm beschreiben, so musste zuvor die Fuses mittels eines HV-Brenners gelöscht werden und dann ein Bootloader neu hochgeladen werden.
Bei den von mir verwendeten ATtiny 84 war dies nicht erforderlich. Hier brauchte ich bei einem bereits beschrieben ATtiny84 lediglich den Bootloader wieder hochzuladen, um anschließend ein neues Programm hochladen zu können.
Sollte dies bei Ihnen nicht der Fall sein, so ist auch hier für einen ATtiny84 ein HV-Brenner erforderlich, welchen ich hier gerne einstellen werde, wenn diesbezüglich Wünsche geäußert werden.

 

zurück zu ARDUINO