CNC software highest step rate

Mike Young writes:


Superior characteristics and performance, less cost.
Steppers made sense only when encoders and digital servo controllers were expensive. Encoders and controllers are cheap now, so steppers are obsolete, except for the smallest and lowest-torque applications.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Hence the question. :) "Hobby" range PMDC motors cost about twice as much as "hobby" steppers of roughly equal speed and torque. Simpler drives can be used with steppers, and the encoder is optional. So what are the superior characteristics? The only that comes to mind is static current draw for steppers; they draw power just sitting still. That seems to be of very little consequence.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Here's just one......One of the advantages of a CNC setup is that one can walk away and leave it to finish what was started. You've probably seem a drill bit get jammed in the workpiece while manually drilling. The same thing can happen while CNC drilling or milling. If this happens with a stepper setup chances are the X and Y axes will do their best to not only destroy the part but destroy themselves and Z axis components as well, behind your back, since there is no switch or feedback to tell the software or the other axes that something went wrong.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Closed loop is undoutedly a Good Thing (TM). It's not exclusive to servos, however. You only need an encoder, and software or controller that reads it.
Why else might I consider discarding the steppers for servos? Motor and drive cost is about $300 per axis; I already have the encoders.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Actually, closed loop in our context is exclusive to servos. It is not exclusive to DC servos. So far we have been using servo to mean DC servo and stepper to mean open loop stepper. A closed loop stepper setup (using encoder etc.) is also a servo. We seldom have to make the distinction since stepper based servos are very rare.
>You only need an encoder, and software or controller that reads it.
You just need an encoder and a closed loop stepper drive (encoder feedback). The most popular CNC software doesn't have a clue as to what is receiving the steps it ouputs since there is no feedback from the drive to the software. All it does is output a finite number of steps for a particular move. It will do that even if nothing is connected to the computer.

Don't discard anything if you're satisfied with it.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Mike Young writes:

This kind of cost comparison isn't appropriate. Steppers perform dismally. They are only "cheap" when they aren't moving, but the purpose of the system is to move. Steppers are rated with holding torque, but nothing like that torque is available in motion. The "simpler" drive only works up to a few hundred rpms. To get higher speeds you need a sophisticated drive that costs as much or more than a servo drive. And the torque still dribbles off.
Torque is misleading you. Motion components should be compared in terms of power, that is, torque times speed. Steppers start losing their torque at rather low speeds, and that makes them much more expensive for the equivalent performance of servos. The top speed is a fraction of a servo.
Steppers are also absurdly inefficient in converting electrical power to mechanical work. This means you need a power supply many times larger than what a servo would require, and this adds further up-front expense.
Servos have guts. You can run them at multiples of their rated torque for short periods. This is exactly what you need to move a mechanism with stiction, which is to say any type of machine tool. Or to avoid stalling on a cut with a difficult momentary load. With steppers, moving and cutting is always stuck underneath the reciprocal of the peak force requirements, instead of the average.
Steppers are appropriate for slow, tiny, low-torque applications, like printer mechanisms and disk drive heads. They have no place in machine tools any more, other than as a hobbyist toy to get the cheapest possible motion no matter how dismal the speed.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Got it now. Thanks.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
DoN. Nichols writes:

This is speculative fantasy. Gecko controlled servos do not behave this way. PID digital feedback yields smooth motion.

More silliness. That's not how PID digital controls work.
The step/direction signals are simply a method of *communication* between PC and controller. The motion does not exhibit stepping.
Your efficiency notion is also wrong. Geckos use PWM MOSFETs which are very efficient. Heatsinks are hardly necessary for many high-power applications.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

    So -- what happens if you feed it a pulse, wait five seconds and then feed it another pulse? Are you saying that it is going to *predict* exactly when that second pulse will come, and will move at a steady speed just right so when the second pulse comes it will be in the right place? If so, it must have some rather impressive CPU power built into it -- and I see no provisions for that.

    Here -- you are obviously misreading me. I did not claim that the Gecko was energy inefficient. Instead, I was saying that the *analog* servo amplifiers which *I* have and use are energy inefficient, and I had hoped that Gecko would have come out with a *real* servo amplifier using PWM drivers. They have so far disappointed me in that hope.
    DoN.
--
Email: < snipped-for-privacy@d-and-d.com> | Voice (all times): (703) 938-4564
(too) near Washington D.C. | http://www.d-and-d.com/dnichols/DoN.html
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Just about any motion control scheme should cause a jump in linear postion based on a single step. I see where you are trying to go with this so I'll save you the trouble. It is the **frequency** of the step input that excites resonance in a stepper motor. The DC motor is isolated from the **frequency** of the step input. The only **frequency** the DC motor sees is the frequency of the PWM signal applied to the controlling H-bridge. It is constant and bears no relationship whatsoever to the step input **frequency**.
It is the duty cycle of the PWM signal that is varied in order to provide a moving equilibrium between step input and encoder counts in response to changes in step input **frequency**. The tuning of the DC servo system will determine the behaviour of the movement mentioned. If the **frequency** of the step input suddenly changes then the P & D settings (aka gain and damping) are supposed to critically damp the movement in a properly tuned system. An improperly tuned system can break out into violent oscillations similar to a stepper in resonance. Perhaps this is what you've seen and confused it with resonance.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

<snip>
The problem with simply disabling the amp when approaching a limit is that the motor will then coast. This may not be a problem at low velocity if there's plenty of room between the switch and a hard stop, but if the motor is heading balls-to-the-wall toward the end of travel, disabling the amp isn't going to prevent a crash. Most dedicated motion controllers have interrupt driven travel limits that do a better job at getting the motor stopped quickly.

<snip>
<snip>
Position control systems almost always run in torque (current) mode, rather than velocity (voltage) mode. The amp is set up to output current proportional to the command voltage.
Tachs haven't been used for many years on servos, the exception being velocity control apps where an exceptionally wide speed range is required. And even in those cases it's more common to see the tach signal being synthesized from an encoder output. Some mfrs offer an option on their amps that'll take an encoder input and use it in a velocity loop. This sort of thing is also available on four quadrant DC drives and AC vector drives. You do have to be careful that the encoder resolution is adequate at ultra low speeds.
Which brings us back to the point that positioning systems with digital motion controllers run the amp in current mode, so there's no place for a tach signal. The encoder is connected only to the controller, which generates the command signal to the amp based on position error.
While I agree that the step and direction scheme that Gecko uses is a less than ideal kludge for driving servos in a system that was designed for steppers, I would still consider it a real servo amp. There's nothing in the definition of a servo that dictates how the various components communicate. In fact the first servos were mechanical, there are plenty of servos that use proprietary links between the various parts, and many more recent systems talk over standard communication buses.

I gather from a quick look at the literature this isn't how the Gecko amp operates. It appears the amp includes a PID loop that takes the input pulses and generates a command that's a function of the position error and the PID tuning. IOW, once it's tuned properly, it behaves as you suggest it ought to. Moving the PID loop out of the controller, where it's traditionally located, is really the key to controlling the servo with a pulse train intended for driving a stepper.
Ned Simmons
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@hotmail.com wrote:

This is not a totally software solution, but I have a device that allows step rates up to 300,000 steps/second on each of 4 axes. The boards can be daisy-chained for more axes, if needed. It is supported by drivers in the EMC software. See http://pico-systems.com/univstep.html for more info.
Jon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@hotmail.com wrote:

If you want to look at a complete system with high performance, check out http://www.cncteknix.com They have controllers which can handle 40,000 steps/sec per channel (max 4 channels), with high current capability, and G-code interpreter all included. Regards, Ian Kirby.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Not really. Just wanted to know the highest step frequency one can expect from popular CNC software these days. Looks as though it's DeskCNC at 125 kHz because it uses the serial instead of parallel port. You'll need a compatible controller in order to get the needed step and direction outputs so it's really a software/hardware combo like other pulse generation schemes mentioned except probably more costly with even lower step rate.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
snipped-for-privacy@hotmail.com wrote:

The guys at cncteknix use DeskCNC as their control software, because it (DeskCNC) uses its own embedded chip for the interpreter function. Their hardware controller is designed to optimise the DeskCNC chip. Regards, Ian Kirby.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.