PID-Regelung bei kleinen PWM-Werten für einen Gleichstrommotor

Ich habe einen PID-Controller eingerichtet, um die Wellenposition eines bürstenbehafteten Gleichstrommotors zu steuern, den ich über PWM und einen optischen Encoder steuere. Ich rekonstruiere im Grunde ein RC-Servo.

Jetzt, wo ich glaube, die richtigen Tuning-Parameter gefunden zu haben (alle drei Parameter ungleich Null), stehe ich vor einem weiteren Problem: Der Schaft kommt mit einiger Annäherung im gewünschten Winkel an (siehe schwarzen Stick unter https: // www.instagram.com/p/BTg25HngIDo/ ), hört dann auf, sich weiter zu bewegen. Ich höre ein "brummendes Crescendo" vom Motor, das nach einigen Sekunden damit endet, dass er sich etwas weiter bewegt, aber jetzt zu viel. Also gibt es ein weiteres summendes Crescendo und so weiter. Es erreicht fast nie exakt den Zielwinkel.

Wenn ich mir die Ausgabe / Fehlerausgabe ansehe, sehe ich, dass der Controller während des Summens kleine PWM-Werte sendet, die zu klein sind, um den Motor zu starten (wie ich selbst experimentieren konnte, siehe https://www.instagram.com/p/ BQYBZsShq9x/ ). Ich denke, das ist eine Art Nichtlinearität, während ein PID nur mit linearen Prozessen arbeiten kann. Da der Motor an einer nahe gelegenen Position gestoppt wird, summiert sich der Fehler im I-Zweig und damit auch im Ausgang, bis ein Schwellenwert erreicht wird.

Was ist der übliche Ansatz, um dieses Problem zu lösen? Ich denke darüber nach, den Ausgang wie in dieser Antwort vorgeschlagen zu linearisieren (dh eine "Totzonen" -Funktion zu implementieren, damit der Motor niemals kleine PWM-Werte erhält), aber ich mache mir Sorgen, dass der Linearisierer dem System mehr unabhängige Variablen hinzufügen wird.

Hast du einen Regelkreis? eine Positionsschleife?
Ja, ein Positionsregelkreis.
Ihre PID-Werte sind unterdämpft: cnc4pc.com/Tech_Docs/PID_tuning_eng.pdf Sie müssen kritisch gedämpft werden.
Die Positionsregelung eines Bürstenmotors ist knifflig.
@Trevor. Kommt drauf an ob du ein Getriebe hast oder nicht.
Es scheint, dass Sie langsam PWMen ... haben Sie es mit einer viel höheren PWM-Frequenz versucht, bei der der Motorstrom kontinuierlich fließt?
@JackCreasey in meinem Fall ist es tatsächlich übersetzt, das Verhältnis beträgt 1:46.
@JackCreasey ja, aber wenn Sie zufällig versuchen, sich direkt am Rand eines Kommutierungsschlitzes zu halten, passieren seltsame Dinge.
@Trevor. Nicht so, die meisten Bürsten decken mindestens 1,2 Kommutatorschlitze ab, es ist völlig normal, dass zwei aktiviert sind.
@JackCreasey Ich habe nicht gesagt, dass es nicht so ist, aber wenn Sie mit X-Strom halten und auf den nächsten Ring abbiegen, kann dies dazu führen, dass einige seltsame Kräfte Sie herumreißen.

Antworten (1)

Sie haben ein Spiel im Getriebe, das einer elektrischen Hysterese gleicht. Das verursacht "Jagd". Sie können das Flankenspiel minimieren, indem Sie wie bei Anti-Backlash-Getrieben vorspannen. Sie können ein einfacheres Steuerschema wie P (möglicherweise mit einer gewissen Steuertotzone) oder P+D übernehmen. Der Integralterm, falls vorhanden, integriert alle verbleibenden Fehler, bis eine Bewegung auftritt (es sei denn, der I-Term hat selbst eine absichtliche oder versehentliche Totzone - beispielsweise aufgrund einer niedrigen ADC-Auflösung).

Vielleicht möchten Sie dieses Papier von Tim Wescott lesen . Tim arbeitet viel mit elektromechanischen Präzisionssystemen, die in militärischen und ähnlichen Anwendungen eingesetzt werden.

Ein sehr schönes Papier.
Vielen Dank für das Papier, es verdient es, sorgfältig gelesen zu werden (insbesondere der PWM-Teil, den ich bereits verwende, aber möglicherweise verbessert werden muss). Ich würde dem Spiel leicht widersprechen, da der Encoder vor den Zahnrädern an der Motorwelle befestigt ist. Auf der anderen Seite scheint der Motor sechs Wicklungen zu haben, während der optische Encoder 8 Impulse pro Umdrehung macht, was meiner Meinung nach einige Positionen schwieriger zu erreichen macht als andere, und das könnte das Nachlaufen erklären.
Der Encoder erzeugt in diesem Fall eine Totzone. Ein Encoder mit höherer Auflösung könnte sehr hilfreich sein.