Searching \ for '[OT}Re: PID algorithms in PIC C' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/ios.htm?key=PID
Search entire site for: 'Re: PID algorithms in PIC C'.

Exact match. Not showing close matches.
PICList Thread
'[OT}Re: PID algorithms in PIC C'
1999\05\19@124815 by Arnie Grubbs

flavicon
face
I don't understand why you would want to reset the "I" value....
Maybe someone can clear this up for me...

It seems to me that when a PI loop is stable you will not have any
proportional contribution to the output, just an integral contribution to
maintain an output.
As your system gets close to setpoint, your proportional calculation works
it way
down to 'zero'.  As the loop settles down, using  a "P" only, you will have
an 'offset' from the
desired setpoint. This is because when SP=PV there is no proportional output.
To reach setpoint you need to the "I" term.  This used
to be called "reset", and can be looked at like the old proportonal only
controlers, where the offset from setpoint was removed by the operator
'resetting' the setpoint  to get the Process Variable at the 'desired
setpoint'.

If you are worried about 'low freq' oscillations, and have to clear the "I"
term for some reason, then I don't think you have your loop tuned correctly.
If tuned correctly,  you would not normaly have any overshoot, or ringing
action in the loop..

Maybe I am missing the point.... if you are trying to make this system
look like the old cook oven controlers, so that you actualy do get a
constant swing of the PV around the setpoint, and don't really want
to end up with SP=PV... Then you would not want to use the "I" term
in your loop equations..  Otherwise  you would... Right????

Have a nice day...    AG


At 09:21 AM 5/18/99 -0500, you wrote:
{Quote hidden}

1999\05\20@004041 by Tjaart van der Walt

flavicon
face
Arnie Grubbs wrote:
>
> I don't understand why you would want to reset the "I" value....
> Maybe someone can clear this up for me...
.
.
.
> If you are worried about 'low freq' oscillations, and have to clear the "I"
> term for some reason, then I don't think you have your loop tuned correctly.
> If tuned correctly,  you would not normaly have any overshoot, or ringing
> action in the loop..

Can you tune a loop perfectly? I applied a PID controller to a
linear motor, and found that I could minimise the energy (offset*time)
needed to keep the damn thing still, by clearing the I term.
If you make Ki too big, then you end up with oscillations.
Make it too small, and the system never reaches setpoint.
If you get it as close to perfect as you can with an 8 bit
micro, you will always get low frequency oscillations.

The clearing of I is a modification to make the real
world respond like a text book example ;) Hey, please
don't tell my ex-professor ;)

--
Friendly Regards          /"\
                         \ /
Tjaart van der Walt        X  ASCII RIBBON CAMPAIGN
.....tjaartKILLspamspam.....wasp.co.za  / \ AGAINST HTML MAIL
|--------------------------------------------------|
|             Cellpoint Systems SA                 |
|             http://www.cellpt.com                |
|--------------------------------------------------|
|     http://www.wasp.co.za/~tjaart/index.html     |
|Voice: +27-(0)11-622-8686  Fax: +27-(0)11-622-8973|
|          WGS-84 : 26¡10.52'S 28¡06.19'E          |
|--------------------------------------------------|

1999\05\20@032122 by Stefan Sczekalla-Waldschmidt

flavicon
face
Hi,

Arnie Grubbs wrote:
{Quote hidden}

May be this question/idea is related to the behave of the two different
PID
algorithms - the positional PID and velocity PID.

If I've understood this correctely the difference is like below:

Positional PID:         Y =      P + I + D
Velocity   PID:         Y =  Y + P + I + D + M

The velocity  PID has the possibillity to be controlled mannualy ( M )
while
setting the control loop up.

Also the reset of I in the velocity algorithem makes sense when you have
reached
the setpoint. Otherwise your loop will oscillate around the setpoint.

If possible I would appreciate some comments confirming or correcting my
statement's above.

Kind regards,

       Stefan Sczekalla-Waldschmidt
       EraseMEsswspam_OUTspamTakeThisOuToikossw.de

1999\05\20@083405 by Justin Grimm

flavicon
face
Hi all
The Integral term is a function of 'time that there is an error',
'the magnitude of the error', and 'the gain constant'.
The formula for process control applications is
Gain x Error x Time since error occured x I constant = integral component.
So when there is no error, you'd have to reset the timer but not the
integral component (for process control) because if the
error is zero the integral component is zero.

Remember that the integral has a cumulative effect on the
output. If the integral is zero then the output doesnt move
i.e. The integral ADDS it's calculation to the output (+ve or -ve)
P+I+D.
Justin Grimm


> > I don't understand why you would want to reset the "I" value....
> > Maybe someone can clear this up for me...
> >
> > It seems to me that when a PI loop is stable you will not have any
> > proportional contribution to the output, just an integral contribution
to
> > maintain an output.
> > As your system gets close to setpoint, your proportional calculation
works
> > it way
> > down to 'zero'.  As the loop settles down, using  a "P" only, you will
have
{Quote hidden}

1999\05\20@124155 by Arnie Grubbs

flavicon
face
Hi  Stefan, Justin and Tjaart ;

I guess I was confused as to the application of the PID,  in that I
have not worked with PID for position control.  This is new to me, and
I see what you are driveing at. Thanks for clearning this up for me.

I was assumeing that the loop was controling a process, such as
heating an oven, or running a motor attached to a pump trying to
maintain a setpoint of pressure or a volume of material flow.

These loops normaly don't have an output that goes to zero when
everything is working correctly unless something bad happens
(pipe plugs up, or its hotter outside the oven than inside).  In
other words,  the loops that I am used to working with usualy
need some output just to stay at the setpoint.

I didn't think about an aplication where the object under control,
once placed at the setpoint, would stay there "on its own".   But
rather one where external forces would act upon the setpoint.

I guess an example of this would be if your position control loop
had some force that tended to move the object under control out
of position.. such as gravity or some pressure that the motor has
to continualy work against,  maintaining a torque to stay at setpoint.

If you move something into position and it just sits there with no
outside forces acting on it,  then you clear the "I" term,  this would
indeed make the control less likely to have oscillations..

Thanks again, to all who answered back.

Arnie G


At 09:26 AM 5/20/99 +0100, you wrote:
{Quote hidden}

More... (looser matching)
- Last day of these posts
- In 1999 , 2000 only
- Today
- New search...