Motoren mit Raspberry ansteuern

  • Hi,

    ich würde gerne möglichst kostengünstig ein paar Motoren über meinen Raspberry Pi 2 Model B steuern. Ich habe allerdings nur relativ wenig Ahnung davon, also wollte ich diese Anleitung befolgen.

    Meine Frage ist nun, ob das mit diesem Motor funktioniert. Es scheint ja verschiedene Arten von Motoren zu geben, bürstenlose, mit Bürsten, Servos, Schrittmotoren und welche die mit Gleichstrom und Wechselstrom arbeiten, aber auf dem Gebiet habe ich gar keine Erfahrung. Der verlinkte Motor ist scheinbar bürstenlos und läuft mit Wechselstrom Gleichstrom. Funktioniert das dann zusammen mit dem L293D-Controller nach der Anleitung? Wie viele Motoren könnte ich dann parallel ansteuern?

    Vielen Dank schonmal! :)

    Einmal editiert, zuletzt von sandraeling (5. September 2018 um 16:13)

  • Moin sandra,

    der Motor läuft mit Gleichstrom (DC) und nicht mit Wechselstrom (AC). Der L293D hat vier Ausgänge (Out1-4), du kannst also vier Motoren betreiben. Für die Motoren benötigst du unbedingt eine eigene Stromversorgung, die kann nicht vom Pi kommen!

  • Ja, Gleichstrom meinte ich eigentlich auch.

    Laut der Anleitung braucht man pro Motor fünf Pins des L293D, weil der Motor jeweils zwei Pins bekommt und der Raspberry drei, zwei für vorwärts und rückwärts und einer für die Geschwindigkeit. Dann gibt es noch vier mal Ground, einen Pin für die Motorspannung und einen für die Versorgungsspannung, damit sind alle 16 Pins weg. Also gehen doch nur 2 Motoren pro L293D, oder?

    Die Frage war aber anders gemeint:

    1.: Lässt sich der Motor überhaupt mit dem L293D ansteuern oder brauche ich einen anderen Controller?

    2.: Wie viele Motoren kann ich maximal mit dem Raspberry ansteuern, wenn ich mehrere L293D habe?

    Zu 2: Wenn ich das richtig interpretiere, dann brauche ich 3 der GPIO-Pins für einen Motor und es gibt 17 ansteuerbare Pins am Pi 2 Model B. Kann ich die alle nutzen, würde ich auf 5 Motoren kommen, die ich unabhängig steuern kann, ist das richtig?

  • Ich denke es ist sinnvoll, wenn du uns erstmal sagst, was du eigentlich bauen willst. Vielleicht brauchst du auch andere Motoren und dann auch einen anderen Controller oder gar ein fertiges Treiber Board für den Pi, mit dem du z.B. vier DC Motoren oder aber auch zwei Stepper steuern kannst.

  • Ich möchte erstmal nur ein bisschen ausprobieren, als erstes ist ein kleines Fahrzeug geplant. Ein fertiges Board finde ich nicht so gut, weil ich dann nicht mehr so flexibel bin. Ich möchte aber ungern Motoren und Board aus China bestellen, nur um dann Monate später festzustellen, dass beides nicht kompatibel miteinander ist.

    Ich hatte auch schon überlegt, ob ich für die Lenkung des Fahrzeugs einen Schrittmotor benutzen will, ich denke aber, dass es mir erstmal reicht, wenn ich die Räder unterschiedlich schnell drehen lasse um zu lenken. Wenn ich diese Anleitung richtig interpretiere, dann brauche ich für jeden Schrittmotor ein L293D-Board. Würde das mit diesem Schrittmotor funktionieren?

    Nochmal kurz zusammengefasst die (mittlerweile) drei noch offenen Fragen:

    1: Funktioniert das L293D-Board mit diesem bürstenlosen DC-Motor?

    2: Funktioniert das L293D-Board mit diesem Schrittmotor?

    3: Kann ich alle 17 Pins des Raspberry Pi 2 Model B, die mit GPIO<Zahl> benannt sind, unabhängig zur Steuerung von L293D-Boards nutzen?

    Alternative Frage als Ersatz zu 1 und 2: Wie finde ich allgemein heraus, welcher Motor mit welchem Board ansteuerbar ist?

    Einmal editiert, zuletzt von sandraeling (5. September 2018 um 17:45)

  • Na klar kannst du dir zunächst mit dem L293D auf einem Breadboard eine Schaltung aufbauen (wie im Tutorial) und diese testen. Aber spätestens, wenn die Schaltung funktioniert und du von dem Breadboard weg willst um den Pi samt Controllern und Motoren auf ein Chassis zu schrauben, musst du dir was einfallen lassen. Ich weiß nicht, in wieweit du bereits Erfahrungen mit Lochrasterplatinen und Lötkolben gesammelt hast und ob es für dich ein Klacks ist aus deinem Breadboard eine kleine Platine zu bauen, aber diese Schritte sind dann nötig.

    In dem Tutorial, das du im ersten Beitrag verlinkt hast, geht es nur um den L293D Controller. Den musst du auf ein Breadboard stecken und dann mit deinem Pi verkabeln. Inzwischen hast du ja auch eine mögliche Kombination aus einem L293D Treiber Board und einem Stepper Motor mit aufgeführt.

    Vielleicht solltest du dir erst einmal grundlegende Informationen zu den Motoren zusammensuchen. Wenn du es auf eine genaue, wiederholbare Positionierung anlegst, dann ist ein Stepper was für dich (siehe z.B. 3D Drucker). Bei einem 'RC Car' hingegen würde ich eher zu DC Motoren greifen, denn sonst kann es sein, das sich dein Fahrzeug nur im Schneckentempo bewegt.

    Was für einen Controller oder auch was für ein Treiber Board du brauchst, richtet sich dann nach dem Typ und den Anforderungen der Motoren die sie an den Contoller stellen (siehe Datenblatt des Motors, den du im Auge hast).

    Aus dem Bauch heraus würde ich dir zu einem dieser fertigen Treiber Board raten:

    - Adafruit DC & Stepper Motor HAT für Raspberry Pi (4 DC Motoren oder 2 Stepper)

    - Picon Zero v1.3 - Intelligent Robotics Controller for Raspberry Pi (2 DC Motoren, die du auch 2x2 aufbauen kannst)

    Beide sind gut dokumentiert und es gibt Tutorials dazu. Der PiconZero hat den Vorteil, das er auch über analoge Eingänge verfügt (die der Pi nicht hat) und für einen HC-SR04 Ultraschallsensor vorbereitet ist, den man gut brauchen kann, wenn man verhindern will, das der RC-Car irgendwo gegen dengelt.

  • Vielen Dank erstmal dafür!

    Das mit dem Löten gucke ich dann mal, wenn es soweit ist. Im schlimmsten Fall kommt das Breadboard auch auf das Chassis drauf.

    Bezüglich der Motoren hatte ich das ja so geplant. Die Frage ist da ja nur, wie ich die Steuerung realisiere: Entweder über unterschiedlich schnell drehende Räder wie bei einem Kettenfahrzeug, oder über eine Lenkung ähnlich wie beim Auto. Für letzteres brauche ich dann wohl einen Schrittmotor.

    Bei deinem ersten Link bin ich bei 26,50€, beim zweiten bei rund 30€, das ist etwa 20 Mal so viel wie für fünf L293D. Vorteil ist natürlich, dass die weniger GPIO-Pins des Raspberrys benötigen. Allerdings könnte ich mir für den Preis auch einfach einen zweiten Raspberry kaufen, dann habe ich auch mehr Pins... Gibt es sonst noch Vorteile der fertigen Boards?

    Und bezüglich der Datenblätter: Was muss ich den vergleichen, um zu wissen, ob es passt? Im Datenblatt des Schrittmotors oben steht zum Beispiel, dass 5V DC benötigt werden, das L293D-Board unterstützt 4,5V-36V.

    Das Schaltbild im Datenblatt für das L293D-Board in Figure 11 für einen bipolaren Schrittmotor scheint auf den ersten Blick auch zu der Anleitung zu passen, das passt auch zu den Farben, die im Datenblatt des Motors beschrieben sind. Muss ich noch was vergleichen, oder reicht das schon?

    Und zum letzen Punkt: Sind die Farben bei Schrittmotoren irgendwie genormt? Und brauche ich das rote Kabel nicht? Denn das wird in der Anleitung nicht benutzt, ist aber vorhanden.

    Vielen Dank nochmal!

    Einmal editiert, zuletzt von sandraeling (5. September 2018 um 20:14)

  • Die hatte ich dir im letzten Absatz von Beitrag #6 genannt ;)

    An die sechs Outputs des PiconZero Boards kannst du z.B. Servos oder auch LED anschließen, du bekommst vier analoge Eingänge (die hat der Pi nicht, praktisch wenn man z.B. die Umdrehungen der Motoren auslesen will) und du kannst einen Ultraschall Sensor direkt aufstecken. Nicht zu verachten sind auch die Möglichkeiten zur Stromversorgung der Motoren (und des Pi).

  • Hmm, ich les mich da mal ein bisschen ein, das wird dadurch zwar etwas komplizierter, aber grade der Ultraschallsensor ist bestimmt nützlich.

    Kannst du mit die anderen Fragen aus #6 auch beantworten? Also die letzen drei Abschnitte, damit ich weiß, worauf ich achten muss.

Jetzt mitmachen!

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