Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
I added a finger slot behind the front opening so I could pick up the whole stack at once:
Punched Card Trays – LightBurn layout
Admittedly, my “stacks” are nothing compared to the Bad Old Days, but …
The program adds a sequence number in columns 73-80 as a last-ditch effort to ensure the punch pattern matches the print pattern: after a few dozen cards, the digits in the last few columns become recognizable.
Creating a punched card with a laser requires a fixture holding the printed card-to-be flat and slightly above the honeycomb to reduce flash burns / schmutz on the underside:
Punched cards – laser fixture overview
A closer look while evaporating the holes:
Punched cards – laser fixture
The finger-crushingly strong magnets hold the fixture firmly to the (steel!) honeycomb, while allowing some adjustment. Unlike most fixtures, this one must slide around to align the printed targets with the laser positions; for reasons to be explained later, LightBurn’s Print and Cut alignment isn’t useful.
The pieces:
Punched Card Fixture
The top layout (on a LightBurn tool layer) matches the 1/3 Letter just-printed card, with targets bracketing the finished card outline. All the other pieces derive from those outlines with suitable offsets.
Glue the next three pieces together:
Chipboard extending a millimeter over the card edges to hold it down
Thin cardboard, about 0.6 mm thick, a millimeter beyond the card sides and flush with its top
3 mm MDF baseplate on the honeycomb
The card-shaped baseplate cutout lies 2 mm outside the card perimeter, for obvious reasons.
Set the laser speed / power so the blue lines on the baseplate mark the MDF for easy positioning of the cardboard spacer. The three parallel lines in front make it obvious when the card isn’t flush against the rear edge of the spacer; I’d only need one line if my paper cutter were perfectly calibrated.
The big blue rectangle on the bottom cuts a hole in a sheet of corrugated cardboard covering the platform, ensuring the air flows across the card and through the honeycomb behind the fixture; you want as little smoke hovering over the card as possible. The seam in my cardboard sheet was where they glued the box together; there’s no reason to be fussy with an air shield.
When the cutting is done, the finished card falls free:
Punched cards – laser fixture – cut
A snippet of masking tape helps extract the card without bending it.
For reasons I cannot divulge at the moment, I have undertaken a project requiring Old School punched cards, although they will never be fed through a card reader. Because we live in the future, punched cards are no longer a cheap and readily available resource; I will always deeply regret trashing an entire box back in the day.
However, living in the future does confer some advantages:
Punched cards – Apollo 11 CM
The process involves a vast number of moving parts, not all of which I fully understand, but I can (generally) produce consistent results and that must suffice. This post is an overview; I will go into the moving parts in more detail so I can remember why I did what I did.
A Python program converts a line of text into an SVG file that contains either the card’s printable contents or the paths required to cut its holes & perimeter. A handful of command-line switches determines the outcome, so you run the program twice with different switches for each line of text to get a matched pair of SVG files.
A Bash script read a text file and hands each line to the Python program, producing two SVG files for each card. It then invokes Inkscape to convert the printable SVG into a PNG image, uses Imagemagic to composite the logo behind the card contents & scale the result to make my printer’s output match the laser’s dead-on positioning, then properly position the card image in a Letter-size PNG image that’s apparently the only way to print it accurately on a punched card:
Composited Letter layout – exvb-00000710-lt
That’s not full size.
N.B.: there’s no such thing as a blank card that will be punched later, because the printed card includes the text across the top. The program also suppresses the row digits where a punch will appear, thus making slight misalignments less painful and mismatched SVG files more obvious.
Print all the card images on precut 1/3 Letter size sheets of heavy cardstock:
Ext Verb cards – 0280 skewed print
Yes, the printing on the middle card is slightly skewed with respect to the precut card blank. The overall process must handle about two millimeters of positioning inaccuracy and whatever angular skew comes from the printer’s paper feed rollers / guides.
A DOS Windows BAT file feeds the SVG files with the holes & outline paths to LightBurn, one by one. No lie.
Put each printed card in a fixture and align its targets, whereupon LightBurn evaporates the holes and cuts the outline:
Punched cards – laser fixture overview
In my somewhat biased opinion, the results look good:
Ext Verb cards – 0270-0290 punched
The Python program also produces cards with test patterns useful for wringing out the process:
Punched cards – character tests
“Punching” a lace card is no problem and, given an all-blank text line, the result looks like a blank card:
Punched cards – lace and blank tests
If you happen to have a card punch, be my guest.
The source text for the cards comes from the Apollo Guidance Computer in the Apollo 11 Command Module, via an amazing GitHub repository. You can run a virtual AGC in the privacy & comfort of your own home.
Changing the lens on the laser requires unscrewing the nozzle after removing the assist air fitting that collides with the focus pen holder:
Laser head – assist air vs focus pen
All the 12 mm open-end wrenches in my Drawer o’ Spare Wrenches being much too large, I finally got around to making a custom wrench:
Air fitting wrenches
The plywood wrench came from a traced scan of a similar wrench, then adjusting the jaw opening to 12 mm. It served to verify the overall shape & size, then became a template for the real wrench atop a scrap of 1/8 inch aluminum sheet with flaking paint.
Some bandsawing and filing later:
Air fitting wrench – at nozzle
A little wrench makes swapping the lens somewhat less tedious, which is a Good Thing™.
Whereupon the tube remains nicely tubular on both ends and aligned along the chuck axis:
Ortur YRC-1 – chucked cardboard tube
Which is why you save all that scrap material …
Yes, it’s the core from a toilet paper roll, which is way cheaper than burning through tumblers / mugs / shot glasses / whatever while figuring this stuff out.
Always disable the rotary’s stepper driver before connecting or disconnecting its cable.
The Ortur YRC-1 rotary has a pulley ratio of 1:3, so the step/rev value is three times the DIP switch setting on the stepper driver. For this setup, 1600 → 4800 step/rev.
The honeycomb frame is a parallelogram, not a rectangle. I align the cardboard baffle / fixture to the bottom edge of the frame and the rotary to the bottom edge of the fixture opening, but your machine will be different. The angular alignment may not be off by enough to matter, but consistency is a virtue.
The Rotary.lbset and Linear.lbset files live on a file server with daily backups. Such backups will come in handy when you inadvertently overwrite one of those files with the other one. Trust me on this.
The Rotary.lbset file does not have Rotary Mode enabled, because the KT332N does not home the Y axis in that mode. If your rotary lacks a home switch, then it doesn’t matter and you’re on your own.
The KT332N controller has a [Reset] button that allegedly does a power-on reset and reloads all the changed Machine Settings. This sometimes does not work as expected: power-cycling the controller is the only way to be sure.
The autofocus operation must hit the focus pad, which can be ensured by positioning the pen near the pad, jogging the platform a few millimeters under the pen, tweaking X and the gantry while peering down parallel to the pen, then doing the autofocus.
The focus pad has a crosshair clearing the chonky Ortur 3-step jaws, but I set the controller’s [Origin] at the foot of the pad’s base for more elbow room.
The Z axis distance field in LightBurn’s Move window does not accept formulas, so you must divide the workpiece diameter by two. Using a focus stick to verify the ensuing nozzle-to-workpiece distance is a Good Idea™.
The LightBurn Job Origin dot must be on the top row, because the KT332N does not go into regions with negative coordinates. With the chuck on the left and the [Origin] just to its right, the upper left dot locks the LightBurn selection to the physical limits.
Selecting [Use Selection Origin] puts the Job Origin at the upper left (per the dot) of whatever you’ve selected, not everything on the LightBurn workspace. [User Origin] then locks the selection to the [Origin] set on the controller.