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.
microcontroller
control-system
pid-controller
Daniel Grillo
quelle
quelle
Antworten:
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!
quelle
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.
quelle
Neben der offensichtlichen Anwendung der Temperaturregelung ist hier ein schönes Projekt, das eine PID-Regelung erforderte. Machen Sie sich zu einem Zeilenbot: http://elm-chan.org/works/ltc/report.html
quelle
Für Scilab steht ein schöner PID-Simulator zur Verfügung.
quelle
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.
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.
quelle