Cnc Conversion
On this page I  will explain how I converted a
Harbor Freight TWO-SPEED VARIABLE MINI MILL/DRILL MACHINE
ITEM 44991-5VGA to CNC.
This mini mill/drill machine has two speed ranges—0 to 1100 RPM and 0 to 2500 RPM—great for different thicknesses and types of material. Features a micro feed that allows the operator to feed at .002'' per line.

Heavy duty cast iron body and base for better stability. Precision machined table. Includes drill chuck & key, shaft and chuck key assembly and wrenches.

    * Motor: 4/5 HP, 120V, single phase
    * Speed ranges: 0-1100 RPM low, 0-2500 RPM high
    * Spindle taper: R8 with JT33 chuck taper
    * Spindle stroke: 8-1/2''
    * JT33 chuck capacity: 7/64'' to 1/2''
    * End mill capacity: 1/2''
    * Face mill capacity: 1''
    * Swing: 12''
    * Depth scale: 0 to 12'' in 1/16'' increments
    * Table slot width: 1/2''
    * Table dimensions: 15-7/8'' x 3-11/16''
    * Height: 33-3/4''
    * Shipping weight: 150 lbs.

Here is my completed Mill with PC, Control Panel, Digital Readout and Engraving attachment.
Click on a part for more information.
Control Panel Spindle Lock Surface Grinder Circuit Board Tooling Plate

To begin, I had to decide on the Stepper motors and Controller.
There are many types to choose from and many companies sell kits in various configurations.
I originally used a 3-Axis driver from Stepperworld.com but the performance was not up to
expectations. I recommend getting drivers from Kelinginc.net. I use the KL-4030 now. It is a single
axis bipolar driver rated up to 40 Volts and 1/64 microstepping. It has over voltage and short
circuit protection built in. You'll need one per axis. Keling also has complete kits with motors,
power supply, drivers and a breakout board. Nema 23, Option 2  with the 270 oz/in motors
is recommended (request a 381 oz/in for the Z axis). Only adds $10 to the cost.
You can also find some nice power supplies at Circuit Specialist.
The bipolar driver only needs 4 wires so I used some 16 AWG speaker wire.
  I get much more speed and torque now. I get up to 130 IPM for the X, 65 IPM for the Y and
40 IPM for the Z Axis. I'm running at 1/2 step for the X and Y axis and full step for the Z axis.
  I have a counter balance installed as described here. It turns
  out it wasn't necessary as the Z motor has plenty of power now to raise the head without it. I'll
  leave it be for now, it should make life a little easier for the motor.
  The best option is to use the G540 package with 381 oz/in motors listed in the X2 Electronics.
  Note: Kelinginc now have kits with the Geckodrive G540 4 Axis driver,
  (4) 381 oz/in motors and 48 Volt power supply. This would provide a bit more speed but at more $.
 


 
Parts and Materials
Fabrication
 
Assembly
 
Testing
 
Several other companies make a similar Sieg X2 Mill , The difference mainly being whether the spindle is R8 or MT-3 taper. Read the Minimill Review for cleaning, assembly and accessories.
Here's some pics
Stepper Motors

Stepper Motors

Controller Case Rear

Controller Case Rear

Z Axis Stepper

Z Axis Stepper

X Axis Stepper

X Axis Stepper

Y Axis Stepper

Y Axis Stepper

roton ballnut ground

roton ballnut ground

To mount the steppers, I made aluminum mounting brackets. Prints for them are below.
Holes must be drilled and tapped 1/4-20 on the mating surfaces of the mill. The hex
rods (1 3/8in. long for the Z-axis, 2 1/2in. long for the X and Y) are tapped 10-32 for the motors.
The ballscrews must be turned down to match the prints. The ballscrews are case
  hardened, but cut easily with a carbide insert.
The ballnut stop blocks replace the original brass feed nuts. The X-Axis requires some
  material to be removed from the saddle to give clearance for the nut and stop block.
  I just used an angle grinder. The drawing will show where. I found a 15/16-16 tap to
  thread the stop blocks at Wholesale Tool. Use a 7/8 drill bit to bore the hole.
Note: If you can cut internal threads on a lathe you won't need the tap.
The Y-Axis does not require any modification to fit the ballnut and stop block but I'll
  include a pic of the mod I made to give some extra travel. I wound up with 8 1/4 inches
  of travel on the X-Axis and 4 1/2 on the Y-Axis.
I used solid motor couplings to attach the ballscrews to the motors but you can get flexible couplers from Keling and SDP/SI etc. that will allow a little give but should still be zero backlash like the solid ones.
I mounted the Stepper Motors with custom made Aluminum brackets (See Fabrication).

For the Y-Axis, I used Thrust Bearings from Mscdirect.com.
    03548591 3/8 X 11/16 X 9/32 SET THRUST BALL BEARING (2 sets)
The X-Axis uses the stock bearings.
For the Z-Axis, I used thrust bearings and needle flats from Mscdirect.com.
    03380961 1.250X1.938X0.078 THRUST CAGE-NEEDLE ASSEMB
    03381142 1.250X1.937X0.032 THRUST WASHER-NEEDLE-FLAT
    03380045 1.250X2.344X0.625 THRUST-BALL-BANDED MED or #
S9912Y-TB125234  SDP/SI.com
and Metal timing Pulleys and belt from Stock Drive Products and Sterling Instrument.
    A 6A 3-16DF03708 .200 (XL) Pitch, 16 Teeth, Aluminum Alloy Timing Pulley
    A 6A 3-32DF03712 .200 (XL) Pitch, 32 Teeth, Aluminum Alloy Timing Pulley
    A 6B 3-060037 .200" (XL) Pitch, 60 Teeth, 3/8" Wide, Urethane Belt
Note: Get more options for sources on the CNC Conversion Parts List page.

I converted the feedscrews to Ballscrews from Homeshopcnc.com but they have
switched to precision screws and the new nut will not work with my plans.
Another source for the ballscrews and nuts and a little cheaper is Roton.com.
They use square nuts and the X axis nut will need the corners ground off a bit to fit. See the above photo.
Grainger.com also carries the Thomson precision rolled Ballscrews and round Ballnuts that will work.
This increases the accuracy and lessens the backlash.
Also, the original feedscrews have a pitch of .0625 ( 1 turn of the crank= .0625in. travel)
while the ballscrews have a .200 pitch (1 crank =.200in.)
This means the table can rapid 8 in. in 3.7 sec. with the ballscrews 
instead of 12 secs. with the feedscrews.
Check out the Ballscrew and Nut Comparison Chart for more types and prices!
Flexible zero backlash motor couplers - Keling or SDP/SI
, or McMaster Carr or Zero Backlash Spiders.
Note: Stepper Motor Standoff length will need to be adjusted to accomodate your choice of coupler.
Oldham Style Zero Backlash Motor Couplers  get them from McMaster.

ballscrews rev b

ballscrews rev b

ballnut stopblocks rev c

ballnut stopblocks rev c

cnc z axis mount top and bottom rev b

cnc z axis mount top and bottom rev b

cnc z axis mount (Small)

cnc z axis mount (Small)

stepper motor couplings rev b

stepper motor couplings rev b

stepper crank handle (Small)

stepper crank handle (Small)

stepper motor standoffs rev b

stepper motor standoffs rev b

x axis stepper mount (Small)

x axis stepper mount (Small)

y axis stepper mount (Small)

y axis stepper mount (Small)

y axis spacer rev b

y axis spacer rev b

z axis inner block (Small)

z axis inner block (Small)

z axis spacer rev b

z axis spacer rev b

z axis ballscrew mount rev c

z axis ballscrew mount rev c

z axis ballscrew base mount rev c

z axis ballscrew base mount rev c

z axis stepper mount rev b

z axis stepper mount rev b

Z axis stepper mount support left side rev d for flared column

Z axis stepper mount support left side rev d for flared column

Z axis stepper mount support right side rev c

Z axis stepper mount support right side rev c

Z axis stepper mount support left side rev c

Z axis stepper mount support left side rev c

x axis ballnut clearance (Small)

x axis ballnut clearance (Small)

x2cnc table travel increase 1 (Small)

x2cnc table travel increase 1 (Small)

x2cnc table travel increase 5 (Small)b

x2cnc table travel increase 5 (Small)b

x2cnc table travel increase 7 (Small)b

x2cnc table travel increase 7 (Small)b

x2cnc table travel increase 8 (Small)

x2cnc table travel increase 8 (Small)

x2cnc table travel increase 9 (Small)

x2cnc table travel increase 9 (Small)

3D part sampler2

3D part sampler2

stopblock x axis

stopblock x axis

Click Image to Enlarge

Assembly begins with installing the X and Y-Axis Stepper mount brackets. They are attached
  with 1/4-20 allen screws. Position the bracket, mark the hole locations and drill and tap
  about 3/4 in. deep.
X and Y Axis Brackets

X and Y Axis Brackets

X and Y Axis Brackets view 2

X and Y Axis Brackets view 2

X and Y Axis Brackets view 3

X and Y Axis Brackets view 3

X and Y Axis Brackets view 4

X and Y Axis Brackets view 4

Next attach the ballscrews to the brackets and adjust the (2) 3/8-24 jam nuts to give as little
backlash as possible. Thread the ballnuts into the ballnut stopblocks. Position these into
slots in the saddle. Feed the ballscrew assemblies into the ballnut assemblies and mount
the brackets to the mill. Slide on the Stepper Couplings and mount the Stepper motors to
the 2-1/2 in long hex rods with 10-32 screws and snug the coupling allen screws.
X and Y Axis Brackets and Ballscrews

X and Y Axis Brackets and Ballscrews

Y axis assembly

Y axis assembly

The Z-Axis assembly begins with removing the plastic cover on top of the column.
Drill 4 holes to mount the Steel Z-Axis Inner Block about 1/16 in. below the top of
the column. This will pull the Z assembly tight against the top of the column, double check the
column for square.  Follow the instructions in the "Z Axis Breakdown" for the assembly of the
other parts. Feed the ballscrew into the ballnut and attach the Z-Axis Ballscrew Base
Mount. Once all is mounted on the mill, mark hole locations for the ballscrew base
mount and drill and tap (2)1/4-20.My spindle casting was not square so I added a .045 shim
on one side so that the ballscrew does not bind up. It will travel up till the mount touches the
bearings. I get 9.8 inches of Z Axis travel.Mount the Stepper Motor to the 1-3/8 in. long hex rods
with 10-32 screws and adjust tension on the Timing Belt. Mount the Stepper Crank Handles.
Once you are happy with the assembly and all is working well, it is a good idea to go back and use Loctite Threadlocker Blue 242 on all the screws especially the motor couplers. Blue 242 "locks threaded fasteners against vibration loosening but allows them to be removable with hand tools for easy disassembly".
Z-Axis Assembly 1

Z-Axis Assembly 1

Z-Axis Assembly 1 closeup

Z-Axis Assembly 1 closeup

Z-Axis Assembly 2

Z-Axis Assembly 2

Z-Axis Assembly 2 closeup

Z-Axis Assembly 2 closeup

Z-Axis Assembly 3

Z-Axis Assembly 3

Z-Axis Assembly 3 closeup

Z-Axis Assembly 3 closeup

z axis ballscrew base mount

z axis ballscrew base mount

Z-Axis Stepper

Z-Axis Stepper

X-Axis Stepper

X-Axis Stepper

Y-Axis Stepper

Y-Axis Stepper

z axis breakdown

z axis breakdown

z axis breakdown colorcoded

z axis breakdown colorcoded

z axis ballscrew mount shim

z axis ballscrew mount shim

z axis travel limit top

z axis travel limit top

z axis travel limit bottom

z axis travel limit bottom


Click on Thumbnail to View Image
Click on Thumbnail to View Image
Build the Controller, I used an old PC case I had lying around but it doesn't need that much room. You could buy one at one of these companies. Or search Pricewatch.com.
The Computer to run the software doesn't have to be very powerful. I use a 1Ghz CPU
  with 256 Megs Ram, 20 Gig Hard Drive and Windows XP. A Laptop would work,
careful with some of the newer systems that don't have a Printer port because the
  Controller needs one to communicate with the PC. Smoothstepper is a USB  controller that will work with laptops. USB ports will also be needed later for one of my other projects.
Keling sell controllers preassembled that can give you an idea of the wiring and layout.
Now is the fun part, getting the mill to make something.
Stepperworld includes a cd with some software to run the motors. A basic program of their
own for jogging and running the motors is good for testing whether you wired the steppers
correctly. They also include a demo of Kcam by Kellyware. They also include a tutorial that
shows how to configure the printer port. This is OK for practicing but for really getting all that
the mill can do, I prefer Mach3 by Artsoft. You can get a free demo that will run a gcode 
program up to 500 lines of code. (Many engraving programs will exceed this limit as you'll
see in the following samples. Most milling operations will fall under this limit).
Links to the software I mention can be found Here.
Here's some samples of some engravings I tested with the Mill.
me engraving

me engraving

24 car engraving

24 car engraving

Mach K sample

Mach K sample

Mach K sample 2

Mach K sample 2

Here's some captures of the Mach3 port setup to configure the Controller.
mach3 ports and pins motor outputs

mach3 ports and pins motor outputs

mach3 ports and pins input signals

mach3 ports and pins input signals

mach3 ports and pins input signals

mach3 ports and pins input signals

motor tuning X Axis

motor tuning X Axis

motor tuning Y Axis

motor tuning Y Axis

motor tuning Z Axis

motor tuning Z Axis

Here's a tutorial on how I made the 24 Car engraving.
24 Car engraving tutorial 1

24 Car engraving tutorial 1

24 Car engraving tutorial 2

24 Car engraving tutorial 2

24 Car engraving tutorial 3

24 Car engraving tutorial 3

24 Car engraving tutorial 4

24 Car engraving tutorial 4

24 Car engraving tutorial 5

24 Car engraving tutorial 5

Here's some G-code samples. Click image for larger view.
Click Text to view code or Right Click to Save Link As.
earth kcam plot
hoss mach3 plot
michelangelo hands lineart
2 kcam plot
calvin peeing kcam plot
danielle lineart
davinci vitruvian lineart
dupont chevy 24 lineart
Earth
Calvin Peeing
Hoss
Michaelangelo Hands
2
Danielle
Davinci Vitruvian
24 Car
Here's some parts I machined with the Mill
control panel 1

control panel 1

control panel 2

control panel 2

control panel 3

control panel 3

control panel 4

control panel 4

engraver bracket progress 1

engraver bracket progress 1

engraver bracket progress 2

engraver bracket progress 2

engraver bracket progress 3

engraver bracket progress 3

Any Questions? Ask Me.
Here's a Video of machining the Engraver Bracket and Control Panel.
Right click the Image and Save As to download. Hoss X2 CNC 1 about 14 megs 2:43 min.
UPDATE: For extra support for the Z axis stepper mount, I drew up new prints above.
Use these 2 brackets to attach the stepper mount to the column using 1/4-20 bolts.
This will give more strength an eliminate the need for the Z Axis Inner Block and Spacer.
The left side support has 2 prints, some newer columns have a flange on the side. Use rev D for those columns.
To machine the bearing pocket in the Z Axis Ballscrew Mount, you can use either a large lathe,
a boring head, a rotary table or complete the X and Y axis CNC conversion, then use the mill with
Mach 3's Circular Pocket Wizard and lower the Z Axis by hand for each pass.
Each method has been used successfully by others.

© 2007 Daniel E. Kemp

See More Videos Here
 
Complete CNC Conversion Parts List
Click Here for a cost breakdown for DIY vs. Complete Kits.
Stepper Motor and Drive Circuit Basics

Download the following PDF's to get a good overview of what a Stepper Motor is and
how it's controlled.
Right Click and Save As to download.
Industrial Circuits Application Note
Stepper Motor Basics

Industrial Circuits Application Note
Drive Circuit Basics

Gecko Drive
Stepper Motor Basics
 
Complete CNC Conversion Parts List
3D versions of the prints are
now included on the DVD-ROM's
Alibre Design AD_PRT, .STL and .PDF formats. DVD-ROM owners can
contact me  for a free update.
Download the prints in 3D PDF here!
Get Your Motors Spinning

Mach 3 will need to be configured to run your mill. Watching the first few tutorial videos on the Mach website will help you get familiarized with Mach 3 to get up and running.
This is a basic guide to get the motors spinning.

1. First you need to go to Config/Ports and Pins/ Motor Outputs and enable the axis' you want to configure, X Y and Z in this case.
2. Enter the Step and Dir pin #s that you used to connect the motors to the Breakout board (BOB).
3. Enter the Step Port and Dir Port #, This will be 1 for a single BOB or maybe 2 if you added a 2nd parallel port with a 2nd BOB.
4. The Step Low and Dir Low Active will vary from system to system. If the motor spins in the wrong direction, you can change the Dir Low Active checkbox later. If the motor doesn't spin at all at first, change the Step Low Active checkbox. Click Apply and close.
5. Go to Config/Motor Tuning. The Axis you enabled before will have buttons available in the Axis Selection. We'll setup the X, the rest will be the same just be sure to click
Save Axis Settings before moving to another Axis.
6. Enter the Steps Per #, This is the number of steps your system needs to pulse to get the axis to move 1 inch. For the KL-4030 using 1/2 step mode and ballscrews, enter 2000.
The motor moves 200 steps/per rev. 1/2 step mode microstepping pulses twice as many steps as full step mode, (1/8 microstepping pulses 8 times as many) the ballscrew is .200 pitch which is 5 Turns Per Inch (TPI).  So 200 x 2 x 5 = 2000.  If you are using a G540
enter 10000. It uses 1/10 microstepping.
7. Velocity is the IPM (Inch Per Minute) speed for the Axis. Start out using 100. Test the axis by using the jog buttons to rapid it from one end of travel to the other. If it runs smooth, doesn't stall and doesn't make a loud buzzing/grinding noise ( sign that it's missing steps) increase the number by 25 and repeat. Continue till you do hear the telltale noise, than back off to the previous setting. If you hear it at anypoint, the speed is too fast and you need to back off.
8. Acceleration varies the time it takes for the motor to get up to rapid speed.and slow back down. A very low number will have longer Acceleration/Deceleration rate. A higher number will start and stop the motor almost instantly. 35 is a good baseline.
9. Step and Dir Pulse are typically 1 and 0.
10. Repeat for the other Axis' making sure to Save Axis Setting each time and click OK
You should be ready to put power to your motors and use the Arrows and Page Up/Down
keyboard keys to jog the Axis'. Page up should move the Z axis up and the
Z DRO #'s goes positive, the Right Arrow should move the X axis to the left, the X DRO # goes positive and the Up Arrow moves the Y axis towards the front with the Y DRO # going positive.


motor outputs

motor outputs

motor tuning

motor tuning

Click here for my recommended X2 Electronics!
Click here for a list of the tooling needed to complete the
X2 CNC Conversion
Attention Newbies! Read my guide to getting you up and running and making chips.
Note: Any Dimension that is highlighted is a critical spec +/- .001, all others are +/- .005
Watch the Wiring Instruction for CNC Electronics Videos from buildyourcnc.com!
[Home] [Cnc Conversion] [Projects] [10x22 Lathe] [RF-45 Clone] [G0704 Mill] [Fun Stuff] [Links] [About Me] [Feedback] [Contact Me] [Buy Stuff] [Videos] [Mill Comparisons] [F.A.Q.] [Shop Info] [Garage Sale]