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.
Revision 15:e9560502e463, committed 2018-12-17
- Comitter:
- LipSer
- Date:
- Mon Dec 17 20:15:19 2018 +0000
- Parent:
- 14:70fc660d4386
- Commit message:
- fin
Changed in this revision
speedlimiter.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 70fc660d4386 -r e9560502e463 speedlimiter.cpp --- a/speedlimiter.cpp Mon Dec 17 00:40:15 2018 +0000 +++ b/speedlimiter.cpp Mon Dec 17 20:15:19 2018 +0000 @@ -76,8 +76,8 @@ double out = 0.0; if (readAdcPedalHi() > 1) { - out = piControlFunction(Vd, Vm); -// out = ipControlFunction(Vd, Vm); +// out = piControlFunction(Vd, Vm); + out = ipControlFunction(Vd, Vm); // force to voltage conversion out = (out / 133240.0 * (PEDAL_HI_MAX_VALUE-PEDAL_HI_MIN_VALUE)) + PEDAL_HI_MIN_VALUE; @@ -89,8 +89,8 @@ } } else { const bool reset = true; - piControlFunction(0,reset); -// ipControlFunction(0,reset); +// piControlFunction(0,reset); + ipControlFunction(0,reset); first_acquisition = true; } @@ -115,15 +115,19 @@ const double var = readAdcTest(); // constants calibrated in vehicle - const double Kp = 20389 * var ; - const double Ki = 60188.0; + const double Kp = 13139; // * var ; + const double Ki = 6849; +// const double Kp = 8257; // * var ; +// const double Ki = 19713; +// const double Kp = 18000; // * var ; +// const double Ki = 4300.0; - pc->printf("Current Kp value: %f\n\r\n\r", Kp); + pc->printf("Kp: %f Ki: %f", Kp, Ki); // calculations double error = reference - measured; - const double eMax = 4; - if(error > eMax) error = eMax; // upper bound the error +// const double eMax = 4; +// if(error > eMax) error = eMax; // upper bound the error const double dt = TRANSFER_FUNCTION_PERIOD; ie = ie + error*dt; @@ -139,8 +143,10 @@ } // constants calibrated in vehicle - const double Kp = 18000 ; - const double Ki = 4300.0; + const double Kp = 6217; + const double Ki = 1.8142; + + pc->printf("Kp: %f Ki: %f", Kp, Ki); // calculations double errorI = reference - measured;