Welche Bibliothek für Schrittmotoransteuerung

  • Guten Morgen Zusammen,

    nachdem ihr mich mit guten Gründen von RPi hin zu gpiozero gelockt habt und ich echt zufrieden bin habe ich nun in Bezug auf die Schrittmotorsteuerung eine Frage:

    Welche Bibliothek ist zur Schrittmotorsteuerung besser geeignet, gpiozero oder pigpio? Welche Vorteile haben die Bibliotheken?:conf:

    Vorteil von gpiozero wäre, dass ich es bereits in dem Skript benutze. Dafür existieren für pigpio bereits sehr gute Beispiele hinsichtlich der Programmierung.

    Vielen Dank und viele Grüße

    Bra!nPa!N

  • Ich denke nach wie vor, dass du dein Projekt völlig falsch angehst.

    Du hast ein Treiber Board für einen Stepper Motor gefunden und inzwischen wohl auch eine Version geordert, die sich mit dem 3.3V Logik Level des Pi ansprechen lässt. Soweit, so gut. Aus der Beschreibung des Boards geht klar hervor, das es mit dem recht weit verbreiteten Pololu A4988 Treiber Board zumindest kompatibel ist. Alle weiteren Unterschiede und Features des auf deinem Board verbauten Trinamic Treibers im Vergleich zum A4988 Treiber, die dir im Kompatibilitätsmodus wohl nicht zur Verfügung stehen, kannst du ja in der Dokumentation nachlesen.

    Jetzt müsstest du dir erstmal selbst die Mühe machen und nachsehen, ob gpiozero Stepper Motoren unterstützt. Vermutlich hättest du festgestellt, das gpiozero noch(?) keine Stepper unterstützt (mir ist nur dieser Request bekannt, aber ich kann mich ja auch irren).

    Schon wäre zumindest eine Frage beantwortet gewesen.

    Wenn du dann etwas mehr Eigeninitiative an den Tag gelegt hättest, dann hättest du mit Sicherheit (und mit Hilfe der Suchmaschine deines Vertrauens) zumindest diese eine Library für den Pi finden können, die den A4988 unterstützt:

    RpiMotorLib

    Ein kurzer Blick in die Dependenzen direkt auf die Startseite hätte dir gezeigt:

    Und schon hast du dir deine Frage selbst beantwortet.

  • Guten Morgen doing,

    viele Dank für die Informationen und die zum Teil auch berechtigte Kritik. Ich hoffe du kannst mir nachsehen, dass ich in Sachen Elektronik absoluter Anfänger bin und als Bürolstuhlakrobat in einer Bank noch nicht mal im Ansatz beruflich etwas damit zu tuen habe. Aus diesem Grund habe ich die Schlussfolgerung in Bezug auf den Pololu A4988 gar nicht gezogen. Auf die RpiMotorLib bin ich sogar tatsächlich gestoßen, habe diese aber verworfen, da sie auf RPi.GPIO aufbaut und ich hier mehrfach darauf hingewiesen wurde diese nicht mehr zu benutzen, da RPi.GPIO nicht mehr gepflegt wird und veraltet ist. Dies hat bereits dazu geführt, dass ich mein Skript auf gpiozero umgeschrieben habe und auch super zufrieden damit bin. Oder wird das RPi.GPIO-Thema heißer gekocht als gegessen und man kann es doch noch ohne schlechtes Gewissen nutzen?

    Auf jeden Fall vielen Dank für den Hinweis auf den A4988. Werde meine Recherche diesbezüglich vertiefen.

    Gruß

    Bra!nPa!N

    EDIT: Jetzt habe ich auch endlich den Linkzur Schrittmotorsteuerung mit gpiozero gefunden. Sieht zwar improvisiert aus, aber das war der Grund warum ich gpiozero in betracht gezogen habe.

    Einmal editiert, zuletzt von Bra!nPa!N (11. September 2018 um 08:28)

  • Sieht zwar improvisiert aus

    Irgendwo muss doch am Ende immer die konkrete Logik stecken, das heißt aber nicht das es "improvisiert" ist.

    Hier mal ein Link was den Schrittmotor näher beschreibt:

    https://rn-wissen.de/wiki/index.php/Schrittmotoren

    Wenn dir die Tabelle:

    Phasenbeschreibung der Ansteuerung

    bewusst ist, wie das ablauft, kannst du dir das alles selbst programmieren.

    Da schreibst du dir dann eine Klasse (mit gpiozero oder was du auch immer willst) und benennst die Methoden passend zu dem was sie ausführen. Somit ist es dir am Ende wieder möglich im "Hauptskript" auf einfache Begrifflichkeiten zurückzugreifen, wobei im Hintergrund die Logik abgearbeitet wird.

    EDIT: Noch besser erklärt wird das sogar in Kapitel 13 von "Raspberry Pi - Das umfassende Handbuch"

  • Vielen Dank Hofei, das klingt vielversprechend. Werde denke ich das ganze selbst programmieren (In der Hoffnung mich nicht zu übernehmen :fies:) Unter dem von mir geposteten Link habe ich ja einen ersten Ansatz, den ich "nur noch" auf den TMC2100 ummüntzen muss. Werde meine Lösung, wenn sie dann mal fertig ist, hier nochmal posten.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!