
TEB programma
Dependencies: mbed QEI HIDScope biquadFilter MODSERIAL FastPWM
Diff: controller.cpp
- Revision:
- 29:8d588d554779
- Parent:
- 24:d0ca537913c2
--- a/controller.cpp Wed Oct 09 13:20:19 2019 +0000 +++ b/controller.cpp Wed Oct 09 13:40:08 2019 +0000 @@ -1,23 +1,22 @@ //Gains -double e = 1.02; -double Ts = 0.92; +extern float Ts; + + //static double u_i = 0; + static float e_Prev = 0; - double K_p = 1;//Position gain - double K_i = 1;//Integral gain - double K_d = 1;//Diverentiation gain +float ControllerPID(float e, float Ts) +{ + float K_p; + float K_i; + float K_d; - //static double u_i = 0; - static double e_Prev = 0; - -double ControllerPID(double e, double Ts) -{ - double u_p = K_p*e; //Position action - double u_i = K_i*(e*Ts+u_i); //Integral action - double u_d = K_d*((e-e_Prev)/Ts); //Diverential action + float u_p = K_p*e; //Position action + float u_i = K_i*(e*Ts+u_i); //Integral action + float u_d = K_d*((e-e_Prev)/Ts); //Diverential action e_Prev = e; //Write error to previous error - double u; + float u; u = u_p + u_i + u_d;