.

Fork of Cntrlol_Lib by Ruprecht Altenburger

Committer:
altb
Date:
Fri Sep 28 12:37:19 2018 +0000
Revision:
2:1f8ddc46c578
Parent:
1:bf62e74fbcf3
Child:
3:27b75e7dd54a
lauffaeiger, gepr?fter PID

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb 1:bf62e74fbcf3 1 class PID_Cntrl
altb 0:e2a7d7f91e49 2 {
altb 0:e2a7d7f91e49 3 public:
altb 0:e2a7d7f91e49 4
altb 2:1f8ddc46c578 5 PID_Cntrl(float P, float I, float D, float tau_f, float Ts, float uMin, float uMax);
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 1:bf62e74fbcf3 19 double eold,yold,del;
altb 0:e2a7d7f91e49 20 double uMax;
altb 0:e2a7d7f91e49 21 double uMin;
altb 0:e2a7d7f91e49 22 double Ts;
altb 1:bf62e74fbcf3 23 double P,I,D;
altb 2:1f8ddc46c578 24 double p, Ka;
altb 1:bf62e74fbcf3 25 void setCoefficients(float P, float I, float D, float tau_f, float Ts);
altb 0:e2a7d7f91e49 26
altb 0:e2a7d7f91e49 27 };