Hello everyone,

I'm new to CNC and stepper motor world and I would like to see if I have understood correctly the concept of microstepping and pulse per revolution.

If a stepper motor has a step angle of 1.8 degrees it will take 360 degree/1.8 degree = 200 steps to make a full revolution (360 degrees rotation).
Now we say that 200 step per revolution is the variable SPR (step per revolution).

The microstepping driver has the following table for the pulse per rev settings (those that you select with the switches) and one pulse is a microstep, a subdivision of a full step.

We call "pulse per revolution" as PPR which is equal to microstep per revolution; we also call "microstep for each step" as MfeS.

( Mfes = PPR / SPR )

PPR MfeS
-------------------

Default(200) 1
800 4
1000 5
1600 8
2000 10
3200 16
4000 20
5000 25
6400 32
8000 40
12800 64
20000 100
25600 128
40000 200
51200 256


My driver has a max frequency (the pulse it can generate in a second) of 200KHz. Now we say that 200000 pulse for each second is the variable PPS and we notice that each pulse is a microstep.
We call "revolution per second" as RPS (RPS = PPS / PPR).

So we have the following table:

PPR RPS RPM
--------------------------

Default(200) 1000 60000
800 250 15000
1000 200 12000
1600 125 7500
2000 100 6000
3200 62.5 3750
4000 50 3000
5000 40 2400
6400 31.25 1875
8000 25 1500
12800 15.625 937.5
20000 10 600
25600 7.8125 468.75
40000 5 300
51200 3.90625 234.375

These calculations are done without considering any error, anything is totally ideal.

Now my questions are:

1) Is this all correct?

2) In practice I've noticed that even with PPR set to 200 I'm nowhere near reaching 60000 RPM. Is the driver that actually limits the maximum frequency when I select a low PPR value to avoid mechanical issues or is the Software (MACH3 for example) that limits the maximum frequency?

2Bis) Always with PPR set to 200 my motor should make 1 step (1.8 degree of rotation) for each 1/200000 of a second to keep up with the pulse generation frequency. Is this even possible? If not how do I calculate the actual maximum steps per second that the motor can do?

3) When I set a feed rate in Mach3 the software is actually setting the correct frequency to reach those RPM that give the mm per minute required?

4) I have read that torque change based on the PPR that I set but my datasheet only give the torque curve for 200 PPR. Is there a way to calculate (via matlab or something similar) the torque curve for each PPR setting? If I ask to the manufacturer to give me this torque curves is likely thai I will respond (manufacturer is STEPPERONLINE)?


Thanks.

P.S. Sorry for parsing I don't know why but any multiple space is automatically converted in a single space.