Difference between revisions of "Gear Scale"

From Wiki
(Added note on factor 4 for non-stepper)
(Changed the explanation to include linear axes)
 
(One intermediate revision 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 scale for robot and [[External Axis|external joints]].
+
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]]).
+
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 =
  
You will need the number of encoder ticks (usually 500 per full rotation) and the gear ratio from motor to joint or linear axis. The following equation will give you the result in ticks per degree. The factor 4 may not be needed for non-stepper axes, like the BLDC ReBeL axes.
+
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 : 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 28: 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 09: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.

  1. Use the gear scale of a similar axis (warning, if the value is too far off the axis might move faster than expected!)
  2. Jog the joint manually by a certain distance. Measure the actual distance (in degree or mm) and note the displayed distance.
  3. Calculate the new gear scale:
old Gear scale / displayed distance x actual distance = new Gear Scale