Hi Stefan,
I think we are basically in agreement, and I am by no way a control loop
expert so I'm happy to be corrected.
The intent of my late night post (That's my excuse and I'm sticking to it)
was to make Chris aware that a lot of the text on the net covers position
control loops where the output signal is 0 when the desired position is
reached, whereas in a velocity control loop, this is not the case.
Cheers,
Peter.
Stefan Trethan said:
toggle quoted message
Show quoted text
On Thu, 04 May 2006 22:38:08 +0200, Peter Homann
<groups@...> wrote:
Stefan,
It was late. The Kpd was my lazy way of writing (Kp*E + Kd*E)
I don't do digital controllers, only hardware, but this still doesn't seem
right to me since Kd would need to have a different effect to Kp, but
since this is not what we are discussing let's just ignore it and accept
there are P and D components in both cases, however they may be
implemented.
Basically in a velocity control loop, when the actual velocity is equal
to the
desired velocity, the control signal output is whatever value is
required to
maintain the current speed. (75% PWM for a speed of say 2000rpm)
In a position control loop the output signal is zero when the desired
position
is reached.
The I term is there to compensate for the drag in the system when the
control
voltage is very small as we are almost there. In this case the I term
winds up
(increases the control signal) until the desired position is reached as
the E
term is so small.
In a Velocity control system, this problem does not exist as the error
value
is always added to the current value of the control signal, effectively
doing
what the I term would do anyway.
If you write out the velocity algorithm fully you will find the the I
term is
redundant.
Cheers,
Peter
I see what you are saying now.
But i would still not agree 100%.
You basically differentiate "velocity" and "position" by the type of the
process (if it is a integrating process or a proportional one, in other
words "decrease-stay-increase" input versus "low-medium-high", both in a
linear fashion).
Both types of processes _can_ be controlled by PID, but if the process is
integrating you may not need a I term and it can lead to oscillations to
have one. That said, i still think there is a mixup in your original post:
you want to implementa velocity control loop, not position control loop.
Therefore you don't haveany I term, just P and D.
I think this statement above is wrong.
In the next statement you seem to have it right:
The difference is that in a velocity control system you are adding or
subtracting the error signal to the currently set control signal.
Vc = Vc + Kpd*E
Has I term, correct, but above you said it has not.
In a position control system the control signal is set to the value of
errorsignal.
Vc = Kpd*E
Has no I term.
So you see, there's at least a problem there. But really i disagree on the
more fundamental point that a integrating process never can/should have a
PID controller. For example if you imagine again the position control in
your head, you get close to the target, but friction and stuff prevents to
move the process "spot on" with the little tiny error signal amplified
only by Kp. If you have a integrating component in the controller you can
eliminate all the error.
OTOH imagine the spindle - it can be controlled with a PD controller
without I also. Imagine the RPM dropping 1000RPM because of load. The P
term amplifies the error to correct this up again by 900RPM, 100RPM error
- small remaining error is normal with PD control. So you see where i'm
coming from.
ST
Yahoo! Groups Links