Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: nicad on February 13, 2006, 05:04:57 PM

Title: Art- begging for a change in acceleration calculations
Post by: nicad on February 13, 2006, 05:04:57 PM
I have asked about this in the past via email... You had made a "change" to one of the mach2 6.11x versions, but it didn't help any.

The problem that I see is that Mach is calculating accel rates based on a unit/sec^2, which is fine if all of the axis were the same units.
Yep, you guessed it. I am talking about simultaneous  rotary + linear motions accelerations.
If Mach calculated accel rates based on STEPS/sec^2, it would remove units from the equation.

my setup:
X/Y/Z axis resolution: 16,000 steps/unit (unit = INCH)
X/Y/Z axis accel: 17 units/sec^2

A axis resolution: 400 steps/unit (unit = DEGREE)
A axis accel: 500 units/sec^2

When a move involves both the A and one of the linear axis, I know mach defaults to the slowest accel on all the axis involved. This results in ~ 30 TIMES slower accel on all axis (500 is used in place of 17 to be "safe"). I agree with the "safe" algorithm, I do not agree with the numbers it is looking at.

IF Mach used steps/sec^2, I would have:

X/Y/Z axis resolution: 16,000 steps/unit (unit = INCH)
X/Y/Z axis accel: 272000 STEPS/sec^2

A axis resolution: 400 steps/unit (unit = DEGREE)
A axis accel: 200000 STEPS/sec^2

This is the exact same config, but using steps instead of units (same accel and resolutions). The accel calcs would operate properly all the time. (272,000 is VERY close to 200,000) Which would perform as it should.

This is killing me. It it taking at least 10x longer time to cut the same part because of it.

Please help! :) :)

(yes I have set my "rotation diameter".. it does not fix it) :-/
Title: Re: Art- begging for a change in acceleration calculations
Post by: Art on February 13, 2006, 05:26:19 PM

 Actually, though youve rationalised it out well, your operating under a mistaken impression. Mach3 does not use units/sec^2 as its accel, just steps/sec^2, it just displays them to you as units/sec^2. No pulse code can deal with units, in the end its all steps/sec , anyway..back to the problem... :)

  If youve entered 500 units in accel, its directly translated when you leave the dialog to 200,000 steps/sec^2. So thats not the issue you think it is.

 The real issue, probably  without looking at code.., is the mix of the move. The rotational axis are mixed into a 3d linear move in time. The rotational has to fit in the time of the linear move, so the rotational is not sped up, the linear is slowed down. So an F6 (with numbers as high as yours for units per degree) can be reduced to a F.00001 . Can you show me a typical mix move? How much X vs How much A?

Title: Re: Art- begging for a change in acceleration calculations
Post by: nicad on February 14, 2006, 03:27:43 AM
Good to hear that Mach3 does function this way. Was starting to think I might be a mad man out yelling in the streets.. :)

But there is still something awry causing the slow accel.
Feedrates are reached fine-- it is the acceleration that is dragging.

I want to cut a spiral on a cylinder that has a pitch of .1" for 4 revolutions.
Code: [Select]
N1 G0 X0 Y0 Z0.5 A0
N2 G1 X-.4 A1440 F20

If I had to guess I would say it takes about 3-5 seconds to get up to the 20ipm on this cut (N2), then another 3-5 seconds to slow down to a stop at the end.
If I were to run A from 0 to 1440 by itself, it would take off quickly like normal. Likewise, moving the X axis from 0 to -.4" at F20 would be a snap.

It happens with both G0 and G1 commands (These are the only commands I use for mixed A-axis and X/Y/Z axis moves).

Another example-
I cut a lot of contoured work on the rotary axis.. some of it roll-cutting (A-axis rolls while Z-axis contoures, then after 360*, X axis steps over a slice and then another roll of contour cutting). Some of it gets very complex with many many lines of points to hit per roll, and every time the Z axis changes directions, the Z and A slowly grind to a halt and then slowy take back off. Doing this a couple thousand times on one part can add an hour of slow accel times.
Rough example:
Code: [Select]
N1 G0 X0 Y0 Z1 A0
N2 G1 A10 Z.9 F50
N3 A12 Z.7
N4 A15 Z.69
N5 A20 Z.8
N6 A26 Z1

N1: prepair to cut
N2: slow accel of rolling A and lowering Z
N2: keeps speeding up with the rolling A and lowering Z
N3: will probably be slowing back down by now
N4: has slowly ground to a halt
N5: slow accel of rolling A and raising Z

last example I can think of for now- rapids for positioning:
Code: [Select]
N1 G0 X0 Y0 Z2 A0
N2 G0 X5 Y1 Z2 A0
N2 G0 X10 Y2 Z2 A20

N1: set the stage
N2:  All axis accel rapidly and move to destination.
N3: All axis take many seconds to accel up to full speed, and likewise to accel back down to a stop.

This is on a MaxNC machine (dont laugh, its been modified beyond its wildest dreams! :) ) and in no way do I think that its old software is better than Mach.. but It did handle A+X/Y/Z motion with out this slow accel, So I know it can be done (and you would be the man to do it!).

Any ideas? :)
Title: Re: Art- begging for a change in acceleration calculations
Post by: Keith on February 20, 2006, 10:41:25 AM
I could be way off on this but this sounds a lot like a problem I was having with Mach2 and my Sherline.In motor tuning;what do you have the 'minimum pulse width' set at?
If your controller is like mine at all,I had to max it out to get any reasonable cutting rate and even then it was hurting.When I'm done with this project I have a setup on,I'm going to Mach3 which will allow for a longer pulse width I'm told by using the 'Sherline check box' in 'Ports and Pins'.Isn't there aa MaxNC mode in the latest release of Mach2?
Like I say,just a guess because it was so familiar to me.-Keith