Difference between revisions of "Gear Scale"
m |
(Changed the explanation to include linear axes) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | The gear scale parameter is used for converting between physical positions (in mm or degree) to motor steps. This article explains how to calculate the gear | + | The gear scale parameter is used for converting between physical positions (in mm or degree) to motor steps (or encoder ticks). This article explains how to calculate the value depending on the axis type. |
+ | |||
+ | The gear scales of robot axes are defined in the [[Robot Configuration File]], the gear scales of external axes are defined in the [[Project Configuration File]] ([[External Axis|configured via the CPRog/iRC PC application]]). If you know a robot type that got the same axis you are using you can copy the value from there. | ||
= Calculating from hardware specification = | = Calculating from hardware specification = | ||
− | + | The following are the general equations for rotational and linear axes. Note the factor 4 which is necessary for stepper motors but may not be needed for other motor types like BLDC (e.g. ReBeL). | |
<syntaxhighlight> | <syntaxhighlight> | ||
− | Gear Ratio x Encoder Ticks x 4 : 360 = Gear Scale | + | Gear Ratio x Encoder Ticks x 4 : 360 = Gear Scale |
− | Gear Ratio x Encoder Ticks x 4 = Gear Scale | + | Gear Ratio x Encoder Ticks x 4 : Linear Transmission Ratio = Gear Scale |
</syntaxhighlight> | </syntaxhighlight> | ||
− | An example: | + | Explanation: Encoder Ticks x 4 gives the steps per full rotation of the motor. Encoder Ticks should be 500 for all igus stepper motors. Multiplied with the gear ratio you get the steps for a full rotation at the gear output. Divide that by 360° to get to steps per degree at the output. |
+ | |||
+ | If you are not using gears set the gear ratio to 1 (this is the case for most linear axes). If you are calculating a linear axis use the linear transmission ratio (in mm per revolution) instead of 360 to get steps per mm. | ||
+ | |||
+ | An example for a rotational axis: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
Gear Ratio: 48 | Gear Ratio: 48 | ||
Encoder Ticks: 500 | Encoder Ticks: 500 | ||
48 x 500 x 4 : 360 = 266.667 | 48 x 500 x 4 : 360 = 266.667 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Another example for a ZLW-1660 linear axis. | ||
+ | Find the transmission ratio [https://www.igus.com/info/drive-technology-drylin-zlw-1660-ca in the specs]: 120 mm/rev | ||
+ | <syntaxhighlight> | ||
+ | Gear Ratio: 1 | ||
+ | Encoder Ticks: 500 | ||
+ | 1 x 500 x 4 : 120 = 16.667 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 27: | Line 41: | ||
old Gear scale / displayed distance x actual distance = new Gear Scale | old Gear scale / displayed distance x actual distance = new Gear Scale | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[Category:CPRog]] | + | [[Category:Configuration]][[Category:CPRog]] |
Latest revision as of 08:55, 14 June 2023
The gear scale parameter is used for converting between physical positions (in mm or degree) to motor steps (or encoder ticks). This article explains how to calculate the value depending on the axis type.
The gear scales of robot axes are defined in the Robot Configuration File, the gear scales of external axes are defined in the Project Configuration File (configured via the CPRog/iRC PC application). If you know a robot type that got the same axis you are using you can copy the value from there.
Calculating from hardware specification
The following are the general equations for rotational and linear axes. Note the factor 4 which is necessary for stepper motors but may not be needed for other motor types like BLDC (e.g. ReBeL).
Gear Ratio x Encoder Ticks x 4 : 360 = Gear Scale
Gear Ratio x Encoder Ticks x 4 : Linear Transmission Ratio = Gear Scale
Explanation: Encoder Ticks x 4 gives the steps per full rotation of the motor. Encoder Ticks should be 500 for all igus stepper motors. Multiplied with the gear ratio you get the steps for a full rotation at the gear output. Divide that by 360° to get to steps per degree at the output.
If you are not using gears set the gear ratio to 1 (this is the case for most linear axes). If you are calculating a linear axis use the linear transmission ratio (in mm per revolution) instead of 360 to get steps per mm.
An example for a rotational axis:
Gear Ratio: 48
Encoder Ticks: 500
48 x 500 x 4 : 360 = 266.667
Another example for a ZLW-1660 linear axis. Find the transmission ratio in the specs: 120 mm/rev
Gear Ratio: 1
Encoder Ticks: 500
1 x 500 x 4 : 120 = 16.667
Calculating from relative error
If you do not know the hardware specification you can try to measure the error of a gear scale value, then calculate the correct one from it using cross-multiplication.
- Use the gear scale of a similar axis (warning, if the value is too far off the axis might move faster than expected!)
- Jog the joint manually by a certain distance. Measure the actual distance (in degree or mm) and note the displayed distance.
- Calculate the new gear scale:
old Gear scale / displayed distance x actual distance = new Gear Scale