Adept SmartMotion: Test and Troubleshooting

This documentation is designed to help you quickly test and troubleshoot a mechanism during development and after installation. Many of the following tests can help identify tuning adjustments that can provide substantial performance improvements even if there are no obvious system problems.

If the encoders and inputs were not tested due to mechanical limitations, you will be able to test them by turning on power to the system.

For details on each test, click one of the following links, or scroll down the page:

Discrete Inputs

Discrete Outputs (High Power Enable, Drive Enable, and Brake Output)

Analog DAC Outputs

Encoder

Encoder and Motor Signs

Calibration Sequence

Software Joint Limits

READY Position

Manual Control Motion Parameters

Program Control Motion Parameters

Customizing Move Between Taught Points Test

Diagnostic Tests

Discrete Inputs

After all required hardware connections have been made to the user supplied equipment, each of the discrete input signals should be tested for proper operation. The steps described below show how to perform this test.

  1. Load and execute the SPEC program. Select Perform hardware diagnostics from the main menu and you will see a display such as that shown in Diagnostic Display with POWER Switch Off. This display is dynamic and will immediately reflect any changes in the status of the hardware such as input switches.

  2. Check the operation of each input, using the guidelines presented in Discrete Input Test Requirements. If a particular input does not appear to work on the diagnostic screen, confirm that the input is actually getting to the input circuit by actuating the input while looking at the corresponding LED.

Check that the input states operate properly on each motor, as described in Discrete Input Test Requirements. Unused channels are ignored. If your system contains more than one robot, you can access other robots from the main menu. Polarity of input signals can be changed from the Edit Motor Amplifier Specs menu.

Discrete Input Test Requirements

Signal
Type
Diagnostic Display Status
Overtravel
Configurable via SPEC program
ON only when a positive overtravel condition is present.
Home Switch
Configurable via SPEC program

ON only when the mechanism is placed on the home switch.
Drive Fault
Configurable via SPEC program
OFF when the drive is enabled.
  1. Make sure that all overtravels and fault inputs are OFF on all motors when the robot is in position to be powered up. Diagnostic Display with POWER Switch On shows a display when the power is turned on.

 Diagnostic Display with POWER Switch On

Discrete Outputs

The discrete output signals should be tested only after the input signals have been successfully debugged. Check that the output states operate properly on each used channel on each servo board, as described in Discrete Output Test Requirements. Follow the steps below to verify the discrete output signals.

High Power Enable, Drive Enable, and Brake Outputs

  1. Execute the SPEC utility program, and select "Perform hardware diagnostics" from the main menu.

  2. Enable High Power by pressing "P", select the proper motor (by typing its number) then enable the individual amplifier by typing "A". Release the brake by typing "R". Check that all outputs are operating as described in Discrete Output Test Requirements.

WARNING: Any of these tests could cause the robot to move. Take precautions to prevent damage or injury. For example, disconnect the motors and brakes from the robot, and support the robot axes so they cannot fall.

 Discrete Output Test Requirements
Signal
Type
Requirements
High Power Enable
Output - normally open
High power contactor must close when signal is ON
Drive Enable
Output - configurable via SPEC program
Drive must be enabled when signal is ON
Brake
Release
Output - normally open
Brake must release when output is ON

Analog (DAC) Outputs

In order to test the analog (DAC) output voltage command to the amplifiers, it is necessary to change the default values for the following parameters in the ertain defaults in the "Motor amplifier/encoder specs" menu. These are:

  1. The Maximum DAC value, which should be set to some value sufficient to cause motor motion but not high enough to cause damage if the motor is driven into a stop (typically 5,000 to 20,000).

  2. The "*Motor stalled* timeout", which should be set high enough to prevent spurious motor stall detection.

  3. The "*Duty-cycle exceeded* limit", which can be set to a value close to the "Maximum DAC Value".

The DAC outputs can be tested from the "Perform Hardware diagnostics" menu. This menu provides the capability to increment or decrement the digital to analog converters manually.

Using the U (up) or D (down) keys, and the + or - keys, the DAC outputs can be stepped throughout their entire range. The diagnostic utility tests each bit of the DAC, one at a time. The DAC voltage value displayed on the screen indicates the approximate voltage that should appear at the analog output terminals. The DAC count display indicates the integer representation of the enabled DAC bits. To test the each analog output channel, follow the sequence listed below.

WARNING: Performing the following tests may cause motion to occur in the attached mechanism(s). Dangerous voltage levels may be present. These tests should only be conducted by qualified personnel who possess a thorough knowledge of servo systems.

  1. For safety, disconnect the analog output channel from the amplifier, and instead connect a high impedance digital voltmeter to the output channel. Verify that the output value on the display is set to zero. The voltmeter should read approximately 0 volts.

  2. Enable high power (type "P" at the hardware diagnostics display) and enable the drive (type "A").

  3. Step the analog output through its positive and negative range, stopping at each increment to note the correlation between the actual voltage and the value displayed on the terminal. The voltage output is limited by the "Maximum DAC value" setting in the "Motor amplifier/encoder specs" menu.

  4. Disable power and reconnect the analog output to the amplifier. Make sure the amplifier is properly connected to the motor. Again enable high power and the drive. Increase the DAC command in each direction until motor motion occurs.

Encoder

Before testing the encoders under power, be sure to set the encoder configuration parameters in "Edit Motor encoder specs", a sub-menu of main menu "Edit Robot Specifications".

NOTE: The Maximum DAC output parameter must be set from the "Edit Robot Specifications" menu before performing any hardware diagnostic tests. If they are left at zero (the default value), the error message "Max DAC Val is zero" will be displayed.

  1. Execute the SPEC program, and select "Perform hardware diagnostics" from the main menu.

  2. Write down the encoder position shown on the screen.

  3. The joint should be in the middle of total travel. Increment the DAC by pressing `U' or `+' key. Be ready to hit the E-stop or ENTER key to stop the joint. Also, decrement the DAC to verify the joint moves in either direction and the encoder is functioning. The encoder counts on screen should change.

  4. Check that the encoder A and B phases are functioning properly by displacing the encoder a known distance (usually one revolution with a rotary encoder). The display should count up or down, according to the direction of rotation.

  5. If the encoder count doesn't change at all, the encoder might not be getting power, or neither the A nor B phase wiring are connected properly.

  6. If the encoder reading only changes by 1 count, then one of the two phases is not connected.

  7. Check the zero-index configuration. Usually, the documentation from the encoder manufacturer should indicate the number of encoder counts or encoder lines (the number of counts is 4 times the number of lines on the encoder) between zero indices on the encoder. With most rotary encoders, the number of encoder counts between zero indices is the same as the number of counts per revolution of the encoder. In other words, there is one zero pulse per revolution.

Also, determine from the documentation (if possible) the sense of the encoder's zero-index pulse (active high or low), and the relationship of the zero index to the A and B phases of the encoder. The sense and gating of the index by A and B are used to determine the zero-index configuration value. The number of counts between indices and the zero-index configuration should be entered in the "Motor amplifier/encoder specs" menu.

  1. Returning to the motion hardware diagnostic display, displace the encoder in one direction far enough to cross a zero index several times. If "Index Err" is displayed for "Last zero-index," then either the zero-index configuration is incorrect or the spacing between zero indices is incorrect.

If "Index Err" is displayed and "Zero index delta" remains at 4, then the sense of the zero-index pulse is incorrect. A value of 4 is displayed because the servo board is seeing an index with every count of the encoder. The index is gated by a particular combination of the A and B phases, and this combination repeats every four encoder counts. To correct the sense, the value of the zero index configuration must be changed. If the current zero index configuration has a value between 0 and 3, try a configuration between 4 and 7, and vice versa.

Once the sense of the zero index is verified, rotate the encoder in one direction, far enough to cross a zero index, and then back in the opposite direction until the index is crossed again. If "Index Err" is displayed and "Zero index delta" was near the correct value going forward, but changed to four when the index was crossed in the opposite direction, the gating of the A and B phases is incorrect. Since there are only four possible combinations of the A and B phases, the easiest way to correct this problem is to try all four. Change the encoder configuration value (be careful not to change the sense of the zero index) and repeat the test.

If "Index Err" is displayed and "Zero index delta" never changes, either the number of counts between zero-indices is incorrect or you may not be getting a valid zero-index pulse. Try another encoder configuration value. If necessary, use an oscilloscope to determine if the A, B, and index pulses are all changing properly.

Encoder and Motor Signs

  1. Test the encoder sign by moving the joint in its positive direction and noting whether the encoder count increases. The joint can either be moved by hand or issuing DAC commands by pressing `U' or `+' after High Power enable.

Refer to your device module documentation to determine the positive direction for the specified joint. If the encoder count decreases even though the joint is moving in the positive direction, change the encoder sign (from 0 to -1 or from 1 to 0). Perform the test again until you are confident that the encoder count increases when the joint is moved in the positive direction.

  1. After the correct setting for the encoder sign is determined, set the motor sign by issuing a positive torque command and noting whether the joint moves in the positive direction. After enabling power, activating the drive and releasing the brake, issue a positive torque command by pressing carefully on the "+" side of the speed pot on the pendant (or pressing "U" on the diagnostic display).

Refer to your device module documentation to determine the positive direction for the specified joint. If the joint moves in the negative direction even though the DAC command is positive, change the motor sign (from 0 to -1 or from -1 to 0). Perform the test again until you are confident that the joint moves in the positive direction when a positive torque command is issued. Note that a motor sign of -1 will cause a positive DAC command to produce a negative voltage at the DAC.