arrow-left

All pages
gitbookPowered by GitBook
1 of 9

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Start-up checklist

hashtag
First start-up

Before first start-up, make sure the board is configured properly:

triangle-exclamation

The board MUST be configured, connectors and solder jumpers need to be soldered and installed to match your exact battery cell count

  1. Solder your power in and power out connectors or wires on the J4 and J5 footprints

  2. Solder the correct cell terminal connector at the JP1 location. Ensure it is correctly positioned and aligned

  3. Configure the board for your application by soldering the corresponding SJxx connectors

hashtag
Powering the RDDRONE-BMS772 board on and off

Once the board is configured properly (see for more details about configuration), it is time to connect the board.

To power on the RDDRONE-BMS772 board, *first* connect the battery to the power input connector (J4) and then the cell terminal connector (JP1). This protects the boards form internal damage due to hot plugging.

Similarly, to disconnect the battery from the board, the cell terminal connector (JP1) should be disconnected first. Then the power input (J4) can be disconnected.

Configure the board with additional and/or optional components as described in to fit the application requirements

Configuring the hardware
Configuring the hardware

Flashing firmware to the RDDRONE-BMS772

This page will provide all the information needed to flash the BMS

hashtag
Downloading J-link

Download J-Link Software and Documentation Packarrow-up-right

J-Link Commander is used to flash binaries onto the RDDRONE-BMS772 board. The latest (stable) release of the J-Link Software and Documentation Pack is available at the SEGGER website for different operating systems.

hashtag
Connecting the programmer to the BMS

The software can only be written to the board using a debugger. The HoverGames drone kit includes a J-Link EDU Mini debugger. To use it, you need to install the J-Link Software Pack.

The debugger can be plugged into the BMS using a small adapter board. This small PCB comes with a 3D printed case that can easily be put together. The J-Link debugger can be connected using an SWD cable. The connectors have to be oriented such that the wires directly go to the side of the board, as shown in the picture below.

While you do not need it right now, the adapter board also has a 6-pin connector for a USB-TTL-3V3 cable, which you can use to access the system console (CLI) of the BMS. The 3D printed case has a small notch on one side of the connector. The USB-TTL-3V3 cable needs to be plugged in such that the black (ground) wire is on the same side as this notch in the case. Make sure the cables are plugged in as shown in the picture below. Connect the 7-pin JST GH to the programming header of the BMS, J19.

hashtag
Flashing the firmware

A guide for flashing firmware to this board is outlined in one of our consolidated Gitbooks for flashing a multitude of NXP hardware. The link to this Gitbook is below.

hashtag

hashtag
Next steps

Once you're done flashing your board, you may continue to the Accessories and tools for development tutorial.

Using the command line interface (CLI)

This page will tell you how to use the CLI of the BMS

To use the command line interface, connect the debugger to the BMS using the 7-pin JST-GH connector from the debug adapter board to J19 and plug the USB coming from the debugger converter board into your computer. Open a UART terminal like minicom on a Linux machine or PuTTY or Tera Term for a windows machine.

Type “bms help” to get the help for the CLI. The CLI works only with lowercase commands. The settings are:

  • 115200 Baud

8 data bits
  • 1 stop bit

  • https://nxp.gitbook.io/nxpmobilerobotics/flashing-guide/flashing-hovergames-boardsarrow-up-right
    The debug adapter board
    BMS programming header

    Configuring the hardware

    hashtag
    Power connectors

    Because the RDDRONE-BMS772 board aims to be adaptable for many different battery types, the power connectors are not mounted on the PCB. This allows the user to configure the board with the connectors they choose, or solder battery wires directly to the board.

    circle-info

    In a completed application, it is expected that the battery and BMS would be permanently attached. During development it can be prudent to allow disconnection of the battery for safety reasons.

    The power connectors footprints on the design correspond to an XT90 hobby type connector such as the connector. These types of connectors are readily available at local and online hobby shops and may also be used for soldering typical silicone insulation heavy gauge power wires. \

    TE connectivity has created a line of UMP (Unmanned Power) connectors specifically for professional high power mobile systems. Some kits ship with this type of connector included as a promotional item.

    circle-check

    TE connectivity provides a line "UMP" connectors specifically for professional high power mobile systems.

    hashtag
    Cell terminal connection

    The RDDRONE-BMS772 board is configurable to fit 3s to 6s battery packs.

    triangle-exclamation

    Solder jumpers must be soldered in place and the matching JP1 connector must be installed on the board to match your battery cell configuration. Do not operate the board without the correct configuration.

    This configuration must be done before using the board

    The correct cell terminal connector should be soldered as JP1 on the top side. Connectors for 3s, 4s, and 6s are provided unsoldered in the kit.

    • the connection to the cell terminal circuit should be done by soldering the correct solder jumpers as given in the table below. All jumpers are open by default

    Configuration
    Jumpers connected
    Associated JP1 connector
    JP1 placement

    Note: SJ13, SJ14, SJ15 and SJ16 are not used for cell terminal connection. See and .

    Note: The other jumpers used for cell terminal connection (SJ1 - SJ12) should be open!

    Note: The JP1 connector should be soldered on the top side of the board.

    hashtag
    Shunt resistor

    The shunt resistor (R1) can be disconnected from the overcurrent protection circuit and the BCC by unsoldering the SJ13 and SJ14 jumpers. Both jumpers are closed by default.

    hashtag
    External NFC antenna

    The on-board NTAG5 chip is designed to provide active antenna matching and amplification and will give enhanced performance when the battery is present and providing power. However, for extended range operation, the PCB antenna can be replaced by an SMD coil (L2). The coil is not mounted by default but the recommended part is SDR7045-2R2M. Also note that it is possible to solder wires and attach a remote NFC antenna to the same pads used for L2.

    To use the SMD coil, the user must reconfigure the board using the following steps:

    • remove both 0.75 Ω resistors R93 and R94

    • solder close SJ15 and SJ16

    • replace 82pF and 680pF capacitors C72 and C116 by a single 56pF capacitor

    hashtag
    Power MOSFETs and heatsinks

    The RDDRONE-BMS772 board allows placement of four pairs of power MOSFETs (PSMNR70-30YLH) and four heatsinks (FK 244 08 D2 PAK). Half of them is on the top side of the board and the other half is on the bottom side. By default, only the two pairs of MOSFETs of the top side are mounted.

    The user may want to place additional MOSFETs and/or optional heatsinks to their board. This allows to widen the maximum DC current limit as described in the following table:

    Configuration
    Maximum DC current

    Note: Exceeding the given current limit can permanently damage the board.

    hashtag
    Optional components

    Depending on the application, the user may want to add some optional components onto the RDDRONE-BMS772 board.

    External and additional components and their use are detailed in .

    Get the UAVCAN messages with the UCAN board

    This page will describe how to get the UAVCAN BMS messages with the UCAN board

    hashtag
    First make sure the BMS is connected to the UCAN board

    Connect the UAVCAN device (like the RDDRONE-UCANS32K146) to the BMS using JST GH 4 pin connectors with 1 on 1 wires. End the CAN bus with a 120Ω terminator resistor between CAN high and CAN low.

    hashtag
    Get the BMS draft using the UCAN board in linux:

    1. Connect the UCAN board with a USB-TTL-3V3 cable to the laptop.

    2. Install the can utils with the following terminal command:

      • sudo apt install can-utils

    circle-info

    Keep in mind that in this case the UART of the UCAN board needs to be connected to ttyUSB1. You can check which USB it is by disconnecting the USB-TTL-3V3 cable connected to the UCAN board, write “ls /dev” in the terminal, connect the USB cable and write “ls /dev” again. Only the USB of the UCAN board should be added in the list. If not check if the USB connection of your virtual machine is passed through.

    1. Enable the interface (up)(same as ifup can0 in nuttx) write the following command:

      • sudo ip link set up slcan0

    2. Clone the cannode v1 tools:

    Install python 3.7 with the following terminal command:

    • sudo apt install python3.7

  • Install pyuavcan with the following terminal command:

    • python3.7 -m pip install pyuavcan

  • Start the deamon on UART <-> SLCAN to use SLCAN0 use the command (for ttyUSB1):

    • sudo slcand -o -s8 -t sw -S 115200 /dev/ttyUSB1

  • git clone https://github.com/PetervdPerk-NXP/cannode-v1-toolsarrow-up-right

  • Make sure the sub modules are in the git repository write the following command in the cannode-v1_tools directory:

    • git submodule update --init

  • Find this line in print_bmsstatus_topic.py:

    • media = pyuavcan.transport.can.media.socketcan.SocketCANMedia('can0', mtu=8)

  • Change it to the right can device, for example:

    • media = pyuavcan.transport.can.media.socketcan.SocketCANMedia('slcan0', mtu=8)

  • Run the pyuavcan tool by typing the following in a terminal where the print_bmsstatus_topic.py file is located:

    • python3.7 print_bmsstatus_topic

  • SJ1, SJ4, SJ8 and SJ12

    S6B-XH-A(LF)(SN)

    Pin 2 to 7

    6s

    SJ2, SJ5 and SJ9

    S7B-XH-A(LF)(SN)

    Pin 1 to 7

    3s

    SJ6, SJ10, SJ11 and SJ12

    S4B-XH-A(LF)(SN)

    Pin 4 to 7

    4s

    SJ3, SJ7, SJ11 and SJ12

    S5B-XH-A(LF)(SN)

    Pin 3 to 7

    4 pairs of MOSFETs and 4 heatsinks

    90A

    2 pairs of MOSFETs and 2 heatsinks

    70A

    2 pairs of MOSFETs and no heatsink

    60A

    DFRobot FIT0588arrow-up-right
    Shunt resistor
    External NFC antenna
    External and additional components
    Optional XT90 Style Power connector
    RDDRONE-BMS772 configuration for 3s (bottom view)
    RDDRONE-BMS772 configuration for 4s (bottom view)
    RDDRONE-BMS772 configuration for 5s (bottom view)
    RDDRONE-BMS772 configuration for 6s (top view)
    RDDRONE-BMS772 configuration for 6s (bottom view)

    5s

    Kit content

    The RDDRONE-BMS772 kit includes:

    • Assembled and tested reference design in anti-static bag

    • Unmounted cell balancing connectors for 3s, 4s and 6s

    Required equipment and software

    To use this BMS772 kit, you will need:

    hashtag
    Additional items needed

    • LiPo battery pack

      • 3S to 6S with cell balancing connector - Voltage range of 6V to 26V

    • Suitable charger for the type of battery

    • Soldering iron to configure the board

    • External Thermistor temperature sensor with cable and JST-GH 2-pin connector (optional)

    • Debugger:

      • Segger J-Link Mini debugger

      • PEMicro universal multilink

    circle-check

    Note: The HoverGames Drone Kit (KIT-HGDRONEK66) and/or FMU Kit (RDDRONE-FMUK66) both include a DCD-LZ adapter and Segger J-Link Mini EDU and an FTDI USBUART-3v3 cable**.**

    By using the DCD-LZ interface and USBUART cable you will also gain access to the command line interface (CLI) of the board.

    hashtag
    Software tools and sources

    • S32 Design Studio for ARM-based MCUs (recommended)

    • Alternatively : PX4 or NuttX build environment depending on what code source is used.

    • PX4/NuttX board target example code (optional, see Software guide)

    Note: The RDDRONE-BMS772 board allows to open the charge circuit when the battery is overcharging , to perform cell balancing and to monitor all cell voltages. Therefore the charger does not need to have a cell terminal connector.

    or other suitable JTAG/SWD debugger

    Getting started with the RDDRONE-BMS772

    Accessories and tools for development

    hashtag
    Software example

    The software example being developed for the RDDRONE-BMS772 board will use a NuttX Real-Time Operating System (RTOS).

    Note: NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards.