It's been a few years since I purchased a PMSM motor and controller from the Chinese OEM market. Back in 2019, knowledge on using scrapped parts wasn't as developed and the Tesla Model S drive units were too expensive. Since then, the motor is sitting here, and from time to time I try to make it run.
That didn't work so far, sadly, and I assume it's about the start sequence. Does anyone have an idea how MCU start sequences typically look like? I had the MCU CAN matrix checked at least four times for every signal read by the MCU also being sent somewhere on the bus. It is attached below. Also below, I marked in red the steps where the MCU does not react as I hoped.
Here is my test bench setup:
Devices:
- VCU: ESP32 with CAN capabilities and all the logic
- MCU: APEV528 motor controller, CAN matrix attached
- BMS: emulated by Arduino with CAN board
- ICU: hand brake tightened/released CAN message sent by BMS emulator
- Observer: RasPie with CAN board
- Battery bank provides ~350V without “own will”
- HV connection fused with 10A and with old heater element at HV+
- Contactor and precharge circuit connect HV to MCU, controlled by VCU
- All devices are connected to the CAN bus at 500kbps, same GND, terminated at MCU and observer
- Observer runs a program to translate CAN messages into signal names and values
- VCU reacts to key position (ACC, ON, START), gear lever (only P and D), throttle, brake
- HV interlock line in and out at MCU is connected directly
- VCU starts sending 0x101: throttle (0), brake (0), gear lever (P), work mode (torque), motor mode (standby), key position (ACC), connectors (open), status signals (all good), counter, checksum
- BMS starts sending 0x1A0: precharge not finished; no error; rest zeros
- ICU starts sending 0x431: park brake released; rest zeros
Thanks in advance!