PID-Praxis

bbking

Level-1
Beiträge
19
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe hier im Forum etliche Fragen zu PIDs gefunden (zB hier)und bin derzeit dabei bei einem Beckhoff KL2791 (Drehzahlsteller) den Funktionsbaustein FB_BasicPID anzuwenden.

Mein Problem ist, in der Theorie weiß ich, wie die Berechnung erfolgt, aber wie ich in der Praxis eine *wirklich* gute Eintellung des PIDs durchführe, weiß ich (noch) nicht und das möchte ich lernen.

Beim Aufbau habe ich einen Temperatursensor (an einem Netzteil eines Halogen-Spots), den ich einlesen kann und einen Sollwert, den ich nach belieben Ändern kann. Der Lüfter wirkt direkt auf den Temperatursensor/Netzteil, damit sollte eine wirkliche Regelung möglich sein - wobei der Lüfter nicht sehr effektiv ist, wenn der Spot in Betrieb ist.
Ein paar Kennwerte zum Aufbau:
Lüfter auf 100% für ca. 10 Minuten hat einen Temp.Abfall von 43 auf 33°C geschafft
Erwärmung:
in 20min +1,3°C, wenn Spot nicht in Betrieb
in 4min +6°C wenn Spot in Betrieb

Der Regler (wie in der Doku zu sehen) hat folgende Einstellmöglichkeiten:

Code:
fCtrlCycleTime     : LREAL; (* controller cycle time in seconds [s] *)     
fKp         : LREAL; (* proportional gain Kp (P) *)     
fTn         : LREAL; (* integral gain Tn (I) [s] *)     
fTv         : LREAL; (* derivative gain Tv (D-T1) [s] *)     
fTd         : LREAL; (* derivative damping time Td (D-T1) [s] *)

Wie gehe ich jetzt am besten die Einregulierung an? Ich habe mir den Wiki-Artikel zur Methode von Ziegler durchgelesen, aber ich scheitere bereits bei der Berechnung von Kpkrit bzw. sind bei meiner Regelstrecke die Werte von "statische Verstärkung Ks, die Zeitkonstante T sowie die Totzeit Tt " irgendwie bekannt bzw. wie bestimme ich diese?

Schönen Dank im Voraus!!
 
Hallo,


Ein paar Kennwerte zum Aufbau:
Lüfter auf 100% für ca. 10 Minuten hat einen Temp.Abfall von 43 auf 33°C geschafft
Erwärmung:
in 20min +1,3°C, wenn Spot nicht in Betrieb
in 4min +6°C wenn Spot in Betrieb

Der Regler (wie in der Doku zu sehen) hat folgende Einstellmöglichkeiten:

Code:
fCtrlCycleTime     : LREAL; (* controller cycle time in seconds [s] *)     
fKp         : LREAL; (* proportional gain Kp (P) *)     
fTn         : LREAL; (* integral gain Tn (I) [s] *)     
fTv         : LREAL; (* derivative gain Tv (D-T1) [s] *)     
fTd         : LREAL; (* derivative damping time Td (D-T1) [s] *)
Wie gehe ich jetzt am besten die Einregulierung an? Ich habe mir den Wiki-Artikel zur Methode von Ziegler durchgelesen, aber ich scheitere bereits bei der Berechnung von Kpkrit bzw. sind bei meiner Regelstrecke die Werte von "statische Verstärkung Ks, die Zeitkonstante T sowie die Totzeit Tt " irgendwie bekannt bzw. wie bestimme ich diese?

Schönen Dank im Voraus!!

Prinzipiell sind PID-Regler ok für lineare Regelstrecken, da es die in der Praxis kaum gibt geht man beim Reglerentwurf zumeist von einer in einem Arbeitspunkt/Arbeitsbereich linearisierten Strecke aus.
Auch Ziegler-Nichols gilt für lineare Regelstrecken - was hier nicht der Fall ist, wie man schön an den unterschiedlichen Zeiten für Aufheizen und Abkühlen sehen kann.

Spezielle Temperaturregler berücksichtigen das durch umschaltbare Parametersätze für Heizen/Kühlen, das wäre hier wahrscheinlich auch angebracht.

Zuerst aber gilt es Sprungantworten (http://de.wikipedia.org/wiki/Sprungantwort) zu ermitteln - daraus kann man dann die erforderlichen Parameter ablesen (Ks, T, Tt). Einen ersten Ansatz dazu hast Du ja schon?

Dann kannst Du Parametersätze für Heizen/Kühlen oder noch mehr Fälle bestimmen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antwort. Muss mir mal die Sachen zu Gemüte führen und versuchen, zu verdauen....

Komme leider erst am Fr. wieder dazu, dass ich etwas mache, aber ich werde mitteilen, wie weit ich gekommen bin... :)
 
Zurück
Oben