> From: andy pugh [mailto:bodge...@gmail.com]
> Subject: Re: [Emc-users] G93 minimum value/behaviour
> 
> On Sat, 12 Sep 2020 at 17:54, John Dammeyer <jo...@autoartisans.com> wrote:
> 
> > Is it even possible to cut this sort of spiral in one G-Code line or does 
> > it require a long list of separate A and XZ moves?
> 
> You would need a series of G-code lines to vary the feed rates. (you
> could keep the G93 F-number the same, but vary the A and Z deltas)
> 
> G93 simply defines how _long_ the move takes, instead of how fast it
> should move. And so works better when the speed is harder to calculate
> due to not being simply the hypotenuse.
> 

Perhaps I made the cone example too complicated.  

When I make a move from say 0,0 in XY with a G01 X1 Y1  F1 then the trajectory 
planner of any CNC system will calculate the respective X and Y speeds to 
produce a feed of 1 ipm along the path.

We could also use the G93 then to set the 1/n where n is the Fn value to be at 
the end point 1,1 so that the speed is roughly the same as F1.

The hypotenuse of that triangle is 1.414" from sqrt(1^2+1^2).  So if we are 
moving at F1 then it will take 1.414 minutes to get to the end point.  

Correct? 
So a G93 would have F42  (1/1.414) to achieve the same end?
Have I got that right?

Z doesn't enter into the calculation so multiple passes at different depths of 
cut don't matter.

Now think of the A axis as the Y and we're really just moving the work  which 
happens to be round, past the tool bit.  If we want to move 1" and the 
circumference is 6" then 1/6th of a revolution is equivalent to 1" of linear Y 
motion.  Now Z is positioned at 0.9554" above the A axis if the A axis 
centerline is 0.0  (ie. 0.9554 x 2 x Pi)

To move that one inch around at F1 is 6 x 360 degrees per minute or an F2160. 
When only the A axis is used.  Add in the X like the flat XY example and the F 
value is now incorrect for one axis.

So does that mean we have to do a G01 G93 X1 A60 F0.707?
When I run that it takes about 84 seconds and both axis finish at the same time.

In effect I've moved 1.414 inches along the diagonal described by A60 and X1 
and since I wanted F1 feed rate (1 IPM) this works.

If I move Z out so the circumference is now twice as much the A parameter has 
to change to 30 degrees but X and F stay the same. The system doesn't know what 
Z is and using this technique doesn't care.

What's needed is a G Code that knows A is rotary and that it rotates around 
Z=0.  That it knows what Z is so a feed rate of 1 IPM generates the equivalent 
of G93 F0.707 when Z is 0.955" (6" circumference, 1.91" diameter)

And if Z changes then it creates a different feed rate value that essentially 
tracks Z in the same way threading tracks the spindle speed.  Now if you add a 
new Z target value in the line as Z changes so does A in this simple case.

So does this exist?  In effect don't we already do this with taper turning on a 
lathe?

John







_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to