CAD CAM EDM DRO - Yahoo Group Archive

Comments from expert PID programmers?

on 2006-08-04 20:56:09 UTC
Regarding tuning:

We've found several approaches to tuning and after having checked them
out, they all look like kludges to me. Every one we've looked at has
been a trial and error kind of thing with no real analytical solution.

If I were going to sit down with a blank piece of paper and design the
tuning algorithm, I'd bring in signal processing and sweep the
response and do a classical analysis on the breakpoints to find the
optimal parameters for the pole and the zero. My next thought was to
drive a step into the system and analyze the response to arrive at the
same thing -- it should be much faster to find the pole and zero that
way.

Then I wondered about more complex systems. If you have a motor
driving a much more complex system with multiple inertial elements for
loads as well as multiple spring/torsion elements, you could optimize
that system with multiple poles and zeros. Numerically, it wouldn't
take much to add a second derivative or integral to the loop.

So now consider a motor driving a mill slide via a ball screw.
Straight off the amplifier you have winding inductance (inertial) in
series with the rotor/shaft angular momentum (inertial), screw torsion
(spring), dead zone (backlash), screw static friction (resistance),
screw dynamic friction (resistance), slide mass (inertial), and
workpiece/clamp mass (inertial). Add to that that the torsion of the
screw will change with the position of the table.

Well it seems to me that a single pole and zero in the control loop
can't really do the job of getting optimal response, especially since
the position feedback is an ecoder on the motor shaft. And in the end,
you're really not controlling the motion of the table slide, but
instead the position of the motor shaft with a rough estimate of the
load response. Then I noticed that if you have a massivly overpowered
system (huge motor, light load) that the two inertial elements have
much more equal value, making it even more useful to have a second
integrator.

So, I get my overdesigning attitude out and say, "Hey, it should be
possible to fix this," because, well, I do that. Use a linear encoder
on the slide, you're now controlling the end load rather than the end
load at the end of an unknown spring constant. Now model the whole
thing in Simulink and get the parameters and bam, perfect response,
backlash and all. (I do note that there's a mess in the terminology
where "backlash" is used both for dead zone and also for screw torsion
-- I'm talking about both here.)

Not only that, but a calibration routine ought to be able to calculate
all of this on the fly at the start of the milling operation to
account for different workpiece weights.

And if you're using steppers or brushless DC, you can even do the
resonance compensation.

So far this is only a thought experiment because we're considering it
(ok *I'm* considering it -- the other guys think I'm nuts). So far the
holes I see are 1) it'd be difficult to do a true general-purpose
model that'd work with multiple positioning system topologies, and 2)
the compute requirements go (way) up, which doesn't bother me too much
because $100 gets you a 400MHz processor module.

So why bother with this? Accuracy, positioning speed and rock solid
backlash compensation based on firm mathematical ground. (And if
you're a bit strange, fun.)

Did I mention "rock solid backlash comp"? This potentially means
replacing expensive zero-backlash stuff with less expensive backlash
prone stuff, doing more with less, etc.

Is there anything I've not considered that makes this a dumb idea? (I
hope not because I've been thinking about it for months, but if there
is, I want to hear it so I won't spend more months thinking about it.)

I'm thinking it's about 2 man-months to develop the models and the
numerical methods. Is it worth it? Will people buy something they
can't see?

Discussion Thread

Dennis Schmitz 2006-08-04 20:56:09 UTC Comments from expert PID programmers? Jon Elson 2006-08-04 22:04:01 UTC Re: [CAD_CAM_EDM_DRO] Comments from expert PID programmers? Dennis Schmitz 2006-08-04 23:30:55 UTC Re: Comments from expert PID programmers? Graham Stabler 2006-08-05 03:16:46 UTC Re: Comments from expert PID programmers? Peter Reilley 2006-08-05 06:22:37 UTC Re: [CAD_CAM_EDM_DRO] Comments from expert PID programmers? caudlet 2006-08-05 07:15:53 UTC Off Topic--: Comments from expert PID programmers? -OT Phil Mattison 2006-08-05 11:40:01 UTC Re: [CAD_CAM_EDM_DRO] Re: Comments from expert PID programmers? ballendo 2006-08-05 11:49:16 UTC backlash was Re: Comments from expert PID programmers? ballendo 2006-08-05 12:07:55 UTC Re: Comments from expert PID programmers? Jon Elson 2006-08-05 12:50:02 UTC Re: [CAD_CAM_EDM_DRO] Re: Comments from expert PID programmers? Jon Elson 2006-08-05 12:53:07 UTC Re: [CAD_CAM_EDM_DRO] Comments from expert PID programmers? Phil Mattison 2006-08-05 13:37:39 UTC Re: [CAD_CAM_EDM_DRO] Re: Comments from expert PID programmers? KelingInc 2006-08-05 15:42:40 UTC Re: [CAD_CAM_EDM_DRO] Re: Comments from expert PID programmers? wthomas@g... 2006-08-06 11:15:41 UTC W.E.T.Re: [CAD_CAM_EDM_DRO] backlash BobWarfield 2006-08-07 16:07:08 UTC backlash was Re: Comments from expert PID programmers? Ron Kline 2006-08-07 17:41:54 UTC Re: [CAD_CAM_EDM_DRO] backlash was Re: Comments from expert PID programmers? ballendo 2006-08-07 18:07:22 UTC backlash was Re: Comments from expert PID programmers? ballendo 2006-08-07 18:22:41 UTC backlash was Re: Comments from expert PID programmers? wanliker@a... 2006-08-07 18:28:24 UTC Comments from expert PID programmers? Ron Kline 2006-08-07 19:26:14 UTC Re: [CAD_CAM_EDM_DRO] backlash was Re: Comments from expert PID programmers? Dennis Schmitz 2006-08-08 06:26:21 UTC Re: Comments from expert PID programmers?