Schrittmotor soll drehen bis...

Hallo in die Runde,

ich möchte, dass sich ein Schrittmotor so lange dreht, bis ein Ultraschallsensor eine gewisse Distanz misst. Den Schrittmotor in Rotation zu versetzen funktioniert nun dank der Hilfe von Uwe Feld, auch der Sensor liefert mir Entfernungswerte.

Wie aber kann ich nun beides so miteinander kombinieren, dass eine ruckelfreie Bewegung entsteht? Ich denke, dass wenn ich immer nur 360° drehen lasse, dann messe und dann gfs. wieder 360° drehen lasse etc. müsste die Bewegung doch ruckeln, oder?

Irgendwie habe ich auch das Gefühl, dass es hierfür bestimmt eine schicke Lösung gibt, oder?

Bin gespannt auf Eure Ideen.

Grüße

Michael

Da solltest du mehr Informationen liefern.
Das hängt sicher auch vom Motortreiber ab, wie das dann funktioniert.

Du gibst dem Treiber die Anweisung "drehe auf 360 Grad" und misst ständig die Entfernung.
Ist die Entfernung beim Sollwert angekommen, stoppst du den Motor.

Ob es so mit deinem Treiber auch funktioniert, kann ich nicht sagen, da ich den nicht kenne.

Mit der Bibliothek AccelStepper im Hinterkopf: Du gibst dem Motor eine Drehrichtung und Geschwindigkeit, dann fragst Du ständig nach der Entfernung und stoppst, wenn die Entfernung einen Wert unterschreitet.

Eine Position "360 Grad" hat da eigentlich keine Bedeutung und ein Schrittmotor wird wie ein DC-Motor verwendet. Macht ja möglicherweise Sinn, weiß ich nicht.