2nd Library

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 
00010     float operator()(float error) {
00011         return doStep((double)error);
00012     }
00013 
00014     virtual     ~PID_Cntrl();
00015 
00016     void        reset(float initValue);
00017     float       doStep(double error);
00018     void        set_limits(double ,double );
00019     float       get_ulimit(void);
00020     
00021 private:
00022 
00023     double Iold;
00024     double eold,yold,del;
00025     double uMax;
00026     double uMin;
00027     double Ts;
00028     double P,I,D;
00029     double p, Ka;
00030     void setCoefficients(float P, float I, float D, float tau_f, float Ts);
00031 
00032 };
00033 
00034 #endif