LCR High Current Electronics Troubleshooting - directedmachines/customer-support GitHub Wiki

Table of Contents

Overview

WARNING: This is an advanced guide for trained field technicians, do not attempt unless you have training or specific guidance from the Directed Machines support team ([email protected]).

Safety

  • Make sure robot e-stop is active
  • Disable drive motors using side rotary switch
  • If tray cover is opened, you might need to disconnect batteries from tray

Motor controllers

300 Amp Motor Controllers

  • 300A Motor Controllers power Left/Right drive and AUX motors (e.g, mower, PTO).
  • They are located inside the electronics tray and plugged into the USB hub

Software/Firmware

If it is an issue with the motor controller you can add "options":["CONSOLE_LOGGING"], in the configuration file for the faulty motor controller(s) and restart CAP to enable verbose logging from the motor controller service.

Potential Fixes

  1. Restarting the CAP runtime
  2. Resetting the USB serial driver using /cap-provisioning/pi/scripts/resetSingleUSBDevice.sh (this is done automatically by CAP as well)
  3. Rebooting the robot
  4. Power cycling the logic side of the faulty motor controller. This can be done for a motor controller by unplugging and replugging the USB cable if in person, or running /cap-provisioning/pi/scripts/cycleHubPower.sh if cycling remotely and 60W 7-port HUB is installed.
  5. Power cycling the USB hub by unplugging and replugging the barrel connector (ensure it is not powering the Pi before doing this)
  6. Full power cycle.

Wiring

Motor controller not plugged in to correct USB port

If the motor controller is not found in CAP, it may be plugged into the incorrect port. SSH into the robot and list the ports using ls -al /dev/serial/by-id and compare with the "portName" or "altPortName" in the motor controller .json files.

  • L/R Motors: actuators-dcentralized-motor-controllers-default.json
  • AUX Motor: actuators-dcentralized-motor-controllers-aux1.json

USB faults

If Manual UI is indicating that the LEFT or RIGHT or AUX or all of them are disconnected, the USB hub is likely damaged or in a bad state (may be fixed by hub power cycle). SSH into the robot, display kernel messages and look for USB errors activate or enumerating ports. Please review sensor troubleshooting and SSH pages for more details on kernel message diagnosis.

Electronics and Chassis Short

May be indicated by the following alert:

  • LEFT_MOTOR: device address opened previously but no longer exists, check for USB disconnects or chassis shorts

Follow the Electronics and Chassis Short Troubleshooting Wiki

Motor controller faults

The motor controller service will send alerts when the MC reports faults through FW and serial connection. Details on MC protocol and faults in the firmware wiki (internal access only). Major faults reported through email alerts outlined below

Example report email:

Screenshot from 2022-08-29 16-31-24

Over-current

Controller is using maximum current. Can be caused by:

  • AUX (mower) when the blades stall or when stopping and starting quickly (regen)
  • Drive wheel controllers when robot stalls (wheels have traction but robot cannot move). Autonomy will stop on its own on stall.

Over-current when idle

If the LCR is idle and has an over-current fault it is likely due to: 1. LCR is undergoing maintenance but the drive motor switch is still on (Left and Right motors), or the 175A Anderson connector for the Aux motor is still connected (AUX) but mower is being rotated by hand (very dangerous). Contact customer or support engineer and reiterate the safe maintenance procedures. 2. LCR is being transported in a vehicle and rolling is causing motor regen. Motor disconnect switch can be turned off during transport to suppress these errors. 3. LCR was parked on a hill and is rolling down it. See example photo of telemetry showing steep pitch and motor regen (negative watts) leading to fault: current-when-idle-hill.png. Contact customer or support engineer and reiterate the safe operation/parking procedures. 4. A short or damage to the motor controller. Contact customer or support engineer to diagnose further. See the following email alert as an example and note it is idle ("I: 1" in the report):

RIGHT_MOTOR HW fault: R: M:0 T:0 P:0 V:0 T1:027.15C T2:026.90C VB:54.77V M+:06.97V M-:10.69V IF:-000.06A IR:-000.28A W:900 MF:1 FS:4194320(0) ES:1 I:1 300AMC Firmware Faults: MC_STATUS_OVER_CURRENT_ERROR: MC_STATUS_SYSTEM_SAFETY_FAULT: DRV8353 Faults: none.

Temperature

Pay attention to the alert and look for temperatures close to 80C. If temperatures are close to 80C, stop using the robot, give it 10 minutes to cool off

[LEFT|RIGHT|AXLE_AUX_MOTOR] Controller disconnected

  • USB cable from MC to HUB not plugged in or damaged
  • The motor controller is stuck in Device Firmware Upgrade (DFU) mode
    • Check if the motor controllers are in DFU mode
      • SSH in the robot and execute the command dfu-util -l
    • If in DFU mode:
      • restart runtime, may successfully kick them out of dfu mode
      • Full robot battery disconnect/power cycle
  • USB hub is damaged due to ground loop. Look at kernel log messages, look for USB errors activating USB ports, and no USB peripherals are enumerating.

DM (A) MC AUX Dongle

screenshot_from_2024-01-02_11-35-49

  • A DM (A) MC AUX Dongle (P/N 004500) is installed on AUX MCs to allow CAP to differentiate them from the L/R MCs.
  • This is a safety measure to prevent USB cables from being wired improperly
    • Prevents sending high power to a L/R drivetrain motor when trying to power the AUX mower motor
  • Legacy robots without the dongle still function, but the AUX MC will display "E" on the LED display

300A MC LED Displays

The 300A motor controllers have 7-segment LED displays that provide information about the MC state. The display depends on whether a DM (A) MC AUX Dongle is installed, and which Hub USB port the MC is connected to.

With Dongle

  • A dongle should only be installed on the AUX MC (see previous section)
  • If a dongle is installed, the MC will display "A" using it's internal firmware even when there is no communication with our CAP software on the Pi.
  • When CAP software connects, if it expects it to be a L/R MC it will display an "E". This is a hard error and the MC will not be functional.

Without Dongle

  • If no dongle, the MCs do not display anything until they communicate with the Pi and then the software tells it what letter to display.
    • If pi software expects it to be a L/R MC it will display an "L/P" (P represents R for "right")
    • If pi software expects it to be an AUX MC it will display an "E" since it is an AUX MC and there is no dongle. This is a soft error and the MC will still be functional to support legacy robots without dongles.

25A Cytron Motor controller

Product Page: https://www.cytron.io/p-25amp-7v-58v-high-voltage-dc-motor-driver
Manual: MD25HV Datasheet.pdf

Screenshot from 2022-10-26 10-34-19

If the issue is with rocker-switch control of the actuator

  • Is the green/yellow PWR LED in the top right corner of the board on? (this is means the board is receiving power)
  • When you press the rocker switch do the red LEDs labeled MA" and "MB" turn on?
  • Check if "ERR" LED is flashing. If flashing, note which error state using the figure below. To recover from an error state the board must be power cycled. This can be done using the busbar connector on newer models or by following the high current power cycle on older models.
  • Check the voltage across the MA and MB terminals using a multimeter, being careful not to short the leads.
  • Are the linear actuator(s) on the 3PT hitch connected to the Molex connector(s) on the motor controller?

Screenshot from 2022-08-10 10-19-46

If the issue is with software control of the actuator only

  • Check if the pico tray light is flashing
  • Check connections between pico tray and cytron motor controller
⚠️ **GitHub.com Fallback** ⚠️