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.

Category: Science

If you measure something often enough, it becomes science

  • CO₂ Laser Cutter: Random Dots On Engravings

    CO₂ Laser Cutter: Random Dots On Engravings

    The LightBurn forums have many despairing posts from folks with CO₂ lasers sprinkling random dots all over their engravings:

    Well, as it turns out, engraving lots of small test patterns on scrap acrylic and peering at the results revealed the same problem:

    Engraving Target - stray laser pulse - sizes
    Engraving Target – stray laser pulse – sizes

    The test patterns were engraved at various power levels, which was the whole point of the exercise: I was looking at the current waveforms, rather than the acrylic. Despite that, the result should be solid blocks with no speckles in between, which is not quite what happened.

    For reference, the test pattern:

    Pulse Timing Pattern - 1 mm blocks
    Pulse Timing Pattern – 1 mm blocks

    An early hint came from a trace captured while looking at an entire scan line across the pattern:

    Tube Current - gray bars - 20pct - RMS pulse - 100 ma-div
    Tube Current – gray bars – 20pct – RMS pulse – 100 ma-div

    See that isolated spike left of center, where the L-ON signal (magenta trace) is high? That shouldn’t be possible.

    Setting the scope to trigger when the L-ON signal is high (= laser power supply disabled) and the tube current is more than a few milliamps (= laser beam active) captures those errant dots.

    Sometimes a spurious pulse happens just after L-ON goes high to disable the HV output:

    Tube Current - 20pct - glitch risng edge 30mA trig - 10 ma-div
    Tube Current – 20pct – glitch risng edge 30mA trig – 10 ma-div

    The X axis stepper DIR signal (yellow trace) shows the laser was scanning right-to-left, so the glitch will be just to the left of the 2 mm block in the pattern. In point of fact, it’s about ¾ of the way down the right-hand column:

    Engraving Target - stray laser pulses
    Engraving Target – stray laser pulses

    A closer look shows a distinct circular pit at the end of the line:

    Engraving Target - stray laser pulse - detail
    Engraving Target – stray laser pulse – detail

    The two left-to-right lines bracketing that line also show how the high-intensity pulses affect the laser beam startup intensity during a scan line.

    Sometimes the glitches happen quite some time after the laser turns off:

    Tube Current - 20pct - glitch 30mA trig - 10 ma-div
    Tube Current – 20pct – glitch 30mA trig – 10 ma-div

    Sometimes they’re in the middle of what should be a blank space:

    Tube Current - 20pct - glitch pulse offscale - 10 ma-div
    Tube Current – 20pct – glitch pulse offscale – 10 ma-div

    The glitches are not always full-scale events. The two nearly invisible pulses just to the right of the block (bottom green trace) make the smaller dots you can see on the targets:

    Tube Current - 20pct - glitch pulses - 10 ma-div
    Tube Current – 20pct – glitch pulses – 10 ma-div

    As far as I can tell, spurious dots happen most often with current levels around 20% PWM, less at 10% PWM, and rarely above 30% PWM. I think it has something to do with the chaotic spikes that the power supply produces at lower currents, instead of the relatively stable outputs for higher currents.

    Although these measurements are for the replacement HV supply I got when the original supply failed, I saw similar chaotic waveforms with a Cloudray HV supply I bought as a backup. Given that other people have reported similar random dots with many other machines & power supplies, I think these scope traces show where the dots come from: all the power supplies behave the same way.

    The only way to reduce the number of speckles is to use higher power, which will require higher scanning speeds to achieve similar results. Unfortunately, higher speeds give the power supply less settling time, so there may be no good answer.

    I haven’t been able to find any “official” schematics for the HV laser power supplies shipped in typical lasers (there are many terminal wiring diagrams), so I have no idea how the L-ON signal controls the output current. Apparently the oscillating chaos inside the power supply occasionally punches through the output switch, which isn’t too surprising given the voltage and power levels in there.

    If nothing else, the acrylic test pieces look pretty on the microscope positioner:

    Edge-lit engraving test target
    Edge-lit engraving test target

    In the usual techie sort of way …

  • CO₂ Laser Tube Current: Light Output

    CO₂ Laser Tube Current: Light Output

    Just to see what the laser tube’s output looks like, I aimed a large photodiode toward the laser tube output:

    Laser output - photodiode kludge
    Laser output – photodiode kludge

    That’s a venerable PIN-10AP photodiode minus its green human-eye filter, with an IR-pass / visible-block set of gel filters taped on the front to knock out everything except IR scattered from the laser’s snout. Nothing sits in the direct beamline.

    The alert reader will kvetch about a CO₂ laser running at 10.6 µm, an order of magnitude off the right end of the photodiode response curve graphs, through stage filter gels not even pretending to have optical specs. Hey, stage light filters are utterly transparent to thermal IR and there’s plenty of invisible light to go around, so maybe this will work.

    The coaxial cable trails off to the scope’s 1 MΩ input, so, although the photodiode does not operate in true zero-bias mode, I can at least look at its photocurrent driving a voltage into the scope input.

    Surprisingly, the lashup kinda-sorta works well enough to show the laser’s light output tracking the tube’s current:

    Tube Current - 90pct - IR diode 50mV-div - tube 20 ma-div
    Tube Current – 90pct – IR diode 50mV-div – tube 20 ma-div

    That’s a manual 20 ms pulse at 90% PWM, with the tube current at 20 mA/div. The oscillations at the start of the current pulse seem to excite the tube enough for the light output to stabilize when the real current comes along. I cannot tell if the exponential tail-off beyond the pulse is due to excited molecules cooling off in the laser tube or the poor photodiode recovering from Too. Much. Light. It. Burns.

    The response is a little shakier at 50% PWM:

    Tube Current - 50pct - IR diode 50mV-div - tube 20 ma-div
    Tube Current – 50pct – IR diode 50mV-div – tube 20 ma-div

    Dropping to 30% PWM requires more time to get up and running:

    Tube Current - 30pct - IR diode 50mV-div - tube 20 ma-div
    Tube Current – 30pct – IR diode 50mV-div – tube 20 ma-div

    And 10% PWM looks downright awful:

    Tube Current - 10pct - IR diode 10mV-div - tube 20 ma-div
    Tube Current – 10pct – IR diode 10mV-div – tube 20 ma-div

    Although the vertical scale for the photodiode trace doesn’t mean much, it’s obvious that the IR output matches the current input, right down to the littlest pulses. Sliding a bit of brass shimstock between the filter gels eliminates nearly all the photodiode output, so it’s not electrical noise. I think the long tail really shows the gases cooling off.

    The alert reader will have noted the wee blip over there on the right, 21 ms after the start of the 20 ms long pulse and 4 ms after all those spikes shut off. Yup, the HV power supply can deliver a stray pulse when it’s not supposed to be enabled. More on that in a while.

  • CO₂ Laser Tube Current: Time Integral

    CO₂ Laser Tube Current: Time Integral

    With the laser cutter set up as before and the scope set up to calculate the time integral of the tube current, this happens:

    Tube Current - 40pct pattern - integ - 10 ma-div
    Tube Current – 40pct pattern – integ – 10 ma-div

    The trigger is the Boolean AND of the top two traces:

    • DIR signal = low = left-to-right X axis motion
    • L-ON signal = low = laser power supply output enabled

    The bottom trace is the laser tube current at 10 mA/div, which is, conveniently, also the scope vertical axis calibration, so you can read “amp” wherever you see “volt”. The four pulses correspond to a single scan line through the usual test pattern:

    Pulse Timing Pattern - 1 mm blocks
    Pulse Timing Pattern – 1 mm blocks

    Scanning at 250 mm/s, each 1 mm block occupies 4 ms and the 2 mm block on the right is 8 ms long.

    With all that in mind …

    The white line in the scope screenshot is the time integral of the current, scaled at 50 µV·s/div and read as 50 µA·s/div due to the 10 mV/div = 10 mA/div equivalence. The integral is pretty much a straight line up and to the right during each pulse, showing that the power supply delivers a nearly constant average current despite the random-looking spikes in the shorter pulses, the oscillations at the start of the longer pulse, and the reasonably flat section after the current settles down.

    Say it again: Totally did not expect that.

    A closer look at the first pulse of a different line:

    Tube Current - 40pct pattern - integ pulse 1 - 10 ma-div
    Tube Current – 40pct pattern – integ pulse 1 – 10 ma-div

    Today I Learned: The per-division scale of the white integral line is completely bogus in Zoom mode. Although the display still shows 50 µA·s/div (magenta text obscured near the middle), the integral line rises seven divisions. Some fiddling around showed there is no relation between the calibrations of the normal display and those in Zoom mode.

    What is important: seeing the integral as pretty much a straight line with a reasonably constant slope, if you’re willing to ease over the bumps due to the current spikes. The slope of that line (yeah, the derivative of the integral, for a chunky definition of derivative) gives the average tube current.

    Referring to the non-Zoomed trace, the integral rises by about 40 µA·s during each 4 ms pulse (and twice that for the 8 ms pulse), for an average current of 40 µA·s / 4 ms = 10 ma. Having previously established 100% PWM corresponds to 24 mA, 40% of 24 mA = 9.6 mA seems about as close as one might expect.

    This looks less awful than I expected, fer shure.

    More measurements are in order.

  • CO₂ Laser Tube Current: Less Meaningless RMS Pulse Measurements

    CO₂ Laser Tube Current: Less Meaningless RMS Pulse Measurements

    Having established that the RMS value of the huge current spikes at low PWM settings doesn’t amount to anything meaningful, I cranked the AM502 current amp gain to 10 mV/div, re-ran the tests for PWM values from 10% through 99%, and recorded the RMS value of a single line through a square of the same pattern:

    Pulse Timing Pattern - 1 mm blocks
    Pulse Timing Pattern – 1 mm blocks

    Each square is 1 mm on a side and the pattern runs at 250 mm/s, so the laser will be enabled for 4 ms. For example, the test setup shows the result of a pass at 50% PWM:

    Tube Current - 50pct - RMS pulse - 250mm-s - 10ma-div
    Tube Current – 50pct – RMS pulse – 250mm-s – 10ma-div

    The two cursors mark the duration of one block, with the laser current in the bottom trace starting off with the usual off-screen spikes, then settling down to a constant-ish 13-ish mA for the rest of the block. The 13.74 mARMS value (the AM502’s 10 mA/div matches the scope’s 10 mV/div, so you can read mV as mA) includes some part of those spikes (the higher gain clips the tips), but most of it comes from the stable-ish portion.

    The whole measurement set as a slide show for your amusement:

    • Tube Current - 10pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 20pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 30pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 40pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 50pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 60pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 70pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 80pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 90pct - RMS pulse - 250mm-s - 10ma-div
    • Tube Current - 99pct - RMS pulse - 250mm-s - 10ma-div

    When confronted with data points, plot them:

    Tube current - RMS vs PWM graph
    Tube current – RMS vs PWM graph

    Huh.

    I expected the line to pass through the origin, which it most certainly does not. One could make up a story about how the 30% and 40% PWM points are Close Enough to the line to sorta pull the bottom end over to the left a little, but even that doesn’t explain the known-to-be-weird results below 30% PWM.

    A better story might be that 30-ish% PWM produces the minimum current required to fire the laser tube. Operating below that current works, in the sense that the laser produces a beam, but it’s out of spec. Running above that current eventually lets the power supply reach an agreement with the tube as to the operating point.

    As before, those measurements do not account for the reasonably consistent results of scorching some cardboard:

    Pulse Timing Pattern - cardboard - 10 20 30 pct
    Pulse Timing Pattern – cardboard – 10 20 30 pct

    Cardboard is not the best test medium and I now agree RMS isn’t the best measurement.

    More study is indicated …

  • CO₂ Laser Tube Current: RMS Pulse Measurement

    CO₂ Laser Tube Current: RMS Pulse Measurement

    Laser power settings of 10, 20, and 30% obviously produce different results:

    Pulse Timing Pattern - cardboard - 10 20 30 pct
    Pulse Timing Pattern – cardboard – 10 20 30 pct

    However, the scope traces for PWM values under about 25% all look pretty much like this:

    Tube Current - 10pct - 250mm-s - 5ma-div
    Tube Current – 10pct – 250mm-s – 5ma-div

    Rather than a simple constant current source, the power supply produces very high amplitude current pulses for low PWM inputs, with no visible differences between any of the PWM values.

    The scope can compute the RMS value of (a section of) the trace, so I aimed it at traces captured from the upper left block of this test pattern:

    Pulse Timing Pattern - 1 mm blocks
    Pulse Timing Pattern – 1 mm blocks

    Because the pulses have such a high amplitude, I set the Tek AM502 current amp at 100 mA/div to capture the entire pulse. Measuring a part of the trace without a signal gives the baseline noise level:

    Tube Current - gray bars - 40pct - RMS baseline - 100 ma-div
    Tube Current – gray bars – 40pct – RMS baseline – 100 ma-div

    The scope display is 10 mV/div, so 1 mVRMS (close enough to the 894.4 µV reported just above the bottom label row) means 10 mARMS of noise. Given that 100% PWM corresponds to about 25 mA (DC-ish during the pulse), the RMS numbers may not have any significant figures.

    A slide show of the results so you can page through them:

    • Tube Current - gray bars - 10pct - RMS pulse - 100 ma-div
    • Tube Current - gray bars - 20pct - RMS pulse - 100 ma-div
    • Tube Current - gray bars - 30pct - RMS pulse - 100 ma-div
    • Tube Current - gray bars - 40pct - RMS pulse - 100 ma-div

    The RMS value comes from the trace between the A and B cursors.

    Extracting the numbers:

    • 0% PWM → 1 mV → 10 mARMS
    • 10% → 2.3 mV → 23 mA
    • 20% → 2.0 mV → 20 mA
    • 30% → 3.0 mV → 30 mA
    • 40% → 2.3 mV → 23 mA

    Which says I’m measuring either too much of the wrong thing or not enough of the right thing: there may be no baby in this particular bathwater.

  • CO₂ Laser Tube Current: Variable Power

    CO₂ Laser Tube Current: Variable Power

    A test pattern with a grayscale of 1 mm bars:

    Gray bars
    Gray bars

    There is a 1 mm white bar to the left of the leftmost black bar as a scope trace marker and 2 mm white bar to the right of the rightmost black bar for direction confirmation.

    Setting the image to 254 dpi = 10 pix/mm makes the bars exactly 10 pixels wide and scanning at 100 mm/s makes them 10 ms wide. They’re tall enough to simplify scope triggering and capture.

    Although using a black bar for 0% PWM = 0 mA and a white bar for 100% PWM makes numerical sense, at least to me, it’s the other way around for laser cutting / engraving: black = 100% and white = 0%. With the layer set to Fill in LightBurn, turn the layer’s Negative Image switch on, and everything comes out right.

    Engraving a good grayscale or 3D image is a can of worms, so I just fired the beam into a shallow pan of water.

    With signals and traces arranged as before, the beam current shows the same huge spikes during the 10% and 20% PWM bars and at the start of the 100% PWM bars:

    Tube Current - grayscale bars - 100mm-s 100ma-div
    Tube Current – grayscale bars – 100mm-s 100ma-div

    At 100 mA/div, those spikes look to be 400 mA tall.

    A closer look with the current scaled to 10 mA/div:

    Tube Current - grayscale bars - 100mm-s 10ma-div
    Tube Current – grayscale bars – 100mm-s 10ma-div

    The controller sets L-ON high whenever the beam current should be zero, so the power supply is disabled during the 0% PWM bars. Note the descending glitch at the start of the 10% PWM bar: perhaps the power supply stayed all charged up from the 100% white bar on the left edge and took a few milliseconds to begin tracking the lower current setting.

    Each step of what should be a stairway from 10% to 100% PWM has about 2 ms of good old single-pole response. The steps from 70% upward have enough ripple to obscure the steps; the rightmost 100% PWM bar show the ripple doesn’t damp down for 20 ms.

    Eyeballometrically, the ramp compresses on the high-current end: equal PWM steps produce less current per step. The current spikes make PWM values of 10% to 20% look awful, PWM between 30% and 50% seem more linear, and increments beyond 60% are rather compressed. The slight nonlinearity makes no practical difference, particularly because the usual recommendation is to not exceed 70%-ish PWM to prolong the tube life.

    A continuous grayscale gradient:

    Gray gradient
    Gray gradient

    As before, there’s a 1 mm white bar on the left and a 2 mm white bar on the right, with the image inverted to make the white bars 100% PWM.

    Apparently the power supply can’t regulate the current down from the 100% PWM bar fast enough to match the 0% PWM start of the ramp:

    Tube Current - gray ramp - 100mm-s 10ma-div
    Tube Current – gray ramp – 100mm-s 10ma-div

    The compressed relation between PWM and current shows there’s definitely not much benefit in driving the tube beyond about 60% PWM.

    There are no high-current spikes in that screenshot, despite having a 0% to 100% PWM gradient.

    Unlike the gray bars in the first test image up top, this is a continuous ramp and shouldn’t have any discontinuities. The vertical cursors span eight ripples and sit 66 ms apart, which works out to 8.25 ms/ripple. Flip it upside down and you’re looking at 120 Hz ripple from the full-wave bridge rectifier feeding the high-voltage converter. You’d expect solid low-pass filtering after the high-frequency flyback transformer, so the input filter must have the smallest possible caps the designers could possibly use.

    Another smooth gradient preceded by a 10% PWM bar and bracketed by the same white bars:

    Gray gradient - 10 pct bar
    Gray gradient – 10 pct bar

    The current waveform is … odd:

    Tube Current - gray ramp - 10 PWM bar - 100mm-s 10ma-div
    Tube Current – gray ramp – 10 PWM bar – 100mm-s 10ma-div

    The high-current spikes following the 100% PWM bar on the left occupy the 10% PWM bar and the start of the gradient, up to about 20% PWM. Apparently the spikes happen while the power supply attempts to produce more-or-less continuous current at PWM values below about 25%

    And I thought this was going to be simple …

  • CO₂ Laser Tube Current: Constant Power

    CO₂ Laser Tube Current: Constant Power

    The test pattern consists of 1 mm blocks:

    Pulse Timing Pattern - 1 mm blocks
    Pulse Timing Pattern – 1 mm blocks

    I set the layer speed at 250 mm/s = 4 ms / mm, then set PWM (a.k.a. “power”) for each test, and measured the results, which look like this for three power levels on corrugated cardboard:

    Pulse Timing Pattern - cardboard - 10 20 30 pct
    Pulse Timing Pattern – cardboard – 10 20 30 pct

    The scan interval of 0.2 mm produces distinct lines at 10% PWM, the lower limit of the laser’s range. The lines remain separate at 30%, although their width is definitely increasing.

    Yesterday’s post explains the test wiring setup and the signals in the scope screenshots.

    The 10% PWM current waveform looks like nothing you’d expect:

    Tube Current - 10pct - 250mm-s - 5ma-div
    Tube Current – 10pct – 250mm-s – 5ma-div

    The scope triggers at the start of a left-to-right scan line, with 50 ms devoted to ramping up the speed to 250 mm/s before the start of the vertical bar along the left edge and slowing down before reversing.

    The green trace shows huge spikes in the laser current, not a well-defined DC current pulse, and they’re offscale beyond 30 mA at 5 mA/div. The baseline sits well above the 0 V line due to the AM502 amplifier’s breathtaking thermal drift; I occasionally touch it up, but the current really is zero between the pulses.

    Similarly for 20% PWM:

    Tube Current - 20pct - 250mm-s - 5ma-div
    Tube Current – 20pct – 250mm-s – 5ma-div

    Even through there’s little visible difference between the 10% and 20% current waveforms, there’s a distinct difference in the actual beam power delivered to the cardboard.

    At 30% PWM the beam current looks a bit more reasonable:

    Tube Current - 30pct - 250mm-s - 5ma-div
    Tube Current – 30pct – 250mm-s – 5ma-div

    The 2 mm = 8 ms bar on the right gives the current time to stabilize at 6 mA, but all of the pulses have at least 3 ms of spikes. The first pulse definitely looks worse, so it seems the power supply gets better as the scan line progresses.

    At 40% PWM the beam current pulses look more like pulses:

    Tube Current - 40pct - 250mm-s - 5ma-div
    Tube Current – 40pct – 250mm-s – 5ma-div

    They still have 3 ms or so of those startup spikes, as seen in this closer look at the first pulse in a line, scaled at 10 mA/div (along with the PWM drive signal):

    Tube Current - 40pct PWM first detail - 250mm-s - 10ma-div
    Tube Current – 40pct PWM first detail – 250mm-s – 10ma-div

    The top of those spikes exceed 70 mA!

    At 80% PWM, the current waveform looks like a damped tank circuit:

    Tube Current - 80pct first - 250mm-s - 5ma-div
    Tube Current – 80pct first – 250mm-s – 5ma-div

    The 20 mA at the end of that pulse suggests the maximum tube current would be 25 mA, which is undoubtedly why OMTech recommends running at no more than 70% PWM = 17-ish mA.

    The pulses start immediately after the L-ON signal goes active and stop promptly when it goes inactive, so there’s no question about the responsiveness. What baffles me is why the current looks the way it does.

    I must figure out how to have the scope compute the RMS value of those spikes, with a sufficiently large mA/div setting to keep the entire range of the pulses on the screen.