Thanks for the info and help!
Details on the PS would have helped, sorry for leaving that out. It’s an older PSU, I guess we’d call it type 1, with three green detachable power plugs. Panel is all digital, I put it in myself, took the potentiometer out of the chain so that the Smoothieboard is the only control for the power. I did leave the analog ammeter connected as a manual safety check. PWM is going to the IN port on the PS, the other out is going to the L / laser fire port. Pretty straightforward.
I have a true RMS DVM and a four channel 100MHz scope if I need to. I’ve been in electronics for decades. I design circuitry for a hobby, so my knowledge is pretty up there.
I missed the docs on the open drain ability of the outs - I am going to test that with my DVM (no laser connection of course) to see if I forgot that.
Smoothie config is as follows:
## Laser module configuration
# See http://smoothieware.org/laser
laser_module_enable true # Whether to activate the laser module at all
laser_module_pwm_pin 1.23 # This pin will be PWMed to control the laser.
# Only pins 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 1.18, 1.20, 1.21, 1.23, 1.24, 1.26, 3.25 and 3.26
# can be used since laser requires hardware PWM, see http://smoothieware.org/pinout
laser_module_ttl_pin 1.22^ # This pin turns on when the laser turns on, and off when the laser turns off.
laser_module_maximum_power 1.0 # This is the maximum duty cycle that will be applied to the laser
laser_module_minimum_power 0.0 # This is a value just below the minimum duty cycle that keeps the laser
# active without actually burning.
laser_module_default_power 0.3 # This is the default laser power that will be used for cuts if a power has not been specified. The value is a scale between
# the maximum and minimum power levels specified above
laser_module_pwm_period 200 # This sets the pwm frequency as the period in microseconds
#NOTE I had a value of 200 in the above line, which was well below the 20,000 HZ rating. Testing to see if this fixes power issues.
laser_module_maximum_s_value 1.0 # Value of S code that will represent max power