.

Fork of Cntrlol_Lib by Ruprecht Altenburger

Committer:
altb
Date:
Fri Oct 26 12:40:51 2018 +0000
Revision:
8:32445aab4589
Parent:
0:e2a7d7f91e49
corrected bugs

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 Kp, float Tn, float Ts);
altb 0:e2a7d7f91e49 6 PI_Cntrl(float Kp, float Tn, float Ts, float uMax);
altb 0:e2a7d7f91e49 7 PI_Cntrl(float Kp, float Tn, float Ts, float uMax, float uMin);
altb 0:e2a7d7f91e49 8
altb 0:e2a7d7f91e49 9 float operator()(float error) {
altb 0:e2a7d7f91e49 10 return doStep((double)error);
altb 0:e2a7d7f91e49 11 }
altb 0:e2a7d7f91e49 12
altb 0:e2a7d7f91e49 13 virtual ~PI_Cntrl();
altb 0:e2a7d7f91e49 14
altb 0:e2a7d7f91e49 15 void reset(float initValue);
altb 0:e2a7d7f91e49 16 float doStep(double error);
altb 0:e2a7d7f91e49 17
altb 0:e2a7d7f91e49 18 private:
altb 0:e2a7d7f91e49 19
altb 0:e2a7d7f91e49 20 double b0;
altb 0:e2a7d7f91e49 21 double b1;
altb 0:e2a7d7f91e49 22 double b2;
altb 0:e2a7d7f91e49 23 double s;
altb 0:e2a7d7f91e49 24 double uMax;
altb 0:e2a7d7f91e49 25 double uMin;
altb 0:e2a7d7f91e49 26
altb 0:e2a7d7f91e49 27 void setCoefficients(float Kp, float Tn, float Ts);
altb 0:e2a7d7f91e49 28
altb 0:e2a7d7f91e49 29 };