INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

PID-PWM-Temperatur-Regler



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

12.08.2021, 07:24
Beitrag #1

NielsHi Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Aug 2021

2018
-
DE



PID-PWM-Temperatur-Regler
Guten Tag zusammen,

ich bin blutiger LabView Anfänger und soll im Rahmen meiner Masterarbeit für einen von mir entworfenen Teststand u. A. eine Temperaturregelung in LabView aufbauen. Erst einmal hoffe ich, dass ich hier im richtigen Bereich gelandet bin, falls dies nicht der Fall sein sollte, gebt mir bitte Bescheid.

Den Teststand, den ich soweit erfolgreich in LabView umgesetzt habe, umfasst Mass Flow Controller, Druckmessumformer, Magnetventile sowie ein paar Pt100. Ich habe in meinem Schaltschrank eine SPS von Vipa verbaut, mit der ich über SP7 eine Verbindung zu den oben genannten Aktoren aufbauen kann. Das Lesen dieser Aktoren stellt damit auch kein Problem dar.

Aktuell verzweifel ich jedoch an der oben genannten Temperaturregelung: Grundsätzlich ist das System so aufgebaut, dass ich um einen Schlauch ein Heizband gewickelt und das ganze schön isoliert habe. Kurz vor Schlauchende befindet sich ein Kreuzstück, an dem ein Druckmessumformer sowie ein Pt100 integriert ist. Über das Pt100 erfasse ich die Isttemperatur der Luft, die durch den Schlauch strömt. Ein weiteres Pt100 ist im Heizband integriert und kontrolliert dessen maximale Temperatur.

Um die Lufttemperatur auf einen definierten Sollwert zu halten bzw. zu erwärmen, möchte ich in LabView einen PID-Regler nutzen. Das Ausgangssignal möchte ich in ein PWM-Signal umwandeln, mit dem ich das Heizband letzten Endes steuere. Bei Überschreiten einer maximalen Heizbandtemperatur (erfasst von dem zweiten Pt100), soll das PWM-Signal aussetzen.

Ein VI, dass das PID-Signal in Abh. einer einstellbaren Periode in ein PWM-Signal umwandelt, habe ich bereits in einem anderen Forum gefunden.

Könnt ihr mir helfen?

Liebe Grüße
Niels
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.08.2021, 09:15 (Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2021 10:45 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: PID-PWM-Temperatur-Regler
Hallo Niels,

Zitat:Um die Lufttemperatur auf einen definierten Sollwert zu halten bzw. zu erwärmen, möchte ich in LabView einen PID-Regler nutzen. Das Ausgangssignal möchte ich in ein PWM-Signal umwandeln, mit dem ich das Heizband letzten Endes steuere. Bei Überschreiten einer maximalen Heizbandtemperatur (erfasst von dem zweiten Pt100), soll das PWM-Signal aussetzen.
Nimm den AdvancedPID aus der Steuer/Regel-Palette: Ist-/Solltemperatur anschließen, vernünftige PID-Gains einstellen, Ausgang auf 0-100% festlegen - fertig…
Der zweite PT100 kann benutzt werden, um den PID an/aus zu schalten, die manuelle Vorgabe wird im "aus"-Fall (Temperatur zu hoch) auf 0% gesetzt.

Ist natürlich vereinfacht dargestellt, deshalb noch ein paar Stichpunkte:
- Du musst die PID-Gains vorher gut bestimmen (Ziegler-Nichols, etc.)!
- So ein Heizschlauch kann eine thermische Trägheit besitzen, die den PID "stören" könnte. Evtl. musst du den PID eher langsam einstellen oder mit dem D-Gain experimentieren.
- Wenn die Trägheit zu groß ist, könnte es auch helfen, mit einer zusätzlichen Vorsteuerung ("feed forward") neben dem PID zu arbeiten! Diese Vorsteuerung könnte auch das nichtlineare Verhalten deiner Regelstrecke berücksichtigen, z.B. beim Wärmeübergang vom Schlauch auf die Luft bei unterschiedlichen Massenströmen (oder evtl. verschiedenen Gasmischungen?): PID-Regler sind vorrangig für lineare Regelstrecken gemacht - oder man fängt mit Gain-Scheduling an, welches NI auch mit entsprechenden Funktionen in der PID-Palette unterstützt…
- Wie schnell ist dein PWM? (Welche Grundfrequenz wird verwendet?)
- Hast du im System "PC mit LabVIEW" <-> SPS <-> PWM-Ausgabe noch irgendwelche spürbaren Latenzen bei der Datenübertragung? Das kommt dann noch auf die thermische Trägheit oben drauf und kann dein Regelverhalten (negativ) beeinflussen…
- Wenn der zweite PT100 eine zu hohe Temperatur meldet, sollte man evtl. mit einer Hysterese arbeiten, bevor man die Heizung wieder zuschaltet…

Beispiel mit Vorsteuerung ("Bias"), Gainscheduling ("PID GAIN") und ein paar zusätzlichen Gimmicks, aber hier ohne PWM-Generierung:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.08.2021, 08:32
Beitrag #3

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: PID-PWM-Temperatur-Regler
Zitat:PID-Regler sind vorrangig für lineare Regelstrecken gemacht

Für nicht-lineare Systeme benutze ich gern Fuzzy-Regler. Die VI's und den Fuzzy System Designer gibt's auch im LabVIEW.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Temperatur auslesen taylula 3 3.891 06.06.2018 16:15
Letzter Beitrag: Lucki
  Temperatur nach Farbe dali4u 2 3.580 11.03.2015 22:41
Letzter Beitrag: teegee
  PID Regler belu003 14 25.733 12.01.2015 14:41
Letzter Beitrag: se
  Farbenänderung je nach Temperatur stoi 1 3.510 30.05.2013 16:07
Letzter Beitrag: GerdW
  PID Temperatur.vi erzengelsamael 1 3.723 24.10.2012 11:42
Letzter Beitrag: GerdW
  PID-Regler itsme87 12 21.161 05.10.2011 11:50
Letzter Beitrag: itsme87

Gehe zu: