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. |
[1] Schaltung und Programm wurde
aus dem Internet entnommen. |
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: |
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: |
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):
|
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.
|
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. |