40 Comments on the Buildlog.net Forum

Over the summer I slowly collected parts for this guy. It appears to work pretty well, but still needs a little work and a lot of testing.

http://www.buildlog.net/blog/2011/09/ne ... r-spindle/


Hold 2/3 HP in the palm of your hand.

Looks like a pretty good idea. I really feel like plastic is the wrong material for this though. Even a few thou of deflection can turn a two flute 1/16" endmill into a one flute endmill.
That looks pretty good. Any chance you'll be selling kits for the plastic parts once you're satisfied with the testing?

I plan on building a CNC router with MakerSlide once I get my laser finished.... :)
The plastic is extremely stiff. It is 1/2" thick UHMW. The shaft will bend far earlier than the plastic.
:shock: Me like , it sure beats the dremel in my router.
I am also thinking that motor would be fun on my push bike :lol:
I challenge anyone else to park a car on their spindle. This a much less stiff HPDE version. Second picture is after car.

Honda Civic



Point taken :lol:
The bearing setup is wrong and will not be effective. It will be the equivalent of having one bearing. Standard bearings are not intended for axial loads. They can take a bit but you can't preload them like you need to for this application.

Though the use of a ER collet chuck is a good start.

The angular contact bearings need to be used in a minimum of a pair. They also need to be preloaded. Preload is determined on several variables including running speed and load. For something like a PCB router you can get away with a lighter preload than say a milling spindle. Heres the thing though. You can get bearing sets that come with the inner races ground to set the bearings to a specific preload. They will have a suffix of something like DUL (Duplex, Universal install, Light Preload). If you can't get the bearings you need in a preloaded set then you will have to set the preload though spacers where the spacer between the inner races on the spindle is a few tenths of a thousandth shorter than the spacer that separated the outer races. The parts can not be made on a lathe. The must be ground.

Spindle design is not easy, but there are materials out there to help. Timken/Fafnir has a section in one of their books that covers the basic designs of spindles. You can download it here: http://www.timken.com/en-us/products/Do ... -09-29.pdf

Starting on page 137 is cross sections of various basic designs. Most vertical milling machines Use a duplex of spindle bearings at the bottom and a single radial ball bearing neat the top of the spindle housing.

Good bearings are not cheap, though you can find NOS bearings on ebay for a fraction of their new cost. I had to replace the bearings in my surface grinder at about $150 a pop, times 4...

I may have a small set of preloaded AC bearings that may work for you. What is the OD of the collet chuck?

There are water cooled chinese made spindles on ebay that are pretty cheap. Look like a real good deal for the price. Though you will need a VFD to drive them.
You can also get the Chinese spindles from Keling:

I'm very likely to pick one up since my mill only goes to 2500RPM which is painful on composites and small aluminium endmills.

Tearing up aluminium at 60K RPM would be awesome. The math claims that kelings 100W spindle could push a 1/8" endmill through aluminium at 200IPM which is beyond insane.
Yeah, those are the same spindles. Probably all come out of the same factory. Figuring a 1/8" Carbide, 3 flute end mill at around 800 sfm you will be limited to about 25000 rpm at 42 inches per minute pulling about 1/8th HP for a .050 DOC.

Once you do get your spindle going you will need some sort of coolant otherwise you will break bits in aluminum. Its no fun. I use Bijur SprayMist units on both my cnc lathe and mill. It is different than the generic coolant sprayers that use a venturi to suck coolant from the resoivoir. The Bijur units pressurize the coolant and uses low pressure air which mixes with the coolant in the nozzle. This creates a micro drop spray where you get a lot less airborne mist. Better for you and your equipment. I just added a second nozzle to my mill off the same unit. One on each side of the spindle. I was having issues where the work would eclipse the spray and chips would weld to the bit almost instantly. Broke a few $25 end mills this way.
The spindle is intended to use angular contact bearing on top and bottom. I only had one left for testing so I put it on the bottom. I use a big 2.2kW VFD based water cooled spindle on my 4x4 router. The best part is how quiet it is. I cool it similar to the laser tube (pump and bucket). The water never even gets warm.

I think my new little spindle will work just fine for want it want. Time will tell how long the bearings last so I guess I cannot release the design until the end of time.
You might consider at the very least replacing the bottom bearing with a 5200 series bearing. It is two angular contact bearing in one.

http://www.astbearings.com/double-row-a ... ntact.html
very least replacing the bottom bearing with a 5200 series bearing

The spindle shank is only 8mm.
This is a big step up from the Low Cost Spindle I've been looking at from MIT. Would the second angle contact bearing be used to counter-act forces pulling down on the shank, or have I totally missed the point with the paired bearing concept? Is preloading an issue in the radial, axial or both directions?

I'm wonder where on the cost/benifit curve this design will land. I'm assuming somewhere b/t a rotozip and one of the wiz-bangs mentioned above. For me, it's all about pushing the 80/20 rule and of course the joy of tinkering.
I assume you are referring to this: http://mtm.cba.mit.edu/toolheads/spindle/makeit.html ?

As it sits with one AC (Angular Contact) bearing the MIT one is better.

Angular contact bearings are used in a minimum of pairs, sometimes triples if there is an extreme amount of force in one direction. Unlike a standard radial ball bearing where the load force is intended to be towards the side of the shaft or a thrust bearing where the load is in line with the shaft the races of an AC bearing have the ball contact at and angle, usually somewhere from 15 to 25 degrees from radial, that acts to take up thrust and radial load. To remove possible run out the bearings are preloaded so there is pressure on the balls. The amount of pressure depends on a lot of things, RPM, load, lubrication, etc. Often AC bearings will come in a matched pair that will have the inner races ground so when they are assembled and the races are locked together they will have the preload set.

I would say the rotozip is still better.
Macona takes all the fun out of being a DIY CNC'er. I guess I'll have to cancel that big contract with Haas. I still love my little spindle.

Edward Ford of ShapeOko bought a spindle like the MIT one off the net. It has a ton of axial play and was not usable. It did not appear to have angular contact bearings or a preload.
I've got a fairly beefy 'rotozip' type tool from sears and I've ordered a shank from HK, so in about 2 months I'll be able to stage a spindle-off. With regard to the bearings; a little light reading leads me to conclude: 1) AC bearings are preloaded in the radial direction (ie the inner race is a little big and pushes outwardly) 2) an AC bearing only supports thrust from one direction, which is why they're usually paired.

Come on slow boat!
Any progress on this? I think a small router will be next on my list of machines, possibly the ShapeOko.
The spindle is being tested by Edward Ford of ShapeOko. He has a few hours on it I think, but busy with a big batch of ShapeOkos. He said it is 12dB (by iPhone app) quieter than his default dremel spindle.
Funny thing, seeing this thread updated. I was just talking to my father-in-law tonight about RC motors after mentioning this spindle to him.

Bart, do you still have (or could make more) of the plastic frame for the spindle? I'm interested in making one for the MakerSlide CNC router I'm building.

If it would help, I can run some tests. I'd need some pretty specific criteria though, as this is my first CNC router.
Are the DWGs for this available?
I can publish the step files. I'll need to load that project up when I get a chance.
thanks! should be a nice improvement over the dremel spindle on a Shapeoko
STEP Attached
(375.84 KiB) Downloaded 1630 times

I see now that I'm the holdup on this! Here are a few pictures I took with my phone a couple months back. I'm hoping again to get this mounted up to my test rig in the *very* near future, and report back regarding it's status and performance.

It's a water cooled motor, so there was a little more to it than just bolting it onto the machine. I ended up buying a water pump for a fish tank ($12) and an empty plastic paint can from the LHS ($5) to use as my reservoir. I then drilled three holes in the top of the paint can - Power, return, and supply. Then grommetted the holes to be safe. Dropping 120v AC into a bucket of water was a little scary to begin with. The last thing I wanted was to fray the cable and end up zapping both my machine and myself!

The biggest challenge with this thing is the wire management! Between the water cooler lines, the extra power supply for the motor itself, the ESC wires and the arduino, it's a top notch rats nest! You can see in one of the pictures that I have the ESC mounted to the side of the UHMW (haphazardly) which IMO will be the best place to store it. If I remember correctly, the wires coming from the ESC cannot be modified in length, else the motor will not act properly. Why that is, I don't know. I'm sure someone here knows why....

I have a mount designed to easily bolt it to a piece of makerslide, I'll combine that with Bart's step file and post it for download.



How are you controlling the spindle? Bart says in his post that he used an Arduino to send the signal to the speed controller. Can we use the same Arduino that is controlling the Shapeoko to control this as well? If so, any details on wiring?
Yes, the spindle is controlled via an arduino. I believe the sketch is from somewhere on the intrawebs. I'll try and hunt it down.

As far as sharing the arduino: Unlikely. Because the arduino used to control shapeoko has a custom firmware (grbl), simply "combining" the programs isn't really feasible. However, if you're willing to hack around with the grbl source, it might very well be in the cards. For me, it's worth spending an extra $20-$30 on a second arduino. You'll also need a POT

I think another question is: could EMC2 somehow control the spindle speed? I think that would be a much simpler integration, but I don't know what exactly would be required to make that happen.
The motor is powered by a standard RC Motor controller and takes a signal like a hobby servo. That is a 1ms-2ms pulse on a roughly 20Hz rate for full scale. You can program the controller to either have full scale one direction or half is forward and half is forward. A simple pot will not control the speed.

The Arduino can easily control this. Like Edward said this requires a little hacking of the GRBL code. I think it is worth it because it is a nice single Arduino solution where G Code could handle the whole thing.

Another slightly easier method would be to use a fixed speed generated by a 555 circuit on simple controller and use the Arduino/GRBL enable it.
I was looking at the schematics for the Arduino shield and the Pololu-compatible relay driver earlier, and it got me thinking at an interesting option would be designing a Pololu-compatible board with a circuit to drive this motor controller. Then all you would need is an output from the Arduino to turn on the spindle via the circuit board, but control the speed with a pot mounted to the circuit board.
I think on a simplified level the pololu compatible driver (PCD?) could turn on the spindle. But, If I remember correctly, the arduino uses the servo library to control the ESC. There is a certain "arm" sequence that needs to happen in order to start controlling the motor through the ESC which grbl couldn't handle without modification. The POT is actually controlling the spindle through the software. It's not physically adjusting the voltage, just changing the pulses to the ESC.

So, it seems that you would need a second arduino to carry the servo library and perform the subsiquent arm sequences and interface with the POT.

I've assembled a second shapeoko for testing purposes and am hoping to have a little time tonight to mount this spindle to the test rig and see what I can come up with. If all goes well I should have a video in the next couple of days!

I think once the spindle is mouted again and doing some work, and everyone gets a look at the setup it'll be easier to know what the next step should be.
out of curiosity, can you drive the ESC unit with a servo tester like this: http://www.hobbypartz.com/ek2-0907.html
I am pretty sure that would work. I almost mentioned that in a previous post, but I was hoping no one would take the lazy way and actually do the code.
lazy way haha

Pololu had a great blog post about controlling a servo: http://www.pololu.com/blog/18/simple-ha ... ng-a-servo

The most important graphic on the post:


I'd still love to have something Pololu-compatible, so what about using the Ardiuno to read an M3 gcode spindle on, and then use that to activate a transistor and "turns on" the circuit above? Ideally, you would have a potentiometer either on the little Pololu-compatible board, or have it connected via the standard stepper output connection. After all, you would have 4 wires to work with on that connection, so servo power, servo signal, servo/pot ground, and pot resistance for the circuit.

Thoughts? Sorry if this post is rather haphazard, I'm reading/searching during odd free time.
With a single pin you could control the motor on off and the speed via the Arduino with no external components.

It is actually very simple. GRBL, Sprinter, Marlin, etc use a timer interrupt to do all the work. When you get a speed change command or on/off command you you calculate two numbers "on time" and "off time" for the pulse pin. A counter in the interrupt counts to each time and flips the pin. Those time values are simply what would give you the duty cycle at the update rate you want based on the interrupt frequency. It is all incrementing integers inside the interrupt so it would not effect performance.
Quick update on the RC Spindle:

I got around to cutting a proper UHMW mount plate on Saturday, then did some test fitting. Everything seemed to line up nicely and the mount looks like it's going to work pretty well in terms of rigidity and support.

So... there we have it. Everything needed is in hand and the spindle has been mounted to my test rig. If all goes well, I'll have the video up tonight!
Hi All

Just a note, I get the R2hobbies newsletter, and in today's February 2012 #2 issue, they have a new 1800kv water cooled brushless inrunner boat motor ...


This may or may not be useful to you.


Just for fun I mounted it on the Quantum (virtually). It looks pretty big, but it does fit with only drilling 4 holes. One of the goals of the original spindle was minimal distance of the spindle shaft from the mounting surface to reduce stress on the machine. I think that helps, but I don't think this design is appropriate for the ORD. It is too big. I think for PCB milling you want a higher speed than this geared down version. The water cooling would be a pain.


bdring wrote:...I think for PCB milling you want a higher speed than this geared down version. The water cooling would be a pain.

I like it!
i will definitely want to add that as an option to my Hadron build. I was thinking about this before - you're right about PCB drilling- high speed but low torque is ok , and considering how inexpensive RC brushless motors have become, i would prefer to have 2 separate mounts , one geared down for machining light metal and plastic, and another just holding the high-speed motor with a 1/8" collet chuck substituted for the motor shaft itself and better bearings installed.
I also agree about water cooling - its efficient but not too practical on such an elegantly simple & portable platform - so "heli" style motor with integral cooling fan would be the way to go i think.

What may be more of a problem though is the Z-axis feed rates; for drilling PCB's they need to be quite fast (it explains why the refer to holes as drill "hits") otherwise you burn the board and ruin the bits pretty fast.
I was just thinking about that earlier this morning - there's 2 options i think to increasing the Z- speed:
1 - change the leadscrew system for something else, maybe timing belt again ?
2 - add a secondary, short throw but fast Z- axis, on the spindle itself.
I'm not sure which is easier or better. Option #1 requires significant re-engineering of the ORDbot platform, so not so easy.
But it would be nice i think to make all linear motion based on a common system (timing belt) like the X and Y.
Option #2 is probably easier as an add-on, but still a little tricky to keep it light and thin enough so you don't end up with the spindle axis cantilevered too far out in front - even a little flex when drilling 10 thou holes will either make the hole miss its mark or more likely snap the bit.
if you are considering changing the Z screws, look at ACME threaded rod. You can pick up a set of appropriate size, with a nut and bearings, for around $20 on eBay.
How were you powering the brushless motor? Maybe it was said and i just missed it but isnt it expensive to supply enough power for a motor like this without using batteries?