Apr 28, 2017

[2.70] Seek and Geek #10: Ballscrew

Summary: Hardware debugging is a lot like code debugging, but involves more acetone.

I had acquired a ballscrew assembly from one of the loading docks, and was really excited about using it as the main actuator for this desk. (This is the same ballscrew from Kris's first seek&geek) Even though there was no obvious part number or datasheet, I could estimate the stiffness by looking at similar ballscrews and felt pretty happy using this approximation in the rest of my calculations.

The ballscrew assembly has been sitting on my bookshelf for years with the same wrapping I found it with - paper towels and packing tape. This week I took off the wrapping and started dimensioning things... and started this very wild ride.

Ballscrew assembly pre-shenanigans

Long story short, I accidentally discovered the true reason it was wrapped up. I had thought the towels were simply to prevent dust from getting in the bearings, but the true reason was to prevent pine resin from contaminating everything else!

At the base of the ballscrew where the supporting block bearing is, there was a glob of pine resin. In my excitement to measure all the dimensions, I had allowed the ball nut to sink into this resin. So suddenly, the entire assembly was seized!

In retrospect, what I should have done was soak the entire assembly in acetone to dissolve all the grease and resin. But, for some reason, I thought there would be rubber or plastic components that would be unhappy with the solvent bath. So I painstakingly took everything apart, soaked everything in acetone, reassembled the pieces, and finally relubricated all the parts!

Fixing my mistakes

First discovery: the two bearings in the driver block are in a face-to-face configuration. They use 8mm ID flanged bearings, where the outer flange is held in place and the inner races are preloaded by a torqued nut compressing them against the 12mm screw.
Bearing diagram. Solid lines are outer diameter (outer races), dashed lines are inner races, r
ed lines are approximations of ball contact forces and directions
The face-to-face configuration has more compliance against rolling moments, which makes it more forgiving with misalignment (4x less sensitive to roll than the back-to-back configuration). Assuming maximum race deflection of these ball bearings is 15μm under nominal max load of 3300N, linear stiffness should be  2.2*10^6 N/m, making
$K_(moment) = \frac{K_(linear) L^2}{4} = 3.1\cdot10^4 \frac{N}{m}$
So that's neat. The next component in the stack is a steel washer. This item was supposed to prevent the ball of resin from gooping up the bearings below, but when the ballnut plunged into the resin it brought up this guy with it.

Next up was reattaching the shaft. The end of the ballscrew had a really fine thread, which got slightly damaged by me pressing the shaft back on. I used a knife to gently nudge the threads back in place, so I could reattach the nut. There's also a washer on the front end of this assembly that protects the inner races of the bearings from resin goop.

I replaced the resin goop ball with a blob of lithium grease. Probably this was unnecessary.

Next up was re-assembly hell. Luckily for me, this ballnut uses an external ball-return-plate. Otherwise I doubt I would have been able to repair this item (or maybe I would've come up with the better idea of dunking the whole assembly in acetone first).

There were originally 50 balls, 2.3mm diameter. Unfortunately I lost one in the repacking process :(

Repacking the balls involved picking them up with tweezers, packing them in the channel, then feeding the shaft such that the balls were evenly spaced. I did this five times in the process of hardware debugging.

Next up was lubrication. Chain oil was too clingy, Tap-magic too light, but machine oil worked fine.
Never again! But, the ballscrew lives! And now I feel justified using this reuse ballscrew in the desk.

This is what the balls are doing on the inside.
Modified from barnesballscrew.com
We can take a guess at load capacity of the ballnut knowing how many there are (too many!) and their diameters. First, taking a look at contact pressure.

Maximum contact pressure can be approximated with
$P_(max) = \frac{P_(load)}{\frac{\pi}{2}r}$,
where we need to take care to not exceed the Brinell hardness... that's how bearings fail! Assuming the bearings are 52100 bearing steel, hardness should be ~200 BHN. 

So for these balls, $P_(max)$ < 11.2 N per ball, for a total load capacity of 550N, or 123lbs. That means no attempting to stand on the ballnut by itself.


  1. I'll immediately take hold of your rss as I can not find your e-mail subscription hyperlink or e-newsletter service. Do you have any? Please permit me realize in order that I may subscribe. Thanks. gmail login

    1. RSS is the correct method for following this blog. Thanks for the interest!