Tests and Ramblings

5 Bears Home Homebrew CNC bench mill

This preface is taken pretty much intact from a previous Home Page "News" tidbit. If you've read it already, skip on to the pictures.

Years ago, a machinist's apprentice or journeyman graduated or was certified by producing a product which would strain his skills to the utmost. I have 3 or 4 of these, all antiques, and they are a magnificent testimony to a machinist's skills. Here is one of them, which is part of a shadow-box display. It is a caliper with beautiful, coin-knurled adjustment knobs, dating to the late 1800's. I am motivated to use this concept to "prove" the CNC mill's capabilities, with a small project requiring complex 3d toolpaths with full contouring and high speed. I have made a few stabs at something like this, but the end product has some toolmarks that were entirely my own fault, due to faulty input to Visual Mill. When my Journeyman product is done, I'll post it, along with some MPG video!

My efforts, then, in the last few weeks, has been that of refining the CNC mill operation, both with the hardware, and as the operator. The results so far are very nice! I had only one very anxious moment during one of my Journeyman attempts, when the Z-axis simply stopped responding in the middle of a complex, 3d contour operation. The spindle was the Kavo, shown left, with a 1/8" ball mill at 30,000 RPM. With no Z, the machine attempted a 0.500" deep cut at 60 ipm into virgin aluminum. Ouch.

I was able to repeat the phenomenon with the same set of G-code. A bit of investigation showed that the servo axis had a position error, which caused the Logosol driver to simply halt. Unfortunately, the axes are not on speaking terms and the X and Y chugged right along. After a quick email to Flashcut, they pointed out that my position error limits, set up via a servo driver utility program, were way too small, on the error of 0.0008". In one sense, this was good, as the mill had been operating for weeks within this tiny error limit, at high speeds. The error tracked by the axis is dynamic error... as the heavy Z axis accelerated and decelerated, the actual error vs the commanded position naturally deviated, but being closed-loop, was ultimately corrected as the axis traversed.

The swarf generated by a 1/8" mill at these speeds was nearly powder, a fine shower of glitter, and it really gets tossed about. A real mess. Near term mechanical upgrades are much better swarf-guarding, and perhaps a very fine flood which should wash and contain the bulk of this mess. The other improvement, already completed, was the addition of rubber machine leveling feet. As the mill contoured at nearly 100 ipm, the noise and bumpiness, as the table slammed back and forth, was disconcerting. I massaged the software aspect of it, but the rubber feet also helped significantly.

The start of this machining exercise is this rendering exported from Rhino. It is a lower receiver from an AR15 rifle, normally created of forged and machined aluminum. It was an ideal subject for an advanced test of the mill and the software due to the complex shape, consisting of numerous 3D curves, flat plateaus, and other interesting surface features.

No I didn't draw this in Rhino... I wish I did. It was imported from a .IGS file available from a nice firearm enthusiast named Justin, who uses his big, commercial machines to CNC mill various components from steel and aluminum. Justin shares his skills and files for free out of a love of the hobby. If you use his stuff, please drop him a note of thanks. Even if you never machine anything from them, using your CAD software to open, manipulate, and render the models will give you experience and an appreciation of the work which went into them.

You can rotate the model in 3D space, "fly" inside the model, it's jaw-dropping.

The model was scaled to 25% of its original size with Rhino, and then imported into Visual Mill for the creation of the G-code. Why scale? Until I can get more collets for the Kavo, I am limited to 1/8" end mills, and milling this with 1/8" end mills would take many hours. The original size was 8" X 4". At 25%, it now meaures 2" X 1". My goal was to mill exactly 1/2" of the width into a block of aluminum, creating a type of bas-relief.

I created Four MOPS (Machining Operations) within Visual Mill. First, a Horizontal roughing to remove the bulk of the material. Then, a coarse parallel finishing MOP, a plateau machining for the flat areas, and finally a second parallel finish MOP of very fine tool spacing.

This picture shows the model after the first parallel finishing pass. The simulation reveals the state of the work at any moment of the operation. The red underneath is the actual model, with other colors representing various tolerances of stock remaining. Note the coarse finish at this stage.

A small block of aluminum was mounted in the vise, program zero established, and everything turned on!
The horizontal roughing was done with a 30,000 RPM 1/8" carbide end mill, 70 IPM, with Z layers of 0.020". Pretty conservative. The spindle and mill could have gone much faster.

This shot shows the model after the forst parallel finish pass, and pretty closely follows the model shown above.

The plateau machining went fine, but it really wasn't needed and contributed to some annoying tool marks in the model when it was complete.

After the final finishing pass with a ball end mill, and 0.002" steps, I gave the model a gentle wire brushing and photographed it next to this pencil, so you can see just how small it really is! The 1/8" end mill could not resolve much of the fine detail, but overall it was a very interesting exercise.
One of the real problems was the setting of correct Z when swapping bits. I made this simple ring setter, which is used to install the ubiquitous plastic rings on 1/8" tools to control the Z.

I am deep in thought now trying to figure out a way to accurately set Z during tool changes. I believe that I am close to a method which will work fine. I'll detail it later if it works out.

One other modification which I decided to execute after this mill exercise was the contruction of these leveling/shock absorbing feet from MSC. The two 1/4" tapped holes on the mill's end plates were created just for this eventuality long ago, and it was a simple matter to generate the feet brackets from aluminum stock.

I ran some of the same G-code, and the instalation of the feet significantly reduced vibrations and banging as the table decelerates and reverses.

I also did some "super-speed" tests, getting 500 ipm easily but the resolution drops off to 0.0008" rather than 0.0002". 500 ipm is ridiculous in a machine this size, but it was fun nonetheless.

Finally, I added more swarf shielding. The really vulnerable area is the Y axis behind the table. To achieve decent Y travel, I need to run the table right up against the column, which then prohibits the addition of sliding plates, certain types of bellows, etc. This is a section of rubber guard from a "mini-mill", adapted to my own machine.

Next will be more models, better Z-axis offset control, coolant, I'm sure I will think of more!