Skip to content

CAN PDB Configuration Guide (ArduPilot)


This chapter applies to scenarios where the CAN PDB is used with the ArduPilot stack (controllers running ArduPilot firmware).

Enabling Voltage and Current Detection

To enable voltage and current detection, you need to configure the controller parameters. Connect the controller to the MissionPlanner ground station, set the following parameters in the Full Parameter List, and restart the controller after writing the parameters:

CANPDB

CAN_P1_DRIVER set to 1
CAN_P2_DRIVER set to 1
BATT1_MONITOR set to 8

TIP

For ArduPilot firmware versions below 4.6, set BATT_MONITOR to 8.

Viewing Power Information

CANPDB

Custom Configuration

The CAN PDB provides 7 parameters for users to customize:

BATTERY_ID // Battery ID, Invalid
CAN_NODE_ID // CAN Node ID
CELL_SERIES_NUM // Number of battery cells, default value is 0 (automatic recognition), used to estimate battery percentage.
CELL_FULL_VOLTAGE // Full voltage of a single cell, used to estimate battery percentage.
CELL_EMPTY_VOLTAGE // Empty voltage of a single cell, used to estimate battery percentage.
CALIBRATION_PARAM // Calibration status identifier; a value of 1 indicates calibrated (read-only, cannot be written).
USE_TMP112 // Temperature sensor, default value is 1 (enabled); set to 0 to disable.

NOTE

Under normal circumstances, the default parameters can meet the needs of most users. Do not modify them unless necessary.

Modifying Parameters

  1. Connect the controller to the MissionPlanner ground station.
  2. Navigate to the Configuration > Optional Hardware > Dronecan/UAVCAN Setup interface.
  3. Click "mavlink-can1" and locate the CAN PMU Information section.

CANPDB

  1. Find and set the parameters to be modified, save the settings, then restart the controller.

CANPDB

High-Voltage (HV) Battery Setup

Take a 6S battery pack (full voltage of a single cell: 4.35V, empty voltage of a single cell: 3.3V) as an example. Set the following parameters in the CAN PDB parameter list:

CELL_SERIES_NUM = 6
CELL_FULL_VOLTAGE = 4350
CELL_EMPTY_VOLTAGE = 3300

Click "Write params (Write Parameters)", then restart the controller.