Schrittmotorsteuerung - Feedback

  • Hallo Raspberry Gemeinde,

    ich habe ein Frage bezüglich Schrittmotorsteuerung.


    Ich würde gerne Schrittmotoren Werte ( wie z.B Maximalwerte des Steppers oder einfach eine gewisse Position) in einer Datenbank(mysql oder sqlite) abspeichern und bei Abfrage einer Position, auf diese Position fahren. Wie könnte man dies umsetzen?

    Die beliebigen Positionen sollen nicht vordefiniert sein, sondern sollen individuell eingestellt werden können.


    Und könnt ihr mir einen passenden Schrittmotor inkl. Treiber empfehlen?


    Mit freundlichen Grüßen

  • Moin Josef,


    um mit einem Stepper eine bestimmte Position anzufahren wirst du mit der Anzahl der Steps arbeiten müssen. Je nach Treiber und Motor können das Voll-, Halb-, Viertel-, Achtel- oder sogar Sechzehntelschritte sein. Die Anzahl der Schritte in einer xSQL Datenbank zu speichern halte ich für Oversized, aber ich weiß auch nicht wie komplex deine Schrittfolgen werden sollen.


    Schau dir mal den Big Easy Driver an, der kann alle genannten Arten von Schritten (1/16 Microstepping Mode ist Default beim BED) und ist recht gut dokumentiert. Aus dem Datenblatt ergeben sich die Motoren (max. 2A pro Phase, bis zu 35V), die du mit dem BED steuern kannst.

  • Wenn du weißt, wie viele Schritte der Motor für eine Umdrehung braucht, kannst du aus der aktuellen Position und der gewünschten Position die nötige Anzahl Schritte (und ggf. die Drehrichtung mit dem kürzeren Weg) ausrechnen.

    Allerdings verliert ein Schrittmotor schnell mal ein paar Schritte, wenn die Last zu hoch wird. Es kommt also auch drauf an, was du bewegen willst und wie stark der Motor ist. Im Zweifel starke Beschleunigung und hohe Geschwindigkeiten vermeiden.

    Ggf. baust du einen (oder mehrere) Kalibrierungsschalter ein (mechanischer Schalter, Lichtschranke oder sowas - muss nur natürlich für deine Zwecke genau genug sein), wenn der Motor dort vorbeikommt, hat er wieder eine genaue Position.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!