Dear Friends I am reading emails about the PID. I too have few question about position control. 1. What is the position error actually mean? Why i am asking this question is as everybody knows that in control loop we give the setpoint and feedback is compared and correction is made depending upon the error. Lets take an example of velocity loop.We set some speed and we get the set speed after some time and it is maitained constant until we change the setpoint. But in case of the position control if we give some set point position but motor takes time if the move is long enough( Set point is in pulses and feedback is also inpulses)to reach the required positiion. Initially error is equal to the set point position since motor just started to move and feedback pulses are zero. Then at this point how PID acts. My confusion is that for long moves PID will saturate. But once the position is achioved PID will maintain the same position if we try to move the axis by hand PID will bring back to it setpoint position. But does PID acts when moves are long? 2.Why position feedforword is required if there is integrator term in the PID loop to take care of the steady state error? Thanks. Vikas ************************************************************************** Vikas W. Meshram Scientific Officer, Laser Instrumentation, Center For Advanced Technology, Indore- 452 013, MP,INDIA. Email:[email protected]

Vikas, Typically the position command is updated at the same frequency as the servo loop closure rate. I.e. if you have a long move, it is divided into very short moves dp/dt. Ken Brown

---------- Forwarded message ---------- From: Davis Gentry <> Subject: Re: MOTION: Position and feedforword To: [email protected] In motion control your PID does not generally control from long point to point moves, with error equal to the difference between current position and desired position - your controller generates a trajectory from point to point. Therefore at any given time (t) you have a commanded position (P) - at any given P(t) your PID loop looks at the commanded P(t) and the actual P(t), and calculates error from that. Davis Gentry Delta Tau Data Systems

> In motion control your PID does not generally control from long point to point moves, with error equal to the difference between current position and desired position - your controller generates a trajectory from point to point. Therefore at any given time (t) you have a commanded position (P) - at any given P(t) your PID loop looks at the commanded P(t) and the actual P(t), and calculates error from that. < _______________________ Vikas: If the feedforward would be perfect, there would be no need for PID. But it is to close to instability. So, chop OFF the efficiency of the feed forward action, and finish triming PID. In your explaination (1) above, the loop is incorrectly tuned: time lag, time constant, and do not trust the derivative in the numerical PID. By nature of things, velocity is quick (like pressure). Position is slow (like temperature).

>Vikas: If the feedforward would be perfect, there would be no need for PID. But it is to close to instability. So, chop OFF the efficiency of the feed forward action, and finish triming PID. In your explaination (1) above, the loop is incorrectly tuned: time lag, time constant, and do not trust the derivative in the numerical PID. By nature of things, velocity is quick (like pressure). Position is slow (like temperature).< the previous posters are correct - Position or velocity loop servo control is implemented by breaking any long moves or velocity changes into smaller pieces, generally based on the loop update rate. When a setpoint is reached, the error from the feedback device is the dominant input (trajectory planner's contribution is then "0"). Feedforward is used in position or velocity loop systems primarily to reduce the following error grows during the position/velocity ramp (acceleration). In properly designed feedforward system, the feedforward gain does not introduce loop instability, though it WILL introduce more overshoot in response to step input in position or velocity, which the PI loop will have to bring back/dampen out. In general, tune a PI or PID loop by first setting all gains = 0 , adjust P to get resonable state response. Adjust I to improve stead state error = 0. If you have a "D" term, you can then adjust it. Be sure that PI gains are satisfactory and system response is well behaved with minimal overshoot before adding feedforward gain. Hope that this info helps !