Ich baue derzeit einen Roboteram. Vier Achsen betreibe ich mit Schrittmotoren, 2 Achsen mit kleinen 5V Servos. Meine Frage: Gibt es eine Möglichkeit, einen bzw. zwei Servos in die multistepper Funktion der Accel Stepper Library, welche ich aktuell nutze, zu integrieren? Ich möchte alle Achsen "parallel", also gleichzeitig fahren lassen. Oder gibt es eine andere Möglichkeit neben der multistepper Funktion?
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.
Mit der Library kenne ich mich nicht aus.
Müssen die da integriert sein?
Mit Servo.h ist es nämlich easy Servos zu steuern.
Die Motoren müssen nicht zwingend in dieser Library integriert werden, allerdings ist diese meiner Meinung nach die praktischste. Mit der Servo.h weiß ich wie das geht, allerdings ist es sehr schwer, dass dann alle Motoren zum selben Zeitpunkt ihr Ziel erreichen, wie es bei einem Roboter üblich ist.
MfG
So wie ich das gesehen habe steuert die Bibliothek keine servos.
Warum sehr schwer?
Du weisst doch wieviele schritte die Schrittmotoren machen, 1 Schritt heisst 1.8 Grad ohne microstepping. Anhand dessen kannst du doch auch die Servos drehen lassen.
Die servo.h Bibliothek läuft mit blockierendem Code.
Tipp: Die MobaTools arbeiten nonBlocking.
Sie unterstützt neben den Steppern auch Servos. Aus der Beschreibung:
- to control up to 16 servos with speed control
- to control up to 6 stepper motors with accelerating and decelerating
Du wirst DIch reinlesen müssen.
Handbuch gibt es auch auf Deutsch.
Danke! Ich werde mich mal reinlesen. Lg
das hatten wir vor einige Wochen schon mal:
und ein Demo Beispiel:
Es geht mir auch um die Stepper, da ich die Servos in die Multistepper beispielsweise nicht integrieren kann. Zumindest wüsste ich nicht wie...
Also wenn du dir vorstellst "man muss nur die 10 richtigen Zeilen code in library X dazuschreiben damit dann die Servos "integriert" sind im Sinne von sende Befehle an
Schrittmotor 1,2,3,4 und Servo 1,2 und jetzt bewegt euch alle zusammen so das ihr gleichzeitig am Ziel ankommt, dann hast du dich geschnitten.
Das sind hunderte Stunden Programmierarbeit das in eine vorhandene library einzubauen.
Da wird es schon einfacher das "oberhalb" der library zu programmieren.
So flüssige Bewegungen wie das ein Industrieroboter macht da steckt eine Menge
Know-How drin das über übliche Microcontroller-programmierung weit hinausgeht.
Du musst dazu von allen Achsen wissen wie weit die sich bewegen, welche Achse den längsten Weg hat und die Geschwindigkeiten aller anderen Achsen entsprechend langsamer bewegen so das alle Achsen zur gleichen Zeit mit ihrer Bewegung fertig sind.
Das ist mir klar, diese Bibliotheken sind ja komplexe "Unterprogramme". Da etwas zu ändern würde ln nur die wenigstens schaffen. Wie meinst du, dass ich es oberhalb der library programmieren soll?