Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
anleitungen:spezial:tiny-uniprog [2020/04/19 07:44] – angelegt moba_nick | anleitungen:spezial:tiny-uniprog [2024/09/24 18:57] (aktuell) – gerald_bock | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Programmierung von Attinys | + | ====== Programmierung von ATTinys |
====== Aufgabe/ | ====== Aufgabe/ | ||
Programmierung eines ATTiny85 für die Verwendung in der 510DE-Servo LED WS2811 Platine. \\ | Programmierung eines ATTiny85 für die Verwendung in der 510DE-Servo LED WS2811 Platine. \\ | ||
- | Diese Platine kann in 2 unterschiedlichen Bestückungsvarianten verwendet werden: | + | Diese Platine kann in 3 unterschiedlichen Bestückungsvarianten verwendet werden: |
- | * **Variante 1** Ansteuerung von 12 LEDs mit Charlieplexing/ | + | * **Variante 1** [[anleitungen: |
- | * **Variante 2** Ansteuerung von 3 Servos. | + | * **Variante 2** [[anleitungen: |
+ | * **Variante 3** [[anleitungen: | ||
\\ | \\ | ||
- | Die Programmierung erfolgt mittels der Platine "400-Attiny-Programmer" | + | Die Programmierung erfolgt mittels der Platine "400-ATTiny-Programmer" |
- Pattern_Configurator by Hardi | - Pattern_Configurator by Hardi | ||
- Arduino Programmiersoftware | - Arduino Programmiersoftware | ||
Zeile 112: | Zeile 113: | ||
\\ | \\ | ||
Die weitere Programmierung für die speziellen Anforderungen ist jetzt mit dem Pattern_Configurator möglich. \\ | Die weitere Programmierung für die speziellen Anforderungen ist jetzt mit dem Pattern_Configurator möglich. \\ | ||
- | Beispiele sind angeführt und eine nähere Beschreibung von Hardi ist unter dem folgenden [[https://www.stummiforum.de/viewtopic.php? | + | Beispiele sind angeführt und eine nähere Beschreibung von Hardi ist unter dem folgenden [[https://wiki.mobaledlib.de/redirect/ |
---- | ---- | ||
==== Servo-Modul ==== | ==== Servo-Modul ==== | ||
- | <WRAP important> | + | |
- | + | ||
- | Es erfolgt auf eigene Verantwortung mit einem „geheimen Trick“😉 \\ | + | |
Vorgehensweise wie bei der Charlieplex-Modul Programmierung. \\ | Vorgehensweise wie bei der Charlieplex-Modul Programmierung. \\ | ||
- Öffnen des Pattern_Configurators | - Öffnen des Pattern_Configurators | ||
Zeile 126: | Zeile 125: | ||
- Servo auswählen | - Servo auswählen | ||
- | {{bilder: | + | {{bilder: |
+ | \\ | ||
+ | Beim Klick auf den Button „Prog. Servo“ kommt nun eine Abfrage: \\ | ||
+ | {{bilder: | ||
+ | \\ | ||
+ | Falls man eine ältere Platine mit Datumsaufdruck 14.6.19 \\ | ||
+ | {{bilder: | ||
+ | <wrap em> | ||
+ | Bei den neueren Servo-Platinen wurde die Pinbelegung der SMD-Variante korrigiert. Und wenn man die DIL-Variante des WS2811 einsetzt ist die Version der Platine egal. Hier kann man „Nein“ auswählen. | ||
- | Anschließend kommt folgende Meldung – Uups! \\ | + | <WRAP info> |
- | {{bilder:anleitungen: | + | |
- | \\ | + | Anschließend kommt die normale Routine wie sie vom Charlieplex-Modul bekannt ist.\\ |
- | Um diese Meldung zu umgehen klickt | + | |
Die gelbe Prog-LED blinkt, anschließend flackert die orange Read-LED.\\ | Die gelbe Prog-LED blinkt, anschließend flackert die orange Read-LED.\\ | ||
- | Hochladen abgeschlossen, | + | Hochladen abgeschlossen, |
// (C: | // (C: | ||
\\ \\ | \\ \\ | ||
- | Um den ATTiny85 für die Verwendung | + | |
- | Das ist erforderlich um 3 Servos auf dem Modul anschließen zu können. Der ATTiny hat normalerweise zu wenige Ausgänge. Durch kurzfristig Beschaltung mit 12V wird der ResetPin ebenfalls zu einem Ausgang (IO). | + | <WRAP info centeralign round> |
- | \\ | + | |
- | {{bilder: | + | Die richtige Programmierung kann man überprüfen, |
- | \\ | + | |
- Das serielle Monitor Fenster öffnen. | - Das serielle Monitor Fenster öffnen. | ||
- | - Die Reset Pintaste | + | - Die Reset-Taste |
- Wenn der ATTiny nicht gleich erkannt wird dann nochmals versuchen. \\ | - Wenn der ATTiny nicht gleich erkannt wird dann nochmals versuchen. \\ | ||
- | Die angezeigten Werte der Fuses und die Frequenzeinstellung | + | Die angezeigten Werte der Fuses und die Frequenzeinstellung |
- | \\ | + | {{bilder: |
** Reset pin IO = blaue LED leuchtet.** | ** Reset pin IO = blaue LED leuchtet.** | ||
---- | ---- | ||
- | ==== Servo-Positionen definieren ==== | + | |
+ | ==== Servo-Positionen | ||
+ | |||
+ | Um den Servo-ATTiny85 zu verwenden müssen noch die Endpositionen der Servos definiert werden. | ||
+ | Das ist mit dem Farbtestprogramm des Programm-Generator möglich. | ||
+ | - Programm-Generator starten | ||
+ | - Optionen aufrufen \\ {{bilder: | ||
+ | - LED __F__arbtest starten \\ {{bilder: | ||
+ | - Auswahl des COM Ports bestätigen \\ {{bilder: | ||
+ | - Abfrage " | ||
+ | - Auf das Laden des Farbtestprogramms warten \\ {{bilder: | ||
+ | - Im geöffneten Programm zum Reiter "Servo Test" wechseln \\ {{bilder: | ||
+ | - Wir sollten jetzt folgende Darstellung sehen \\ {{bilder: | ||
+ | - | ||
+ | - 1. Servo Addresse und Servo Anschluss angeben. (Servo Adresse " | ||
+ | - 2. Das Servo (ohne Ruderhorn) mittels des Schiebebalkens ( unter Servo position) auf 110 (Mittenposition) setzen. | ||
+ | - 3. Dann das Ruderhorn des Servo montieren. | ||
+ | - 4. Folgend (unter Programmierung von Min/Max Position und Geschwindigkeit) den Button " | ||
+ | - 5. Nach nochmaligem Drücken des Buttons (auf der Hauptplatine blinkt die weiße mittlere LED) kann die Geschwindigkeit des Servos ebenso mittels der Pfeilfelder eingestellt werden. | ||
+ | - 6. Weitere Servos können jetzt unter der Eingabe von Servo Addresse und Servo Anschluss eingestellt werden (zurück zu Punkt 1.). | ||
+ | - 7. Schließen des Farbtestprogramms. Eine extra Speicherung ist nicht notwendig und es gibt auch keinen Button hierfür. | ||
+ | |||
+ | Sollten pro Servo mehr als zwei Stellungen benötigt werden, so können die weiteren Stellungen über den Programm-Generator (Dialog) eingestellt werden, siehe auch erstes Bild in dieser Rubrik. | ||
+ | Bei der Servobestimmung bitte die Kanalauswahl (1/Rot, 2/Grün, 3/Blau) beachten. Pro Servoplatine = 3 Servos = 3 Kanäle \\ {{bilder: | ||
+ | |||
+ | Bitte auch die Bauanleitung "510DE - Servo & LEDs" beachten. Hier sind wichtige Tipps zu den Servoplatinen-Anschlüssen zu finden | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ==== Servo-Positionen mit der Arduino IDE definieren ==== | ||
Um den Servo-ATTiny85 zu verwenden müssen noch die Endpositionen der Servos definiert werden. | Um den Servo-ATTiny85 zu verwenden müssen noch die Endpositionen der Servos definiert werden. | ||
- | Das ist derzeit ausschließlich | + | Das ist mit der Arduino IDE möglich. |
- Arduino Software öffnen | - Arduino Software öffnen | ||
- Datei – Beispiele … 01.Servo_Pos öffnen - siehe unten.\\ {{bilder: | - Datei – Beispiele … 01.Servo_Pos öffnen - siehe unten.\\ {{bilder: | ||
Zeile 172: | Zeile 208: | ||
Man kann mit dem Beispiel_Main experimentieren. | Man kann mit dem Beispiel_Main experimentieren. | ||
- | * https://www.stummiforum.de/viewtopic.php? | + | * https://wiki.mobaledlib.de/redirect/ |
- | * https://www.stummiforum.de/viewtopic.php? | + | * https://wiki.mobaledlib.de/redirect/ |
- | * https://www.stummiforum.de/viewtopic.php? | + | * https://wiki.mobaledlib.de/redirect/ |
---- | ---- | ||
+ | |||
====== Bekannte Fehler ====== | ====== Bekannte Fehler ====== | ||
* Der COM Anschluss wird nicht richtig erkannt – Anschluss überprüfen und evtl USB-Port wechseln. | * Der COM Anschluss wird nicht richtig erkannt – Anschluss überprüfen und evtl USB-Port wechseln. | ||
* Verzeichnis „“ nicht gefunden – fehlende Bibliothek in der Boardverwaltung der Arduino IDE siehe | * Verzeichnis „“ nicht gefunden – fehlende Bibliothek in der Boardverwaltung der Arduino IDE siehe | ||
+ | * Wenn man alle Servos (mehr als drei) mit nur einer Servoplatine programmiert (Servos austauscht), | ||
* Der Programmer erzeugt die 12V für den HV-Reset nicht. Dies kann einer der folgenden Ursachen haben | * Der Programmer erzeugt die 12V für den HV-Reset nicht. Dies kann einer der folgenden Ursachen haben | ||
* Nicht bestückter Widerstand R10 | * Nicht bestückter Widerstand R10 | ||
* Falsche Beschriftung des Plus Pols der LEDs (Dieser muss Links sein). Das hatte Hardi zunächst nicht gemerkt und die Software so geschrieben, | * Falsche Beschriftung des Plus Pols der LEDs (Dieser muss Links sein). Das hatte Hardi zunächst nicht gemerkt und die Software so geschrieben, | ||
- | * Falsche Kondensatoren. Die Beschriftung der Einheit auf dem Board verurscaht | + | * Falsche Kondensatoren. Die Beschriftung der Einheit auf dem Board verursacht |
* Lötbrücke zwischen einem Pad und einer Durchkontaktierung. Dummerweise haben die Durchkontaktierungen keinen Lötstopplack. | * Lötbrücke zwischen einem Pad und einer Durchkontaktierung. Dummerweise haben die Durchkontaktierungen keinen Lötstopplack. | ||
* Falsche bestückter Spannungsteiler (R8 wurde versehentlich mit 47K anstelle von 470K bestückt). | * Falsche bestückter Spannungsteiler (R8 wurde versehentlich mit 47K anstelle von 470K bestückt). | ||