[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-chat] PID Tutorial/ Examples

From: Richard Urwin
Subject: Re: [avr-chat] PID Tutorial/ Examples
Date: Sat, 16 Jul 2005 01:56:23 +0100
User-agent: KMail/1.5.3

On Friday 15 Jul 2005 6:16 pm, Royce & Sharal Pereira wrote:
> Hi all,
> Can anyone point out to me a good tutorial (in simple language) on
> how PID control works? Also some sample algorithms would be great! I
> need to implement it
> in a Mega8 project.

Some quick points in addition to the two references you already have.

Keep your update periods constant or scale the formula by the elapsed 
time. That's very important.

You might want to research Integral Windup (AKA Reset Windup).

It's sometimes useful to differentiate the measured variable rather than 
the error; the error has a step change when the setpoint changes giving 
you a spike to infinity in the differential term. Sometimes that can be 
useful, sometimes it isn't.

It is considered useful to multiply all terms by the proportional 
coefficient. I haven't investigated that myself, but it is said to keep 
the behaviour more stable while tuning.

If it's not necessary to get the best control possible and the load is 
integrating, forget about the differential term - it's more trouble 
than it's worth.

Some added bells and whistles:

Feedforward - add a proportion of the setpoint to the output, to get you 
there faster.
Cross-coupling - when you're controlling two variables that interact - 
works like feedforward, but from the setpoint of the other variable. 
But get the sense correct - sometimes you add, sometimes you subtract.

Richard Urwin

reply via email to

[Prev in Thread] Current Thread [Next in Thread]