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.

Laser Cutter: New 24 V Power Supply

Unlike the OEM 24 V supply in the laser, the “new” supply from my heap does not have mounting flanges; it’s intended to be attached to a mounting plate from the back side. It turns out the laser does have a mounting plate with All The Things screwed onto it, but there is no way I am going to disconnect all the wiring just to drill four more holes in that plate.

So I made a pair of brackets to screw into the back of the supply and then into suitable holes in the mounting plate:

Laser 24V Power Supply Mount - solid model
Laser 24V Power Supply Mount – solid model

Which look like this in real life:

Laser 24V Power Suppy - mounts installed
Laser 24V Power Suppy – mounts installed

Those M4 rivnuts just beg for 6 mm holes in the mounting plate.

However, it turns out that their unsquished length exceeds the distance behind the panel, which means there’s no way to install them flush to the panel with the proper backside squish.

So:

  • Loosen the four bolts holding the panel to the machine frame
  • Ease it forward a bit
  • Tuck 6 mm acrylic scraps behind all four corners
  • Snug the bolts again to hold the plate against the acrylic with plenty of room behind it

The OpenSCAD code generates a simpleminded drill template:

Laser 24V Power Suppy - drill template
Laser 24V Power Suppy – drill template

Press a scrap of rubber firmly against the plate to dampen vibrations and thwack each hole with an automatic center punch set to stun. Deploy a succession of drills up through 6 mm, catching most of the swarf in tape strips:

Laser 24V Power Suppy - drill chip catchers
Laser 24V Power Suppy – drill chip catchers

Squish the rivnuts in place:

Laser 24V Power Suppy - rivnuts in place
Laser 24V Power Suppy – rivnuts in place

The small, vaguely tapped hole on the lower right was the “good” screw for the OEM power supply; the “bad” screw hole is invisible to the upper left, just under the raceway.

Install the power supply and it looks like it grew there:

Laser 24V Power Suppy - installed
Laser 24V Power Suppy – installed

The wires and Wago connectors scrunched underneath aren’t anything to be proud of, but longer wires didn’t seem likely to improve the outcome.

The OpenSCAD source code as a GitHub Gist:

// Mount for 24 V laser power supply
// Ed Nisley – KE4ZNU
// 2025-12-07
include <BOSL2/std.scad>
Layout = "Show"; // [Show,Build,Guide,Block]
/* [Hidden] */
ID = 0;
OD = 1;
LENGTH = 2;
HoleWindage = 0.2;
Protrusion = 0.1;
NumSides = 2*3*4;
$fn=NumSides;
Gap = 5.0;
Rivnut = [4.0,6.0,9.0]; // body + head OD
RivnutHead = [6.0,10.0,1.0]; // flat head
WallThick = 6.0; // a bit more than half rivnut head OD
SupplyCase = [50.0,215.0,112.0]; // power supply case size
SupplyOC = [25.0,150.0,0]; // power supply mounting screw centers
SupplyOffset = -1.0; // the screws are not centered on the case!
SupplyScrew = [4.0,9.0,4.0]; // … LENGTH outside supply case
MountOC = SupplyCase.x + 2*WallThick;
MountScrewLength = 8.0; // … head-to-baseplate
MountRadius = 0.5;
BlockOA = [MountOC + 2*WallThick, 2*WallThick, MountScrewLength];
GuideOD = 2.0;
//—–
// Single mounting block
module MountBlock() {
difference() {
cuboid(BlockOA,chamfer=MountRadius,except=BOTTOM,anchor=BOTTOM);
for (i = [-1,1]) {
right(i*MountOC/2) {
cyl(2*RivnutHead[LENGTH],d=RivnutHead[OD],circum=true,anchor=CENTER);
cyl(2*BlockOA.z,d=Rivnut[ID] + HoleWindage,circum=true,anchor=BOTTOM);
}
right(i*SupplyOC.x/2 + SupplyOffset) {
down(SupplyScrew[LENGTH])
cyl(BlockOA.z,d=SupplyScrew[OD] + HoleWindage,circum=true,anchor=BOTTOM);
cyl(2*BlockOA.z,d=SupplyScrew[ID] + HoleWindage,circum=true,anchor=BOTTOM);
}
}
}
}
//—–
// Guide holes in a 2D layout
module DrillGuide() {
difference() {
square([BlockOA.x,SupplyOC.y + BlockOA.y],center=true);
for (j=[-1,1])
fwd(j*SupplyOC.y/2)
for (i = [-1,1]) {
right(i*MountOC/2) {
circle(d=GuideOD);
}
}
}
}
//—–
// Build things
if (Layout == "Block")
MountBlock();
if (Layout == "Guide")
DrillGuide();
if (Layout == "Show") {
for (j=[-1,1])
fwd(j*SupplyOC.y/2)
MountBlock();
color("Gray",0.5)
up(BlockOA.z)
cuboid(SupplyCase,anchor=BOTTOM);
}
if (Layout == "Build") {
for (j=[-1,1])
fwd(j*(BlockOA.y/2 + Gap/2))
up(BlockOA.z) zflip()
MountBlock();
}

Comments

Spam comments get trashed, so don’t bother. Comment moderation may cause a delay.