Search This Blog

Tuesday, July 30, 2013

Upgrading Arduino XYZ CNC Machine Tool Motor

For a tool motor I previously used a scrounged rechargeable DC drill motor and chuck.  The motor was from a 12V rechargeable drill.  I used an Arduino and PWM to modulate the speed, but had to make a custom MOSFET hbridge add on to deal with the high current.  This post:  poorly documents my previous work ;-).

The circuit I had worked fine for controlling the motor, but after some discussion with friends I decided that my motor was really not spinning at high enough RPM for most engraving and cutting jobs.

Two options I see

  • Use my dremel and add a solid state relay to control the AC.  I probably won't be able to modulate speed any more
  • Buy a purpose build CNC DC spindle motor.  
I also struggled a bit with a good motor mount for the old drill motor.  I had a hose clamp around it but it looked lame and didn't seem very well aligned and stable.

I decided to invest in a high RPM spindle motor.  Zen toolworks has two grades they sell.  Fairly expensive, and the cheaper one is known to have high runout.   I don't really like the plastic brackets, although the whole machine is made out of it, so I suppose it's strong enough.

Another vendor had a motor with a fan, and an aluminum mount.  Total price would be about the the same.

However I noticed that the vendor ships from China.  Long wait.  I've bought stuff this way and it is usually OK, but I avoid it if I can.   Impossible to return things if you are unhappy.

I poked around ebay.  Found the same motors everywhere for a variety of prices.  Almost all ship from China or Hong Kong.

Finally decided to buy this one for $79 from a US vendor.  A little pricey. I hope it's worth it.  It had a fan and the mounting block I need.  Nice.  I'll pay the premium for US seller.

I previously used a MCH3484 and a MCH3383 MOSFETs to make an Hbridge to PWM the speed from the Arduino.  That should work again.

I also need a power supply.  The specs say this:

  • Work voltage: 12-48vdc (Suggest to use DC 48V)
  • Rotation speed: 3000-12000r/min
  • Power: 300w
  • Torque:230mn.m
300W at 48V means 6.25A at highest power

This little $12  DC/DC converter gives me 120W/5A, but I have to supply it with another DC input.  That means I need a power supply to drive my power supply.  No thanks.

A bigger one for 10A and 500W.  $28

I poked around looking for an AC powered 36V or 48V DC lab supply with little success on ebay or amazon.  Digikey has stuff for >$200.  Wow.  Maybe this wasn't such a good idea.
I'll keep looking for now for a deal on eBay, before I build a power supply.

The motor came.  It is a beast.  Much bigger than the old drill motor.  The aluminum mount is nice.
I'll need to drill mounting holes in the plate on the Zen.

I used my drill press to stick through the four mounting holes and drill through the face plate of the gantry.  (I took the faceplate off).   I found four lockwashers in my junk bin that fit the bolts that came with the mounting bracket and tightened it all up.
 It went together surprisingly well, no issues whatsoever!

Here it is mounted back on the Zen toolworks machine.  I'm a little worried I went over the top on this one, since the faceplate is attached with 6 tiny screws and the mounting bracket has four giant bolts and 1/4 aluminum.  I'll go easy with this thing and not rev it up full speed.

Slight assembly issue, the gantry screws are now behind the motor.  I need to loosen the bolts, remove the motor from the mount, re-attach the gantry and put the motor back in.  A little extra work.

Clearance looks good inside the gantry.  The bolts don't hit anything.

Found a power supply on ebay for $45, free shipping.  It is direct from China so there is some risk and it will take a while to get.  Not sure why it is so much cheaper than everything else.  Just a transformer is $25 if I'm going to make my own.   Bought this one:

36V 10A 350W AC to DC Switch Power Supply Transformer for LED Strip light CCTV
Input Voltage: 100~120V AC, 200~240V AC (Preset 220V)
Output Voltage: 36V DC
Output Current: 10A
Shell Material: Metal case / Aluminum base
Protection: Shortage Protection, Overload Protection, Over Voltage Protection

It is only 36V versus the 48V that the motor can go to, but I think that 36V will be enough and 48V will be crazy fast.   I have some hope of my hbridge motor driver still working up to 36V.

Waiting for it to come from China.....

Motor finally came, a little faster than I expected but I was out of town.

The power supply is a bit confusing,  There is no power plug and mysteriously labeled terminal screw strip.  A little googling on the part number LIHUA-360W on the side is encouraging.  Looks like lots of people use these for reprap 3D printer power supplies (the 12V version).

You connect the power cord to the GND, N(neutral) & L(line) connections.   =V and -V are 36V output.  Hopefully the rails aren't divided such that I can't get the 3A I need from one terminal, or maybe I can gang them.

I cut the end of an extra standard heavy duty three prong monitor power cord, and stripped the wires.  There is a green (GND), white (neutral) and black (line) wire.

Hooked them up like this to the power supply like this.  Green to gnd, White to N and black to L.

I plugged it in and nothing happens.  DC output is 0V.  I used the DVM to measure the line voltage, and it reads 120V AC between N and L.  Arggh.  Fail.  Then I remembered I forgot to flip the switch on the side to 115V, it had been on 240V.   Plugged it in again and it works!  No harm done.  Win!

You can see the green light on the left comes on.

Voltmeter on the V- and V+ terminals reads 36V.  The small pot next to the light adjusts it, and it is pretty touchy.  It started at 36.4 and I dialed it down to 36.0.   The motor takes up to 48V, so I might later turn it up as high as it will go.

I connected a cord to the DC output voltage.

Hooked it temporarily to the motor supply and plugged it in.    Whirrrrrrrrr!   
The motor is smooth and quiet.  Almost no vibration and quieter than I expected.  I have no idea yet what the RPM I'm getting is, seems fast, but I need to think of a way to measure it.  Left it run for 5-10 minutes and everything seems fine.  No smoke.  Hopefully I've got enough voltage for good operation.   Looks like I'm in business.

While the motor was running, I measured the power supply voltage.  If I was overloading the supply then I'd expect the voltage would have drooped.  Good news, it still read 36.0V with the motor running.

I used the adjustment potentiometer to turn up the voltage to max, which measured around 39.1V.  There was a noticeable pitch change in the speed of the motor, so the extra couple of volts made a difference.   The motor is rated to 48V but I'm going to settle for 39V.


  1. Hi! Looks like we made the same exact choices, both spindle and power supply... except I haven't bought them yet ;)

    Could you give an update on how the setup is doing? (if you already received the power supply, of course!)

    I'm especially concerned about this spindle's actual runout, VS the zen toolworks spindle. Is it really less than 0.05mm as stated on ebay?

  2. Power supply took forever to come, then I was out of town for two weeks and the power supply is supposed to be waiting for me when I get back tomorrow. I don't know about the runout yet since I haven't been able to fire it up.

  3. Ah, I see... I don't know about the US, but shipping from China to Italy also takes between 30 and 40 days, so I feel your pain ;) I'll stay tuned.