Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Probleme mit PID Regler in BASIC++ Kategorie: Programmierung Basic (von ManfredW, Homepage - 2.08.2007 22:36)
 Als Antwort auf Probleme mit PID Regler in BASIC++ von Daniel - 31.07.2007 11:19
> Ich habe im Moment einfach eine P-Regler implementiert:
>
> FUNCTION P_REGULATION(Istwert AS BYTE, Sollwert AS BYTE)
>
>          Luefter_aktl = Luefter_aktl + Sollwert - Istwert        

Hallo,
diese Funktion ist ein I-Regler.
>
> Dieser regelt mir aber zu ungenau und schwankt recht stark. Wenn ein PID-Regler nicht möglich ist, würde mir auch ein PI-Regler reichen.

Ja, ein reiner I-Regler schwankt sehr stark, denn solange der Sollwert nicht erreicht ist, wird der Stellwert Luefter_aktl erhöht. Außerdem fehlt bei Deinem Programm ein Zeittakt, deshalb rast der Stellwert hoch und anschließend, wenn Istwert größer Sollwert, wieder runter.

Nur der P-Regler kommt ohne Zeittakt aus:
Luefter_aktl = (Sollwert - Istwert) * Verstärkung

Dabei bleibt eine Regelabweichung bestehen.
Die Ergänzung mit einem i-Anteil, damit die Regelabweichung beseitigt wird, findest Du auf meiner homepage. Auch Hinweis zum PID-Regler stehen dort.

MfG ManfredW          
.

Meine Homepage: http://manfred.wilzeck.de

 Antwort schreiben

Bisherige Antworten:

Re: Probleme mit PID Regler in BASIC++ (von Daniel - 3.08.2007 8:51)
    Re: Probleme mit PID Regler in BASIC++ (von ManfredW - 3.08.2007 10:03)
        Re: Probleme mit PID Regler in BASIC++ (von Daniel - 3.08.2007 13:59)
            Re: Probleme mit PID Regler in BASIC++ (von ManfredW - 3.08.2007 14:31)