Allow infinite acceleration/speed on one axis

More
9 years 9 months ago #86183 by andypugh

Stunning_Rob wrote: In the case of controlling a laser I suppose this would have the effect of varying the laser intensity as the M68 codes are received and thereby pulsing the laser when it is not at the correct XY position for that engraving point. If the M68 code didn't slow the axis down any (the outcome we want), I expect the laser image would be nigh-illegible due to pulsing the laser at incorrect times, and not give the preferred output.


That is how the description reads, but I am not sure if that is what happens in practice.

M67 synchronises the change in output with the beginning of the next move. However I don't think that M68 sends all the output values together during the readahead stage. I think it might be worth a trial.

You seem to be saying that M67 breaks blending, if it makes the motion stutter, so M68 can't be much worse.

My own feeling is that G-code for rastering is probably wrong anyway. I think that it would make a lot more sense to have a separate raster generator and intensity mapper.

I did once try writing one, a motion-planner that eats bitmaps rather than G-code, but like so many of my experiments, it died unfinished.
The following user(s) said Thank You: Stunning_Rob

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

More
9 years 9 months ago - 9 years 9 months ago #86184 by Todd Zuercher
I believe that your problem with trying to use XYA is that The new trajectory planner only works with XYZ, and adding A into the mix reverts the system back to the old 1 line look-ahead acceleration limit.

I just did a little experimenting with M67 in a simulation and it works fine if... and this is a BIG IF. The distance between the changes of M67 settings has to be long enough to take more than 1 servo-period to execute at the commanded speed.
In one of the generic axis sims included with Linuxcnc.
This code works
Code:
% G20 G92.1 G64 P0.05 Q.1 S18000 M3G54 G90 F300 G64 G0 X0 Y0 G1 X1 M67E0Q100 G1 X1.1 M67E0Q0 G1 X1.2 M67E0Q100 G1 X1.21 M67E0Q0 G1 X1.22 M67E0Q100 G1 X1.24 M67E0Q0 G1 X1.25 M67E0Q100 G1 X1.29 M67E0Q0 G1 X1.30 M67E0Q100 G1 X1.35 M67E0Q0 G1 X1.45 M67E0Q100 G1 X1.5 M67E0Q0 G1 X1.505 M67E0Q100 G1 X2 M67E0Q0 G1 X3 G1 Y1 G1 X2 M67E0Q100 G1 X1 M67E0Q0 G1 X0 G53 Z0 G92.1 %

And this does not
Code:
% G20 G92.1 G64 P0.05 Q.1 S18000 M3G54 G90 F300 G64 G0 X0 Y0 G1 X1 M67E0Q100 G1 X1.1 M67E0Q0 G1 X1.2 M67E0Q100 G1 X1.21 M67E0Q0 G1 X1.22 M67E0Q100 G1 X1.24 M67E0Q0 G1 X1.25 M67E0Q100 G1 X1.29 M67E0Q0 G1 X1.300 M67E0Q100 G1 X1.301 (this is the offending line of code that breaks it all) M67E0Q0 G1 X1.45 M67E0Q100 G1 X1.5 M67E0Q0 G1 X1.505 M67E0Q100 G1 X2 M67E0Q0 G1 X3 G1 Y1 G1 X2 M67E0Q100 G1 X1 M67E0Q0 G1 X0 G53 Z0 G92.1 %
Last edit: 9 years 9 months ago by Todd Zuercher.

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

More
9 years 9 months ago - 9 years 9 months ago #86185 by Todd Zuercher
Here is a Halscope of the above two codes.
Screen shot of the good code


And the bad.
Last edit: 9 years 9 months ago by Todd Zuercher.

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

More
9 years 9 months ago #86186 by Todd Zuercher
So in my above simulation the maximum resolution for your raster at 300ipm scan rate would be 0.005 inches. (and that might be pushing your luck, double that would probably be safer.)
The following user(s) said Thank You: Stunning_Rob

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

More
9 years 9 months ago #86187 by tommylight
One more thing regarding this, the G0 speed must be the same as the G1, so i just replace all G0 with G1 and it moves smoothly. Again this is for my case that is same as for lasers, i just use a PWM controlled pressure on the spindle head.

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

More
9 years 9 months ago #86195 by Stunning_Rob
Thanks to all for your thoughts,

Tommy -> If you can post the link and attachments that you mentioned in your post I would like to see how they look. I don't fully understand what you mean, but probably with your links and attachments I will be able to. It sounds like you have this solved, so I would like to take a look.

Andy -> I will test the use of M68 and revert back with results so we know for sure how it will act under these circumstances.

Todd -> Your response has given me some things to check:
1.) Based on servo period and image resolution (in this case, the minimum distance between M67 changes) we should be able to find the maximum speed at which any given image could be engraved via M67.

2.) Thanks for the heads up on XYZA vs XYZ in the trajectory planner. I'll create some temp config settings and instead of XYZA, I'll run XYZ with Z controlling the laser (and no 'traditional Z axis' just for testing) to how this effects my results.

I will revert back regarding the above after some trial runs.

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

Time to create page: 0.075 seconds
Powered by Kunena Forum