---
# System prepended metadata

title: Test Motors/Encoders
tags: [webcontrol Actions-Diagnostics-Maintenance]

---

---
layout: default
title: Test Motors/Encoders
nav_order: 1
parent: Diagnostics / Maintenance
grand_parent: Actions
tags: webcontrol Actions-Diagnostics-Maintenance
---
# Test Motors/Encoders
  
Release: >0.906
{: .label .label-blue }  

  
### Description
This function sends a test command to the controller to exercise the motors and read values from the encoders.

### Process
Each axis is tested individually.  For a stock machine (two motors and z-axis) the test sequence is:

* Left Motor
* Right Motor
* Z-Axis

For each motor, the following actions are taken (based upon current stock firmware as of 11/27/19):

##### Forward Motion Test:
* Encoder position is read and stored.
* Motor is run "forward" at full power for one second
* Encoder position is read and stored.
* If the difference between the ending encoder position value and beginning encoder position value is **greater than** 500 steps, then indicate a PASS, otherwise indicate a FAIL.

##### Reverse Motion Test:
* Encoder position is read and stored.
* Motor is run "reverse" at full power for one second
* Encoder position is read and stored.
* If the difference between the ending encoder position value and beginning encoder position value is **less than** than 500 steps, then indicate a PASS, otherwise indicate a FAIL.
 
### Interpretation

|Result   	|Possible Cause/Solution   	|
|---	|---	|
|All Motors Fail All Tests   	|Power cord is inserted into the Arduino controller instead of the motor controller shield.  Check installation.   	|
|One or More Motors Fails Both Directions   	|Motor cable not inserted properly into either the motor controller shield or the motor.  Unplug and replug the cable ends.   	|
|One or More Motors Fail One Direction   	|Possible hardware issue with motor or encoder   	|


