Hallo Leute,

mache schon lagern von diesem Forum Gebrauch und von nun an auch als Mitglied

Ich beschäftige mich seit einiger Zeit mit Schrittmotoren und komme gerade nicht ganz weiter. Ich versuche einen Programm zu schreiben für einen Linearaktuator (Schrittmotor mit Spindel) für eine Aushubeinheit. Diese soll ganz exakt auf unterschiedliche Höhen fahren können. Die Hardware, die Verbaut war, ist der

Schrittmotor: L4118L1804-T6X2
http://de.nanotec.com/produkte/677-l...l-feingewinde/

mit dem Encoder: NOE2-05-K10
http://de.nanotec.com/produkte/192-n...kanal-encoder/

dazu habe ich mir dann die Steuerung von Trinamic: TMCM-1160 geholt
http://www.trinamic.com/products/mod...pper/tmcm-1160

nach einiger Zeit im Internet konnte ich noch immer keine Antwort auf einige Fragen finden.

  • Wie wird so eine Steuerung aufgebaut?

Sieht eine normaler Ablauf (grob) so aus, dass man die gewünschte Position einstellt, wartet, den Encoder-Wert abfragt und bei Differenzen noch einmal nachregelt? Oder prüft man permanent nach jedem Schritt ob Encoder- und Stellwert zu einander passen? Also kurz gesagt, wie sehen im Prinzip geeignete Algorithmen aus um ein genaues Ergebnis zu erzielen. Was für Strategien gibt es? Welche Vor- und Nachteile bringen Sie? Stehe da gerade irgenwie auf dem Schlauch und hoffe, ihr kommt mit sagen, wo ich mich in diese Thematik einlesen kann.

  • Wie setze ich die Funktionen der Trinamic Steuerung am Sinnvollsten ein?


Es gibt bei dieser Steuerung die Möglichkeit vordefinierte Befehle zu senden. Das eigentliche Programm, wird in C# geschrieben. Jetzt stellt sich mir halt die Frage, was ich alle lieber selber schreiben soll, oder wie gut komme ich mit den Möglichkeiten aus, die mir die Steuerung bietet. Rechen diese aus, um den gewünschten Ablauf zu bekommen? Hat da jemande Erfahrung? Leider gibt (mir) die Dokumentation nicht genügend Aufschluss. Ein Beispiel wäre: Man kann der Steuerung sagen, bei welcher Abweichung der Schrittzahl von dem Encoder Wert ein Fehler gemeldet wir. Wann wird das geprüft, ständig, alle paar Schritte, alle paar ms...? Sollte ich diese Überwachung lieber "manuell" machen....

Also ihr seht, dass mir zu dem Grundverständnis und zur Steuerung eine Menge Informationen fehlen und ich nicht erwarten kann, dass ihr mich jetzt an der Hand nehmt und da durch führt aber vielleicht kennt ja Jemand ein paar Quellen, aus denen ich mir das erarbeiten Kann (Internet, Bücher...) oder TMLC, C, C#, Beispielcode. Danke schon mal für die bis hierhin investierte Zeit

Grüße