![]() |
Kleine Verständnisfrage zu PID-Reglern
Hallöchen allerseits :-D
Ich bin gerade an einem neuen Projekt dran, in dessen "Lastenheft" eine PID-Regelung gefordert ist. Da ich mich noch nie mit so etwas beschäftigt habe, bin ich seit einigen Tagen erst einmal am Lesen und Probieren - so langsam blicke ich ja auch durch *stolz* :P So, nun zur Frage: Die Regeländerung des D-Glieds wirkt sich ja nur von einem Zyklus zum nächsten aus. Das heißt also, wenn das zu regelnde System und/oder der Aktor träge sind, dann ist der nur kurzlebige D-Anteil praktisch vernachlässigbar und ich habe nur einen PI-Regler. Oder? :stupid: |
AW: Kleine Verständnisfrage zu PID-Reglern
Nein, der D-Teil ist nicht nur einen Zyklus aktiv.
In der Definition ( so wie ich sie gelernt habe vor 40 Jahren ) ist die D-Zeit die Zeit, die der D-Anteil braucht, um auf den Wert zu fallen, den der P-Anteil hat. Ich kann morgen mal kucken, ich hab da mal einen programmiert, bin mir aber nicht sicher, ob ich den noch finde |
AW: Kleine Verständnisfrage zu PID-Reglern
Zitat:
|
AW: Kleine Verständnisfrage zu PID-Reglern
Hach, dieser D-Anteil macht mich noch verrückt :? Ich werde mal etwas konkreter:
In meinem aktuellen Testaufbau versuche ich einfach mal eine Temperatur zu regeln. Zum heizen nutze ich einen Widerstand, der direkt auf dem Temperaturfühler liegt. Ein Lüfter sorgt zudem für etwas schnellere Abkühlung, außerdem kann ich damit sehr einfach Änderungen oder Störungen simulieren. Meine Regelfunktion rufe ich nun jede Sekunde auf. Es ist nun so, dass die Temperatur direkt nach dem einschalten des Widerstands viele Sekunden braucht, um 1°C zu steigen. Wenn ich nun von der aktuellen Temperatur genau 1°C steigen möchte, existiert der D-Anteil ja aber nur in der ersten Sekunde. Irgendwie wie ein Tropfen auf den heißen Stein. :gruebel: |
AW: Kleine Verständnisfrage zu PID-Reglern
Soweit ich mich erinnere :
Code:
Der Faktor hängt von Tv und dem Kp ab und ist immer größer 1 ( Ich benutze eigentlich meistens Xw )
Zyklus 0 : D := 0; XAlt := X;
Zyklus 1 : D := D / Faktor + (XAlt - X); XAlt := X; Zyklus 2 : D := D / Faktor + (XAlt - X); XAlt := X; Zyklus 3 : D := D / Faktor + (XAlt - X); XAlt := X; usw. Anstelle von X kann man auch Xw nehmen ( Ist bei den Reglern, die ich kenne, einstellbar ) Vielleicht hilft dir die ![]() Dazu müssen natürlich die Parameter ( Kp, Tn, Tv ) zur Regelstrecke passen. Die Einstellung ist alles andere als trivial. Ich kenne Leute, die machen das aus dem Handgelenk, andere haben einfach das Gespür, und der Rest scheitert wahrscheinlich. |
AW: Kleine Verständnisfrage zu PID-Reglern
Wer hier denkt, dass ein PID-Regler nur in Software realisiert werden kann, liegt falsch!
PID-Regler gibt es schon sehr lange - da wussten viele noch nicht, was ein Computer ist. PID-Regler wurden früher in diskreter Hardware realisiert mit vielen ICs und Transistoren, um z.B. eine Metallkugel oder etwas anderes unterhalb eines Elektromagneten schweben zu lassen. Da war keine Zeile Software im Spiel. |
AW: Kleine Verständnisfrage zu PID-Reglern
Zitat:
Hier geht es darum, wie macht man das in Software |
AW: Kleine Verständnisfrage zu PID-Reglern
Zitat:
|
AW: Kleine Verständnisfrage zu PID-Reglern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alle miteinander...
vieleicht hilft angehängtes PDF die Berechnungen zu verstehen... PS: alles läßt sich auch mit einer Software berechnen. :zwinker: |
AW: Kleine Verständnisfrage zu PID-Reglern
Zitat:
Nur weil mein Thread nach Deinem folgt, musst Du Dich nicht angegriffen fühlen - HAT MIT DIR NICHTS ZU TUN !!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz