Start with a DRO

There are indeed systems that use dual feedback loops for motion control. here is a video on the Galil site that explains it. You have to sign up (for free) to view it, but its worth it as they also have other videos and downloads that are very informative.
http://www.galilmc.com/learn/online-videos/dual-loop-compensation-methods
I am on the same path, in the (slow) process of CNCing my mill with dual encoders, that will give absolute position. I also want full manual function. So far, I have the DRO installed, once I feed the linear encoders into the PC, it will give the XYZ positions on the monitor, the DRO readout will be reused on another machine. You will need a motion controller capable of dual encoder input. Galil makes some of the best but they are expensive.

Just install servos and a good motion controller that supports servo drives - job done, cheaper and less effort than trying to forge your own path that almost no one else uses - for good reason ;-)
 
Just install servos and a good motion controller that supports servo drives - job done, cheaper and less effort than trying to forge your own path that almost no one else uses - for good reason ;-)
Thanks for the advice. However, I have researched this project for a few years now and I'm familiar with the various methods of building CNC machines. I am taking this approach as it is the best fit for my needs. Dual feedback is used in many high end industrial machines, it achieves very high accuracy. I know I can get up and running cheaper and easier, but thats not the path I usually follow ;-)
 
Eddy, I am not convinced that dual feedback is required for maximum accuracy. If the encoders are on the load, that's about as accurate as you can get. Maybe two encoders on the load on each axis would be better, but in that case which one is correct? I really see no need for an encoder on the motor/leadscrew except where the drive needs encoder feedback for speed control. Closing the loop at the motion controller is the best way to do it IMHO.

Now when using stepper motors, those by their nature are open loop. In order to close the loop, the best way is again to put the encoder on the load. Then make any needed corrections either on-the-fly or at the end of each motion segment.
 
Eddy, I am not convinced that dual feedback is required for maximum accuracy. If the encoders are on the load, that's about as accurate as you can get. Maybe two encoders on the load on each axis would be better, but in that case which one is correct? I really see no need for an encoder on the motor/leadscrew except where the drive needs encoder feedback for speed control. Closing the loop at the motion controller is the best way to do it IMHO.

Now when using stepper motors, those by their nature are open loop. In order to close the loop, the best way is again to put the encoder on the load. Then make any needed corrections either on-the-fly or at the end of each motion segment.

Jim,
Yes from what I have read, the feedback from the motor is for speed and adds stability to the system. But perhaps you are right, it may not be necessary. I value your opinion as I know you have far more real world experience in these matters than I.
For my project, I already have servos with rotary encoders mounted on them and a mill with linear encoders installed and a motion controller that accepts both inputs so it wont really be a hassle to set it up this way, at least not the hardware end...
I think we agree, feedback from the load is necessary for ultimate accuracy. I think that's what the OP was getting at.
 
I have a DRO-PROS unit with glass scales that I hooked to Mach3. I had to use a logic chip to drive the signals without taking much current. You can show the DRO coordinates or even the error between them. There are lots of ways to create quasi-feedback. You can use the macro pump to go through a reset routine 5 times a second or you can call out an M-code at points in the Gcode. The macro can keep adjusting the Mach3 DRO to match the encoders if the error is above a certain limit. The problem is you kind of lose track of zero. You can also get information from less expensive DROs with scales like calipers have. I have these scales on another mill but haven't tried connecting to Mach3. If your machine uses the 3-lug drives on the handles, I have all kinds of parts for driving these with stepper motors, including complete CNC packages. If interested contact me at pthomps2@gmail.com

Hello,

And firstly, I’m not an expert on this but won’t doing a reset x times a second in an accurate fashion need “real time” operation on the logic controller? As far as I know, since you’re running OS over the hardware (which runs “services” or “daemons” on the background all the time) and Mach3 on the OS and VB macros on the Mach3, consumer grade PCs that you run Windows on can’t have that ability.
 
As Magicniner has pointed out, servos are the way to go if you want feedback. Also, servos can be turned rather easily by hand vs stepper drives, should you have the desire to maintain some sort of manual control.
At work we have a huge 11ft x 6ft table cnc with servos for control. I am amazed at how accurate that machine is. We also have a Trotec laser with feedback which is really slick.
Not sure why you are so set on steppers vs servos. Not trying to be grumpy, just curious.
 
I came across this project the other day. It is a board that reads the scales (several types of scales supported) then transmits the movements to an android tablet or PC via USB or Bluetooth to be displayed. Being Android/PC based the software options of the DRO display are virtually endless. Sounded like a really cool project!

http://www.yuriystoys.com/2012/09/do-it-yourself-dro-with-arduino-and.html

I read about several implementations of this project but didn't come across anyone using it for CNC feedback. Of course this would be perfect for CNC feedback since you are measuring the table movements which will preclude backlash errors.
 
Last edited:
Back
Top