Wie lerne ich PID-Regelung?

26

Ich möchte die PID-Regelung (Proportional-Integral-Derivative) hauptsächlich für die Temperatur lernen.

Ich möchte am liebsten durch ein einfaches Projekt dazu lernen.

Könnten Sie bitte etwas empfehlen, dessen Erlernen einige Wochen in Anspruch nehmen würde?

Bearbeiten: Ich möchte die Temperatur eines Wassertanks steuern. Die Beheizung erfolgt über einen Widerstand.

Daniel Grillo
quelle
Ich habe versucht, ein Basisprojekt zu finden, von dem jemand lernen kann. Ich denke, die Mathematik ist auch interessant. Die Menschen widmen ihr Leben dafür.
Kortuk
Wovon möchten Sie die Temperatur regeln?
J. Polfer
3
Da Sie die Wärme nicht abführen können, müssen Sie sicherstellen, dass Ihr System auch bei Anlegen eines kleinen Stroms noch kühlt, da sonst Regelungsprobleme auftreten können. Ich würde möglicherweise einen Fächer oder Eis hinzufügen, wenn Sie Ihr Experiment machen. Sie möchten, dass es nach oben geht, wenn Sie voll sind, und nach unten geht, wenn Sie aus sind. In diesem Fall regelt das Feedback für Sie.
Rex Logan
1
Dies wird durch die Temperatur des erforderlichen Wassertanks bestimmt. Wenn er 80 ° C will, ist die Umgebungstemperatur ausreichend, wenn er 25 ° C will, hat er ein Problem. Die PID sollte, wenn sie richtig eingestellt ist, in der Lage sein, einen langsamen Temperaturverlust zu verkraften.
Kortuk

Antworten:

27

Die Temperatur zu kontrollieren (es hängt von Ihrem Medium ab) ist nicht besonders schwierig. Das war mein erstes Projekt, als ich anfing. Entschuldigen Sie, wenn ich Dinge wiederhole, die Sie bereits wissen.

Ich gehe davon aus, dass Sie bereits eine Möglichkeit haben, das System zu steuern (z. B. eine Heizungs- oder Kühleinheit) und eine Möglichkeit, Feedback vom System zu erhalten (einen Temperatursensor wie einen Thermistor oder ähnliches). Sie benötigen beides, um einen PID-Regelkreis zu implementieren, der eine Art Regelung darstellt. Alles, was Sie danach wirklich tun müssen, ist ein wenig Software zu schreiben, um Steuerbefehle zu senden, Feedback zu lesen und Entscheidungen über dieses Feedback zu treffen.

Ich würde anfangen, indem ich PID ohne einen Doktortitel lese . Es ist der Artikel, den ich verwendet habe, als ich zum ersten Mal in einem wissenschaftlichen Experiment die Temperatur regulieren musste. Es enthält einige leicht verständliche Bilder und einen schönen Beispielcode (eine einfache Schleife, die Sie optimieren können, benötigt nur 30 Zeilen), in dem erklärt wird, wie Sie Ihre 'Anlage' steuern - in diesem Fall das, wofür Sie die Temperatur steuern möchten .

Der Kern der PID-Regelung (Proportional-Integral-Differential-Regelung) besteht darin, die momentane, vergangene und vorhergesagte zukünftige Leistung des Systems zu verwenden, um zu bestimmen, wie ein System zu einem bestimmten Zeitpunkt gesteuert werden soll, um einen bestimmten Sollwert zu erreichen. In vielen Fällen müssen Sie die Verstärkungsfaktoren des Algorithmus abstimmen, um die gewünschte Leistung zu erzielen - wie schnell die Temperatur ansteigt, wie stark Sie Überschwingen vermeiden möchten usw. Möglicherweise benötigen Sie das Differential gar nicht oder sogar eine integrierte Steuerung, um dorthin zu gelangen, wo Sie hin wollen!

J. Polfer
quelle
Ich konnte mich nicht erinnern, wo der Link zu PID ohne Promotion hingegangen war. Ich hatte den Namen vergessen und konnte mich nicht erinnern, was ich vor so langer Zeit gelesen hatte. +1 sir.
Kortuk
3
PID ohne Promotion ist ein großartiger Artikel!
Nun
Einfach nur exzellent! PID ohne PHD ist perfekt. Ich habe einen Doktortitel, aber ich habe mein Bestes getan, um mich von der Kontrolltheorie fernzuhalten :) Ich liebe auch den Mini-Line-Follower.
@Bistromath Bitte nicht "Danke" als Antwort hinzufügen. Sobald Sie über eine ausreichende Reputation verfügen , können Sie Fragen und Antworten abstimmen , die Sie für hilfreich befunden haben.
m.Alin
10

Ja. Holen Sie sich einen Thermistor und einen Widerstand. Wählen Sie einen Widerstand, der einen ausreichend hohen Strom ziehen kann (> 100 mA).

Verwenden Sie Wärmeleitpaste zwischen ihnen und kleben Sie sie zusammen mit Klebeband. Schließen Sie den Thermistorschaltkreis über ADC an einen Mikrocontroller an. Verwenden Sie einen Transistor, um den Widerstand zu steuern, und steuern Sie diesen mit einer PWM.

Entwickeln Sie eine PID, mit der Sie die Temperatur mit einem Drehregler steuern und üben Sie, eine PID zu erstellen, die die Temperatur überschreitet und klingelt. Machen Sie es überdämpft und nehmen Sie sich Zeit, um die Temperatur zu erreichen, und versuchen Sie, es kritisch zu dämpfen und mit maximaler Geschwindigkeit auf die Temperatur zu kommen.

Lassen Sie mich wissen, wenn mehr Details helfen würden.

Nachdem Sie dies erledigt haben, reduzieren Sie deren Wärmeleitfähigkeit, indem Sie eine Stufe hinzufügen, die die Temperaturausbreitung verzögert, und versuchen, diese gut zu steuern.

Dies kann auch mit einer LED und einem Fototransistor erfolgen.

Kortuk
quelle
Dies sind gute Vorschläge, um zu versuchen, das Verhalten von PID-Schleifen in den Griff zu bekommen.
J. Polfer
1

Für Scilab steht ein schöner PID-Simulator zur Verfügung.

Leon Heller
quelle
1

Ich addiere nur meine 2 Cent zu den guten Antworten, die ich bereits erhalten habe.

Die praktische Verwendung von PID zur Temperaturregelung weist häufig nichtlineare Verhaltensweisen auf, wenn die Erkennung von Temperaturfehlern begrenzt ist (die Verstärkung des Operationsverstärkers sättigt den Ausgang) und die zur Temperaturregelung verfügbare Leistung fest ist.

Betrachten Sie einen Ein-Aus-Regler. Das System hat eine Latenz von dem Zeitpunkt an, an dem Wärme angelegt wird und eine Änderung der Temperatur erfasst wird. Da keine PID-Schleife vorhanden ist, führt diese Latenz zu einer instabilen oszillierenden Schleife, und wenn es eine Hysterese gibt, werden die Leistungszyklen mit Rauschen (Ein-Aus-Ein) ausgeführt. Eine sehr hohe Verstärkung (wie z. B. ein Komparator) führt jedoch zu einem kleinen Resttemperaturfehler. Die Latenz beeinflusst die Zykluszeit und das Überschwingen.

Wenn eine externe Störung aufgetreten ist, z. B. eine Tanklampe, durch die möglicherweise erhebliche Wärme freigesetzt wird, muss der Heizungsregler reagieren, sobald ein Temperaturanstieg durch die Lampenwärme festgestellt wird. Wenn Ihr Lampenschalter nicht Teil des PID-Regelkreises ist, kann er den Effekt nicht "antizipieren" (Ableitung der Rückkopplungsverstärkung). Wenn die Lampen zu viel Wärme erzeugen, kann die Temperatur natürlich nicht reguliert werden und überschreitet den Sollwert.

Ihre Wärmeregelung mit PID-Regelung muss möglicherweise über einen Eingang für den Lampenschaltzustand und eine Ausgangsregelung verfügen, um die Lichtleistung als sekundäre Wärmequelle zu regulieren, auch wenn dies zu viel ist.

Das Definieren Ihrer Anforderungen für absolute Steuerfehler,% Überschwingen und Reaktionszeit sind einige Konstruktionseingaben, die zur Optimierung Ihres PID-Regelkreises erforderlich sind. Ebenso wichtig ist es, Ihre Systemstörungen zu definieren und diese für die Ein- und Ausgabe in Ihr Steuerungssystem einzubeziehen. z.B. Lampenheizleistung und Auswahl von Sensor (en) und Position.

Erfahrung beiseite.

Meine erste Erfahrung mit einem Warmwasserbereiter machte ich in den 70er Jahren, als ich noch Student war. Ich entwarf meinen eigenen Temperaturregler mit einem Thermistor, einem Regelkreis und einem Nulldurchgangstriac-Schalter zum Heizgerät. Ich begann mit der Komparatorsteuerung und fand eine ungewöhnliche Reaktion beim Springen im Bett. Deshalb habe ich eine Proportionalregelung mit ungefiltertem Rauschen am Sensor hinzugefügt, um proportionale "fehlende Zyklen" zu erhalten, wenn der ZCS-Triac nahe der Schwelle eingeschaltet war. Ich konnte die Temperatur innerhalb von 0,1 ° C regulieren. Die Reaktion war weicher, aber das Ergebnis war das gleiche.

Ich fand den größten Fehler in der Position und winzigen Änderungen des Wasserdrucks auf dem Sensor. (Ich war damals winzig, nur 185 lbs, aber auf einem Wasserbett von 2000 lbs war eine Änderung des Wasserdrucks von <10% winzig)

Der Wärmewiderstand zwischen dem Sensor und dem Wasserbett verursachte einen winzigen Versatzfehler in Abhängigkeit vom Wasserdruck gegen den Sensor. In Ihrem Wassertank-Szenario kann der Sensorfehler durch die Größe des Tanks und den Abstand zwischen Sensor und Heizung oder Sensor und der am weitesten entfernten Wasseroberfläche oder durch den Wasserdurchfluss oder die Luftblasen zwischen Sensor und Heizung verursacht werden.

In meinem Fall sank der Wärmewiderstand bei jedem Sprung ins Bett geringfügig, und die Betriebsanzeige leuchtete ein oder zwei Minuten lang, bis die Temperatur um ein Zehntel Grad abfiel, oder um dem scheinbaren Temperaturanstieg durch zusätzliches Gewicht und Druck von zu entsprechen das Wasserbett gegen den Thermostat.

(Lektion gelernt. Vernachlässigen Sie nicht die Störquellen und deren Auswirkungen auf den Fehler im Steuerungssystem.)

Tony Stewart Sunnyskyguy EE75
quelle