Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This page will tell you how to get more info on DroneCAN
The DroneCAN documentation for this board can be found in the release notes version 6: https://github.com/NXPHoverGames/RDDRONE-BMS772/blob/main/BMS772_releaseNotes_6.0.pdf Be sure to download this to get the full PDF. See:
Chapter 8.4: How to use the DroneCAN interface
Chapter 8.4.1 How to set up the DroneCAN GUI tool and start dynamic node ID allocation
Chapter 8.4.2 How to use the DroneCAN GUI tool to configure the BMS
Chapter 8.4.3 How to use the DroneCAN GUI tool to monitor the DroneCAN messages
Chapter 11.5.8.1 DroneCAN messages implemented
To use this BMS772 kit, you will need:
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.
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.
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,
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
It is advised to test the if everything is correct before hooking up a battery. You could mimic a battery with a power supply and resistors as cells.
Solder your power in and power out connectors or wires on the J4 and J5 footprints
Solder the correct cell terminal connector at the JP1 location. Ensure it is correctly positioned and aligned
Configure the board for your application by soldering the corresponding SJxx connectors
Configure the board with additional and/or optional components as described in Configuring the hardware to fit the application requirements
Power the board
Make sure you have the latest software (latest version is 6.0)
Configure the SW correctly, see First Time software configuration of the BMS
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.
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
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.
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.
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
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!
Note: The JP1 connector should be soldered on the top side of the board.
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.
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
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:
Note: Exceeding the given current limit can permanently damage the board.
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.
This page will provide all the information needed to flash the BMS
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.
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.
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/mobilerobotics/software/flashing
Once you're done flashing your board, you may continue to the Accessories and tools for development tutorial.
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
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
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.
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
This page will describe how to get the CyphalCAN BMS messages with the UCAN board
Connect the CypahlCAN 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.
Connect the UCAN board with a USB-TTL-3V3 cable to the laptop.
Install the can utils with the following terminal command:
sudo apt install can-utils
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
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.
Enable the interface (up)(same as ifup can0 in nuttx) write the following command:
sudo ip link set up slcan0
Clone the cannode v1 tools:
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
Keep in mind that the BMS needs to be configured correctly, see the CyphalCAN chapter of the SOFTWARE GUIDE - NUTTX.