OMTech 60 W Laser: Engraving Scan Offset Adjustment

The fuzzy edges engraved on the acrylic test sample showed the need for scan offset adjustment:

Please Close The Gate - acrylic test piece
Please Close The Gate – acrylic test piece

The problem arises from the finite delay between the controller turning the laser beam on and the rise time of the death ray energy at the focal point.

LightBurn can produce a calibration coupon (on Trolase laminated acrylic) to help explore the multidimensional parameter space:

Offset cal - zero offset - overview
Offset cal – zero offset – overview

The “Interval” value is the vertical (Y-axis) scan line spacing. The laser spot diameter is, at absolute best, about 0.2 mm on the focal plane, with the actual engraved line being smaller due to the energy distribution across the beamwidth and the power required to visibly damage the material, so a 0.1 mm interval should result a little bit of overlap between adjacent scan lines.

A closer look shows the serrated edges on the left and right sides of the engraved squares:

Offset cal - zero offset - detail
Offset cal – zero offset – detail

Peering at it through a measuring magnifier suggests the offset is a bit over 0.2 mm at 400 mm/s, corresponding to a 500 µs delay between laser turn-on in the rightward direction and turn-off in the leftward direction.

The LightBurn Scanning Offset Adjustment is half the measured distance, with an Initial Offset parameter to adjust the starting point of the first scan line. You measure the distance at each speed and fill in the table accordingly.

Iterating through offsets, speeds, powers, and intervals produces a series of test coupons slicing through the parameter space:

Offset cal - iteration
Offset cal – iteration

All in all, a 0.1 mm offset at 400 mm/s with 14% power (about 8 W) and 0.075 mm interval looks pretty good:

Offset cal - final offset - detail
Offset cal – final offset – detail

Engraving various fonts:

Offset cal - text - overview
Offset cal – text – overview

A closer look (left coupon on the top):

Offset cal - text detail
Offset cal – text detail

LightBurn linearly interpolates between table entries of offset values at specific speeds, so you must fill in several lines to give it something to munch on. The top text came from an offset table with two entries at 400 and 500 mm/s, which obviously wasn’t quite sufficient. The bottom text comes from a three-entry table:

LightBurn scan offset table
LightBurn scan offset table

Which produces a better result, even at 500 mm/s and 20% power (12 W) on scrap acrylic:

Close Gate - test acrylic - overview
Close Gate – test acrylic – overview

A closer look:

Close Gate - test acrylic - detail
Close Gate – test acrylic – detail

Much better!

Garden Cart Handle Pivot

For reasons not relevant here, I was tapped to replace the plastic parts attaching the handle to a garden cart:

Garden Cart - handle attachment
Garden Cart – handle attachment

The owner tried to contact the “manufacturer” to no avail; repair parts are simply not available, even if the name painted on the cart had a meaningful relationship to anything else.

Well, I can fix that:

Garden Cart - handle repair parts
Garden Cart – handle repair parts

Fortunately, another cart in the fleet provided the missing bits so I could reverse-engineer their measurements.

The solid model looks about like you’d expect:

Garden Cart Handle - show view
Garden Cart Handle – show view

Printing the two halves with those nice (yellow) bosses in place wasn’t feasible. They were exactly 1 inch in diameter, so I just parted two cookies from the end of a stout acetal rod after drilling a hole for the 2-¼ inch 5/16-18 bolt.

The two pieces took nigh onto three hours with five perimeters and 50% infill:

Garden Cart Handle - slicer preview
Garden Cart Handle – slicer preview

While delivering and installing the parts, I got volunteered to haul plants to cars with one of the carts during the upcoming Spring Plant Sale. That’ll teach me to stay in the Basement Shop …

The OpenSCAD source code as a GitHub Gist:

// Garden Cart Handle Pivot
// Ed Nisley KE4ZNU 2022-05
Layout = "Show"; // [Show,Build]
/* [Hidden] */
ThreadThick = 0.25;
ThreadWidth = 0.40;
HoleWindage = 0.2;
Protrusion = 0.1; // make holes end cleanly
inch = 25.4;
function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
ID = 0;
OD = 1;
LENGTH = 2;
//----------
// Dimensions
// Handle lies along X axis
HandleOD = (7/8) * inch;
BoltOD = (5/16) * inch;
Washer = [BoltOD,1.0 * inch,2.0]; // just for Show
Disk = [BoltOD,62.0,(3/16) * inch];
ClampBase = [(1 + 7/8)*inch,(1 + 1/8)*inch,2.0];
Kerf = 2.0;
CornerRadius = 1.0;
PivotOA = [Disk[OD],Disk[OD],HandleOD + 2*ClampBase.z + 2*Disk[LENGTH]];
//----------------------
// Useful routines
module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes
Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);
FixDia = Dia / cos(180/Sides);
cylinder(d=(FixDia + HoleWindage),h=Height,$fn=Sides);
}
//----------------------
// Set up parts
module Handle() {
translate([-2*PivotOA.x,0,0])
rotate([0,90,0])
PolyCyl(HandleOD,4*PivotOA.x,24);
}
module Bolt() {
translate([0,0,-PivotOA.z])
PolyCyl(BoltOD,2*PivotOA.z,12);
}
module Pivot() {
difference() {
union() {
hull()
for (i=[-1,1], j=[-1,1]) // rounded block
translate([i*(ClampBase.x/2 - CornerRadius),j*(ClampBase.y/2 - CornerRadius),-PivotOA.z/2])
cylinder(r=CornerRadius,h=PivotOA.z,$fn=4*8);
for (k=[-1,1])
translate([0,0,k*(PivotOA.z/2 - Disk[LENGTH]/2)])
rotate(180/36)
cylinder(d=Disk[OD],h=Disk[LENGTH],$fn=36,center=true);
}
Handle();
Bolt();
cube([2*ClampBase.x,2*ClampBase.y,Kerf],center=true); // slice through center
}
}
//----------
// Build them
if (Layout == "Show") {
rotate([90,-45,0]) {
Pivot();
color("Green")
translate([2*PivotOA.x - PivotOA.x/2,0,0])
Handle();
color("Red")
Bolt();
color("Yellow")
for (k=[-1,1])
translate([0,0,k*(PivotOA.z/2 + Washer[LENGTH])])
rotate(180/36)
cylinder(d=Washer[OD],h=Washer[LENGTH],$fn=36,center=true);
}
}
if (Layout == "Build") {
Offset = 5.0;
intersection() {
translate([-(PivotOA.x/2 + Offset),0,PivotOA.z/2])
Pivot();
translate([-2*PivotOA.x,-2*PivotOA.y,0])
cube([4*PivotOA.x,4*PivotOA.y,PivotOA.z/2],center=false);
}
intersection() {
translate([(PivotOA.x/2 + Offset),0,PivotOA.z/2])
rotate([180,0,0])
Pivot();
translate([-2*PivotOA.x,-2*PivotOA.y,0])
cube([4*PivotOA.x,4*PivotOA.y,PivotOA.z/2],center=false);
}
}

Laser-cut Cutworm Collars

Mary, having had considerable trouble with cutworms in her gardens, routinely deploys cardboard collars around new plants:

Cutworm Collars - assembled
Cutworm Collars – assembled

It seems cutworms trundle around until they find an edible plant, chew through the stem and topple the plant, then trundle off without taking another bite. A small cardboard barrier prevents them from sensing the plant: apparently, motivation to climb a short wall hasn’t yet evolved.

Up to this point, Mary applied scissors to tissue boxes, but I proposed an alternative with an adjustable fit to any plant:

Laser Cutting Cutworm Collars
Laser Cutting Cutworm Collars

A splayed cardboard box rarely lays flat, a condition enforced by a few MDF stops used as clamps.

Come to find out no two tissue boxes have identical dimensions, even boxes from the same brand / retailer, so lay out duplicates of the collar template to match your stockpile.

That was fun!

The SVG image as a GitHub Gist:

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

OMTech 60 W Laser: Adjustable Honeycomb Stops

When you (well, I) get fussy about angular alignment on the laser cutter’s honeycomb platform, an adjustable stop or two may come in handy:

Laser Honeycomb - Adjustable Pins
Laser Honeycomb – Adjustable Pins

That’s a serving suggestion based on a true story, because I really wasn’t all that fussy about precise engraving alignment on those signs.

A more typical situation on a smaller scale:

Laser Honeycomb - Adjustable Pins - engraving
Laser Honeycomb – Adjustable Pins – engraving

The scrap of MDF with three holes provides angular alignment for the little two-color acrylic test coupon, so you can tuck successive squares into the corner, hammer them with slightly different patterns, then compare the results.

The stops are an off-center hole (the ±3 text gives the offset) in an MDF disk with an acetal post:

Laser Honeycomb - Adjustable Pins - detail
Laser Honeycomb – Adjustable Pins – detail

The 3 mm SHCS provides a convenient way to turn the post and disk, so the threading isn’t critical. Sufficiently snug threading will let you turn the screw counterclockwise without loosening it, but that surely depends on how tightly the 8 mm section fits into the honeycomb. The larger top section is 9mm, cleaned up from the rod’s nominal 3/8 inch OD, for a jam fit into the 8.8 mm + 0.1 mm kerf hole.

The SVG images as a GitHub Gist:

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

The ±5 mm offset disk may be more useful with larger items and now you know where those three holes came from.

Tour Easy: Terracycle Chain Idler Bushing

It turns out that under rare conditions, triggered by fumbling a front derailleur shift, the upper chain section (out of the picture on the top) can whip vertically enough to jam between the Terracycle Idler’s mounting bolt and its longer chain retaining pin:

Tour Easy - Terracycle idler
Tour Easy – Terracycle idler

Whereupon the chain falls off the chainring, jams firmly between the spider and the crank, and brings the proceedings to a halt.

Having finally figured out the cause, I made a simple bushing to fit around the mounting bolt, reduce the gap, and (I hope) eliminate the problem:

Tour Easy - Terracycle idler bushing
Tour Easy – Terracycle idler bushing

Given its rarity, I will need a few more years to verify the solution.

Might get around to cleaning the chain one of these days, too …

Please Close The Gate Signage

Making signs for the gates surrounding the Vassar Community Gardens provided an opportunity to test laser engraving power on MDF:

Please Close The Gate - 60 to 20 pct engraving - raw
Please Close The Gate – 60 to 20 pct engraving – raw

The alert reader will observe MDF is totally the wrong material for outdoor signage, which is correct. I’ll be producing different signs as these disintegrate, with an emphasis on engraving different materials and applying different finishes along the way; nobody pays attention to signs, anyway.

With that in mind, the engraving power ranged from 60% on the top sign to 20% at the bottom, perhaps 40 W to 10 W, with a scanning speed of 500 mm/s. The highest power punched the engraving about 0.5 mm below the surface:

Please Close The Gate - 60 pct depth
Please Close The Gate – 60 pct depth

They’re engraved on both sides, so those MDF locating pins came in handy:

Please Close The Gate - engraved
Please Close The Gate – engraved

Alignment was obviously not critical.

Slathering the signs with polyurethane finish rated for indoor use improved the contrast on the deeper engraving:

Please Close The Gate - 60 to 20 pct engraving - finished
Please Close The Gate – 60 to 20 pct engraving – finished

The bare sign (upper right) went on a distant / locked / rarely-used vehicle gate, where it will serve as an exposure control while turning into mush.

The small acrylic sign, a prototype for amusement value, clearly shows the need for offset correction at such high scan speeds:

Please Close The Gate - acrylic test piece
Please Close The Gate – acrylic test piece

The MDF signs fit inside one vertical space of the “four inch” wire mesh on the gates, where they rest on the lower wire, and span three wires horizontally, so I could attempt to control the inevitable warping:

VCCG perimeter gate wire mesh
VCCG perimeter gate wire mesh

The mesh wire spacing is not mmmm a closely controlled manufacturing parameter, so the next iteration must be a few millimeters shorter to fit the smallest openings.