Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed QEI HIDScope biquadFilter MODSERIAL FastPWM
controller_copy.cpp@40:82addb417220, 2019-10-14 (annotated)
- Committer:
- JornD
- Date:
- Mon Oct 14 11:46:35 2019 +0000
- Revision:
- 40:82addb417220
Added some files and commented out Jordan's code;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JornD | 40:82addb417220 | 1 | //Gains |
JornD | 40:82addb417220 | 2 | double e = 1.02; |
JornD | 40:82addb417220 | 3 | double Ts = 0.92; |
JornD | 40:82addb417220 | 4 | |
JornD | 40:82addb417220 | 5 | double K_p = 1;//Position gain |
JornD | 40:82addb417220 | 6 | double K_i = 1;//Integral gain |
JornD | 40:82addb417220 | 7 | double K_d = 1;//Diverentiation gain |
JornD | 40:82addb417220 | 8 | |
JornD | 40:82addb417220 | 9 | //static double u_i = 0; |
JornD | 40:82addb417220 | 10 | static double e_Prev = 0; |
JornD | 40:82addb417220 | 11 | |
JornD | 40:82addb417220 | 12 | double ControllerPID(double e, double Ts) |
JornD | 40:82addb417220 | 13 | { |
JornD | 40:82addb417220 | 14 | double u_p = K_p*e; //Position action |
JornD | 40:82addb417220 | 15 | double u_i = K_i*(e*Ts+u_i); //Integral action |
JornD | 40:82addb417220 | 16 | double u_d = K_d*((e-e_Prev)/Ts); //Diverential action |
JornD | 40:82addb417220 | 17 | |
JornD | 40:82addb417220 | 18 | e_Prev = e; //Write error to previous error |
JornD | 40:82addb417220 | 19 | |
JornD | 40:82addb417220 | 20 | double u; |
JornD | 40:82addb417220 | 21 | |
JornD | 40:82addb417220 | 22 | u = u_p + u_i + u_d; |
JornD | 40:82addb417220 | 23 | |
JornD | 40:82addb417220 | 24 | return u; |
JornD | 40:82addb417220 | 25 | } |