LabVIEWForum.de
Servo Geschwindigkeitsregelung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Servo Geschwindigkeitsregelung (/Thread-Servo-Geschwindigkeitsregelung)



Servo Geschwindigkeitsregelung - lwink - 23.03.2011 14:42

Hallo zusammen,

ich steuere mittels einer NI-6211 über ein PWM-Signal einen Digitalservo an. Die Ansteuerung zur jeweiligen Position klappt einwandfrei. Jedoch möchte ich auch den Servo in der Greschwindigkeit steuern. Meine Idee dazu war, dem Servo auf dem Weg zur Endposition weitere Zwischenpositionen zu schicken bzw. anfahren zu lassen, auf diese Weise sollen das ja Mircocontroller zur Servosteuerung auch machen, wenn man die Geschwindigkeit steuern will.

Ich steuere den Servo über ein Counter gestütztes PWM Signal (Schreiben -> 1Kanal - 1 Sample - Zeit) an, wobei ich je nach Position(Pulslänge), die in einem Array gespeichert ist, das Signal sende. Je nach Größe des Arrays benötigt der Motor so auch mehr Zeit zum Anfahren der gewünschten Position. Hab das ganze in einer State-Machine realisiert. Kann ich die Art und Weise der Ansteuerung noch verbessern, um mein Anfangproblem des Zitterns des Servo beim fahren der Psoitionen noch weiter zu verringern? (dazu VI im Anhang)
Meine Idee war dies über ein PWM Signal (Schreiben -> 1Kanal - n Samples - Zeit), wobei dann ein 1D-Array- mit Cluster aus 2 Elementen verlangt wird (für High- und Lowtime). Problem dabei ist nur, wenn ich das Array erstelle und mit dem DAQ-Schreiben-Modul verbinde, der Servo dann nur einen Schritt ausführt und nicht das ganze Array abarbeitet. Oder schreibt das DAQ-Schreiben-Modul- die ersten beiden Clusterwerte nur mal?

Kennt jemand vielleicht noch eine andere Art und Weise, wie ich einen Servo im PWM-Signal auch in der Geschwindigkeit steuern kann?

Viele Grüße
Lars