For 3D printers they work fine because there is no pushback ('loading') from the extruder. But for anything that cuts servos are the way to go if you want half decent speed and quality cuts, as well as long tool life.
For 3D printers they work fine because there is no pushback ('loading') from the extruder. But for anything that cuts servos are the way to go if you want half decent speed and quality cuts, as well as long tool life.
They all boil down to commanded torque greater that the system is capable of delivering. Fix your design. Be suspicious of software trying to accelerate too aggressively under load.
I have cut a lot of metal on a Tormach PCNC 1100 Series 3 machine, with steppers. NEVER had an issue. Correctly designed stepper systems DO NOT miss steps.
That said, servos systems typically are capable of greater accelerations for a motor of a give volume and current load, because of the closed-loop control. Use servos for speed, not because you are afraid of skipped steps from a stepper.
So it probably does skip steps, but corrects for it
The encoders will tell you when to increase power because you're about to miss a step, the expected movement is lagging compared to the amount of input current. The current sensing will help you to detect tool strike situations before damage is done to the motors due to overcurrent.
This technology originated with the Berger-Lahr company in concert with an Italian driver manufacturer for five phase stepper motors, which were the first to be driven past this resonance point, the tech was then perfected and adapted to other, cheaper steppers as well.
FWIW I designed and built CNC equipment for a living.
As for the Tormach machines, they use 3 phase, not 2 phase steppers, and use current sensing on the stepper outputs to give them a feedback mechanism, and an encoder to close the loop completely these drivers and stepper motors are better than the ordinary two phase kind that you find in regular hobbyist aimed gear.
https://www.damencnc.com/en/nema-34-closed-loop-stepper-syst...
They are properly classed as a hybrid servo system rather than just a stepper on account of that feedback mechanism.
I built a couple of 3d printers from scratch BECAUSE the various components were cheap and approachable. Haven't done CNC because my interests haven't taken me there...but the thing about advancement is: While one fella is saying 'You can't do it that way!' someone comes around and does it that way, and the first person is left in the dust.
You can't really stop Laser printers from dropping to many thousands of dollars to $70...all you can do is ride the wave.
In practice, hobby level machines don’t have near enough rigidity or spindle power to warrant high movement forces in the first place.
Nearly all of the hobby CNC machines on the market use open-loop steppers. They’re definitely not losing steps during normal operation.
The topic of steppers vs servos has been covered over and over on every hobby CNC forum for the past two decades. Closed loop systems are great if someone has extra budget to spare, but they’re unnecessary for machines using hobby-level spindle power.
I've been running a small CNC for a while now and though I've had skipped steps, they've never been the cause of a failure. When they've failed, it's been because:
- I stalled the spindle and I'm trying to plow the no-longer-rotating endmill straight through my stock (and if steps weren't skipped, the tool would break)
- I forgot to turn on the spindle and I'm trying to plow the endmill straight through my stock (and if steps weren't skipped, the tool would break)
- I've somehow forced the machine to try to push through its limits and crashed an axis into the chassis (and if steps weren't skipped, the machine would be seriously damaged)
Basically, the only time the steppers have failed is when not doing so would lead to much greater damage, so I'd go so far as to say that skipping steps are a feature, not a bug.
If your steppers are failing in the middle of a job where nothing has gone wrong, either your steppers or your drivers are messed up but it's not because steppers are inherently bad.
I'd recommend servos for applications that are demanding on torque, power, speed and/or accuracy. I wouldn't recommend them for your first DIY machine because of the additional risk, expense and complexity they add.
Is there a classification of a system in terms of 'highly precise pre-defined/pre-programmed' movement vs 'feedback based movement'?
As an outsider, mainly watching youtube demos/videos, I've noticed the old kind of robotics, from ABB, Fanuc, and what not, with massive robotic arms planted to a firm-foundation, is based on precision pre-programmed movement. (I believe) there is no feedback though sensors or cameras or anything.
But the new trend is based on feedback, whether traditional control-theory feedback, or neural network based reinforcement-learning feedback, which I guess eases the rigors of pre-program design and makes the system more flexible in new situations. But of course it's an open research topic, and involves every-increasing sophistication of sensors, high-def cameras, lidars, and what not.
Wondering how the choice of stepper/servo, or some other mechanisms like hydraulics/pneumatics relates to the above categorization.
Thanks in advance.
I do think taking into account the feedback from the load as well as the weight of each section of the arm itself, needs to be done. In addition, some aspects of vibration control also need to be incorporated. (I guess the right word is proprioception, as mentioned in another commentor).
Like I said in theory. In practice we don't really have the ability to sense that well. While drivers that are that quick exist, they are exotic, or have limited range of motion.
They can also use machine vision in a limited sense. For example, I worked with one last week that drove screws. There are known numbers and locations where screw pilot holes are expected to be, but they have a variability greater than the radius of the screw. So, the arm moves the camera into position so the field of view is a bit larger than the tolerance on the pilot hole, takes a photo, locates the circular feature of appropriate size, then moves the screw to that location.
However, you're right, these robotic systems are doing fundamentally different things than Boston Dynamics and self-driving cars. They're solving a different problem. The difference is less about stepper/servomotor/hydraulics or other control systems, and more about the degree of control that the users can and want to exert over the robot work environment. If it's easy to mandate that there will never be an obstruction in front of the screw you're trying to install, and the machine must power down the servos if a human is inside the fence, and you can demand of the drill machine a certain tolerance on the hole location, you can have a more reliable, simpler to debug, quicker to build robotic cell. If keeping humans out of the equation and the environment obstacle-free is impossible (as on a battlefield or parking lot), then you have to reach for less reliable, more complex control algorithms.
There's also systems with steppers and encoders.
A common issue though is that the steppers are driven at too low of a voltage. You also want the right kind of driver that PWMs a high enough voltage to maintain the current at speed. That's because as the speed goes up the motor has higher back-EMF voltage that the driver needs to overcome. Constant voltage drive really suffers as the motor speeds up.
But sure, DC brushless + servos are nice, more expensive, and require more expensive controllers.
The forces involved can be estimated ahead of time with simple math. It's easy to verify stepper motor holding torque with a common kitchen scale. Cutting forces can be estimated with readily-available calculators online.
The closed loop functionality will never come into play with properly sized motors, though.
If the machine gets to the point where the closed loop function is trying to make up for lost steps, it’s almost certainly because something has gone wrong (crashed machine into workpiece, for example). At that point, it’s actually better to halt the machine and alert the operator, which is what a lot of people end up using closed loop stepper feedback for.
New Trinamic stepper drivers have some built in functionality to detect stalled steppers, which can be used for the same effect.
Closed loop steppers definitely aren’t bad, but they’re not a must-have for hobby machines.
This is exactly why 99% of beginners should start with stepper motors.
Building a CNC is an exercise in tradeoffs. It's tempting to want to choose the best option at every juncture, but that's a recipe for blowing your budget. I strongly recommend that beginners start with sufficiently-large stepper motors to get things done, then consider more expensive motors as a later upgrade.
> As long as they don't skip steps. And they always do. So you end up running at 1/10th of the speed your tool could move at to avoid that
They definitely don't always skip steps. I've never skipped steps on my hobby CNC during normal operation. Only crashing the machine causes skipped steps, at which point I have bigger problems to worry about.
It's very easy to measure the maximum force your stepper-based CNC can apply before skipping steps. You can use a common kitchen scale and manually force the CNC axis to compress the scale until it skips.
In my case, the maximum stepper force is about an order of magnitude higher than the calculated cutting forces in aluminum. If someone was trying to push the cutter so hard that it was overwhelming common NEMA 23 steppers, they're going to need an extremely rigid machine. Most hobby-level machines aren't rigid enough to use high cutting forces, and unless you have a 2.2KW water-cooled spindle, you won't have enough power to cut at those speeds anyway.
As long as your steppers are sized appropriately, it's really not a big deal.
> So you end up running at 1/10th of the speed your tool could move at to avoid that
Again, not really an issue in practice. Use sufficiently-sized stepper motors and the movement speed is just fine.
I strongly suggest that anyone building a CNC focus first and foremost on keeping it simple and cheap. Get it built, learn from the process, and improve on your next iteration. Closed-loop stepper motors are a reasonable upgrade path, but the idea that you're going to be skipping steps with regular steppers just isn't true.
EDIT: Here's a video of a common Shapeoko with significant added weight moving at 1000ipm on the tiny stock steppers without issues: https://www.instagram.com/p/B1wSmXfnm6C/ The stock settings are 200ipm, which leaves ample safety margin for normal operation. 200ipm is plenty fast for rapids unless you're trying to reduce cycle times on large-scale manufacturing, in which case you wouldn't be using a hobby CNC machine.
Doesn't that only happen when the controller either doesn't know (or can't decently handle) the limits for a given machine?
eg if a machine could (say) only accurately (without losing steps) push the spindle at 1000mm/min, with maximum jerk of (say) 0.5
If your controller doesn't know to keep in those limits... it makes sense steps will be lost when going past those limits.
So, seems more like a tuning problem?
That being said, closed loop stepper systems exist, though I haven't (yet) personally tried them.
Skipped steps are only a problem if the machine is tuned wrong, like you said, or the steppers are too undersized to keep up.
People tend to underestimate the strength of common NEMA23 steppers while overestimating the cutting forces they need. Most hobby machines don't have enough rigidity or spindle power to require more than a few pounds of lateral cutting force.
I think your advice is spot-on if someone was designing a 5000lb vertical mill out of steel, but hobbyists building DIY bench top machines face a different set of problems.
Hobby level machines are almost always limited by rigidity, not movement motor torque.
I'm fine with you advocating for steppers for non-contact or drawing work (laser cutters, engraving and so on). But if you care about your tools, you don't want to wait for hours for what should be a small job then add the bit of money for a servo or a hybrid solution, on the total cost of the machine it won't make a lot of difference and the machine will be so much more reliable and faster that you'll end up using it much more frequently.
Right tool for the job and all that, bench top CNC with small servos is a very powerful tool in the hobbyists arsenal, and if you scrounge ebay you'll find they can be quite affordable. Note that anything that cuts has a stand-time, and if you move slower or make many passes because you can't really cut then you will end up spending a fortune in tooling which at some point will easily outweigh the price of the feedback mechanism, which automatically compensates for increased load and toolbit wear.
I wasn't. You'll never make it through your first resonance point without current feedback, and a good stepper driver can easily go into very large multiples of that frequency.
Then there is microstepping.
> Most hobby machines don't have enough rigidity or spindle power to require more than a few pounds of lateral cutting force.
This is true, but a different problem.
Hobbyist CNC machines simply don’t have the same issues as large commercial-grade CNC mills. None of the popular hobby CNCs use closed loop motor control. Skipped steps are simply not an issue at this scale.
I think it’s microstepping. Steppers with microstepping enabled and controlled by an 8-but micro must be assumed to produce zero holding torque and assumed they always miss a step or two.
https://www.tindie.com/products/33366583/grbl_esp32-cnc-deve...
The developer is really responsive, might be worth collaborating since you have put in similar work.
Grbl ESP32 is great. Easily the best of the firmwares I've used so far.
In my case I'm not building a CNC, but controlling the axes of a microscope (X, Y, Z) plus the intensity of the illuminator and likely several other things, so the 6-pack (which I also use on my CNC) had what I wanted.
Oh, you can also use either onboard or external motor drivers with the 6-pack- external motor drivers are good for NEMA23 and other large motors.
Nice, we use CNC microscopes at work for automated feature dimension measurements, they're incredibly useful for validating milled parts and inspecting wear patterns over time.
Thanks for the info, I'm going to have to upgrade again soon it sounds like!
I already have a CNC controller with stepper drivers. Do servos have a stepper interface, and internalize all the servo logic and feedback? IE, can I just buy "servos" that have internal feedback, and send them the same step and dir signals, or SPI signals, needed to drive steppers?
Or, do I have to replace my controller/drivers with a servo-specific driver? The reason I ask is that I have an extremely inexpensive stepper system (grblesp32 6-pack controller with external drivers) and cheap steppers, and definitely am hitting the point where I have to dial back all my parameters to finish cuts without dropping steps.
Servos are great if you're working with huge forces, need a lot of speed, need ridiculously high accuracy, and have a team of engineers to actually build and tune the thing. Ridiculously expensive and complex unless you're looking to go into busines manufacturing CNC systems.
The most reliable build setups we have are kevlar belts coupled with 16:1 reduced stepper motors, and decoupled encoders that index using constant pressure rack and pinions. Even pre-tensioned ball screws give us enough slop to be a problem without encoders, and kevlar belts are an order of magnitude cheaper; going with a reduced stepper vs a servo takes the cost down by half.
Even a cheap encoder, when decoupled from the motor, and directly coupled to the axis it measures, will give better axial positioning than a servo. It boggles my mind why people seem to ignore this in favor of a motor that knows where it is in space, but doesn't know where the axis it is driving is in space.
My experience has been roughly opposite of this. If you overload your motors, you're going to lose positional accuracy and probably wreck your workpiece regardless of whether you use steppers or servos. If you don't overload your motors then the difference is moot, and with steppers there's less to go wrong.
Hobby-scale machines shouldn’t need closed-loop systems for positioning during cutting operations. Especially if they’re using a 300-400W (sustained) consumer router as their spindle as this article suggests.
Cutting forces at this scale are in the single-digit pounds. Nothing a common NEMA23 can’t handle with plenty of margin. Trying to push a low-powered spindle through the workpiece on a low-rigidity hobby machine causes more problems.
Nothing against your advice just providing another option that uses steppers that don’t skip an occasional step (that is to say that if you ask for more torque from a stepper than it can handle, smart or not, it will not produce more torque out of thin air).
If you're using surplus parts, then getting enough documentation to make a servo system work can be touch and go. Steppers are pretty much brain dead simple.
Even with servos, the entire machine has to be pretty stout in order to ride through a bump that would cause a large stepping motor to miss a step. At that point, if it's a homemade machine, something else will end up out of kilter too, such as your clamping or the workpiece itself.
Am thinking they'd not have enough torque, unless you gear them pretty high.
They are basically a stepper motor from the application's point of view, but with some of the advantages of a servo, as far as I can tell.
(No affiliation, just curious if these guys are onto something useful.)
If you are comfortable with soldering, motor sizing, and python, you can pick up an ODrive control board and some sort of position sensor and turn almost any motor into a servo motor.
I ended up not using them because I found it was simpler, cheaper, and fit the mounts better to buy a pack of NEMA34 steppers and a few $15 dollar encoders. Seriously, spent maybe $800 on decent quality steppers/encoders/amps for 3 axes, where the ClearPath servos would have been $1600 for the same 3 axes, but wouldn't have provided position feedback nor allowed position localisation to be decoupled from the motors (which is the best way to do things in most cases).
I think it's hard to justify the costs of these types of motors unless you have some very specific torque/speed/spacial requirements that require them. If you're building a machine that is worth >$4000 per axis, then maybe, but if not, simple steppers are the way to go.
The usual suspects for brands, personal favorite: Panasonic Minas series drivers + associated servos. Cheap, super reliable and available in just about every size that you could possibly want.