OK, what's the solution for PWM to a laser?

Ariel,

Sorry I didn’t see this before leaving the house, so I don’t have specific references for you.

I have been running the 2.8W laser w/ the 2.5A driver board for a few months now. In the beginning I had some issues w/ PWM but I have to caulk those up to user error - they got fixed when I reseated all of my terminals.

I think I’m using GRBL 0.9i or j…can’t remember. I’m using a daily build of UGS from several months ago for both the laser and the router. The stable build didn’t work at the time and I tried the JTech version of GRBL but it was completely incompatible w/ the router and I couldn’t live with a reboot every time I wanted to switch tool type…I often cut something and then immediately engrave the results. I also tried compiling my own version of GRBL but my reverse-engineering modifications always seemed to do something slightly wrong.

FWIW, I have a Dewalt 611 driven behind a SuperPID and I am not using PWM on the SuperPID because it’s very sensitive at the low end and doesn’t respect the M5 command (the only real value in PWM IMO, so you don’t have to babysit a long-running job).

Anyway, untouched (with settings or similar) the PWM power range should be between S1200 and S18000. S1200 is your laser-focusing setting and won’t burn anything. S18000 is obviously full power at your driver board’s current jumper setting. The range where you’ll get discernible results is probably between ~3000 and maybe ~10000, depending upon your amps and the material being cut/engraved…anything above that (on wood, at least) is pretty much the same result. I don’t remember the corresponding amp readings at these PWM values. The other common PWM commands of M3 and M5 work as advertised, and I do nothing to the GRBL environment when switching back and forth between laser and cutter.

The only changes I make when I need to do engraving are to the GCODE that is generated by vCarve (where I spend most of my design time). Those changes are pretty simple, mostly in addressing unwanted Z moves and turning the laser off then back on when you’re doing G0 moves between “carving” areas. I wrote a PowerShell script that does a couple of find-and-replace actions and then FTPs the resultant GCODE file to my workshop PC (a Raspberry Pi).

I need to update to a newer version of GRBL and I’m hoping that the PWM issues have been fixed for the SuperPID. I’ll give that a try this week and let you know if I find luck w/ the newest version of GRBL and UGS. Worst case I can probably provide a reference to the versions of the software that I know are in my setup.

Joe, so you generate your code in Easel, then change it to correct unwanted Z moves? Could you check you GRBL version please?

Ariel,
Not exactly. I generate code using vCarve but in the end, it’s the same I gcode format as what Easel generates. My GRBL version is 0.9J. My UGS version is a nightly build of 2.0 dated from Sept. Let me know if I can help with anything else.

Not sure if this is still an active topic. Our laser Ink project uses a similar modification to the firmware. It should be 100 % compatible with the JTech laser.
The difference is we open sourced our firmware

And we do provide support for both arcs and limit switch
Real time scheduling of S command
Laser 0% is 0
Laser 100% is 255

So this should allow you to run both your CNC and firmware with the same grbl.

We are currently developing a firmware version that will allow true high-res rendering.
Note: for this version of the firmware we did also need to disable arcs:-) to make room for the needed code space. However all other grbl functionality will be present including probing and homing:-)

Here is an up close image of what the firmware is capable of.

Here is a video of the software streaming the image lines to the grbl firmware.

2 Likes