Nodemcu + bipolar stepper + L293D

Hallo zusammen,

ich versuche mit einer Nodemcu den stepper M42SP-6NK zu steuern, (das 6NK ist nicht mehr wirklich lesbar, aber die Daten aus dem Datenblatt scheinen passend) https://www.mitsumi.co.jp/latest/Catalog/pdf/motor_m42sp_6nk_e.pdf
Der Motor hat 4 Kabel, also bipolar. Spule 1 Orange + Gelb, Spule 2 Schwarz + Braun.

Verkabelt ist das über einen L293D. Am Logikinput (Pin9) habe ich 5V angeschlossen. An Pin 8 die Motorspannung 15V (auf dem Netzteil steht 12..). Enable 1 und Enable 2 sind miteinander verbunden und an der Node MCU angeschlossen.

Nodemcu -> L293D
D1.........-> Enable 1 + Enable 2
D2.........-> Input 1
D3.........-> Input 2
D5.........-> Input 3
D6.........-> Input 4

Vom Motor ist Spule 1 (Orange + Gelb) an Output 1 und 2 angeschlossen und Spule 2 (Braun + Schwarz) an Output 3 und 4.

Ich verwende die mitgelieferte stepper.h der Arduino IDE.

Problem:
Der stepper dreht nicht vernünftig, mal gar nicht, bleibt also hängen aber strom fließt und wenn er sich dreht hat er kaum Kraft.

Ich weiß zugegebenermaßen nicht wo ich das Problem noch suchen soll. Der L293d scheint grundsätzlich zu funktionieren also wenn Input 1 auf 3.3V gelegt wird dann wird Output1 auf 12V geschaltet, das hab ich für alle 4 versucht. Der Chip wird allerdings auch brüllend heiß, ich hatte es schon mit einem Kühler oben drauf versucht aber das hat nicht wirklich etwas gebracht.
Ach versucht hab ich ich das Vertauschen der Outputs bei der stepper Deklaration.

Der L293 ist nicht direkt gelötet sondern in einem Sockel nachdem mir der erste komplett abgeraucht ist, es gibt leider Schaltpläne die auf den Logikinput 12V legen. Das mag der Chip nicht...

PS: Alles hängt an der gleichen Spannungsquelle. Um die 12V auf 5V für die Nodemcu zu bekommen wird ein L317t mit 2 Wiederständen verwendet.

Wenn ich mir das Datenblatt von dem Stepper anschaue, dann kannst Du den nicht direkt mit dem L293 betreiben. Da fließt viel zu viel Strom:
Rated Current/Phase 400mA(PEAK)
DC Resistance /phase±7%

Der is also offensichtlich für Stromsteuerung gedacht. Wenn Du 12V anlegst fliessen bei 5Ohm 2,4A!! Der L293D ist gerade mal für 600mA Dauerstrom spezifiziert. Kein Wunder, dass der brüllheiß wird.

Du brauchst einen Treiber wie den A4988 oder den DRV8825. Dann kannst Du auch 12..24V anlegen. Da sorgt der Treiber (bei richtiger Einstellung!) dann dafür, dass nicht zuviel Strom fließt.

Hi

Anmerkung: Heiß wird der Motor dann aber trotzdem, da IMMER der am Treiber eingestellte Strom durch die Spulen getrieben wird.
Allerdings sollte der Treiber kaum Wärme entwickeln bei 400mA.

MfG

postmaster-ino:
Anmerkung: Heiß wird der Motor dann aber trotzdem, da IMMER der am Treiber eingestellte Strom durch die Spulen getrieben wird.

Aber bei weitem nicht so heiß wie unter den jetzigen Umständen. 0,4A bei 5 Ohm sind gerade mal 0,8W / Spule.
Wenn da das Netzteil nicht schon in die Knie gegangen ist, weis ich nicht, ob der Stepper die 12V überhaupt überlebt hat. Wenn das Netzteil stabil geblieben wäre, hätten die Spulen mehr als die 30fache Nennleistung ( oder besser Spitzenleistung, die 0,4A sind PEAK ) aushalten müssen.

Hallo,
erstmal danke für die Antworten auch wenn ich Mühe hab die zu verstehen.
Mein Verständnisproblem besteht darin, dass ich nicht weiß welche Daten des Datenblatts nun wirklich relevant sind.

Immerhin steht drin 12V bzw 24V, 400mA peak, 5 Ohm
Worauf muss ich nun achten?

Hab in meiner Kramkiste auch noch dieses Modell gefunden: https://www.datasheet4u.com/datasheet-pdf/NMB/10PU-M204/pdf.php?id=813637
10 Ohm, 0.36A demnach müsste man den mit 3.6V betreiben? Weiter unten steht dann was von Supply Voltage 24V. Wie passt das zusammen?

PS: Auf dem Netzteil steht, dass es maximal 1A liefert.

Hi

Die 24V beziehen sich auf die Grafik, Die wiederum nicht viel mit diesem Motor zu tun hat.
Die soll nur zeigen, daß die Kraft schnell im Keller ist, wenn Drehzahl verlangt wird.

Bei stromgesteuerten Schrittmotoren: gönnen Ihnen den Strom.
Den Rest macht der Treiber - wenn Der 50V als Versorgung kann - gerne 48V (knapp drunter bleiben - 48V wäre in Industrie auch nicht unüblich und daher preislich im Rahmen).

Z.B. bei einem 28BYJ-48 - Der ist für 5V gedacht - passen Widerstand, Strom und Spannung (sofern angegeben) zusammen.
URI (U=RxI, Spannung gleich Widerstand mal Strom)
Das ist die NENN-Spannung - Die kann der Motor dauerhaft ab (dabei ergibt sich der Nenn-Strom).
Dabei wird sich der Motor aber auf 'Nenn'-Temperatur aufheizen - bei einem Stepper ist Es nicht ungewöhnlich, daß Dieser auch gerne Mal 'lecker heiß' wird und werden darf - die Treiber können im Stand den Strom aber teilweise absenken (wird ja kaum Drehmoment gebraucht), was die Verlustleistung und damit Hitze wieder verringert.

Aber auch hier gilt: gönne dem Motor den Strom (wobei der 28BYJ-48 erst nach Umbau, oder im Vollschritt (Halbschritt müsste man Mal messen ...), von einem Stepper-Treiber angesteuert werden kann, da die Wicklungen intern verbunden sind (... lässt sich recht einfach ändern - dann ist auch Der bipolar und 'stromgesteuert').

MfG

Shadow85:
Immerhin steht drin 12V bzw 24V, 400mA peak, 5 Ohm
Worauf muss ich nun achten?

Dazu braucht es etwas 'höhere' Elektrotechnik-Kenntnisse :wink: .
Das Drehmoment, dass ein Motor aufbringen kann, hängt vom Strom ab, der fließt ( etwas vereinfacht ausgedrückt ). Damit ein Stepper sich dreht, darf der Strom aber nicht kontinuierlich durch die Wicklung fließen. vielmehr muss er im 'Schrittrhythmus' zwischen den Spulen hin- und hergeschaltet werden. Je schneller er sich drehen soll, umso schneller muss dieses hin- und herschalten passieren.

Nun kommt die etwas 'höhere' Elektrotechnik ins Spiel: Die Spulen sind kein einfacher Widerstand, sondern haben einen Induktivität. Diese Eigenschaft verhindert, dass sich der Strom in der Spule sprunghaft ändern kann. D.h., wenn Du Spannung an die Spule anlegst, wird der Strom nicht sofort voll fließen, sondern - je nach Größe der Induktivität und der Spannung - mehr oder weniger langsam ansteigen bis er dann den Wert erreicht, der dem ohmschen Widerstand der Spule entspricht.
Bei hohen Stepraten ist die Einschaltzeit aber so kurz, dass der Strom diesen Endwert nie erreicht. Folge: das Drehmoment sinkt. Erhöht man nun die Spannung, steigt der Strom schneller an und erreicht auch bei kurzen Einschaltzeiten den Endwert: Das Drehmoment steigt wieder. Jetzt hast Du aber das Problem, dass der Strom bei längeren Einschaltzeiten ( kleine Drehzahl ) viel zu hoch würde. Da helfen dann die Steppertreiber mit Stromsteuerung: Die überwachen den Strom, und schalten die Spule ab, wenn er zu groß wird. Jetzt kannst Du den Stepper mit einer Spannung betreiben, die für den 'statischen' Betrieb der Spule eigentlich zu hoch ist. Der Treiber sorgt dafür, dass auch bei höherer Spannung kein zu großer Strom fließen kann, die höhere Spannung sorgt dafür, dass auch be kurzen Einschaltzeiten der Nennstrom erreicht wird.

Zu deiner Fage wo Du drauf achten musst: Der angegebene ohmsche Spulenwiderstand und der maximale Strom ergeben die Spannung, die maximal statisch an der Spule anliegen darf. Ist die angegebene Spannung höher, dann bezieht sie sich darauf, welches Drehmoment der Motor bei dieser Spannung und höhren Drehzahlen erreicht ( meist auch in einer Grafik dargestellt ). In dem Fall wird aber immer davon ausgegangen, dass ein Treiber eingesetzt wird, der den Strom dann bei niedrigeren Drehzahlen auf den zulässigen Wert begrenzt.

N.B: diese Treiber arbeiten ganz ähnlich wie ein Step-Down Schaltregler. Nur regeln sie nicht die Spannug an der Spule, sondern den Strom durch die Spule.

Ich hoffe, das war einigermaßen verständlich :smiley: .

postmaster-ino:
Aber auch hier gilt: gönne dem Motor den Strom (wobei der 28BYJ-48 erst nach Umbau, oder im Vollschritt (Halbschritt müsste man Mal messen ...), von einem Stepper-Treiber angesteuert werden kann, da die Wicklungen intern verbunden sind (... lässt sich recht einfach ändern - dann ist auch Der bipolar und 'stromgesteuert').

MfG

Halbschritte kann man mit jedem Schrittmotor machen, egal ob strom- oder spannungsgesteuert unipolar oder bipolar. Da versorgt man einfach manchmal 2 Spulen und der Rotor positioniert sich den 2 Polen. Also erste Spule, beide Spule, zweite Spule ecc.

Grüße Uwe

Hi

Stimmt so nicht ganz - der 28BYJ-48 ist zwar ein Schrittmotor, aber mit 5 Anschlüssen - dann geht Das mit dem Original-BYJ nämlich nicht, da die Spulen-Mitten dort verbunden sind.
Die abgeschaltete Spule hat aber auf beiden Seiten das gleiche Potential, somit in Ihrer Mitte auch.
Die bestromte Spule hat links Plus, rechts GND, in der Mitte wäre die halbe Spannung.
Man müsste die unbestromte Spule auf HIGH-Z setzen - man könnte mit ENABLE spielen ...

Somit könnte man den 28BYJ-48 aber mit Vollschritt (beide Spulen sind immer bestromt) am Stepper-Treiber betreiben, da dann die Mitte beider Spulenpaare auf halber Spannung zu liegen kommen, bei Gleichheit gibt's keinen Querstrom.
Müsste ins Datenblatt schauen, ob der Treiber Vollschritt auch einen Hlabschritt versetzt zulässt, also immer nur eine Spule bestromt - dann würde der Querstrom zwischen den Spulen stören (... käme auf einen Versuch an ... da hier beide in Reihe liegende Spulen durchflossen werden müssen, muß die Spannung höher werden - trotzdem dürfte der Motor nicht kaputt gehen, da der Strom durch die einzelnen Spulen nicht überschritten wird - heißer wird Er, da immer alle Spulen (statt 2 von 4) Verluste erzeugen ...)

Mal schauen, wann ich dazu Lust habe :wink:

MfG

Stimmt so nicht ganz - der 28BYJ-48 ist zwar ein Schrittmotor, aber mit 5 Anschlüssen - dann geht Das mit dem Original-BYJ nämlich nicht, da die Spulen-Mitten dort verbunden sind.
Die abgeschaltete Spule hat aber auf beiden Seiten das gleiche Potential, somit in Ihrer Mitte auch.
Die bestromte Spule hat links Plus, rechts GND, in der Mitte wäre die halbe Spannung.
Man müsste die unbestromte Spule auf HIGH-Z setzen - man könnte mit ENABLE spielen ...

Du denkst zu kompliziert.
Du hast 2x 2 Halbspulen. Der Mittelanschluß kommen auf +5V und die beiden Enden jeder Spule durch NPN Transistoren auf Masse (oder wie mitgeliefert über Transistorarray im ULN2003) . Duch den Mittelanschluß und Stromversorgung nur einer Halbspule kann man ein N-S Magnetfeld oder S-N Magnetfeld im Stator aufbauen.
Ich kann ohne Probleme einen Teil der einen Spule und einen anderen Teil der anderen Spule gleichzeitig bestromen. Im unteren Bild zB A + C.

Grüße Uwe

Auch sollte man Vollschritt, WAVEDRIVE und Halbschritt kennen.
https://wiki.ntb.ch/infoportal/_media/hardware/sysp/bauteile/schrittmotor_kurz_erklaert_d.pdf unte 5.2.

Vollschritt oder Normalbetrieb: 2 Spulen werden immer bestromt; Es ändert sich die Stromrichtung zueinander ( hier ist egal ob man einen Unipolarmotor hat und immer nur 2 Halbspulen bestromt oder DieStromrichtung mittels H-Brücken bei einem Bipolarmotor Umdreht)

WAVEDRIVE jeweils nur eine Spule wird bestromt. Der Rotor stellt sich 45° gegenüber dem Vollschritt ein und verbraucht weniger Strom und darum weniger Kraft.

Halbschirtt: man kombiniert die beiden Modi Also abwechselnd 1-2-1-2-1-2- Durch Stromsteuerung kann man den Stom auf 2x 70% I max einstellen; ist aber nicht notwendig. Bei richiger Spannungsversorgung geht auch 100 und 100% gut.

Microschritt unterteilen die Rotorpositionen noch feiner durch verändern der Stromstärke in den einzelnen Schritten. zb bei 4tel Schrittten: 100%-0%; 92-38; 70-70; 38-93; 0-100; -38-92; ecc.

Grüße Uwe

Hi

Wavedrive ist der von mir angedachte, um einen Halbschritt verschobene, Vollschritt.
Wieder was gelernt.

Mir ging es in der Ausführung darum, einen 28BYJ-48 ohne Änderung an einem Stepper-Treiber (#12 - doppelte H-Brücke) zu betreiben.
Dort bleiben die Mittelanzapfungen 'in der Luft' hängend - also isoliert.
Deshalb MÜSSEN hier, am Treiber, immer beide Spulen bestromt werden, damit die Mittelanschlüsse kein unterschiedliches Potential aufweisen und sich ein Querstrom ergibt.
Am ULN2003 habe ich die 28BYJ-48 natürlich ganz normal auch laufen, wie auch zwei der Motoren auf bipolar umgebastell - weiß aber nicht mehr, ob ich Die dann auch so benutzt hatte ...

MfG

Edit
Wie Uwe in #12 vermutet, beziehe ich mich auf eine doppelte H-Brücke, also einen 'normalen' Stepper-Treiber L298, A4988, DRV8825, ... gibt noch mehr

Auch der mitgelieferte ULN2003 ist ein Treiber.
Du meinst wohl eine doppelte H-Brücke?
Grüße Uwe