I think I found the cause of the issue with the connected lines. For G0 moves the command is something like “G0 X10 Y20 F0” the ‘F0’ should be an ‘S0’ so the command would be “G0 X10 Y20 S0”.
Looking closer, it appears all the G1 lines should have S values as well.
Any idea how I might do that change?
I haven’t looked at Marlin g-code.
G0 is usually a zero power Traversal move (travel/traverse… etc)
G1 is usually the PWM controlled (variable spindle speed) laser power control.
There is a minimum spindle speed parameter so the spindle doesn’t shut down all the way in CNC machines. In a diode laser engraver you want to turn the laser off by turning it down to zero. I do not know how far one is supposed to turn down a 60W CO2 tube to stop engraving.
What pin have you configured for your laser trigger? Occasionally a user will have the PWM value inverted (+V trigger vs. 0V/ground-trigger) and it will be hard to sort if the speed and power increase for traversing.
You can invert the PWM signal in LightBurn. (<— this is incorrect) It might be this simple. Does your High voltage supply require a logic-ground trigger to fire?
In Marlin, G0 is a PWM move. There is a setting to make it turn off the laser if no power is specified on a G0 move…but that feature doesn’t actually work. Setting the CO2 laser to 0 power would work stop it.
The high voltage supply needs one wire to trigger it (on when this wire is connected to GND). Then there is another 0-5V PWM @ 23khz to control the power level. The logic is already inverted in Marlin, I can’t find a setting to invert it in LightBurn.
I believe that I was in error and that PWM invert is likely compile-time setting. I don’t see it for my GRBL controller in Machine Settings.
In an attempt to make the PWM operate backwards I switched the values in $30 and $31 so the max-min values were reversed.
With the reversed Max Min values, I ran two tests one at 0% engrave power and one at 100% engrave power. The laser was on when traversing to the engraving line, through the operation of the engraving line while commanded at 100%(or zero percent), and off when returning to the origin, in both tests.
With the Max Min values set properly, my engraver behaves as expected.
the F0 or F100 is the feed rate or engrave speed - so it’s supposed to be there.
I think that my problem is in Marlin.
Just to be clear on what’s going on I played with pronterface a bit…
G0 x0 y0 = laser off…but only after a few mm
g1 x10 y10 f1000 i s0 = laser off…but only after a few mm
g1 x10 y10 f1000 i s20 = low power laser on
g1 x10 y10 f1000 i s99 = high power laser on
g1 x10 y10 f1000 i s100 = laser off…but only after a few mm
So there’s some sort of delay turning the laser off. Very odd.
SOLVED IT! WOOOT! I have a small device that translates the output that my octopus board makes into the input that my laser power supply wants. The code had a glitch…flashed new code…everything works!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.