Inhaltsverzeichnis:

Automatisches Heizplattenkontrollsystem (HPACS) - Gunook
Automatisches Heizplattenkontrollsystem (HPACS) - Gunook

Video: Automatisches Heizplattenkontrollsystem (HPACS) - Gunook

Video: Automatisches Heizplattenkontrollsystem (HPACS) - Gunook
Video: 2RT 2024, Kann
Anonim
Automatisches Heizplattenkontrollsystem (HPACS)
Automatisches Heizplattenkontrollsystem (HPACS)
Automatisches Heizplattenkontrollsystem (HPACS)
Automatisches Heizplattenkontrollsystem (HPACS)

Dieses Projekt zielt darauf ab, einen einfachen intuitiven Weg zu bieten, um zu verstehen, wie die automatische PID-Abstimmung mit einer Heizung durchgeführt wird. Was ich gemacht habe, basiert auf der Åström-Hägglund-Methode zur Ableitung von Parametern unter Verwendung der Bang-Bang-Steuerung, um Systemeigenschaften aufzudecken und anschließend Parameter basierend auf diesem Wissen auszuwählen. Es ist nichts Geheimnisvolles und Informationen finden Sie hier: https://en.wikipedia.org/wiki/PID_controller#Loop… Und für die Auswahl der Parameter können Sie hier ein wenig lesen: https://en.wikipedia.org/ wiki/PID_controller#Loop…

Um es schön zu machen, wurde eine Nextion 3,2 -HMI-Schnittstelle für Benutzereingaben und die Anzeige verschiedener Variablen in Echtzeit hinzugefügt. ABER ich habe auch eine serielle Terminalversion der Bibliothek erstellt, die das Projekt viel billiger macht!

Die eigentliche Hintergrundgeschichte ist, dass ich meinem Vater teils versprochen habe, eine Temperaturregelung zum Schmelzen von Bienenwachs zu machen, teils wollte ich meine grundlegende Regelungstheorie auffrischen und schließlich wollte ich mich mit dem Autotuning von PID-Reglern befassen. Nebenbei habe ich es auch geschafft, es für Sous Vide zu verwenden, um im Rahmen des Tests schöne Steaks und Sauce Bearnaise zu machen!

WARNUNG

Ich arbeite hier mit 230 V was gefährlich ist wenn man nicht weiß was man tut ! Ich bin Elektriker und Elektroniker und habe daher einige Erfahrung hier - aber arbeiten Sie NICHT mit 230 V, wenn Sie damit nicht vertraut sind und achten Sie darauf, keine stromführenden Drähte zu berühren! Achten Sie auch auf die billigen SS-Relais in Bezug auf mögliche Brandgefahr, da dies von einigen Leuten gesehen wurde (nicht von mir).

Lieferungen

  • Eine günstige WASCO Kochplatte (könnte eine bessere sein - z. B. eine Ikea Induktionsplatte)
  • Ein billiges SS-Relais
  • Ein Dallas-Eindraht-Temperatursensor
  • Ein Arduino Mega
  • (Optional) Ein Nextion 3.2" HMI Interface/Display
  • 5V Netzteil für den Arduino

Schritt 1: Montage

Montage
Montage
Montage
Montage
Montage
Montage
Montage
Montage

Ich habe nur ein Gehäuse für die HMI-Version des Projekts gebaut, da ich dies letztendlich verwendet habe. Also habe ich ein Gehäuse für den Einbau von Relais, HMI und Arduino gemacht. Ich habe auch eine Klemme für den Temperatursensor gemacht, nur weil ich…

Schritt 2: Codierung

Codierung
Codierung

Der gesamte Code für HMI und Arduino ist in meinem Git-Repository für das Projekt verfügbar.

Ich habe viel im Code kommentiert, um ihn leichter lesbar und verständlich zu machen. Aber im Wesentlichen habe ich eine wirklich langsame PWM für die Kochplatte und einen Timer-Interrupt für die Zustandsmaschine / Steuerung eingerichtet und das war es wirklich.

Dann gibt es natürlich noch die Tuning-Routine und die Steuerung selbst + HMI oder serielle Schnittstelle…

Ich mache etwas, von dem ich in diesem Code kein großer Fan bin, und das ist, seriellen Druck in einem Timer-Interrupt zu verwenden. Serieller Druck nimmt viel Zeit in Anspruch und sollte bei einem Timer-Interrupt unbedingt vermieden werden…

Die Abstimmung funktioniert wie folgt:

  1. PWM-Tastverhältnis auf 40% einstellen
  2. Warten bis Solltemperatur erreicht ist
  3. PWM-Tastverhältnis auf 0 % setzen
  4. Warten Sie, bis die Temperatur unter dem Sollwert liegt
  5. Wiederholen Sie Schritt 1-4, bis z. B. 3 Perioden mit fast gleicher Zeit und Amplitude werden gesehen
  6. Berechnen Sie die Parameter für die PID basierend auf den obigen Angaben

Ziemlich einfach;)

Schritt 3: Testen

Testen !
Testen !
Testen !
Testen !
Testen !
Testen !

Jetzt, wo die Codierung abgeschlossen ist, ist es Zeit zum Testen. Im ersten Abschnitt habe ich die Abstimmung grafisch aus einem Test gezeigt - dazu gibt es also nicht mehr viel zu sagen. Hier werden jedoch einige Tests mit den erhaltenen Parametern gezeigt.

Empfohlen: