Hi Folks, bevor ich den totalen Hirnkollaps bekomme, frage ich das Fachpublikum unter euch. Es geht um einen diskreten PID-Regelalgorithmus für einen DSP. Den rekursiven Rechenalgorithmus habe ich durch Anwendung der Z-Transformation aus der additiven Darstellung ausgerechnet. Ist ja soweit auch kein Problem: Additive Form im Zeitbereich: PID = KR * (1 + 1/TN*s + TV*s) Soweit klar - einfache Addition der drei Regelfaktoren! Jetzt ersetzte ich die Laplacevariable "s" mit "z" für das Integral und Differential (Rückwärtsdifferenz und Billineare Transformation) rechene alles aus. Habe dann 3 konstante Koeffizienten mit den Zeitkonstanten TN, TV und KR. b0=KR*[T/2*TN+TV/T+1] b1=KR*[T/2*TN-2*TV/T-1] b2=KR*TV/T Phänomen: Schalte ich Integral und Differential (TN -> inf. & TV ->0) aus, kann ich am Proportionalteil einstellen was ich will, die Sollwertabweichung wird nicht P-verstärkt. Ist auch klar, wenn ich mir die Koeffizienten anschaue. Ausgangspunkt war aber die additive Form des PID und da wird P durchgeschleift und nach der Transformation ist sie weg! Warum: Wo zum Kuckuk ist meine einfache Proportionalverstärkung geblieben? Warum ist die nicht mehr als separater Teil drin? Danke euch Alex P.S. Zweeehundert Puls hab ich, bald ;-)
Gegen zu hohen Blutdruck sollen angeblich lange Meditationen auf einesammen Berggipfeln helfen. :-) Ich hab zwar auch irgendwann mal Z-Transformiert, aber das ist schon aeh...watt laenger her. Mir stellen sich da mal ein paar Fragen. 1. Wieso glaubst du einfach Integral oder Differentialteil weglassen zu koennen? Das wuerde vorraussetzen das die Koeffizienten wirklich komplett je nach Anteil getrennt sind. Ich glaub das ist bei dir nicht der Fall. 2. Warum ueberhaubt der komplizierte Weg mit der Z-Transformation? Du kennst doch schon das Ergebniss naemlich den einfachen PID-Regler. Wobei bei letzerem aber etwas noch nicht in deiner Gleichung steht. Naemlich die Zeitkonstante deines Reglers. Es ist ja nicht egal und beeinflusst deine Koeffizienten stark, wie oft du wirklich diese Regelschleife durchlaeufst. Wenn du das so allgemein herleitest dann muesstest du irgendwie auch diese Zeitkonstante beruecksichtigen. 3. In der Praxis wird dein Problem sowieso darin bestehen die Koeffizienten des Reglers zu bestimmten. Das geht mit eine bisschen Rechnung, viel Erfahrung und etwas try&error. Ich glaub mit hoeherer Mathematik kommst man da normalweise nicht weiter weil du deine Regelstrecke nicht gut genug beschreiben kannst. Olaf
Lieber Himmel, ist das alles lange her ... (-: Aber Du hast doch noch b0 = KR und b1 = -KR. Wenn ich das richtig in Erinnerung habe, setzt Dir bei einem eingehenden Impuls von 1 das b0 einen Sprung auf KR und damit der beim nächsten Abtastpunkt wieder auf null geht, kommt nach einem Takt eben der -KR-Sprung, der den ersten wieder aufhebt. Also entweder das hat sich im Laufe der Jahrtausende in meiner Erinnerung vernebelt, oder Du hast vor lauter schwieriger Mathematik vergessen, was Du da eigentlich rechnest ... (-;
@Olaf zu 1. Ist klar, in den Koeffizienten sind die PID Anteile vermischt. Sie gewichten die Regeldifferenz zu den Abtastzeitpunkten Regelgröße=[b0*aktueller Wert(ek)] + [b1*letzter Wert(ek_1)] + [b2*vorletzter Wert(ek_2)]. Da meine Ausgangsform zur Berechnung aber die additive Form des PID-Reglers ist, dürfte nach der Transformation auch nichts anderes rauskommen als die PID Anteile, nur eben nun nach den Abtastzeitpunkten (ek,ek_1,ek_2) sortiert. zu 2. Zeitkonstante ist T Hab jetzt kurzerhand einen 0815-PID geschrieben, der alle Anteile separat berechnet und anschließend addiert. Nur sieht der halt für ne Diplomarbeit nicht gerade schick aus. Ist halt wirklich niedrigstes Numeriklevel. Er hat aber einen Vorteil: ***ER FUNKTIONIERT*** zu 3. ja try&error. Mein Mathebuch hole ich erst wieder zur Dokumentation raus. Mit Rechnung wird es hier sowieso etwas schwierig, da es ein zweistufiger PID-Kaskadenregler ist. @Philipp OK wo du recht hast, hast du recht. Habe meinen Fehler erkannt. Danke Alex
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.