Ich arbeite an einem Geschwindigkeitsregler für einen Roboter und es ist dafür, wenn der Roboter auf seinen Rädern balanciert. Ich entwerfe den Controller im Rahmen eines Projekts in einem linearen Steuerungsdesignkurs. Allerdings muss die Steuerung auf einem Roboter und in einer von meinem Ausbilder bereitgestellten Software implementiert werden, sodass ich nicht unendlich viel Freiheit habe. Die Art und Weise, wie ich meinen Controller implementiere, ist hier zu sehen: -
Wie Sie sehen können, kann ich einen Gewinn hinzufügen , einen Integrator und einen Post-Integrator, einen Lead/Lag-Term sowohl im Vorwärts- als auch im Rückkopplungspfad, einen Vorfilter und einen Feedforward. Und das ist es. Ich kann das Feedback, das ich erhalte, nicht ändern, ich kann nur Bedingungen des Controllers hinzufügen und anpassen.
Das zu tun, was AJN vorschlägt, gibt mir eine viel schönere Bode-Plot:-
Der Bode-Plot ist viel schöner, aber ich habe immer noch einige Probleme. Ich möchte den Hügel im Phasendiagramm glätten, bin mir aber nicht sicher, wie das geht.
Die neue Übertragungsfunktion:
num = [0 0 0 -3.5113e+07 -3.7165e+10 -2.0902e+12 -3.8701e+13 -1.5402e+14 2.5341e+15 2.2109e+16 3.3405e+16];
den = [1 2.4731e+03 1.4491e+06 2.5930e+08 1.2622e+10 9.9503e+10 -1.8488e+12 -1.0302e+13 0 0 0];
G2 = tf(num,den);
num = [0 0 0 0 -2.3409e+07 -2.4777e+10 -1.3935e+12 -2.5801e+13 -1.0268e+14 1.6894e+15 1.4740e+16 2.2270e+16];
den = [1 2.4738e+03 1.4508e+06 2.6223e+08 1.5442e+10 6.8736e+11 2.6563e+13 5.2944e+14 4.0900e+15 8.1300e+15 3.7708e+15 1.1220e+13];
G2 = tf(num,den);
Das Bode-Diagramm mit offener und geschlossener Schleife für die Übertragungsfunktion ist hier: -
Wie Sie im geschlossenen Bode-Plot sehen können, gibt es ein großes Tal in der Phase, und dies führt dazu, dass das System instabil wird (glaube ich), und das möchte ich nicht.
Meine ursprüngliche Idee war, dem Vorwärtspfad einen Verzögerungsterm hinzuzufügen. Ein Verzögerungsterm entfernt die Phase. Wenn ich ihn also genau dort platziere, wo das Tal ist, sollte der Peak kleiner werden. Mein Lag-Term sieht so aus:-
Aber selbst nach Hinzufügen des Lag-Terms sieht die Phase immer noch sehr seltsam aus. Hier ist der neue Closed-Loop-Bode-Plot:-
Gibt es eine Möglichkeit, dieses Phasental zu entfernen und ein geeignetes stabiles System zu erhalten?
Ein großer Teil des Engineering Design versucht, das Rad nicht neu zu erfinden und aus den Fehlern der Vergangenheit zu lernen und Verbesserungen vorzunehmen. Es gibt viele nichtlineare Faktoren, die nicht in Ihrer Simulation enthalten sind, wie z. B. Hysterese durch Reibung und Schlupf in jedem beweglichen Teil und fehlende Designspezifikationen für Eingabe- und Ausgabefehler. Eine einstufige Reaktion auf die Spannung ist nicht der beste Test, da die BEMF des Motors das Drehmoment ändert.
Verwenden Sie Stromsteuerung und Feedback für sanftes Beschleunigen/Bremsen anstelle von Schrittspannung.
Um einen umgekehrten Arm zu beschleunigen, müssen Sie zuerst rückwärts gehen, um den Arm nach vorne zu neigen, und dann bei Spitzengeschwindigkeit ausreichend beschleunigen, um den Arm nach hinten zu neigen, um das Bremsen in Richtung Zielposition vorzubereiten.
Recherchieren Sie die Schlussfolgerungen von einem Dutzend ähnlicher, aber unterschiedlicher Thesenpapiere mit umgekehrtem Besen oder Pendel und zitieren Sie die Fehler und Lösungen, die Sie mit mehreren Schleifen für ideale Beschleunigung, Geschwindigkeit, Neigungswinkel und horizontale Position mit zulässigen Fehlern und Toleranzen vorschlagen.
Hier ist ein Beispiel, das einige Kriterien erfüllte, aber am Ende nicht robust war. Lesen Sie zuerst die Schlussfolgerungen jedes Papiers und befolgen Sie meinen Rat. Der Inhalt gibt Ihnen einige Einblicke in die Theorie, ist aber unvollständig.
Tony Stewart EE75
Tony Stewart EE75
AJN
AJN
AJN
Carl
AJN
AJN
ios
Wurden Ihnen die Schleifenunterbrechungs- und Überwachungspunkte definiert ? oder hast du diese Loop-Breakpoints selbst festgelegt?AJN
G(s)H(s)
und hätte überhaupt keine oberste Rückkopplungslinie im Diagramm.Carl
AJN
-G(s)H(s)
gerade. Simulink weiß nicht, dass es beim Öffnen einer Schleife das Vorzeichen in der Summierstelle ignorieren muss-ve
(zumindest die ältere Simulink-Version nicht; glaube ich). Die positive Form des Phasendiagramms lässt mich glauben, dass dies der Fall ist. Sei vorsichtig.Carl
AJN