PID tuning question for throttle actuator
PID tuning question for throttle actuator
(OP)
I have a DC motor attached to the throttle of a continuously variable transmission fed by an engine that always runs at the same speed.
I measure the output speed and compare to the set speed. I use the difference as the error in a PID system that has an output of the PWM duty cycle going to the motor.
I have the system running fairly well but I find that I'm always below my setpoint because the throttle has a very light return-to-zero springiness to it.
How can I adjust my PID controller to account for this spring return? I would suspect that an increase "I" should do it.
Second question:
There is a bad hysteresis in this system. It seems that the amount of throttle required to get the machine to begin moving is high enough to get it to overshoot my setpoint horribly. This often causes wild fluctuations where this overshoot starts causing oscillation.
A high "I" value (the possible solution to the above problem) is going to make this problem even worse. As i ramp up the PID to get the machine to start it will be building up a large "I" and will continue to increase the throttle even as it is passing the setpoint!
Thanks,
Matt
I measure the output speed and compare to the set speed. I use the difference as the error in a PID system that has an output of the PWM duty cycle going to the motor.
I have the system running fairly well but I find that I'm always below my setpoint because the throttle has a very light return-to-zero springiness to it.
How can I adjust my PID controller to account for this spring return? I would suspect that an increase "I" should do it.
Second question:
There is a bad hysteresis in this system. It seems that the amount of throttle required to get the machine to begin moving is high enough to get it to overshoot my setpoint horribly. This often causes wild fluctuations where this overshoot starts causing oscillation.
A high "I" value (the possible solution to the above problem) is going to make this problem even worse. As i ramp up the PID to get the machine to start it will be building up a large "I" and will continue to increase the throttle even as it is passing the setpoint!
Thanks,
Matt





RE: PID tuning question for throttle actuator
This is not an elegant solution but you could try adding a mechanical viscous damper across the throttle return spring. The should 1) kill the oscillations from the throttle position sensor and 2) slow down the servo response enough to allow the integral term time to unwind to stop the overshoot.
RE: PID tuning question for throttle actuator
I actually have very fine control over the throttle position - if it does oscilate it is very small and settles in a fraction of a second.
I actually described my system incorrectly - the transmission output speed error is used to determine a change in throttle position, not PWM. The position is then fed into another PID that outputs PWM.
So the throttle is always going where I want it, but the machine response is to not move till the throttle position is way too high, then "I" takes over and it continues to overshoot, then oscillate horribly.
Would a "D" term, properly tuned, cause the controller to back off when the machine's speed begins to rise? (unfortunately, i don't get my hands on this machine very often, i'm programming at my desk).
RE: PID tuning question for throttle actuator
RE: PID tuning question for throttle actuator
(I've been playing occasionally with PID for a couple years, but it is usually rather straight forward, not series-PID controllers with hysteresis)
Thanks for your help, sreid.
RE: PID tuning question for throttle actuator
For 1800 RPM nominal speed, the offset and proportional are set for 1854 RPM no load and 1800 RPM at full load.
No integral. No derivative. You may chose to use some integral for mission critical or slow changing applications.
First get the system working with just offset and proportional.
These settings work well for millions of gen sets.
Bill
--------------------
"Why not the best?"
Jimmy Carter
RE: PID tuning question for throttle actuator
Why is it necessary for the second PID - the throttle position / PWM loop? Does the throttle position simply need translated to PWM output, or am I missing something?
RE: PID tuning question for throttle actuator
The system speed changes very slowly, so it has its own PID that takes in speed and puts out throttle position.
RE: PID tuning question for throttle actuator
Bill
--------------------
"Why not the best?"
Jimmy Carter
RE: PID tuning question for throttle actuator
RE: PID tuning question for throttle actuator
So you get really fast, simple control, but it never actually reaches the setpoint...
Enter the offset. You essentially lie about where the setpoint is. You artificially add to the setpoint so right when the authority runs out the output is at the originally desired setpoint. It's simple and generally effective.
You setup up the P control to be snappy and stable while not actually caring about where it lands. Once it's working well you add an offset to the desired setpoint that lifts the output speed to your actual desired value.
Keith Cress
kcress - http://www.flaminsystems.com
RE: PID tuning question for throttle actuator
Thanks for all of your help, everybody.
RE: PID tuning question for throttle actuator
Keith Cress
kcress - http://www.flaminsystems.com
RE: PID tuning question for throttle actuator
RE: PID tuning question for throttle actuator
Thanks
Bill
--------------------
"Why not the best?"
Jimmy Carter