Hello Guest it is September 29, 2020, 08:04:05 AM

### Author Topic: Stepper motor as spindle  (Read 24159 times)

0 Members and 1 Guest are viewing this topic.

#### simpson36

• 1,371
##### Re: Stepper motor as spindle
« Reply #30 on: May 13, 2009, 02:18:03 PM »
I grant you the theory on killing an irrational number by rouding the last digit, but in practical terms, if one was to take the decimal out say 10 or even 20 places, the error would be insignificant in terms of a machine tool, so the argument is moot. The point correctly made was that Mach will take a decimal number and has no problem with it, at least not that I have encountered. There are errors in the math internaly as evidenced by certain behaviors, but I am not convinced it is the cause of stalling. I doubt this is knowable unless one were privy to the source code and had a LOT of time to study it.

I've been thru a couple of iterations now on setting up a 'universal' 4th axis.

The epiphany for me was that Mach is essentially a WIP and there are some interesting things it can do that are not documented, or have only recently been published in a somewhat obscure manner. So my assumption was incorrect that if I did not read about it in a  manual, it was not available.

Useful info I gathered was first that an axis can be zeroed anywhere in the G-code.

Using that function, you can make any axis act 'incrementally' independent of the others, in effect.

The next magic trick was that machine coord can be set to zero at any point via VB.

That eliminates the accumulation of mach coord until some overflow . . which would be at some rediculously high number anyway, but . . . )

The final piece of the puzzle was that any axis can be re-homed again via VB.

That function makes the swap axis solution viable, which would otherwise be completely unworkable (for my purpose).

As I mentioned, you can't just sit and RTFM to get your answers . It requires some digging and asking questions. But ultimately I *think* I have evolved a solution for my needs . .  AKA workaround. Hopefully you will also.

#### MechanoMan

• 120
##### Re: Stepper motor as spindle
« Reply #31 on: May 17, 2009, 03:59:55 PM »
I recently went back to RTFM on this.

10.1.6 Says "Feedrate" for rotational axeswithout XYZ moves becomes degrees (or rotations) per minute.
HOWEVER- IF you include any XYZ motion, then the interpretation is completely different.  It tries to become a surface speed based on "Rotational Axis Diameter" setting.

6.2.12 Shows how you set rotational axis.  It looks fairly useless the way it's implemented, unfortunately.  It's a fixed number.  If you have a profile, the number will be screwed up.  It's not included in the System #parameters so you can't change it as you go either.
I will have to check what mine is.  It might have a rotational offset of zero, which could indeed screw up a calculation.

#### MechanoMan

• 120
##### Re: Stepper motor as spindle
« Reply #32 on: May 18, 2009, 02:07:15 AM »
Huh.  TFM appears to be wrong.  Well, that's not to say I know what Mach3's doing, but whatever it is doing, it's not doing what it's supposed to be doing.

I went into Settings and found the A-axis "diameter" was indeed 0.00in.  Hmm.  So how could it in any way calculate feedrate for any rotational movement combined with XYZ motion as per 10.1.6?  Good question right there.  Maybe it reverts to "feedrate" meaning RPM like it means when you're doing A-moves for an axis and integrates it with XYZ speed... how?  Checked in General Config, yes it does have "A-axis is Angular" checked.

Well, next experiment was to change the A-axis diameter to 2.5in, which is close to what a lot of the workpiece will be.  OK, but how do we even know what effect that had?  There is no way to get Mach3 to read out what it chose for an A-rotation-rate.  It gives a Feedrate but since it's unclear what that is even supposed to mean then that's useless.  Well, since this code is like 90% rotational milling, my best shot was to go to ToolPath and Simulate Program Run to see how long the code takes.

And... it takes the exact same amount of time.  Hmm, well maybe that's not strange, since the code normally provides a very large Feedrate (6000) in its rotational moves with the idea that the Motor Tuning on the A-axis would limit it to a fixed RPM.  So, let's give it an absurdly large 1000 in diameter!  That would mean 6000ipm surface speed would limit it 1.829 rpm.

But, it had NO effect.  Again, exact same 3:31 runtime.  So it's not using the A-diameter field at all (and the whole A-diameter concept was wrong from the start anyways!) I officially have no idea what Mach3 thinks it's using for a Feedrate for a rotational axis.  It's not what's in the manual, that's for sure.