Position Control vs Velocity Control (pid)

B

Thread Starter

Bryan Steer

Using a PID loop I have easily implemented controls that are controlled purely by the error signal, in that the controlled device is in position when the error signal is zero and the output of the PLC is zero. How do you implement control on a device that requires the output to be a say 50% when the error signal is zero. An example would be the control of a VSD on a conveyor. The conveyor speed (pv) matches the (sp) hence the error is zero but the output must be sitting constant say at 50 %. Do you just add the error signal to the input signal - this will causes oscillation. I hope someone can understand my question.
 
Can you not just set the minimum speed of your VFD to 50%? When the error signal is zero and the output of the PID is zero the VFD will still be running at 50%. Most VFDs I have used allow this.
 
G
Bryan, Preload the integral term with the desired output at zero error. I would need to know more about your operation to be sure but I have written PID's for processes that switch from a manual operation to auto, manual being a manual set servo speed and auto being under PID control. Upon transition from manual to auto, I back calculate what the integral term would have to be to be equal to the manual speed setpoint and set the integral term to that value. On that calc of the PID, the output is equal to the previous manual setpoint only now it is in auto. Even if you don't have a manual to auto scenario, you should still be able to preload the integral term as stated above. This also gives you bumpless transfer by the way. You can contact off list if you want to talk particulars. Garth Gaddy
 
T
On analog PID op-amp circuits I've worked with, the capacitor(I) holds a charge (voltage) based on the output voltage necessary to maintain zero error. So, zero error does not mean zero output, it means stop raising or lowering the output i.e. maintain the zero error steady state. I'm not a controls expert but something seems incorrect about your PID method.
 
C
The integral gain of your feedback loop can cause the loop to output a non-zero command even if the error is zero -- this is the whole point of integral gain. This is analogous to controlling the position of a vertical axis -- the position-loop integral gain will maintain a non-zero command to counteract gravitational loads even when there is no position error. If you don't want to wait for the integrator to "charge up" enough to maintain the speed in the presence of zero error, apply your best guess of the command needed as an offset to the output command, then let the integrator automatically make small corrections. Curt Wilson Delta Tau Data Systems
 
B
>Using a PID loop I have easily implemented controls that are controlled >purely by the error signal, in that the controlled device is in position >when the error signal is zero and the output of the PLC is zero. > >How do you implement control on a device that requires the output to be a >say 50% when the error signal is zero. > >An example would be the control of a VSD on a conveyor. The conveyor speed >(pv) matches the (sp) hence the error is zero but the output must be sitting >constant say at 50 %. > >Do you just add the error signal to the input signal - this will causes >oscillation. I have done this in the past with a pure integral loop, like the one that you mention. It was very stable, but slow acting. It usually had almost zero error. It also gave me a natural ramp up. Bill Sturm
 
The integral term of any *decent* servo loop should be able to accommodate a steady state offset of this magnitude. I just did a review of a system that had a 1Volt offset in the analog command going to a servo drive just to maintain zero position. The controller did not give the slightest fig about it and easily maintained very tight control of the axis under aggressive accelerations. Double check your PID performance . . . I would expect you should have at least a 500Hz update rate on your controller for any reasonable bandwidth for velocity control. Ken
 
A

Anthony Kerstens

If the error is zero, then the integral of the error over a period of time would also be zero. So, do you mean to say close to zero, as in the case of proportional offset (error)? You are correct in that the integrator portion of feedback control is to correct proportional offset. Anthony Kerstens P.Eng. > --------------------Forwarded Message---------------- > FROM: Curt Wilson <[email protected]> > > The integral gain of your feedback loop can cause the loop to output a > non-zero command even if the error is zero -- .....
 
C
To speak a little more precisely, the integrator can maintain a non-zero command output even when the the error in the control quantity has converged to zero. An initial error in the control quantity is necessary to "charge up" the integrator to produce a non-zero output, but this output can be maintained indefinitely if the error in the control quantity is reduced to zero (without overshoot) and remains there. In fact, overshoot in the control quantity, producing an error of the opposite sign, is necessary to "discharge" the integrator. This overshoot will occur in cases where the initial error is not due to a continually present net load (e.g. gravity) or offset. Curt Wilson Delta Tau Data Systems
 
B

Bill Gausman

I agree with Curt. When the offset is zero, only in the case where there is zero load will the output be zero. If there is a load, the integral term will make corrections in the output until the error is zero, at which time it will stop making further corrections. If there is a load, the output -must- be non-zero. Bill Gausman, PE System One Control, St. Paul, MN
 
Top