Warum werden Schrittmotoren nicht in geschlossenen Regelkreisen und PID-Regelungen verwendet?

Ich weiß, dass Schrittmotoren normalerweise in Open-Loop-Systemen betrieben werden. Ich bin neugierig, warum sie normalerweise nicht Teil von Systemen mit geschlossenem Regelkreis sind? Warum werden bei Schrittmotoren üblicherweise keine PID-Regelungsmethoden verwendet?

Welchen Vorteil hätte die Verwendung eines Steppers mit Closed-Loop/PID?
Sie können ABSOLUT einen Stepper im geschlossenen Regelkreis verwenden. Stellen Sie sich ein Schrittmotordesign vor, das einen Fotodetektor auf eine sich bewegende Punktlichtquelle richtet.
Sie können einen geschlossenen Regelkreis haben, obwohl ich nicht sicher bin, ob PID dafür geeignet ist. Beispielsweise können Sie eine Backchannel-Analyse durchführen, um fehlende Schritte mit Steppern zu erkennen: Sehen Sie sich beispielsweise die Datenblätter der TMC2130-Stepper-Treiber für Anwendungen an.
Ich glaube, oft werden Schrittmotoren ohne Feedback (Open Loop) verwendet, weil der Designer faul ist. Ein guter Designer ist faul und tut nicht mehr als nötig. Wenn kein Feedback benötigt wird, halten Sie es offen. (Faul zu sein ist eine Möglichkeit, die Kosten niedrig zu halten).

Antworten (4)

Der Hauptpunkt eines Schrittmotors ist, dass Sie diskrete Schritte erhalten. Die Kosten sind jedoch größer und geringerer Wirkungsgrad als bei einem kontinuierlichen Motor mit demselben Drehmoment. Schrittmotoren haben auch eine niedrige obere Geschwindigkeit.

Der Vorteil diskreter Schritte kann die verschiedenen Nachteile aufwiegen, wenn das System offen gesteuert werden kann. Wenn Sie trotzdem Feedback geben und die Schleife schließen möchten, bieten Ihnen die Schrittmotoren das Schlechteste aus beiden Welten. Sie können auch einen Positionsgeber mit Rückmeldung oder einen Motor mit Positionsrückmeldung (wie einen bürstenlosen Gleichstrom mit Hallsensoren) verwenden.

Hinzugefügt

Wie Dmitry in einem Kommentar betonte, kann ein Regelkreis um etwas, das nur in diskreten Schritten eingestellt werden kann, sehr leicht zu Schwingungen führen. Das System zittert kontinuierlich zwischen den beiden Schritten neben der genauen Antwort, wenn es eine ungedämpfte I-Antwort gibt. Wenn die diskreten Schritte mechanisch sind, kann dies zu einem höheren Stromverbrauch, Verschleiß an den Teilen und einem unerwünschten Benutzererlebnis führen.

Außerdem oszillieren PID-Regler mit einem großen I-Faktor endlos zwischen zwei benachbarten Positionen eines Schrittmotors.
@Dmitry: Guter Punkt. Ich habe das der Antwort hinzugefügt.

Das ist eigentlich nicht besonders selten. In industriellen Systemen sind Schrittmotoren mit Encoder-Feedback relativ verbreitet. Und für Bastler gibt es zB das Projekt Mechaduino .

Es gibt mehrere Vorteile bei der Verwendung von Feedback mit Schrittmotoren:

  • Verliert bei Überlastung nicht die Position.
  • Kann höhere Drehmomentbelastungen bewältigen, da die Rückkopplung die Magnetkraft optimal ausgerichtet hält. Bei der Schrittsteuerung ohne Rückführung wäre die magnetische Ausrichtung mit maximalem Drehmoment, wenn der Rotor 1 Schritt hinter dem Magnetfeld ist. Aber wenn der Rotor mehr als 1 Schritt zurückfällt, beginnt das Drehmoment abzunehmen und er fällt schnell 4 Schritte zurück und verliert Schritte.
  • Der Motor läuft kühler, da die Rückkopplung den Steuerstrom abhängig von der Last anpasst.

Der einzige Nachteil gegenüber Open-Loop-Stepper-Systemen ist der Preis. Der eigentliche Konkurrent sind jedoch BLDC-Motoren mit geschlossenem Regelkreis, die Vorteile gegenüber Schrittmotoren mit geschlossenem Regelkreis haben:

  • BLDC-Motoren benötigen nur 3 Push-Pull-Treiberkanäle, während Schrittmotoren 4 benötigen.
  • BLDC-Motoren können normalerweise einen größeren Drehzahlbereich bewältigen, obwohl dies vollständig von den Konstruktionsentscheidungen des Motors abhängt.
  • BLDC-Motoren haben weniger Cogging , sodass sie eine bessere Positionssteuerung erreichen können.

Aus diesem Grund werden BLDC-Motoren in Industrieprojekten immer häufiger in Closed-Loop-Systemen eingesetzt. Aber für Bastler können Schrittmotoren mit hohem Drehmoment oft billiger sein als BLDCs mit ähnlichem Drehmoment, und es ist auch mechanisch ein einfaches Upgrade von normalen Schrittmotoren.

@jpaugh Mechaduino ist ein Schrittmotor + Regelung, was ihn zu einem Servomotor macht. Der verwendete Motor ist aber identisch mit den Schrittmotoren, die ohne Feedback verwendet werden.

Vorausgesetzt, Sie verpassen keinen Schritt , sollte ein Schrittmotor Ihnen eine deterministische Bewegung geben. Sie können es N Schritte vorwärts und N Schritte rückwärts laufen lassen und es wird an der gleichen Stelle sein. Dies liegt daran, dass die Schritte diskret sind.

Probleme entstehen, wenn es klemmt oder man versucht, es zu schnell zu fahren. Viele Systeme haben eine einfache Möglichkeit, über einen Endschalter auf einen bekannten Zustand zurückzusetzen. zB Diskettenlaufwerke haben einen "Spur 0"-Sensor; Beim Einsetzen fährt der Computer den Kopf vor und zurück, bis er Spur 0 findet.

Eine weitere Fehlerquelle könnten Überschwinger sein; zB beim Verlangsamen / Stoppen einer Last mit (relativ) hoher Trägheit.

Ich habe mit Systemen gearbeitet, die extrem präzise Rotationspositionen und -geschwindigkeiten erreichten, indem sie Mikroschrittmotoren bewegten, die dann ein Schneckengetriebe unidirektional antrieben. Der Schlüssel zu diesem System ist ein linearer Encoder, der um das rotierende Teil gewickelt ist, wodurch Sie eine geschlossene Schleife erhalten. Dies war die Positionierung eines Beugungsgitters in einem Spektrometer.

Einige motorisierte Mikroskoptische verwenden auch einen linearen Encoder in der Nähe der Probe. Bei dieser Anwendung kann sich die Last oder ihre Hebelwirkung so weit ändern, dass sich der Mechanismus verformt oder sich sein Spiel ändert, was bedeutet, dass das Zählen von Schritten von einem Referenzschalter keine genaue Position mehr ergibt. Dies kann in einer Closed-Loop-Konfiguration verwendet werden oder nicht (dh wir möchten möglicherweise nur die Position mit einer Genauigkeit im Submikrometerbereich anzeigen oder die Probe in solchen Schritten bewegen).