DPRG List

 [DPRG] PID Loop Question Message index sorted by: [ date ] [ thread ] [ subject ] [ author ] Previous message: [DPRG] PID Loop Question Next message: [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 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 ``` Previous message: [DPRG] PID Loop Question Next message: [DPRG] PID Loop Question Message index sorted by: [ date ] [ thread ] [ subject ] [ author ] More information about the DPRG mailing list