Control Library by altb

Dependents:   My_Libraries IndNav_QK3_T265

Committer:
altb
Date:
Mon Mar 04 11:26:47 2019 +0000
Revision:
1:1010530120ce
Parent:
0:d49418189c5c
Child:
2:e7c9e50a2e46
added #define

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 1:1010530120ce 1
altb 1:1010530120ce 2 #ifndef PID_CNTRL_H_
altb 1:1010530120ce 3 #define PID_CNTRL_H_
altb 1:1010530120ce 4
altb 0:d49418189c5c 5 class PID_Cntrl
altb 0:d49418189c5c 6 {
altb 0:d49418189c5c 7 public:
altb 0:d49418189c5c 8
altb 0:d49418189c5c 9 PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax);
altb 0:d49418189c5c 10
altb 0:d49418189c5c 11 float operator()(float error) {
altb 0:d49418189c5c 12 return doStep((double)error);
altb 0:d49418189c5c 13 }
altb 0:d49418189c5c 14
altb 0:d49418189c5c 15 virtual ~PID_Cntrl();
altb 0:d49418189c5c 16
altb 0:d49418189c5c 17 void reset(float initValue);
altb 0:d49418189c5c 18 float doStep(double error);
altb 0:d49418189c5c 19 void set_limits(double ,double );
altb 0:d49418189c5c 20 float get_ulimit(void);
altb 0:d49418189c5c 21
altb 0:d49418189c5c 22 private:
altb 0:d49418189c5c 23
altb 0:d49418189c5c 24 double Iold;
altb 0:d49418189c5c 25 double eold,yold,del;
altb 0:d49418189c5c 26 double uMax;
altb 0:d49418189c5c 27 double uMin;
altb 0:d49418189c5c 28 double Ts;
altb 0:d49418189c5c 29 double P,I,D;
altb 0:d49418189c5c 30 double p, Ka;
altb 0:d49418189c5c 31 void setCoefficients(float P, float I, float D, float tau_f, float Ts);
altb 0:d49418189c5c 32
altb 1:1010530120ce 33 };
altb 1:1010530120ce 34
altb 1:1010530120ce 35 #endif // #PID_CNTRL_H