kramann.info
© Guido Kramann

Login: Passwort:










Regelungssysteme
1 day_by_day
2 Heizregelkreis
3 Verzoegerungsglieder
4 Laplace
..4.1 Eigenwerte
..4.2 PT1
..4.3 PRegler
..4.4 Scilab
5 Regleroptimierung
..5.1 Guetefunktion
..5.2 Heuristiken
..5.3 Scilab
..5.4 Gradientenverfahren
..5.5 ModifizierteG
..5.6 Gleichstrommotor
..5.7 Stoerverhalten
6 Javaanwendung
..6.1 PIDgeregelterAntrieb
..6.2 RungeKuttaIntegrator
..6.3 Gradientenverfahren
7 Einstellregeln
..7.1 Totzeit
..7.2 Methode1
..7.3 Methode2
..7.4 Scilab
..7.5 Daempfungsgrad
..7.6 Uebung
8 Polvorgabe
9 Beobachter
10 AutonomerHackenprosche
..10.1 Herleitung
..10.2 Scilab
..10.3 Modellerweiterung
..10.4 Scilab
..10.5 Modellgueltigkeit
..10.6 java
11 Stabilitaet
..11.1 Beispiele
..11.2 Nyqusitkriterium
..11.3 Windup
..11.4 Bode
12 Adaptiv
..12.1 Definition
..12.2 Einachser
..12.3 Auswertung
..12.4 Identifikation
..12.5 Regleroptimierung
..12.6 Zustandsregler
..12.7 Beobachter
13 Analyse
..13.1 Linear
..13.2 Nichtlinear
14 Kalmanfilter
15 Ue_04_2014
..15.1 Geschwindigkeit
..15.2 Richtung
..15.3 Gesamtsystem
..15.4 RiccatiUSW
..15.5 TdOT
16 Inverses_Pendel
17 Einachser
..17.1 Mechanik
..17.2 Uebung8
18 Fuzzy
..18.1 Fuzzylogik
..18.2 FuzzyRegler
..18.3 Uebung9
..18.5 Softwareentwicklung
....18.5.1 AgileSoftwareentwicklung
....18.5.2 FuzzyRegler
....18.5.3 Uebung
..18.6 Umsetzung
....18.6.1 FuzzyRegler
....18.6.2 Simulation
....18.6.3 Optimierung
....18.6.4 Uebung
..18.7 Haengependel
....18.7.1 Haengependel
....18.7.2 Simulation
....18.7.3 FuzzyRegler
....18.7.4 Optimierer
....18.7.5 Genetisch
..18.8 Information
..18.9 Energie
21 Beispiel1
98 day_by_day_WS2021_SoSe21
99 day_by_day_SoSe2018
kramann.info
© Guido Kramann

Login: Passwort:




Entwurf eines Zustandsreglers auf der Grundlage des identifizierten Systems

(EN google-translate)

(PL google-translate)

Prinzip des Zustandsreglers.

Bild 0-1: Prinzip des Zustandsreglers.

005_zustandsregler.zip - Scilab-Skripte zu nachfolgender Darstellung.

$ \dot \vec y = A \cdot \vec y - B \cdot R \cdot \vec y $

Formel 0-1: Allgemeine Form eines Zus \tan dsreglers.


RR = zeros(1,4);

Agii=[ 0,  1, 0,    0;
       0,  0, 1,    0;
       0,  0, 0,    1;
       0,  0,-pc/pa,-pb/pa];


Code 0-1: Bgii=[0;0;0;1/pa];

Um Integralanteil zu φ erweitertes Zustandsmodell. u_begrenzt_aktuell wird im Simulationsprogramm aus einem numerisch bestimmten aktuellen Zustand als -R*y berechnet. function f = modell(t,yy) f = Agii*yy+Bgii*u_begrenzt_aktuell; endfunction einachsermodell.sce - Um Integralanteil zu φ erweitertes Zustandsmodell.

function ygir_sim=simulation(x,y0,t)
    RR = [x(1),x(2),x(3),x(4)];

    zs=size(t);
    z=zs(2);

    t0 = 0;

    yalt = y0;
    ygir_sim = yalt

    u_begrenzt_aktuell = 0;
    u_merk = [0];

    index_umerk = 1;

    //Für die numerische Bestimmung der Zustandsgrößen
    phi       = y0(1);
    phi_alt   = y0(1);
    phi_integ = 0.0;    
    omega         = 0.0;
    omega_alt     = 0.0;

    for i=1:1:z-1
        takt = t(i);

        //Der nachfolgende Bereich könnte in dieser in einem Mikrocontroller realisiert werden:
        //**************************************
        //******* STELLGRÖSSE BESTIMMEN ********
        phi_alt = phi;
        omega_alt = omega;

//        phi = yalt(1) + grand(1, 1, "nor", MITTELWERT, STREUUNG);
        phi = yalt(1);
        phi_integ = phi_integ + phi*dt;    
        omega = (phi - phi_alt)/dt;
        alfa  = (omega - omega_alt)/dt;

        //Numerisch rekonstruierter Zustand:
        ynum = [phi_integ;phi;omega;alfa];

        //Zeitschritt durchführen:
        yneu=ruku(yalt,takt,dt);
        ygir_sim=[ygir_sim,yneu];

        yalt=yneu;

        //Erst danach das Stellsignal aktualisieren:

        u_begrenzt_aktuell = -RR*ynum;
        if u_begrenzt_aktuell>480 then
            u_begrenzt_aktuell=480;
        end

        if u_begrenzt_aktuell<-480 then
            u_begrenzt_aktuell=-480;
        end

        //**************************************
        //****** ENDE STELLGRÖSSE BESTIMMEN ****

    end
endfunction

Code 0-2: simulation.sce - Rekonstruktion des aktuellen Zustands und Bilden der Stellgröße unter Verwendung der Regelmatrix.

Simulation mit optimierter Regelmatrix R.

Bild 0-2: Simulation mit optimierter Regelmatrix R.

RR = [  28.33612    695.28647    3200.6461    12.687827  ]   (mit leichtem Rauschen, s=0.0001)
RR = [   1.2629642  417.84224    7470.5486     0.3518931 ]   (ohne Rauschen)

Code 0-3: Varianten für die optimierte Regelmatrix R.

Variante unter Verzicht des Integrationsanteils

006_zustandsregler2.zip - Skripte zu nachfolgender Darstellung.
RR = zeros(1,4);

Agii=[ 
         0, 1,    0;
         0, 0,    1;
         0,-pc/pa,-pb/pa];

Bgii=[0;0;1/pa];

function f = modell(t,yy)
    f = Agii*yy+Bgii*u_begrenzt_aktuell; 
endfunction

Code 0-4: einachsermodell.sce - Zustandsgeregeltes Einachsermodell ohne Integralbildung von φ.

Ergebnis mit optimiertem R für ursprüngliche Systemmatrix ohne Integralanteil. φ wurde mit Ruaschen überlagert.

Bild 0-3: Ergebnis mit optimiertem R für ursprüngliche Systemmatrix ohne Integralanteil. φ wurde mit Ruaschen überlagert.