Control Library by altb

Dependents:   My_Libraries IndNav_QK3_T265

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers PID_Cntrl.h Source File

PID_Cntrl.h

00001 #ifndef PID_CNTRL_H_
00002 #define PID_CNTRL_H_
00003 
00004 class PID_Cntrl
00005 {
00006 public:
00007 
00008     PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax);
00009     PID_Cntrl(){};
00010 
00011     float operator()(float error) {
00012         return doStep(error);
00013     }
00014     float operator()(float error,float y) {
00015         return doStep(error,y);
00016     }
00017 
00018     virtual     ~PID_Cntrl();
00019 
00020     void        reset(float initValue);
00021     float       doStep(float error);
00022     float       doStep(float error,float y);
00023     void        set_limits(float ,float );
00024     float       get_ulimit(void);
00025     float       get_P_gain(void);
00026     void        setCoeff_P(float);
00027     void        setCoeff_I(float);
00028     void        setCoeff_D(float);
00029     void        scale_PID_param(float);
00030     void setCoefficients(float P, float I, float D, float tau_f, float Ts);
00031     void setCoefficients(float P, float I, float D, float tau_f, float Ts,float uMin, float uMax);
00032     
00033 private:
00034 
00035     float Iold;
00036     float eold,yold,del,Dpart_old;
00037     float uMax;
00038     float uMin;
00039     float Ts,tau_f;
00040     float P,I,D_;
00041     float P_init, I_init, D__init;
00042     float p, Ka;
00043 
00044 };
00045 
00046 #endif      // #PID_CNTRL_H