T-Series/Commands/Set Hold Current/General
Warning: This is an "include" page. As such, its contents may be included in multiple other pages. To see a list of all pages that include this page, click on "What links here" in the bottom left navbar. If you make changes to this page, be sure that your changes are appropriate to all pages on which this content will be included. You are also encouraged to review our Zaber Wiki Editing Guidelines. This header will not be included in other pages.
| Instruction Name | Set Hold Current |
|---|---|
| Applies to | All motorized devices |
| Firmware Version | 5.00 and up |
| Command Number | 39 |
| Command Type | Setting |
| Command Data | Value |
| Reply Data | Value |
| Safe to retry? | Yes |
| Returns Current Position? | No |
| Persistence | Non-Volatile |
| Summary | Sets the desired current to be used when the device is holding its position. |
It is typical to run stepper motors at their rated current when they are moving (run current) and reduce the current when idle to hold the position (hold current). When a device stops moving, it switches from using the run current to the hold current 0.1 seconds later. This setting specifies the maximum hold current that may be used on each motor phase. If the motor position is between full steps, each phase will use some fraction of the current specified by this setting. Typically the hold current can be set to around 25 - 50% of the running current. In some applications, the friction of the drive system alone is sufficient to hold the microstep position of the motor, and the hold current can be turned off completely. The hold current can be turned off by issuing the "Set Hold Current" instruction with data of 0.
Zaber devices use two different techniques for controlling current: proportional and fractional. The easiest way to tell is to look at the device's power jack: a three-prong rectangular jack means that it uses the proportional technique, and a round jack means that it uses the fractional technique. Each section below lists the devices that use the technique and describes how the current is controlled. If you really want to be certain which technique is used, you can send the command with data value 1. If 1 returns an error, then the device is using the fractional technique. If 1 returns success, then the device is using the proportional technique.
Proportional: This technique is used by T-LSQ, T-LST, T-MCA, as well as A-series and X-Series motorized devices.
The value of the hold current setting is in 20 mA DC increments. As an example, to convert a desired hold current of 800 mA DC into a data value for this setting:
- data value = 800 mA DC ÷ 20 mA DC/data = 40
To determine the actual current given the data value 40:
- current = 40 × 20 mA DC/data = 800 mA DC
Fractional: This technique is used by all T-series motorized devices, with the exception of T-LSQ, T-LST, T-MCA.
The current is related to the data by the formula:
- Current = CurrentCapacity * 10 / CommandData
The range of accepted values is 0 (no current), 10 (max) - 127 (min). CurrentCapacity is the hardware's maximum capability of output current.
To prevent damage, some devices limit the maximum output current to a lower value. In that case the valid range is 0, Limit - 127. Current limits are listed under the device specifications.
Some devices limit the voltage rather than the current. In this case the same formula can be used by replacing Current and CurrentCapacity with Voltage and PowerSupplyVoltage.
For example, Suppose you connect a stepper motor rated for 420mA per phase to a T-CD2500. Reversing the equation above and using 420mA as Current gives:
CommandData
- = 10 * CurrentCapacity / Current
- = 10 * 2500mA / 420mA
- = 59.5 (round to 60)
Therefore CommandData = 60.