[DPRG] PID Loop Question
Subject: [DPRG] PID Loop Question
From: Stuart Stegall
keltor at keltor.org
Date: Mon Feb 22 15:48:41 CST 2010
On Mon, Feb 22, 2010 at 2:16 PM, Ed Paradis <legomaniac at gmail.com> wrote:
> To take the filter idea a bit further, here is Yet Another Explanation:
>
> Your input signal is the error, which is a positive or negative value
> measuring the difference between where you want to be and where you
> are.
>
> The P term is just "Gain". You multiply the error by a constant.
>
> The I term is like a Low Pass Filter. It will tend pass correction
> that values that are long term and "slow" or "low in frequency".
>
> The D term is like a High Pass Filter. It will cause corrections
> based on quick changes, short term, "fast" or "high in frequency".
>
> You add all the three correction terms together, some will be positive
> and some will be negative. You'll end up with a single number that is
> your correction factor.
>
> Don't try to take this analogy too far, it sort of breaks down. But
> its a quick way to figure out how to change the P I and D constants to
> get a desired effect.
>
> Is your robot not making much correction? Does it need more OOMPH to
> get it to correct its error? Increase the P. Increase the Gain.
>
> Is your robot slowly drifting off course? Does the error keep getting
> bigger and bigger? It needs more "slow correction." Increase the I
> term.
>
> Is your robot correcting OK, but it takes too long? Increase the D
> term. Increase the high frequency response.
>
> The easy method I use to tune a PID follows these guidelines:
> 1. Start out with all your constants at a minimum. For some setups,
> this is 0. For mine, it is 1.0.
> 2. Increase just the P term until you start to see over correction.
> It will be right when the robot starts to oscillate back and forth
> after reaching the desired point. It will have just a bit of an over
> shoot.
> 3. Increase the I term decrease the oscillation to you get no
> overshoot or maybe one "swing", if that is OK for your application.
> 4. At this point, it'll probably be too slow reaching the desired
> goal. Increase D until the robot reaches its point quickly but does
> not oscillate.
>
> You can go back and fiddle and tweak, but I've found you're pretty
> close with the above procedure. Wikipedia has a nice chart of what
> everything does:
> http://en.wikipedia.org/wiki/PID_tuning#Manual_tuning
>
> And like it was mentioned, you can usually get away with the D term
> being disabled. You probably don't want to have just a PD controller,
> as these have always been too prone to oscillation (constant
> correction back and forth forever).
>
> Ed
>
> >> Quinones, Jose wrote:
> >>> I am trying to get a better understanding of the PID Loop.
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at dprg.org
> http://list.dprg.org/mailman/listinfo/dprglist
>
Here's also a very nice one: http://www.embedded.com/2000/0010/0010feat3.htm
 next part 
An HTML attachment was scrubbed...
URL: http://list.dprg.org/pipermail/dprglist/attachments/20100222/6716c98b/attachment.html
More information about the DPRG mailing list
