Wie schliesse ich einen Motor an den Raspberry Pi 5 an?

  • Hallo Zusammen

    Ich möchte gerne den "STEPPERONLINE Nema 23 Schrittmotor 3Nm 4,2A 4-Draht 10mm Schacht für CNC Fräsen Drehbank Plasma [Anzeige]" mit dem "STEPPERONLINE DM542T Digitaler Schrittmotor Treiber 1.0-4.2A 20-50VDC Stepper Driver Für Nema 17, 23 Stepping motor 3D Drucker CNC" mithilfe eines Raspberry Pi 5's steuern. Nun ist meine Frage: Welches Netzteil brauche ich und wie sieht die Verkabelung allgemein aus. Brauche ich sonst noch etwas, und wie kann ich den Motor dann ansteuern? Wie funktioniert das ganze überhaupt?

    Danke für eure Antworten

  • Wie schliesse ich einen Motor an den Raspberry Pi 5 an?? Schau mal ob du hier fündig wirst!

  • Das ist ja schon recht abenteuerlich. Du hast keinen Plan und ausser nem Amazon link noch nicht viel gesucht. Wenn du das Teil an Pi hängst, wars das für ihn. Du brauchst einen Stepper Driver. Aber einen für 4.2A hab ich auf die schnelle auch noch nicht gefunden. Eine fertige All-in-one komplett Lösung wird dir hier keiner bieten können.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Es gibt zu diesen Treibern allerhand Videos, wie man sie ansteuern kann. Das ist auch nicht schwierig. Schau mal auf Youtube.

    Und dass man hier vorschnell in die Pfanne gehauen wird, daran musst du dich gewöhnen...

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

  • Moinsen,

    Grundsätzlich gibt das Datenblatt ausreichend Auskunft über die Anschlussparameter.
    Grundsätzlich ist nichts dagegen einzuwenden wenn du die GPIOs für Enable ( Power ON ), PUL ( Step-Impuls ) und DIR ( Drehrichtungsbefehl ) mit diesem Stepper-Controller verbindest. Allerdings solltest du falls du mehrere dieser Controller Parallel betreiben willst, und zudem evt. noch andere Schaltaufgaben von dem PI erledigen lassen willst mal den Gesamtstrombedarf der über die GPIOs abliest ermitteln. Eingangsseitig wegen der Optokopplereinspeisung müssen von den steuernden GPIOs durchschnittlich 10 mA, im Peak bis 16 mA aufgebracht werden, damit diese Steuersignal von diesem Motor-Controller auch richtig verstanden werden.
    Es ist ein leidiges Thema welches hier schon öfter behandelt wurde, bei welchem PI Modell kann an den GPIOs, besonders wenn mehrere GPIOs gleichzeitig als geschaltene Ausgänge genutzt werden mit wie viel mA Ausgangsstrom belastet werden ?

    Ohne zu wissen was schlußendlich alles an den GPIOs hängt, rate ich hier einfach zur Vorsicht, oder man setzt bewusst Signalverstärker ein, um die Stromversorgungseinheit auf der RasPI Platine zu entllasten.

    Franky

  • Die Verkabelung inkl. Netzteil ist doch auf der Seite des Controllers abgebildet.

    Da der Motor-Treiber im Gegensatz zum RPi mit 5V (bzw. 24V) Logik arbeitet ist es ratsam, für die 5V Ansteuerung des Treibers durch den RPi, ein Levelshiftermodul (bei bidirektionaler Steuerung), oder einen TTL Logik IC (z.B. einfache ODER Logik Gatter, bei unidirektionaler Steuerung) zu verwenden, welche den 3,3V TTL Pegel des RPi auf den 5V TTL Pegel des Treibermoduls anheben bzw. bei Verwendung eines Levelschifters, die TTL Spannung zum RPi auf 3,3V reduziert.

  • .... Du brauchst einen Stepper Driver. Aber einen für 4.2A hab ich auf die schnelle auch noch nicht gefunden. Eine fertige All-in-one komplett Lösung wird dir hier keiner bieten können.

    Hat er doch in #1 angegeben ....

    ;) Gruß Outi :D
    Pis: 2x Pi B, 1x Pi B+, 1x Pi 2 B in Rente / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 / 2x Pi Zero 1.3 / 2x Pi Zero W 1.1 / 1x Pi Zero 2 (BW+CUPS/SANE) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Tests) / Pi 400 (BW) / 1x Pi 5 8GB (BW) / 2x Pi Pico / 2x Pi Pico W
    HATs: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT / Pimoroni NVMe BASE
    Cams: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Also einen Steppermotor per Pi anzusteuern ist schon möglich, vielleicht auch mit Deinen Teilen.
    Aber was soll das Ziel sein ??
    Du musst das Rad ja nicht neu erfinden, denn für 3D Drucker und CNC Fräsen gibt es ja bereits fertige Boards (die sicherlich auch per Pi angesteuert werden können).

    Die Frage ist also, um was es Dir geht.

    Wenn es nur um diesen einen Motor geht und der nur etwas in Bewegung setzten soll, ohne weitere und größere Berechnungen, wäre ein Pi eh überdimensioniert.
    Dafür würde ein Mikrocontroller ala ESP32 oder Raspberry Pi Pico völlig ausreichend.

    Für lediglich einen Stepper mit nem kleinen Treiber und passenden Netzteil findest Du in Google haufenweise Anleitungen, sowohl für den Pi, als auch für ESP32/Pico.

    Hier mal ein Beispiel aus dem originalen Foundation Forum, wo jemand das gleiche Ansinnen hatte:
    NEMA 23 STEPPER MOTOR CONTROL - Raspberry Pi Forums

    Wenn Du dem Englischen nicht abgeneigt bist, findest Du dort in etwa das, was Du suchst.

    ;) Gruß Outi :D
    Pis: 2x Pi B, 1x Pi B+, 1x Pi 2 B in Rente / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 / 2x Pi Zero 1.3 / 2x Pi Zero W 1.1 / 1x Pi Zero 2 (BW+CUPS/SANE) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Tests) / Pi 400 (BW) / 1x Pi 5 8GB (BW) / 2x Pi Pico / 2x Pi Pico W
    HATs: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT / Pimoroni NVMe BASE
    Cams: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Der TO hat von 3D-Druck und CMC kein Wort gesagt - das sind nur die Titel aus den AmazonAngeboten.

    Smeili Smeili, es wäre nicht schlecht, wenn du ein wenig sagst, was du mit diesem Motor antreiben willst.

    Der Motor ist mit 4,2 A pro Phase angegeben. Sicher hat da jemand mehr Ahnung von als ich, aber ich nehme doch an, dass er einen Dauerstrom von 4,2 A pro Phase aushält. Der Stepperdriver, den du ausgesucht hast, liefert max. 4,5 A - aber offenbar nur am Scheitelpunkt der Sinusspannung. Der Effektivstrom ist geringer - laut Tabelle ca. 3,2 A. Wenn ich das richtig deute, verzichtest du potenziell auf 25% Leistung und solltest ggf. einen stärkeren Treiber wählen. (Der DM556T schafft 4 A effektiv / 5,6 A peak, kostet nur 3 € mehr und lässt sich bei Bedarf ja auch niedriger einstellen. Du bist im Zweifel mit diesem Treiber auf der sicheren Seite.)
    Ner nächstgrößere kostet schon über 50 € und hat 3 Phasen - einen 2-Phasen-Motor kann der wahrscheinlich gar nicht ansteuern. Im Datenblatt ist dazu jedenfalls nichts zu finden.
    Bei Stepperonline ist der Motor übrigens deutlich billiger als bei Amazon und der Treiber auch (sogar der Größere).

    Die Ansteuerung ist eigentlich simpel.
    - Mit den Jumpern den maximalen Strom und die Microsteps einstellen.
    - Stromversorgung anschließen. Laut Stepperonline soll eine Marge von 1,2 kalkuliert werden. Also hier Nennstrom * Betriebsspannung * 1,2. Bei 24 Volt wären das 4,2 * 24 A * 1,2 = 120 W, bei 48 Volt 4,2 * 48 * 1,2 = 240 W. Ein bisschen Luft nach üben kann sicher nicht schaden. Warum der Motor bei 48 V insgesamt mehr Leistung ziehen soll als bei 24 V leuchtet mir nicht so recht ein, wird aber seinen Grund haben.
    Der NEMA23 kann mit 24-48 V betrieben werden (Link Stepperonline). Höhere Spannung hat demnach bessere Leistung. Der Motor wird aber auch lauter und heißer. Ein passendes Netzteil für 48 V oder für 24 V gibts übrigens auch bei Stepperonline.
    - Motor anschließen
    - Die Eingänge kannst du direkt mit 3,3 V vom Pi ansteuern. Stepperonline sagt, dass es einwandfrei funktioniert, auch wenn sie es nicht als Spezifikation ausgeben können, weil die Hersteller was anders vorgeben. Du kannst es also auf alle Fälle erst mal ausprobieren. Falls es doch Probleme gibt, kann man das immer noch angehen. Wenn du die GPIOs direkt an die Eingänge klemmst, hast du 7,7 mA pro GPIO bei High-Signal. Das ist gut doppelt so viel, wie man dem Pi traditionell pro GPIO zubilligt. Ich sehe da aber kein Problem, so lange du das nur mit wenigen GPIOs machst. Falls du den Strom der GPIOs sicherheitshalber trotzdem auf ca. 3 mA begrenzen willst, klemm bei jedem noch 390 Ohm dran. Etwas weniger tuts ggf. auch, falls das dann zu dünn wird - 150 oder 180 Ohm.
    Auf den Enable-Eingang legst du einen GPIO vom Pi - damit kannst du den Treiber aktivieren (high / 3,3 V) und deaktivieren (low / 0 V).
    Auf den Dir-Eingang legst du ebenfalls einen GPIO vom Pi - damit kannst du die Drehrichtung einstellen.
    In den Pulse-Eingang schickst du ein PWM Signal von einem PWM-fähigen Pin des Pi. Frequenz maximal 200.000 Hz, Duty-Cycle 50%. (Für den ersten Test vielleicht mal mit 8 Microsteps und 1600 Hz, dann solltest du auf eien Umdrehung pro Sekunde kommen.)
    Sicher gibts irgendeine Library, die dir die ganze Arbeit abnimmt.

    Vielleicht gibts von anderer Seite noch die eine oder andere Ergänzung oder Korrektur... aber sonst würd ich sagen, leg mal los!

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

    Edited once, last by Gnom (May 9, 2024 at 11:12 PM).

  • Danke für all diese Informationen. Ich bräuchte zwei Motoren, damit ich einen Fernseher nach links und rechts, wie auch nach oben und unten kippen kann. Ich habe mich auch noch gefragt, wie genau das Ansteuern über die GPIO Pins funktioniert?

  • Naja, dann brauchst du einen zweiten Motortreiber. Wenn du mit der Software dafür sorgst, dass nicht beide Motoren gleichzeitig laufen, brauchst du kein doppelt so starkes Netzteil.

    Die GPIOs... für Dir und Enable stellst du die Pins auf output und schaltest sie high oder low. Das ist nicht so schwer - such dir ein Grundlagentuorial.

    Dsa PWM-Signal für die Bewegung des Motors ist schon etwas komplizierter. Dazu gibts bestimmt nette Videos.


    Soll der ganze Pi nichts anderes machen, als den Bildschirm bewegen? Was ist da der Hintergrund? Wann, warum soll der bewegt werden? Fernbedienung oder regelmäßig oder nach Sonnenstand, ...?

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

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!