Manuals/T-LS

From ZaberWiki

Jump to: navigation, search
T-LS Linear stages (ball bearing)


T-LS Linear stages (ball bearing)
T-LS Linear stages (ball bearing)

Contents



[edit] Disclaimer

Zaber’s devices are not intended for use in any critical medical, aviation, or military applications or situations where a product's malfunction or failure could cause personal injury, death, or damage to equipment. Zaber disclaims any and all liability for injury or other damages resulting from the use of our products.

[edit] Precautions

Zaber’s motion control devices are precision instruments and must be handled with care. In particular, leadscrews must be treated with care. Axial loads in excess of the stall load, axial and radial impact, dust and other contaminants and damage to the leadscrew thread will reduce the performance of the device below stated specifications. Performance depends very much on the condition of the leadscrew. This protects the leadscrew from the environment. The leadscrew may be cleaned periodically for best results. To clean the screw, first use methanol to dissolve old grease and contaminants. There are plastic components that may be damaged by some strong solvents. A small amount of silicon based grease should be applied to reduce friction, backlash and sticktion. For vacuum applications we recommend NyeTorr 5300 silicon based vacuum grease available from http://www.nyelubricants.com.

[edit] Special Note

T-LS linear stages contain a spring which applies a light load against the leadscrew. Typically these stages are used in a horizontal orientation, and the only force experienced by the leadscrew is the spring force, which serves to keep the load on the leadscrew always in the same direction, thus reducing backlash. If used in a vertical orientation, the spring is not needed to reduce backlash since the load (the weight of the stage and whatever may be mounted to it) is always in the same direction by default. In fact, if the load is greater than the minimum spring force and less than the maximum spring force, the existence of the spring will actually introduce backlash since there will be a point in the stage travel where the load on the leadscrew changes direction. Therefore, when using T-LS stages in a vertical orientation, we recommend removing the spring from the stage. This can be done relatively easily using a small hook fashioned from a paperclip to slip the spring off its mounting posts and slide it out of the stage. It may help to fully extend the stage prior to spring removal.


[edit] Initial Setup and Testing

If you are unfamiliar with T-series devices, you may wish to perform a few simple steps to familiarize yourself with their operation. First you will need a power supply. If you ordered one with your device you shouldn’t have any problems. If not, you will require a power supply with output voltage between 12 and 16V. The power input accepts a standard 2.1mm center positive connector. Most 12V AC to DC adapters output around 16V under light current draw, dropping to 12V at their rated current. Some may output higher voltages and will not be suitable. The chosen power supply must also be rated to handle the maximum total current draw of all devices connected to it. When powering long chains of devices, we recommend connecting a power supply to at least every 3rd device in the chain to reduce the current through the data cables.

Once you have a working power supply, you can test the operation of your device. Try turning the potentiometer counterclockwise to home the device. When operating manually, you must home the device by retracting it completely every time you disconnect or turn off the power. You will not be able to achieve the maximum travel until you have homed the device. After the device retracts completely it will stop automatically and you can turn the potentiometer clockwise to extend the device. If you have a T-xxxx-S model you cannot control the device manually. Instead you must install the device on a computer and issue a home instruction.

[edit] Installation

[edit] Connection to a Computer

Connect the device to a computer as follows:

1. Plug the Mini-DIN to D-Sub serial adapter into your computer’s serial port and plug the device’s data cable into the adapter. You may need to use a cable extension to reach your computer. There is no need to power-down or reboot the computer. USB-to-RS232 converters are available if you have no RS232 serial port.

2. Connect the power plug of your power supply (2.1mm center positive) to the power connector of the device. If present, the green LED should light indicating the device has power (some devices may not have LEDs).

3. Install a program from the included CD, or download one from the software section of our wiki at http://www.zaber.com/wiki/Software . We recommend installing "Zaber_VB6_Demo_Advanced" to get started. Follow the instructions in the readme file to install and run the program. As a simple first test, try entering these instructions:

Renumber all devices                - Device: 0, Cmd:  2, Data: 0 
Home device 1                       - Device: 1, Cmd:  1, Data: 0
Move device 1 to 10,000 microsteps  - Device: 1, Cmd: 20, Data: 10000

To see the microstep distance for your device, see the specs page for that device on the respective product page .

4. Additional devices can simply be daisy-chained to the first. For long chains, a power supply should be connected at every 2nd or 3rd device. A renumber command needs to be issued after a new device is connected before it can be controlled independently from the demo program.

[edit] Control Through The RS-232 Serial Port

All T-Series devices use the same RS232 communications protocol. Your communications settings must be: 9600 baud, no hand shaking, 8 data bits, no parity, one stop bit. The yellow LED will light when there is activity on the RS232 lines. You may use this feature to determine which COM port you are connected to. We recommend using the sample Visual Basic program included with Zaber products. This program also contains source code that you can use as an example for writing your own custom code.

Important: The first time you connect a device to your computer you must issue a renumber instruction to assign each device a unique identifier you must issue a renumber instruction. This should be done after all the devices in the daisy-chain are powered up. In older firmware versions (prior to version 5xx) you must issue a renumber instruction after each powerup. In firmware 5xx and up, the device number is stored in non-volatile memory and will persist after powerdown, so you need only issue the renumber instruction when you add new devices to the chain, or rearrange the order of the devices, however it does no harm to issue the renumber instruction after every powerup. You must not transmit any instructions while the chain is renumbering or the renumbering routine may be corrupted. Renumbering takes less than a second, after which you may start issuing instructions over the RS232 connection.

All instructions consist of a group of 6 bytes. They must be transmitted with less than 10 ms between each byte. If the device has received less than 6 bytes and then a period longer than 10 ms passes, it ignores the bytes already received. We recommended that your software behave similarly when receiving data from the devices, especially in a noisy environment like a pulsed laser lab.

The following table shows the instruction format:

  • Byte 1 - Device #
  • Byte 2 - Command #
  • Byte 3 - Data - Least Significant Byte (LSB)
  • Byte 4 - Data
  • Byte 5 - Data
  • Byte 6 - Data - Most Significant Byte (MSB)

The first byte is the device number in the daisy-chain. Device number 1 is the closest device to the computer and device number 2 is next and so on. If the number 0 is used, all the devices in the chain will process the accompanying command simultaneously.

The second byte is the command number. Bytes 3, 4, 5, and 6 are data in long integer, 2’s complement format with the least significant byte transmitted first. How the command data are interpreted depends on the command. Complete details are given in the command reference on the following page.

[edit] Examples

  • All devices renumber: 0, 2, 0, 0, 0, 0
  • All devices home: 0, 1, 0, 0, 0, 0
  • All devices return firmware version: 0, 51, 0, 0, 0, 0
  • Device 1 move to an absolute position (command 20) of 257 microsteps: 1, 20, 1, 1, 0, 0
  • Device 2 move to a relative position (command 21) of -1 microstep: 2, 21, 255, 255, 255, 255

If you are using Zaber’s demo software, you will only see 3 entry fields: Device#, Command#, and Data. The Device# and Command# fields accept integer values while the value you enter into the Data field can be signed. The value in the data field is converted by the software to 4 separate bytes and then gets sent to the device.

Most instructions cause the device to reply with a return code. It is also a group of 6 bytes. The first byte is the device #. Byte #2 is the instruction just completed or 255 (0xFF) if an error occurs. Bytes 3, 4, 5 and 6 are data bytes in the same format as the instruction command data.

[edit] Data Conversion Algorithms

If you are writing software to control Zaber products, you'll likely need to generate data bytes 3 through 6 from a single data value, or vise versa. The following pseudo-code can be used as a model.

Converting command data into command bytes to send to Zaber products

If Cmd_Data < 0 then Cmd_Data = 256^4 + Cmd_Data                                                'Handles negative data
Cmd_Byte_6 = Cmd_Data / 256^3
Cmd_Data   = Cmd_Data - 256^3 * Cmd_Byte_6
Cmd_Byte_5 = Cmd_Data / 256^2
Cmd_Data   = Cmd_Data - 256^2 * Cmd_Byte_5
Cmd_Byte_4 = Cmd_Data / 256
Cmd_Data   = Cmd_Data - 256   * Cmd_Byte_4
Cmd_Byte 3 = Cmd_Data

Converting reply bytes into a single reply data value

Reply_Data = 256^3 * Rpl_Byte 6 + 256^2 * Rpl_Byte_5 + 256 * Rpl_Byte_4 + Rpl_Byte_3
If Rpl_Byte_6 > 127 then Reply_Data = Reply_Data - 256^4                                        'Handles negative data

[edit] Sample Waveforms

If you are designing hardware to interface with Zaber products it may be useful to see some sample waveforms.

This image shows an instruction (top waveform) and a reply (bottom waveform).
This is a closeup of the instruction bytes. Note that the voltage swing of the instruction waveform is about +/-10V. This is typical of the USB to RS232 converter to which the device is connected. The instruction bytes are 0, 51, 0, 0, 0, 0 indicating the instruction: Device: All, Command: Return version, Data: 0.
This is a closeup of the instruction byte 2. The "S" on either end represents the start and stop bits respectively. The start bit is always positive and the stop bit is always negative. The bit sequence is Start, 0, 1, 2, 3, 4, 5, 6, 7, Stop. The data is output with the least significant bit first, so the byte shown is actually 00110011 in binary or 32+16+2+1 = 51 in decimal.

It's a good idea to do a timing "reality check" whenever viewing a waveform such as this. The bit rate should be 9600 bits/second. The time scale in the image is 200 us/division. Since a byte consists of 10 bits (start, stop, plus 8 data bits) and the bit rate is 9600 bits/s, the duration of a single byte should be 1.04 ms (10/9600 seconds) or about 5.2 divisions at 200 us/division. It can be seen in the image that this is the case.

This is a closeup of the reply bytes. Note that the voltage swing of the reply waveform is about +/-8V. This is a typical output from the RS232 driver chip used in Zaber devices. The instruction was to all devices. Only a single device is present so there is only one reply. The reply is 1, 51, 252, 1, 0, 0 indicating the reply "Device: 1, Reply: Firmware version, Data: 508". The data is the last 4 bytes combined, with least significant byte first. In this case the data is 0*256^3 + 0*256^2 + 1*256 + 252 = 508. This indicates a firmware version of 5.08 since according to the instruction specification a decimal is assumed before the last two digits.

The time scale in this image is 1 ms/division. As noted above, at a bit rate of 9600 bits/second each byte should take 1.04 ms. Therefore a 6 byte reply should take 6.24 ms. It can be seen in the image that this is the case.


[edit] Quick Command Reference

The following table offers a quick command reference for motorized devices running firmware version 5xx. For convenience, you may sort the table below by instruction name, command number, or reply number. Follow the links to view a detailed description of each instruction.

Instruction Name Command# Command Data Command Type Reply Data
Reset 0 Ignored Command None
Home 1 Ignored Command Final position (in this case 0)
Renumber* 2 Ignored Command Device Id
Constant Speed Tracking 8 n/a Reply Tracking Position
Limit Active 9 n/a Reply Final Position
Manual Move Tracking 10 n/a Reply Tracking Position
Store Current Position* 16 Address Command Address
Return Stored Position 17 Address Command Stored Position
Move To Stored Position 18 Address Command Final Position
Move Absolute 20 Absolute Position Command Final Position
Move Relative 21 Relative Position Command Final Position
Move At Constant Speed 22 Speed Command Speed
Stop 23 Ignored Command Final Position
Read Or Write Memory* 35 Data Command Data
Restore Settings* 36 Peripheral Id Command Peripheral Id
Set Microstep Resolution* 37 Microsteps Setting Microsteps
Set Running Current* 38 Value Setting Value
Set Hold Current* 39 Value Setting Value
Set Device Mode* 40 Mode Setting Mode
Set Target Speed* 42 Speed Setting Speed
Set Acceleration* 43 Acceleration Setting Acceleration
Set Maximum Range* 44 Range Setting Range
Set Current Position 45 New Position Setting New Position
Set Maximum Relative Move* 46 Range Setting Range
Set Home Offset* 47 Offset Setting Offset
Set Alias Number* 48 Alias Number Setting Alias Number
Lock Settings* 49 Lock Status Command Lock Status
Return Device Id 50 Ignored Read-Only Setting Device Id
Return Firmware Version 51 Ignored Read-Only Setting Version
Return Power Supply Voltage 52 Ignored Read-Only Setting Voltage
Return Setting 53 Setting Number Command Setting Value
Return Status 54 Ignored Read-Only Setting Status
Echo Data 55 Data Command Data
Return Current Position 60 Ignored Read-Only Setting Position
Error 255 n/a Reply Error Code

* The settings for these commands are saved in non-volatile memory, i.e. the setting persists even if the device is powered down. To restore all settings to factory default, use command 36.

[edit] Detailed Command Reference

The version of firmware installed on any Zaber T-Series device can be determined by issuing command #51. A three-digit number will be returned. Assume 2 decimal places (ex a reply of 293 indicates firmware version 2.93). This command reference applies only to firmware version 5.00 and up (the most recent version). For earlier versions of firmware, please consult the appropriate PDF user's manual:

T-Series Manual 2xx (PDF)
T-Series Manual 4xx (PDF)

Due to the addition of new features, newer versions of firmware may not be 100% backward compatible. You may wish to read the document Firmware History and Migration which outlines the changes that have taken place from one firmware version to the next and indicates what options are available if you wish to upgrade or downgrade the firmware on your devices.


[edit] Reset - Cmd 0

Instruction Name Reset
Firmware Version 5.00 and up
Command Number 0
Command Type Command
Command Data Ignored
Reply Data None
Persistence n/a
Summary Sets the device to its power-up condition.

This sets the device to its power-up condition. It has the same effect as unplugging and restarting the device.

[edit] Special Note

The position stored in the device prior to this command will be lost, so you must save it and reload it if it is important. All non-volatile settings (i.e. Device Number, Target Velocity, etc.) are saved and are not affected by reset or power-down.


[edit] Home - Cmd 1

Instruction Name Home
Firmware Version 5.00 and up
Command Number 1
Command Type Command
Command Data Ignored
Reply Data Final Position
Persistence n/a
Summary Causes a motion control device to back up to the home position and reset its internal position to 0.

Upon receiving this instruction, a motion control device will retract until its internal home sensor triggers. It will then move forward several steps to avoid accidentally re-triggering the home sensor during use. If a home offset has been specified with the Set Home Offset (command #47) instruction, the device will extend the additional distance specified. It will then stop and reset its internal position register, effectively setting the final position to 0.


[edit] Renumber - Cmd 2

Instruction Name Renumber
Firmware Version 5.00 and up
Command Number 2
Command Type Command
Command Data New Number
Reply Data Device Id
Persistence Non-Volatile
Summary Assigns new numbers to all the devices in the order in which they are connected.

If sent to device number 0, the command data is ignored and all devices will renumber. The device closest to the computer becomes device number 1. The next device becomes number 2 and so forth. If sent to a device number other than 0, then specified device will reassign itself the device number in the command data. Renumbering takes about 1/2 a second during which time the computer must not send any further data. The device number is stored in non-volatile memory so you can renumber once and not worry about issuing the renumber instruction again after each power-up.


[edit] Store Current Position - Cmd 16

Instruction Name Store Current Position
Firmware Version 5.04 and up
Command Number 16
Command Type Command
Command Data Address
Reply Data Address
Persistence Non-Volatile
Summary Saves the current absolute position of the device.

The device saves its current absolute position. Valid Address values are 0 through 15 specifying one of 16 possible registers in which to store the position. This command is used in conjunction with the Return Stored Position (Command #17) and Move To Stored Position (Command #18) instructions. The positions stored in the position registers are non-volatile and will persist after power-down or reset. All position registers are cleared by the Restore Settings (Command #36) instruction.


[edit] Return Stored Position - Cmd 17

Instruction Name Return Stored Position
Firmware Version 5.04 and up
Command Number 17
Command Type Command
Command Data Address
Reply Data Stored Position
Persistence Non-Volatile
Summary Returns the position stored in one of the 16 position registers for the device.

The device returns the position stored in one of its 16 position registers (0 thru 15) as indicated by the command data. This command is used in conjunction with the Store Current Position (#16) and Move To Stored Position (#18) commands. Positions stored in the position registers are non-volatile and will persist after power-down or reset. All position registers are cleared by the Restore Factory Settings (#36) command.


[edit] Move To Stored Position - Cmd 18

Instruction Name Move To Stored Position
Firmware Version 5.04 and up
Command Number 18
Command Type Command
Command Data Address
Reply Data Final Position
Persistence n/a
Summary Moves the device to the stored position specified by the Command Data.

The device moves to the position stored in the position register (0 to 15) specified by the Command Data. This command is used in conjunction with the Store Current Position (#16) and Return Stored Position (#17) commands. All move commands are pre-emptive. If a new move command is issued before the previous move command is finished, the device will immediately move to the new position. The target speed and acceleration during a move can be specified using commands 42 and 43 respectively. This command may pre-empt, or be pre-empted by commands 18, 20, 21, 22 and 23.


[edit] Move Absolute - Cmd 20

Instruction Name Move Absolute
Firmware Version 5.00 and up
Command Number 20
Command Type Command
Command Data Absolute Position
Reply Data Final position
Persistence n/a
Summary Moves the device to the position specified in the Command Data.

The device moves to the position specified by the command data (in microsteps). The position must be within the acceptable range for the device or an error code will be returned. All move commands are pre-emptive. If a new move command is issued before the previous move command is finished, the device will immediately move to the new position. The target speed and acceleration during a move absolute instruction can be specified using commands 42 and 43 respectively.

Command may pre-empt, or be pre-empted by commands 18, 20, 21, 22 and 23.


[edit] Move Relative - Cmd 21

Instruction Name Move Relative
Firmware Version 5.00 and up
Command Number 21
Command Type Command
Command Data Relative Position
Reply Data Final Position
Persistence n/a
Summary Moves the device by the positive or negative number of microsteps specified in the Command Data.

The device moves to the position given by its position before the command plus the value in command data. The final position must be within the acceptable range for the device or an error code will be returned. All move commands are pre-emptive. If a move relative command is issued while the device is currently moving due to a previous command, the device will immediately set a new target position equal to the current position (at the instant the command was received) plus the specified relative position. The target speed and acceleration during a move relative instruction can be specified using commands 42 and 43 respectively. The relative move command data (in microsteps) can be negative.

This command may pre-empt, or be pre-empted by commands 18, 20, 21, 22 and 23.


[edit] Move At Constant Speed - Cmd 22

Instruction Name Move At Constant Speed
Firmware Version 5.00 and up
Command Number 22
Command Type Command
Command Data Speed
Reply Data Speed
Persistence n/a
Summary Moves the device at a constant speed based on the value specified in the Command Data.

This instruction specifies a direction and a speed to move, rather than a target position. When this instruction is issued the device will accelerate (at a rate determined by command #43 Set Acceleration) to the speed specified by the instruction data. The device will continue moving at this speed until a limit is reached or a pre-empting instruction is issued. Negative speeds cause retraction while positive speeds cause extension.

To determine the actual speed that will result from a given data value, the following formulas may be used:

Actual Speed
= 9.375*(Command Data) [microsteps/sec] or
= 9.375*(Command Data)/R [steps/sec] or
= 562.5*(Command Data)/(R*S) [revolutions/min]

Where:

  • Command Data is the absolute value of the Constant Speed Move instruction data
  • R (microsteps/step) is the microstep resolution (command 37)
  • S (steps/revolution) is the number of steps per revolution of the motor


For example, if S = 48, R = 64, and the Constant Speed Move instruction is issued with Data of 2922, then the device will move forward at a speed of approximately 535 revolutions per minute. For linear devices consult the section on Device Specific Information to determine the linear distance corresponding to a single step or revolution.

The maximum Data allowable is 512*R. Note that although the maximum data allowable depends on the resolution, the maximum speed possible is independent of the resolution. This can be seen by substituting Data = 512*R into the second formula above, giving a maximum speed (regardless of resolution) of 4800 steps/sec.

The device may be set to return its position continuously during the move using the set mode command (#40) bit 4. Position tracking is a reply-only command #8. If the device runs into zero position or maximum range, the device stops and the new position is returned via reply-only command #9.

This command may pre-empt, or be pre-empted by commands 18, 20, 21, 22 and 23.


[edit] Stop - Cmd 23

Instruction Name Stop
Firmware Version 5.00 and up
Command Number 23
Command Type Command
Command Data Ignored
Reply Data Final Position
Persistence n/a
Summary Stops the device from moving by preempting any move instruction.

This instruction can be used to pre-empt any move instruction. The device will decelerate (at a rate determined by command #43 Set Acceleration) and stop. The reply data is the current absolute position.

This command may pre-empt, or be pre-empted by commands 18, 20, 21, and 22.


[edit] Read Or Write Memory - Cmd 35

Instruction Name Read Or Write Memory
Firmware Version 5.00 and up
Command Number 35
Command Type Command
Command Data Data
Reply Data Data
Persistence Non-Volatile
Summary Reads or writes a byte of non-volatile memory.

This command is used to read or write a byte of non-volatile memory. 128 bytes of memory are available for user data. For example, the user may want to save some custom data such as a serial number, a name string, or data that uniquely identifies a particular device. Data written is not cleared by power down or reset. The most significant bit of byte 3 specifies whether the instruction is a read (0) or a write (1). The least significant 7 bits of byte 3 specify the address to read/write (0 to 127). Byte 4 specifies the value to be written. Bytes 5 and 6 are ignored.

These settings are stored in non-volatile memory and will persist after power-down or reset.


[edit] Restore Settings - Cmd 36

Instruction Name Restore Settings
Firmware Version 5.00 and up
Command Number 36
Command Type Command
Command Data Peripheral Id
Reply Data Peripheral Id
Persistence Non-Volatile
Summary Restores the device settings to the factory defaults.

This command should be issued with a Peripheral Id of 0 to return the device to factory default settings. This instruction is very useful for troubleshooting. If the device does not appear to function properly, it may be because some of the settings have been changed. This instruction will restore the settings to default values. For a table of default settings, see Appendix A. All settings affected by this instruction are stored in non-volatile memory and will persist after power-down or reset.


[edit] Set Microstep Resolution - Cmd 37

Instruction Name Set Microstep Resolution
Firmware Version 5.00 and up
Command Number 37
Command Type Setting
Command Data Microsteps
Reply Data Microsteps
Persistence Non-Volatile
Summary Changes the number of microsteps per step.

This setting changes the number of microsteps per step. Valid data are 1, 2, 4, 8, 16, 32, 64, and 128. The default on most devices is 64. All position data sent to or received from T-Series products is in units of microsteps. Note that when you change the microstep resolution using this command, other position related settings are changed automatically to adjust for the new microstep size. The table below gives an example showing how other settings are affected when the microstep resolution is changed from 128 to 64:

Setting Before After
Target Speed * 2922 1461
Maximum Travel Range * 280000 140000
Current Position 10501 ** 5250 **
Maximum Relative Move * 20000 10000
Home Offset * 1000 500
Acceleration * 100 50

* The setting for these command is saved in non-volatile memory, i.e. the setting persists even if the device is powered down. To restore all non-volatile settings to factory default, use command 36.

** Note that if a number is divided by two, it is rounded down to the nearest whole number. The only exception to this is if acceleration would become 0 (because 0 for acceleration indicates infinite acceleration). If acceleration would become 0, it will instead be set to 1 which is the lowest acceleration possible.


[edit] Set Running Current - Cmd 38

Instruction Name Set Running Current
Firmware Version 5.00 and up
Command Number 38
Command Type Setting
Command Data Value
Reply Data Value
Persistence Non-Volatile
Summary Places a current limit on the device. RunningCurrent = CurrentCapacity*10/CommandData)

The current is related to the data by the formula:

RunningCurrent = CurrentCapacity*10/CommandData)

The Command Data can be either 0 (no current) or 10 (maximum current) through 127 (minimum current). Note that values of 1 through 9 are not accepted. CurrentCapacity is the hardware’s maximum capability of output current. In other words, as a fraction of the maximum current the device is capable of, the running current will be 10/CommandData.

[edit] Special Note

Most devices limit the voltage rather than the current. In this case you can think of the CurrentCapacity as the power supply voltage and the RunningCurrent as the effective voltage being applied to the motor. For example, if a product uses a 5V motor and has a 15V power supply, the running current might be set as follows:

Command Data = 10 * CurrentCapacity / RunningCurrent
             = 10 * 15V / 5V
             = 30

If your application does not require high torque, it is best to decrease the RunningCurrent to reduce power consumption, vibration, and motor heating. Trial and error should suggest an appropriate setting. If higher torque is required, it is generally safe to overdrive motors as long as they are not operated continuously. Motor temperature is typically the best indication of the degree to which overdriving can be employed. If the motor gets too hot to touch (>75°C), you should reduce the running current.


[edit] Set Hold Current - Cmd 39

Instruction Name Set Hold Current
Firmware Version 5.00 and up
Command Number 39
Command Type Setting
Command Data Value
Reply Data Value
Persistence Non-Volatile
Summary Sets the desired current to be used when the device is holding its position. HoldCurrent = CurrentCapacity * 10 / CommandData.

The formula for the hold current works the same way as for running current. It is typical to run stepper motors at their rated current only during moves (for highest torque) and reduce the current when idle just to hold the position.

The range of accepted values is 10 - 127 (and 0). Typically the hold current can be set to around 25 - 50% of the running current. If the running current is set to a value of 24, the hold current may be set to a value of 48 to provide 50% hold. 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.

When the device is moving, it applies running current to the motor. When the device stops moving, running current is applied for an additional 0.1 second before hold current is applied.


[edit] Set Device Mode - Cmd 40

Instruction Name Set Device Mode
Firmware Version 5.04 and up
Command Number 40
Command Type Setting
Command Data Mode
Reply Data Mode
Persistence Non-Volatile
Summary Sets the Mode for the given device.
[edit] Special Note

This command allows setting several options. Each option is controlled by a single bit within the command data. Most software you will encounter, including most of our demo software, represents all 4 data bytes as a single decimal value rather than specifying each bit individually. To determine what decimal value to use requires a basic understanding of how the data is represented in binary. The command data may be considered as a single 32-bit binary value. The least significant bit is bit_0, the next is bit_1, the next is bit_2, and so on up to the most significant bit_31. Each bit may have a value of either 1 or 0.

The corresponding decimal representation of this 32-bit data is given by:

Decimal value  = (bit_0 * 1) + (bit_1 * 2) + … + (bit_n * 2^n) + … + (bit_31 * 2^31)

Each bit controls a single mode option as described in the table below. To determine the data value to use with the Set Device Mode command, simply determine the desired value of each bit (1 or 0), and calculate the decimal value using the above formula. Note that not all 32 bits are currently used. Any unused or reserved bits should be left as 0.

For example, suppose you want all mode bits to be 0 except for bit_3 (disable potentiometer), bit_14 (disable power LED), and bit_15 (disable serial LED). The Set Device Mode instruction should be sent with data calculated as follows:

Command Data  = 2^23 + 2^214 + 2^215
              = 8 + 16384 + 32768
              = 49160

Note that each instance of the Set Device Mode command overwrites ALL previous mode bits. Repeated commands do not have a cumulative effect. For example, suppose you send a Set Device Mode command with data of 8 to disable the potentiometer. If you then send another Set Device Mode command with data of 16384 to disable the power LED, you will re-enabled the potentiometer since bit_3 in the 2nd instruction is 0.

Most devices have a default mode setting of 0 (all bits are 0), however, there are some exceptions. See T-Series/Device Ids and Default Settings for a table of default settings for all devices.

Bit_n 2n Description


bit_0 1 Disable Auto-reply
A value of 1 disables ALL replies except those to “return” commands (commands 50 and higher). The default value is 0 on all devices.
bit_1 2 Enable Anti-backlash Routine
A value of 1 enables anti-backlash. On negative moves (retracting), the device will overshoot the desired position by 640 microsteps (assuming 64 microsteps/step), reverse direction and approach the requested position from below. On positive moves (extending), the device behaves normally. Care must be taken not to crash the moving payload into a fixed object due to the 640 microsteps overshoot on negative moves. The default value is 0 on all devices. See note on anti-backlash and anti-sticktion below. *
bit_2 4 Enable Anti-sticktion Routine
A value of 1 enables the anti-sticktion routine. On moves less than 640 microsteps (assuming 64 microsteps/step), the device will first retract to a position 640 microsteps less than the requested position and approach the requested position from below. Care must be taken not to crash the moving payload into a fixed object due to the 640 microsteps negative move. The default value is 0 on all devices. See section on anti-backlash and anti-sticktion below this table. *
bit_3 8 Disable Potentiometer
A value of 1 disables the potentiometer preventing manual adjustment of the device. The default value is 0 on all devices.
bit_4 16 Enable Constant Speed Position Tracking
A value of 1 enables position tracking during constant speed commands. The device will return its position periodically when a constant speed command is executed. The Disable Auto-Reply option above takes precedence over this option. The default value is 0 on all devices.
bit_5 32 Disable Manual Position Tracking
A value of 1 disables automatic position replies during manual moves. The Disable Auto-Reply option above takes precedence over this option. The default value is 0 on all devices.
bit_6 64 Enable Message Ids
A value of 1 enables Message Ids. In this mode of communication, only bytes 3 through 5 are used for data. Byte 6 is used as an Id byte that the user can set to any value they wish. It will be returned unchanged in the reply. Message Ids allow the users application to monitor communication packets individually to implement error detection and recovery. The default value is 0 on all devices. Prior to firmware version 5.06, this feature was called "Virtual Channels Mode" and did not behave reliably. We do not recommend enabling this mode of communications unless you have firmware version 5.06 or later.
bit_7 128 Home Status
This bit is set to 0 automatically on power-up or reset. It is set automatically when the device is homed or when the position is set using command #45. It can be used to detect if a device has a valid position reference. It can also be set or cleared by the user.
bit_8 256 Disable Auto-Home
A value of 1 disables auto-home checking. Checking for trigger of home sensor is only done when home command is issued. This allows rotational devices to move multiple revolutions without re-triggering the home sensor.
bit_9 512 Reverse Potentiometer
A value of 1 reverses the direction of the travel when the potentiometer is used to control the device. This mode bit was introduced in firmware version 5.06. Prior to that it was not used.
bit_10 1,024 Reserved
bit_11 2,048 Enable Circular Phase Microstepping
Square phase microstepping is employed by default. A value of 1 enables circular phase microstepping mode. The differences are:

Circular Phase:

  • constant torque
  • smoothest operation
  • better microstep accuracy
  • only 70% torque (and lower power consumption)

Square Phase:

  • non constant torque
  • less smooth operation
  • poorer microstep accuracy
  • 100% torque achieved (and higher power consumption)
bit_12 4,096 Reserved
bit_13 8,192 Reserved
bit_14 1,6384 Disable Power LED
A value of 1 turns off the green power LED. It will still blink briefly, immediately after powerup.
bit_15 32,768 Disable Serial LED
A value of 1 turns off the yellow serial LED.

*Anti-backlash and Anti-sticktion routines are designed to compensate for backlash and sticktion. The solution to backlash is to always approach a position from the same direction. The solution to sticktion is to move the device far enough away from the final position to break free of sticktion before attempting the final move. The operation of the two features are dependent on each other, and the interaction of enabling one or both of the features is described in the diagram to the right.


Anti-sticktion Diagram
Anti-sticktion Diagram


For each setting scenario, the starting position is denoted by the solid vertical line and the final position is denoted by the dotted vertical line. There are four possible moves for each scenario: long move positive, long move negative, short move positive and short move negative. The arrows show the path that would be traversed for each scenario.


[edit] Set Target Speed - Cmd 42

Instruction Name Set Target Speed
Firmware Version 5.00 and up
Command Number 42
Command Type Setting
Command Data Speed
Reply Data Speed
Persistence Non-Volatile
Summary Sets the speed at which the device moves when using the "Move Absolute" or "Move Relative" commands.

When a move absolute or move relative instruction is issued, the device will accelerate at a rate determined by the acceleration setting up to a maximum speed determined by this command, “Set Target Speed". To determine the actual speed that will result from a given data value, the following formulas may be used:

Actual Speed = 9.375*Data [microsteps/sec] or  
             = 9.375*Data/R [steps/sec] or           
             = 562.5*Data/(R x S) [revolutions/min]             

Where:

  • "Command Data" is the absolute value of the Constant Speed Move Command Data
  • R (microsteps/step) is the microstep resolution (command 37)
  • S (steps/revolution) is the number of steps per revolution of the motor


For example, if S = 48, R = 64, and the Constant Speed Move instruction is issued with Data of 2922, then the device will move forward at a speed of approximately 535 revolutions per minute. For linear devices consult the section on Device Specific Information to determine the linear distance corresponding to a single step or revolution.

The maximum Data allowable is 512*R. Note that although the maximum data allowable depends on the resolution, the maximum speed possible is independent of the resolution. This can be seen by substituting Data = 512*R into the second formula above, giving a maximum speed (regardless of resolution) of 4800 steps/sec.

The target velocity may be changed on-the-fly even when the device is in the middle of a move. The device will automatically adjust the velocity, but still target the final position specified in the original move.


[edit] Set Acceleration - Cmd 43

Instruction Name Set Acceleration
Firmware Version 5.00 and up
Command Number 43
Command Type Setting
Command Data Acceleration
Reply Data Acceleration
Persistence Non-Volatile
Summary Sets the acceleration used by the "Absolute Move" and "Relative Move" commands.

When a move absolute or move relative instruction is issued, the device will accelerate at a rate determined by this command “Set Acceleration” up to a maximum speed determined by the target velocity. To determine the acceleration that will result from a given data value, the following formulas may be used:

Actual Acceleration   =  11250*(Command Data)   [microsteps/sec^2]  
                      =  11250*(CommandData/R)  [steps/sec^2]

Where:

  • "Command Data" is the value specified in the Command Data by the user
  • R is the microstep resolution set in command #37(microsteps/step)


The maximum value allowable is 512*R. This is the same as the maximum allowable data for velocity, which means that the device will reach maximum velocity immediately. If acceleration is set to 0, it is as if acceleration is set to 512*R. Effectively acceleration is turned off and the device will start moving at the target speed immediately.

The acceleration may be changed on-the-fly even when the device is in the middle of a move. The device will still target the final position specified in the original move.


[edit] Set Maximum Range - Cmd 44

Instruction Name Set Maximum Range
Firmware Version 5.00 and up
Command Number 44
Command Type Setting
Command Data Range
Reply Data Range
Persistence Non-Volatile
Summary Sets a limit on the range of travel up to 16777216.

Use this command to limit the range of travel to a value other than the default. Exercise caution since using this command it is possible to set the range to a value greater than the physical limits of the device. The maximum range you can set is 16777216 microsteps.

This setting is stored in non-volatile memory and will persist after power-down or reset.


[edit] Set Current Position - Cmd 45

Instruction Name Set Current Position
Firmware Version 5.00 and up
Command Number 45
Command Type Setting
Command Data New Position
Reply Data New Position
Persistence Volatile
Summary Sets the the internal register that holds the position to the value specified in the command data.

The internal register that holds the position is set to the value given by the command data. The phase of the stepper motor is controlled by the least significant byte of the position, thus the device may move by +/- 2 full steps unless the new position corresponds to the true current position of the device. This command is useful if you want to turn off the system without losing position. Simply save the position in the controlling computer before powering down. After powering up, set the position back to the saved value. In this way you can continue without having to home the device.

The position data is volatile and will not persist after power-down or reset.


[edit] Set Maximum Relative Move - Cmd 46

Instruction Name Set Maximum Relative Move
Firmware Version 5.00 and up
Command Number 46
Command Type Setting
Command Data Range
Reply Data Range
Persistence Non-volatile
Summary Sets a limit on the number of microsteps the device can make for a Relative Move command.

Use this command to limit the maximum range of travel for a relative move command. For example, if maximum relative move is set to 1000, and the user requests a relative move (#21) of 800, then the device will move 800 microsteps. However, if the user requests a relative move of 1200, then the device will reply with an error code. Most applications can leave this unchanged from the default.

This setting is stored in non-volatile memory and will persist after power-down or reset.


[edit] Set Home Offset - Cmd 47

Instruction Name Set Home Offset
Firmware Version 5.00 and up
Command Number 47
Command Type Setting
Command Data Offset
Reply Data Offset
Persistence Non-Volatile
Summary Sets the the new "Home" position which can then be used when the Home command is issued.

When the home command is issued, the device will retract until the home sensor is triggered, then move forward until the home sensor is no longer triggered, then move forward by the Home Offset value (in microsteps) and call this position 0.

Note that the home offset command also changes the range. For example, if the initial home offset is 0 and the range is 500,000, and the user changes the home offset to 70,000, then the range is automatically adjusted to be 430,000. However, changing the range does not affect the home offset.

This setting is stored in non-volatile memory and will persist after power-down or reset.


[edit] Set Alias Number - Cmd 48

Instruction Name Set Alias Number
Firmware Version 5.00 and up
Command Number 48
Command Type Setting
Command Data Alias Number
Reply Data Alias Number
Persistence Non-Volatile
Summary Sets an alternate device number for a device.

This setting specifies an alternate device number for a device (in addition to its actual device number). By setting several devices to the same alias number, you can control groups of devices with a single instruction. When you send an instruction to an alias number, all devices with that alias number will execute the instruction and reply using their actual device numbers. To remove an alias, simply set the devices alias number to zero. Valid alias numbers are between 0 and 254. To avoid confusion, it is best to choose an alias greater than the number of devices connected.

This setting is stored in non-volatile memory and will persist after power-down or reset.


[edit] Lock Settings - Cmd 49

Instruction Name Lock Settings
Firmware Version 5.07 and up
Command Number 49
Command Type Command
Command Data Lock Status
Reply Data Lock Status
Persistence Non-Volatile
Summary Locks or unlocks all non-volatile settings.

Sometimes it is desirable to lock all non-volatile settings to prevent them from being changed inadvertently. After changing all settings as desired, settings can be locked by sending this instruction with a Lock Status of 1. Subsequent attempts to change any non-volatile setting (ex. changing the speed, command 42) will result in an Error Response with an error code of 3600 (settings locked).

How the Restore Settings instruction behaves when the settings are locked depends on the firmware version. In version 5.07 issuing a Restore Settings instruction while the settings are locked will result in an Error Response with an error code of 3600 (settings locked). This behavior was found to confuse many customers so in version 5.08 and up, the behavior was changed such that regardless of the current lock status, issuing a Restore Settings instruction will always return setting values to factory default values and leave settings in an unlocked state.

Settings can also be unlocked by sending the Lock instruction with a Lock Status of 0.


[edit] Return Device Id - Cmd 50

Instruction Name Return Device Id
Firmware Version 5.00 and up
Command Number 50
Command Type Read-Only Setting
Command Data Ignored
Reply Data Device Id
Persistence n/a
Summary Returns the Id code for the type of device connected.

This causes the device to return an identification code indicating the type of device connected. See http://www.zaber.com/wiki/T-Series/Device_Ids for a table of device Ids for all Zaber products.


[edit] Return Firmware Version - Cmd 51

Instruction Name Return Firmware Version
Firmware Version 5.00 and up
Command Number 51
Command Type Read-Only Setting
Command Data Ignored
Reply Data Version
Persistence n/a
Summary Returns the firmware version installed on the device.

This setting indicates the firmware version installed on the device. A decimal is assumed before the last two digits. For example, 502 indicates firmware version 5.02.


[edit] Return Power Supply Voltage - Cmd 52

Instruction Name Return Power Supply Voltage
Firmware Version 5.00 and up
Command Number 52
Command Type Read-Only Setting
Command Data Ignored
Reply Data Voltage
Persistence n/a
Summary Returns the voltage level of the device's power supply.

This setting indicates the voltage level of the device's power source. A decimal is assumed before the last digit. For example, a value of 127 indicates 12.7 V. Note that the internal voltage measurement is not very accurate. Don't be alarmed if the indicated voltage is slightly different from your measurements.


[edit] Return Setting - Cmd 53

Instruction Name Return Setting
Firmware Version 5.00 and up
Command Number 53
Command Type Command
Command Data Setting Number
Reply Data Setting Value
Persistence n/a
Summary Returns the current value of the setting specified in the Command Data.

This causes the device to return the current value of the setting number specified in the command data. Valid setting numbers are the command numbers of any "Set..." instruction. The device will reply using the command number of the specified setting (as if a command to change the setting had just been issued) but the setting will not be changed.

For example, command #43 is the "Set Acceleration" instruction. Therefore if you wish to return the current value of the acceleration setting, simply send the Return Setting instruction with data of 43. The device will reply with command #43 and data equal to the setting value.


[edit] Return Status - Cmd 54

Instruction Name Return Status
Firmware Version 5.00 and up
Command Number 54
Command Type Read-Only Setting
Command Data Ignored
Reply Data Status
Persistence n/a
Summary Returns the current status of the device.

This read-only setting specifies the current status of the device. Status codes are as follows:

  • 0 - idle, not currently executing any instructions
  • 1 - executing a home instruction
  • 10 - executing a manual move (i.e. the manual control knob is turned)
  • 20 - executing a move absolute instruction
  • 21 - executing a move relative instruction
  • 22 - executing a move at constant speed instruction
  • 23 - executing a stop instruction (i.e. decelerating)


[edit] Echo Data - Cmd 55

Instruction Name Echo Data
Firmware Version 5.04 and up
Command Number 55
Command Type Command
Command Data Data
Reply Data Data
Persistence n/a
Summary Echos back the same Command Data that was sent.

This causes the device to echo back the same Command Data that was sent.


[edit] Return Current Position - Cmd 60

Instruction Name Return Current Position
Firmware Version 5.00 and up
Command Number 60
Command Type Read-Only Setting
Command Data Ignored
Reply Data Position
Persistence n/a
Summary Returns the current absolute position of the device.

This causes the device to return its current absolute position in microsteps.


[edit] Error - Cmd 255

Instruction Name Error
Firmware Version 5.00 and up
Command Number 255
Command Type Reply
Command Data n/a
Reply Data Error Code
Persistence n/a
Summary Indicates to the user that an error has occurred.

This reply indicates that an error has occurred. The error code returned in the data indicates the type of error. The device may send an error code as a reply to an invalid instruction, or it may autonomously send an error code as a triggered reply (i.e. not in response to an instruction). The error code is typically the command number of the instruction that caused the error, but not always.

[edit] Error Codes
Error CodeDescription
2Renumbering data out of range. Data (Device number) must be between 1 and 254 inclusive.
14Power supply voltage too low.
15Power supply voltage too high.
20Move Absolute - Target position out of range.
21Move Relative - Target position out of range.
22Constant velocity move. Velocity out of range.
36ActuatorId is invalid. Please use one of the actuator Ids, or 0 for default. It can also mean that the password entered to lock or unlock settings is invalid.
37Invalid resolution. Resolution may only be 1, 2, 4, 8, 16, 32, 64, 128.
38Run current out of range. Run current may be 0, or 10 - 127.
39Hold current out of range. Hold current may be 0, or 10 - 127.
40One or more of the Mode Bits is invalid.
42Target velocity out of range. The range of target velocity is determined by the resolution.
43Target acceleration out of range. The range of target acceleration is determined by the resolution.
44The maximum range may only be set between 0 and the resolution limit of the stepper controller, which is 16,777,215.
45Current position out of range. Current position must be between 0 and the maximum range.
46Max relative move out of range. Must be between 0 and 16,777,215.
47Home offset out of range. Home offset must be between 0 and maximum range.
48Alias out of range. Alias must be between 0 and 254 inclusive.
49Lock / Unlock out of range. Value must be 1 or 0.
53Data entered is not a valid setting command number. Valid setting command numbers are the command numbers of any "Set …" instructions.
64Command number not valid in this firmware version.
255Another command is executing and cannot be pre-empted. Either stop the previous command or wait till it finishes before trying again.
1600Save Current Position register out of range (must be 0-15).
1601Home status is not valid.
1700Return Stored Position register out of range (must be 0-15).
1800Move to Stored Position register out of range (must be 0-15).
1801Home status is not valid.
2146Move Relative (command 20) exceeded maximum relative move range. Either move shorter distance, or change maximum relative move (command 46).
3600Settings locked out. Must unlock with command 36 first. See command 36 for details.
4008Mode Bit invalid (Disable Auto Home). This is a linear actuator; Disable Auto Home is used for rotary actuators only.
4010Mode Bit invalid (Reserved bit 10 is non-zero).
4012Mode Bit invalid (Home Active High). This device has integrated home sensor with preset polarity; mode bit 12 cannot be changed by the user.
4013Mode Bit invalid (Reserved bit 13 is non-zero).

[edit] Reply-Only Reference

In general, a T-series device will reply to an instruction using the same command number as the instruction itself. However, there are occasions (such as when the user turns the potentiometer) when the device may transmit data without first receiving a request from the controlling computer. This type of reply may be considered to be a triggered reply as opposed to a requested reply. In this case the device uses a “reply-only” command number to distinguish the reply from those requested by the controlling computer. The meanings of these replies and their corresponding data are given below.


[edit] Constant Speed Tracking - Cmd 8

Instruction Name Constant Speed Tracking
Firmware Version 5.00 and up
Command Number 8
Command Type Reply
Command Data n/a
Reply Data Tracking Position
Persistence n/a
Summary Indicates to the user that the device has been set to a position tracking mode and given a move instruction.

The device has been set to position tracking mode (see Set Mode instruction) and given a move instruction. In this mode, the device sends this reply every 0.25 seconds updating the current absolute position (in microsteps) during any move.


[edit] Limit Active - Cmd 9

Instruction Name Limit Active
Firmware Version 5.00 and up
Command Number 9
Command Type Reply
Command Data n/a
Reply Data Final Position
Persistence n/a
Summary Indicates to the user that the device has reached one of the limits of travel.

This response from a device indicates that it reached one of the limits of travel (either the minimum position or maximum position). For example, if a device is sent a “move at constant speed” instruction, and it reaches the maximum range of travel then the device will reply with this command number and the maximum position reached as data.


[edit] Manual Move Tracking - Cmd 10

Instruction Name Manual Move Tracking
Firmware Version 5.00 and up
Command Number 10
Command Type Reply
Command Data n/a
Reply Data Tracking position
Persistence n/a
Summary A reply that is sent when the manual control knob is turned.

The device has been moved manually (the knob is turned). If enabled with the Set Mode instruction, the device sends this reply at regular intervals updating the current position during manual moves.


[edit] Manual Control

Turning the potentiometer knob will make the device move. It is not necessary to have a computer connected to use the device in manual mode. However, without a computer connected you have no means to initialize the device with a starting position. Therefore you must retract it completely after each power up in order to home the device. You will not be able to extend it fully until you have first retracted it completely to set the home position. Clockwise rotation of the knob produces positive motion (extension) and counter clockwise rotation produces negative motion (retraction).

The speed of retraction or extension will be directly related to the amount to which the knob is turned from its center detent position (turning the knob to its center position will stop the device from moving). During manual moves, the device constantly returns its position so a computer can track the position even when you are controlling the device manually. Manual control can be disabled with a mode setting.

The speed of the potentiometer-controlled manual moves is also determined by the Set Target Velocity command (#42). When the knob is fully turned to either limit, the device will move at the maximum velocity set by command #42. Any intermediate position of the knob will move the device at a velocity proportional to how far the knob has been turned. If the velocity is set to be very small, it may appear that turning the knob produces no movement. The way to verify that the actuator is moving is to connect it to a computer and monitor the replies back to the computer.

During operation if the actuator is extended or retracted against a force greater than its thrust capability the device will stall and there will be “missed steps”. This can result in an apparent malfunction in that the device believes its position to be other than it actually is and will not extend or retract the actuator past a given position. Without connecting a computer to home the device or set its position, the only solution is to retract the actuator until it activates the internal home switch, which will automatically zero the device at the home position. A problem arises if the device incorrectly believes its position to be zero since it will not retract to the home position. In this case you must disconnect and reconnect the power before manually homing the device.

[edit] LED functions

The green LED is on whenever there is power to the device. A constant blinking (2Hz) of the green LED indicates that the power supply is out of range. The green LED may be disabled by a mode bit (see command #40)

The amber LED flashes when there is traffic packet on the RS232 line. It also stays constantly on while the device is moving. When the potentiometer is turned, the amber LED will blink at a rate that is proportional to how far the potentiometer is turned. The further the knob is turned away from center detent, the faster the amber LED will blink. If the device reaches either the home or the away limit while under manual move, the amber LED will blink slower (2Hz) to indicate that the device cannot move any further.

[edit] Troubleshooting Motion Devices

Symptom Check
After the device finishes a move command, it starts moving again on its own. The potentiometer knob is probably not centered. Make sure the knob is set to the middle position. You can feel a slight detent in the middle of its rotation.
Device starts turning as soon as the power is on or amber LED blinks all the time The potentiometer is probably not centered. Turn the knob slowly until you feel the center detent.
Nothing happens when I turn the potentiometer knob either way. Manual control may have been disabled. Issue the Restore Settings Instruction (command 36) or enable the potentiometer using the Set Device Mode Instruction (command 40).
Nothing happens when I send a move instruction. The device needs to be "homed" first. You must issue the Home Instruction (command 1) after power up to home the device.
When I try to move the device it just makes a noise and vibrates. There may be too much load that the device is trying to push. The actuator stalls in this situation. Try removing the load and see if the problem goes away. You can achieve higher thrust or torque by lowering the speed of the device using the Set Target Speed Instruction (command 42).
Stall condition: The device makes noise but does not move. Try removing all external loads. If the device now extends and retracts normally, the problem is excessive load. Try to reduce the load or change step time and acceleration parameters to ensure the load is less than the maximum thrust. If the device is stalled in its fully extended position and remains stalled without any external load applied it means the lead screw has been over extended and is stuck. You can usually get the lead screw unstuck by pushing on it after issuing the home command. If the device is stalled (with no external load) in a position that is not fully extended then it requires servicing.
There is no communication between the computer and my Zaber device. There are several things you should check:
  1. Make sure you have the correct serial port selected. Try selecting other serial ports in the software. To ensure you have the correct serial port selected, you can connect the send and receive pins of the serial adapter without connecting any devices. Your software should echo a reply every time you send an instruction.
  2. Make sure there are no bent pins in the ends of all the data cables
  3. Make sure the power supply is working. The dc plug should measure 12 - 17 Vdc when it's not plugged into the device.
  4. Make sure the power plug is plugged in all the way. If your device has LEDs, the green LED should light.
  5. If your device has a manual control knob, make sure it is centered (you should feel a detent in the center position).
  6. If your computer is a laptop running on batteries, try plugging in the power. Some laptops disable the serial ports when running on batteries.
My device is behaving strangely. It responds to some commands as expected but not to others.
  1. Send a Restore Settings Instruction (command 36). A setting might have been inadvertently changed. If you have a T-CD series stepper motor controller, note that a data value should be entered with the Restore Default Settings Instruction corresponding to the Peripheral Id of the device you are controlling.
  2. Your computer might be set to Unicode. This is common for languages that use non-Latin based characters. Go to Control Panel/Regional and Language Options/Advanced. Select a language for non-unicode programs. This should be English or another Latin based character language.
The device is moving very slowly. It used to behave differently. The speed settings may have been changed inadvertently. Send a Restore Settings Instruction (command 36).
The device is not communication or responding to computer control. The yellow LED may be blinking. If the actuator has a manual control knob, make sure the knob is centered. Turn it back and forth until you feel a click or detent. Leave the knob at the center detent position. Then turn device off and on, and try again.
Green LED does not come on Check the A/C wall plug, the 12V adapter and its connection to the device. If the power is coming over the data cable, check the mini din connector for bent or broken pins.

The amber light should turn off.

Green LED flashes The power supply voltage is outside the range of 10 to 16V. It may either be too low or too high. Some unregulated 12 V adapters may produce in excess of 16 V. If the number of devices connected on a single 12 V adapter exceeds its current capability, the voltage may drop below 10 V. You may experience this problem when many motors on a single supply move together. The load may exceed the maximum current available, causing the voltage to drop too low. If you experience this problem with a single device on a single unregulated 12V supply rated at over 300 mA, then the problem is probably that the supply voltage is too high.
Turning the potentiometer causes no motion You may be at the end of travel. This can happen due to missed steps even if the device does not appear to be fully extended. Turn the knob the other way. If the device makes noise but does not move you may be in a stall condition (especially if the device appears to be fully extended). See “Stall Condition” below. The amber light should blink when turning the knob, if not, try turning the power off and then on again. You may also have set the Target Velocity (command #42) so low that it doesn’t produce any visible motion. Try using command #36 to reset the device to default settings and try again.
Communications do not seem to work, the amber light does not come on or flash Make sure that you are on the correct com port. Check the baud rate, hand shaking, parity, stop bit, etc. Check the cable and adapter for bent or broken pins. Make sure you do not have a null modem adapter or cable in the line. The serial to mini-din adapter comes in many varieties and many have different pin connections. Check the adapter for continuity on the proper pins by consulting the adapter pin-out diagram below. If you encounter the problem when trying to control the device with your own software, try using one of the demo programs from our website to verify that the hardware is functioning properly.
The amber light comes on briefly when sending a command, but the device does not move and does not return codes. Check baud rate, hand shaking, parity, stop bit, etc. Make sure that your software does not transmit any control characters like line feed, spaces or something else. The device numbers may not be what you think they are. Issue a renumber command, make sure that the computer does not transmit anything else while the devices renumber. Check that you transmit 6 bytes and that the device number and command are valid. If you encounter the problem when trying to control the device with your own software, try using one of the demo programs from our website to verify that the hardware
The device does not send replies but otherwise works. If you encounter the problem when trying to control the device with your own software, try using a demo program from our website to verify that the hardware is functioning properly. Make sure that the receiving part of your code or commercial package is correct. Check baud rate, etc. Check connectors for bent or broken pins.
The device sometimes returns fewer than 6 bytes. This problem usually indicates a problem with the settings for your serial port. Some serial ports are set to automatically recognize and remove specific control characters such as carriage returns when they appear in the RS232 receive buffer. When this happens, it appears as though the device has not sent enough bytes, but really the controlling computer has just removed some before you could read them. You will need to change the serial port settings to fix the problem.
Poor repeatability or the device does not extend or retract smoothly or makes louder than normal noise during travel. You may be skipping steps. When skipping, the device will loose position in increments of 4 steps. This condition happens if the thrust needed is more than the thrust available from the device. Check that the force on the device is less then the maximum thrust. Check the voltage using the voltage command. Voltage less then 12 V will reduce the device’s maximum thrust. Try a slower target velocity (command #42) as stepper motors produce more thrust when moving slowly. Lead screw conditions greatly affect the performance of the device. Dirt, damaged threads, no grease or too heavy grease will degrade performance and may contribute to a stall. A black residue appears on the lead screw after extended use. This can increase friction and reduce trust. Clean the screw and re-grease it. In general if you try to move a large payload or have a large static axial load (like lifting something vertically) you will have more problems. For vertical motion the use of a counterweight, spring or rubber band can help reduce the static load and improve the performance of the device. The default value of the acceleration and target velocity are good for small to medium loads and medium speeds. For very light loads and higher speeds, or heavy loads at lower speeds, these parameters can be tuned. Trial and error is the best tuning technique.
The device extends and retracts smoothly but will not retract to the home (zero) position. The device will not retract below what it believes to be the zero position. If the device has missed steps due to a previous stall condition or if the device has been set to an incorrect position, the device may incorrectly believe it is at the zero position. You can solve the problem by issuing the home command, or by turning the device on and off and manually homing it.

[edit] Data cable wiring diagram

Pin# Minidin 6 Female
(to next device if there is one)
Minidin 6 Male
(to previous device or computer)
Color Set 1 Color Set 2
Image:minidin_6_female_pinout.jpg Image:minidin_6_male_pinout.jpg
1 - - - -
2 Receive (from next device) Transmit (toward computer) Red Brown
3 Ground Ground Orange Red
4 +12V Power +12V Power Yellow Orange
5 - - - -
6 Transmit (to next device) Receive (from computer) Black Green
nc Brown, Green Black, Yellow

Note that multiple color sets are shown in the table above because multiple cable suppliers have been used over the years, each implementing different color codes. Rather than relying on this table it is recommended that user's perform a continuity test to determine which wires are connected to which pins on their own device. User's who have determined the color codes for their own devices are welcome to add to them to the table above if they are not already present.

[edit] Warranty and Repair

All Zaber products are backed by a one-month satisfaction guarantee. If for any reason you are not satisfied with your purchase, send it back to Zaber Technologies Inc. within one month of the purchase date for a refund. A restocking fee of the greater of $100 or 5% will be applied to cover administration and customs fees charged to us. Goods must be in brand new condition with no marks. T-series devices are also guaranteed for one year or 50,000 cycles, whichever comes first. During this period Zaber will repair or replace faulty units free of charge. Customers with devices in need of repair should contact Zaber to obtain an RMA form which must be filled out and returned to receive an RMA number. The RMA form also contains instructions for packing and returning the device.

[edit] Email Updates

If you would like to receive our email newsletter including product updates and promotions, please sign up online at http://www.zaber.com (news section). Each newsletter typically includes a promotional offer worth at least $100. We do not send more than 4 newsletters per year.

[edit] Contact Information

Contact Zaber Technologies Inc by any of the following methods:

Phone 1-604-276-8033 (direct)

1-888-276-8033 (toll free in North America)

Fax 1-604-648-8033
Mail 2891 Steveston Hwy, Richmond, BC, Canada, V7E 2J1
Web http://www.zaber.com
Email Please visit our website for up to date email contact information.


[edit] Appendix A: Default Settings

Setting Cmd# T-
LS13-I
LS13-M
LS13-SI
LS13-SM
T-
LS13B-I
LS13B-M
LS13B-SI
LS13B-SM
T-
LS28-I
LS28-M
LS28-SI
LS28-SM
T-
LS28B-I
LS28B-M
LS28B-SI
LS28B-SM
T-
LS80-I
LS80-M
LS80-SI
LS80-SM
T-
LS80B-I
LS80B-M
LS80B-SI
LS80B-SM
Device Id na* 113 1113 128 1128 180 1180
Microstep Resolution 37 64 128 64 128 64 128
Running Current 38 10 17 10 17 10 17
Hold Current 39 0 50 50 50 0 50