Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
Having set up a cheap wireless numeric keypad as a simple macro pad at my left hand, I eventually knocked it off the desk, whereupon the screw compressing the back of the case against the membrane switches ripped through the plastic:
Numeric Keypad – compression screw pullout
The symptoms came down to erratic operation of a few keys that became worse as I continued tapping on the thing. Finally, with nothing to lose, I took it apart and, upon seeing the hole in the case, realized I didn’t have to cut the usual label to find the hidden screw.
Slathering the little donut with acetone and clamping things together might work for a while, but I’m sure the keypad will hit the floor again with similar results.
Instead, recruit some candidates from the Box o’ Random Screws:
Numeric Keypad – screw selection
Pick the screw big enough to grip the undamaged boss on the front of the case, yet short enough to compress the back again, add a small washer spanning the hole, and it’s all good again:
Numeric Keypad – screw installed
This only works because the keypad sits at enough of an angle to hold the screw off the desk.
Posterizing the colors to represent a few shades in my Little Box o’ Veneers simplified the problem:
Tree frog – posterized
Applying LightBurn’s Trace tool to the various shades produced vector outlines, which I then collected together based on the veneer they should come from:
Tree Frog vector patterns
Which seemed similar to my hand-drawn doodles on a larger image:
Tree frog – sketch vs chipboard
Before committing to actual veneers, though, I cut the shapes from spraypainted chipboard on a small scale, which showed why this wasn’t going to work:
Tree Frog – auto-trace chipboard
It’s facing the other way because I cut the chipboard from the back side, so as to keep the colors reasonably clean and bright.
Contrary to what I initially thought, the automagic tracing routine generates different nodes along a boundary between two colors depending on which side is selected by the color range. Because the nodes (and control points) don’t match exactly, adjacent pieces will have different border shapes and won’t quite match up. The missing pieces at the frog’s rump simply did not fit after the other parts soaked up all the tolerances in between.
So (I think) a better way to do this requires carefully hand-tracing the borders, then using the same path (all the nodes) for adjoining pieces. This mean duplicating the borders for each of the pieces: tedious bookkeeping and layer manipulation.
For the record, it is possible to get a piece of paper jammed so far inside the duplexer rollers in the back of an Epson ET-3830 Multifunction Printer / Scanner that it is not only completely invisible from the inside, but that it cannot be removed without disassembling the duplexer:
Epson ET-3830 duplexer jam
It jammed while attempting to print another batch of Geek Scratch Paper with a semilog grid, without actually duplexing the sheets. The specs say the printer can handle 4×6 paper, so I assumed 4.24×5.5 paper would be Close Enough. Apparently not.
Print ’em two-up, chop the sheets down the middle, pad and glue, and it’s all good:
OMTech CO2 laser power supply – bandwidth tests – semilog graph
Another tray becomes a replacement for the plywood on the Step2 rolling seat in the Vassar Farms plot:
Step2 Garden Seat – weathered plywood
I reused the old hinges, as this tray seems to be slightly thicker than the one on the home garden seat. The straight edges show it’s also somewhat smaller, but it’ll work just fine.
The bottom of the tray with its Silite logo now faces upward, because the top surface has eroded to a matte finish while supporting a bunch of plants outdoors during several summers:
After two seasons, the first tray doesn’t look any the worse for wear: Silite trays really will survive the Apocalypse and be ready to serve breakfast the next day.
Unleash the laser on a scrap of fluorescent green acrylic:
Scan Offset uncorrected – 100 to 500 mm-s
Measure the distance between successive line ends at each speed, divide by two, then fill in the offset adjustment table:
LightBurn Scanning Offset table
Burn another scrap:
Scan Offset – 100 to 500 mm-s
That looks better …
Not incidentally, it also provides illustrations for an upcoming Digital Machinist column about small-scale engraving-as-machining and why good scanning compensation matters.
The usual measurements of voltages and currents assume a constant load impedance, where the power varies with the square of the measured value. In this case, the laser tube is most definitely not a constant resistance, because it operates at an essentially constant voltage around 12 kV after lighting up at maybe twice that voltage. As a result, the power varies linearly with the measured voltages and currents, so the usual Bode plot “20 dB per decade” single-pole filter slope does not apply.
Because the laser tube power varies roughly with the current, I’ve been using the current as a proxy for the power, so the half-power points are where the current is half its value at low frequencies.
The controller’s analog voltage output is linearly related to the tube current and power, so the same reasoning applies.
That reasoning is obviously debatable …
Anyhow, it seems the PWM digital output is the primary signal source, with the L-AN analog output filtered from it. If you had a use for the analog voltage that didn’t involve sending it through a second low-pass filter, it might come in handy, but that’s not the case with the laser’s HV power supply.
Looking across the graph at the tube current’s half-power level of 12-ish mA shows 150 Hz for the L-AN output and 250 Hz for the PWM output. That’s roughly what I had guesstimated from the raw measurements, but it’s nice to see those lines in those spots.
In practical terms, grayscale engraving will operate inside an upper frequency limit around 200 Hz. Engraving a square wave pattern similar to the risetime target requires a bandwidth perhaps three times the base frequency for reasonably crisp edges, which means no faster than 100 Hz = 100 mm/s for a 1 mm bar.
It may be easier to think in terms of the equivalent risetime, with 200 Hz implying a 1.5 ms risetime. The rise and fall times of the laser tube current are not equal and only vaguely related to the usual rules of thumb, but 1.5 ms will get you in the ballpark.
The usual tradeoff between scanning speed and laser power for a given material now also includes a maximum speed limit set by the feature size and edge sharpness. Scanning at 500 mm/s with a 1.5 ms risetime means the minimum sharp-edged feature should be maybe three times that wide: 5 ms / 500 mm/s = 2.5 mm.
The sine bars at 400 mm/s come out very shallow, both rectangular bars have sloped edges, and the 1 mm bar on the left resembles a V:
Sine bars – acrylic – 400 mm-s 100pct
At 100 mm/s, all the features are nicely shaped, although the sidewalls still have some slope:
Sine bars – acrylic – 100 mm-s 25pct
In all fairness, grayscale engraving with a CO₂ laser may not be particularly useful, unless you’re making very shallow and rather grainy 3D relief maps.
Intensity-modulating a “photographic” engraving on, say, white tile depends on the dye / metal / whatever having a linear-ish intensity variation with exposure, which is an unreasonable assumption.
The L-ON digital enable also has a millisecond or two of ramp time, so each discrete dot within a halftoned / dithered image has a minimum width.
Return the laser power supply’s IN terminal (and the purple wire to the oscilloscope) to the Ruida KT332N controller’s PWM output:
Ruida KT332 – PWM laser control wiring
Engraving the pattern in grayscale mode at 254 dpi produces 0.1 mm pixels and makes each bar 1 mm wide:
LightBurn – bandwidth test pattern setup
Engraving at 50 mm/s = 50 Hz lets the laser current once again hit full scale:
Tube Current – PWM bandwidth – 10 sine – 50mm-s – 10ma-div – 254dpi
The traces:
1 X axis DIR, low = left-to-right (yellow)
2 L-ON laser enable, low active (magenta)
3 PWM digital signal (cyan)
4 tube current – 10 mA/div (green)
The PWM signal runs at 20 kHz and presents itself as a rather blurred trace, but you can see both the general tendency and the discrete steps between the vertical gray bars. As far as I can tell, the signal never reaches 0% or 100%, most likely to prevent the PWM filters from saturating in either condition.
The tube current drops from 23.8 mA to 13.8 mA, just over the half-power level of 12 mA, at 200 Hz:
Tube Current – PWM bandwidth – 10 sine – 200mm-s – 10ma-div – 254dpi
So the PWM bandwidth is a little over 200 Hz, slightly higher than the analog bandwidth of a little under 200 Hz.
All of the measurements as a slide show:
Tube Current – PWM bandwidth – 10 sine – 25mm-s – 10ma-div – 254dpi
Tube Current – PWM bandwidth – 10 sine – 50mm-s – 10ma-div – 254dpi
Tube Current – PWM bandwidth – 10 sine – 100mm-s – 10ma-div – 254dpi
Tube Current – PWM bandwidth – 10 sine – 200mm-s – 10ma-div – 254dpi
Tube Current – PWM bandwidth – 10 sine – 300mm-s – 10ma-div – 254dpi
Tube Current – PWM bandwidth – 10 sine – 400mm-s – 10ma-div – 254dpi
Tube Current – PWM bandwidth – 10 sine – 500mm-s – 10ma-div – 254dpi
Now, with all the measurements in hand, maybe I can reach some sort of conclusion.