2nd Library

Committer:
altb2
Date:
Tue Apr 27 07:49:53 2021 +0000
Revision:
4:db615f5fa407
Parent:
1:b54eb3e24d2d
.

Who changed what in which revision?

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