What difference would the "D" term adjustment have?
It won't really reduce the overshoot, but it will make the system recover smootoher -- not "ring"
know of any similar implementations that I could use as an example
At that point you're into nonlinear systems (because the response of the "hump" is nonlinear) and the match is both scary and rather "ad hoc."
I'd suggest you have a bit of code after your PID controller that simply says this:
Code:
if ((actual_speed < SMALL_MINIMUM_SPEED) && (desired_speed > SMALL_MINIMUM_SPEED)) {
pwm_duty_cycle = max(CONSTANT, pwm_duty_cycle);
}
"CONSTANT" could be 100%, or perhaps as low as 30% if that's enough to get over the hump. As soon as the speed is actually bigger than the small-minimum-speed threshold, the "artificial boost" will go away.
Bookmarks