Welcome! Log In Create A New Profile

Advanced

PPM vs. PWM for laser control

Posted by chromvis 
PPM vs. PWM for laser control
March 13, 2018 04:08PM
I encounter the problem using Marlin Kimbra version for K40 machine. I noticed significant loss of laser power. When I checked with oscilloscope it appears that my pin 6 (standard for laser PWM control) actually has PPM version of signal (pulse position modulation, 2 ms pulses with 20 ms period suitable for hobby servo control). Actually, pins 4, 5, 6, and 11 are dedicated for servo control on pololu shield. I tried standard Marlin and got the same. With this type of a signal you get max 10% of laser power. Any idea on how to change it.
I install Smoothieboard, which works fine except that if I want to do raster engraving it could not do it correctly, so I want to go back to Ramps 1.4 but need to solve this problem.
Any suggestions are highly appreciated.
VDX
Re: PPM vs. PWM for laser control
March 13, 2018 05:13PM
... you can insert a mono-flop chip with a trimpot to adjust the pulse-length - e.g. a NE555 in a standard monoflop circuit ...


Viktor
Re: PPM vs. PWM for laser control
March 14, 2018 12:10AM
Not sure that it is an optimal solution. I searched today and find that even the author of #servo library for Arduino does not know how to switch back from PPM to PWM. Apparently, servo.detach() does not work, although it should according to Arduino manual.
I actually simply comment the call for #servo library in base.h file of MK firmware. The compilation went fine but I did not check with hardware attached yet.
I am a bit surprised that no one notice it here. It appears to be well known problem in Arduino community, at least it is my impression from today extensive search.
VDX
Re: PPM vs. PWM for laser control
March 14, 2018 04:06AM
... I'm avoiding PWM with accelerated moves, as it would burn more on line starts and ends.

Better use the CLOCK pin of the extruder, as it's exactly giving "Pulses per millimeter".

I'm driving my (cartesian style) laser-engravers with an ArduinoDue as "slave" with a pulse length of 500ns -- and adjusting the engraving/cutting power by an Arduino pro mini inside the laser driver, by varying the pulse length between 5µs to 400µs ...


Viktor
Sorry, only registered users may post in this forum.

Click here to login