TECHNISCHE LÖSUNGEN
Schrittmotoren STEPPERONLINE Schrittmotor Nema 17 Bipolar 42Ncm 1.5A

Der STEPPERONLINE Schrittmotor Nema 17 Bipolar 42Ncm 1.5A ist ein vielseitiger und zuverlässiger Schrittmotor, der sich ideal für Anwendungen wie 3D-Drucker, CNC-Fräsmaschinen und andere Automatisierungsprojekte eignet.

 

Technische Spezifikationen:

 

                  • Merkmal Spezifikation
                  • Motorentyp Bipolar Schrittmotor
                  • Schrittwinkel 1,8° (200 Schritte/Umdrehung)
                  • Haltemoment 45 Ncm (63,74 oz.in)
                  • Nennstrom/Phase 1,5 A
                  • Widerstand/Phase 2,3 Ω
                  • Induktivität/Phase 4,4 mH ± 20 % (1 kHz)
                  • Abmessungen (BxHxL) 42 x 42 x 39 mm
                  • Wellen-Durchmesser 5 mm
                  • Wellen-Länge 24 mm
                  • Kabellänge 1 m
                  • Gewicht 280 g

 

Motorensteuerung mit dem DRV8825

Baustein DRV8825: Welcher Anschluss stoppt den Motor?

Der DRV8825-Schrittmotortreiber kann auf verschiedene Weise gestoppt werden, sodass der Stromverbrauch minimiert oder auf null reduziert wird. Ich werde recherchieren, welche Anschlussoptionen (z. B. "Enable" oder "Sleep"-Pin) den Motor am effizientesten anhalten, ohne dass Strom verbraucht wird. Außerdem werde ich prüfen, ob es weitere Optimierungsmöglichkeiten gibt, um den Verbrauch vollständig zu eliminieren.

Möglichkeiten zur Deaktivierung des DRV8825 für Null-Stromverbrauch: Problemstellung: Im Ruhezustand eines Schrittmotortreibers wie des DRV8825 fließt normalerweise weiterhin Strom durch die Motorwicklungen (Haltestrom), was zu einem nennenswerten Stromverbrauch führt. Um den Stromverbrauch im Stillstand auf nahezu null zu reduzieren, muss der Treiber so abgeschaltet werden, dass weder die Motoren Strom ziehen noch der Treiber selbst nennenswerten Ruhestrom verbraucht. Der DRV8825 bietet hierfür insbesondere zwei Pins an – Enable und Sleep – die unterschiedliche Effekte auf den Stromverbrauch haben. Im Folgenden werden diese Optionen analysiert und bewertet. Gegebenenfalls werden auch alternative Maßnahmen zur vollständigen Abschaltung betrachtet. Option 1: Deaktivierung über den Enable-Pin (nENBL) Der Enable-Pin (auf dem DRV8825-Modul oft als EN bezeichnet, technisch nENBL) dient dazu, die Ausgänge des Treibers an- oder auszuschalten. Wird der Enable-Eingang auf inaktiv (High) gesetzt, werden die H-Brücken-Ausgänge hochohmig geschaltet und die Motorphasen nicht mehr bestromt Praktisch bedeutet dies: • Kein Motorstrom: Die Wicklungen erhalten keinen Strom mehr. Der Motor liefert folglich kein Haltemoment und kann sich frei drehen, wenn eine außere Kraft einwirkt. Das Loslassen der Motoren ist bei Enable=High genauso gegeben wie bei anderen Abschaltmethoden – der Motor verhält sich „frei“. Achtung: Dadurch kann sich die Motorposition verändern, sei es durch externe Kräfte oder durch ein Neu-Ausrichten beim Wieder-Einschalten (der Motor kann einen kleinen Ruck zum nächstgelegenen Schritt ausführen). • Treiber bleibt aktiv: Wichtig ist, dass der DRV8825-Chip selbst weiterhin mit Spannung versorgt bleibt. Im Gegensatz zum Sleep-Modus werden im Enable-High-Zustand nur die Ausgänge deaktiviert, aber die interne Logik und der Regler laufen weiter. Der Treiber zieht also weiterhin einen Ruhestrom aus der Versorgung. Laut Datenblatt beträgt der Versorgungsstrom im Betrieb typischerweise einige Milliampere (z.B. ca. 5–8 mA bei 24 V Versorgung). Dieser Strom fließt auch dann, wenn der Motor per Enable-Pin abgeschaltet ist, da die internen Schaltungen aktiv bleiben. • Vorteil: Das (Wieder-)Aktivieren über Enable geht sehr schnell – sobald nENBL wieder auf Low gezogen wird, sind die Ausgänge aktiv und können sofort Schritte ausführen (kein nennenswertes Aufwachen erforderlich). Diese Methode ist einfach umzusetzen (ein einziger Steuerpin) und erhält die interne Zustandsspeicherungen (Mikrostep-Zähler bleibt auf letztem Stand, da kein Reset erfolgt). • Nachteil: Der Treiber verbraucht trotz deaktivierter Motoren weiterhin Energie (mA-Bereich) und kann sich erwärmen. Für batteriegespeiste oder energieeffiziente Anwendungen ist dies suboptimal, da der Stromverbrauch nicht auf null sinkt, sondern nur die Motorströme eliminiert werden. Außerdem geht – wie erwähnt – das Haltemoment verloren, was evtl. mechanisch unerwünscht ist. Option 2: Schlafmodus über den Sleep-Pin (nSLEEP) Der Sleep-Pin (SLP auf dem Modul, technisch nSLEEP) versetzt den DRV8825 in einen speziellen Schlafmodus mit minimaler Leistungsaufnahme. Wird dieser Eingang auf Low gezogen, schaltet der Treiber intern weitgehend alles ab: • Interne Abschaltung: Laut Datenblatt werden im Sleep-Modus die H-Brücken deaktiviert, die Gate-Treiber-Ladungspumpe abgeschaltet, der interne 3,3-V-Regler deaktiviert und alle internen Taktgeber gestoppt Der Treiber geht also in einen quasi stromlosen Zustand. Alle Eingänge werden ignoriert, bis der Sleep-Modus wieder verlassen wird. • Minimaler Stromverbrauch: Im Schlafmodus sinkt der Strombedarf des DRV8825 auf einen sehr geringen Wert. Typischerweise fließen nur on der Größenordnung 10–20 µA aus der Versorgung (bei 24 V) – das ist vernachlässigbar gering und kommt dem Ideal „Stromverbrauch null“ sehr nahe. Dieser Ruhestrom ist um ein Vielfaches geringer als im normalen Standby (Enable-Methode). Die Datenblattangabe zeigt z.B. einen Schlafstrom von nur ~10 µA gegenüber ~5 mA im Betrieb. In der Praxis bedeutet das nahezu keine Erwärmung und extrem geringe Batteriebelastung im Ruhezustand. • Motorzustand: Wie bei der Enable-Methode sind im Sleep-Modus die Motorwicklungen spannungsfrei, es fließt kein Haltestrom. Der Motor hat also kein Haltemoment und kann sich frei bewegen. Beim Verlassen des Sleep-Modus kommt es (analog zum Enable) potentiell zu einem kleinen Ruck oder Neujustieren, da der Treiber ggf. den Mikrostepping-Zustand neu synchronisiert oder der Motor sich während des Schlafs minimal bewegt hat. In beiden Fällen (Enable oder Sleep) ist der Effekt auf den Motor im Ruhezustand gleich – er ist stromlos und kann seine Position verlieren. • Aufwachzeit: Beim Wiedereinschalten (nSLEEP wieder High) benötigt der DRV8825 einen kurzen Moment, um seine internen Schaltungen hochzufahren. Das Datenblatt nennt eine Wartezeit von ca. 1–2 ms, bevor Steppsignale wieder zuverlässig akzeptiert werden. Diese Verzögerung ist kurz, sollte aber in der Steuerungssoftware berücksichtigt werden (ein kleiner Einschalt-Pause, bevor der Motor bewegt wird). • Vorteile: Der Sleep-Modus erzielt die maximale Energieeinsparung. Der Stromverbrauch ist praktisch null, wodurch sich der Treiber hervorragend für stromsparende Anwendungen eignet. Außerdem ist die Umsetzung simpel: Der SLP-Pin muss vom Mikrocontroller gesteuert werden (Low = schlafen, High = aktiv). Viele Breakout-Boards (wie Pololu) haben RESET und SLEEP meist getrennt herausgeführt; dabei muss RESET dauerhaft High sein (oder mit SLEEP zusammen geschaltet werden), damit der Treiber nicht im Reset bleibt. Ist die Schaltung einmal eingerichtet, kann man durch Setzen von Sleep=Low den Treiber vollständig schlafen legen, ohne die Versorgung abschalten zu müssen. • Nachteile: Im Grunde kaum, abgesehen von der erwähnten Haltemoment-Problematik (gemeinsam mit jeder Abschaltmethode) und der kurzen Aufwachzeit. Ein potenzieller Nebeneffekt beim wieder Aufwachen aus dem Schlaf (vor allem in Mikrostep-Betrieb) ist ein leichter Positionsruck, da der DRV8825 intern möglicherweise den Mikroschrittzähler zurücksetzt oder zum definierten Startzustand zurückkehrt. Dies lässt sich minimieren, indem man den Motor vor dem Abschalten möglichst in eine Vollschritt-Position bringt (dann ist kein Halbphasenstrom gespeichert) – so eine empfohlene Praxis aus Nutzererfahrungen. Ansonsten ist der Sleep-Modus in Bezug auf den Stromverbrauch eindeutig überlegen.   Option 3: Komplette Spannungsabschaltung (Alternative) Als alternative Maßnahme kann man in Erwägung ziehen, die Versorgung des Treibers physisch zu trennen, z.B. mittels eines Schalters oder Transistors, um wirklich jeglichen Stromfluss zu unterbinden. Dies würde den Stromverbrauch tatsächlich auf 0 mA bringen, geht aber mit einigen Nachteilen einher: • Reinitialisierung: Ohne Versorgung ist der DRV8825 vollständig aus. Beim Wieder-Einschalten müsste der Treiber neu hochgefahren und initialisiert werden (vergleichbar mit einem Reset). Da der DRV8825 keine separate Logik-Spannung hat, kann er ohne VMOT überhaupt nicht auf Steuerbefehle reagieren. Das heißt, man kann ihn nicht „wecken“, ohne die Motorversorgung wieder zuzuschalten. Während der Abschaltung gehen alle internen Zustände (z.B. Mikrostep-Position) verloren. • Design-Komplexität: Eine komplette Abschaltung erfordert zusätzliche Hardware (etwa einen Transistor oder MOSFET im Versorgungspfad oder ein Relais), was Schaltungsaufwand und potentielle Fehlerquellen mit sich bringt. Zudem muss sichergestellt werden, dass keine Rückspeisung über Steuerpins erfolgt – wenn der Mikrocontroller weiterhin Pins auf HIGH hat, könnte über Eingänge ein Leckstrom in den unversorgten Treiber fließen. Dies muss durch geeignete Schaltungen oder Software (Pins auf LOW/Hi-Z setzen beim Abschalten) verhindert werden. • Motorverhalten: Beim Wiederanlegen der Versorgung können ähnliche oder stärkere Ruckeffekte auftreten wie beim Sleep-Aufwachen. Der Treiber startet in seinem Reset-Zustand (Mikrostepping-Tabelle auf Home-Position zurückgesetzt), was bedeutet, dass der Motor eventuell zum nächstliegenden Vollschritt gezogen wird. Dies kann mechanisch unerwünscht sein. Auch hier ist das Haltemoment während der Aus-Zeit natürlich nicht vorhanden. • Wann sinnvoll: Die völlige Abschaltung lohnt sich meist nur dann, wenn jede Mikroampere zählen, z.B. in extremen Low-Power-Betriebsszenarien, oder wenn mehrere Treiber/Hilfsschaltungen vorhanden sind, die man zentral vom Netz nehmen will. In den meisten Fällen bringt der Sleep-Modus bereits so gut wie den vollen Nutzen, ohne diese Komplexität. Pololu weist z.B. darauf hin, dass ein Ein-/Ausschalten der Motorversorgung alleine keine elegante Lösung ist, da der DRV8825 eben ohne VMOT vollständig offline ist Stattdessen sollte man den vorgesehenen Sleep-Modus nutzen. Empfehlung: Beste Methode zum Null-Strom-Stop. Empfohlen wird, den Sleep-Modus zu verwenden. Dieser bietet die größte Stromersparnis – der Treiber zieht im Schlaf quasi keinen Strom mehr (nur etwa 10–20 µA statt mehreren mA). Durch Ansteuern des nSLEEP-Pins (Low = Schlaf, High = Aktiv) lässt sich der DRV8825 gezielt in den Ruhezustand versetzen und wieder wecken. Die Wirkung auf den Motor ist dabei dieselbe wie beim Enable-Disable: er wird stromlos geschaltet (Haltemoment = 0). Somit erreicht man den gewünschten Effekt, den Stromverbrauch im Stillstand auf nahezu Null zu reduzieren, ohne die Versorgung jedes Mal trennen zu müssen. Die Enable-Methode (nur Ausgänge hochohmig über nENBL) ist zwar unkompliziert und vermeidet jegliche Verzögerung beim Wiederanfahren, lässt aber den Treiber selbst weiterlaufen und verbraucht daher weiterhin einige mA. Für Anwendungen, bei denen Energieeinsparung kritisch ist, ist dies weniger geeignet – es sei denn, ein geringer Ruhestrom ist akzeptabel und man möchte das Aufwachen beschleunigen. In allen anderen Fällen schlägt der Sleep-Modus die Enable-Methode in puncto Energieverbrauch deutlich. Eine vollständige Abschaltung der Versorgung ist aus Sicht des Stromsparens theoretisch optimal, aber in der Praxis nicht erforderlich, da der Sleep-Modus bereits nahezu Nullverbrauch erreicht. Die zusätzliche Komplexität und mögliche Nachteile (Reset-Verhalten, Steuerungsaufwand) machen eine Hardwareschaltung zum Trennen der Spannung meist unnötig. Nur wenn absolut gar kein Restverbrauch toleriert wird (und die Rahmenbedingungen dies zulassen), könnte man diesen Weg prüfen – dann muss aber das Design entsprechend abgesichert sein. Zusammenfassend: Verwenden Sie bevorzugt den Sleep-Pin, um den DRV8825 im Leerlauf abzuschalten. Dies reduziert den Stromverbrauch auf ein Minimum und erfordert lediglich eine einfache Ansteuerung per Mikrocontroller. Achten Sie darauf, dass beim Abschalten kein Haltemoment am Motor benötigt wird (ansonsten ist kein Verfahren zum Null-Verbrauch geeignet) und berücksichtigen Sie einen kleinen Warteimpuls beim Wiedereinschalten aus dem Schlaf. Mit dieser Vorgehensweise erreichen Sie effektiv einen stromlosen Zustand des Schrittmotortreibers im Stillstand und maximieren die Energieeinsparung.

Ansteuerung von 4 Steppermotoren mit dem

Raspberry Pi 5