Gibt es ein offenes Tool zum Zeichnen von Graphen zur Bestimmung der PID-Abstimmungsparameter?

7

Ich habe mehrere PID-Implementierungen und deren Tuning-Tutorials, Dokumente und alles durchlaufen. Das beste Tuning-Tutorial war PID-without-a-PhD.pdf . Hat aber nicht viel geholfen. Ich kann sagen, dass es einige funktioniert.

Ich arbeite an einem Magnetschwebeprojekt. Bitte gehen Sie durch den Link ( Barry's Maglev ) für ein Beispiel. Ich kann den Magneten schweben lassen und eine Aluminiumplatte darunter halten. Aktueller Fortschritt: Video .

Ich möchte es ohne die Aluminiumplatte durchführen.

Meine Frage ist, wie ich mit dem Zeichnen von Graphen und allem anfangen soll. Ich habe nur die Grafik gesehen und war von ihr angezogen. Nehmen wir die Datei PID-without-a-PhD.pdf und sehen Sie sich nur die grafischen Darstellungen an. Wie bekomme ich das? Mit welchem ​​offenen Tool soll ich anfangen?

Ich habe versucht, ein selbst erstelltes Diagrammplot-Tool zu erstellen und daran zu arbeiten. Das Auftragen gegen die Zeit ist nicht zufriedenstellend und daher die Verstärkungsbestimmung.

[Wenn ein selbsterklärender Auto-Tune-Algorithmus verfügbar ist! : das ist jetzt nicht meine Frage.]

Ich möchte mit einem harten systematischen Ansatz neu starten. Jede Hilfe wird wie von Gott hilfreich sein. Ich möchte nicht mit der Trail-n-Error-Methode arbeiten. Da hat das nicht geholfen.

Ich benutze AtMega2560, eine Spule, einen Stapel von 2 Neodym-Magneten, eine gut funktionierende H-Brücke.

.... Update1 ....

Auch ein Hallsensor für Feedback.

........

.... Update2 ....

Jetzt habe ich seine Übertragungsfunktion bei mir. Ich studiere LTI Transient-Response-Analyse mit Python . Das Problem ist, dass ich eine Matrix von Übertragungsfunktionen habe. Ich könnte mich irren, weil ich nicht genau weiß, was was heißt. Werde es bald lernen.

........

Rick2047
quelle
Was misst der Hall-Effekt-Sensor? Haben Sie eine direkte Messung der Ballposition? Im letzten Magnetschwebebahnsystem habe ich damit gearbeitet, wie mit Fotodetektoren und LEDs - IR, glaube ich.
AngryEE
Ja, ich messe die Position direkt. Das Gerät ist vorerst nicht entfernt. Aber ja, ich kann den Sensorausgang mit der Entfernung in Beziehung setzen. Welches wird derzeit nicht benötigt. Kurz gesagt, das System kann wissen, wo sich die Kugel befindet, eher ein Magnet. :) N es ist schön, dass du bereits Erfahrung in Maglev hast.
Rick2047
Wenn Sie nur einen Sensor (Wegsensor) und einen Aktuator (Kraft) haben, sollten Sie nur eine Übertragungsfunktion haben. Warum / wie haben Sie eine Matrix von Übertragungsfunktionen?
Nibot
@nibot Weil die Schwerkraft eine andere Kraft ausübt. Also insgesamt zwei Kräfte und ein Sensor. :)
Rick2047
Die Schwerkraft ist konstant. Und du kontrollierst es nicht. Also: keine Übertragungsfunktion.
Nibot

Antworten:

5

In der Industrie würde dies im Allgemeinen mit Matlab erfolgen. Wenn Sie es selbst ausprobieren, haben Sie einige verschiedene Optionen für die Software zur numerischen Berechnung / grafischen Darstellung. An erster Stelle steht SciLab - ein Programm, das Matlab sehr ähnlich ist, aber Open Source und kostenlos ist. Es gibt einige Toolboxen, die möglicherweise nützliche Funktionen zum Entwerfen und Analysieren von Steuerungssystemen bieten: Control Design Tool (anscheinend sehr beliebt) und ADS CoLiSyS (viel weniger beliebt).

Andernfalls können Sie NumPy oder SciPy ausprobieren, die über einige numerische / grafische Funktionen verfügen, jedoch keine Toolboxen für Steuerungssysteme.

Bearbeiten: Wenn Sie einen PID-Regler mit einer bekannten Methode einstellen, haben Sie möglicherweise kein Glück. Sie können Methoden wie Ziegler-Nichols ausprobierenDa Sie jedoch mit einem instabilen System arbeiten (der Ball fällt ohne Rückkopplungskontrolle), können Sie nicht das tun, was die Methode empfiehlt (dh Integral- und Ableitungsverstärkungen ausschalten, um die Proportionalität allein einzustellen, und dann Integral- und Ableitungsverstärkungen zuweisen als Vielfaches der proportionalen Verstärkung). Wenn Sie jedoch einen Regler erstellen können, der den Ball einfach an einem Sollwert stabilisiert (ein Störungsunterdrückungsregler - die Störung ist die Schwerkraft), können Sie Ihren PID-Regler in Reihe hinzufügen und auf diese Weise einstellen, sobald das System stabil ist. Es scheint jedoch Ihr übergeordnetes Ziel zu sein, einen Controller zu entwickeln, der den Ball einfach stabilisiert und ihn beispielsweise nicht einer Rechteckwelle oder einem Sinus-Eingang folgen lässt. Das ist vielleicht kein lohnender Ansatz. Denken Sie daran, was Sie ' Dies ist keineswegs eine grundlegende Kontrolle, und vereinfachende Ansätze gelten nicht unbedingt. Viel Glück.

AngryEE
quelle
Es tut mir so leid. Ich habe vergessen, den Hallsensoreingang für die PID zu erwähnen. Ich benutze auch einen Hallsensor. Ich aktualisiere auch das gleiche oben.
Rick2047
Sie haben vergessen, dass Octave, von dem ich gelesen habe, dass es Matlab ähnlicher ist, freie Software ist und mit Octave-Forge eine Reihe von Toolboxen hat, mit ziemlicher Sicherheit auch eines der Steuerungssysteme.
Clabacchio
Ich hatte den Eindruck, dass Scilab von Castaways aus Matlab selbst erstellt wurde. Ich wette, sie sind beide ziemlich nah. Jeder kopiert den Anführer ...
AngryEE
Octave ist näher an älteren Versionen von Matlab. Die Schnittstelle ist eine reine Befehlszeile. Die Sytax von Octave soll fast vollständig Matlab-kompatibel sein. SciLab bietet mehr GUI-Funktionen und weniger direkte Matlab-Kompatibilität. SciLab scheint eher auf Unterrichtsanwendungen ausgerichtet zu sein. Beide haben wahrscheinlich alles, was Sie für grundlegende PID-Systemsimulationen benötigen.
Das Photon
Sollte auch hinzufügen, dass Octave ursprünglich für Unix / Linux entwickelt wurde und die Windows-Version nicht völlig fehlerfrei ist. SciLab scheint eine bessere Windows-Kompatibilität zu haben (ich habe jedoch mehr Octave als SciLab verwendet).
Das Photon
0

Schauen Sie sich 20-sim an, es steht eine kostenlose Version zur Verfügung, es gibt viele Toolboxen (auch für Controller-Design und LTI-Systeme) und die neueste Version 4.4 enthält Skripte mit Matlab und Octave. Hier ist ihre Website: http://www.20sim.com

Paul
quelle
0

Nicht Open Source, aber CircuitLab führt das Plotten im Zeit- und Frequenzbereich nach Bedarf durch . Sie können die Rückkopplungsschleife entweder mit Schaltungselementen oder mit Laplace-Transformationsblöcken grafisch zusammenstellen, dann die Reaktion messen und Ihre PID-Parameter anpassen, um sicherzustellen, dass Sie ein stabiles Ergebnis erhalten! Siehe beispielsweise Laplace-Transformationsschrittantwort und Bode-Diagramm .

compumike
quelle