Ich versuche, ein Mikrocontroller-Programm zum Steuern der Temperatur in einem System mit den folgenden Eigenschaften zu schreiben:
- Ausgang kann nur mit festen Taktfrequenzen (~ 2-10 pro Stunde) ein- oder ausgeschaltet werden
- Die Anlage reagiert nur langsam (messbare Temperaturänderungen dauern lange> 10 Minuten).
- Die Anlage verliert aufgrund der Umgebungsbedingungen an Temperatur.
- Der Sollwert kann je nach Benutzeranforderung in großen Schritten variieren.
Ich schreibe eine Steuerung, die darauf abzielt, Fehler zu minimieren und die als Eingabe bereitgestellte Zyklusrate einzuhalten.
Dies kann problemlos mit einem PI-Regler erfolgen, dessen Ausgang auf das Tastverhältnis umgerechnet wird. Das Problem ist, dass das Programm die richtigen Kp- und Ki-Konstanten automatisch einstellen und auswählen und sich an unterschiedliche Umgebungsbedingungen und Änderungen der Heizleistung anpassen muss. Daher ist es nicht sinnvoll, den PI-Regler im Voraus abzustimmen.
Die Verwendung eines tatsächlichen PI oder PID ist nicht erforderlich. Ich bin offen für die Verwendung von Fuzzy-Logic, wenn es hilft. Außerdem habe ich einen Algorithmus zum maschinellen Lernen auf dem Chip, der die Systemreaktion und den Wärmeverlust (ungefähr linear) modelliert und Informationen über die gemessene Sprungantwort vorschlägt . Ich weiß nur nicht, was ich mit diesen Informationen anfangen soll.
Ein paar Beiträge schlage ich vor, die Modellierungsdaten zum Abstimmen des PI on-line als auch das nutzen könnten Labor-View - Handbuch , das ich Fuzzy-Logic abzustimmen schlägt die PI verwenden könnte.
Meine Frage ist, was der beste Ansatz für diese Art von Szenario ist (z. B. PID, Fuzzy-PID, Faltung usw.) und wie ich es tatsächlich in Software / Praxis implementieren würde.
Ich bin kein EE, also wäre jeder Input sehr dankbar.