Regler von Kellep15

Dependencies:   mbed

PID_Cntrl.cpp

Committer:
pmic
Date:
2019-05-10
Revision:
1:92f175969d90
Parent:
0:05dd1de8cc3f
Child:
2:394782101261

File content as of revision 1:92f175969d90:

/*
    PID-T1 Controller class

                      1           s
      G(s) = Kp + Ki --- + Kd ---------
                      s       T_f*s + p

    Eigther reseting the Nucleo via the black button or save a new software on 
    the Nucleo sets the analog output to zero. Zero is equal to -4 Ampere!!!
    Therefor: NEVER !!! reset or save a new software while the VC is powered on
    (the green button on the VC is glowing green)                      

*/

#include "PID_Cntrl.h"
using namespace std;

PID_Cntrl::PID_Cntrl(float Kp, float Ki, float Kd, float Tf, float Ts, float uMin, float uMax)
{
    // link member variables
    // ???
    
    reset(0.0f);
}

PID_Cntrl::~PID_Cntrl() {}

void PID_Cntrl::reset(float initValue)
{

    // implement controller reset
    // ???

}

float PID_Cntrl::update(double e)
{

    // controller update function 
    
    // calculate uI
    // ???
    
    // saturate uI, uMin <= uI <= uMax (anti-windup for the integrator part)
    // ???

    // calculate uD
    // ???
    
    // calculate u
    // ???
    
    // saturate u, uMin <= u <= uMax
    // ???
    
    // update signal storage
    // ???

    return 0.0f;
}