.

Fork of Cntrlol_Lib by Ruprecht Altenburger

Committer:
altb
Date:
Fri Sep 28 08:34:20 2018 +0000
Revision:
0:e2a7d7f91e49
Child:
1:bf62e74fbcf3
ContrLib with PI, PID and Filters

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 0:e2a7d7f91e49 1 class PI_Cntrl
altb 0:e2a7d7f91e49 2 {
altb 0:e2a7d7f91e49 3 public:
altb 0:e2a7d7f91e49 4
altb 0:e2a7d7f91e49 5 PI_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMax, float uMin);
altb 0:e2a7d7f91e49 6
altb 0:e2a7d7f91e49 7 float operator()(float error) {
altb 0:e2a7d7f91e49 8 return doStep((double)error);
altb 0:e2a7d7f91e49 9 }
altb 0:e2a7d7f91e49 10
altb 0:e2a7d7f91e49 11 virtual ~PID_Cntrl();
altb 0:e2a7d7f91e49 12
altb 0:e2a7d7f91e49 13 void reset(float initValue);
altb 0:e2a7d7f91e49 14 float doStep(double error);
altb 0:e2a7d7f91e49 15
altb 0:e2a7d7f91e49 16 private:
altb 0:e2a7d7f91e49 17
altb 0:e2a7d7f91e49 18 double Iold;
altb 0:e2a7d7f91e49 19 double uk,yk;
altb 0:e2a7d7f91e49 20 double uMax;
altb 0:e2a7d7f91e49 21 double uMin;
altb 0:e2a7d7f91e49 22 double Ts;
altb 0:e2a7d7f91e49 23 void setCoefficients(float D, float tau_f, float Ts);
altb 0:e2a7d7f91e49 24
altb 0:e2a7d7f91e49 25 };