Allow infinite acceleration/speed on one axis

More
11 years 7 months ago #57107 by lerneaen_hydra
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!

Please Log in or Create an account to join the conversation.

More
11 years 7 months ago #57112 by Todd Zuercher
Have you tried using S codes to set your power level?

(then you would also have Z free to use as an axis for focusing your beam, if you would like that .)

Please Log in or Create an account to join the conversation.

More
11 years 7 months ago #57113 by bernie_nor
Hi!

I'm not sure if using the Z-axis is the right choice for your application. For my Foam-cutter I'm planning on using the spindle speed as input for the power. As for the laser cutter, the foam-cutter must maintain a constant speed in order to make nice cuts.

My plan was to use S0 - S100 to set the power. Spindle speed is normaly connected to a PWM output in the first place. So this would be an easy path to follow.

Cheers!
Bernie

Please Log in or Create an account to join the conversation.

More
11 years 7 months ago #57202 by lerneaen_hydra
Thanks for the ideas, however after testing I can't really say that I noticed much of a performance increase; it still seems like the trajectory planner doesn't read ahead far enough to generate smooth motion (despite there being no change in velocity on a changing S word). For example, running a program like;

G0 X0 Y0 S0
G1 X1
G1 X1.001 S100
G1 X2
G1 X2.001 S0
G1 X3
G1 Y1
G1 X2
G1 X1.999 S100
G1 X1
G1 X0.999 S0
G1 X0

generates significant slowdown when transitioning over S words. Could this be because the current trajectory planner only has a one-line lookahead?

Please Log in or Create an account to join the conversation.

More
11 years 7 months ago #57210 by andypugh

lerneaen_hydra wrote: Could this be because the current trajectory planner only has a one-line lookahead?


What do you consider to be the "current" TP? Lookahead is much longer in the 2.7 branch. (50 lines by default)

linuxcnc.org/docs/2.7/html/config/ini_co...tml#sub:TRAJ-section

Please Log in or Create an account to join the conversation.

More
11 years 7 months ago #57212 by lerneaen_hydra
Uh, that would be the 2.6 branch (assuming that's what's regarded/packaged as 'stable'/equivalent at the moment), which AFAICT has a one-line lookahead. A longer lookahead sounds great! Any idea as to when 2.7.x is going to be regarded as stable/pushed out to the repositories?

Please Log in or Create an account to join the conversation.

Time to create page: 0.373 seconds
Powered by Kunena Forum