Template for group 4

Dependencies:   mbed

Fork of RT2_P3_students by RT2_P3_students

Committer:
altb
Date:
Fri Apr 27 06:34:29 2018 +0000
Revision:
10:85840c065e00
Parent:
6:8ed679044a72
group 4, 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 1:a30512c3ac73 1 #ifndef PI_CNTRL_H_
altb 1:a30512c3ac73 2 #define PI_CNTRL_H_
altb 1:a30512c3ac73 3
altb 1:a30512c3ac73 4
altb 6:8ed679044a72 5 class PI_Cntrl
altb 6:8ed679044a72 6 {
altb 6:8ed679044a72 7 public:
altb 0:78ca29b4c49e 8
altb 6:8ed679044a72 9 PI_Cntrl(float Kp, float Tn, float Ts);
altb 6:8ed679044a72 10 PI_Cntrl(float Kp, float Tn, float Ts, float uMax);
altb 6:8ed679044a72 11 PI_Cntrl(float Kp, float Tn, float Ts, float uMax, float uMin);
altb 0:78ca29b4c49e 12
altb 6:8ed679044a72 13 float operator()(float error) {
altb 6:8ed679044a72 14 return doStep((double)error);
altb 6:8ed679044a72 15 }
altb 6:8ed679044a72 16
altb 6:8ed679044a72 17 virtual ~PI_Cntrl();
altb 0:78ca29b4c49e 18
altb 6:8ed679044a72 19 void reset(float initValue);
altb 6:8ed679044a72 20 float doStep(double error);
altb 6:8ed679044a72 21
altb 6:8ed679044a72 22 private:
altb 6:8ed679044a72 23
altb 6:8ed679044a72 24 double b0;
altb 6:8ed679044a72 25 double b1;
altb 6:8ed679044a72 26 double b2;
altb 6:8ed679044a72 27 double s;
altb 6:8ed679044a72 28 double uMax;
altb 6:8ed679044a72 29 double uMin;
altb 0:78ca29b4c49e 30
altb 6:8ed679044a72 31 void setCoefficients(float Kp, float Tn, float Ts);
altb 6:8ed679044a72 32
altb 6:8ed679044a72 33 };
altb 1:a30512c3ac73 34
altb 1:a30512c3ac73 35
altb 1:a30512c3ac73 36 #endif // PI_CNTRL_H_