It is evident that discussing servo tuning is going to generate lots of interest and comments. Stephen and Peter both have lots of academic and theoretical background as well as practical experience to go with it. Many of the rest of us only have casual exposure to the concept of the response and tuning of servo loops. In order to help keep this discussion on track and meaningful for those of us in the casual category I would like to suggest that the systems be described completely when making statements about how they behave.
As I understand things, Peter is referring to control of brushless DC permanent magnet servo motors with encoders that can provide only shaft position feedback. Velocity, if used, is computed from position. I do not know if the control circuits in Peter's drivers are current mode, voltage mode, or some hybrid of the two. I suspect that they are current mode with the current loop controlled in the drives. Stephen's mill I think has classic +/- 10 volt DC controlled PWM type servo drivers running brush type permanent magnet servo motors with both encoders for position and tachometers for velocity. Stephen stated that they are presently configured as voltage mode so the +/- 10 volts DC signal adjusts the PWM duty cycle and thus the apparent voltage seen by the servo motor. The motor current is not being controlled other than a protective limit on maximum current. This classic type of driver also closes the velocity loop in hardware, so if the motor voltage derived from just the +/- 10 VDC input does not result in the specified speed, then the tachometer feedback will alter the voltage (PWM duty cycle) in an attempt to get the specified speed. This is a servo loop in hardware and the driver should have electronic control adjustments independent of the PID in the LinuxCNC software. I am going to guess that these controls address P (control voltage gain), a gain adjustment for the Tachometer feedback that, and an adjustment related to the time variant response to changes in the control voltage and the tachometer feedback voltage. This last one may be similar in effect to a D term, but is likely not a true D term. As best I know the driver does not have an I term. These types of drivers usually also have an offset or nulling term that may be similar to FF0. All of this is happening in the servo driver, not in the PID software in LinuxCNC, so it is an "inside" loop. So now, how do we talk about apples to apples comparison of these two control systems? In both cases the PID in LinuxCNC receives only a position feedback and is the outermost loop of the control system that is used to control position. Perturbations to the PID control can come from both changes in the requested position and from changes in the mechanical response to the control system. As I understand it there is a 90 degree phase shift in the response of the position loop between the types of loop control, current-torque, or voltage-velocity and this alone keeps me confused about where the response poles are and how to adjust for them. While it is natural to describe servo systems mathematically, please try to include intuitive descriptions for those of us who are mathematically challenged. Thanks, Steve Stallings > -----Original Message----- > From: Peter C. Wallace [mailto:p...@mesanet.com] > Sent: Saturday, December 22, 2012 4:55 PM > To: Enhanced Machine Controller (EMC) > Subject: Re: [Emc-users] Pid saturated, was: Servo error > > On Sat, 22 Dec 2012, Stephen Dubovsky wrote: > > > Date: Sat, 22 Dec 2012 16:29:39 -0500 > > From: Stephen Dubovsky <smdubov...@gmail.com> > > Reply-To: "Enhanced Machine Controller (EMC)" > > <emc-users@lists.sourceforge.net> > > To: "Enhanced Machine Controller (EMC)" > <emc-users@lists.sourceforge.net> > > Subject: Re: [Emc-users] Pid saturated, was: Servo error > > > > Peter, > > I *FULLY* understand. My 8th paragraph states if the drive > is poorly tuned > > (voltage mode = no tuning) and the poles are low in freq > (bingo) the D is a > > bandaid. Voltage mode control doesn't hide/move the plant > poles to a > > higher freq like current mode can. Its simpler but lower > performance. > > Only so much bandwidth a single loop can get if it gets > handed all the > > multi-order system resonances in one black box. Much > better to handle each > > system order at a time (torque,speed,position). The D adds > zero which if > > you put ontop of the next systems pole you can help things > out. There are > > systems that it works in. Buts its a bandaid. > > > Um no, you dont. I was giving advice on how to tune a voltage > mode loop, Your > advice does not apply in this context. Its very clear that > you have not > actually tuned a voltage mode loop. D is absolutely needed > for stability, A > voltage mode drive with velocity feed forward approximates a > torque mode loop > (a second order system). Without a D term the solution to this system > function is a sine wave. > > > Peter Wallace > Mesa Electronics > > (\__/) > (='.'=) This is Bunny. Copy and paste bunny into your > (")_(") signature to help him gain world domination. > > > -------------------------------------------------------------- > ---------------- > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more > value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users