Skip to content

ASI Controller Troubleshooting Guide

Preface:

Preface: This guide is intended to be a step-by-step guide to troubleshoot issues with low power controllers (BAC355, BAC555, BAC855) and to facilitate a warranty claim. It is generalized and not application specific.

Required Tools

  • Safety glasses
  • ESD mat
  • Current limited power supply (up to 48V)
  • Digital multimeter
  • ASI evaluation harness
  • PC BACDoorTM (+ Mobile with BACDoorTM app if testing Bluetooth functionality)
  • USB isolator
  • Wire stripper and Electrical tape
  • PEAK CAN dongle + PCAN viewer (If using CAN compatible variant)

Note:

when stripping a wire, make sure to isolate it from other stripper wires and connection points, preferably using electrical tape on the exposed part of the wire

Caution:

DO NOT PROVIDE POWER TO CONTROLLER UNTIL INSTRUCTED TO DO SO BY THIS GUIDE.

DO NOT CONNECT A MOTOR TO THE CONTROLLER WHILE FOLLOWING THIS GUIDE.

Wiring Reference

harness

Pin # Color Function
1 Black Hall GND
2 White/Black Hall 5V Out
3 Green Hall-A
4 Blue Hall-C
5 Black GND
6 Yellow Hall-B
7 Purple/White ABMS
8 Orange/White Brake 2
9 Blue/Black PFS
10 Orange Brake 1
11 Red/White 5V Output
12 Blue/White Cruise
13 Brown 12V Output
14 Purple Throttle
15 Purple/Black HDQ
16 Black GND
17 Grey/White TTL-RX
18 Yellow/White TTL-TX
19 Grey/Black CAN-L
20 Yellow/Black CAN-H
21 Red B+ Out
22 White Key-in
23 Green/White 6V Light
24 Black Light ground

power_and_phase

Visual Inspection

ASI label

Record

  • the Model Number
  • Record the Part Number
  • Record the Hardware Number
  • Record the Firmware Number
  • Record the Parameter File Number
  • Record the Revision
  • Record the Serial Number
  • Record the Country of Origin
  • Record the nature of the issue you are facing. Use as much detail as possible

Inspect

  • the controller thoroughly. Look for any cracks, burns or damage to the outer housing, connectors, LED indicator or any other noticeable defects

Short Check

  • Using the resistance function on the multimeter, measure the resistance between the battery positive and battery negative terminals on the controller with the positive and negative probes from the multimeter respectively. power_and_ground_short_check

  • Repeat the above resistance test between Heatsink to battery negative

  • Repeat the above resistance test between battery positive and Hall ground ground_continuity_check

  • Repeat the above resistance test between battery positive and Light ground ground_power check

  • Repeat the above resistance test between battery positive and control board ground ground_power check
  • Repeat the above resistance test between battery negative and Phase U phase_gnd_check
  • Repeat the above resistance test between battery negative and Phase V phase_gnd_check
  • Repeat the above resistance test between battery negative and Phase W phase_gnd_check
  • Repeat the above resistance test between battery positive and Phase U phase_pwr_check
  • Repeat the above resistance test between battery positive and Phase V phase_pwr_check
  • Repeat the above resistance test between battery positive and Phase W phase_pwr_check
  • If available, use the capacitance function on the multimeter, measure the capacitance between the Battery positive and negative terminals Only proceed if all the above tests do not fail or show low (<5000 ohms) resistance

Power up

  • Connect the battery positive and battery negative terminals to a 48V current limited power supply limited to 250mA.

  • Measure the voltage at the Battery+ Out pin with respect to ground

  • If the voltage at this pin is 0, this means the hardware is damaged. You can try to continue the test by connecting the Key-In pin to battery positive keyout check

  • If the voltage is the same as the power supply, short the Key-in pin to the Battery+ out. You will need to keep these two pins connected for the duration of the test. keyout check

  • Turn on the power supply set to the controller voltage (limited to 250 mA) and observe the current drawn. If power supply is shorting (Maxing out current limit and), immediately stop test

  • Observe the device’s LED indicator. Record if the LED is ON or OFF. If it is blinking, record the blink pattern. For example, the device could have 3 blinks, a short pause, 1 blink and a long pause, and would repeat that pattern (you can record this as 3,1). You can also refer to the ASI faults and warnings troubleshooting page.
  • Connect the controller using a USB isolator to your computer and initiate a connection using BACDoorTM. Note: You must connect the controller TTL TX to the computer RX and vice versa.

  • If using TTL, connect the device to BACDoorTM using your Baud rate (ASI Default is115200) and address 1. If this does not work, try using baud rate 9600. If this also does not work, try other available options and record which baud rate worked (if any of them did).

  • If the controller is unresponsive upon powering up (LED indicator does not turn on) and does not connect to BACDoorTM over CAN/TTL, try the following steps:
  • Download C2Prog (v1.8)
  • Select the COM port that the controller is connected to
  • Load the firmware image (.ehx file)

  • Click program

  • Power cycle the controller
  • If the controller is still unresponsive, stop test.

  • If connecting through CAN, use baud rate 250kbps and address 42 if using ASI default settings. If you have programmed it differently, use appropriate settings.

  • Record the Firmware version, build version, variant, bootloader version and OTP Serial number.
  • Save the parameters to file. Use Save to File, not Save to File (512) or (256) to get all parameters.
  • If the status indicator is red, hover your cursor over it to read the reported fault. Navigate to the features/Faults tab and look at Faults, Faults2, warnings, warnings2. Are any of the fault bits set to 1?
  • Navigate to Controller Debug/OPT/CRC/Version tab and record the OTP serial numbers (0 and 1) from BACDoorTM.

Peripheral Verification

  • Using the multimeter, measure the voltage output from the 12V

  • Using the multimeter, measure the voltage output from the 5V

  • Using the multimeter, measure the voltage at the 6V output

  • Using the multimeter, measure the voltage output from the Hall 5V

  • Measure the floating voltage at the Hall A

  • Measure the floating voltage at the Hall B

  • Measure the floating voltage at the Hall C

  • Read the floating voltage of Cruise

  • Read the floating voltage of Brake 1

  • Change Bit6 of the features2 vector in BACDoorTM to 0

  • Read the floating voltage of Brake 1 again

  • Read the floating voltage of Brake 2

  • Change Bit7 of the features2 vector in BACDoorTM to 0

  • Read the floating voltage of Brake 2 again

  • Change Bit 6 and Bit 7 of the features2 vector to 1 again
  • Read the floating voltage of PFS

  • In BACDoorTM observe the digital input bit vector

  • Connect Hall C to Hall GND and observe bit 0 of the digital inputs vector

  • Connect Hall B to Hall GND and observe bit 1 of the digital inputs vector

  • Connect Hall A to Hall ground and observe bit 2 of the digital inputs vector

  • Connect PFS to ground and observe bit 3 of the digital inputs vector

  • Connect Cruise to ground and observe bit 4 of digital inputs vector

  • Do the bits toggle to 1 when tied to ground?

  • In BACDoorTM, using the Remote digital commands bit vector, write 1 to bit 1 to turn on the 6V switchable output. Measure the voltage at the 6V switchable output using the digital multimeter. Write 0 to the same bit to turn it off

  • In BACDoorTM, using the Remote digital commands bit vector, write 1 to bit 9 to pull the low side switch to ground. Measure the resistance between the HDQ pin and ground using the digital multimeter. Write 0 to the same bit to turn it off

  • Read analog throttle voltage on BACDoorTM

  • Connect the throttle input to the 5V output. Read analog throttle voltage on BACDoorTM

  • Read analog Brake 1 voltage on BACDoorTM

  • Connect Brake 1 to ground. Read Brake 1 voltage on BACDoorTM

  • Read analog Brake 2 voltage on BACDoorTM

  • Connect Brake 2 to ground. Read Brake 2 voltage on BACDoorTM

  • Read analog bms soc voltage on BACDoorTM

  • Connect ABMS to the 5V output. Read analog bms soc voltage on BACDoorTM

CANBUS

  • Before testing CAN compatibility, make sure both ends of the CANBUS are terminated with 120-ohm resistors. To verify, use the digital multimeter and measure the resistance between the CAN-H and CAN-L lines when not connected to any active devices. The resistance should be around 60 ohms.
  • You can use the software configurable terminating resistor by toggling bit 12 of the Communications Configuration Vector
  • If using TTL, note down CAN configurations (CAN ID and CAN baud rate)
  • Make sure that your controllers have TPDOs set up to send periodic messages. You can follow these steps to do so if TPDOs are not set up:

  • Navigate to the CAN TPDO1,2 tab and set the following configurations:

  • Write and save to flash

  • Connect the PEAK CAN dongle (use the USB isolator) and open PCAN viewer
  • Initiate the connection in PCAN viewer using the CAN Baud rate settings configured on the controller

  • Record the address you see data coming form, if any

  • Record the data coming in, if any
  • If you cannot see any data coming in on PCAN:
  • Ensure the terminating resistor matches the hardware set up you currently have
  • Your TPDOs are set up to transmit data

POST Static and Dynamic Testing

  • Record the phase A and phase C current sensor offset values on BACDoorTM phase_A_and_C
  • Record the phase U/A, V/B and W/C voltages that are displayed on BACDoorTM
  • Record the phase U/A, V/B and W/C currents that are displayed on BACDoorTM currents
  • Start polling for the following quantities:
    • Motor phase U/A low voltage POST
    • Motor phase V/B low voltage POST
    • Motor phase W/C low voltage POST
    • Motor phase U/A open circuit voltage POST
    • Motor phase V/B open circuit voltage POST
    • Motor phase W/C open circuit voltage POST
    • Motor phase U/A high voltage POST
    • Motor phase V/B high voltage POST
    • Motor phase W/C high voltage POST
  • Start motor discovery 1
  • Record the parameters polled above. If there are any faults that arise, record the POST value and the fault phase_pwr_check