Hey all,
I've more or less finished a relatively standard laser-cutter (2 physical axes, CO2 laser/flying optics) and I'm using the Z axis to control laser power, where a positition ranging from 0 to -1 applies no to full power (with saturation above 0/below -1). My power output is physically driven using the PWMGEN hal component. This works more or less well enough, but I find I'm limited by the acceleration limits of the Z axis.
I've set up the maximum joint speed and acceleration to values that allow movement from 0 to -1 in under one servo-thread period, but I find that the path planner commands a deceleration/acceleration ramp along the X/Y axes when approching a step in the Z axis. As there is no physical reason for the axes to slow down at all --- linuxcnc can simply directly switch from 0% duty cycle to 100% duty cycle --- this slows down the cycle time of a part as well as causing an uneven surface as I expose the material near the Z step to the beam for longer than the remaining material.
One possible (though inelegant) method of resolving this could be to change the scale of my mapping from 0 -- 1 to 0 -- x, where x is smaller than my path blending tolerance (as set by G64), but I'd prefer not to do this as this makes my CAM generation slightly more obtuse.
Does anyone know if there's some way to allow the trajectory planner to generate a path that's reasonable for my application? (IE approach a large step in Z, while X/Y are moving, and change the Z value instantaneously without slowing down X/Y motion).
Cheers!