Mar 21, 2017

[2.70] Linear Axis v2 (replacement threaded rod)

Still not ready for a proper update yet (need to run laser repeatability tests with set stepper counts), but I did replace the threaded rod.

Everything is so much better now.

Mar 19, 2017

[2.70] Linear Axis v2 (dry fit + bent rod struggles)

Started to put together linear-axis version2, but I have a garbage threaded rod (visually bent and not really salvageable)

So no laser test yet, but have a silly video as a placeholder (video has sound!)

Mar 10, 2017

[2.70] Seek and Geek #5: Ball Bearings

I have two unanswered questions about ball bearings:
  1. How do you mass-manufacture precision balls and rings cheaply enough to sell them inexpensively?
  2. How do they press-ft the balls in, anyway?
Random photo from

  1. A ton of grinding
  2. They actually rivet the two sides of the cage together, so there's actually not a press fit with the internals.

Discovery Channel's How It's Made provides all your educational needs

Grinding seems to be the default manufacturing process to achieve good surface finish with close tolerances. Grinding wheels themselves are made from pressed and bonded-together coarse aggregate, so you'd expect them to be the least precise tool to create a precise surface. 

What saves the grinder is that the grinding wheel doesn't have to be precise; it just needs to be trued to make the wheel concentric. Having low-spots on the wheel that don't make contact with the part surface is fine; as long as something is making contact, the grinding wheel is working. There's also a bunch of documentation on acoustic-based methods for determining whether the grinding wheel is making contact with the part surface, so CNC operations can compensate for positioning errors.

Ball bearing balls start out as thick steel wire, cut into short bits and smashed together in a press to form a ball.
The flash gets torn off in a coarse grinding process that rattles the balls around between cast-iron disks (the flash is a skinny cantilever, so it fails before the rounded parts of the balls are affected). Then the balls get heat treated, and fed through progressively finer grinding disks until they are mirror-smooth and round. A convenient thing about desiring perfect spheres is that allowing the balls to randomly rotate within the grinding process only helps to remove high-spots. The longer balls are left in the grinding/polishing process, the more precise they will be.

Mar 4, 2017

[2.70] Seek and Geek #4: Alpine Ski Bindings

I went skiing with a buddy this past weekend, where by "skiing" I actually mean "learned to ski by falling down half the mountain."

It was super fun!
While falling, I got to truly appreciate my ski bindings and their wholly-mechanical release mechanisms that prevented me from taking awkward falls.

Ski bindings on skis

Ski bindings are interesting. They are simultaneously a safety release that detach the boot before you hurt your legs (skis are levers and your legs don't want the force multiplier) and a modulator for all the input forces you control the skis with.

Super-well thought out mechanisms that consider biomechanics of falling
The release-trigger tension, called the DIN setting, is calculated by a combination of skier weight, height, ability, age, and foot length. The front and back bindings for each ski are set separately and could be different DIN settings, but usually are the same value.

The rear binding has two especially interesting features. The first is a spring-loaded snow brake. When the boot heel is securely clamped in the binding, the heel keeps this snow brake folded up. But the moment heel pressure is released, the brake arms pop out and dig into the snow. So now, your skis won't fly down the slope without you! Additionally, the brakes raise the slippery surface of the skis off the snow - very helpful for when you're trying to reattach your boot while on a slope.
All ski bindings come with a safety brake to prevent the ski from sliding away
The second fun feature of the rear binding is that the entire thing has a spring and can slide forward and back along the ski. The ski is a long, elastic body that bends to absorb forces going down the slope... but the boot doesn't change shape with it. Therefore, as the ski bends the rear binding slides forward and back to accommodate the deformation of the ski without compromising clamping pressure on the boot heel.

Video illustrating preloaded rear binding keeping boot in place

Feb 27, 2017

[2.70] Simple Linear Axis

For this assignment, we were told to go forth and create a linear motion axis built from scrap and then measure its precision. I had some leftover 8mm steel rod from what used to be 3D-printer materials, so I decided to make a small linear rail out of that. These rods were only 30cm long and rather thin for desk material, so I'm treating this one more like a scale model. I can use this to see what I can improve for the real thing.

With round straight steel rod as my rails, I have two main concerns to address:
  • Fabricate rail holders to maximize parallelism of the rods
  • Make a carriage to achieve best slidey-ness/load capacity with least effort/wobbliness
The rail holder objective is fairly straightforward, but the carriage requires some thought. Generally the more constrained you make a slider, the less load capacity it gets (before you get friction problems)

I decided to see how far I could get with a circular-bore carriage (slider on one rail has cylindrical bores, and the other rail just has a flat.) Fundamental failure modes of this design will be angular wobbliness in the xy-plane (parallel to the base, but would move a laser beam side to side), since a slip-fit circular bore inherently will allow side-side play. However, such a design would prevent the carriage from lifting off the rail and I could later reduce angular errors with a preloading mechanism. Also, this design is really easy to machine.

Below is some scratchwork:

So if I have an 8mm rod, and I have a clearance bore of 21/64" (closest common machine tool size, equal to 8.335mm), what's the best error I can theoretically achieve? More fun scratchwork below:

I can expect between 0.2° and 0.6° angular error assuming my carriage connection is actually rigid

I needed to predict what sort of errors I would see from this device; for that I used another Slocum spreadsheet. This error apprortionment spreadsheet explores allowable errors for all the components in a machine based on total error the engineer wants to achieve and how precise the engineer can expect to get each individual part. 

The logic here is that I can easily acquire a decent actuator and build a decent structure through clever machining processes, but my sliding axis idea is going to rely on flawed delrin bearings and a really derpily-mounted and honestly not well-collimated laser "sensor". So I expect the most error to come from these items. The goal is to achieve 0.5mm precision (arbitrarily lofty goal) despite these items - for that to happen, my linear axis needs to have 0.33mm precision (angular precision 0.09deg) before considering load. (I'm moving things on this axis too slowly to care about thermal or process errors.) Welp, here goes.

I machined a block of delrin to create the four rail holders and the circular-bore carriage sliders. All the critical features of the rail holders (height, bore, and mounting bolt holes) were machined first, subsequently the block was bandsawed into four pieces. The slider pieces were also matched by machining everything before splitting, to improve relative precision of the components during assembly.

Bottom faces of rail holders and slider (left) and top faces (right)
Rail holders were bored with a 5/16" reamer to get a press-fit with the 8mm rod. Slider bore used a 11/32" reamer to get a slip fit. I ended up with a rail assembly that moved very smoothly under no load, and remained decent even when I pressed harder on it.

After assembling the more constrained rail, I measured the distance from the top of the rod to the slider - 1.42mm, and found a scrap piece of acrylic for the flat that reasonably matched that height. I then bolted my simple linear rail assembly to my lab's optical table, then attached a piece of sheet metal with VHB tape to test it.

Simple Linear Axis with all the components
Attaching components with tape isn't the most rigid way to make a machine, but I'll soon have to modify the carriage to add an actuator. I therefore decided to go with an attachment method that would be easy to remove, since I don't yet know what modifications I'll add to the final carriage.

For testing, I taped a laser pointer to the carriage and pointed it at a cabinet 20ft (6.12m) away. My carriage is 75mm long and wide, so using Abbe error principles

$ \tan(\alpha) = \frac{\delta}{L} = \frac{g}{length of carriage} $ 


$\alpha = \arctan(\frac{\delta}{L})$

where if I want my bearing error to be max 0.159mm (error apportionment), I want my angular error to be 

$\frac{0.159mm \times gap}{l} = 0.02deg$

and therefore max $\delta$ = 2.167 mm (repeatability at same location)
and max $\delta$ = 3.36mm (moving the carriage the full length of the 214mm-long rail)

Laser target. The white paper is so I can draw on it, and the black tape spot is for the camera's benefit.
The following video is from me trying to square up the assembly relative to the target by eye. I slid the carriage back and forth along the length of the rail and rotated the linear axis until the laser stopped wobbling side to side. This calibration was very handwavey, so it's difficult to properly measure the precision of the device itself versus how angled the entire assembly was.

Once I rotated the optical table to a reasonable target-width (video below), I was ready to start properly measure my linear axis.

It's possible to back-calculate the estimated angle of the assembly relative to the target based on the overall drift of the laser across all the trials, but I definitely won't conduct enough trials to properly statistics-away this particular source of error. Instead, I'll probably find a better calibration method for the next iteration of this linear axis once the actuator is attached.

Anyway, during testing I discovered that my clearance-bore + flat method did indeed have noticeable side-side error and worse than I calculated - 9.81mm, which was a 0.09deg angular error for repeatability testing. A lot of this is due to my setup itself not being squared up - angular error at the front was only 0.04deg of error compared to 0.14deg at the rear.

Traveling from back to front multiple times, I accrued an overall angular error of 0.23degrees. Womp. My estimation from looking at repeatability of the fronts and backs is that 0.05deg of that was due to the the table itself.

Given these results, I tried squaring up the optical table a bit better and put a 500g weight on the carriage to look at effects of adding a load. This time, my fronts and backs had more similar displacements - both errors were 0.1deg. However, sliding back and forth got an error of 0.5deg - twice as much as when I tried this with minimal loading, and 5x what my error spreadsheet budgeted for.

I suppose this is what I get for attaching my carriage to my bearings using compliant foam tape and attaching my laser with ducttape, and I'll find out how much better I can get when I add an actuator and reattach everything with more thought.

However, the real experimental error matched up with my scratchwork predictions, despite having a bore gap 0.2mm larger than intended (using 11/32" reamer instead of a 21/64"). So probably I shouldn't expect to achieve anything significantly better even with an actuator.

[2.70] Seek and Geek #3: Bicycle Derailleur

Thought I'd geek out a bit about an interesting transmission and gear changer system. The bicycle derailleur is a variable-ratio transmission system seemingly only found on bicycles, which allows the user to change the gear ratio of the chain-sprocket drive system.

Image from

Derailleur Bicycle Drivetrain.svg
A closer look at the two derailleurs and sprocket-cassettes.
Diagram by Keithonearth
From Wikipedia

Cyclists operate these using shifter levers at the front of the bike, which put tension on chain-guides with a Bowden cable system. The change in cable tension on the chain-guide pushes the chain to one side, at an angle to the sprocket. When the angle becomes sharp enough, the chain will stop meshing with the sprocket teeth and either fall onto the next smaller sprocket (if shifting up to a smaller size gear) or be caught by the teeth of the next larger sprocket (if downshifting to a bigger gear). This process of displacing or "derailling" the chain is where the name comes from.

Components of the rear derailleur controlled by a shifter
Image from

The rear derailleur is extra-interesting. Not only does it control the gear ratio on the rear hub, it also has a swingarm (consists of spring-loaded pulleys) that takes up slack from the chain.

Tension on the bowden cable shifting up from the big gear to a smaller gear contracts the chain guide, moving it up and and away from the wheel (green arrows left and right).
At the same time, the roller sprocket on the swingarm swings backwards, taking up slack (red arrow).
Image from

Some extra facts about derailleurs - they require the chain to be moving in order to shift sprockets, and the transmission loses efficiency the more diagonal the chain is running relative to the sprocket plane. Therefore, cyclists avoid combining the biggest drive sprocket (front gear hub) with the biggest driven sprocket (rear hub) and similarly avoiding smallest front with smallest rear.

In general the derailleur system has an efficiency of around 95%, which is really good compared to most gears.

But if that's the case, why isn't this transmission system seen anywhere else except for bikes? We see chain-driven transmissions in plenty of other applications - usually in heavy industrial equipment. In addition, chain drives have plenty of advantages over other kinds of transmissions:

  • Don't slip or creep, unlike belt drives
  • More compact than belt drives
  • Better for high temperatures
  • Weather resistant
It's likely that derailleurs fulfill a niche set of requirements that only emerges in human-powered vehicles. Motors generally spin faster than their outputs; human legs generally spin more slowly than the desired output wheel. Furthermore, humans likely want to tune the variable-transmission for energy efficiency more often than a battery or liquid-fuel engine since humans feel laziness and engines don't. Finally, derailleurs have a possible set of disadvantages that lead them to not be used in a wide variety of applications:
  • They require the chain to be moving and ram the chain side to side to switch sprockets, so probably can't be used for high-speed applications
  • They maintain tension with a spring-loaded swingarm that greatly limits the load capacity of the chain to still allow gear changing
  • Load capacity of the sprocket is also limited by allowed horizontal force on the chain before the weaker, thin side-walls buckle
Perhaps it's not that surprising that only bicycles use this transmission system.

Feb 24, 2017

[2.70] Kinematic Coupling Round 2 (plus bonus annealing fun!)

Last time I made a kinematic coupling for a Slocum class,  the result was a tiny magnetic coupling for a pen. Well, time to make another 6-contact-point mechanism to constrain 6 degrees of freedom!

This time, I'm revisiting some material science fun - material properties of tempered and annealed aluminum. Last time I did this, I took 7075-O aluminum and heat treated it to approximately T6 temper. This time, I'm starting with a block of 6061-T6 and seeing how far I can anneal it.

I filled in two estimation spreadsheets for the kinematic coupling. This one assumes the grooved half is made of 6061-T6, and the second one assumes the grooved half was softened to T0. In both cases, I'm using pine spheres for the ball half.

For this spreadsheet, I assume that there's a 20N preload pressing the halves together but at an imperfect angle (5deg, so modeling a weight slightly cantilevered off the center). I also assume that I will be measuring Abbe-error at a distance of 10ft.

pine balls on 6061-T6 grooves

pine balls on 6061-O grooves

An interesting observation that emerges from these two spreadsheets is that annealing the aluminum is expected to yield no difference in kinematic coupling errors. Of course, that does make sense, since pine has a both a substantially lower yield strength and lower stiffness than even soft aluminum.

I ran the spreadsheet again, using ball values for steel, and found that actually my problem is that the yield strength differences between T6 temper and T0 are too small to see much difference in error... and given that 6061 will have the same elastic modulus at any hardness, I'm not really sure what I expected in the first place. Anyway, moving on.

This KC used a much less involved method of construction than the previous one. I grabbed leftover wooden drawer knobs and drilled 1/4"-diameter blind holes to accept steel dowel pins. Then, I drew a circle on some scrap aluminum (this isn't the one that will be baked) and marked and punched locations spaced 120 degrees apart. These punched spots were drilled through with a 1/4" bit and again with a 19/32" reamer (I couldn't find a 1/4" one!)

19/32" holes ended up being too much of a slip fit, so I shimmed the dowels with some tape.  

Completed upper half of the KC
The lower half of the coupling was made of a 1/4" chunk of 6061-T6, and used the same method as KinematicCouplingPen to form the grooves - indexing head for 120 deg rotation, preliminary cuts used a flat endmill followed by a chamfered bit (this one was a bit big for a countersink). I also drilled some 5/8" clearance holes for attachment to future tensile-tester fasteners.

Tensile testing ended up not happening, for reasons I'll get into later in the post :)

A note on machining - this go around I learned from my previous mistakes and locked the spindle when machining the grooves, instead using the much more rigid knee to control z-axis height.

Completed kinematic coupling
For testing, I relied on good old Abbe Error. Magnify your errors by projecting them really far away!

Abbe Error diagram from last time
This KC has coupling radius "r" = 19.6mm, and my projection distance was 6.33m.

$d = \frac{rD} {L} = \frac{D} {322.96}$

$\frac{d}{D} = 3.096 \times 10^{-3} $

For these repeatability experiments, a projected deviation of 1mm indicates a coupling error of 3 microns. The experiment consisted of taking the KC top off and setting it down again, then marking the new location of the laser dot. I repeated this process 10 times.
KC was clamped to the table and a laser strapped to the upper half pointed at a paper on the wall
Actual piece of paper taped to the wall
So how did I do? For the just-laser-pointer trial (self-weight provides a 2N preload), my max radius across the entire spread was 6.06mm. Maximum distance between consecutive trials was 8.64mm, and maximum distance from the origin (laser location before I started the repeatability test) was 12.3mm in the negative x direction.

I added some weight on the center of the KC and tried this experiment again with a 10N preload. Here, max spread radius was 5.50mm, max distance between consecutive trials was 8.48mm, and maximum distance from the origin happened from origin to location1 was 10.99mm

An interesting observation for both cases was that the origin itself - before I started messing around with the KC - is on the extreme edge of the spread (the origin location is marked with a sunburst pattern). I wonder whether the KC settles to a new favored position over time, versus when I quickly pick it up and set it down during the experiment.

Translating these results to errors in the coupling, I get this:
So this kinematic coupling is repeatable to approximately 15 microns. This happens to be 5x worse than the first one I made, but definitely took less than 1/5 the time to make.

Going back to the kinematic coupling spreadsheet and updating values to better reflect real life, I found that I should expect a displacement error of 12.7 microns (10N preload, where the added 8 N was assumed to be 1deg off center, because nothing's perfect). Pretty close to real life!

Alright alright, what happened to the material science part?
Well, the internet suggests that a good way to soften 6061-T6 is to coat your piece with a layer of sharpie or bar soap and then torch it with an acetylene torch until the soot burns off. If you let it air cool, it should be somewhere between T3 and T0.

So I did that, then remembered I had an evening lab class in the metallurgy lab and the forge would still be hot when we finish with classwork! This was convenient, because the kinematic coupling piece is rather thick and torching it would only superficially soften the outer faces.

Ooh, fire
 Unfortunately aluminum is less forgiving than copper and is more difficult to judge temperature by eye. It also happens to be that aluminum's forging temperature is only approx. 300 or so degF lower than its melting temperature... which is to say I spent too much time taking pictures and accidentally let my workpiece partially melt.

If you create deep grooves in a block of aluminum, the thinner bits heat up faster. Womp womp.

#hubris #stoptakingpictures #startpayingattention
So no stiffness testing between kinematic couplings this time. Luckily for me, I already did the assignment part.

What else can you do with a melty piece of aluminum? Nominally it should be T0, but in this state it's difficult to stick in an Instron. 

I decided to try a very handwavey version of the Rockwell/Brinell hardness test methodologies to finish off this fun experience. I got a 18-oz ballpeen hammer and a metal punch, and struck each material with vaguely the same amount of force. Then I measured the depth of the indentation.

Indent on melty-aluminum vs indent on your standard 6061-T6
Melty-aluminum's punch was 1.2mm deep, and T6's punch was 0.25mm deep. If we assume (dubious) that I actually used the same amount of force striking each piece, melty-aluminum is 4 or 5 times softer than 6061-T6.

6061-O aluminum has a Brinell hardness of 30, compared to T6's hardness of 95. Between like-materials and this close together on the scale, we can assume the hardnesses and scale values to be linear and say 6061-O is 3 times softer than 6061-T6. So my melty-aluminum is either at T0 or softer. I'm leaning 'softer', since it... melted. I guess this doesn't actually count as "annealed".

(Kinematic Coupling spreadsheet says I wouldn't have noticed a significant difference in error, anyway. Hrmph)