I'm about to start building my CNC G0704. I currently own an X3 with servos and really enjoy the fault detection that servos afford. I can leave the machine and have high confidence that if anything goes wrong, I won't have a large repair bill.
I can't think of anyway to reliably walk away from a stepper motor driven CNC mill without running the risk of doing serious damage to the machine if something goes wrong (part comes out, cutter breaks, etc).
Any bright ideas?
-Jim
Last edited by Kingjamez; 03-05-2012 at 08:15 AM.
Gerry
Mach3 2010 Screenset
http://home.comcast.net/~cncwoodworker/2010.html
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
I have that board ^^. I've yet to use it but the plugin is pretty simple for Mach3.
And honestly you don't need that board. You just need their plugin. I'm not sure if they sell that alone though.
Exactly how would servos help you any more than steppers to detect a part coming out, or a cutter breaking??
The fact is, there is NO difference between servos and steppers in terms of system reliability IF the drives are properly sized, and properly operated within the limits of their capabilities. NEITHER will "lose position" when properly designed and operated, as evidenced by their being tons of stepper-driven commercial CNC machines, large and small. With either, you can use encoders to detect a mishap, whether those encoders are in the position loop or not. If you have steppers, use dual-shaft motors, put an encoder on the back of each one, and setup something to monitor the step/dir commands coming in, and compare to the encoder position coming back, and stop the system if too great a following error occurs. The part will be scrap at that point, but you *might* prevent greater damage to the machine or tooling.
Regards,
Ray L.
The encoders notice that the motors are not in the position that they are commanded to be, thus the e-stop gets triggered. This has happened to me on many occasions when my G-Code isn't right, I break a cutter, the work piece moves in the vice, the cutter goes into the hardened vice jaws etc. It's stopped me from doing damage to my machine / vice many times.
Ray, I'm not trying to start a steppers vs. servos war here (although you seem to be). I've have 2 CNC machines right now, one is stepper driven, one is servo driven. My personal experience about the advantages / disadvantages of each design is different than yours.
The solution you described above is rather obvious, and the entire reason I've started this thread, I haven't come across a product / turn key solution.
I almost did in the new stepper drives from Leadshine (AM series) they can detect faults if the RPM is above 300. It's very close to what I'm looking for, but not quite.
-Jim
I would think the only reason for fitting steppers in the first place is economy, if the intention is to fit encoders on steppers then you may as well go with servo's.
Although with servo's, there will always be a following error when in motion, ideally Servo's are always in command, and the following error should be able to be set at an acceptable limit in order for the drive or the controller to take appropriate action when this limit is exceeded.
With a PID loop (servo) the error is constantly corrected.
Al.
CNC, Mechatronics Integration and Custom Machine Design (Skype Avail).
“Logic will get you from A to B. Imagination will take you everywhere.”
Albert E.
Al, you are spot on. On my servo driven X3, I get an error of 0.001" or so where if I command a 0.001" move, nothing happens until I command a second 0.001" move and then it moves the entire 0.002" to the correct position. I've tuned it a great deal and have yet to solve the issue. My stepper driven system goes where I tell it to.
I believe it is due to the fact that servos don't have the low end torque that steppers do, of course the opposite is true but I haven't had a need to go super fast (yet) to the point of needing the extra grunt of servos. I keep them because of the fault detection which I have fallen in love with.
Plus I really like the Leadshine Digital 5056 stepper drivers, they are really nice to work with and I'd like to use them on this build.
-Jim
Actually if you look at any typical servo torque curve you will see that the torque is maximum at zero RPM, just as it is with steppers, much of this mis-information has come about because generally steppers posses a higher torque for a given frame size.
The servo torque curve remains fairly flat through the rpm range, as opposed to steppers in which torque rapidly drops with rpm.
If you are not positioning within a couple of encoder counts, this is due to the PID loop not being optimally tuned and/or encoder resolution.
Typically with my Galil systems I can position within 1 encoder count.
Al.
Last edited by Al_The_Man; 03-05-2012 at 02:59 PM.
CNC, Mechatronics Integration and Custom Machine Design (Skype Avail).
“Logic will get you from A to B. Imagination will take you everywhere.”
Albert E.
Ideally with servos you have a high enough resolution encoder that the PID loop "sees" the error before that error has an adverse effect on your part.
Matt
The best any servo can position is +/- 1 encoder count because it does not know it has moved until the error is at least 1 count. Now if 1 count is .00001" then obviously it is much less of a concern than if that same count was .001" on a low resolution encoder.
Matt
With modern current/torque mode drives the motor current is directly proportional to following error, therefore another reasons to limit following error is to avoid the motor moving above the continuous motor torque rating into the peak current range.
Al.
CNC, Mechatronics Integration and Custom Machine Design (Skype Avail).
“Logic will get you from A to B. Imagination will take you everywhere.”
Albert E.
That is a different story from simply detecting a "part coming out" or a cutter breaking. A part coming out or a cutting breaking you generally *can't* detect, UNLESS there is an associated position loss, which there often is not.
There are several boards out there capable of detecting following error and triggering an E-Stop. (though there will generally ALWAYS be an associated position loss, since the stop will be uncontrolled). The KFlop is quite capable of doing this, and is even capable of doing true closed-loop control on steppers. it's just a matter of how much time, money and effort you're willing to put into making it work the way you want. Encoders are cheap, and simply doing an E-Stop if any axis falls behind by some pre-set distance can be done in Mach3 using encoders and Mach3 "brains". But, if you're using a parallel port, you probably don't have enough I/Os to do this.
Regards,
Ray L.