Jim Dawson
Sandy, Oregon, USA
The heart of the Jake's (the OP) system is a Galil DMC-1840 motion controller, I have a DMC-1846 in mine. I wrote the software, and designed the system. The amps and servos are 30 year old brushed DC. The original control was Anilam, don't remember which one for sure. In Jake's case, the scales are Ditron magnetic, 1 micron resolution, identical in form and function to the Renishaw LM10 series that I am using, both rated at 3M/sec. Obviously much faster than is possible to run a mill. I have personally tested the Ditron read heads against the Renishaw read heads and found no difference in function.
Adjusting the PID is simple from my program, just enter the value and click Apply, takes effect instantly and can be done on the fly. You can watch the following error, displayed in microns, in the diagnostic window.
The motor's job is to move the axis to the position commanded by the motion controller. The motion controller continues to supply a command voltage (+/-10V) to the drive proportional to the commanded velocity and position error. Once the axis has reached the commanded position the command voltage is set to zero. The motion controller is continuously reading the encoder (scale) position every 100 microseconds or so. The drive in this case only does what it's told to do by the motion controller, it has no idea what the position is, nor any intelligence to hunt for position.
If one were to try to install scales in place of the motor encoder on a modern AC servo drive it would be a disaster. It would be nearly impossible to tune the system. But there are advantages to using linear scales for positioning control and let the drive use the motor encoder to make sure the motor is doing what it's being told to do.
The position of the scales relative to the cutter should make no difference. The scales are reading the true table position and the table is always going to be relative to the cutter. If the scales are accurate, then the true position of the table will be reflected in the DRO. Using linear scales as opposed to the encoder on the motor will compensate for backlash within reason, and any inaccuracy in the ball screw lead. IMHO, linear scales fixed to the load (table) are a much more accurate positioning system than encoders hung on the motors or ball screws. Now if the machine is so loose that the X DRO shows a change in position when pushing on the end of the table in the Y axis, then there is no hope and nothing you can do electronically will solve that.
Jim Dawson
Sandy, Oregon, USA
Most MC's and milling machines I have encountered with some exceptions have both "X" and "Y" screws central to the slide ways that cross over and line up approximately with the cutter. So if the ball screws and bearings are good a modest amount of bed movement will not make great difference to the tool/screw alignment which is fine if using motor or screw encoders. I know this is highly subjective and lazy and many will beg to differ but the way I see it the problem is one of simple geometry. I have not had time as yet to do any machining using scale feed back but I suspect I would end up with the same problem as the OP. In my own defense (and my Bridgeport) I have only just put it back together and not had time to adjust the jibs as well as they could be set hence the sloppy bed. It was a long while ago since I used a Galil card along with Mach 3 and I can't remember how the PID filter was adjusted. Reading the all the posts again I assume the OP to be using a Galil card but it seems unclear to me what is software he is using. Have some posts been removed or is it a continuation of another thread ?, because the OP does not mention Galil or machine type in the first post.
The exception yes, you believe in what you have, and created, but those that have seen this done before have seen how it can fail to perform with no servo motor feed back to the control, to compare the command position of the linear encoder and the servo motor position, the servo motor is left floating
On a successful system using linear encoders, on the machine, they use Motor encoder feed back as well, what you have created has to many variables, to be successful control system, if it was this simple every manufacture would of been doing this years ago
Mactec54
If I had motor encoder feedback available on the mills I would be using it and would use a dual loop system. But the 30 year old DC drives only have tachometer feedback, and because it's working fine, I'm not going to go to the expense of adding motor encoders.
Now on my Hardinge lathe that I just repowered with modern AC servos and I am only using the drive encoder output because I don't have linear scales on it. The servos have 14 or 16 bit encoders, I forget which. Seems to be working fine that way. The good news is that mechanically the lathe is in good condition and the backlash is nearly zero in both axes and in general seems to hold +/- 0.0002'' consistently. Not bad for a 30 year old machine.
On my router I have stepper drives and linear scales and it is set up as a dual loop system, at least as is possible with steppers. But it does do on-the-fly error correction, and is quite accurate for an old worn out machine.
Jim Dawson
Sandy, Oregon, USA
Many older systems used linear encoders as the only _position_ feedback (Anilam is a common one) but they always had a local velocity feedback loop
This is not really very different from a modern dual feedback system, in that the fast feedback is done on the rotary axis and the slower feedback
is done via the linear position feedback.