Stromzerhackung mit H-Brücke und PWM

Ich habe einige Schrittmotoren und L298N Dual-H-Brückentreiber. Ich kann keine genauen Spezifikationen für die Schrittmotoren finden, * aber ähnliche Motoren aus einer anderen Produktlinie haben Nennspannungen von 2,64 V bis 5,8 V. Da die meisten Netzteile diese genauen Werte nicht erreichen, scheint eine Stromunterbrechung erforderlich zu sein.
*Minebea, das Unternehmen, das die Motoren hergestellt hat, sagt, dass die Motoren Teil einer kundenspezifischen Bestellung waren, also haben sie keine Spezifikationen.

Ich hatte die Idee, dass Open-Loop-Stromzerhacken mit PWM von der Steuerplatine (in diesem Fall ein Arduino) möglich sein könnte. Da das Drehmoment kein großes Problem darstellt, sollte es gut laufen, ohne dass Änderungen der Gegen-EMK kompensiert werden müssen.

Mit Soft-PWM konnte ich ein 20-kHz-Signal erzeugen und hätte viel höher gehen können.

Auf Seite 4 eines Datenblattes, das ich für den L298N gefunden habe, sind eine Reihe von Verzögerungszeiten aufgeführt (z. B. "Source Current Turn-off Delay"). Diese Werte sollten hier ziemlich relevant sein. Seite 2 listet auch den Spitzenausgangsstrom für verschiedene Zeitbereiche auf. Ich habe da ein bisschen Bedenken, weil der maximale Wiederholungsstrom 2,5 A beträgt. Wenn ich den unteren Rand von Seite 3 richtig lese, beträgt der Gesamtspannungsabfall mindestens 1,8 V. Was könnte der Abfall bei einer höheren Spannung sein, sagen wir 12 V?

Die Frage ist, ob es eine praktikable Strategie ist, einen Stepper mit hoher Spannung (z. B. 12 V) zu betreiben, indem der Strom durch Schalten der H-Brücke zerhackt wird? Ich habe nur ein paar Hinweise darauf gesehen ( hier und hier ), obwohl keiner die Frage vollständig beantwortet. Ich möchte sicher sein, dass dies weder die H-Brücke noch den Stepper frisst.

Antworten (2)

Es ist in der Tat eine gute Strategie, den Strom von einer höheren Spannungsquelle (z. B. 12 V) zu zerhacken, um einen Schrittmotor zu speisen. Tatsächlich tun dies die meisten integrierten Schritttreiber so (siehe zum Beispiel das DRV8825-Datenblatt).

Zu Ihrer Information, was normalerweise getan wird, ist, dass der Schritttreiber den Strom durch die Wicklungen überwacht und die Zerhackung in Abhängigkeit von diesem Strom anpasst. Die Verwendung eines festen Arbeitszyklus (wie Sie dies zu planen scheinen) würde zu einem weniger gleichmäßigen Antrieb des Motors führen (z. B. fehlende Schritte bei hohen Lasten, ...). Abhängig von Ihrer Anwendung kann dies jedoch noch akzeptabel sein.

Nun zu Ihren Zweifeln am maximalen Strom von L298. Der Strom ist hier nicht die Spitzenimpulsspannung dividiert durch den Widerstand der Wicklung. Da Sie mit hoher Frequenz hacken, wird der Strom durch die Induktivität der Wicklung geglättet (was wir wollen). Es ist also tatsächlich die durchschnittliche Spannung (abhängig vom Tastverhältnis) geteilt durch den Widerstand. Wenn Sie also eine Einschaltdauer von 50% haben, ergibt dies 6 V (ohne Berücksichtigung der Verluste), und Sie haben einen Strom von 1,5 A. Es scheint, dass es dir gut geht.

Bezüglich der Frage des Spannungsabfalls wird im Datenblatt für eine Versorgungsspannung von 42 V angegeben. Aber es sollte sowieso nicht von der Versorgungsspannung abhängen. Es ist mehr vom Laststrom abhängig. Ich bin mir also nicht sicher, ob ich diesen Teil der Frage verstehe.

Danke, das ist sehr beruhigend. Ich hatte fälschlicherweise "Stepper können mit viel höheren Spannungen als der Nennspannung betrieben werden" mit "Komponenten ziehen nur den Strom, den sie benötigen" kombiniert, um die (offensichtlich falsche) Schlussfolgerung zu ziehen, über die ich mir auch keine Sorgen machen musste! Die Frage nach dem Spannungsabfall basierte auf der Idee, dass weniger Spannung durch die Motorwicklung fließen würde, was zu einem geringeren Stromfluss führen würde. Mit anderen Worten, ich denke über die Wirkung des Innenwiderstands nach. Aber ich denke, dass es kein Problem ist, basierend auf Ihrer Aussage it is actually the average voltage ... divided by the resistance.
Leicht verwandt: Gibt es Vorteile oder Nachteile bei der Erhöhung der Frequenz? Die 20 kHz sind nur eine Zahl, die ich irgendwo gelesen und in meine Skizze fest codiert habe. 200 kHz sind wahrscheinlich das Maximum, das der Arduino leisten kann, und ich bezweifle, dass der L298 mithalten könnte.
Ich habe mir die Probleme mit der Schaltzeit / -frequenz nicht angesehen. Aber im Grunde genommen wird der Strom nicht ausreichend geglättet, wenn Sie zu langsam schalten. Es hängt von Ihrer Motorinduktivität ab. Und wenn Sie zu schnell schalten, haben Sie mehr Schaltverluste, und an einem bestimmten Punkt kann der Fahrer nicht einmal mehr mithalten. Normalerweise verwenden Stepper-Treiber eine Schaltfrequenz im Bereich von 20–50 kHz. Das Datenblatt des L298 sagt typisch 25KHz und maximal 40KHz. Also wählen Sie, aber ich würde nicht viel höher gehen, als typisch.
OK danke. Das macht Sinn. Ich bin neu im Lesen von Datenblättern, aber Sie erwähnen nicht, dass ich es sehe.

Im Datenblatt des L298 siehe Abschnitt „3. ANWENDUNGEN“. In diesem Abschnitt sind einige Schemata zur Strombegrenzung durch Zerhacken beschrieben und schematisch dargestellt.

Der Spannungsabfall von min. 1,8 V ist die Vce(sat) der internen Transistoren, die mit dem Strom und nicht unbedingt mit der Spannung variiert. Dies ist die Spannung, die Sie aufgrund des nicht perfekten Transistorschaltens verlieren.

Die auf Seite 4 aufgeführten Verzögerungszeiten sind Schaltverzögerungen der internen Schaltung. Sie sind nur die elektrischen Eigenschaften des Geräts.

Danke. Eines meiner Hauptanliegen war das, –Repetitive (80% on –20% off; ton = 10ms)was 2,5 A war. Wenn wir 4Ω für den Stepper bei 12V annehmen, sind das 3A. Kann man den ungefähren Innenwiderstand des L298n berechnen? Ich vermute, dass es kein Problem geben wird, da ich ein Tastverhältnis näher an 25 % und nicht an 80 % und viel schneller (etwa 13 μs statt 10 ms) verwenden würde. Ich bin mir nicht sicher, wie hoch der genaue Widerstand der Motorwicklung ist, da mein Ohmmeter kaputt ist (ich habe mit einem Arduino ein grobes Maß erhalten, es sollte mindestens 4 Ω betragen, denke ich).
Der äquivalente Widerstand des L298 kann auf einen bestimmten festen Strom geschätzt werden (laut Datenblatt), dies ist jedoch ein aktiver Teil des internen Transistors und der äquivalente Widerstand ändert sich, wenn sich der Strom ändert. Sie können wahrscheinlich mit einem internen Verlust von etwa 2 V rechnen, sodass Sie den maximalen Strom unter der Annahme von etwa 10 V am Motor abschätzen können. (Wie in der anderen Antwort erreicht der Strom aufgrund der induktiven Effekte und des schnellen Schaltens möglicherweise nicht einmal dieses Maximum.) Schließlich können Sie Messwiderstände mit mäßigem Wert hinzufügen (siehe Datenblatt), um den Strom weiter zu begrenzen, wenn Sie sich darüber Sorgen machen .