¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: CLosed loop motor control ?


Stefan Trethan
 

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

Join [email protected] to automatically receive all group messages.