Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » PID Regler ..Regelungstechniker/Freak hier? » Themenansicht

Autor Thread - Seiten: -1-
000
03.04.2016, 21:26 Uhr
holm

Avatar von holm

...ich bastele gerade an meinem Heißluftlötgerät :-)

Das Ding hat jetzt einen Atmega88 der die Luftpumpe mit Phasenanschnitt steuert und die Heizung
mit PWM und PID regelt..

Ich habe da ein paar Fragen zur Optimierung, D kann ich wahrscheinlich auf 0 drehen (nur PI) da die Heizung so träge ist das das mehr oder weniger keinen Effekt hat.

Die Reglergleichung ist y = (Kp*e)+(I*Ta*esum)+(D*((e-ealt))/Ta)
Wobei Kp die Verstärkung, e der Fehler, I der Integratoranteil, Ta die Abtastrate, esum der aufsummierte Fehler und D halt gerade 0 ist.

Die Heizung ist ja recht träge und so habe ich derzeit deutliche Überschwinger beim hoch heizen,
ich bin gerade dabei die Verstärkung Kp so weit herunter zu nehmen das die Stellgröße y beim zu erwartenden größten Fehler direkt nach dem Einschalten gerade voll ausgesteuert wird und versuche
dann mit dem I Anteil zu spielen..

Hat da Jemand Hinweise?

Wahrscheinlich werde ich um try and Error nicht herum kommen, die Parameter der zu regelnden Strecke sind ja unbekannt.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 03.04.2016 um 22:08 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
03.04.2016, 21:47 Uhr
Mario Blunk

Avatar von Mario Blunk

Eine reizvolle Aufgabe. Hab mich mit Regelungstechnik seit Jahren nicht mehr beschäftigt, wollte aber schon immer ernsthaft deren Geheimnisse verstehen.
Vielleicht liege ich völlig daneben: Ich denke, der D-Faktor ist wichtig, um beim Hochheizen ordentlich Energie in den Heizer zu schicken, um das träge Zielsystem in Gang zu bringen. Was ist "ealt" ?
--
Mein Chef ist ein jüdischer Zimmermann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
03.04.2016, 22:08 Uhr
holm

Avatar von holm

ealt ist der Fehler der vorherigen Rechnung, damit weißt Du auch das sich das nach 300ms (meine Abtastrate) mit dem D erledigt hat. Das ist gut wenn man eine schnelle Sprungantwort auf die Führungsgröße braucht, also einem Motor der nachgeführt wird einem Impuls verpassen will..bei einer Heizung hat das fast keinen Einfluß, weil e-ealt halt nicht mehr groß ist bei der nächsten Abtastung,
der Absolutwert beider springt schon, aber nicht die Differenz.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 03.04.2016 um 22:09 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
03.04.2016, 22:11 Uhr
Heiko_P



Ich krame mal in alten Wissensbeständen ...

Der Integralanteil I beeinflusst die Änderungsgeschwindigkeit der Stellgröße (Heizleistung), je größer I desto langsamer ändert sich die Heizleistung - und erzeugt ein noch stärkeres Überschwingen als durch die Trägheit des Systems allein schon da ist. Der Differentialanteil D soll beim Hochheizen die Heizleistung schon rechtzeitig vor Erreichen des Sollwertes drosseln, um ein Überschwingen zu vermeiden. Genauso soll bei einer Abweichung vom Sollwert die Änderung der Heizleistung stärker sein als allein durch die Regelverstärkung P eingestellt ist, um die Trägheit des Systems etwas auszugleichen. Beides muss natürlich aufeinander abgestimmt sein. Ist D zu groß dann schwingt die Regelung selbst, ist I zu groß oder D zu klein dann gibt es Überschwinger beim Ausregeln. Genau berechnen lässt sich das nur schwer wenn die Werte der Regelstrecke nicht bekannt sind. Da hilft nur probieren.

Gruß
Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
03.04.2016, 22:34 Uhr
Greon



Hallo Holm,
auf die Schnelle fallen mir dazu folgende Faustformeln ein.
Ich denke das sollte für Dein Problem ausreichend sein.

Gruß Olaf

Dieser Beitrag wurde am 03.04.2016 um 22:41 Uhr von Greon editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek