We're excited and proud to launch Thingiverse Apps. Learn More about what this means to you.
This is a proof-of-concept, 3-bit Jacquard-style, all-mechanical punch card reader. The design was inspired by designs in a textbook called "The Mechanism of Weaving" by T.W. Fox (it's about 100 years old, but I found a copy on Amazon), and adapted to work within the limitations of my Makerbot ToM printer. It is a single-cylinder, single-acting, positive-action device. This design could readily be adapted to a higher number of 'bits' (needles) by re-designing only a few parts. With minor modifications, it should be suitable to mounting over a miniature loom, with the bottom eyes of the hooks lifting healds or warp threads directly. This is probably as impractical as it sounds.
These instructions probably miss some important details, and I will try to update them as they are discovered. Feel free to chime in in the comment section as well.
Print out 4 copies of "Cylinder_wall.stll", and 2 copies of "Cylinder_end.stl". This parts should fit together pretty snugly to form the card cylinder that the punch-card chain gets wrapped around. Tape or glue is probably needed to secure things (I used blue painters tape, and then just punched holes corresponding with the holes in the cylinder walls).
Print 2 copies of "hook cage wall.stl" and "hook cage wall lower.stl". These will form the walls of the main 'chassis'
Print 2 copies of "needle holder.stl"
Print 2 copies of "rail holder back.stl"
Print 2 copies of "rail holder front.stl", but print the 2nd one as a mirrored copy of the first (they attach to either side of the chassis).
Print 1 copy of "hook plate.stl"
Assemble the main chassis! Press the hook_plate through the two copies of 'hook cage wall lower', with the raised rectangles on hook_plate pointed downward. Using m3 nuts/bolts as necessary, attach one needle_holder along with the rail_holder_back objects to the two copies of hook_cage_wall and hook_cage_wall_lower (needle_holder goes in between the hook cage walls, the rail_holder_back objects should both be outside the hook cage walls). The back of the hook_cage_wall_lower objects have the cantilevered hole for the small_drive_gear. Using the rail_holder_front objects and the other needle_holder, bolt together the front side as well (the flat spring that protrudes from rail_holder_front should be on top on both sides.
Print out two copies of cylinder_rail.stl.
Print out two copies of gooseneck.stl, being sure to mirror one of them (they go on either side of the chassis, and attach to the cylinder rail objects to horizontally translate the cylinder during a cycle).
Print out two copies of griff_end.stl. Procure a single 5/32" brass tube, and cut it to be ~3.6" long. This tube will eventually get pressed into both of the 'griff_ends' and be used to raise/lower the hooks.
Print out 3 copies of hook.stl
Print out 3 copies of needle.stl
Print out two copies of small_drive_gear.stl.
Print out two copies of griff_drive_wheel.stl.
Print out two copies of griff_drive_linkage.stl
Print out two copies of griff_drive_linkage_cap.stl
Print out two copies of drive_wheel_axle_A.stl and two copies of drive_wheel_axle_B.stl
Using m3 nuts/bolts as necessary, use drive_wheel_axle_A and drive_wheel_axle_B to sandwich a copy of the griff_drive_wheel through both sides of hook_cage_wall_lower, with the peg rising from griff_drive_wheel rising outward, away from the chassis on both sides.
Using m3 nuts/bolts as necessary, use the griff_drive_linkage_cap to sandwich the griff_drive_linkage between the cap and the griff_drive_wheel. It should move fairly easily. The 'long' cylinder protruding from the griff_drive_linkage should extend towards the middle of the chassis on both sides.
Using an m3 nut/bolt, slide the two copies of small_drive_gear through the cantilevered holes in the hook_cage_wall_lower so that they engage with the griff_drive_wheel gears and bolt them together. You should be able to spin the small drive gear assembly and have it spin the two larger griff drive wheel gears. Be sure that the griff drive wheel gears are both in the same position when you bolt the small drive gear together, so that the linkages attached to both can raise the griff on both sides in unison.
Push the 5/32", 3.6"-long brass rod into one of the griff_end objects, and insert the griff_end into one of the slots in a hook_cage_wall so that the brass rod is protruding towards the inside. Push the griff_end through the free hole in the griff_drive_linkage. Push the other griff_end through the slot (and griff drive linkage) on the other side, and push them both to the top (where the hook_cage_walls can both flex outward a bit). Without breaking anything, try to insert the free end of the rod into the other griff_end. You should now have a brass rod capped by two griff_ends that can move vertically in the slots of the hook_cage_walls. You could also do this step when you assemble the chassis earlier, but this seemd to work well enough for me. When you rotate the small drive gear now, it should move the griff up and down as the griff drive wheel rotates.
Insert the two cylinder_rail objects into the cylinder rail holders on either side, such that they can slide freely back and forth. The 'long' side of cylinder_rail should be twoards the front, and the notch cut out of the middle should point towards the inside of the chassis.
On both sides, slide the gooseneck over the protruding cylinder end use an m3 nut/bolt to attach it to the cylinder rail. The protruding tab at the bottom of the gooseneck should lay flush in the notch on the cylinder rail. When you rotate the small drive gear now, the griff should move up and down as before, and the rails should move forward and back at the same time.
Use long m3 nuts/bolts through the hole at the 'front' of the rails so that the bolts extend towards one another. A nut should be able to sit flush inside the rail and hopefully won't move too much, allowing you to screw it in from the other side. As you're installing the screws, insert the cylinder so that it hangs between them, and can rotate freely. I used another 5/32" brass rod and put it through the cylinder, cut so that it is more or less flush with both of the cylinder ends, and had the screws insert into that to try to reduce horizontal play, but this shouldn't really be necessary if the cylinder is assembled rigidly.
Finally, print out two copies of the cylinder_catch.stl object, and attach them using an m3 nut/bolt to either side of the hook_cage_wall above where the rail_holder_front objects sit. They should project forward, with the 'catch' extending down past the pegs that protrude from the cylinder_ends. As the cylinder slides backwards during the cycle, it should catch on the cylinder_catch and rotate the next punch card into place.
Now, insert the three hooks so that they extend downwards through the three vertical slots in the hook plate. This might need a bit of sanding to slide freely. The two protruding tabs in the middle of the hooks should prevent them from falling all the way through.
Take the three needles and insert them into the needle holders on either side. The 'short' side of the needle (one side should be slightly longer than the other) should be towards the front, so that it protrudes less towards the cylinder than the out the back side. Flex the needles gently so that the 'notch' in the middle goes around the corresponding needle. The bottom protruding tab on the hook should now rest on the 'notch' in the needle.
If you rotate the small drive gear now (with no cards in place), the cylinder should move in and out, rotating every time it moves out, and the griff should lift the three hooks once on every revolution, before pushing them back down and starting a new cycle.
These punch cards should really be made out of thin card-stock, since the clearances are so tight, but I temporarily lost access to a laser cutter due to the recent hurricane. The needles may need filed slightly due to the increased thickness of the printed punch-cards.
Enjoy your tiny jacquard-style punch card reader!
3-bit Mechanical Punch Card Reader by chris is licensed under the Creative Commons - Public Domain Dedication license.
So what's this mean?
We're sure chris would love to see what you've printed - take a photo and share it on Thingiverse as a Make.
To post a Make simply visit this Thing again and click I Made One to start uploading your photo. You can also download the Thingiverse Mobile app (available via Google Play and Apple App Store) to take a photo and upload your Make right from the app!