If you can, please use servos and not steppers. Steppers are cheap and ridiculously easy to interface and get good positional control out of. 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, and even then you'll end up tossing workpieces because you lost synchronization somewhere along the line.
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.
Steppers skip steps if you are asking for more torque than they can deliver. No other reason. It might be: 1) too small of a stepper motor, so it can not deliver sufficient torque for maximum load, 2) too small of a driver that can not deliver the current needed for the motor to reach its rated torque, 3) software bug that tries to accelerate the motor faster than it is capable of under the load at hand, 4) software bug that throttles the driver.
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.
Correctly designed stepper based systems use encoders or other feedback mechanisms to detect missed steps and correct for them. Open loop systems will always miss steps, and most hobbyist aimed gear is open loop because it is super cheap.
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.
You're not wrong, and when the part being cut is worth 5 figures for the raw stock, it's probably a criticality, but it's important to not gatekeep this process, lest it become a no-true-scotsman kind of thing.
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.
That's not necessarily true, it all depends on what your desired outcome is. Stepper systems can be open loop as long as you're aware of what the torque threshold is and make sure you don't exceed that. Obviously a crash would exceed that, but there's ways to detect that (e.g., stallguard on Trinamics stuff) without adding an encoder. The whole point of open-loop stepper systems is that you make sure you stay under the torque limit by a margin (say, 30% or so) and you are fine. A properly designed system should never lose steps ever, besides in a crash event. Or if you load it up with too much side force, but you can get that on any machine.
Servos and closed loop systems are almost mandatory on large commercial mills due to the sheer scale and mass involved, but they’re not as mandatory on the hobby level.
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.
Stepper motors also have resonances that you can excite with typical step pulse trains, that can also lead to missed steps while technically not overstepping the torque budget.
You can work around those resonance points quite well if you know what you are doing, the trick is to realize that the back-EMF around those resonance points can be so high that your stepper is momentarily generating power rather than consuming it. If you try to force it through that point by adding more current then the stepper will stall completely. A properly designed driver that is matched to the load of the stepper will use a complex voltage/current model that will drive the stepper just right to avoid this problem.
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.
That is exactly what it does. This is also a setup that will work fine, but it is actually much closer to how a servo would operate and negates quite a bit of the cost difference due to the far more expensive drivers, with encoders and current sensing on the stepper wires.
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.
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.
Classic industrial robotics and CNCs have and have always had sensors - encoders for position, plus the servo amplifiers give feedback for the amount of current the motor is using, which is proportional to torque. You can definitely use feedback from those control systems. This has been true since the earliest systems in the 70s, and is only starting to become optional with recent hobbyist 3D printers and stepper-based robotic arms and such.
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.
From what I have seen, what some of the research gets wrong is focusing too much on actuators and less on the frame rigidity/dynamics. Even if it's possible to arrive at somewhat okay-ish position performance using vision based feedback, the control system can't really cope with dynamic issues (imagine an end effector on a thin, long piece of wood: even if you can move it around to a certain position based on vision feedback, once you change the load on it, the piece of wood bends, once you decrease the load it snaps back etc).
In theory you can compensate for this by detecting the movement/vibration and moving the cutter to compensate. You "only" need 100khz sensors, fast processing and super quick actuators. You can lower this a bit with lower depth of cut and slower feed rates.
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.
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).
Yeah, it definitely needs to be done- if not for other reasons then just to find out exact machine limits and have more data for the next design iteration.
open loop/closed loop. (though industrial arms will have proprioception too).
Note a good fast moving robot arm needs position feedback in the 100kHz range, which a lot of sensors are nowhere near.
You just need enough margin with steppers so you don't lose steps. Particularly during accelerations. That margin shouldn't need to be x10. It also depends on what screws you're using and whether there's any other reduction. You can get huge linear forces from a relatively tiny stepper. You're also going to need margins with a closed loop DC brushless/servo system otherwise while you won't lose your position you will get a position error.
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.
Agreed. High powered servos and associated controllers are great with an infinite budget, but properly sized steppers are perfectly fine for hobby CNC machines.
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.
Those are great if they’re in your overall budget. Depending on machine layout you could need 4 of those. Spending $400 on motors alone puts this firmly in the very expensive end of the hobby CNC spectrum.
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.
Does this also hold when using drivers like the ones built by Trinamic? A servo is essentially a feedback control loop, ensuring your motor will slow down if is reaching its torque limit. As I understood the data sheet for the Trinamic controllers, they can measure various parameters (e.g. back EMF, applied current,...). Cooperating with the motion controller, a similar feedback loop can be implemented. (Thinking about this, a servo would need to "talk" to the motion controller as well anyway - if the motion is lagging behind due to a torque limit, the motion controller needs to compensate for that instead of just scheduling motion on an independent axis).
> Steppers are cheap and ridiculously easy to interface and get good positional control out of.
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.
I think he's exaggerating for effect. Properly sized steppers have more than enough margin for rapid movement on hobby machines without losing steps ( Video example at 1000ipm: https://www.instagram.com/p/B1wSmXfnm6C/ ).
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.
To be precise, it's not the strength of the stepper, it's the gearing through the screw that converts the torque of the stepper into the force on the tool.
At the hobby CNC level (what’s being discussed in this article), the rigidity of the machine is far more of an issue.
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've built a whole pile of CNC machinery, both lightweight and heavyweight. If you don't actually care about what you produce, fine, go with open loop steppers. If you want to control a device that produces accurate work products that do not need extensive rework (or to be tossed) then use something with a feedback mechanism.
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.
I think you’re approaching this discussion from a commercial/industrial scale.
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 long had dimensional accuracy issue that the whole axes seemed to stretch and contract like 5%, on a cartesian 3D printer, and it just went away after I switched to Servo42B setup.
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.
I'm running one of these on my Lowrider 2 and it's pretty great. The only real issue I've had was with limit switches (I got cocky and didn't use shielded cables, then ran the sensor cables with the stepper ones, so I had to add pull-ups and filtering caps to smooth out the noise... lesson learned!) The web interface does seem to crash semi-regularly if you step off the straight and narrow but once you know the pitfalls it's great to be able to drive your router around with a laptop or phone, and to be able to upload files over wifi.
I've been interested in upgrading to his newer boards, but I'm not sure I want the added complexity at the moment. Have you used the generic modular one? If so, how does it compare to the older one I linked to?
Interesting question; I just had to go through this myself. I really only wanted 3 axes and considered the older one you linked to (which isn't marked 'retired', but is "out of stock"). The first thing I'd mention is that the older board doesn't support the new style of drivers (old = TI DRV8825, new = Trinamic SPI). SPI drivers are much nicer for a number of reasons, in particular you can change the motor current via software, and with the trinamics there's support for stallguard.
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.
I've heard so many good things about Trinamic drivers, but never had a good opportunity to use them! I'll be fixing up a friend's 3018 generic soon, might be a good time to give them a try. Changing current on the fly is a killer feature!
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've been curious about this for a while- I've got a modest CNC (X-carve) with steppers. If I wanted to upgrade my machine to feedback servos, how simple could it be?
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.
Or just use a gear reduction? You really need to be dealing with high force systems to justify the cost and added complexity of using servos. I've built a mill from scratch that can handle decent sized steel milling using NEMA23 sized steppers and some decent 10:1 gear reducers and a nice spindle. IMO a better spindle and structure is where you should be spending your money, and if you really are afraid of losing steps, you should use encoders that are DECOUPLED from the motors, not integrated into them...
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.
Gear reduction gives you slop, if you need to reduce the better way is probably using a kevlar toothed belt and two pulleys. Still not perfect but better than gears. Finally, the best way (and most expensive way) is by using a properly pre-tensioned ball bearing driven spindle ('ball screw').
I work in the non-destructive testing industry, testing aerospace parts. We build CNC testing rigs fairly regularly, with x and y axes longer than 30 feet, and carry loads of >1000 lbs. These need to be able to center on holes with diameters of <1 mm, because that's what we calibrate our equipment on.
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.
Ah good point, yes, at those lengths you really don't want ballscrews, they are impossible to support and will warp. But for short distance (up to 8' or so) with a support on either end they are fine.
Yeah, my brain is kinda tuned to those long distances. I also kind of harp on people who say they need really high precision systems, so use servos and spend bookoo bucks on slop-reductive hardware.
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.
> 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, and even then you'll end up tossing workpieces because you lost synchronization somewhere along the line.
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.
In practice, hobby CNC machines use the closed-loop feedback systems to halt the machine and alert the operator that something has gone 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.
You could always run smart steppers like Mechaduinos or the similar option from Big Tree Tech. Your firmware might not even need to be modified, though there is work being done on Klipper to run firmware directly on the steppers so each one is treated as an six board responsible for a specific function.
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).
Yes, that's an option. Technically that is a servo system from a classification point of view. Anything that contains a motor, a controller and a feedback mechanism is a servo system.
I actually see that as an option (ODrive) in the featured article :). I am really curious to play with them myself as I’m about to start building the MPCNC.
Stepper motor drivers that support stallgaurd (trinamic's stepper drivers) seem like the best of both worlds, and even in-theory can give you some force feedback.
At one time, it was harder and more expensive. You could do open loop stepper control with four big transistors, some logic, and a whopping heat sink. Closed loop meant learning how to tune the loop, and also involved the cost of the encoders.
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.
You might be able to interface Mechaduino or MKS controllers between your steppers and drivers to make them pesudo-closed loop. They still get driven by step+dir however the position is continuously integrated by the controller and stepper is driven directly to the correct position based on a fitted magnetic encoder and calibration profile.
For their size those are very impressive, I'd be quite concerned about cooling them but there must be applications where their form factor would be a game changer.
Further down the page, they explicitly call out CNC applications. ("IQ motors are smoother, quieter, and more efficient than stepper motors, and they will never skip a step or get lost.")
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.)
Just judging by the torque specs and comparing to a nema23 stepper, seems like it needs an order of magnitude more torque to compare. Note that in the comparison chart they compare to a nema11, which is tiny compared to the steppers used in most hobby cncs.
OP here: Teknic Clearpath servos are considered good value and come in lots of different sizes/price points. Wiring them up could not be simpler, but know that you need a windows computer to tune them.
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've purchased a couple of these for UT CNC systems; definitely good bang for your buck, but that's if you need to drive a 1200 lb bridge at 6 in/s, and have $600 per motor to spend.
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.
Ebay. That's by far the best place to spot really good gear for a small fraction of the sticker price.
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.
I've looked into this a few times and it always seemed like there is a huge abundance of servo motors, but the market for servo amplifiers seems to be tiny in comparison. I always suspected this is because the electronics of decommissioned machines are just scrapped wholesale. However, I am also wondering what people are doing with all these servo motors without matching cabling and amplifiers.
Good point, amps are a bit harder to get by than motors, but then again, there are plenty of them on offer. I only paid full price once for a set of servo amps and that was because I wanted to have a particular type for a very special set of motors (pancake servos).
How do you deal with the proprietary connectors on the motors? Replace them or only go for motors that come with stub cables? Proper replacement plugs probably cost about as much as a used motor... and most seem to be sold without cables/plugs. (Unfortunately it is hard to search for this stuff, because everything is "polluted" with model making servos)
I work with commercial CNC machines. I think people are missing out on the second hand commercial market. One of our most reliable CNCs is an old pod and rail that cost $10k. It is much more than any hobby machine.
Please if you're getting into this look around at second hand machines. You'll be able to do really well if you want to setup an old 90s machine with new electronics. It's not as complex as building one from scratch and you get much better mechanical components.
How much would these machines have cost when they were new? Just trying to get an understanding of the price break vs the "risk" with older equipment. Time goes on and I imagine the motors + other mechanical components improve.
But maybe that's a bad assumption from working in tech for too long?
They do wear out. But some of the things will last and last. The square frame will last forever unless it gets a really big impact. This is important because holding square is the only way you are going to get accuracy. I have no idea how people do this with a self assembled frame.
The main spindle might have issues with bearings but you should get a lot of life out of one. Ours run 16 hours a day and last 10 years plus. As a hobbyist even if you buy one with 95% of its spindle life left you are not likely to wear it out.
Keep the machine greased and it will last. A good machine will come with a service manual and tell you how often to grease each part. Most will have an auto greaser that will do most for you. Just have to keep it topped up.
All parts are easily replaced. Except the electronics and the computer but if you are wanting to build your own you're replacing them anyway so it's not an issue.
Vacuum pumps need regular servicing and replacement Blades every now and again but again hobbyist use they will last a long time just keep the filters clean.
They are almost always 3 phase so that might be an issue.
They have AC servo controllers that you would have to interface with and normally have a can bus for all the peripherals I don't think it would be too much to get all of that going.
Thank you for the details! That's super neat to know about. Going to keep this in the back of my mind for the future. I just moved into a place with a garage :)
I'll have to search for a way to run 3 phase power out of residential. Not sure if that's even possible. I'm curious though!
Oops just realised I didn't answer the price question. It's hard to give a price. Our pod and rail would have been $300k +- 50k new. A top end in that range could be up around $750k. The low end maybe $150k.
The type I work with are for wood working. Manufacturing cabinets and furniture. So very big (6m long work surface) but not capable of metal work. But there is a huge range out there.
Most new industrial 3 phase equipment is running from a VFD which gives speed control. 20 years ago 3 phase was used because the power company would supply you 3 phase, and otherwise single phase was used. Today many home washing machines have 3 phase motors, since a VFD is cheap and 3 phase motors have some nice features.
And you can now get cheap single-phase to three phase inverters to drive that gear. You won't be running it at full power but a 240V socket will happily drive such an inverter/motor combo at rates that most hobbyists would be more than happy with.
Single phase to 3 phase inverters are just a different name for VFD. Running a 3 phase VFD on single phase (tieing all 3 phases together) works if you derate the VFD/inverter. An inverter designed for this application should already be rated correctly.
There is no derating the motor when running on a 3 phase VFD/inverter if you have the correct specs for everything. If you are trying to run a bigger motor than any link in the chain it might work so long as you don't try to draw more power from the motor than the weakest link in the chain.
There is a static phase converter which does derate the motor. They are the cheapest way to run 3 phase from single phase, but otherwise don't have much to recommend them. They are NOT inverters.
> Running a 3 phase VFD on single phase (tieing all 3 phases together) works if you derate the VFD/inverter.
Interesting, I've never tried that.
Yes, those cap-and-coil based 3 phase 'convertors' are more of a fake 3 phase than the real thing and they will put a lot of stress on one of the three phase windings of the motor and hardly any on the other two.
They are on most auction sites but your best deals are going to be liquidation auctions. There will be auction houses that specialise in these in your part of the world.
You can look for second-hand components and machines at surplus industrial suppliers and auction houses. When an old product is deprecated, it's often cheaper for a big manufacturer to get rid of the equipment and buy new for the new product line, find out where obsolete equipment is going. It's not worth paying $100/hr for an integrator to repurpose with no warranty, but at hobbyist $100/week budgets that scrapyard is full of treasure. Some manufacturers and integrators will have "boneyards" of old equipment that they'll purge on occasion.
The article said that Teknik Clearpath servos are considered a great value, and they are, but even their smallest fractional HP 24V motors cost more than some name brand Allen Bradley (unofficial slogan "you can get better but you can't pay more!") 3-phase servos at my local supplier: https://www.surplusindustrialsupply.com/motors-mot.html
These places are like a garage sale for industrial lego.
Auctions. There are any number of online auctioneers selling off machine shop tooling (going out of business, upgrading and getting rid of old stuff, etc.).
I haven't bought CNC machinery that way, but I've gotten tooling, measuring equipment, etc. for pennies on the dollar buying from auctions.
Growing up my dad was a machinist. This was in the 80s and CNC was what he evolved into from manual die cutting. He did a lot of government work where they most often times didn't know what the part was for or it was only a subset of the components. Most often times he'd be working on a 10+ ton die for a huge part, think landing gear, where the tolerances were in the thousandths. I always thought that was amazing the precision he could achieve by hand. That became even more remarkable to me as I got older and realized machines were now doing the math. About 4 years ago I built a homelab CNC. I wanted something more robust than a lot of the belt driven options out there and settled on a company called CNCRouterParts (now called AvidCNC) [0]. The downside is it consumes a fair bit of space. But between the laser cutter (Glowforge), 3D printer (Prusa) and CNC (CNCRouterParts) you can do quite a bit of light fabrication at home these days.
Making large, precise workpieces is an artform, you have to take temperature of the workpiece into account, compensate for that, expansion of the bed and so on. Very tricky to do that repeatedly with any degree of accuracy.
The grad students in the lab next door have to sit meticulously for hours/days with dental drills drilling out samples from rocks. I was hoping to be able to automate it with an affordable CNC machine (and an attached scanner bed) – but I seem to not be able to find any clear information about step sizes. Here it says microstepping is bad....
I also don't really need to do any milling, just adjust to the right x-y position and punch a tiny hole and collect the dust. Milling rocks in any case is a no-no from what I understand. Maybe someone could suggest some ideas for my .. unconventional requirements :)
The samples are pretty small (maybe 20cm^2 at the most) and I don't need to do it fast... And I prolly don't have a huge budget
I tend to disagree with the author there. Microstepping isn't "bad". The biggest issue with hobbyist setups is that they have problems with the higher step frequencies required. If you have a good controller and driver you should probably go for higher micro stepping resolution. It will give you smoother motion (less vibrations/unintended frequencies) and better positional accuracy.
Anyways, for your use case it sounds like that isn't relevant. What positional accuracy do you need? What screws are you planning to use? Start there. Most likely a full or half step setup is more than enough for your purposes and just make sure you set the motion parameters right... The cheapest solution for X/Y positioning is going to be something like fixed voltage (just using some transistors to switch the stepper motor phases) and stepping via software at slow speeds.
What's your budget? What's your more precise requirements? (working area, accuracy, speed etc.?) What can you build yourself vs. buy? Depending on what you need and what you're comfortable building it's either a trip to your local hardware store or just buy a cheap off-the-shelf 3-axis CNC kit.
I would personally save your self a bunch of effort and get a openbuilds/ooznest workbee.
Its a kit, should be ~$1700 all in. Its repeatability is rather good (0.05mm something like that) the firmware and software are all tuned for that machine (assuming you use a kit)
sure you can just do it all yourself, but if you've never done it before its going to cost months of your time
It's not more complicated than that. There is a confusion between incremental torque, which does get reduced (as correctly noted in the above) but only because the increments get reduced, and stall torque or holding torque, which in almost all cases do not. The latter are the ones that people generally care about, but because they read about a reduced incremental torque, they get the misconception microstepping creates some torque compromise.
But a full-stepping motor also has bad incremental torque for small displacements; by disabling microstepping you're just forfeiting the option to command them.
If anything, microstepping lets you run even closer to the motor's torque envelope, because you're less likely to induce a dynamic stall by either exciting a resonance or letting the stator's magnetic field get too far away from the rotor angle.
And watch NY CNC and This Old Tony on youtube. Once youtube starts recommending more CNC channels on account of watching these two you will be addicted. Watching CNC cutting is probably the most relaxing way to waste time.
Best advice I read before I purchased my CNC: “buy your second machine first”. Five years in and I’m still growing into my 4’x4’ CNC (CNCRouterParts/Avid CNC). Love this thing, only thing I wish for is more time to use it.
OTOH, I built an MPCNC router that is good enough for all my needs, and was also the cheapest solution I could find.
I not only don't want to replace it, but I bought a diode laser CNC in addition to it. I could wish that the laser had a larger bed or was more powerful, but it really can do the vast majority of what I want. I maybe eventually buy a better one, but I doubt it.
Going budget on both of these was a good move. It gave me what I wanted while not wasting money.
Building my own 5ft x 10ft CNC from start to finish (ie frame design/welding to integration of a controller/software) was an amazing journey to learning various engineering concepts involved in making an industrial grade machine that churns out accurate machined parts every time and all the time (my case being wood/composite materials and sometimes aluminum). Video of my machine here: https://youtu.be/qpLQEtcjPSY. Here’s a video of the machine pocketing text CNCZone https://youtu.be/NQFKHyqxvJw. CNCZone is a great resource forum for DIYers.
The machine you built is very professional looking! Great job! I wish more people did high quality "last mile" integration" on their machines. Energy chain and powder coat makes a huge difference in perceived quality.
Couple of questions:
1. Why did you chose to mount the Y axis servos in that orientation instead of where the axis of the servo is perpendicular to the floor?
2. Since you welded the frame, how did you manage the mount the linear rails square? Shims? Post weld machining the frame via bridge gantry?
3. What was the total cost of this vs buying an OTS machine? I'm guessing around $12k.
1. How the Y-axis Servos are mounted isn’t the ideal orientation. Some of my initial decisions, ie for linear rails, limited my options based of what I was able to fabricate in-house. There were a lot of lessons learned and if I was to do it all over, I would actually go with mag driven linear servos if I can afford them or have the same existing Servos mounted in vertical orientation with the gear rack facing outwards engaged with the pinion
2. Good question! One of the biggest challenges of starting to make your own machine are the real life unknowns, which might yield one answer theoretically, and another in practice. Trying to balance between a realistic budget and wanting a unicorn setup, I realized that it was out of my budget to machine the entire base frame for this machine. So, the Y-axis gear rack was basically mounted to base frame using self tapped holes, some shims from McMasterCarr and very long hours with a Mitutoyo dial riding back and forth. Since the gantry was much smaller compared to the base frame, I was able to get the X and Z axis machined from a local shop. Here’s pix of that: https://imgur.com/a/RLEETAm. Due to the DIY nature of my project, I was also not able to stress relieve the weldments but was still able to achieve 0.001” tolerance for my use case materials (with the exception of aluminum which is probably around 0.01”).
3. Having made some mistakes along the way and doing this for the first time, my actual expense was around $23k over 1.5 years. However, that also includes a very nice 2x high volume Busch 20kW vacuum setup for the vacuum table (which I got for a steal deal on eBay). They would normally run $20k/ea but I was able to find and fix DOA units with minimal work for around $1600 for both.
Thank you for the extra photos and info! It really helps. Especially with the notes on the motor mounting. Have you spec'd out Linear motors for your machine? I have been eyeing Yaksawas's product. But I'm scared to RFQ the product due to sticker shock :)
I just started building a MPCNC, so I still have time to change one thing or the other, so I'll give your post a good read. Thanks for taking the time to write everything up.
In the German community Estlcam [0] seems to be used a lot. With a 50€ price tag it seems quite reasonable and it might be a nice piece of software to try out.
I had a CNC, mill, and lathe but the biggest problem is how expensive it is to operate it (excluding the machine). You want a good end mill? $100. Vacuum plate because why not? $400. You have to use some serious cash to machine parts which forced me to pretty much use my 3D printer most of the time since it cost me $2 rather than $50 to make the part.
I bought a big old mill for $200. Where can I find even one cat-50 tool holder and cutter for $100? I have room for such a massive machine, most people don't which is why I got it so cheap. (or a way to move - the typical fork lift won't budge it)
I actually got two for that price, but on closer inspection one has a fatal break in the casting and so it is scrap - I expect to make $2500 once I get all the valuable parts off of it
if you find cnc routers cool, as i once did, i recommend you check out the world of machine tools- i.e. things that are used to make steel (and aluminum) parts. i would suggest starting by understanding how a manual lathe and vertical mill work (blondiehacks on youtube might be a good place if you are totally unfamiliar), and then seeing how they are driven with cnc is very cool. though that part is somewhat similar to cnc routers, but just much more demanding. and the precision is incredible if you arent familiar with the world of machining- even low grade hobby machines can hold tolerances of 1 thousandth of an inch easily across 18" of travel. its also a very interesting world because its been steadily evolving over the last 100 years, and metalworking for who knows how long before that. just be prepared to watch 1000's of hours of youtube videos, machinists like to make 45 minute+ videos for some reason.
If you’re interested in a garage-size router and don’t have the time to build, I suggest the Omnio X8 - starts at 2k, and all tooling an upgrades will probably run to a total of 3k.
I designed and built my own CNC router from scratch about 10 years ago. I just recently got it out to play with... Fun. But boy does it make a lot of dust to cut wood with a router (which is mostly why it's been sitting in the garage for so long, plus not a lot of time, plus it's not a very practical one, small work area).
EDIT: Random tidbit is that I control it from an old PC's parallel port. The PC runs DOS (the best real time OS ;) ) and uses some old free software called TurboCNC that can read G code and drive step and direction drivers. It has it's limitation but if you have an old PC around...
Very cool! A modern analogue might be LinuxCNC, which runs on old PCs in a realtime manner, generating pulses and sending them out the parallel port, or sending commands over ethernet to a dedicated step generator board for ultra accurate timing. What's old is new again!
I wanted to check it out at some point though I'm a little scared about the ability of Linux to pulse step and direction with the same precision of a 15 year old DOS setup that has no background tasks and just hits that timer interrupt with very predictable result... The motion generation capabilities of TurboCNC are pretty basic though.
I'll go through my saved links tonight. I remember it was a bit of a cludgy operation, like all things new+Linux, but after I got everything setup it all worked as expected.
I have an 8x4 foot machine, and it’s a big boy, old software I don’t like, steppers, i rarely use it... but I know ONE thing for sure, I would probably not recommend a wood frame. Our steel frame weighs a figurative ton (or metric literal, IDK) and it STILL is not stiff enough for large 3D contoured parts with tons of little steps.
I'm running a 5x10 which physically is 7'x12'6" with Nema 34's. No lost steps over the years, aside from crashes. It will snap a 1/4" bit without losing a step. It's on a steel frame that is 900+ lbs of steel with 3 sheets of 5x10 3/4" mdf and it still vibrates every now and then. Machine time to planning/cad work is probably 1:10 which is about in line with my development work - 10hrs design for each hour of programming.
Mostly utility stuff around the house. At one point, a custom chicken coop. My use case is unlike commercial/industrial. It serves as an 'infinite jig', a work bench and a platform for experimenting. I can see driving it with Klipper. Mach3/gcode is like batch mainframe work. Klipper/Python could make for a much more interactive experience. eg. vision for work piece alignment and then be able to say "give me a 1/2" dado down the back with system 32 shelf pins.
This is a great resource. I've been slowly building one over the last couple months and had to learn all of it from various sites. It's nice to have this all in one place.
It's a 1000mmx600mm gantry design I made in fusion 360. I've been mostly copying a commercial design (omio cnc). It uses 20mm aluminum plates, ground rails, and ball screws.
For electronics I'm using a teensy 4.1 based grbl board (grbl-teensy-4) with external stepper drivers, 34mm steppers, and a 500w brushless spindle. I'd go bigger on the spindle but I'm limited by wattage.
The hardest part for me is the hardware. My design is simple based around plates with holes in them, but a couple plates require threaded holes in the end.
If you are a software guy, drilling a 12mm horizontal hole 30mm deep into the edge of a 20mm x 400mm plate is surprisingly difficult. It won't fit in my drill press that's for sure.
> If you are a software guy, drilling a 12mm horizontal hole 30mm deep into the edge of a 20mm x 400mm plate is surprisingly difficult. It won't fit in my drill press that's for sure.
Welcome to the wonderful world of jig-making. "Making" jigs has about the same amount of "making" like "coding" in programming. You have to invent or search for a jig which will make that task doable. I suggest clamping lightly two planks to sides of your plate, make a thick block with your desired hole, then screw that block onto planks so that your hole is centered between them. Now you have a guide for drill.
>If you are a software guy, drilling a 12mm horizontal hole 30mm deep into the edge of a 20mm x 400mm plate is surprisingly difficult.
Punch to center the first hole, then a center drill to start, then pilot holes at 3mm, 6mm and 12mm, use duck tape on the drill bit to keep the depth right.
If you really need the holes to be dead straight use a handheld router those are a great thing to have anyway and pretty much all of them have 100mm of or so of travel.
If you're drilling into something very hard skip the 3mm.
I miss TechShop. A Tormach 3-axis mill and Shopbots in several sizes. I don't have enough need to have my own shop, but I was happy to pay TechShop to use their variety of machines.
I very rarely use browser bookmarks, but after reading every letter of this post I just had to bookmark it. Such great writing with short and to the point explanations about ALL the things related to CNC mills.
Some years ago I actually tried building my own desktop CNC. A lot of the warnings and "don't do this" mentioned in the article have gone into my design, which is why it never ever worked or did anything and is now laying disassembled in a box.
HN is small but self-selects to have people who tend to care about what they do so anytime I find myself thinking that for any topic it usually turns out I'm wrong.
The most niche thing I actually care about is probably Cold War espionage, and even if the exact thing I mention doesn't ring any bells with any commenters, someone will usually chime in with at least familiarity with the people involved.
Dan's company, Creo, used to build high precision machinery very similar to CNC machines. He used to give some amazing tech talks and his videos are similarly amazing.
This is a really good starting place but as someone in the middle of retrofitting a commercial CNC, it's missing _a lot_ as well. My highlights while reading:
- For an Aluminium frame, you could also use solid Aluminium bar or plate. Depending on your location, it might be cheaper/easier to acquire. One benefit is that plate especially can be purchased pre-milled, so you can get it very flat, which is good for things like mounting linear rails, which require high-tolerances from their mounting surfaces.
- Missing from the "Linear guides" section is the varying tolerances and rigidity specifications of the various options. Linear rails can have some crazy high ratings for stiffness (e.g. page 27 of [0]) and high degrees of parallelism and overall precision. Shafts are often unspecified. However a tradeoff here is that linear rails also require high tolerances from the surfaces they're mounting, otherwise they're out of spec and can wear out quicker. It also misses that rails can be quite expensive. I'd also add that though the rails are low-profile, if you want more clearance you can always elevate them.
- Missing from the "Linear actuation" section is how much stuff and expense goes into a proper ballscrew setup. In addition to the ballscrew and nut (which usually have to be purchased pre-assembled together), you also need a fixed support to hold the motor-end of the screw (this keeps the axial load off the motor), a floating support at the opposite end of the screw, some kind of mount to hold the stepper motor concentric with the screw and a coupler to connect the screw to the motor shaft. Ballscrews can also be expensive.
- I'd actually add a whole section for the stepper drivers. 3D printing in particular has led to some interesting options that can be applicable to smaller DIY CNCs. Trinamic stepper drivers for example are able to drive stepper motors silently, even with high current.
- I'd add accuracy to the pros of servos. They're typically limited by the resolution of the attached encoder, which can be obscenely high.
- The controller section is focused on Arduino-based or derived controllers which aren't much seen in much of the DIY CNC community. The most popular options by far are [1] Mach 3 and LinuxCNC/PathPilot. Personally, I really like EdingCNC [2] but it seems to see limited success outside the German-speaking parts of Europe.
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.