Kb58's granite CNC router build

As I build the router, I keep seeing more and more examples of over-constrained sub-assemblies, and it seems like it's how all CNC machines are built. Take a ball screw subassembly as an example: At one end is the motor-to-ball screw adapter. It typically contains a double row bearing in a housing, rigidly bolted to a base. Being a double-row bearing, the shaft is strongly "encouraged" to extend from it on one very specific axis. At the other end of the ball screw is another bearing, this one typically single-row, also rigidly bolted to a base, so there will always be some small amount of misalignment, causing some amount of binding and/or bending of the ball screw. This sub-assembly mounts to the machine and another rigid connection attaches the ball nut to a nearly-rigid carriage. It adds another over-constrained connection, where nothing can move except in the direction designed for. That's fine - in theory - but the reality is that there are errors in every component, and misalignments in every subassembly. In theory, the router should be infinitely stiff and have perfectly aligned motion in all axis, but we know that never happens. It makes me wonder how these things work as well as they do, because there is some binding and/or bending in many parts of it to some degree. I guess they work because there's "slop" in every component, and though we cling to the illusion of great precision, I think there's some mechanical give going on between various components.
 
First, the good news:
Fabricated the Y axis coupler plates that connect the carriage plates to the ball screw assemblies. Bolted it all up, greased the bearings, checked alignment, ran the self-calibration routine, and... that leads into the bad news.

The Y servos are too weak! It was surprising and disappointing to discover that there's enough drag in just the Y carriages that the servo gradually overheats during calibration. This is of course without the gantry, Z axis assembly, and spindle setup, which is going to add another 50 kg or so. Nothing that can't be corrected with judicious application of a credit card.

Part of of this is due to a bad habit I have of "saving money": sometimes buying cheaper versions of something rather than letting engineering choose - especially if it's expensive. Saving money is in quotes because when it doesn't pan out, I spend more on the right stuff. My defense is that everything was ordered around the same time so it was a guess for how much torque would be needed. Turns out that high-quality linear bearings don't glide with zero friction down the rail like cheap ones. Because they have nearly zero play, they have quite a bit of internal friction and have to be pushed, and that's going to worsen once everything else is added.

1721851838652.png
 
The servos currently onhand are all NEMA 23 size, and the ones replacing them are NEMA 34s. Swapping in larger parts to a project already underway can cause all sorts of ripple effects, but fortunately - dumb luck - nothing interferes.

Fabricated the first Y adapter for the NEMA 34 servo. Because the servos are US-made and the motor mounts are metric, nothing lines up or matches. The adapter solves four issues at one time.

Next, I'll mock up the Z assembly to see if the larger NEMA 23 servo is sufficient because it's a fair bit of weight, though the much smaller Z carriages have a lot less friction. I'll run the calibration routine and see how it does and will make decisions based upon the results.

1721852014743.png
 
Set up the Z axis assembly for testing, using an existing servo. This is the first time the spindle was pulled out of its box, weighing 15 kg by itself. More daunting is the combination of it and the Z-axis assembly - 33 kg (72 lbs)! Due to the weight and form factor, the mill vice seemed the safest place to hold it upright. Getting it there was interesting, and a hint to assemble the Z-axis in pieces on the machine. I can see how people fear these larger machines for a number of reasons. Many pinch/finger removing points, a lot of weight moving sometimes pretty fast, and fearing it going nuts and crashing. The Z axis is trivial compared to the Y axis, and hard stops are needed on all axis, but in a way that they don't get broken off or break their mounting bolts. Yes, there'll be limit switches but that's a bit further down the road; the control box is nearly a whole project unto itself.

Anyway, the calibration ran fine and the servo hardly got warm. The test was run with no brake to see if stiction was enough to hold the spindle in-place with no power applied. It is, and now I'm wondering whether I can return the brake assembly. I think I'll keep it around in case Z-axis creep happens as the assembly is moved around. Anyway, glad that one of the now-spare servos is going to good use.

Also fabricated the second Y motor adapter. It's different because the second Y servo subassembly was built different based upon what was learned from building the first. Ironically, the first is (now) closer to correct, but oh well, they're both functional.

Regarding my comments regarding CNC machines, how they seem over-constrained: Today I was using the lathe and saw a good example of a precision assembly that is not over-constrained. The last pic shows the tail stock; note how the left side rides on a smooth face, while the right side rides on a triangular rail. That triangle is what tracks the tail stock along the lathe bed, while the smooth face just keeps it from tipping. Now imagine instead of a flat face, it has a second triangular rail. This makes it over-constrained because each rail tries to force the tail stock to move on its own path, and there's zero chance that both rails will be exactly parallel, so such an arrangement would likely cause tracking problems or lead to binding. So, yeah, I don't get how CNC stuff can be double-constrained and not bind. As said before, it must be play in the interfaces that allow them to work as well as they do...

1721852188744.png
 
The new servos are on the way (two Y axis and one X axis). This gives time to address something that's been a small but growing concern - that the rolling workbench might become a bit overloaded and tippy once the router is running. In the brief time that one Y axis servo was running its self-calibration, some of the moves were abrupt changes of speed or direction. Watching the workbench moving around was a bit... concerning. While the workbench claims a rating of 1500 lbs, I just don't trust it with that much weight up high - it needs a wider and more rigid base.

Shown is one side being mocked up with a base that'll be riveted on; there'll be an identical one on the opposite side. Once it sank in that all the weight goes through the caster wheels (duh), it simplified the design a far bit. The heavy 2", 1/4"-thick wall, tubing has a lip that extends under the lower edge of the workbench. With the tubes being offset, the assembly will try to splay outward under load - but the combination of offsetting the screw adjusters in the opposite direction, and reinforcing plates in both axis, should result in a robust solution. The feet at the back extend out 5" further than the front, providing a more stable base, and also extend out the same distance as the Y axis motors and the control box, forming something like a bump stop when moving the router up against a wall.

1721852349193.png
 
With both base brackets installed, stability of the router is much Much better. I can push back and forth and it doesn't budge. Good!

Next up is figuring out how to attach the X-axis servo to the gantry. It's an odd arrangement; normally the ball screw attaches to a bearing block, then that bolts to a bearing block-to-motor adapter, with both being attached to a base plate. What's unusual here is that only the bearing block bolts to the gantry, with the motor adapter bolting to it and extending out the side of the gantry and attached to nothing else. One solution is to bolt the bearing block to the gantry with two bolts instead of four, leaving the other two bolt holes empty. In those holes will be two bolts at right angles, screwing into the motor adapter. What I'm unsure of is whether this will be a stiff enough assembly, and it needs more thought.

1721852524072.png

1721852565473.png
 
Decided to compromise, modifying an existing bearing block that I already have (in addition to a spare, just in case). The reason to modify one is because it's here, and also because there's a far bit of machining that I like to avoid. Hopefully it's clear what was done, modifying both the cross bolt holes and two vertical bolt holes. Decided to fabricate the side plates and motor adapter since the one I have requires work anyway.

With that done, there's my nemesis to deal with - surfacing the gantry, and starting in on the control box. For the latter, I plan to use Clough42's general layout
and am using the same NEMA box he is. Before that happens though, a schematic has to be worked up.

1721852704555.png
 
General layout of the control box closely follows Clough42's:

1721852785669.png
 
Regardless who skim-cuts the bar stock on the gantry beam, I'm very curious how it's done. If the gantry is bolted down in any way, which it has to be, it bends the gantry slightly. The skim cut is performed, the piece is released... and the whole thing is going to spring back to its original shape. Not sure how to avoid that. One way I'm guessing is to support the beam on narrow supports so that any bow doesn't affect the cut and subsequent release. Even that though doesn't cover the case where the beam is twisted. Maybe a three point support?

In other news, I was in the middle of welding when I heard a faint "pop", wondered what it was, but kept going. It wasn't until I shut off the welder did I hear a slight hiss of escaping argon. The source turned out to be the over-pressure release valve inside the flow regulator. It isn't that the tank had too much pressure; it's that I've had this equipment for so long that stuff is wearing out - especially anything with gaskets or rubber diaphragms. I had a choice of buying a new regulator or having the old one rebuilt. I didn't want to wait two weeks for a rebuild so bought a new one from a local welding shop. Only later did it occur to me to check the price of regulators on Amazon. Instead of their prices making me think that I should have bought from them, it backfired. That is, Amazon's prices were way WAY cheaper, making me worry about how well they're built. I don't feel safe running 3000 psi argon through a $14 flow regulator.

View attachment 497791
I'm late to the party but I can't resist commenting. Welding ground precision rails onto a floppy piece of rectangular steel tube is... outrageous. Although it probably worked fine (I'm still reading the thread) and I bear you no ill will, even so, this an abomination. It's an "Illegal Operation", in the words of Robin Renzetti. Everything else so far looks great and thanks for posting the thread.
 
Received the new servos. Shown is the NEMA 34 next to the NEMA 23 it's replacing. They're rather intimidating, shrugging off the servo test that caused the NEMA 23 to fail like it was nothing. Yeah... toys they are not.

1721859666357.png

1721859746333.png
 
Back
Top