Documentation

Scope

This is the documentation for the BONCURS Electronic Speed Controller. This documentation covers the operation, commands, and telemetry needed in order to use the controller.

Our motor controllers are built on the VESC open-source software suite.  Therefore, most of the information here will be applicable to both the BONCURS controllers as well as other VESC controllers.

Controller Overview

The BONCURS controller is used to drive an electric motor. The controller has various integrated circuits to handle different types of motor configurations (Hall effect sensor, encoder, etc). The controller has integrated phase-driving electronics in order to drive the motor.

The controller has several interfaces from which it can receive commands and broadcast telemetry (state data). The controller has a serial port (UART), a CAN port, and can also accept an analog input as a throttle.

The BONCURS controller is unique from other VESC controllers in that it can be configured to run in a master/slave configuration with other BONCURS controllers.

Acronyms

Link to ICD

Sections

Data Interfaces

Commands

Telemetry

Packet Format

Notes (for BONCURS use only)

Packet IDMnemonicCommandTelemetry
0x00COMM_FW_VERSION
0x01COMM_JUMP_TO_BOOTLOADER
0x02COMM_ERASE_NEW_APP
0x03COMM_WRITE_NEW_APP_DATA
0x04COMM_GET_VALUES
0x05COMM_SET_DUTY
0x06COMM_SET_CURRENT
0x07COMM_SET_CURRENT_BRAKE
0x08COMM_SET_RPMSet Target RPM
0x09COMM_SET_POSSet Target Position
0x0ACOMM_SET_HANDBRAKE
0x0BCOMM_SET_DETECT
0x0CCOMM_SET_SERVO_POS
0x0DCOMM_SET_MCCONF
0x0ECOMM_GET_MCCONF
0x0FCOMM_GET_MCCONF_DEFAULT
0x10COMM_SET_APPCONF
0x11COMM_GET_APPCONF
0x12COMM_GET_APPCONF_DEFAULT
0x13COMM_SAMPLE_PRINT
0x14COMM_TERMINAL_CMD
0x15COMM_PRINT
0x16COMM_ROTOR_POSITION
0x17COMM_EXPERIMENT_SAMPLE
0x18COMM_DETECT_MOTOR_PARAM
0x19COMM_DETECT_MOTOR_R_L
0x1ACOMM_DETECT_MOTOR_FLUX_LINKAGE
0x1BCOMM_DETECT_ENCODER
0x1CCOMM_DETECT_HALL_FOC
0x1DCOMM_REBOOT
0x1ECOMM_ALIVE