My next CNC project - a CNC router

DavidR8

H-M Supporter - Sustaining Member
Staff member
H-M Platinum Supporter
Joined
Oct 16, 2019
Messages
6,570
I've been jonesing for a CNC router for a while now.
Two main criteria
1) it had to fit on a 2' x3' table...my welding table.
2) it had to be able to mill aluminum with decent results.
Looked at all the options from OpenBuilds, to Scienci to DIY.
On a DIY CNC Facebook group I ran across the PrintNC design. Scaleable, open source, (I'm a big proponent of open source), fully supported by a user/builder base.
https://threedesign.store/

The preferred system for the machine is LinuxCNC. I'm complete Linux noob let alone LinuxCNC. GRBL is another option but I wanted to go with the tried and true. I found a cheap used Dell desktop tonight and installed Linux and LinuxCNC.
Well I tried to...until I ran into a problem.
Remember that user base? One kind fellow walked me through command-line inputs to delete disk partitions like I was an old hand.
And it worked. I have the control PC all setup.
On to the building of the machine.
 
Last edited:
Youtube's This Old Tony made a super heavy duty CNC router, and even his had issues with cutting aluminum. Having a rigid assembly is super critical. Also, if I recall correctly, he had issues with the cutter loading up with aluminum, perhaps because it couldn't be run slow enough. It's been a long time since I wanted that series so you might want to review it.
 
Youtube's This Old Tony made a super heavy duty CNC router, and even his had issues with cutting aluminum. Having a rigid assembly is super critical. Also, if I recall correctly, he had issues with the cutter loading up with aluminum, perhaps because it couldn't be run slow enough. It's been a long time since I wanted that series so you might want to review it.

I have watched that series. I’m not sure what the challenges were for Tony as the machine certainly looked beefy enough to have minimal deflection.
What I’ve seen if the design I’m building is that it has no problem with aluminum. Stainless seems to be doable too.

 
@DavidR8
Take a moment, and step into Linux. I have never regretted it.
Somehow you tread the road I want to go. My first try at something CNC will be to make some additions to my mill drill, but YT is full of home projects that put together CNC routers using linear slide bearings and either stepper or servo motors.

I guess I got interested when I saw Stefan Gotteswinter's "More Cnc Router Adventures". I think he also uses LinuxCNC. The nice thing about that is you can have it go full blast on a Raspberry Pi 4B, but for most folk, an old notebook computer is OK - and you get the screen built in. Some lightweight Linux distros zip along so quick they can make an old computer feel like a later generation one.

I'll be interested to see where you go with this one.
 
@DavidR8
Take a moment, and step into Linux. I have never regretted it.
Somehow you tread the road I want to go. My first try at something CNC will be to make some additions to my mill drill, but YT is full of home projects that put together CNC routers using linear slide bearings and either stepper or servo motors.

I guess I got interested when I saw Stefan Gotteswinter's "More Cnc Router Adventures". I think he also uses LinuxCNC. The nice thing about that is you can have it go full blast on a Raspberry Pi 4B, but for most folk, an old notebook computer is OK - and you get the screen built in. Some lightweight Linux distros zip along so quick they can make an old computer feel like a later generation one.

I'll be interested to see where you go with this one.
Thanks Graham, I intend to dig into Linux and LinuxCNC as that's the preferred control software for this machine. One thing I've learned is that LinuxCNC is a real-time application and that laptops are not recommended because there is too much latency. I've watched several folks try to make them work and they never succeed. That said it does not take much computing power to run so almost any Intel based machine will work.
That said, I run my CNC plasma cutter (totally different use case) from a laptop running GRBL on an Arduino Uno board so a very different animal.
 
Latency - It depends which distro, and it depends how one sets up the kernel cycle. You can set the task scheduling latency, which is something routinely done. Even within the distribution you have chosen, you can head to the software install tool, and install either the low latency, or the real-time kernel. The chances that you would seriously need to do this are low. This is what goes on for those doing audio applications and professional video editing.

At least for Ubuntu-based systems, there are "regular kernel", then the "-prempt kernel" available for 64-bit systems (known as amd64).
If that is not enough, or you have a 32-bit laptop, then there is the "-low latency" kernel.
If that one is not enough, you have the "-rt kernel" which adjust the schedule even more, but can challenge stability.
If it it is not stable enough, there is a special kernel written for this, the "-realtime" kernel.

Speed & Accuracy
I have used regular laptops running Linux to track low earth orbiting satellites where the drives had X-Y axes instead of Alt-Az. Each servomotor has 8192 per rev for speed resolution, and Renishaw 26-bit absolute feedbacks, of which we used 24-bits, for position resolution. We updated the demand at 40Hz, smoothed, and predictive. That's 1/16,77,216 of a turn. That's 1/46603 of a degree, or about 13 arc-seconds. The servos in full speed move, close the loop continuously to hang onto the satellite with about 0.02 degrees following error. When they stop on a geostationary sat, it's hard to measure the error.

It's damn difficult to find and hang on to these things if the dish gain is high. It's not like a wide beam dish on the side of a house! One has to know where they are, how fast they move, and worst of all, you have to get that position at an exact celestial time. So you use a Linux program to sync up the computer clock to NTP and the NIST standard so you can know the PC clock servo control is within 300uS of actual. That a simple, relatively slow PC can drive two servo-systems to an accuracy beyond what a machining CNC system ever needs, in real time, makes me think that if these are "not recommended", then they are maybe doing it wrong. Horrors, maybe LinuxCNC is inefficiently written? Somehow, I don't think so.

Nor do the machines need to be Intel-based. I happen to have a Intel i7 860 on the PC here, but AMD types work just fine. Even the Raspian on the Raspberry Pi using an ARM RiSC processor in a BroadCom CPU seems to manage OK.

My point is, CNC has been around for many years, using computing that, by modern standards was old and slow. Almost any PC younger than about 2010 would look "fast" to this stuff. So I don't understand why CNC is so hungry. Maybe I now have to learn what are all the new CNC loads that now challenge the computer latency.
 
I definitely don’t claim to be an expert in CNC or Linux. Most days I have a hard time spelling CNC. :p

All I can say is that the first activity after installing LinuxCNC is running a latency test.
I’m planning to use a Mesa Ethernet board because I don’t have a parallel port on my machine. Apparently Ethernet boards can handle more latency than the parallel ports.
Absolutely no idea why.
 
Apparently Ethernet boards can handle more latency than the parallel ports
Yep. The FGPA chips on the Mesa cards handle the time-sensitive step/pulse stuff. The Mesa boards are NOT 'motion controllers' like with Mach3 and the smoothstepper boards, or UCCNC boards, or similar things. There's no buffer, and all trajectory calcs are done on the computer/Rpi.

This means that any latency - uneven command timing - is sorted out on the Mesa board and what goes out to the motor drives (pulses, or voltage changes for analog drives) is very even.

The ESS and other motion controllers have a buffer because Windows is not 'real time', and the timing of commands is not precise enough for motion purposes.

Keep in mind that I'm not an expert by any stretch. My first Lcnc conversion is in progress at the moment, and I'm finding it painful.

As for the router... The gantry and head are everything when it comes to stiffness (and resulting lack of chatter). I'd suggest staying away from extruded aluminum profiles despite the temptation as they're so easy to work with. Square or rectangle steel tube - or even aluminum - is better. Remember that steel is 3x stiffer than aluminum.

Make it heavy and stiff, and with the small size you intend you should have no problems driving it around with ballscrews at a decent speed.
 
Just thinking out loud here...
I would love to convert my mill to CNC. Or possibly do what you are doing Dave and build a small-ish platform CNC. Or do both. So little time...
I am curious about the Linux control platform. In one of the other conversion threads on this forum I had mentioned utilizing Linux and was offered a rebuttal as to why it was not the best choice and to use a different control platform. I wish I could remember what the reasoning was.

I have some experience messing around with a large Shop Sabre (Shop Sabre) cutting aluminum. We use a mist system on it which is essential for cutting in aluminum. Without it, the cutter will load up nearly instantly and most likely break, especially if using carbide. Two flute cutter also.

I have considered the Grunblau CNC. I really like his design. https://www.grunblau.com/ Scroll down to the bottom of his page to see his CNC. Also a build thread here https://www.cnczone.com/forums/diy-cnc-router-table-machines/175897-cnc.html

EDIT: Just looked at PrintNC and that looks awesome! Love the linear rails.
 
Back
Top