Having drawn my idea for a layer drive, I went to NextFab, cut the casing parts out of acrylic on the laser cutter, wrote a quick gcode program to produce the brass pieces on the CNC mill, and put it together. Twice, because the first time I learned some things, and the second time I fine-tuned the design. Hence the adage, "Plan to build at least two."
Look! I found expansion springs! They provide about 0.3 pounds or so of force.
Here's a detailed view of how I put each layer together:
First comes a 3/16" spacer, milled down by a few thousandths of an inch. Then comes a 1/4" diameter brass zinc-plated bushing. The 1/8" drive bar fits over it and can slide back and forth. The bushing should be 1/8" high, but I only bought 1/4" high bushings. The rest of the space is filled by another 1/4" bushing. The total distance between supports is 3/4".
The reason I milled down the 3/16" spacer is that there should be another 3/16" spacer above the drive bar to hold the missing 1/8" bushing in place. That totals 1/2", plus another 1/4" bushing makes exactly 3/4", which means that the spacer has to be shaved by a few thousandths of an inch so the drive bar is loose.
Below is an animated image showing the drive bar movement. When the bars are spread apart, the rods are pulled against the force of the spring to the zero position. When the bars are pressed together, the rods may slide down the teeth in the bars to register a one, or remain in place if the rod is blocked to register a zero.
After showing this to Dan at NextFab, and explaining how I was going to have a square rod to push the bars at the right tim, he got this far-away look which meant he was thinking whether there was a better way. He mentioned cams and a threaded rod, but we couldn't immediately think of a way this would work.
On my drive (heh) home, though, it hit me.
But first, a retraction: I got the reasoning of the mechanical advantage wrong in the last post. The mechanical advantage, which is the output force divided by the input force, is equal to the output distance divided by the input distance, where the output distance is the hypotenuse. I measured my refined bars, and they need to move 0.42". My original idea would have the vertical bar move 0.5", and thus the mechanical advantage would be the hypotenuse (0.65") divided by 0.42", or 1.55. Thus, pushing on the vertical bar generates 1.55x the force to move the bar.
But what if I could make the hypotenuse longer? I would increase the mechanical advantage, but I would also increase the distance.
What if I could wrap the hypotenuse around a shaft, and rotate the shaft?
Despite the drawing's resemblance to a gyro (mmmm, gyro with feta and tzatziki, om nom nom), now I can have a larger distance traveled, simply by selecting the number of rotations required to go from the small part of the shaft to the large part of the shaft. The shaft is a screw, so it raises and lowers as it rotates, and so each drive bar hits the transition zone in turn as it follows the trajectory shown above (dotted line).
For example, if I had a shaft where the diameter of the small part is 0.5", making the diameter of the large part 0.5 + 2x0.42 = 1.32", and chose a single revolution for the transition (i.e. 2 rotations per inch) then the distance traveled would be 4.46", leading to a mechanical advantage of 10.6! The tradeoff, of course, is time. If I wanted the time between drive bars to be, say, 1/4 second, the shaft would have to move vertically at 2 inches per second, which is 4 revolutions per second, or 240 rpm.