Benutzer-Werkzeuge

Webseiten-Werkzeuge


anleitungen:spezial:tiny-uniprog

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitungen:spezial:tiny-uniprog [2020/09/27 16:47] – [Servo-Modul] moba_nickanleitungen:spezial:tiny-uniprog [2024/09/24 18:57] (aktuell) gerald_bock
Zeile 1: Zeile 1:
-====== Programmierung von Attinys für Servo oder Charlieplexing ======+====== Programmierung von ATTinys für ServoCharlieplexing oder Sound ======
  
 ====== Aufgabe/Ziel ====== ====== Aufgabe/Ziel ======
  
 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 unterschiedlichen Bestückungsvarianten verwendet werden:+Diese Platine kann in unterschiedlichen Bestückungsvarianten verwendet werden:
   * **Variante 1** [[anleitungen:bauanleitungen:510de_modul_servo_mux|Ansteuerung von 12 LEDs mit Charlieplexing/Multiplexing-Schaltung]]   * **Variante 1** [[anleitungen:bauanleitungen:510de_modul_servo_mux|Ansteuerung von 12 LEDs mit Charlieplexing/Multiplexing-Schaltung]]
   * **Variante 2** [[anleitungen:bauanleitungen:510de_modul_servo|Ansteuerung von 3 Servos]]   * **Variante 2** [[anleitungen:bauanleitungen:510de_modul_servo|Ansteuerung von 3 Servos]]
 +  * **Variante 3**      [[anleitungen:spezial:sound_servoplatine|Sound Servoplatine]]
 \\ \\
-Die Programmierung erfolgt mittels der Platine "400-Attiny-Programmer" in der Standard Bestückung, wie sie in der [[anleitungen:bauanleitungen:attiny_programmer_400de|Wiki Bauanleitung]] beschrieben ist. Softwaremäßig stehen für jede Bestückungsvariante jeweils 2 Möglichkeiten zur Auswahl:+Die Programmierung erfolgt mittels der Platine "400-ATTiny-Programmer" in der Standard Bestückung, wie sie in der [[anleitungen:bauanleitungen:attiny_programmer_400de|Wiki Bauanleitung]] beschrieben ist. Softwaremäßig stehen für jede Bestückungsvariante jeweils 2 Möglichkeiten zur Auswahl:
   - 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?f=7&t=165060&sd=a&start=999|Link]] zu finden.\\+Beispiele sind angeführt und eine nähere Beschreibung von Hardi ist unter dem folgenden [[https://wiki.mobaledlib.de/redirect/forum/mt999|Link]] zu finden.\\
  
 ---- ----
Zeile 125: Zeile 126:
    
 {{bilder:anleitungen:spezial:uniprog:012.jpg?480}} \\  {{bilder:anleitungen:spezial:uniprog:012.jpg?480}} \\ 
 +\\
 +Beim Klick auf den Button „Prog. Servo“ kommt nun eine Abfrage: \\
 +{{bilder:anleitungen:spezial:uniprog:korrektur_pins_1.jpg?480}} \\
 +\\
 +Falls man eine ältere Platine mit Datumsaufdruck 14.6.19 \\
 +{{bilder:anleitungen:spezial:uniprog:korrektur_pins_2.jpg?480}} \\
 +<wrap em>UND</wrap> die SMD-Variante der WS2811 verwendet wählt man „Ja“. \\
 +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.
 +
 +<WRAP info>Anmerkung: Hat man doch den falschen Button gewählt ist das auch nicht tragisch. Dann sind halt SV1 und SV2 vertauscht.</WRAP>
  
 Anschließend kommt die normale Routine wie sie vom Charlieplex-Modul bekannt ist.\\ Anschließend kommt die normale Routine wie sie vom Charlieplex-Modul bekannt ist.\\
 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, wenn die weiße LED leuchtet. \\ \\+Hochladen abgeschlossen, wenn die blaue LED leuchtet. \\ \\
 // (C:\Users\MadMax\Documents\Arduino\libraries\MobaLedLib\examples\80.Modules\01.ATTiny85_Servo)//. // (C:\Users\MadMax\Documents\Arduino\libraries\MobaLedLib\examples\80.Modules\01.ATTiny85_Servo)//.
 \\ \\ \\ \\
-Um den ATTiny85 für die Verwendung im Servo-Modul fertigzustellen ist es zwingend notwendig mittels Drückens der rechten Taste mind2 Sek. und weniger als 4 Sek von der weißen LED auf die blaue LED umzuschalten+ 
-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>Bei der Verwendung einer alten Version vom Programm-Generator kann es passieren, das der Reset-Pin nicht automatisch als Ausgang definiert wird\\ Dann bitte den Reset-Taster auf dem Tiny_UniProg drücken, bis die blaue LED kurz aufblinkt.</WRAP> 
-\\ + 
-{{bilder:anleitungen:spezial:uniprog:014.jpg?480}} +Die richtige Programmierung kann man überprüfen, indem man folgende Schritte macht
-\\+
   - Das serielle Monitor Fenster öffnen.    - Das serielle Monitor Fenster öffnen. 
-  - Die Reset Pintaste auf der Platine drücken (rechte äußere Taste) – Länge je nach Zweck+  - Die Reset-Taste auf der Platine kurz drücken (rechte äußere 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 MHz sind für die Servo Verwendung. \\ +Die angezeigten Werte der Fuses und die Frequenzeinstellung 16 MHz sind für die Servo Verwendung. \\ 
-\\+{{bilder:anleitungen:spezial:uniprog:13-19_002137.jpg?480}} \\  
 ** Reset pin IO = blaue LED leuchtet.**  ** Reset pin IO = blaue LED leuchtet.** 
  
 ---- ----
  
-==== Servo-Positionen definieren ====+ 
 +==== Servo-Positionen mit dem Farbtestprogramm definieren ==== 
 + 
 +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:anleitungen:servofarbtestprogramm:01_servo_farbtest.png}} \\ 
 +  - LED __F__arbtest starten \\ {{bilder:anleitungen:servofarbtestprogramm:02_optionen_led_farbtest_starten.png}} \\ 
 +  - Auswahl des COM Ports bestätigen \\ {{bilder:anleitungen:servofarbtestprogramm:03_com_port.png}} \\ 
 +  - Abfrage "Standard oder letzte Benutzer Farbtabelle verwenden?" bei der erstmaligen Abfrage mit "Ja" bestätigen. \\ {{bilder:anleitungen:servofarbtestprogramm:04_farbtabelle_ja_1.png}} \\ 
 +  - Auf das Laden des Farbtestprogramms warten \\ {{bilder:anleitungen:servofarbtestprogramm:05_farbtabelle_2.png}} \\ 
 +  - Im geöffneten Programm zum Reiter "Servo Test" wechseln \\ {{bilder:anleitungen:servofarbtestprogramm:06_farbtest_reiter_servo_test.png}} \\ 
 +  - Wir sollten jetzt folgende Darstellung sehen \\ {{bilder:anleitungen:servofarbtestprogramm:07_mobaledlib_led_servotester.png}} \\  
 +  -     Folgende Vorgehensweisen haben sich bereits bei mehreren Anwendern bewährt. Die Werte werden hierbei direkt in den Attiny geschrieben: 
 +  - 1. Servo Addresse und Servo Anschluss angeben. (Servo Adresse "0" ist die HeartBeat LED auf der Hauptplatine. **Servo Addresse** "1" ist die erste Servoplatine. **Servo Anschluss** "0" ist der erste von drei möglichen Servos pro Servoplatine.) 
 +  - 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 "Starte Min-Max Pos/Speed programmieren" drücken um die erste äußere Position (Min) des Servo mittels der Pfeilfelder "Dec <<", "Dec <", "Inc >" und "Inc >>" zu bestimmen. Nach erneutem Drücken des Button kann die zweite äußere Position (Max) eingestellt werden. Erläuterung: Dec=Decrease=verringern, Inc=Increase=erhöhen. "<" und ">"=kleine Schritte, "<<" und ">>"=größere Schritte. 
 +  - 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.  Dort ist als erstes ein Servo mit drei Stellpositionen aufgeführt, danach mehrere Servos mit 2 Positionen. 
 +Bei der Servobestimmung bitte die Kanalauswahl (1/Rot, 2/Grün, 3/Blau) beachten. Pro Servoplatine = 3 Servos = 3 Kanäle \\ {{bilder:anleitungen:servofarbtestprogramm:07_programm-generator_dialog_led_kanal_auswahl.png}} \\ 
 +  
 +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 mit der Arduino IDE möglich.+Das ist mit der Arduino IDE möglich.
   - Arduino Software öffnen   - Arduino Software öffnen
   - Datei – Beispiele … 01.Servo_Pos öffnen - siehe unten.\\ {{bilder:anleitungen:spezial:uniprog:016.jpg?480}} \\   - Datei – Beispiele … 01.Servo_Pos öffnen - siehe unten.\\ {{bilder:anleitungen:spezial:uniprog:016.jpg?480}} \\
Zeile 167: Zeile 208:
  
 Man kann mit dem Beispiel_Main experimentieren. Man kann mit dem Beispiel_Main experimentieren.
-  * https://www.stummiforum.de/viewtopic.php?f=7&t=165060&sd=a&start=935  +  * https://wiki.mobaledlib.de/redirect/forum/mt935  
-  * https://www.stummiforum.de/viewtopic.php?f=7&t=165060&sd=a&start=1790  +  * https://wiki.mobaledlib.de/redirect/forum/mt1790  
-  * https://www.stummiforum.de/viewtopic.php?f=7&t=165060&sd=a&start=1818 +  * https://wiki.mobaledlib.de/redirect/forum/mt1818 
  
 ---- ----
 +
  
 ====== 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), bleiben die Einstellungen nicht erhalten - Man konfiguriert nicht das Servo sondern die Ausgänge des ATTiny auf der Servoplatine.
   * 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
anleitungen/spezial/tiny-uniprog.1601225268.txt.gz · Zuletzt geändert: 2020/09/27 17:47 (Externe Bearbeitung)