Hallo zusammen, ich programmiere ein PI regler. das algo läuft aber der Istwer wackelt immer. was kann das problem sein? liegt das an parameter oder woran? wenn jemand iene Idee hat bitte einfach geben es wird helfen. danke
D.h. das System schwingt? Schreib mal ganze Sätze, lies sie hinterher nochmal, und stell dir vor du wärst nicht du.
Das ist der Ausgang P3, direkt hinter R5, der hat einen Wackelkontakt. Kannst Du softwäremäßig auch duch 8fach untersampling beseitigen.
Laber keinen Unsinn. Ich habe gerade extra einen Hamster geopfert und die Eingeweide sagen eindeutig das es an der kalten Loetstelle am Eingang liegt! Olaf
Olaf schrieb: > Ich habe gerade extra einen Hamster geopfert und > die Eingeweide sagen eindeutig das es an der kalten Loetstelle am > Eingang liegt! Den schönen Hamster -umsonst- Am Eingang liegt doch (Sollwert - Istwert)!
drämö schrieb: hallo drämö > .h. das System schwingt? Schreib mal ganze Sätze, lies sie hinterher > > nochmal, und stell dir vor du wärst nicht du. das Problem ist klar. wie du meinst system das schwingt. Es geht um éine digitaler spannungsregler. das algorithmus von PI regler habe ich auch hier im Forum gefunden. das programm ist Timergesteuert und alle 100µs kommt das Interupt. pi_regler(soll, Ist){ error= ist - soll; esum +=e; if (esum < yMin/ ki*ta){ esum= yMin; } if(esum > yMax){ esum=yMax;} yp=kp*e; yi=ki*Ta*esum; y=yp +yi; if(y<yMin){ y=yMin;} if(y>yMax){ y=yMax;} return y; } ISR(){ alle 100µs ADC_Ready() Ausgang= pi pi_regler(); } der Soll ist konstant. der Istwert soll auf 24V geregelt werden. nur ih bekomme immer 24,2 oder 24, .... wie kann ich das Problm lösen? bitte un Idee danke
gertro schrieb: > das Problem ist klar. wie du meinst system das schwingt. Es geht um > éine digitaler spannungsregler. das algorithmus von PI regler habe ich > auch hier im Forum gefunden. Denn geh zu google und such weiter nach PI oder PID Reglern. Dann wirst du nämlich draufkommen, dass dieser Reglertyp einzig und alleine mit seinen Paramtern kp und ki steht und fällt. Über die wird die Regelcharakteristik eingestellt. Und du wirst bei google auch einige Seiten finden, dir dir Hilfestellung beim Finden der Regelparameter geben. Im Roboternetz (zu finden über google) gibt es da zb eine gute Einführung. > wie du meinst system das schwingt Na, schwingen eben. Die Ausgangsspannung ist zu gering, der Regler dreht den Ausgang mehr auf. Schiesst dabei aber über das Ziel hinaus, die Ausgangsspannung wird zu hoch. Also dreht er wieder zu. Allerdings dreht er zuviel zu, sodass er wieder am Anfangspunkt angelangt ist: die Ausgangsspannung ist zu gering. Woraufhin der Regler wieder aufmacht usw. usw. usw.
Das ist sicher nicht dein original Code... so kann dir doch kein Mensch helfen!!!!!
Habe zwar nur Halbwissen was Regler betrifft, aber ein PI-Regler liefert doch nie ein konstantes Ausgangssignal, oder liege ich falsch? Nach meinem Verständnis Schwankt der Ist-Wert immer um den Soll-Wert herum, wenn bei guter Dimensionierung auch nur gering.
Außerdem kann ein Regler alleine nicht existieren. Es gehört immer noch die Sache die geregelt werden soll dazu (Nennt sich Regelstrecke). Ohne die und ohne eine Rückkopplung in der Form (Sollwert - Istwert) hat man keine Regelung. Du redest davon das der Istwert pendelt (= schwingt) Der Istwert ist aber der Ausgangswert der Regelstrecke. An dem Ausgang des Reglers hast Du nur ein Stellwert. Was willst Du jetzt also genau??????
Karl heinz Buchegger schrieb danke für die Erklärungen > > Die Ausgangsspannung ist zu gering, der Regler dreht den Ausgang mehr > > auf. Schiesst dabei aber über das Ziel hinaus, die Ausgangsspannung wird > > zu hoch. Also dreht er wieder zu. Allerdings dreht er zuviel zu, sodass > > er wieder am Anfangspunkt angelangt ist: die Ausgangsspannung ist zu > > gering. Woraufhin der Regler wieder aufmacht usw. usw. usw. wenn ich Sie gut verstanden habe, muss ich meine Ausgangsspannung höhe machen. Im Prinzip kommt die Ausgangsspannung im Bereich 0 bis maxi 33V diese Spannung wird duch Wiederständ heruntergeteilt und und Am ADC(0..2,5V). Ich was kann in den Fall machen? was empfehlen Sie mir? ich google auch ein bisschen vielleicht finde ich auch was. sons danke nochmal
gertro schrieb: > wenn ich Sie gut verstanden habe, muss ich meine Ausgangsspannung höhe > machen. Nein. Du musst dein Kp und dein Ki an deine Regelstrecke anpassen! Ich hab dir doch schon gesagt wonach du googeln sollst und wo du fündig wirst.
@ gertro (Gast)
> Du musst dein Kp und dein Ki an deine Regelstrecke anpassen!
Und dazu am einfachsten ki erst mal 0 machen und kp langsam hochdrehen,
bis das Ding anfängt zu schwingen. Dann wieder etwas verringern und den
Rest dann über ki herausholen.
gertro, du hast wirklich unwahrscheinliches Glück, denn du bist bei
weitem nicht der Erste, der sowas macht. Und deshalb solltest du Karl
heinz Bucheggers Ratschläge mal befolgen...
BTW: error= ist - soll;
Welche Datentypen hast du da?
Poste doch mal deinen kompletten Code.
Und welche last hast du? 10kHz Interruptfrequenz kann schon zu wenig sein je nach dem.
Hauke Radtki schrieb: > 10kHz Interruptfrequenz kann schon zu wenig sein je nach dem. Oder zuviel, je nach Datentypen der Variablen und der Taktfrequenz...
Ohne alles gelesen zu haben - ein Kollege von mir hat mal einen Digitalen Regler programmiert, der sich während der Einstellzeit seine Parameter selbst sucht und sich dadurch optimiert...
Ein wenig D-Anteil wirkt manchmal Wunder...
> 10kHz Interruptfrequenz kann schon zu wenig sein je nach dem.
Ja, bei Zentrifugen zur Urananreicherung vielleicht.
> Digitalen Regler programmiert, der sich während der Einstellzeit seine > Parameter selbst sucht und sich dadurch optimiert... Das ist nicht ganz eindeutig - autotuning oder adaptiv? Die meisten Industrieregler haben mittlerweile einen Autotuner (hat sich ein Schwede Anfang 80er überlegt). Für gertros Problem gibt es zwei Mögliche Ursachen: Softwarefehler oder Parameter funktionieren nicht. Da die Stellgröße anscheinend gar nicht ausgewertet wird würde ich die Parameter erstmal hintenanstellen. Viel Glück dann noch..
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.