2nd Library
Embed:
(wiki syntax)
Show/hide line numbers
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
Generated on Sun Aug 21 2022 12:52:06 by
1.7.2