Ardupilot setup for power boards

Quadcopter setup (Default)

ESC settings

Motor order

It is based on the basic Ardupilot settings for the motor map

  • Ardupilot motor ID (X-frame) with Powerboard

    • A,B,C,D are for the needs of the GCS software

    • M1..M4 are servo functions for ESC control

    • ESC0..ESC3 are ESC addresses on the Powerboard

      D(M3)                  A(M1)
(ESC Addr: 0) +        + (ESC Addr: 3)
               \      /
                \    /
                 \/\/
                 |  |
                 |__|
                 /  \
                /    \
               /      \
(ESC Addr: 1) +        + (ESC Addr: 2)
      C(M2)                  B(M4)
  • The addresses for the ESC are linked to the SERVOx_FUNCTION parameter

    • ESC Addr: 0 -> SERVO1_FUNCTION

    • ESC Addr: 1 -> SERVO2_FUNCTION

    • ESC Addr: 2 -> SERVO3_FUNCTION

    • ESC Addr: 3 -> SERVO4_FUNCTION

    • In the case of another frame, the procedure is analogous

  • Powerboard ESC map in Ardupilot (X-frame)

    • SERVO1_FUNCTION = 35 (Motor3)

    • SERVO2_FUNCTION = 34 (Motor2)

    • SERVO3_FUNCTION = 36 (Motor4)

    • SERVO4_FUNCTION = 33 (Motor1)

CAN bus

  • Necessarily set drivers to display additional parameters (reboot Ardupilot)

  • Setting up virtual drivers for physical ports

    • In the case of the same setting, the input is redundant

    • PowerBoard for ESC connection has only physical port CAN2

    • CAN_P1_DRIVER = 2

    • CAN_P2_DRIVER = 2

  • Set CAN protocol for virtual driver

    • CAN_D2_PROTOCOL = 1

    • CAN_D2_UC_NODE

      • ID device on CAN bus

      • Use default (Recommanded)

      • Forbidden IDs: 50-53 (used by PowerBoard)

    • CAN_D2_UC_ESC_BM = 15

      • Enabling individual ESC

      • Value = 15 => 4 motors (ESC1 - ESC4)

PWM range

  • PWM output

    • Type

      • MOT_PWM_TYPE = 0 (Normal)

        • Output has adjusted range

        • Usage range 1000-2000us (Set by param lower)

    • Min and max PWM

      • MOT_PWM_MIN = 1000 (Match with settings in AMC Manager)

        • Represents lower limit

      • MOT_PWM_MAX = 2000 (Match with settings in AMC Manager)

        • Represents upper limit

  • PWM level for ESC control

    • Dead-zone of ESC = 50 us (Match with settings in AMC Manager)

    • MOT_SPIN_ARM = 0.07

      • Motor speed when to be armed

      • Use dead-zone from ESC

      • Equals (the percentage dead-zone from pwm range + 2%) / 100

    • MOT_SPIN_MIN = 0.1

      • Lower limit when motor never stop spinning

      • At least 0.03 higher than MOTOR_SPIN_ARM

    • MOTOR_SPIN_MAX = 1.0

      • Equals value which generally produces no additional thrust

  • Thrust correction

    • MOT_THST_EXPO = 0.8

      • The value depended on the ESC, which linearizes the output

Battery settings

Monitor

  • Use CAN settings from [ESC settings](## CAN bus)

  • BATT_MONITOR = 8 (UAVCan)

Octocopter setup

ESC setting (changes compared to default)

Motor order

ESC links to the _SERVOx_FUNCTION :_

  • .Power board main

    • ESC0 (Motor 1 connector) = SERVO1_FUNCTION

    • ESC1 (Motor 2 connector) = SERVO2_FUNCTION

    • ESC2 (Motor 3 connector) = SERVO3_FUNCTION

    • ESC3 (Motor 4 connector) = SERVO4_FUNCTION

  • .Power board secondary

    • ESC0 (Motor 1 connector) = SERVO5_FUNCTION

    • ESC1 (Motor 2 connector) = SERVO6_FUNCTION

    • ESC2 (Motor 3 connector) = SERVO7_FUNCTION

    • ESC3 (Motor 4 connector) = SERVO8_FUNCTION

circle-info

User needs to match servo output function numbers according to used configuration and frame type

CAN bus

  • Set CAN protocol for virtual driver

    • CAN_D2_UC_ESC_BM = 255

      • Enabling individual ESC

      • Value = 255 => 8 motors (ESC1 - ESC8)

Battery settings (changes compared to default)

Monitor

  • BATT_MONITOR = 8

  • BATT_SERIAL_NUM = 174

  • BATT2_MONITOR = 8

  • BATT2_SERIAL_NUM = 175

  • BATT2_VOLT_MULT = 1

  • BATT2_VOLT_PIN = -1

  • BATT2_CURR_PIN = -1

Last updated