Wie lernt man die PID-Regelung?

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

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

Könnten Sie bitte etwas empfehlen, das ein paar Wochen dauern würde, um es zu lernen?

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

Ich habe versucht, ein grundlegendes Projekt zu bekommen, von dem jemand lernen könnte, ich denke, die Mathematik ist auch interessant. Menschen widmen ihr ihr Leben.
Wovon willst du die Temperatur regeln?
Da Sie keine Wärme abführen können, müssen Sie sicherstellen, dass Ihr System auch bei geringem Strom noch kühlt, da sonst Ihr PID Regulierungsprobleme haben könnte. Ich würde möglicherweise einen Ventilator oder Eis hinzufügen, wenn Sie Ihr Experiment durchführen. Sie möchten, dass es steigt, wenn Sie voll sind, und sinkt, wenn Sie ausgeschaltet sind. Wenn dies der Fall ist, regelt das Feedback für Sie.
Diese wird durch die erforderliche Temperatur des Wassertanks bestimmt. Wenn er 80 ° C möchte, reicht die Umgebungstemperatur aus. Wenn er 25 ° C möchte, hat er ein Problem. Die PID sollte bei richtiger Einstellung in der Lage sein, mit einem langsamen Temperaturverlust fertig zu werden.

Antworten (6)

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

Ich nehme an, Sie haben bereits eine Möglichkeit, das System zu steuern (dh eine Heiz- oder Kühleinheit) und eine Möglichkeit, Feedback vom System zu erhalten (ein Temperatursensor wie ein Thermistor oder so). Sie benötigen beide, um eine PID-Schleife zu implementieren, die eine Art geschlossener Regelkreis ist. Alles, was Sie danach wirklich tun müssen, ist ein bisschen Software zu schreiben, um Steuerbefehle zu senden, Feedback zu lesen und Entscheidungen auf Grundlage dieses Feedbacks zu treffen.

Ich würde damit beginnen, PID ohne Doktortitel zu lesen . 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), der erklärt, wie Sie Ihre „Anlage“ steuern – in diesem Fall das Ding, dessen Temperatur Sie steuern möchten .

Der Kern der PID-Steuerung (Proportional-Integral-Differential) besteht darin, die momentane, vergangene bzw. prognostizierte zukünftige Leistung des Systems zu verwenden, um zu bestimmen, wie ein System zu einem bestimmten Zeitpunkt zu steuern ist, um einen bestimmten Sollwert zu erreichen. In vielen Fällen müssen Sie die Verstärkungsfaktoren des Algorithmus anpassen, um die gewünschte Leistung zu erhalten – wie schnell die Temperatur ansteigt, wie stark Sie ein Überschwingen vermeiden möchten usw. Möglicherweise stellen Sie sogar fest, dass Sie das Differential nicht benötigen oder sogar integrale Steuerung, um dorthin zu gelangen, wo Sie sein möchten!

konnte mich nicht erinnern, wohin dieser Link zu PID ohne Doktortitel führte. Ich hatte seinen Namen vergessen und konnte mich nicht erinnern, was ich vor so langer Zeit gelesen hatte. +1 Herr.
PID ohne Promotion ist ein toller Artikel! Aber gut, mein 8-Bit-Mikrocontroller mochte diese Gleitkomma-Arithmetik nicht.
Einfach hervorragend! PID ohne PHD ist perfekt. Ich habe einen Doktortitel, aber ich habe mein Bestes getan, um mich von der Kontrolltheorie fernzuhalten :) Außerdem liebe ich den Mini-Linienfolger.
@Bistromath Bitte fügen Sie kein "Danke" als Antwort hinzu. Sobald Sie über einen ausreichenden Ruf verfügen , können Sie für Fragen und Antworten , die Sie hilfreich fanden, abstimmen.

Ja. Holen Sie sich einen Thermistor und einen Widerstand. Wählen Sie einen Widerstand, der einen anständig großen Strom (> 100 mA) ziehen kann.

Verwenden Sie Wärmeleitpaste dazwischen und kleben Sie sie mit Klebeband zusammen. Schließen Sie die Thermistorschaltung über ADC an einen Mikrocontroller an. Verwenden Sie einen Transistor, um den Widerstand zu steuern, und steuern Sie diesen mit einem PWM.

Entwickeln Sie eine PID, mit der Sie die Temperatur mit einem Drehregler steuern können, und üben Sie, eine PID zu erstellen, die über die Temperatur hinausschießt und klingelt. Machen Sie es überdämpft und brauchen Sie ewig, um die Temperatur zu erreichen, und versuchen Sie, es kritisch zu dämpfen und mit maximaler Geschwindigkeit die Temperatur zu erreichen.

Lassen Sie mich wissen, ob weitere Details helfen würden.

Nachdem Sie dies erledigt haben, reduzieren Sie ihre Wärmeleitfähigkeit, versuchen Sie, eine Stufe hinzuzufügen, die die Temperaturausbreitung verzögert, und versuchen Sie, sie gut zu kontrollieren.

Dies kann auch mit einer LED und einem Fototransistor erfolgen.

Dies sind gute Vorschläge, um herauszufinden, wie sich PID-Schleifen verhalten.

Neben der offensichtlichen Temperaturregelungsanwendung ist hier ein schönes Projekt, das eine PID-Regelung erforderte. Machen Sie sich selbst einen zeilenfolgenden Bot: http://elm-chan.org/works/ltc/report.html

Für Scilab steht ein netter PID-Simulator zur Verfügung.

Ich füge den guten Antworten nur meine 2 Cent hinzu.

Die praktische Verwendung von PID zur Temperaturregelung weist häufig ein nichtlineares Verhalten auf, wenn die Erkennung von Temperaturfehlern begrenzt ist (Verstärkung des Operationsverstärkers sättigt den Ausgang) und die zur Regelung der Temperatur verfügbare Leistung festgelegt ist.

Betrachten Sie einen Ein-Aus-Controller. Das System hat eine Latenz ab dem Zeitpunkt, an dem Wärme zugeführt wird und eine Temperaturänderung erkannt wird. Wenn es keine PID-Schleife gibt, erzeugt diese Latenz eine instabile Schleifenschwingung, und wenn es Hystereis gibt, wechselt die Stromversorgung mit Rauschen (Ein-Aus-Ein). 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 wie eine Tanklampe vorhanden ist, die erhebliche Wärme hinzufügen kann, muss der Heizungsregler reagieren, sobald ein Temperaturanstieg durch die Lampenwärme festgestellt wird. Wenn Ihr Lampenschalter nicht Teil der PID-Schleife ist, kann er den Effekt nicht "vorwegnehmen" (Verstärkung der abgeleiteten Rückkopplung). Wenn die Lampen zu viel Wärme erzeugen, kann die Temperatur natürlich nicht reguliert werden und überschreitet den Sollwert.

Ihre Heizungssteuerung mit PID-Regelung muss möglicherweise einen Eingang für den Lampenschaltzustand und eine Ausgangssteuerung haben, um die Lichtleistung als sekundäre Wärmequelle zu regulieren, falls dies wiederum zu viel ist.

Das Definieren Ihrer Anforderungen für absolute Regelabweichung, prozentuales Überschwingen und Reaktionszeit sind einige Designeingaben, die zur Optimierung Ihres PID-Regelkreises erforderlich sind. Ebenso wichtig ist es, Ihre Systemstörungen zu definieren und sie in Ihr Steuerungssystem für Eingang und Ausgang einzubeziehen. z.B. Wärmeleistung der Lampe und Auswahl von Sensor(en) und Position.

Neben Erfahrung.

Meine erste Erfahrung mit einem Warmwasserbereiter war während der Wasserbett-Ära der 70er Jahre, als ich Student war. Ich entwarf meinen eigenen Temperaturregler mit einem Thermistor, einer Steuerschaltung und einem Nulldurchgangs-Triac-Schalter für die Heizung. Ich begann mit der Komparatorsteuerung und fand eine ungewöhnliche Reaktion beim Springen im Bett. Also habe ich eine proportionale Steuerung mit ungefiltertem Rauschen am Sensor hinzugefügt, um mir proportionale "fehlende Zyklen" zu geben, 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 dasselbe.

Ich fand, dass der größte Fehler in der Position und winzigen Änderungen des Wasserdrucks am Sensor lag. (Ich war damals winzig, nur 185 Pfund, aber auf einem 2000-Pfund-Wasserbett war eine Änderung des Wasserdrucks von <10% winzig)

Der Wärmewiderstand zwischen dem Sensor und dem Wasserbett erzeugte abhängig vom Wasserdruck gegen den Sensor einen winzigen Offset-Fehler. In Ihrem Wassertankszenario könnte 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 die Wasserflussrate oder Blasen zwischen Sensor und Heizung verursacht werden.

In meinem Fall sank der Wärmewiderstand jedes Mal, wenn ich ins Bett sprang, durch zusätzlichen Druck leicht, und das Power-Licht leuchtete ein oder zwei Minuten lang schwächer, bis die Temperatur um ein Zehntel Grad fiel oder dem scheinbaren Temperaturanstieg durch zusätzliches Gewicht und Druck entsprach das Wasserbett gegen den Thermostat.

(Lektion gelernt. Störquellen und deren Auswirkungen auf Regelsystemfehler nicht vernachlässigen)

Es gibt eine großartige PID -Simulations-App, mit der Sie die Abstimmung von PID-Schleifen üben und das Live-Feedback sehen können. Es wird von PIDexplained.com erstellt und ist im Microsoft Store erhältlich.

PIDexplained.com hat auch eine großartige Beschreibung der Mathematik hinter einer PID-Schleife.

Beide Links führen zum selben Ort.