All pages
Powered by GitBook
1 of 10

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Configuring the hardware

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.

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 DFRobot FIT0588 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.

Optional XT90 Style Power connector

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.

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

Cell terminal connection

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

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

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

5s

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

Note: SJ13, SJ14, SJ15 and SJ16 are not used for cell terminal connection. See Shunt resistor and External NFC antenna.

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

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 (bottom view)

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

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.

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

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

4 pairs of MOSFETs and 4 heatsinks

90A

2 pairs of MOSFETs and 2 heatsinks

70A

2 pairs of MOSFETs and no heatsink

60A

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

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 External and additional components.

Start-up checklist

First start-up

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

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

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

Powering the RDDRONE-BMS772 board on and off

Once the board is configured properly (see Configuring the hardware 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.

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

  • CAN Bus Termination Resistor (DRONE-CAN-TERM)

  • 4-pin JST-GH to 4-pin JST-GH 300mm cable

  • Power input and power output connectors

  • Quick start guide

  • External thermistor with cable

  • Small display

Getting started with the RDDRONE-BMS772

Flashing firmware to the RDDRONE-BMS772

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

Downloading J-link

Download J-Link Software and Documentation Pack

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.

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.

The debug adapter board
BMS programming header

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.

https://nxp.gitbook.io/nxpmobilerobotics/flashing-guide/flashing-hovergames-boards

Next steps

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

Accessories and tools for development

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.

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

Get the UAVCAN messages with the UCAN board

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

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.

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

  3. Install python 3.7 with the following terminal command:

    • sudo apt install python3.7

  4. Install pyuavcan with the following terminal command:

    • python3.7 -m pip install pyuavcan

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

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

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:

    • git clone https://github.com/PetervdPerk-NXP/cannode-v1-tools

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

    • git submodule update --init

  4. Find this line in print_bmsstatus_topic.py:

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

  5. Change it to the right can device, for example:

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

  6. 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

Required equipment and software

To use this BMS772 kit, you will need:

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

    • or other suitable JTAG/SWD debugger

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.

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.

Cell Terminal Connections

The following part of the schematic is copied here to assist users with wiring cell terminal connections based on custom battery packs. Typically hobby style LiPo Batteries are already wired correctly and will be plug and play. The key item to note is the JP1 pin 7 is the negative most CT on the battery pack. The next pin up JP1 Pin6 will be one cell voltage higher than JP7. Similarly Pin 5 will be one votage higher thatn Pin 6. This continues until the end of the cell count depending on how many cells you have configured the BMS for on the previous page,