The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Tag: Improvements

Making the world a better place, one piece at a time

  • Stack Light: Optoisolator Boost Transistor

    Stack Light: Optoisolator Boost Transistor

    The LEDs in each stack light layer require a current sink handling about 50 mA, far above the ability of cheap optoisolators based on the EL817 photocoupler:

    Optoisolator - OEM schematic
    Optoisolator – OEM schematic

    I’ll go into the motivation for optocouplers along with the laser controller wiring details.

    As delivered, the PCB has:

    • R1 = 1 kΩ (a convenient 1 V/mA current sense)
    • R2 = 10 kΩ (a rather high-value pullup)

    The idea is to add an able-bodied transistor to the output in a Darlington configuration:

    Optoisolator - Darlington output
    Optoisolator – Darlington output

    Some rummaging produced a small bag of 2N3904 transistors, although nearly any small NPN transistor will suffice. Removing R2 cleared the field for modification:

    Optoisolator modification - top
    Optoisolator modification – top

    The 2N3904 transistor (with the usual EBC pinout) fits face-down under the PCB:

    Stack Light - optoisolator transistor
    Stack Light – optoisolator transistor

    The cross-legged layout conceals the emitter and base leads being soldered snugly to the former OUT and GND terminals, respectively, with the collector going to the VCC terminal. The terminals thus become:

    • VCC → Collector
    • OUT → Emitter
    • GND→ X (no connection)

    Although I have little reason to believe the EL817 chips are anything other than what they claim to be, their topmarks seemed rather casual:

    EL817 optocoupler - top view
    EL817 optocoupler – top view

    The other four chips carried C333 rank + date codes.

    The datasheet says the C means the Current Transfer Ratio is 200% to 400%: the output current should be 2× to 4× the diode current. The test condition are 5 mA into the diode and 5 V across the transistor terminals. A quick test:

    • 2 mA → 4 mA = 2×
    • 5 mA → 15 mA = 3×
    • 10 mA → 35 mA = 3.5×
    • 12 mA → 40 mA = 3.3×

    The output transistor is rated only to 50 mA, so I stopped at 40 mA. The CTR is between 200% and 350% over that range, suggesting the parts are really real.

    The 2N3904 should have an hFE above 60 in that current range and multiply the EL817 gain by about that amount. Another quick test in the Darlington configuration, now with the 5 V supply across the 2N3904:

    • 100 µA → 8.1 mA = 81×
    • 250 µA → 43 mA = 172×
    • 500 µA → 83 mA = 166×

    The overall current gain is 40× to 50×, less than the estimate, but plenty high enough for my purposes. If you cared deeply, you’d run a circuit simulation to see what’s going on.

    Knowing I needed only 50-ish mA, stopping with the transistor burning half a watt (because VCE is held at 5 V) seemed reasonable. In actual use, VCE will be on the order of 1 V and the dissipation will be under 100 mW.

    A quick test shows they work as intended:

    Stack Light - controller hairball wiring
    Stack Light – controller hairball wiring

    But, yeah, talk about hairballs. Those things cry for little housings to keep them out of trouble.

    The chonky lumps with orange stripes are Wago Lever-Nut connectors: highly recommended.

  • Stack Light Base

    Stack Light Base

    Having external indications for the laser cutter’s internal status signals seemed like a good idea and, rather than build the whole thing, I got a five-layer stack light:

    Stack Light - disassembly
    Stack Light – disassembly

    It arrives sans instructions, apart from the data plate / wiring diagram label on the housing, so the first puzzle involves taking it apart to see what’s inside. My motivation came from a tiny chip of blue plastic on the kitchen table where I’d opened the unpadded bag. Apparently, a mighty force had whacked the equally unpadded box with enough force to crack the blue lens, but I have no idea how the sliver escaped the still-assembled stack.

    Anyhow, hold the blue/green lenses in one hand and twist the red/yellow lenses counterclockwise as seen looking at the cap over the red layer. Apply more force than you think appropriate and the latches will reluctantly give way. Do the same to adjacent layers all the way down, then glue the blue chip in place while contemplating other matters.

    A switch on each layer selects either steady (the default and what I wanted) or blinking (too exciting for my needs). Reassemble in reverse order.

    A Stack Light generally mounts on a production-line machine which might have a suitable cutout for exactly that purpose. I have no such machine and entirely too much clutter for a lamp, so I screwed it to a floor joist over the laser:

    Stack Light - installed
    Stack Light – installed

    The tidy blue PETG-CF base started as a scan of the lamp’s base to serve as a dimension reference:

    Stack Light - base scan
    Stack Light – base scan

    Import into LightBurn:

    • Draw a 70 mm square centered on the workspace
    • Round the corners until they match the 13 mm radius
    • Draw one 5.6 mm circle at the origin
    • Move the circle 52/2 mm left-and-down
    • Turn it into a 4 element array on 52 mm centers
    • Verify everything matches the image
    • Export as SVG

    Import into Inkscape:

    • Put the perimeter on one layer
    • Put the four holes on another
    • Center around an alignment mark at a known coordinate
    • Save as an Inkscape SVG

    Import into OpenSCAD, extrude into a solid model, and punch the holes:

    Stack Light Mount base - solid model
    Stack Light Mount base – solid model

    The lip around the inner edge aligns the lamp base.

    If I ever make another one, I’ll add pillars in the corners to put the threaded brass inserts close to the top for 10 mm screws instead of the awkward 30 mm screws in this one. More than a single screw hole in the bottom would align it on whatever you’re indicating.

    Now, to wire the thing up …

    The OpenSCAD source code as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
    // Stack Light mount
    // Ed Nisley – KE4ZNU
    // 2025-01-03
    include <BOSL2/std.scad>
    /* [Hidden] */
    ID = 0;
    OD = 1;
    LENGTH = 2;
    BaseCenter = [100,100,0];
    Base = [70,70]; // nominal, for figuring holes
    Insert = [4.9,5.9,6.0];
    PlateThick = Insert[LENGTH];
    HolderTall = 24.0;
    WallThick = 2.7; // outer wall of light base
    LipThick = 1.5; // alignment lip inside light base
    LipTall = 0.75;
    CableOD = 5.0;
    Protrusion = 0.1;
    difference() {
    translate(-BaseCenter)
    linear_extrude(height=HolderTall + LipTall)
    import("Stack Light – base layout.svg",layer="Base Perimeter");
    up(Insert[LENGTH])
    translate(-BaseCenter)
    linear_extrude(height=HolderTall – LipTall)
    offset(delta=-(WallThick + LipThick))
    import("Stack Light – base layout.svg",layer="Base Perimeter");
    up(HolderTall)
    linear_extrude(height=HolderTall,convexity=5)
    translate(-BaseCenter)
    difference() {
    offset(delta=WallThick) // avoid glitches on perimeter edge
    import("Stack Light – base layout.svg",layer="Base Perimeter");
    offset(delta=-WallThick)
    import("Stack Light – base layout.svg",layer="Base Perimeter");
    }
    down(Protrusion)
    translate(-BaseCenter)
    linear_extrude(height=2*HolderTall,convexity=5)
    import("Stack Light – base layout.svg",layer="Base Holes");
    up(HolderTall/2)
    yrot(90) zrot(180/6)
    cylinder(d=CableOD,h=Base.x,$fn=6);
    }

  • PrusaSlicer Scarf Joints

    PrusaSlicer Scarf Joints

    The release notes for PrusaSlicer 2.9 mention the addition of scarf joints on outer perimeters. Smooth joints seem like a Good Idea™, so I turned it on for comparison with a recent object:

    Double Gear fidget toy - scarf vs normal
    Double Gear fidget toy – scarf vs normal

    Those are flipped from the as-printed orientation: the orange ring builds upward, starting with two concentric threads on the platform.

    The normal aligned joint is on the right above, with a closer look here:

    Double Gear fidget toy - normal joInt
    Double Gear fidget toy – normal joInt

    The scarf joint has a offset between layers:

    Double Gear fidget toy - scarf joint
    Double Gear fidget toy – scarf joint

    The PrusaSlicer visualization shows the effect, looking up from below the platform:

    Double Gear fidget toy - scarf joint visualization
    Double Gear fidget toy – scarf joint visualization

    The blue PETG-CF parts have no visible seams anywhere with either setting, probably because the stuff swells slightly and obliterates any subtle differences.

    Scarf joints don’t make much difference for a fidget toy, but should improve the outcome for more critical circular / spherical models.

  • OMTech 60 W Laser: Manual Pulse Button

    OMTech 60 W Laser: Manual Pulse Button

    I want to put the HLP-200B Laser Power Meter at the tube’s exit, just upstream from Mirror 1, where it can measure the laser’s power output before the mirrors get into the act. Reaching the Pulse button on the machine console requires much longer arms than any normal human can deploy, plus a certain willingness to lean directly over a laser tube humming with 15 kV at one end.

    Perusing the KT332N doc brings up a hint, blocked in red so you can make some sense of it:

    KT332N Input bits
    KT332N Input bits

    A few minutes with boxes.py produces a simple two-compartment box and a few minutes with LightBurn adds two holes:

    Remote Switch Box - LightBurn layout
    Remote Switch Box – LightBurn layout

    Another few minutes produces the box from Trocraft Eco, which is not quite thin enough for the switch (from my Box o’ Clicky Buttons) to snap into place, but a few dabs of hot melt glue hold it down:

    Laser remote pulse button - installed
    Laser remote pulse button – installed

    Double-sided foam tape sticks the box to the laser frame and the red-n-black cable snakes all the way across the back of the machine and through the electronics bay to the IN2 and GND terminals of the KT332N INPUT block:

    Laser remote pulse button - Ruida KT332N wiring
    Laser remote pulse button – Ruida KT332N wiring

    With the laser head parked at a safe spot and all interlocks happy, it works:

    Laser remote pulse button - demo
    Laser remote pulse button – demo

    That is a re-enactment, because I lack sufficient dexterity to handle a phone with my left hand, poke the button with my right finger, and not damage anything important.

    The general idea is to make it very difficult to inadvertently press that button: you must want to fire the laser with the tube compartment hatch up (it has no interlocks) and the control panel out of sight on the top-front of the machine.

    Setting the power to 30% and putting the meter in harm’s way:

    HLP-200B - Laser tube exit
    HLP-200B – Laser tube exit

    Again, a reenactment based on actual events.

    Five pulses later:

    40.8W
    42.4
    42.3
    41.2
    40.7
    41.5W avg
    0.82W std dev

    For the record, those five pulses dumped about 5 × 42 W × 10 x ≅ 2000 W·s = 2 kJ into the meter, raising it from “chilly basement ambient” to “be careful where you hold it”, thus making the meter’s aluminum case the least-efficient handwarmer in existence.

    The 30% PWM measurements at the center of the platform came out slightly lower: 38.5 W average with a sample standard deviation of 2.2 W.

    The large standard deviations prevent firm conclusions, but, yeah, the power at the tube exit seems about right, before two mirrors and ≅800 mm of path length take their toll.

    The LightBurn SVG layout as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
  • HLP-200B Laser Power Meter: First Measurements

    HLP-200B Laser Power Meter: First Measurements

    The HLP-200B Laser Power Meter arrives without much in the way of specifications:

    The HLP-200B Laser Power Meter Handheld comes fully calibrated at 10.6 μm (CO2). Each laser power meter we calibrate is directly traceable to NIST absolute standards because we use GOLD standards as a reference for each calibration. You will obtain the most accurate result possible

    A line in the description says “+/- 3% within the central section”, but that’s not much help. Back in the day, any error percentage referred to the meter’s full-scale value, which would be ±6 W for a 200 W meter.

    So I plunked the meter in the middle of the laser platform:

    HLP-200B Laser Power Meter - platform center
    HLP-200B Laser Power Meter – platform center

    Then took five measurements at each of ten power levels:

    PWM %10203040506070809099
    °C17.217.918.419.019.420.320.020.020.519.4
    Tube Current34710141618202224
    W7.121.042.051.859.163.067.869.674.764.0
    6.019.837.248.952.756.065.169.672.471.8
    6.421.139.345.656.553.261.160.774.675.2
    5.617.837.140.455.353.255.164.274.973.5
    6.017.736.945.154.553.162.269.972.270.9
    Avg Power6.219.538.546.455.655.762.366.873.871.1
    std dev0.571.662.194.292.394.264.784.161.344.29

    That’s easier to digest from a graph:

    HLP-200B Laser Power Meter - 60 W platform center measurements
    HLP-200B Laser Power Meter – 60 W platform center measurements

    The absurdity of computing the sample standard deviation from five measurements taken at each power level does not escape me, but this just surveys the situation.

    Earlier measurements of the tube current vs. PWM setting, using an RMS value computed by the oscilloscope’s firmware, produced a plot resembling the brown points (read the mA scale on the right) at the high end and differing greatly on the low end. These values come from the power supply’s digital meter, but the straight-line fit doesn’t look absurdly forced and the zero intercept seems plausible. I *assume* it’s actually measuring the tube current, rather than displaying a value computed from the PWM input, but I don’t know for sure.

    The rather sketchy paperwork accompanying the laser had one handwritten “21 mA” seemingly corresponding to 60 W output, which looks approximately correct. The instruction manual has a table of power vs. current suggesting that 65-ish W corresponds to 18 mA, with 100 W at 23 mA; it’s unclear whether that is for the 60 W tube in the machine or applies to the entire range of available tubes. The manual recommends not using more than 95% PWM, with which I heartily agree.

    Because my meter stand holds the target in the same position relative to the beam during successive measurements much better than I could by hand, I think the pulse-to-pulse variation comes from meter and tube repeatability.

    Earlier measurements with a grossly abused Gentec ED-200 joulemeter suggested the laser has some pulse-to-pulse timing variation, down in the millisecond range, but produced roughly the right power for middle-of-the-range PWM settings. This meter integrates the beam power over about ten seconds, so I think variations will be due to (possible) tube power changes and meter repeatability, rather than timing errors.

    Obviously, you must not depend on any single-shot measurement to fall within maybe 10% or several watts of the right answer.

    With all that in mind and assuming the meter is delivering approximately the right numbers on average, the power supply overcooks the tube at any PWM setting above 50%. I’ve noticed some beam instability / defocusing over 80% while cutting recalcitrant materials, which is surely due to the tube not lasing properly. I generally avoid doing that.

    The log fit to the measured power looks better than I expected, although I’m unprepared to compute natural logs in my head.

    Hey, it’s my idea of a good Christmas present …

  • HLP-200B Laser Power Meter: Holder / Stand

    HLP-200B Laser Power Meter: Holder / Stand

    The overall measurement process for the HLP-200B laser power meter requires more coordination than I can muster on a dependable basis, so a third hand seemed in order:

    HLP-200B Power Meter - target setup
    HLP-200B Power Meter – target setup

    In actual use, a pair of finger-crushingly strong magnets laid on the base hold it firmly to the honeycomb.

    Because a CO₂ laser beam is invisible, the only way to know where it hits is to char a bit of paper:

    HLP-200B Power Meter - target detail
    HLP-200B Power Meter – target detail

    With that evidence, I can jog the platform up-and-down and the gantry front-and-back to center the beam on the paper target and, thus, on the sensor behind it. That process happens at each test position across the platform:

    HLP-200B Power Meter - targets
    HLP-200B Power Meter – targets

    The meter shuts down a mere six seconds after completing each measurement, which means I must keep the lid open, listen carefully, and react quickly. Firing the laser thus requires defeating the lid interlock specifically wired to prevent that from happening:

    Laser lid interlock sensor
    Laser lid interlock sensor

    Rather than install a switch to bypass the interlock, I taped a steel cover harvested from defunct electronics over the sensor:

    Laser lid interlock sensor - bypassed
    Laser lid interlock sensor – bypassed

    Which has the useful side effect of preventing me from closing the lid with the interlock defeated.

    The holder is just slightly larger than the meter’s handle and some clamps produced a snug fit while the glue cured:

    HLP-200B Power Meter - holder gluing
    HLP-200B Power Meter – holder gluing

    The holder keeps the meter sensor at the same position vertically and within about a millimeter horizontally. The laser beam seems to be around 5 mm in diameter (the scorches above come from the hottest central part), so the beam should hit the same position on the sensor during successive measurements, making them far more repeatable than my waving it around by hand.

    The LightBurn SVG layout as a GitHub Gist:

    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
  • HLP-200B CO₂ Laser Power Meter

    HLP-200B CO₂ Laser Power Meter

    What with Christmas approaching, I got myself an HLP-200B CO₂ Laser Power Meter:

    HLP-200B - front panel
    HLP-200B – front panel

    It’s a hefty chunk of aluminum, as befits a device intended to soak up a 200 W CO₂ laser beam, and both sides have a relentless simplicity:

    HLP-200B - back panel - redacted
    HLP-200B – back panel – redacted

    Having not found an online version of the manual:

    You’re welcome.

    [Edit: A slightly different version of the manual is online at https://www.ccbluetimes.net/pages/support ]

    The manual does not exactly match the hardware. In particular, “so users won’t need any tools to replace the battery” is incorrect:

    HLP-200B - battery lid screw
    HLP-200B – battery lid screw

    Until you loosen the M2 setscrew below the finger notch a couple of turns, “Use just fingers to remove the battery cover” will merely scuff your fingerprints. Apply a 1.5 mm or 1/16 inch straight screwdriver bit with no more than finger torque and, after two or three turns, the lid comes free.

    The meter arrives without a battery, so you passed the first test.

    Despite the “another screw hold (M4) is added”, there’s only one tapped hole in the case, as visible in the back panel photo. Seen from the front, it’s above the four digit LCD.

    Operation is at best awkward and at worst hazardous:

    • Press the blue button to turn it on and hear a beep
    • It’s ready to measure within three seconds
    • Hit it with the laser beam until it beeps
    • The LCD shows the power for six seconds
    • It shuts off with a beep
    • Bonus: If the meter doesn’t detect any energy, it shuts off 20-ish seconds after the button press

    Minus my power ears, the beeps are completely inaudible.

    The meter is sensitive enough to respond to weak heat sources like LED bulbs and even fingertips, so you can test it without firing the laser. The numeric value shows the power from a CO₂ laser beam dumping an equivalent amount of energy into the sensor:

    HLP-200B - finger heat response
    HLP-200B – finger heat response

    The sensor target is 20 mm OD, although the instructions remind you to “Ensure the laser is emitted to the center of the sensor”. I suspect hitting the sensor with a focused laser spot will eventually damage the surface.

    Making a real measurement requires:

    • Set the Pulse button for continuous output
    • Set the power level
    • Defeat the lid interlock switch on the laser cabinet
    • Push the blue button on the HLP-200B
    • Quickly position the meter target accurately in the beam path
    • Hold down the laser Pulse button
    • Freeze in that position until the meter beeps
    • Release the Pulse button
    • Quickly reorient the meter and read the display

    I have a visceral reluctance concerning safety interlock overrides, misgivings about poking my head inside the cabinet, and no yearning to put one hand near the beam line with the other on the console. Yes, I have known-good laser safety glasses.

    The meter generates plausible results for the (claimed) 60 W tube in my machine, but further tests await conjuring fixtures to keep various irreplaceable body parts out of harm’s way.