--- 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 |