Calculating the best gear ratio from motors to an axis:
Linear encoders always give the number pulses rated, for example a 1 µ scale gives one quadrature pulse every one micron. Rotary encoders are normally rated on the number of mechanical pulses per revolution. Since there are four edges for each mechanical pulse this gives four times the number of mechanical pulses per revolution. Digital systems are always plus or minus one pulse, if you think about it, if the motor moves very slightly the controller has no means of detecting the movement until another encoder pulse is received. For this reason the very best accuracy will be plus or -1 encoder count.
In order to work to an accuracy of .1 mm for example, it is necessary to have an absolute minimum of 100 pulses per millimetre, however this does not allow for any inaccuracy in positioning due to the plus or -1 encoder count limit. Therefore generally it is wise to adopt a ratio of pulses greater than the required accuracy. Some motors such as brushless tend to move around the central point more than others (this can be seen as a little bit of oscillation and can often be heard) where there is slight instability it is a good idea to try to determine the number of encoder counts of error and use this as the multiplication factor when choosing an appropriate gear ratio/encoder resolution. For example if we assume that a brushless servo motor oscillates around plus or -4 encoder counts then it would be wise to ensure that there is a minimum of 400 pulses per millimetre in order to ensure that the accuracy remains within tolerance.
A good way of ensuring precision is to ensure that the loading on the motors is as light as possible thereby increasing the number of revolutions made by the motor per millimetre. Lighter loads on servos tend to produce better results, this is not true in all cases. In general it is better to run the servo motor at a higher speed and lower torque rather than a low speed and high torque. This is because of the way servomotors work, in order to have movement there has to be a position error. The basic part of the control loop takes the position error and multiplies this by the gain setting. Therefore when there is no error there is no output. In order to ensure that a static load is dealt with correctly an integral is included within the control loop, this integral grows to provide an output without an error. Where the motor is required to provide high torque it is fairly obvious that a large integral is required. The integral normally has to grow relatively slowly, or it can cause instability in the control loop.
Calculating the correct gear ratio:
When calculating the correct gear ratio, it is necessary to ensure that safety is given priority. One of the most important things is to ensure is that leadscrews are not run beyond their Max rpm since this can cause whip, noise, high friction and lead to safety issues. Consult the manufacturers specification for the leadscrew being used, this figure should be used as an absolute maximum in any calculations and should never be exceeded. In a small machine required to move at a maximum speed of 15 metres per minute, with a 10 millimetre pitch and a motor speed of 5000 revolutions per minute the optimum gear ratio will be:
Note: depending upon the bearings supporting the lead screw the speed range is between 1700 to 700 rpm.
Assuming there are thrust bearings at both end of the ballscrew 1500 rpm is ok. It is never a good idea to run the motor absolute maximum speed, and therefore it is best to allow a safety margin such as 10%. Therefore for our calculations we will conclude that the motor is capable of 4500 rpm.
15000 /10 = 1500 rpm
Gear ratio = motor speed divided by ball screw speed
4500 / 1500 = 3:1
Calculating the number of encoder pulses per 1 millimetre
The number of pulses per millimetre is given by (1 / lead) * (ppr *4 * ratio)
PPR = pulses per revolution
Lead = distance moved by 1 turn of the screw
Ratio = the gear ratio
10mm lead ballscrew with a 1000 pulses per revolution encoder and gear ratio 3:1
(1 / 10) * (1000 *4 * 3)
= 0.1 * 12000 = 1200 pulses per mm
This would give a stable reading to 0.01 mm but 0.001 would not be recommended, to resolve to 0.001 a 2500 PPR encoder would be advised