Magic Smoke
   


Once the magic smoke comes out, it won't work any more.

John Kasunich
jmkasunich@fastmail.fm
GPG Key

Postings:

Index (titles only):

If you are into RSS, you can Subscribe to a syndicated feed.


Links


Friends


I Support

Individual Rights

Electronic Frontier Foundation


Powered by



       

Wed, 20 Feb 2008

EMC2 on a Giddings & Lewis

This isn't strictly a Shoptask related post, but it is CNC and EMC2 related.

Last weekend I joined three other EMC2 developers for a "mini EMC workshop". Chris Radek, Jeff Epler, Steven Wille Padnos, and I all met at Machining, Programming, Manufacturing, Inc. in Wichita Kansas. Stuart Stevenson, one of the owners and an active EMC2 user, invited us to "come and play for a few days". Thanks Stuart!

MPM does a lot of multi-axis work, mostly for aircraft makers. Of the 13 or 14 CNC mills in the shop, well over half are four- or five-axis machines, with a variety of controls. Some of the pictures below I took while I was there, others I shamelessly lifted from the MPM website (with Stuart's permission of course).

Fadal with tilting rotary table for 5-axis work

Mazak and Haas 5-axis with A and B axes on the head.

Cincinatti 5 axis, also A and B at the head (there are three of these, two working, one waiting for a rebuild/retrofit).

Viper bridgemill, with B and C axis head.

All machinists know that you can never have too many vises. (No, I didn't say vices.)

The Project

Over the summer Stuart converted a Dah Lih 3-axis knee mill to use EMC2. Some photos and info about that project can be seen here. Now he is working on something a bit bigger - a Giddings and Lewis horizontal boring mill, with a 100 x 106 x 72 inch working volume. The machine has been inoperative for several years, ever since the old control died.

Stuart invited us because this machine makes a good test case for something that is often discussed on the emc-users mailing list - taking feedback from linear scales on the table in addition to (or instead of) encoders on the screws. Often when it comes up, it is in the context of someone wanting to use less expensive rolled ballscrews and correct their inherent errors using a linear scale. Sometimes people want to use scales to correct for or at least detect lost steps on a stepper motor machine. In Stuart's case, he wants to correct for thermal expansion of the screw - on one of his other large machines, a single rapid from one end of travel to the other caused a change of a couple thousandths of an inch because the screw warmed up.

The G&L already has 1 micron resolution scales on X, Y, and Z (table motion). There is a fourth axis, W, which controls the quill, but I don't believe it has a scale. All four axes are driven by AC servomotors, with Allen-Bradley 1391 servodrives. The motors have resolvers, not encoders, and the resolver signals go back to the drives only. We were pretty sure that using ONLY the linear scales wouldn't work, so Stuart bought and installed an encoder on the X axis motor before we arrived.

Other than the Mazak at the CNC workshop, none of the four of us has ever worked on anything larger than a Bridgeport. When we walked out into the shop, we immediately got a new sense of scale. The photo below shows Steven (left) and Stuart standing next to the table of the G&L. The large angle plate is one of TWO that were on the table. Stuart guesses that they weigh close to a ton each. The second photo shows the head and spindle just left of Jeff, and the 106" travel Y axis towering above his head. That ballscrew is about 3" in diameter. The heavy chain behind Jeff's head goes to a hydraulic counterbalance in the column. The white box to the right of Jeff contains the computer, monitor, and operators controls. Between Jeff's arm and the box you can see the fins on the 20HP spindle motor, and to the right of the box is half of the large gray cabinet that contains the axis drives and other control equipment.

The Results

We were able to get the X axis working nicely, without hacking any of the EMC code. We used two PID loops, and summed their outputs together in HAL. Both loops get position commands from EMC. One of them gets its feedback from the encoder on the motor, and the other one gets its feedback from the linear scale. The Proportional and Derivative gains, and the FeedForward term, are set for the loop that uses motor feedback. That loop has no Integral gain. The other loop, using the scale for feedback, has Integral gain and nothing else, to correct for the steady state error between screw and scale.

As always, it took some trial and error to get things tuned properly. The P gain was a lot lower than I expected, probably as a result of the huge mass of the table and the two angle plates. After everything was working with both feedback devices, we started experimenting with gains in an attempt to use only the scale. We didn't really think it would work, but if it did it would save Stuart the expense and hassle of mounting encoders on the other motors. (The Y axis motor is fifteen feet up, on top of the column.) We were right - it didn't work. When we reduced the effect of the motor encoder feedback, the axis went unstable. We got to hear what it sounds like when a multi-ton table starts to oscillate at 5-10 cycles per second, pushed by a 45 amp servo drive. Fortunately we didn't break anything.

(posted: 20 Feb 2008 20:45) (permalink)