Regler einstellen f. Temperaturregelung

Gast #320463
Lesenswert?

Hallo zusammen!!

Habe einen mega8, mein Programm läuft auch prima soweit, es soll jedoch
eine Temperaturregelung implementiert werden.
Diese soll wie folgt ablaufen:

Einlesen des Sollwertes (Poti am ADC)
Einlesen des Istwertes ( Temp.-Fühler am ADC)
Regelung (PI-Regler)

Stellgröße = PWM-Signal für Lüfter

Im Prinzip läuft die Regelung auch, hier mal der Code-Auszug:

W = Getadc(2)

Kp = 18
Ki = 60
Ta = 0.01
X = Getadc(0)
E = W - X
'Vergleich
 Esum = Esum + E
'Integration I-Anteil
 If Esum < -400 Then
 Esum = -400
 End If
'Begrenzung I -anteil
 If Esum > 400 Then
 Esum = 400
 End If
 Y = Kp * E
 Z = 0.6 * Esum
 Y = Y + Z


'Reglergleichung
 If Y < 0 Then
 Y = 0
'Begrenzung Stellgröße
 End If
 If Y > 750 Then
 Y = 750
 End If

 Pwm1a = Y



So, Problem ist nun: das ganze läuft irgendwie nicht, der Lüfter müsste
ja bei Y = 750 sehr langsam laufen (macht er auch wenn ich es
"manuell" vorgebe z.B.), bei Y = 0 auf "volle Pulle", aber das will
irgendwie nicht so ganz?!?!

Wo liegt der Fehler?

Danke schonmal für eure Hilfe!!
Gast #320464
Lesenswert?

Was läuft den nicht so ganz?
Bitte nähere Angaben.
Die Werte für kp und ki sind sehr kritisch und müssen ziemlich genau
passen, damit der Regler gut regelt und nicht schwingt.

evtl. musst Du noch umrechnen, dass der Lüfter bei 750 max läuft und
bei 0 aus ist:
Pwm1a = 750 - Y

oder geht PWM überhaupt nicht, auch mit manuellen Eingaben?
Gast #320466
Lesenswert?

Also, ich habe es wie gesagt vom Roboternetz, habe jetzt mal ein wenig
mit den Werten für Kp und Ki "rumgespiel", jetzt läuft es WESENTLICH
besser!!

PWM an sich funktioniert, das hatte ich glaube ich auch erwähnt!

Habe auch vorher die beiden Werte angeglichen, so dass beide eine
Temperatur in °C widerspiegeln!

Ich danke euch trotzdem für eure Hilfe, werde also noch ein wenig mit
den Konstanten "experimentieren", und dann sehen wie's läuft!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren