Hi, I have a large CNC router 8X by 5Y by 3.5Z feet.
It has LARGE Baldor servo motors:
I'm driving them with Gecko G320X servo drivers at 80Vdc.
The Geckos are fed pulses via a SmoothStepper (Ethernet Version)
And the SmoothStepper is being fed from MACH3.
MACH3=>eSmoothStepper=>G320x=>Baldors
I'm a bit confused by the various users of the "encoder" information. On the one hand there's the setting in MACH3 (Motor Tuning) that requests "Pulses per Revolution". On the other hand there's the G320x that the actual encoders are actually connected to.
I've set up everything and when I run MACH3 the XYZ axis's all run but they move a fraction of the distance expected which got me wondering about the following.
If you read and follow the Gecko manual you see it stating I need:
Working these numbers we getTo determine the optimal encoder line count, please follow the instructions below.
1.) Determine the motor’s no load RPM
2.) Calculate rated RPM as 80% of no load RPM
3.) Divide (#2) by 60 to get revolutions per second
4.) Determine the CNC program’s maximum step pulse frequency (in Hz)
5.) Divide (#4) by (#3), which will give you the maximum counts per revolution
6.) Divide (#5) by 4, which will give you the max line count
7.) Pick the first standard line count below (#6)
1 - (From the motor plate) 4000RPM
2 - 80% of 4000RPM = 3200RPM
3 - 3,200RPM / 60sec/Minute = 53.3RPS
4 - I'm sort of guessing 25kHz as MACH3 max step pulse freq
5 - 25,000 / 53.3RPS = 469 max counts per revolution
6 - 469CPR / 4 = 117.25 max line count
7 - First standard line count below 117.25. (Likely 100)
The maximum speed of the loaded motor is 53.3RPS. I get this.
I get that if MACH3 can only cough up 25k pulses per second then (in time) only 469 pulses can be delivered in a single high speed revolution of one of these motors.
I DO NOT get why I'm dividing this by "4": to arrive at a line count.
I'm also unclear as to why we want encoders that break up a motor revolution into ~100 sub-angles when ~1000 sub angles would be an order of magnitude more accurate.
These servo motors have 1000 line encoders I'm loath to pitch because of the above math. Is there anything I can do to keep these 1000L encoders? Is this where the G320X MUL switches come in? Do they divide my 1000L/rev by 1/2/5/10? If so do I need to use the '/10' to manufacture 100L: output as dictated by -7- above?
If I need to divide down my encoder pulses why is Gecko calling this "Multiplier"? (Paint me confused.)
How do the encoder pulses, multiplied or not, at the Gecko relate to the Pulses per Revolution set in MACH 3/ Motor Tuning?
What is MACH 3 sending to the SmoothStepper? Is it sending pulses or G-CODE moves? If G-CODE moves what's the real pulses per second the SmoothStepper is spewing at the Geckos?
Messing with the MACH3 PPR setting definitely messes with how the router moves so somehow MACH3 has to inform the SmoothStepper as to PPR. Does MACH3 send an initial setup message that SmoothStepper then uses to calculate the pulses per revolution to the Geckos?
Any help with sorting the logic out would sure help.