top of page
Jan. 18th, 2022

Machining adventures part 1: first HAAS parts!

Measure w/ a micrometer, mark with chalk, cut with an axe.


So today we're going to finally start learning how to use the HAAS — in the Biomimetics lab. I've wanted to learn to use this machine for a very long time and I've gotten familiar with it before but never run a part on it on my own. Today I'm going to try to do that with a super simple part. The part I'm trying to make is just a fixture that supports a part for an actuator I'm designing in lab that allows us to press-fit the rotor of a motor into the part that's being supported. In this post I'm going to try to document what I did and what tutorials I referenced to learn to use the HAAS and hopefully make some sort of guide on using the machine. Note that anything written in this post today assumes some knowledge of CNC machining on simpler machines like the prototrak. 

So here's the list of things we're going to do:

  • Prep and measure our stock, adjust our CAD to the stock we actually have.

  • Turn on the HAAS, run spindle warmup, determine which tools are in which slots and match those to our tool library in Fusion 360.

  • CAM the part in Fusion 360 and use HAAS NGC to convert it to GCode

  • Load our stock in the machine. 

  • Setup tool offsets.

  • Setup work offsets. 

  • Run the program and hope it works.

Screen Shot 2022-01-18 at 1.20.56 PM.png

A super important tip I was given the first time running things on the HAAS in CNC machining mode was ensure the stock in the program, or the model (depending on what you're doing) is exactly the correct dims of the actual stock block you're putting in the machine. In this case we just modified the CAD because we're taking a block and carving a feature out of it.
While we're prepping the stock (cutting it to size, adjusting the CAD), we've been running the spindle warmup program. This just gets the bearings in the spindle running and heated up if the machine hasn't been used in a while. It keeps things consistent. We're using a HAAS Mini-Mill but most of what's in this post is standard across the HAAS machines. 

Tool selection — I'm not super sure what the tools that are in the HAAS right now are, we have to go look, but looking at the geometry of the part above it looks like we should rough with a flat end mill and finish with a ball end mill. The flat is necessary to get that cylindrical shape and the ball will smooth things out. Size probably doesn't matter so much because we're using Delrin so we'll use whatever is in the machine already.

While we're waiting for spindle warmup to finish, here are some great videos we'll use:

Screen Shot 2022-01-18 at 2.24.05 PM.png

Alright so now that spindle warmup is done, let's take a look at the tools already in the HAAS. The flat end mill is tool #2 and the ball end mill is tool #4. Looking at the tool library Satchel, the last person to use the HAAS, created it says 10mm flat and 6mm ball and I believe that. So now we want to CAM with these two tools (and the tool numbers are correct). Now it's time to set the coordinate system and origin with respect to the machines coordinate system and origin. We're going to use G54 work offsets. Images of the CAM setup and the WCS of the machine are below.

Screen Shot 2022-01-18 at 2.35.39 PM.png

So now we want to calculate our Feeds + Speeds for the 10mm flat end mill which has 4 flutes. This is a great guide linked here for all the milling formulas. Delrin also runs around 250*2.5 SFM with a chip load of around 0.008" per tooth for > 1/2" cutters.

RPM = SFM*3.82/D where D = 0.393 in. RPM = 250*2.5*3.82/0.393 = 6075 RPM 
IPM = 6075*0.008*4 = 194.4 IPM

We'll probably multiply both of these numbers by 0.75 for our machine. So 4500 RPM and 150 IPM will be the feeds and speeds we will try. Delrin is fairly forgiving like aluminum so we are fairly comfortable CNC'ing at these speeds. 

Screen Shot 2022-01-18 at 2.55.21 PM.png
Screen Shot 2022-01-18 at 3.05.57 PM.png
Screen Shot 2022-01-18 at 3.09.27 PM.png

So we decided on two cuts, a roughing and a finishing. The first cut is just a standard adaptive clear roughing pass with a 0.18" stepdown. And then we do a radial clear about a center point just to finish it off with the ball-end mill. Now we want to go ahead and set the work offsets, the tool offsets, and etc for this whole thing and post-process in HAAS NGC. It also seems that when we put in 500SFM Fusion automatically calculates your feeds and speeds based on the tool you selected which is super cool. I wouldn't completely trust it but since this is Delrin we'll go with that and think about it in more detail later.

The post processing was easy, we want to now fixture the part. Setup all the offsets including tool offsets, setup the Haimer etc etc.

We're going to START w/ the X/Y and then go onto the tools and the Z because that's what the above videos recommend.

  • pop in the Haimer probe, and jog until it's zero'ed on "X"

  • hit "offset" under "display" and then scroll to "X" and hit "part zero set"

  • do the same for "Y"

For tool and work offsets, I used this video! Instead of making the z-axis complicated with the Haimer probe, if we just touch the tools off to the top of the part every time we can avoid zero-ing issues until we get good.

So we tested the z-offsets the same way the video above said to test them with the few lines of G-code. Everything seemed OK so we decided to stop being chicken and just hit run, and WAHT DO YOU KNOW. It seems to be working so far!!!!

There seem to be a few issues with our G-Code itself tho, probably because we didn't think about it too hard when we created it. Some of it is very "jittery" on the larger circles which suggests we could've set the step-over/step-down better so it wasn't so jittery. Things to look into for the future. The feeds and speeds seem ok for Delrin and the spindle load is very low according to the output on the HAAS screen which is both expected and good.


Here's the finished part, now let's do a little bit of quality control. First making sure the rotor housing fits nicely inside the holder we've just made, and second the surface finish. 


In terms of surface finish — the part came out well in shape but the finish could have been better. It's a little bumpy and I think this is because the pass we took to clear it was a 1deg angular step over and it needs to be much finer to have a totally smooth surface. Right now there are 360 little ridges around the part but it will be OK for our purposes.


In terms of function — the part will work perfectly, we tested the fit of the rotor housing on the holder and it works well. I do think we need to re-machine it later and add an alignment feature because we didn't design one in and we've been having issues with the concentricity of our press fits. It's not necessary but it would help.

Now that we've run a part we have a few goals over the next week for when we have time.

  • write a HAAS guide so people in the lab can use it and know how to use it

  • learn more about CAM and programming in different tool paths to get different surface finishes

  • research more about feeds/speeds and such and start working with aluminum parts — we will mainly be working out of aluminum

  • read up more on work offsets, because even though the paper system worked for this part it won't work for all parts in the future when we need super precise Z-alignment or we are flipping parts and stuff (could try shim, could also try the Haimer/1-2-3 blocks/etc).

  • figure out the chip extractor for this machine specifically (clean it).

#HAAS #machining #manufacturing #tool-changers

bottom of page