Is this a position or velocity PI controller

Hi all,

I have a discrete representation of an analogue PI control algorithm. On the surface it looks very much like a velocity algorithm except for the integral part which is:

Ki*Ts*(E1+E2)

I was expecting to see:

Ki*Ts*E1

What affect will this have? And why has it been done like this?

On my basic level of thinking, this will act as to increase the integral action. What sort of system would this be required for?

The overall algorithm is:

u(i)=u(i-1)+Kp*(E1-E2)+Ki*Ts*(E1+E2)

Many thanks.

Reply to
ccdubs
Loading thread data ...

It is the 'velocity' form of a PI controller. However, it will work in position or velocity applications.

The equation should be: u(i)=u(i-1)+Kp*(E(i)-E(i-1))+Ki*Ts*(E(i)+E(i-1))/2

What was missing is the /2 for the integrator because it is averaging two errors. This PI controller is using trapezoidal integration instead of rectangular integration.

Peter Nachtwey

Reply to
Peter Nachtwey

Thanks Peter,

The /2 has been absorbed into the constant term. So this is a correct algorithm which differs from what I was expecting due to using a trapezoidal integrator.

This makes sense, many thanks.

Reply to
ccdubs

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.