Benutzer-Werkzeuge

Webseiten-Werkzeuge


playground:playground

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
playground:playground [2021/03/07 17:09] nessiplayground:playground [2021/11/22 15:31] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== PlayGround ====== ====== PlayGround ======
- 
-====== Drehscheibe ====== 
- 
-===== Kalibrierung der Drehscheibe ===== 
- 
-Voraussetzung: 
-Die Drehscheibe wird sich nur im Idealfall spielfrei und völlig gleichmäßig ohne zu ruckeln drehen. Gerade bei Selbstbau-Drehscheiben, wie meiner, werden bei einer Umdrehung und bei Richtungswechsel durch Abbremsen und Beschleunigen sowie unterschiedliche Reibung Microsteps verloren gehen. Die Steuerung der Drehscheibe ist so ausgelegt, dass diese Ungenauigkeiten in einem großen Bereich ausgeglichen werden können. 
-  
-Damit der Stepper aber keine oder möglichst wenige dieser Microsteps „verliert“, sollten die Einstellungen der Werte für den Stepper den Vorgaben der Datenblätter entsprechen und sorgfältig eingestellt werden. Die in den Datenblättern angegebenen Versorgungsspannungen sind für uns nicht wichtig. Diese bezieht sich auf den Betrieb mit einer einfachen, nicht Strom geregelten Stepper-Platine. Bei der A4988 und allen anderen dieser kleinen Platinen wird der Strom automatisch geregelt. Er wird über das Poti auf der Platine eingestellt (über die Spannung am Poti). 
- 
-Bei den relativ schnellen Geschwindigkeiten, welche wir verwenden, muss die Versorgungsspannung unbedingt größer sein, weil eine Spule den Strom beim Einschalten nicht sofort annimmt. Bei einer höheren Spannung geht das schneller. Dabei muss man beachten, dass die Spannung ständig ein und ausgeschaltet wird, wenn sich der Motor dreht. Wenn die Spannung zu gering ist, dann gehen Schritte verloren. 
- 
-=> **Die Schaltung sollte mit 14V (mindestens) und ca. 18V betrieben werden. 
-** 
- 
-Beispiele: 
-Flacher Stepper NEMA 23: 
-  * TMC2208 / TMC2100: **0.628V**  
-  * DRV8825: **0.32V** 
-  * A4988: **0.512V** 
- 
-NEMA17: 
-  * TMC2208 / TMC2100: **1.20 V** 
-  * DRV8825: **0.60V** 
-  * A4988: **0.960V** 
- 
-Spielzeug Schrittmotor: 
-  * TMC2208 / TMC2100: 0.080V = **80mV** 
-  * DRV8825: 0.035V = **35mV** 
-  * A4988: 0.064V = **64mV** 
- 
-NEMA17 mit 27:1 Getriebe: 
-  * TMC2208 / TM2100: **0.314V** 
-  * DRV8825: **0.16V** 
-  * A4988: **0.128V** 
- 
- 
-Vor dem Kalibriervorgang müssen die notwendigen Anpassungen der Konfiguration an die eigene Drehscheibe in der **Turntable_Config.h**-Datei vorgenommen werden. 
-Änderungen in der Turntable.ino würden bei einem zukünftigen Software-Update verloren gehen. 
- 
-Aus der Vielzahl der Konfigurationsvarialen hier die für mich wesentlichen: 
-  * Anzahl der benötigten Ports (in meinem Fall sind vier Ports vorgesehen) #define PORT_CNT 
-  * DCC_Port_Address_List anpassen #define DCC_PORT_ADDR_LIST 
-  * Polarisation ein/ausschalten je nach System #define POLARISATION_RELAIS_PIN  A1  // Polarisation Relais for dual rail system (Set to -1 if not used)  
-  * Zur Kalibrierung den DEBUG-Mode einschalten, damit im seriellen Monitor die Werte ausgelesen werden können  
- #define NABLE_DPRINTF 1 //Debug Ausgaben ein 
-  * Bei Bedarf Einstellungen der Ausrichtungen bzw Drehrichtung von Drehscheibe, Potentiometer, Dreh/Drückknopf und Display vornehmen 
-  * Bei Bedarf Änderungen an den Einstellungen der verschiedenen Drehgeschwindigkeiten vornehmen. 
- 
-Beispiel meiner Turntable_Config.h-Datei. 
- 
- HIER EINFÜGEN 
- 
-==== Kalibriervorgang ==== 
- 
- 
-Ich habe für einen ersten Test eine Scheibe mit vier Ports gewählt. Die Software berechnet dann automatisch vier symmetrische Ports. Wenn man einen Port exakt eingestellt hat und die Qualität der Scheibe gut ist, muss man die anderen Ports nicht mehr anpassen. Die Einstellung wird automatisch angepasst. 
-  
-Zur Kalibrierung muss der (Test-)Aufbau ist abgeschlossen sein, d.h. Hall-Sensor/Magnet und die Gleise müssen positioniert sein. Die Stromversorgung und der NANO über den USB-Port sind angeschlossen.  Über die ARDUINO IDE den seriellen Monitor mit der Einstellung „Neue Zeile und 9600 Baud“ starten.  
-  
-Da es wichtig ist, dass möglichst keine Microsteps verloren gehen, muss zunächst mehrfach geprüft werden wieviel Spiel die Drehscheibe hat. 
- 
-  * Über den Drehimpulsgeber im Menü „Reset all“ auswählen. Damit wird das EEPROM gelöscht und die Anzahl der benötigten Microsteps ermittelt. 
-  * Nachdem der Vorgang abgeschlossen ist, über den seriellen Monitor ein „?“ senden.  
- 
-           Angezeigt werden im seriellen Monitor: 
-                      * die Position an der sich die Drehscheibe befindet,  
-                      * die im Programm automatisch gesetzte Port-Nummer für diese Position,  
-                      * die Anzahl der Microsteps für OneTurn,  
-                      * die Einstellung des Poti und das Spiel durch die Anzahl der Microsteps (StpHasCont = Stepps has Contact) 
- 
-  * Über den Drehimpulsgeber im Menü erneut „Reset all“ auswählen. 
-  * Diesen Vorgang mehrfach wiederholen, um verschiedene Ergebnisse zu erhalten. 
- 
-Bei mir sieht das Ergebnis so aus: 
- 
- 
- (Bild SerMon_1 einfügen) 
- 
- 
-Liefern „OneTurn“ und „StpHasCont“ immer das gleiche Ergebnis, herzlichen Glückwunsch! Der Antrieb der Drehscheibe ist von guter Qualität. 
- 
-Bei meiner Konstruktion ist das erwartungsgemäß nicht der Fall. Ich habe ein Spiel von ca. 3.1 °.  Aber auch dieses recht große Spiel kann das Programm automatisch berücksichtigen und korrigieren. Wenn man in der einen Richtung an einen Port fährt sollte das Programm automatisch das Spiel berücksichtigen und die notwendigen Microsteps mehr ausführen als beim Anfahren aus der anderen Richtung. Dazu werden die Ports von beiden Seiten aus angefahren und die Positionen gespeichert. 
-  
-Wenn man das für Anschluss 1 machst, dann bekommen zunächst alle den gleichen Korrekturfaktor. In der „EE Data“ Tabelle ist dann die zweite Spalte ausgefüllt (Nicht 2000000000). Die dritte Spalte ist für „reverse“, eine 180 Grad Drehung. Auch die kann man separat speichern. 
- 
-Hört sich kompliziert an, ist aber mit etwas Konzentration recht leicht durchzuführen: 
- 
-  - Die Drehscheibe steht nach dem obigen mehrfachen Reset auf Port 4. Ich will Port 1 einstellen.  
-  - Mit dem Poti die Drehscheibe in Richtung Port 1 drehen. Dabei immer diese Drehrichtung beibehalten und auf keinen Fall zurückdrehen, da dann das Spiel beim Richtungswechsel ein exaktes Ergebnis verhindert und sich die Position nicht speichern lässt. Zum exaktem Ausrichten auf den letzten Millimetern kann auch über das Menü die Funktion „Move manual“ ausgewählt werden und die Drehscheibe in Microsteps bewegt werden. Aber auch hier nur in eine Richtung. Ist man über das Ziel hinausgeschossen, den ganzen Vorgang von Port 4 aus wiederholen. 
-  - Ist die Drehscheibe exakt positioniert über das Menü „Save Position“ auswählen. 
-  - Es erscheint „Select port to be saved“, nun über den Dreh/Drückknopf die gewünschte Port-Nummer auswählen, hier die „1“, und zur Bestätigung erscheint „Position saved to port 1“. 
-  - Nun zu Port 2 wechseln bzw. zu einer Position, die auf der anderen Seite von Port 1 liegt, um wie oben beschrieben, die Port-Position von beiden Seiten aus zu sichern. 
-  - Die Vorgänge wie unter 2 – 4 beschrieben auch von dieser Seite durchführen. 
-  - Nach dem Erreichen der exakten Port 1 Position diese wieder sichern. Im Menü erscheint dann „Update Ports?“ mit dem Untermenü „ Only this“ und „All port“. In diesem Fall „Only this“ auswählen. Mit der Funktion „All ports“ werden die gespeicherten Werte für alle Ports korrigiert. 
-  - Mit den anderen Port entsprechend verfahren. 
-  - Über den Menüpunkt „Reverse“ dreht sich die Drehscheibe um 180 Grad. Im Display wird „~3 und 1 reverse“ angezeigt. Die Tilde zeigt an, dass sich die Drehscheibe im Bereich von Port 3 befindet, jedoch nicht exakt positioniert ist. 
-  - Wieder den Menüpunkt „Save“ anklicken. Es stehen drei Möglichkeiten zur Auswahl: „Reverse side“, „Normal side“ und „Abort“. Nach dem Anklicken von „Reverse side“ kommt man wieder zur Auswahl „Only this“ und „All ports“. Nach dem Anklicken von „Only this“ erhält man die Meldung „Position saved to port 1“ 
- 
- 
-Damit ist die Einstellung für Port 1 durchgeführt und die anderen Ports können bei Bedarf entsprechend kalibriert werden.  
-Durch Drücken der Reset-Taste des NANO wird das EEPROM ausgelesen und die Werte für die Ports angezeigt.  
- 
-(Bild SerMon_02 einfügen) 
- 
- 
- 
-=== Ergänzungen === 
- 
-Der Nullpunkt wird immer dann neu gesetzt, wenn die Scheibe in positiver Richtung am Hall-Sensor = Nullpunkt vorbeikommt. Die positive Richtung ist die Richtung welche beim Re-Kalibrieren zum Start verwendet wird.  
- 
-Wenn sie in negativer Richtung am Hall-Sensor vorbeikommt, dann wird der Nullpunkt nur dann neu bestimmt, wenn sie bereits eine Umdrehung in negativer Richtung gedreht wurde.  
- 
-Die Kalibrierung wird aber auch dann nur in Positiver Richtung vorgenommen. Darum dreht sie sich zunächst ein Stück zurück bevor die Kalibrierung in positiver Richtung beginnt. Dabei wird „Turn back and set zero pos.“ angezeigt.  
- 
- 
playground/playground.1615136992.txt.gz · Zuletzt geändert: 2021/03/07 18:09 (Externe Bearbeitung)