Motor Controller Interface: MS 14
Motivation
The motor controllers (MC) are a third party board with a custom CAN communication protocol. The MC must send and receive messages to the driver controls (DC), however because the MC protocol is strict and thorough it requires abstraction from the rest of the system. The motor controller interface (MCI) handles this abstraction.
Components
The MC connects to its own CAN bus in order to communicate with the MCI. The MCI connects to the system CAN bus in order to communicate with DC.
Message Types
Broadcast
The MCI must transmit a periodic message to the MC every 250 ms or else the MC will shut down. The message will consist of the target velocity and target current percentage requested by the DC.
Drive Command
The MCI will receive a message from the DC requesting to set the car in either cruise, throttle, or regenerative breaking mode. Targets for velocity and current will be set and transmitted to the MC during the next periodic broadcast message.
Measurements
The MCI will receive updates on measurements of voltage and current from the MC. These measurements will be transmitted to the DC through the system CAN bus.
Tasks
- The MC board has changed from WaveSculptor 20 to WaveSculptor 22. Translate changes in data sheets to change required in the firmware
- How does pre-charging work?
- What statuses need to be logged by the MCI?
Meeting Notes
Motor Controller Interface/Precharge:
- separate can network to tell motor controllers to drive
- Precharge completed happens through hardware, we need to know that only from CAN
- when capacitors are charged, it’ll send “precharge completed” message
- motor controller status logging
- nice: motor controller restarting in firmware
- nice: limiting motor controller’s current sink by controlling it via firmware
- nice: log motor stuff: all errors, and temperature over can
- nice: motor current access.