Here I put together 14 rods, 4 of them having stronger springs, because I ran out of the weaker springs, so I think this is probably equivalent to 16 rods. This is the maximum that the Logical Engine should use.
16-rod drive test from Robert Baruch on Vimeo.
A lot of force was required, and when I tried to drive the bar using the rotating cylinder drive, the bar wouldn’t move. It would just bend. I also had to replace some of the casing with aluminum parts, because the force was too great for the acrylic to handle.
Looking at the forces, it is clear that there is a lot of extra energy going into friction due to parts twisting:

So on the drive home, I came up with another idea, which looks like this:

Instead of having a complex bar which pushes the rod stops at an angle, I can push the rods straight out, with the only friction being the bar sliding against the rod stops. All other wasted forces go directly into the pivots where they don’t do much harm.
However, I’m still left with the cylinder drive, which has a tendency to push down on the bar. I think I can solve that by cutting a profile into the slope like this:

The bar rests against a flat, not a slope, and the flat is helically wound around the cylinder. This is extremely similar to the point on a screw, or to a fusee, which is a cylinder with varying radius around which is wound a groove for a chain. Fusees were used in clocks to keep the torque going into the clock the same even as the spring winds down, delivering less force.
I might be able to use the lathe at NextFab to cut one:

Due to the geometry, the diameter of the large end needs to be a little over 2.3 inches, and I only have a 1.625 inch steel round. So it’s not likely that I will get the bigger round by this weekend. I will only be practicing fusee cutting this weekend, but hopefully next weekend I’ll get to try the improved drive system.
Here’s the cam drive which sequences the drive bars in the right order.

And here’s a video showing how it works:
Springs will return the drive bars – I had to move the bars myself (and one of them just dropped because of gravity).
Here’s an explanation of how I implemented noise margins for the Logical Engine design. Recall that rods have holes for bumps every 0.3125 inches (5/16″), and that the spacing between rods is 1/2″ vertically and 0.625 (5/8″) horizontally. Also, I am using 1/4″ hex standoffs that have the following measurements:

Here’s a setup which will illustrate noise margins. The logic here is two inverters, but that doesn’t really matter.

The blue bumps are the bit bumps, while the green bumps are the sense bumps. The hexes are aligned so that the pointy end is along the direction of motion.
Here are the measurements of the bottom pair:

The key measurement is the distance between the flat end of the bit bump and the pointy end of the sense bump: 0.0432″. The geometry of the second pair is identical, so the same measurements apply. So if the bit bump on rod #1 were to be slid in front of the sense bump…

Then rod #2 will only be able to move that much, 0.0432″:

And now, if we slide rod #3, since the bit bump on rod #2 isn’t in the way of the sense bump on rod #3, rod #3 can slide the full 0.3125″. Or can it?

Zero clearance! So if the sense bump on rod #2 were just a little thinner, rod #2 will move that much more, and then the sense bump on rod #3 will smack right into the bit bump. You might figure that because the sides are sloped with respect to each other, it’s not such a big deal: rod #2 gets slid back by the force of rod #3.
But that’s not what noise margin is about. The idea is that the bit on rod #2 should stop short of rod #3′s sense bump’s path, so that any noise in the movement will not affect the result.
By making the bit bumps square, we solve this problem:

And so the noise margin for a zero bit is 0.0193″. The noise margin for a one bit is, of course, 0.125″, being half the width of a bit bump.
I decided to try a drive bar 16 rods long, since that is the maximum size of a module in the 16-bit Logical Mill. I milled the drive bar on the CNC mill, made a few small rods, and disabled the springs to check the alignment and smoothness.
Here I’m using an experimental video script, so if it looks really bad or is jerky, let me know.
Everything seems smooth. The oil wasn’t even necessary. Then I enabled the springs:
The bar took a lot of force to move, even with only five rods. I probably would not be able to move the bar myself if I added all 16 rods. So there are some possibilities. One is to get weaker springs. I don’t necessarily like that idea because that would slow down the activation of the rods. The other possibility is that the rotary drive from the previous post will be strong enough to apply the required force. I may also need to make parts of the casing out of aluminum for strength.
This week I should be getting in some Acme-threaded rods to play with.
Tags: rodulator
”The possibility of constructing a piece of mechanism capable of performing certain operations on numbers is by no means new ; it was thought of by Pascal and geometers, and more recently it has been reduced to practice by M. Thomas, of Colmar, in France, and by the Messrs. Schülz, of Sweden; but never before or since has any scheme so gigantic as that of Mr. Babbage been anywhere imagined.”
– The Times (The London Times), The Late Mr. Charles Babbage, F. R. S, October 23, 1871
Today is the 139th anniversary of Charles Babbage’s death. The Times’ obituary dated October 23, 1871, can be found here. The obituary incorrectly states Babbage’s birth as December 26, 1792 when, in fact, it was December 26, 1791: there is a record of his baptism on January 6, 1792 which makes his published birthday somewhat problematical. This could have been a typo, since the obituary states his death “at an age… little short of 80 years.” However, other obituaries seemed to perpetuate this date of birth.
Anyway, here is a selection of quotes from various obituaries at the time:
From The American Insurance Gazette and Magazine, vol. 34, November 1871:
“A cable telegram from London reports that Charles Babbage, the mathematician and philosophical mechanist, died in England on Friday evening, at the age of seventy-nine years… Mr. Babbage was born in England in the year 1792.”
From The American Journal of Science and Arts, 3rd series, vol. 3, no. 13, January 1872:
“There is no fear that the worth of the late Charles Babbage will be over-estimated by this or any generation. To the majority of people he was little known except as an irritable and eccentric person, possessed by a strange idea of a calculating machine, which he failed to carry to completion. Only those who have carefully studied a number of his writings can adequately conceive the nobility of his nature and the depth of his genius.”
From Monthly Notices of the Royal Astronomical Society, vol. 32 (November 1871 – June 1872):
“His love of investigation, which became the ruling passion of his life, was displayed when quite a child, and was first evinced by an experiment which he made in order to ascertain whether or not the Devil could really be raised in a personal form. The result, which was negative, removed a doubt which had obscured his religious belief, and his theological views seen from that time to have enjoyed undisturbed stability.”
The Canadian Pharmaceutical Journal, vol. 5 (1871-1872), amusingly, lists Babbage’s birth year as 1790.
“His researches in regard to the construction of a calculating machine have gained for him a lasting celebrity.”
Proceedings of the Royal Society of Edinburgh, vol. 7, from the opening address of Sir Robert Christison, President of the Royal Society of Edinburgh, December 4, 1871:
“Strange the contrast between the careers of these early friends [John Herschel and Charles Babbage]! They began, indeed, by a grand joint success, for which alone their memory will always be justly cherished. But while the one, encouraged, yet never unduly elated, by success, steadily at work, though not of late years brilliantly, ended a long and happy life, every day of which had added its share to his scientific services; the other, enraged by the petty persecutions of men unable to understand scientific merit, or even its mere pecuniary value, spending lavishly from his private fortune to be enabled to leave to some possibly enlightened posterity a complete record of the working details for the construction of his splendid inventions, was never understood by his countrymen.
“But so it has ever been in this country. Herschel’s father was a German; so of course we could appreciate him. Babbage was an Englishman; the only person who took the trouble to understand his invention was a foreigner, the skilful mathematician Menabrea, ex-minister of Victor Emmanuel.”
Tags: babbage
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 + 2×0.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.
Here is a drawing I put together in Google Sketchup showing my idea for the module drive:

Each rod has a spring which tries to pull it in. If the brass bar shown on the right side is slid to the left, then the rod will pull in if it can. Pushing the bar back to the left would reset all the rods on that layer. The slots cut into the bar have bushings in them, which are on shafts that go vertically. Various other bits prevent the bar from moving vertically.
The bar on the left works the same way, except it is slid towards the front to activate its rods.
The funny-looking box in the lower left moves up and down, and serves to activate each bar, one after the other. If the box moves up, the bars will activate by means of springs. If the box moves down, it pushes all the bars back to their unactivated state. I think I’m going to put bearings on the bars to reduce the friction against the box. This way, the force required will be closer to the theoretical force required.
Each bar is 1/4″ thick, and they are 1/2″ apart. Each bar needs to slide 5/8″ in order to activate or deactivate, and so each bar must do that within 1/2″ of the box moving up or down, otherwise you’d get the next bar moving before the previous bar is finished moving. So unfortunately this leads to a situation where the box requires a force of 8/5 times the force required to move a bar: this is a wedge, and the equation of a wedge has mechanical advantage proportional to the length of the slope divided by the length of the short side. The slope is 0.8″, making the advantage 1.6… advantage to the bar, that is. For pushing the box, this is an inverse advantage of 5/8.
The advantage to the bar over each rod is 0.7 due to the 45-degree sawtooth. Thus, the advantage of the box to each rod is 0.44, meaning that the box requires about 2.3x the force to move a rod.
Today at NextFab I used the laser cutter to cut the casing out of acrylic with wings as shown above. I also cut a piece of brass down to size and cut the slots in it. I didn’t have time to use the CNC mill to cut the sawtooth in yet. That will be for next week.
Hopefully I will get some torsion springs this week to attach to the rods.
I have the logic for a 16-bit Logical Mill worked out and verified. Now, I have calculated that a 16-bit Logical Mill will require approximately 1,200 rods, and 5,500 bumps. The average rod is approximately 13 inches long, thus the total length of rods would be somewhere around 1,300 feet. That is about USD 500, but that doesn’t count the work that goes into drilling the holes.
Dan Meana at NextFab suggested that once I have technical drawings of the rods, I can put them up at mfg.com and get quotes from machine shops all over. I would guess a few thousand dollars would cover the rods.
Dan also suggested that for bumps I could use PC board standoffs. The shape of the sense bump is slightly different from the shape of the value bump: the sense bump is longer along the rod axis than the value bump (which helps in reducing false value changes), and the value bump has diagonal sides (which also helps). Hex PC board standoffs are the perfect shape, and are already threaded, and come in both male and female forms. In such large quantities, I can get these for USD 0.05 apiece, for a total of about USD 275.
I plan on making the casing out of acrylic, so that the inner workings can be seen. A few hundred dollars in acrylic should cover the casing.
Then there is the drive mechanism. After some experimentation, I found that I pretty much have to make it out of brass to reduce friction. I will probably end up needing about 300 feet of 1/4″ x 1″ brass bar, costing about USD 2,500.
When everything is totaled up, and including some pieces I haven’t included (parts of the drive mechanism, mainly, since that is the least-developed part of the design), I would estimate the whole project will require USD 10,000.
And so, Kickstarter.

The only way I am going to get this thing funded is by crowdsourcing. However, before I submit my proposal, I have to be absolutely sure that everything is going to work the way I think it does. Aside from simulating the logic, the physics of the device must work.
Therefore, I’ve written up a list of things I need to test before even considering a Kickstarter project. These are:
- What is the design of the drive?
- How quickly can the drive be actuated?
- How reliable is the drive?
- Is nylon fishing line suitable for inter-module connections?
- How reliable is the fishing line?
- What is the length limit of a rod?
- What is the force limit of a rod?
Once all these questions are answered, I can build a final version of the two-input three-output logic module, which will prove all the concepts. By setting the input and turning a crank manually or driven by a motor, the module should work reliably, quickly, and repeatedly.
Then and only then will I be able to start a Kickstarter project. Also, I have to work out the donor gifts. Maybe an all-acrylic manual version of the two-input three-output logic module at the something-hundred dollar level. Engraved acrylic pieces at lower levels. Maybe CNC engraved metal pieces at the higher levels.
Tags: kickstarter, nextfab, rodulator
Apparently the open source compute game Minecraft is suitable for building asynchronous logic circuits (thanks, Dan Reetz for finding this).
Links to videos:
A 16-bit ALU by “theinternetftw”
A 16-bit adder by “Redshift64″
Redstone circuits at the Minecraft Wiki
Went to Maker Faire NYC today, to exhibit Logical Engine No. 1. It will still be there tomorrow, Sunday September 26.


(The sign says: Towards a Steam-Powered Logical Engine. Charles Babbage, FRS and George Boole present Logical Engine No. 1. A Demonstration Model shewing the Principle of Logical Calculations by means of the Movements and Interferences of Rods, whereby the Operations of Conjunction, Disjunction, and Exclusive Disjunction, known vulgarly as And, Or, and Xor, may be Performed.)
The Engine was a huge draw! People walking by just suddenly stopped and looked, and then started playing with it — there was a small sign I made saying “Please Touch”. I’d tell them to keep playing with it, and if they wanted a hint as to how it worked, I’d be glad to explain. Many took me up on the offer. An 8-year old came over and played with it, and as I watched I could see he got the idea without anyone explaining. He was the only one
NextFab was pretty pleased, since the Engine was drawing interest to the table. Thanks, NextFab, for giving me the space!
There was a huge installation of the Life-Size Mousetrap (based on the game Mousetrap). In this picture you can see the stairs, the plumbing, and the bathtub.

Life-Size Mousetrap had a bunch of what appeared to be carneys. One was a woman dressed as a mouse, and I was kinda hoping that the mouse would get trapped under a net or a cage or something similar to the real Mousetrap… but instead the end was a safe smashing into a car. Disappointed.
Here is a squid riding mower.

And a fish float. I’m not sure why.

Tags: makerfaire, rodulator



Twitter
RSS