1. Introduction
Thank you for choosing Nuvation Energy.
Nuvation Energy Low-Voltage BMS is an enterprise-grade battery management system with features that extend battery life, ensure safety, provide data analytics, and enable remote management.
You can take advantage of the highly configurable browser-based user interface and custom-tune Nuvation Energy BMS to your specific target application.
1.1. About this Manual
This Nuvation Energy Low-Voltage BMS: Product Manual is a comprehensive manual, providing:
-
Details about all the features offered by your Nuvation Energy Low-Voltage BMS
-
Mounting and wiring instructions to install this product safely
-
Guidance on integrating the device into your energy storage system
-
Guidance on operating the Nuvation Energy BMS Operator Interface
If there is a requirement for a Nuvation Energy Low-Voltage BMS to complete a safety certification (such as to UL 1973) there are some additional constraints. These constraint is described in detail in the Nuvation Energy BMS: Safety Manual (available upon request).
This document applies to Nuvation Energy BMS Curie Update 1 software release (Firmware version 4.106.1, Operator Interface version 0.56.1). Content may be inaccurate or incomplete for other versions. |
We thrive on your feedback and what we build is driven by your input.
Please submit support tickets to support@nuvationenergy.com.
2. Battery Topology Terminology
Energy storage systems are hierarchical in nature. Nuvation Energy has adopted the following definitions for battery pack topology:
- Cell
-
A Cell is the smallest unit of energy storage distinguishable by the battery management system. One Cell, as defined from the perspective of the BMS, may actually consist of one or more electrochemical cells connected in parallel. This subtlety is reflected in the nomenclature for completeness. For example, a "1p" Cell refers to a single electrochemical cell, while a "2p" Cell refers to two electrochemical cells connected together in parallel. From the perspective of the BMS, these topologies appear identical except for the capacity of the Cells.
- Group
-
A Group is a set of Cells connected in series and managed together. For example, 12 "1p" Cells in series are referred to as a "12s1p" Group, while 16 "2p" Cells in series are referred to as a "16s2p" Group. Grouping of Cells is highly application-specific and is defined in how BMS hardware interfaces are physically wired up to Cells.
- Stack
-
A Stack is one or more Groups connected in series. For example, five "14s2p" Groups connected in series could be described as a "5g14s2p" Stack. However, it is far more common to describe it as a "70s2p" Stack.
- Bank
-
A Bank is one or more stacks connected in parallel. For example, three "70s2p" Stacks connected in parallel are referred to as a "3x70s2p" Bank.
- Pack
-
A Pack is one or more Banks connected in series.
3. System Overview
The Nuvation Energy Low-Voltage BMS is a complete battery management system that provides cell balancing and charge management for virtually any battery chemistry using a Low-Voltage BMS. The Low-Voltage BMS is designed for input voltage of 11–60 V DC. It can manage up to 12 or 16 battery cells in series and can be expanded to manage additional cells with a Nuvation Energy Cell Interface module.
The input voltage range of 11–60 V DC applies with or without a Cell Interface expansion module. |
Available modules are listed below.
Model | Module Name |
---|---|
NUV300-BC-12-NC |
Low-Voltage BMS - 12 channel, no CAN |
NUV300-BC-16-NC |
Low-Voltage BMS - 16 channel, no CAN |
NUV300-BC-12 |
Low-Voltage BMS - 12 channel |
NUV300-BC-16 |
Low-Voltage BMS - 16 channel |
Expansion Module |
|
NUV100-CI-12-1 |
Cell Interface - 12 channel |
NUV100-CI-16-1 |
Cell Interface - 16 channel |
An example single-stack system with a 12 or 16 channel configuration is shown in Figure 1. This configuration requires a single Low-Voltage BMS.
An example multi-stack system with a 24-channel configuration is shown in Figure 2. This configuration requires a Low-Voltage BMS and a Cell Interface expansion module.
3.1. Low-Voltage BMS
The Low-Voltage BMS contains analog-to-digital measurement circuitry which reads cell voltage, current, and temperature values. It also contains processing capability and software to support decision making and allow it to operate as a stand-alone Nuvation Energy Low-Voltage BMS.
The Low-Voltage BMS is available in the following variants:
-
The NUV300-BC-12-NC which can monitor up to 12 voltage channels (no CAN support)
-
The NUV300-BC-16-NC which can monitor up to 16 voltage channels (no CAN support)
-
The NUV300-BC-12 which can monitor up to 12 voltage channels (includes CAN support)
-
The NUV300-BC-16 which can monitor up to 16 voltage channels (includes CAN support)
The external interfaces to this module are:
-
Cell voltage and temperature sense connector
-
Current shunt connector
-
4 contactor coil driver outputs
-
4 optically isolated digital inputs
-
4 optically isolated digital outputs
-
10/100 Base-T Ethernet port (Modbus-TCP)
-
Isolated CAN 2.0 port (not available in no-CAN variants (*-NC))
-
Isolated RS-485 (Modbus-RTU) port
-
Expansion interface connector for additional Cell Interface modules
-
Fault and communication indicator LEDs
3.2. Cell Interface
The Nuvation Energy Cell Interface is the direct link between the individual battery stack cells and the rest of the battery management system. It facilitates battery monitoring and balancing functionalities.
In a Low-Voltage BMS, a larger battery stack can be accommodated with the addition of one or more Cell Interface modules, provided the total stack voltage does not exceed maximum rating of the default configuration. When coupled with a Low-Voltage BMS, the Cell Interface model must match the Low-Voltage BMS model—i.e. A Low-Voltage BMS - 12 channel can only be coupled with a Cell Interface - 12 channel, and a Low-Voltage BMS - 16 channel can only be coupled with a Cell Interface - 16 channel. The firmware does not support a mixed chain of different Cell Interface variants.
The following are variants of the Nuvation Energy Cell Interface:
-
The NUV100-CI-12-1, Cell Interface - 12 channel can monitor up to 12 series-connected cells
-
The NUV100-CI-16-1, Cell Interface - 16 channel can monitor up to 16 series-connected cells
The external interfaces to this module are:
-
Battery cells connector
-
Temperature sensors connector
-
2 Link Bus connectors
-
2 Indicator LEDs
3.3. Features
- Key software features
-
-
Manage balancing and provide stack management.
-
Calculates State of Charge and Depth of Discharge at both the cell and stack levels.
-
Communicates with external systems via Modbus TCP (Ethernet), Modbus RTU (RS-485), or CAN bus.
-
Provides access to the Nuvation Energy BMS Operator Interface.
-
Supports firmware upgrades via Ethernet.
-
- RS-485
-
The Low-Voltage BMS provides an isolated RS-485 (Modbus) port. This interface can be used to control an external battery charger/inverter and for communicating with an external system (vehicle central controller, grid-attached controller, etc.)
- Control GPIO
-
The Low-Voltage BMS provides 4 isolated outputs and 4 general-purpose inputs to connect external systems or external equipment. The functionality of the GPIO interface is configurable by the end-user to match their needs. This connector also has 4 other inputs which perform specific functions, such as Factory Reset, Clear Faults, Shutdown, and BMS Enable.
- Link Bus
-
The Link Bus chain enables power and communication between the Low-Voltage BMS and the series-connected chain Cell Interface modules.
- Contactors
-
The Low-Voltage BMS module’s Contactors connector enabled connecting to up to 4 external high-current contactor coils. The connector provides 24 VDC power for energizing contactor coils, and optionally accepts external coil power input for voltage flexibility.
- Current Shunt
-
This interface is used to connect the Low-Voltage BMS to a current shunt for stack charge and discharge current measurement as well as overall stack voltage measurement.
- CAN
-
An isolated CAN 2.0 port is available on the Low-Voltage BMS for communicating with external systems. This option is not available in no-CAN variants (*-NC).
4. Installation Instructions
4.1. Low-Voltage BMS Mechanical Installation
4.1.1. Dimensions and Weight
The overall dimensions of the Low-Voltage BMS are 220 mm × 125 mm × 30 mm.
The Low-Voltage BMS weighs approximately 400 g.
4.1.2. Installation Location and Position
The Low-Voltage BMS is rated to operate in the temperature range of -10 °C to 60 °C. It is designed for indoor use.
The Low-Voltage BMS should be securely mounted in a vertical orientation, with the label facing out. The Battery Cells and Temperature Sensor connector should be facing up or to the left. If this is to be used with a battery chemistry such as lead-acid—which does not require balancing—the Low-Voltage BMS may be mounted horizontally, with the ventilation slots oriented upwards.
It is not advisable to mount the Low-Voltage BMS on the underside of a horizontal surface.
4.1.2.1. Mounting Clearances
Extra space should be provided around the module to allow for sufficient heat dissipation as well as easy installation and maintenance. The Low-Voltage BMS - 12 channel and Low-Voltage BMS - 16 channel variants produce up to 24 W and 32 W, respectively, during cell balancing.
4.1.3. Mounting Instructions
The Low-Voltage BMS has 2 flanges with 2 clearance holes for #10-32 fasteners and 1 slot on each flange for mounting purposes. Ensure appropriate fasteners (not included) for are used to mount the Low-Voltage BMS. These fasteners will vary depending on the material and construction of the mounting surface.
4.2. Low-Voltage BMS Electrical Connections
4.2.1. Getting Started
To complete the installation of the Low-Voltage BMS, the following is required:
-
1x Cable, Voltage, Thermistor, 300VDC
-
1x Cable, Current Shunt, +V Power, 300VDC
-
1x Cable, Contactors, -V Power, 300VDC
-
1x Cable, GPIO, Control, 300VDC
-
1x Cable, CAT.5e, UTP, Ethernet, 60VDC
These cables are available for purchase as a kit from https://nstore.nuvationenergy.com.
Additionally, you will need the following items that are appropriately sized for your application:
-
1x Current Shunt
-
2x Contactors
-
1x Pre-charge Contactor [Optional]
These items are available for purchase at https://nstore.nuvationenergy.com
The instructions below are for applications using cable harnesses purchased from Nuvation Energy. To build custom cables, refer to Section 9.1 for connector pin-out and specifications.
- Connection sequence
-
-
Step 1: Review Safety Considerations
-
Step 2: Grounding and Fusing
-
Step 3: Connect Communication Cables
-
Step 4: Connect Control / GPIO cable
-
4.2.2. Review Safety Considerations
Operating power, including primary power source for operating the contactor coils, is provided to the Low-Voltage BMS at two connectors:
-
positive at the Current Shunt / +V Power connector.
-
negative at the Contactors / -V Power connector.
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the Low-Voltage BMS and Cell Interface. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the Low-Voltage BMS and Cell Interface include protective circuitry to make them more resilient to brief wiring errors, the same circuitry can result in the battery cells being slowly discharged. Over time, these wiring errors can cause damage to the Low-Voltage BMS, Cell Interface, and/or the cells. |
4.2.3. Grounding and Fusing
The Low-Voltage BMS enables connection to a series-connected stack of monitored cells up to a total voltage of 60 V DC. The lowest potential (the negative end) of the connected stack also serves as the common return for the contactor coils as well as the reference for the Low-Voltage BMS internal circuitry and power supply. Any connection to earth or chassis ground must be made outside of the Low-Voltage BMS.
The contactor coils return to the same potential as the most negative end of the attached stack regardless of whether this point is connected to ground. |
An earth or chassis ground connection may be made to any single point in the connected cell stack as required by the application. The cell stack may also be left isolated from earth or chassis. Fusing of the cell stack where it connects to provide operating power to the Low-Voltage BMS is required externally.
- If the load side of the current shunt is grounded
-
-
A fuse is required at the negative power connection point only, in line with the connection to pin 6 of the Contactors / -V Power connector
-
Connect pin 6 of the Contactors / -V Power connector through a fuse to the negative end of the stack
-
Connect pin 1 of the Current Shunt / +V Power connector directly to the load side of the current shunt, or to ground
-
- If the most negative end of the stack is grounded
-
-
A fuse is required at the positive power connection point only, in line with the connection to pin 1 of the Current Shunt / +V Power connector
-
Connect pin 1 of the Current Shunt / +V Power connector through a fuse to the load side of the current shunt
-
Connect pin 6 of the Contactors / -V Power connector directly to the negative end of the stack, or to ground
-
- If no ground connection exists within the stack or if a ground connection is made somewhere other than at an end
-
-
Fuses are required at both the positive and negative power connection points to the Low-Voltage BMS, in line with each of pin 1 of the Current Shunt / +V Power connector and pin 6 of the Contactors / -V Power connector
-
Connect pin 1 of the Current Shunt / +V Power connector through a fuse to the load side of the current shunt
-
Connect pin 6 of the Contactors / -V Power connector through a fuse to the negative end of the stack
-
Fuses are not supplied and must be selected according to the application.
The current rating of the fuse (Ifuse
) must be chosen based on the peak open circuit voltage (Voc_max
) of the supply to the Low-Voltage BMS (i.e. battery stack voltage).
Use Table 2 as a guide to select either one or two fuses of the same capacity.
Stack Voltage |
Fuse Rating |
Example Part |
|
||
12 V Battery (9–16 V) |
5 A |
Eaton P/N: BK/ABC-5-R |
|
||
24 V Battery (18–32 V) |
3 A |
Eaton P/N: BK/ABC-3-R |
36 V Battery (27–48 V) |
2 A |
Eaton P/N: BK/ABC-2-R |
48 V Battery (36–60 V) |
1.5 A |
Eaton P/N: BK/ABC-1-1/2-R |
3AB/3AG fast-response cartridge fuses and in-line fuse holders are commonly used for this application |
An external 9–60 V DC power source may be used (instead of the connected battery stack) to power the Low-Voltage BMS and power the contactor coils. The positive of this source must connect through a fuse to pin 1 of the Current Shunt / +V Power connector and the negative of this source must connect through a fuse to pin 6 of the Contactors / -V Power connector. In this situation, pin 5 of the Contactors / -V Power connector must be connected directly to the most negative end of the stack. This will connect the negative of the external power source to the most negative end of the attached stack, so caution must be exercised when choosing the power source to ensure that this is acceptable and safe. On the other hand, an external supply that is either NEC Class 2 or a limited power supply (LPS) can be used to power the BMS without external fuses.
While the maximum input voltage to the Low-Voltage BMS will not exceed 60V, precaution should be taken to avoid any short circuits, as high current levels could present a burn and fire hazard. |
4.2.4. Connect Communication Cables
Four of the Low-Voltage BMS connectors use an RJ45 connector:
Connect the cables that apply to your application.
4.2.4.1. Connect Link Out (Connector J1)
This connector is used for applications with a Cell Interface expansion module only. |
In certain situations, it may be required to monitor more than 16 cells in series, such as with 2 V lead-acid cells. This interface is used to connect the Low-Voltage BMS module to an expansion Cell Interface module to provide monitoring for additional battery cells and thermistors. Connect this interface to the Cell Interface module’s Link In connector. A green LED on this connector indicates Low-Voltage BMS activity
For pin assignment table, refer to Section 9.1.1
4.2.4.2. Ethernet / Modbus TCP (Connector J2)
This interface is used as the primary means of connecting an external system to the Low-Voltage BMS to configure the operating parameters and observe the status and perform maintenance such as firmware upgrades. It is also used as a means of controlling an external battery charger/inverter and communicating with the external system (vehicle central controller, grid-attached site controller, etc.)
For pin assignment table, refer to Section 9.1.2
The Ethernet jack is a standard RJ45 Cat5e rated jack. The two LEDs on the Ethernet jack indicate link status (green LED) and network activity (yellow LED).
4.2.4.3. CAN or Unused (Connector J3)
On the no-CAN variant (*-NC) this port is labeled 'Unused J3'. The details below do not apply to no-CAN variants (*-NC) as they do not have a CAN bus interface. |
This interface provides an isolated CAN bus 2.0 port which an external controller may use to read and write registers in order to make decisions regarding the overall system.
CAN bus termination is not provided by the Low-Voltage BMS on stock production units. Standard 120 Ω termination must be installed at each end of the CAN bus network. Jumper-selectable resistive bus termination is available upon request.
Connect external equipment to this connector.
The CAN
interface connector is a standard RJ45 Cat5e rated jack.
A green LED on this connector indicates CAN bus activity.
For pin assignment table, refer to Section 9.1.3
4.2.4.4. RS485 / Modbus RTU (Connector J4)
This interface provides an isolated RS485 (Modbus-RTU) port which an external controller may use to read and write registers in order to make decisions regarding the overall system.
RS485 termination is not provided within the Low-Voltage BMS on stock production units. Standard 120 Ω termination must be installed at each end of the Modbus-RTU network. Jumper-selectable resistive bus termination is available upon request.
Connect external equipment to this connector.
The RS485 / Modbus RTU
interface connector is a standard RJ45 Cat5e rated jack.
A green LED on this connector indicates Modbus activity
For pin assignment table, refer to Section 9.1.4
4.2.5. Control / GPIO (Connector J5)
The GPIO cable is available with either 2 or 4 GPI and GPO connections. Use the cable to connect external equipment to the GPIO-out interface.
The functionality of this interface is configured by the end-user to match their needs.
This interface provides connections to isolated general purpose inputs and outputs, and also specific function inputs that can be used to:
-
Enable the power supply
-
Invoke or force a system shutdown
-
Clear system faults
-
Invoke a factory reset
4.2.5.1. GPIO Block
The general-purpose outputs from the Low-Voltage BMS are implemented using optical MOSFET switches. These outputs are non-polarized, presenting an on-resistance of typically 2 Ω and capable of carrying 400 mA DC current when activated. Figure 14 and Figure 15 show high-level circuit diagrams for the GPIO Output and Input pins.
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
GPO_ISO0_A |
Digital Output 0 |
External Equipment |
2 |
GPO_ISO1_A |
Digital Output 1 |
External Equipment |
3 |
GPO_ISO2_A |
Digital Output 2 |
External Equipment |
4 |
GPO_ISO3_A |
Digital Output 3 |
External Equipment |
5 |
+5V_GPIO_ISO |
Isolated +5V I/O Power Supply |
External Equipment |
6 |
GPI_ISO0_K |
Input detector 0 |
External Equipment |
7 |
GPI_ISO1_K |
Input detector 1 |
External Equipment |
8 |
GPI_ISO2_K |
Input detector 2 |
External Equipment |
9 |
GPI_ISO3_K |
Input detector 3 |
External Equipment |
10 |
FAULT_CLEAR# |
Momentary to COMIO to clear faults |
Processor GPI via logic elements |
11 |
FACTORY_RESET# |
Hold to COMIO during startup to perform a factory reset |
Processor GPI via logic elements |
12 |
BMS_ENABLE# |
Momentary to VBOT to enable BMS; Hold to VBOT to defeat Shutdown Note the different reference from other inputs |
Power supply enable gate |
13 |
GPO_ISO0_B |
Digital Output 0 |
External Equipment |
14 |
GPO_ISO1_B |
Digital Output 1 |
External Equipment |
15 |
GPO_ISO2_B |
Digital Output 2 |
External Equipment |
16 |
GPO_ISO3_B |
Digital Output 3 |
External Equipment |
17 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
18 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
19 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
20 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
21 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
22 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
23 |
SHUTDOWN# |
Momentary to COMIO to invoke shutdown; Hold to COMIO to force shutdown |
Processor GPI via logic elements, hard shutdown (no software) via logic elements with longer press |
24 |
VBOT |
VBOT |
The general-purpose inputs, as well as the specific-purpose inputs (FAULT_CLEAR
, FACTORY_RESET
, SHUTDOWN
) to the Low-Voltage BMS are implemented using optical isolation components.
The current source for these inputs is provided in the Low-Voltage BMS and each input is activated by providing a simple contact closure to the common point.
- Fault Clear Input (
FAULT_CLEAR#
) -
When the
FAULT_CLEAR#
input to the Low-Voltage BMS is asserted for a minimum duration of at least 200 ms, the BMS will issue a Clear Fault operation. If all fault conditions within the BMS have been cleared by this action, the BMS can be commanded to close its contactors (or the contactors may automatically close if there was a prior request). If faults still exist after this action, the BMS will prevent the contactors from being closed. An operator will have to use the Operator Interface or external communication interfaces to determine the remaining faults in the system. When faults areTripped
, refer to Section 10.
- Shutdown Input (
SHUTDOWN#
) -
When the
SHUTDOWN#
input to the Low-Voltage BMS is asserted for a minimum duration of 200 ms but less than two seconds, the BMS will issue a graceful shutdown command and disconnect its power. As part of the graceful shutdown sequence, the BMS will:-
Request disconnect via
stack_control
-
Wait for
stack_control
to indicate that disconnection is complete -
Wait for all contactors to reach the disconnected state
-
Disconnect power
The BMS will power off at the end of the shutdown sequence. This process can take multiple seconds depending on system state and configuration. If the BMS fails to initiate the shutdown sequence, the
SHUTDOWN#
input can be asserted continuously for more than two seconds which will cause the BMS hardware to disconnect power. This is only recommended in cases where graceful shutdown fails.
-
- Factory Reset Input (
FACTORY_RESET#
) -
Factory reset loads the factory firmware image and erases the persistent configuration registers stored within the BMS. Refer to Appendix D for instructions on performing a factory reset.
- BMS Enable Input (
BMS_ENABLE#
) -
The
BMS_ENABLE#
input differs slightly from the other specific-purpose inputs. This control requires a contact closure between theBMS_ENABLE#
andVBOT
signals and must not be referenced to the common point of the other inputs. It is used to start the Low-Voltage BMS after it has been shut down due to activation of theSHUTDOWN
input, low battery, or some other condition invoked under software control.BMS_ENABLE#
is pulled up to the battery stack positive (potentially 60 V away fromVBOT
) so the switch/external controller must be tolerant of the maximum battery stack voltage.
4.2.6. Battery Cells and Temperature (Connector J8)
The Voltage and Thermistor cable has voltage sense wires for the battery cell as well as up to eight 10 kΩ NTC thermistors.
This cable connects into the Battery Cells and Temperature (J8)
interface on the Low-Voltage BMS.
For pin assignment table, refer to Section 9.1.8
Low-Voltage BMS | Cell groups | Total cell inputs per group | Max cell voltage per input | Max total voltage across group | Max total voltage across all groups | Min voltage per group |
---|---|---|---|---|---|---|
NUV300-BC-12 |
1 |
12 |
5V |
60V |
60V |
11V |
NUV300-BC-16 |
2 |
8 |
5V |
40V |
60V |
11V |
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the Low-Voltage BMS and Cell Interface. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the Low-Voltage BMS and Cell Interface include protective circuitry to make them more resilient to brief wiring errors, the same circuitry can result in the battery cells being slowly discharged. Over time, these wiring errors can cause damage to the Low-Voltage BMS, Cell Interface, and/or the cells. |
4.2.6.1. Battery Cells Connections for Low-Voltage BMS - 12 channel
Connected cells are monitored internally by a single functional block. This functional block requires a minimum stack voltage of 11 V to operate and measure its input voltages. The total voltage across the stack can be up to 60 V. Unused cell tap wires should be connected to the last cell in the stack. See Figure 17 and Figure 18 for examples of how to connect cells to the NUV300-BC-12.
Connecting to the NUV300-BC-12 is very straightforward since all connected cells belong to a single group.
The cells must be connected in ascending voltage order, such that the negative terminal of the most negative (bottom) cell connects to VCELL0
and the positive terminal of each cell connects in ascending voltage order to VCELL1
, VCELL2
, etc.
If fewer than 12 cells are connected, the top cell and all unused cell inputs between the top cell and VCELL12
must be connected to VCELL12
.
Inputs VCELL13
through VCELL16
may be left disconnected, as shown in Figure 18.
Use a separate wire to connect input VSTACK_SENSE
to the negative end of the most negative (bottom) cell.
4.2.6.2. Battery Cells Connections for Low-Voltage BMS - 16 channel
Connected cells are monitored internally by 2 functional blocks, each measuring 8 cells (VCELL0
to VCELL8
and VCELL8
to VCELL16
).
Each functional block requires a minimum of 11 V across it to operate and measure its input voltages.
The total voltage across the stack can be up to 60 V.
See Figure 19, Figure 20 and Figure 21 for examples of how to connect cells to the NUV300-BC-12.
Groups do not need to contain the same number of cells but the maximum and minimum voltage limits must be met, as stated in Table 4.
The NUV300-BC-16 requires division of the connected cells into two groups. Each group comprises a sequentially-connected subset of the connected cells and the groups may be of different cell counts to a maximum of eight cells per group.
It is important to connect all cells in ascending voltage order, such that the negative terminal of the most negative (bottom) cell of the more negative group connects to VCELL0
, and the positive terminal of each cell in that group connects in ascending voltage order to VCELL1
, VCELL2
, etc.
If fewer than 8 cells are connected in the more negative group, then that group’s top cell and all unused cell inputs between the group’s top cell and VCELL8
must be connected to VCELL8
.
Recognizing that the positive terminal of the top cell of the more negative group always connects to the negative terminal of the bottom cell of the more positive group and to VCELL8
, the positive terminals of the cells in the more positive group must connect in ascending voltage order to VCELL9
, VCELL10
, etc.
If fewer than 8 cells are connected in the more positive group, then that group’s top cell and all unused cell inputs between the group’s top cell and VCELL16
must be connected to VCELL16
.
Figure 19 shows the connection of 16 cells to a NUV300-BC-16. It is recommended to use a NUV300-BC-12 for an 11-cell stack, but if a NUV300-BC-16 must be used, an example of the correct connection of 11 cells to a NUV300-BC-16 is presented in Figure 20. A less desirable connection example is shown in Figure 21 which assumes three cells are sufficient to provide the required 11 V minimum to the lower group.
Use a separate wire to connect input VSTACK_SENSE
to the negative end of the most negative (bottom) cell of the more negative group.
4.2.6.3. Temperature Sensor Connections
The Temperature cable provides 10 kΩ NTC thermistors for temperature measurement of the cells and/or surrounding area. These sensors are used by Nuvation Energy BMS to detect over and under temperature conditions. The sensors supported are negative temperature coefficient (NTC) thermistor type, with a 25° C resistance of 10 kΩ.
2 to 7 thermistors are supported to accommodate systems requiring Nuvation Energy BMS to meet functional safety requirements. |
- Cable Isolation
-
Because the sensors are referenced to the
VCELL0
input on the Low-Voltage BMS, care must be taken to ensure that they are electrically isolated from any common or ground potential, and from all other cell voltage terminals of the Low-Voltage BMS and/or Cell Interface modules in the systemThe thermistors must be isolated from the cell voltage terminals, as well as any metal work or other exposed conductors, in such a way that they will not make an electrical connection to a cell terminal in the event of vibration/failures.
- Thermal Consistency
-
For safety certified systems, there is an additional constraint on thermal consistency for all temperature measurements of the Low-Voltage BMS and Cell Interface. The constraint is described in detail in Section 7.10.9.
4.2.7. Contactors / -V Power (Connector J6)
This interface is used to drive up to 4 external contactor coils, as well as select their power source. The negative operating power is also provided in a fused connection to this connector (see Section 4.2.3).
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
COM |
Negative Coil 1 |
Contactor 1 negative coil connection |
2 |
COM |
Negative Coil 2 |
Contactor 2 negative coil connection |
3 |
COM |
Negative Coil 3 |
Contactor 3 negative coil connection |
4 |
COM |
Negative Coil 4 |
Contactor 4 negative coil connection |
5 |
VCOIL_RETURN |
Negative reference for external supply |
External Power Supply. Refer to Figure 7 and Figure 11 for additional requirements |
6 |
-VPOWER |
Power return of Low-Voltage BMS |
Bottom of Stack |
7 |
COIL1_HI |
Positive Coil 1 |
Contactor 1 positive coil connection |
8 |
COIL2_HI |
Positive Coil 2 |
Contactor 2 positive coil connection |
9 |
COIL3_HI |
Positive Coil 3 |
Contactor 3 positive coil connection |
10 |
COIL4_HI |
Positive Coil 4 |
Contactor 4 positive coil connection |
11 |
+VCOIL |
12-24V Contactor Coil Power Supply |
Connect to external power supply, or to pin 12 if driving contactor coil from internal power supply |
12 |
+24V |
Internal Power Supply |
Connect to pin 11 if driving contactor coils from internal power supply |
The Low-Voltage BMS provides coil drivers for contactor coils up to 24 V DC. The internal 24 V power supply of the Low-Voltage BMS may be used to power the coils if the following conditions are satisfied:
-
24 V coils are connected
-
The worst-case coil inrush current is below 1.5 A
-
The sum of all connected coil currents is less than 1 A
To use the internal power supply, connect together pins 11 (+VCOIL
) and 12 (+24V
) to deliver +24 V DC to the +VCOIL
input.
Pin 5 (VCOIL_RETURN
) is left disconnected and should be insulated to prevent shorts.
Other coil voltages in the 12–24 V range and total currents of up to 1.5 A per coil may be supported through the use of an external DC power source.
Such a supply must be connected between +VCOIL
(pin 11) and VCOIL_RETURN
(pin 5).
As depicted in Figure 11, if an external power supply is used to power the Low-Voltage BMS instead of the battery stack, the VCOIL_RETURN
(pin 5) must be externally connected to the bottom of the battery stack.
If using a dedicated external power supply to power the contactor coils, connect the common return of that supply to this pin.
Coil back-EMF protection is provided by the Low-Voltage BMS that clamps at 40 V. External clamping diodes of lower voltages may be connected if required.
The bottom of the attached battery stack is internally connected to the common return path for all contactor coils (pins 1 to 5). It is recommended that no ground connection be made at the coils to avoid creating an inadvertent ground fault or ground loop. |
Contactor coils are to be connected between the COILn_HI
and COM pins as required.
When the Low-Voltage BMS activates a contactor, the COILn_HI
output is driven to a VCOIL
voltage level.
Unused contactor coil wires should be properly insulated or removed.
Refer to Figure 7 and Figure 11 for use of the –VPOWER
.
In safety certified applications that require a method to externally de-energize the contactors, a switch or relay can optionally be used to interrupt the coil operating power for all contactors. The switch or relay must be rated for the anticipated worse-case current which will occur when all except one coil will be energized and then last coil pulls in its contact. The voltage rating of the switch or relay needs to be rated for 2x the coil voltage or up to 40V to survive transients.
In safety certified applications, two contactors should be used and one of the two contactors needs to be connected to Coil 1
or Coil 2
and the other contactor needs to be connected to Coil 3
or Coil 4
.
This implementation achieves redundancy against single point failures that would otherwise result in a situation where the battery cannot be disconnected from the external charging source or load.
4.2.8. Current Shunt / +V Power (Connector J7)
This interface is used to connect the current shunt to the Low-Voltage BMS. The positive operating power is provided in a fused connection to this connector (see Section 4.2.3).
This connection must only be made after all other connections to the Low-Voltage BMS have been made. |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
+VPOWER |
Main power supply input |
Positive end of the stack or other power source |
2 |
No Connect |
Not Connected |
No Connect |
3 |
No Connect |
Not Connected |
No Connect |
4 |
VSHUNT_LOAD |
Differential voltage input; Load side |
Load side of current shunt |
5 |
VSHUNT_BAT |
Differential voltage input; Battery side |
Battery side of current shunt |
6 |
VSHUNT_REF |
Voltage reference for voltage measurement |
Battery side of current shunt |
The Low-Voltage BMS requires the shunt to be on the high side (positive end) of the battery stack.
The VSHUNT_REF
signal is used to compensate for the voltage drop in the sense wires as well as to provide the positive reference for measuring the overall voltage of the stack.
VSHUNT_BAT
and VSHUNT_LOAD
carry the differential voltage measurement from the shunt.
VSHUNT_BAT
must be closest to the battery cells and VSHUNT_LOAD
must be closest to the Stack Fuse so that the measured current has the correct polarity.
To minimize outside interference, twist VSHUNT_LOAD
and VSHUNT_BAT
together to form a twisted pair, then run all 3 wires close together.
4.3. Cell Interface Mechanical Installation
4.3.1. Dimensions and Weight
The overall dimensions of the Cell Interface are 104.4 mm × 121.58 mm × 40.6 mm.
The standard Cell Interface (i.e. with bulkhead) weighs approximately 450 g.
4.3.1.1. DIN rail mounting Kit
For applications requiring DIN rail mounting, the Cell Interface Mounting Bracket (Bulkhead-to-DIN) (sold separately) may be used. This kit includes a metal plate and the necessary hardware to securely mount the bulkhead enclosure of the Cell Interface to EN50022-compliant DIN rails.
The Mounting Bracket kit assembly adds an extra 14.2 mm to the overall width of the Cell Interface module, bringing it from 104.4 mm to 118.6 mm. The kit assembly holds the module approximately 7 mm away from the inside lip of the DIN rail.
The Mounting Bracket offsets the Cell Interface module from the center of the DIN rail approximately 30 mm upwards as shown in Figure 28.
A Cell Interface with the Mounting Bracket weighs approximately 540 g.
4.3.2. Installation Location and Position
The Cell Interface is available in a bulkhead-mountable enclosure which has five metal walls, leaving the back of the unit fully exposed. It is designed to mount to a metal bulkhead panel such that the panel covers the exposed back.
The Cell Interface is rated to operate in the temperature range of -10 °C to 60 °C. It is designed for indoor use.
The Cell Interface should be mounted against a flat surface with the 'Link In' and 'Link Out' ports pointing up to the sky.
Ensure the enclosure is connected securely to Earth, either by grounding the mounting surface or by using a dedicated Earth Bonding Conductor. |
4.3.2.1. Mounting Clearances
The NUV100-CI-12-1 and NUV100-CI-16-1 variants produce up to 24 W and 32 W, respectively, during cell balancing. A portion of this heat is transferred to the bulkhead.
Extra space should be provided around the module to allow for sufficient heat dissipation as well as easy installation and maintenance.
4.3.3. Mounting Instructions
Ensure appropriate fasteners (not included) are used to mount the Cell Interface. These fasteners will vary depending on the material and construction of the mounting surface.
It is suggested to use #8-32 screws with a split lock washer for the mounting holes provided on each side flange of the Cell Interface.
4.4. Cell Interface Electrical Connections
The Low-Voltage BMS system should not be used with a battery stack that exceeds 60 V DC during normal operation. Please see Section 4.4.3.1.1 for safety considerations. |
4.4.1. Getting Started
To complete the installation of the Cell Interface, the following is required per Cell Interface module:
-
1x Battery Cells cable
-
1x Thermistor cable
-
1x Link Bus (LV to CI) cable
These cables are available for purchase as a kit.
The instructions below are for applications using cable harnesses purchased from Nuvation Energy. To build custom cables, refer to Section 9.2 for connector pin-out and specifications.
- Connection sequence
-
-
Step 1: Connect Temperature cable for temperature measurement of the cells
-
Step 2: Connect Battery Cells cable to battery voltage sense leads
-
Step 3: Connect Link Bus cable to BMS module(s)
-
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the Low-Voltage BMS and Cell Interface. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the Low-Voltage BMS and Cell Interface include protective circuitry to make them more resilient to brief wiring errors, the same circuitry can result in the battery cells being slowly discharged. Over time, these wiring errors can cause damage to the Low-Voltage BMS, Cell Interface, and/or the cells. |
4.4.2. Connect Temperature Cable
The Temperature cable provides 10 kΩ NTC thermistors for temperature measurement of the cells and/or surrounding area. These sensors are used by Nuvation Energy BMS to detect over and under temperature conditions and adjust battery current limits to compensate for cell temperature.
2 to 7 thermistors are supported to accommodate systems requiring Nuvation Energy BMS to meet functional safety requirements. |
- Cable Isolation
-
Because the sensors are referenced to the
CELL0
input on the Cell Interface, care must be taken to ensure that they are electrically isolated from any common or ground potential, and from all other cell voltage terminals of all Cell Interface modules in the systemThe thermistors must be isolated from the cell voltage terminals, as well as any metal work or other exposed conductors, in such a way that they will not make an electrical connection to a cell terminal in the event of vibration/failures.
- Thermal Consistency
-
For safety certified systems, there is an additional constraint on thermal consistency for all temperature measurements of the Low-Voltage BMS and Cell Interface. The constraint is described in detail in Section 7.10.9.
4.4.2.1. Connection Procedure
- Connect to Surface
-
It is recommended to use thermally conductive/electrically non-conductive epoxy to adhere the thermistors to the cells.
- Connect to Cell Interface
-
'Temperature' cable connects to the 'Temperature Sensors' port at the bottom of the Cell Interface.
4.4.3. Connect Battery Cells Cable
The Battery Cells cable provides cell voltage input and a means for balancing the cells.
- Power Requirements
-
Cells are connected as two groups and a minimum of 11 V must be present between the most negative and most positive cells of each group.
4.4.3.1. Connection Procedure
- Connect to Cells
-
Connect the cables wires to the battery voltage sense leads. The individual wires are labelled to help with identifying the connections. Verify the cell voltages present on the connector are correct. While the Cell Interface module is tolerant of most wiring errors, incorrect connections may cause the cells to discharge.
Refer to the wiring examples below for the specific Cell Interface module used.
- Connect to Cell Interface
-
'Battery Cells' cable connects to the 'Battery Cells' port at the bottom of the Cell Interface.
4.4.3.1.1. Safety Considerations
The Low-Voltage BMS module’s I/O ports (e.g. Ethernet, CAN, RS485 / Modbus RTU, Control / GPIO, Link Out) are SELV (Safety Extra Low Voltage) rated to 60 V. For example, a system using more than 16 cells of 2V lead-acid could exceed the 60 V maximum of the Low-Voltage BMS module during the equalization phase of the charge profile.
To maintain the SELV rating of the Low-Voltage BMS I/O ports, the negative terminal of the battery stack must be connected to earth ground. This prevents high voltage from propagating out of the I/O ports in the very unlikely event of an internal failure with the current shunt interface. This requirement also means that any device connected to the Low-Voltage BMS must reference its signals to earth ground, as any signal referenced to the top of the battery stack would exceed the 60 V limit of the Low-Voltage BMS.
4.4.3.1.2. Battery Cell Connector for Cell Interface - 12 channel
Figure 33 shows the wiring of the upper 12 cells of a 24-cell battery to the Cell Interface - 12 channel, which would be paired with a Low-Voltage BMS - 12 channel.
If fewer than 24 cells are required, the unused inputs would be connected to the positive terminal of the top cell in the stack. Figure 34 shows the wiring of the upper 8 cells of a 20-cell battery to the Cell Interface - 12 channel, which would be paired with a Low-Voltage BMS - 12 channel.
4.4.3.1.3. Battery Cell Connector for Cell Interface - 16 channel
Figure 35 shows the wiring of the upper 16 cells of a 32-cell battery to the Cell Interface - 16 channel, which would be paired with a Low-Voltage BMS - 16 channel.
If fewer than 32 cells are required, the unused inputs would be connected to the positive terminal of the top cell in the stack. Figure 36 shows the wiring of the upper 11 cells of a 27-cell battery to the Cell Interface - 16 channel, which would be paired with a Low-Voltage BMS - 16 channel.
4.4.4. Connect the Link Bus Cable
The Link Bus cable is used to connect the Low-Voltage BMS to a Cell Interface module. As long as the system doesn’t exceed the maximum 60 V DC limit, additional Cell Interface modules may be connected in a daisy chain (called the Link Bus chain) using Link Bus cables. The Link Bus provides a data channel and a power source to the Cell Interface.
- Connection Procedure
-
-
Connect one end of the cable to the 'Link Out' connector on the Low-Voltage BMS.
-
Connect the other end of the Link Bus cable to the 'Link In' connector on the Cell Interface.
-
The 'Link Out' on the Cell Interface is to be left un-connected.
-
4.4.5. First-time Power-up
Once the Low-Voltage BMS is connected to the battery (including the Cell Interface modules chain), the Low-Voltage BMS can be powered. The Low-Voltage BMS activity LED (green) should turn ON.
On initial power-up, it is common to see that the fault LED (red) is also ON. This indicates that a fault has been detected; the next step will be to clear this fault.
The Low-Voltage BMS can now be connected to a network, either through a network switch or directly to a computer/laptop’s network adapter. The default IP address of the Low-Voltage BMS is 192.168.1.21. Refer to the subsequent Section 5 and Section 6 for instructions on setup and using the Operator Interface.
4.4.6. Status LEDs
When the battery management system is powered up, the status LEDs on the modules provide indication of the functional status of the module. A more detailed status may be accessible via the Operator Interface.
4.4.6.1. Low-Voltage BMS
- Fault
-
The Fault LED indicates that the Nuvation Energy BMS has detected a fault condition in the system.
- Activity
-
This LED on the Link-Out RJ-45 connector indicates that the Low-Voltage BMS is communicating over the Link Bus.
4.4.6.2. Cell Interface
The 2 status LEDs on the face of the Cell Interface indicate the functional status of the module.
- Activity
-
This LED indicates that the Cell Interface module has received a communication packet over the Link Bus.
- Fault
-
This LED is not used in normal operations. It is available to support on-site troubleshooting.
5. Setting up the Operator Interface
5.1. Install the Operator Interface
The Nuvation Energy BMS Operator Interface is used to access the Nuvation Energy BMS. The latest Operator Interface release is available online at: https://ncloud.nuvationenergy.com. You may create an account to download the software package.
-
Download the
Low-Voltage BMS
package -
Extract the contents of the package to a suitable location on your computer.
-
Releases follow a naming convention similar to
nuvation-hv-bms-babbage-18.08.1.zip
. The package should be extracted to a folder with the same name to avoid overwriting other releases or files present in the same directory.
Browser Compatibility
The Operator Interface currently supports the most recent versions of Mozilla Firefox and Google Chrome. Other browsers such as Internet Explorer are not supported. Please install a supported browser before attempting to access the Operator Interface. |
5.2. Connect to the Operator Interface
Ensure your computer is connected directly to the Low-Voltage BMS via an Ethernet cable. You will need to configure the network adapter on your computer to match the settings on your battery management system.
- Identify the battery management system IP
-
By default, Nuvation Energy BMS is configured with a static IP address of
192.168.1.21
. - Identify the parts of the battery management system’s IP Address
-
The IP address has two parts - the network ID and the host ID.
Figure 38. Parts of an IP addressWrite down the network ID and host ID parts of the battery management system’s IP address.
- Determine a valid IP address to assign to the PC
-
The Network ID for the PC IP address must be the same as the battery management system. The Host ID number can be any number from 2 to 255 as long at it is not the same as the Host ID of the battery management system. For example if the battery management system IP address is
192.168.1.21
, the IP address of the PC could be192.168.1.12
or192.168.1.49
or any192.168.1.x
wherex
is not21
.If you have multiple stacks, note down the Host ID from the IP address of each stack’s battery management system. The Host ID number assigned to the PC must be different from this list. - Setup the Static IP address on the PC
-
Instructions below are for a PC running Windows OS:
-
Go to
Control Panel > All Control Panel Items > Network Connections
-
Right-click your network adapter that connects to your Nuvation Energy BMS and select
Properties
-
Click
Internet Protocol Version 4 (TCP/IPv4)
and clickProperties
Figure 39. Network Adapter Properties on Windows. -
Update your network adapter TCP/IPv4 settings to the following:
-
Static IP Address: The IP address must have the same Network ID as the battery management system and a Host ID that isn’t already in use.
-
Refer to the instruction above to determine a valid IP address for the PC.
-
-
Subnet Mask:
255.255.255.0
-
Default gateway: The Network ID must be the same as the battery management system and the Host ID should be
1
.-
For example, if the battery management system IP address is
192.168.1.21
, the gateway address would be192.168.1.1
Figure 40. Network Adapter Settings on Windows
-
-
-
Ensure your computer is on the same network as your Low-Voltage BMS.
-
You can connect an Ethernet cable directly between it and the network adapter of your PC.
-
-
Open the
Nuvation-Energy-Operator-Interface.html
file in your web browser.-
This is usually done by double-clicking on the file. If your default browser is not a supported browser, you may need to specify the browser to use.
-
For example, on Windows you may need to right click on the file, select
Open with
, and then choose Chrome or Firefox from the list.
-
-
5.3. Upgrading the Nuvation Energy BMS
The Operator Interface is packaged with the appropriate version of Nuvation Energy BMS firmware. The firmware for Nuvation Energy BMS can be upgraded using the Operator Interface.
To upgrade the firmware Nuvation Energy BMS must be in Service Lockout. Please see Section 6.5 for more details.
5.3.1. Upgrading the Firmware
The Upgrade
option will be available when Nuvation Energy BMS successfully enters Service Lockout.
If a newer firmware version is available, proceed with the firmware upgrade.
|
-
Click the
Upgrade
button to begin the upgrade. A progress bar allows you to monitor the upgrade process. -
Wait until a dialog box appears with the upgrade result. It should indicate that the firmware upgrade is complete.
-
Once the upgrade is successful, you will be returned to the dashboard. Nuvation Energy BMS will remain in Service Lockout.
You will need to import a valid configuration file before attempting to exit Service Lockout. |
5.3.2. Upgrade Troubleshooting
During the firmware upgrade, if a failure is reported, retry the upgrade.
If the failures persist, please submit a support ticket with as much detail as possible to support@nuvationenergy.com. |
5.4. Generate a Configuration File
Your Nuvation Energy BMS needs a valid configuration file to operate. The Operator Interface provides tools for importing and exporting configuration files to and from Nuvation Energy BMS as a way to set or retrieve the state of all configuration registers.
To generate a configuration file, visit the nCloud at: https://ncloud.nuvationenergy.com. nCloud is the Nuvation Energy online portal to remote battery management.
In the nCloud, configuration files can be generated and retrieved from the Configurations
menu option by following these steps:
-
Click
Create New Configuration
-
Follow the instructions in the
Quick Start Wizard
. -
Download the
.config
configuration file -
Store the configuration file on the computer running the Operator Interface.
If your Nuvation Energy BMS is connected to a computer that doesn’t have internet access, you can use a USB stick to transfer the configuration file between computers. |
5.4.1. Fine-tuning the Configuration File (optional)
This is an optional step. If you would like to further adjust your Nuvation Energy BMS settings, to meet the requirements of your particular system, you may choose to edit the configuration file.
Refer to the Section 7 for details on how to modify the configuration file for your setup.
To edit the Configuration file, open the file in any text editor. Please backup the modified configuration file for future use. Nuvation Energy BMS doesn’t store the file internally; it only stores the register values. The export feature will export a configuration file with an alphabetical listing of all registers and their set values.
5.5. Import the Configuration File
Once you have exported your configuration file to the computer connected to Nuvation Energy BMS, you can proceed to import it to Nuvation Energy BMS.
To import a configuration file Nuvation Energy BMS must be in Service Lockout. Please see Section 6.5 for more details.
-
Ensure you are in Service Lockout
-
Ensure
Persist Configuration to BMS
is checkedPersist Configuration to BMSEnabling this option tells Nuvation Energy BMS to persist the imported configuration file. If you are using known, good, configuration files you should check this box.
Disabling this option tells Nuvation Energy BMS to not persist the newly imported configuration file. On reboot, Nuvation Energy BMS will revert to the previous configuration file. This is useful when tweaking and testing configuration files. It allows you to recover from incorrect configuration settings by rebooting Nuvation Energy BMS
-
Click
Import Configuration
-
Select the configuration file to use and click
Open
-
A dialog indicating progress will pop-up
-
Wait until a dialog box appears with the configuration import result. It should indicate that the import was successful.
5.5.1. Configuration File Import Troubleshooting
During the configuration file import, if you receive a Register Write failure error
, ensure you have valid entries in your configuration file.
For details on the various registers and their intended use, please refer to Section 7.
While exiting the service lockout, if a failure is reported, please see Section 6.5 for troubleshooting details.
If the failures persist, please submit a support ticket with as much detail as possible to support@nuvationenergy.com. |
5.6. Calibrate your Nuvation Energy BMS
Before you start regular operation of your Nuvation Energy BMS, it is recommended that you calibrate it for accurate usable capacity measurements. This calibration should be re-done if the Low-Voltage BMS module or the current shunt is changed in the future.
-
Refer to Section 7.9 for steps to calibrate the stack current, voltage, and temperature measurements
-
Fully charge up the batteries to 100% State-of-Charge (as defined in the configuration file)
-
Discharge the batteries to 0% State-of-Charge (as defined in the configuration file)
-
Optionally, charge the batteries back up to 100% State-of-Charge
A power cycle during the State-of-Charge calibration steps will require the State-of-Charge calibration to be redone from the beginning. |
6. Using the Operator Interface
6.1. The Dashboard Tab
The default tab of the Operator Interface is the Dashboard. The Dashboard contains a high-level overview on the state of the battery stack. This is the only page required for daily monitoring of the battery stack.
6.1.1. Warnings and Faults
Before going into the details of the gauges and information presented in the dashboard, it is important to understand what a fault and a warning Nuvation Energy BMS status means.
An ALL OK indicates that there are no faults or warning. This is the normal state for Nuvation Energy BMS. |
|
A Warning indicates the state of the battery system has been detected outside of its normal operational range. The cause of the warning should be identified and a corrective action should be performed. For instance, if the warning is a thermistor temperature measurement has become too hot, the battery system should be cooled to bring the measurement back into the normal operational range. |
|
A Fault indicates the state of the battery system has been detected outside of its safe operational range. The cause of the fault must be identified and a corrective action must be performed. For instance, if the fault is a cell voltage measurement has become too low, the cell maintenance manual must be reviewed to identify what remedial actions are required. A Fault is more severe than a Warning and the source of the fault must be discovered and resolved before attempting to clear and continue operating the battery system. |
6.1.2. Stack Voltage
The stack voltage radial meter shows the total battery stack voltage.
6.1.3. Stack Current
The stack current radial gauge shows the battery stack current as well as the maximum charge current limit and the maximum discharge current limit. The acceptable current range is visualized on the gauge by the blue arc. An absence of the blue arc indicates the battery stack cannot be charged or discharged in its present condition.
A negative current value indicates the battery stack is charging. A positive current value indicates the battery stack is discharging.
6.1.4. State-of-Charge
The State-of-Charge radial gauge shows the battery stack’s State-of-Charge. The battery stack is empty when the State-of-Charge value is 0% and full when the State-of-Charge value is 100%.
6.1.5. Depth-of-Discharge
The Depth-of-Discharge radial gauge shows how much energy has been taken out of the battery stack. In an ideal energy storage system, defined as a system with no power losses, the amount of energy shown in this gauge needs to be added back into the battery stack to fill it back up to 100% State-of-Charge.
6.1.6. Cell Voltage
The cell voltage bar gauge shows the maximum, minimum, and average cell voltage measurements within the stack.
The high cell voltage and low cell voltage warning and fault threshold is visualized on the gauge with yellow and red segments. The blue segment depicts the acceptable cell voltage range.
If a triangle enters the yellow segment, a warning has occurred. If a triangle enters the red segment, a fault has occurred.
The maximum and minimum cell location in the stack and their voltage values are shown below the gauge, along with the average cell voltage value.
6.1.7. Temperature
The temperature bar gauge shows the maximum, minimum, and average cell temperature measurements within the stack.
The high cell temperature and low cell temperature warning and fault threshold is visualized on the gauge with yellow and red segments. The blue segment depicts the acceptable cell temperature range.
If a triangle enters the yellow segment, a warning has occurred. If a triangle enters the red segment, a fault has occurred.
The maximum and minimum cell location in the stack and their temperature values are shown below the gauge, along with the average cell temperature value.
6.1.8. Nuvation Energy BMS Status
Nuvation Energy BMS status information contains information on the overall safety status of the battery stacks, the battery stack connection state, number of cells balancing, maximum charge current limit, maximum discharge current, and the time and date of the last update of the Dashboard.
6.1.8.1. Operation Status
Nuvation Energy BMS operation state is shown in the big status circular indicator.
The normal state is All OK
and the color of the indicator will be green.
The warning state is Warning
and the color of the indicator will be orange.
The fault state is Fault
and the color of the indicator will be red.
Clicking on the indicator will jump to a comprehensive status list of warnings and faults active in the battery stack.
Clicking on the Clear
button below the state will cancel any warnings and faults that are not self-clearing.
6.1.8.2. Connection State
The battery stack connection state is shown in the oval indicator.
Stack Disconnected
in a red oval indicates the battery stack is unavailable to be charged or discharged.
Stack Pre-charging
in an orange oval indicates the battery stack has connected its pre-charge circuit and is attempting to equalize the battery stack voltage to the system DC bus voltage.
Stack Connected
in a green oval indicates the battery stack is available to be charged or discharged.
Clicking the Connect
button initiates the stack connection sequence of events.
Nuvation Energy BMS must be in the All OK
state for the Connect
button to be available.
Clicking the Disconnect
button will disconnect the battery stack from the system DC bus.
6.1.8.3. Information Table
The information table shows the number of cells that are having excess energy bled off to maintain a balanced battery stack.
The Charge Limit
shows the maximum charge current limit value.
The Discharge Limit
shows the maximum discharge current limit value.
The Charge Limit
and Discharge Limit
values are visualized on the Stack Current radial gauge as the limits of the blue arc.
6.1.8.4. Last Update
The Updated
time and date shows the last time the Operator Interface had successfully communicated with Nuvation Energy BMS and updated all items in the Dashboard with values from Nuvation Energy BMS.
The time and date is based on the local computer/tablet; it does not come from Nuvation Energy BMS.
If the communication with a Nuvation Energy BMS is lost, a notification banner appears at the top of the display screen. The information shown on the Dashboard represents the last data received and is no longer recent. Refer to Section 6.4.2 for more details.
6.2. The Details Tab
The Details tab contains a much more detailed view into the status of Nuvation Energy BMS. The data values shown in this tab can be easily copied into a spreadsheet as a means of capturing the current state of Nuvation Energy BMS for manual data recording purposes.
The Details tab has multiple sub-sections called accordions that can be expanded to reveal more information. You can have multiple accordions expanded at the same time.
6.2.1. Addressing
The Addressing accordion presents the addressing information for your Nuvation Energy BMS. Refer to Appendix C for details on how to change your Nuvation Energy BMS IP address.
6.2.2. Battery
The Battery accordion contains values on the overall battery stack. This information is identical to the values shown in the radial gauges and bar gauges on the Dashboard.
6.2.3. Current Limiter
The Current Limiter accordion contains the maximum charge current limit, the maximum discharge current limit, and the number of cells balancing in the battery stack. This information is identical to the values shown in the Information Table on the Dashboard.
6.2.4. Safety
The Safety accordion contains a comprehensive list of all possible Nuvation Energy BMS faults and warnings as well as the overall status of the battery stack.
An active fault or warning is shown as Tripped
.
In normal operation, all warnings and faults should be clear and the battery stack can be charged and discharged.
Clicking on the Clear Faults and Warnings
button at the bottom of this accordion will clear any faults and warnings that are not self-clearing.
The Clear
button on the Dashboard can also be used.
6.2.5. Cell Voltages
The Cell Voltages accordion lists voltage measurements for all Cells configured in the Configuration file.
Cells that are not configured are displayed as a -
(hyphen).
Voltages in red indicate measurements which have triggered a Nuvation Energy BMS fault.
Voltages that are highlighted in yellow are open wires.
There is no differentiation between cells that are in the normal operating voltage range and cells that have triggered a Nuvation Energy BMS warning.
There is also no indication of which particular cells are currently being balanced by the BMS.
For Low-Voltage BMS systems, CI1 refers to the Low-Voltage BMS module.
If a Cell Interface expansion module is installed, then CI2 would refer to the first Cell Interface installed.
|
6.2.5.1. Filtering
You can filter the display to cells with voltages above or below a value you specify.
6.2.6. Thermistor Temperatures
The Thermistor Temperatures accordion lists temperature measurements for all Thermistors configured in the Configuration file. Thermistors that are not configured are displayed as a dash. Temperatures in red indicate measurements which have triggered a Nuvation Energy BMS fault. There is no differentiation between thermistors that are in the normal operating temperature range and thermistors that have triggered a Nuvation Energy BMS warning.
For Low-Voltage BMS systems, CI1 refers to the Low-Voltage BMS module.
If a Cell Interface expansion module is installed, then CI2 would refer to the first Cell Interface installed.
|
6.2.6.1. Filtering
You can filter the display to cells with temperatures above or below a value you specify.
6.2.7. Open Wire
The Open Wire accordion lists open wire diagnostics for all Cells configured in the Configuration file.
Cells that are not configured are displayed as a -
(hyphen).
Diagnostic data that is highlighted in yellow indicates an open wire.
To trigger diagnostics on all cells, click the "Acquire Open Wire Ratios" button. Once clicked, the open wire scanning process begins.
Once the open wire scanning has completed and all diagnostics data is collected it is displayed in a tabular format with open wires highlighted in yellow.
For Low-Voltage BMS systems, CI1 refers to the Low-Voltage BMS module.
If a Cell Interface expansion module is installed, then CI2 would refer to the first Cell Interface installed.
|
The diagnostic values displayed are ratios of Voltage. Values very close to one ( > 0.97) indicate a short condition. Values approaching zero (0.0 to 0.4) indicate an open wire connection.
Depending on whether you are using 12 or 16 channel battery management system modules or monobloc battery management system modules, they will display different diagnostics information.
6.2.7.1. Filtering
Use the filter to show only ratios of Voltage that are above or below the specified value.
6.3. The Menu Options
The menu to the right of the Operator Interface provides access to tools and advanced options. Some of these options may be locked to prevent accidental changes.
The following options are available:
-
Registers
-
Service
-
Connection
-
Unlock
-
About
6.3.1. Registers
This menu option navigates to the Register Browser. This screen allows you to read and write to registers.
When the Operator Interface is locked, the Register Browser is in a view-only mode, restricting the editing of registers.
It is possible to edit registers on multiple stacks using this interface, which can result in unintended behavior.
It is recommended to only edit registers that start with pack_ or gbc_ using this interface.
Use the stack-level Operator Interface to make edits to a connected stack.
|
6.3.2. Service
This screen allows you to enter and exit Service Lockout in-order to perform an upgrade or configuration file import. For more details refer to Section 6.5.
6.3.2.1. Importing a Configuration File
This is a restricted option requiring the Operator Interface to be unlocked to access this option. |
This menu option allows you to import a configuration file.
If you have a configuration file ready to import, refer to Section 5.5 for instructions.
If you need to generate a configuration file, refer to Section 5.4 for instructions.
6.3.2.2. Exporting a Configuration File
Nuvation Energy BMS does not preserve the originally imported configuration file with comments and formatting. The export feature will export a configuration file with an alphabetical listing of all registers and their set values. |
To export your configuration file:
-
From the menu, select
Service
-
Click
Export Configuration
6.3.2.3. Upgrade
This is restricted option requiring the Operator Interface to be unlocked to access this option. |
Refer to Section 5.3 for instructions on performing a firmware upgrade.
The firmware upgrade will erase the configuration file on your Nuvation Energy BMS. Please remember to export and save your current configuration file to save your current configuration file for future reference. |
6.3.3. Connection
The connection screen allows you to change the IP address and timeout of the Nuvation Energy BMS that you are trying to access.
If you are connecting to a Nuvation Energy BMS that does not use the default IP address (192.168.1.21), you will need to change the connection settings in the Operator Interface to match the BMS:
-
Re-open the Nuvation-Energy-Operator-Interface.html file in your web browser
-
Wait for the connection message to time out
-
From the menu, select Connection to bring up the IP address configuration page
-
Enter the IP address of Nuvation Energy BMS you wish to connect to
-
Enter a Connection Timeout –
20
is the recommended seconds -
Click the Save button. The page will refresh and try to connect to this new IP
In scenarios where there are multiple BMS systems, it is possible to direct multiple instances of the Operator Interface at the different BMS IP addresses. The Operator Interface can be opened in separate browser tabs and the connection information changed after the interface loads. However, please note that if either instance is refreshed, that tab will use the most recently set IP address. |
6.3.4. Locking and Unlocking
The Operator Interface can be locked to prevent accidental or unintentional changes that could have serious impacts on the system. To further secure the system, a password can be set to ensure only authorized individuals can access these critical sections of the Operator Interface
When the Operator Interface is unlocked, the lock indicator will be replaced with an unlocked indicator.
6.3.4.1. Lock the Operator Interface
To lock the Operator Interface, simply click the Unlocked indicator or bring up the settings menu and select Lock.
To prevent accidental changes to your Nuvation Energy BMS, always lock the Operator Interface after making your changes. |
It is possible to require a password to unlock the Operator Interface.
6.3.4.2. Unlock the Operator Interface
To Unlock the Operator Interface, simply click the Locked indicator or bring up the settings menu and select Unlock. If a password has been set, the correct password will need to be entered to complete the unlocking process.
6.3.5. About
This screen displays version details for the underlying software for your Nuvation Energy BMS. The name and number of the current software release are displayed at the top of the About screen.
In the screenshot below, the release name is at the top in large blue letters.
The version number following the release name has a format of yy.mm
with yy
representing the year and mm
representing the month within that year that this Nuvation Energy BMS package was released.
The version numbers below the release name are the version numbers of the individual software packages running on your Nuvation Energy BMS.
When contacting support, please include the details in your About screen.
Not all information is displayed unless the BMS is factory locked. Additional information for identifying the configuration and images is provided to ensure the correct version of firmware and configuration is being used as specified at the factory. |
6.4. The Status Banner
The banner at the top of the screen is used to indicate high level changes in system status. During typical operation nothing is displayed and this indicates the Operator Interface is communicating with the BMS and the BMS is fully operational with no major diagnostics problems.
If the network connection speed is slow, it is possible to see the 'Exiting Lockout' banner appear briefly during normal operation. Network speed does not impact the state of the BMS and so this is not an issue.
6.4.1. Service Lockout Indication
When the system is either entering, exiting, or is in service lockout, a banner is displayed indicating this to the user.
6.4.2. Communication Loss
When the Operator Interface can no longer communicate with the battery management system, a communication lost banner is displayed at the top of the display. It will provide the amount of time since disconnected and updates each second.
6.5. Understanding the Service Lockout
Service Lockout allows you to put your Nuvation Energy BMS into a Lockout state while you perform maintenance on your energy storage installation such as loading new configurations, or upgrading the firmware.
If you are making physical wiring changes, you should enter Service Lockout before powering down Nuvation Energy BMS.
When in Service Lockout, Nuvation Energy BMS will flag all faults and notify other Operator Interfaces.
6.5.1. Entering Service Lockout
-
Unlock the Operator Interface by clicking the Lock indicator and enter the password if prompted.
-
From the menu, select
Service
to bring up the Service page -
Click
Lockout
to enter Service Lockout
Entering Service Lockout will open all contactors and GPOs |
When in Service Lockout, you will not be able to access the Operator Interface dashboard. |
6.5.2. Exiting Service Lockout
-
Unlock the Operator Interface by clicking the Locked indicator and enter the password if prompted.
-
From the menu, select
Service
to bring up the Service page -
Exit the Service Lockout by clicking
Exit Service Lockout
Exiting Service Lockout may close contactors |
You will be able to access the dashboard controls once Nuvation Energy BMS has successfully exited service lockout.
6.5.3. Shutdown Timer for Low-Voltage BMS
To protect your batteries, the Low-Voltage BMS automatically shuts down after an hour of being in Service Lockout.
If BMS-Enable is asserted, this built-in protection will be disabled and the Low-Voltage BMS will remain powered up after 1 hour has expired. Note, the Low-Voltage BMS will apply a small load on the cells even in Service Lockout so disabling the automatic shutdown must be done with care as it is possible to over-discharge the cells if left in this state for a significant duration.
6.5.4. Service Lockout Troubleshooting
If Nuvation Energy BMS fails to exit service lockout, you will receive an error notification. The reason for the failure is that some form of input to the battery management system could not be initialized. This means that the battery management system was expecting some measurement (e.g. cell voltage, current) but it never was received by the software. Because of this lack of initialization, the battery management system should not be operated and the issue(s) needs to be resolved. There are two main causes for a lack of initialization:
-
Misconfiguration: The current configuration does not match the battery management system deployment.
-
Incomplete setup: There is an issue in the setup of the battery management system (e.g. cables are missing)
You can identify the uninitialized parts of the battery management system by referring to the Details > Safety
accordion section.
The fault registers that failed to initialize are shown on the right side of the display.
Refer to Section 10.1 for details on how to address the uninitialized data registers.
If you just imported a configuration file, re-import a known-good configuration file. You can download a previously generated configuration file from the nCloud (https://ncloud.nuvationenergy.com).
If the failures persist, please submit a support ticket with as much detail as possible to support@nuvationenergy.com. |
7. Configuration Settings
The following sections break down a complete system configuration into the major areas of responsibility.
7.1. Background and Terminology
Terminology and technical concepts critical to the operation and configuration of Nuvation Energy BMS are presented in this section.
7.1.1. Register Data Model
7.1.1.1. Registers and Components
Understanding the Register Data Model is key to understanding how to configure Nuvation Energy BMS.
Nuvation Energy BMS implements all data storage and processing using two important software building blocks.
- Register
-
A register is the fundamental unit of data storage within the system. Each register has a unique name and associated type that defines how the value is interpreted. Registers range in size from as small as one byte up to as large as eight bytes.
- Component
-
A component combines a set of related registers with processing rules that operate on those registers to implement a particular BMS function for the system. A given component may have many instances throughout the system. In this case, its associated registers will have the same number of instances.
Complex behavior within the system is achieved by connecting multiple components together, either through configuration or through hard-wired connections in the firmware itself.
Configuration for a system is completely determined by the state of all configuration registers present within the system. Configuration registers are persisted in non-volatile memory and are loaded automatically upon reset.
External protocols are implemented by mapping (and in some cases aggregating) the appropriate BMS registers to CAN bus messages or Modbus registers.
7.1.1.2. Index versus Location
Internally to Nuvation Energy BMS firmware, all register indexing is zero-based. That is, if multiple instances of the same register are present, the first instance is always indexed at zero. This convention is reflected in all register expressions and configuration files.
Operator-facing tools such as Nuvation Energy BMS Operator Interface or the MESA Modbus models use one-based location identifiers to refer to physical, countable entities.
For example, the location of the first cell within a stack is defined as Cell Interface 1, Cell 1—i.e. it is the first cell in the first Low-Voltage BMS. The index of this first cell is defined as zero within the firmware.
7.1.1.3. Register Expressions
Registers are accessed by name in Nuvation Energy BMS tools and configuration. Each register also has a unique address that is used internally within the BMS.
7.1.1.3.1. Single Register Instance
This expression is used when assigning to or reading from a single register in the system and is of the form:
component_name.register_name
where:
-
component_name is the name of the component within the system
-
register_name is the name of the register within the component
7.1.1.3.2. Range of Register Instances
These expressions build on the single register references by adding an additional range expression in square brackets:
component_name[range_expression].register_name
The range_expression may take any of the following forms:
-
index - A single instance of
component_name.register_name
atindex
. Note thatcell[0].voltage
is equivalent tocell.voltage
. -
start_index:end_index - All instances from
start_index
throughend_index
. The expressioncell[0:3].voltage
expands into:cell[0].voltage cell[1].voltage cell[2].voltage cell[3].voltage
-
start_index:end_index:block_length - All instances from
start_index
throughend_index
within a repeating block ofblock_length
across all instances of the register. For example if there were N instances of the registercell.voltage
, the expressioncell[0:3:16].voltage
expands into:cell[0].voltage cell[1].voltage cell[2].voltage cell[3].voltage cell[16].voltage cell[17].voltage cell[18].voltage cell[19].voltage cell[32].voltage cell[33].voltage cell[34].voltage cell[35].voltage ... cell[N-16].voltage cell[N-15].voltage cell[N-14].voltage cell[N-13].voltage
-
start_index:end_index:block_length:block_count - All instances from
start_index
throughend_index
within a repeating block ofblock_length
repeatedblock_count
times. The expressioncell[0:3:16:2].voltage
expands into:cell[0].voltage cell[1].voltage cell[2].voltage cell[3].voltage cell[16].voltage cell[17].voltage cell[18].voltage cell[19].voltage
In this case, only the first 2 blocks of 16 instances are included, rather than all blocks of 16 instances.
7.1.1.3.3. All Register Instances
A compact syntax can be used to expand to all instances of a given register within the system. The expression:
component_name[*].register_name
expands to all instances of component_name.register_name within the system.
For example, the expression cell[*].voltage
expands into:
cell[0].voltage
cell[1].voltage
cell[2].voltage
cell[3].voltage
cell[4].voltage
cell[5].voltage
cell[6].voltage
cell[7].voltage
cell[8].voltage
cell[9].voltage
cell[10].voltage
cell[11].voltage
cell[12].voltage
cell[13].voltage
cell[14].voltage
cell[15].voltage
cell[16].voltage
.
.
.
cell[N-3].voltage
cell[N-2].voltage
cell[N-1].voltage
where N
is the total number of instances of the register cell.voltage
within the system.
7.1.1.3.4. Register Address
In some cases, it is necessary to use the address of a register as a configuration value for another register in the system. This is required when assigning input and output pins to functions within the BMS, for example.
The expression:
@component_name.register_name
expands to the address of the register in the system. The single-instance range expression may be used for register addresses. For example:
@component_name[index].register_name
expands to the address of component_name.register_name at index
in the system.
7.1.2. Units
A standard set of types/units has been adopted for use within Nuvation Energy BMS for the measurements and configuration settings. Unless otherwise noted, the units used within the firmware should be assumed as defined below.
Type | Units | Variable Type | Application |
---|---|---|---|
Address |
none |
uint32 |
BMS register address |
Boolean |
false=0, true=1 |
uint8 |
Logic value |
Charge |
mAh |
int32 |
Depth of discharge and throughput |
Count |
number |
uint32 |
A positive count of some event |
Crc16 |
none |
uint16 |
Used to verify persistent data |
Current |
mA |
int32 |
Stack and pack currents |
Energy |
Wh |
uint32 |
Energy capacity of a stack |
Int64 |
value |
int64 |
Signed 64 bit integer |
ImpedanceMili |
mΩ |
uint32 |
Resistance of a stack |
IpAddress |
IP |
uint32 |
IP4 address for a stack |
LogLevel |
none |
uint32 |
Log level applied the BMS firmware |
MicroOhms |
μΩ |
uint32 |
Resistance of a cell |
Microseconds |
μs |
uint64 |
Time measurement or period |
Percentage |
% |
uint8 |
Percentage of a full scale value (e.g. SoC) |
PowerW |
W |
int32 |
Rated power of a stack |
SoftwareId |
enum |
uint32 |
Enumeration for type of Cell Interface |
Temperature |
°C |
int16 |
Thermistor temperatures |
String |
none |
char[8] |
Storage for 8 characters |
UInt16 |
value |
uint16 |
Unsigned 16 bit integer |
UInt64 |
value |
uint64 |
Unsigned 64 bit integer |
Voltage |
mV |
int32 |
Cell and stack voltages |
Every register within the firmware has an associated type that defines the expected units for that register.
A negative value for Current represents a charge direction while a positive value represents a discharge direction with respect to the cell/stack. Some Current registers represent the magnitude of the current and are never negative in value. These register exceptions include the following:
|
7.1.3. Storage Types
Each register in Nuvation Energy BMS can be one of five storage types.
- Volatile
-
-
Data that is not persisted across a system reset
-
- Configuration
-
-
Data that is persisted on the service page via loading a configuration file.
-
- Persistent
-
-
Data that is persisted and regularly saved
-
- Factory
-
-
Data that is persisted when requested and is typically set at the factory
-
- Manufacturing
-
-
Data that is persisted and saved at manufacturing time
-
These types of storage can be read directly from the Operator Interface Registers menu option as discussed in Section 6.3.1.
7.1.4. Configuration File
Configuration is stored externally to Nuvation Energy BMS in a plain-text file. This file defines the state of configuration registers as required for a particular system.
To generate a configuration file for a stack, visit the nCloud at: https://ncloud.nuvationenergy.com. nCloud is the Nuvation Energy online portal.
The Operator Interface provides tools for importing and exporting configuration files to and from Nuvation Energy BMS as a way to set or retrieve the state of all configuration registers.
The configuration file format is plain ASCII text with the following syntax:
-
Any lines starting with a leading
#
are treated as comments. -
Each non-comment line is treated as a register assignment statement.
A register assignment takes on the form register_expression = value
where:
-
register_expression
is one of the valid Register Expressions previously defined. -
value
is either a numerical constant, quoted string, IP address, or a valid Register Address.
Any standard text editor can be used to edit configuration files (e.g. Notepad++, etc.).
A configuration file cannot be used to configure the IP settings of a stack. Stack IP configuration is detailed in the Appendix C. |
When a battery management system has been configured for Factory Lockdown there are a set of components that will have all their register protected from most write operations. Attempting to perform a write operation via a register addressing (for example using a Digital Inputs) will silently fail. Please refer to Section 7.2.4 for further details. |
7.2. Factory Lockdown
Factory Lockdown is a mechanism for users to lock registers with Factory storage type as read-only. This is typically used to protect safety related configurations for safety certification purposes.
7.2.1. Configuring Factory Registers
Factory registers can be configured in the same way normal configuration registers can be set. They can be set through the Operator Interface Registers menu option (Section 6.3.1) or applied by uploading a configuration file. Factory registers can only be configured when the system is not in Factory Lockdown.
7.2.2. Enabling Factory Lockdown
Factory Lockdown can be enabled by writing to specific registers from the Operator Interface. The user must follow the process below for the Nuvation Energy BMS to be considered factory-locked.
-
Ensure all factory registers are configured to their desired value
-
Write
1
tosc_factory_lockdown.requested_state
-
Write
1
tosc_factory_persist.save
-
Wait until
sc_factory_persist.save
is equal to0
-
Verify
sc_factory_lockdown.actual_state
is equal to1
-
Write
1
topi_factory_lockdown.requested_state
-
Write
1
topi_factory_persist.save
-
Wait until
pi_factory_persist.save
is equal to0
-
Verify
pi_factory_lockdown.actual_state
is equal to1
7.2.3. Clearing Factory Lockdown
A system can only exit Factory Lockdown through a firmware upgrade or a factory reset.
For performing a factory reset, refer to Appendix D.
7.2.4. Restricted Register Write Operations
When Factory Lockdown has been enabled, there are a set of components in the battery management system to which cannot be written from external interfaces (e.g. Modbus-TCP, Modbus-RTU, and CAN bus). There are some exceptions to this write-exclusion which will be discussed in the note later in this section. An alphabetical list of all components affected by this write protection are as follows:
cell
ci
pi_factory_verify_fresh
pi_fault_config_factory_verify
pi_fault_factory_verify_wdt
sc_ci_fresh
sc_ci_summary
sc_clock
sc_clock_connected
sc_factory_lockdown
sc_factory_persist
sc_factory_verify_fresh
sc_fault_ci
sc_fault_clocks
sc_fault_config_factory
sc_fault_config_factory_verify
sc_fault_factory_verify_wdt
sc_fault_linkbus_power
sc_fault_linkbus_wdt
sc_fault_ram_test_wdt
sc_fault_rom_test_wdt
sc_gpo_fault_pilot
sc_linkbus
sc_ram_test_wdt
sc_rom_test_wdt
stack_cell_balancer
stack_cell_fresh
stack_cell_open_wire_fresh
stack_cell_stat
stack_cell_summary_stat
stack_charge_status
stack_ci_therm_summary
stack_factory_trigger_summary
stack_fault_cell_open_wire
stack_fault_cell_over
stack_fault_cell_under
stack_fault_cell_wdt
stack_fault_charge_current_over
stack_fault_charge_therm_over
stack_fault_charge_therm_under
stack_fault_ci_therm_consistency
stack_fault_ci_wdt
stack_fault_discharge_current_over
stack_fault_discharge_therm_over
stack_fault_discharge_therm_under
stack_fault_open_shunt
stack_fault_open_wire_wdt
stack_fault_power_wdt
stack_fault_short_shunt
stack_fault_therm_circuit_fail
stack_fault_therm_wdt
stack_fault_voltage_over
stack_fault_voltage_sum
stack_fault_voltage_under
stack_linkbus_fresh
stack_open_shunt_detector
stack_power
stack_power_fresh
stack_short_shunt_detector
stack_therm_fresh
stack_therm_poly
stack_therm_stat
stack_therm_summary
stack_voltage_sum_check
stack_warn_cell_open_wire
therm
Configuration storage typed registers can be written to and are exempt from this rule. Refer to Section 7.1.3 for information on register storage types. |
7.2.5. Address Resolution Restrictions
Some components are configured with a register address to perform read/write access on the registers data. Refer to Section 7.1.1.3.4 for details of this register access. Some components can not use this register access indirection with the components listed in Section 7.2.4. Any attempts to read/write to these component registers will fail if the battery management system has Factory Lockdown enabled. The components impacted by this restriction are as follows:
stack_contactor
sc_gpo
sc_gpo_shutdown
sc_gpi
stack_breaker
The sc_canbus and sc_canbus_bulk_map components are not impacted by this address resolution restriction for read operations.
Write operations from CAN commands will fail as noted above.
|
7.3. Battery Parameters
These following settings are used to configure State-of-Charge (SoC) and State-of-Health (SoH) algorithms for operation with a particular battery chemistry.
7.3.1. Stack Capacity
Battery stack capacity is defined as the total amount of charge that can be extracted from a battery stack when discharging from full to empty, assuming current limits are properly followed. Nominal (or design) capacity is configured as follows:
stack_soc.nominal_capacity
-
-
Nominal capacity of the battery stack
-
Set to the capacity that would correspond to a full discharge
-
The nominal capacity of the stack is identical to that of the cells used within the stack, where a cell may be one or more electro-chemical cells directly connected in parallel. The actual capacity of the battery stack maybe less than this nominal capacity due to imbalances in SoC and capacity fade of the cells with usage. Correct configuration of the nominal capacity is essential for accurate SoC and SoH estimation. |
7.3.2. Stack Cycle Count
In addition to the nominal capacity, the nominal cycle count for the battery stack is required for SoH estimation based upon cycle count.
stack_soc.nominal_cycle_count
-
-
Set to the expected cycle life of the battery stack assuming full discharge cycles at the configured maximum operating current
-
Set to zero to ignore cycle count for SoH
-
7.3.2.1. Voltage Full and Empty Thresholds
The full and empty thresholds correspond to the open-circuit voltages used to define a fully charged and fully discharged battery cell in operation. These thresholds should be defined with respect to the operational zone as configured for a particular application.
This means these settings must be carefully aligned with current limits to ensure the SoC reported by the BMS correctly reflects the configured usable capacity of the battery.
For battery chemistries that do not tolerate overcharge and make use of electrical balancing circuits to keep cells balanced (e.g. Lithium-Ion), the full and empty conditions are typically applied against the maximum and minimum cell voltages. But for chemistries that make use of overcharge during the charging process as a way to balance the stack (e.g. lead acid), the full and empty conditions are typically applied against the average cell voltage.
Nuvation Energy BMS supports definition of the empty and full conditions using either or both min/max and average cell voltages, as configured using the following registers.
stack_soc.vfull
-
-
Defines fully charged maximum cell voltage for operation
-
Set as per application requirements, or set to zero to disable
-
stack_soc.vfullavg
-
-
Defines fully charged average cell voltage for operation
-
Set as per application requirements, or set to zero to disable
-
stack_soc.vempty
-
-
Defines fully discharged minimum cell voltage for operation
-
Set as per application requirements, or set to zero to disable
-
stack_soc.vemptyavg
-
-
Defines fully discharged average cell voltage for operation
-
Set as per application requirements, or set to zero to disable
-
The empty and full thresholds must be carefully aligned with the maximum and minimum Cell Voltage Thresholds and Stack Voltage Thresholds for proper SoC operation. Typically, empty and full are set to the voltage where the corresponding current limit has fallen to C/20. In this case, empty will be set slightly above the minimum voltage and full will be set slightly below the maximum voltage.
7.3.3. Current Full Threshold
The current full threshold is another condition that can be applied to determine the full state of the battery. A battery is not fully charged unless both the full voltage condition is met and the battery current is above this threshold.
For example, assume ifull = -10000 mA, and charging current icharging = -50000 mA for most of the charging phase. As battery approaches full charge, the charger tapers off charging current, and when icharging > ifull, i.e. -9999.9 mA > -10000 mA (AND vcharge = vfull), the battery is considered by the BMS to be fully charged.
stack_soc.ifull
-
-
Defines a maximum current before the battery is considered full
-
Value must be negative to represent a current in the charge direction
-
When the current is above this threshold and the full voltage condition is met, then the battery is considered fully charged
-
7.3.4. Open Circuit Voltage Curve
Nuvation Energy BMS supports the use of a open-circuit voltage (OCV) table for the battery cells.
The component stack_ocv_lut
stores the voltages unique for each SoC percentage (total of 101 entries).
The first table entry represents 0 percent and the last entry represents 100 percent.
The voltages must be consistent with the defined the cell voltage range of empty to full.
The OCV curve can be used to estimate the SoC of a stack when it is at rest. Contact support@nuvationenergy.com for details on how to perfom this estimation.
7.3.5. Cell Resistance Estimation
The battery management system can be configured to estimate the per cell resistance of every installed cell during charge/discharge usage. To learn more about this feature and how to configure and use it, please contact support@nuvationenergy.com.
7.4. Stack Topology
Configuring the battery stack topology requires that the following be specified:
-
Which cell voltage taps are actually connected to cells
-
Which thermistor inputs are actually connected to thermistors
7.4.1. Cell Inputs
The Low-Voltage BMS—along with its expansion Cell Interface module—may be connected to fewer cells than the maximum supported number of cell inputs.
The following registers are used to indicate which cells are actually present in the system.
The index n
is the zero-based index of the cell input.
cell[n].installed
-
-
Indicates a cell is physically connected
-
Set to 1 if connected
-
Set to 0 if not connected
-
Cell indexing is statically assigned in such a way that cell[0]
always refers to the first cell on the Low-Voltage BMS.
When using a Cell Interface expansion module, cell[16]
refers to the first cell in the Cell Interface expansion module.
7.4.2. Thermistor Inputs
The Low-Voltage BMS—along with its expansion Cell Interface module—may be connected to fewer than the maximum supported number of thermistors.
The following registers are used to indicate which thermistors are actually present in the stack.
The index n
is the zero-based index of the thermistor input.
therm[n].installed
-
-
Indicates a thermistor is physically connected
-
Set to 1 if connected
-
Set to 0 if not connected
-
Thermistor indexing is statically assigned in such a way that therm[0]
always refers to the first thermistor on the Low-Voltage BMS.
When using a Cell Interface expansion module, therm[8]
refers to the first thermistor in the Cell Interface expansion module.
7.5. Operational Limits
The operational limits of a battery stack are captured in the form of voltage, temperature, and current thresholds. These thresholds must be set correctly for your battery cells and DC bus system so that the BMS can:
-
Control current during charging and discharging to keep the battery within normal operating limits.
-
Warn operators and external systems if the battery is not within normal operating limits
-
Disconnect the battery from the DC bus under a fault condition if the battery is approaching unsafe limits
Nuvation Energy BMS can either be in an operating or non-operating zone. The operating zone is also known as the All Clear zone while the non-operating zone is further divided into the Warning and Fault zones. All three zones are illustrated below graphically.
- All Clear
-
-
The All Clear zone represents the subset of all system states that can be reached under normal, fully controlled operation. With proper configuration and functional control, a system should never leave this zone.
-
- Warning
-
-
The Warning zone describes the region where the battery cells are not within their normal operating limits and Nuvation Energy BMS is taking action to try and bring the system back into the operating zone.
-
- Fault
-
-
The Fault zone describes the region where the battery cells are approaching unsafe limits. There are two thresholds within this zone: the Fault Threshold and the Over/Under Fault Threshold. At least one of the two thresholds should be enabled.
-
At the Fault Threshold, Nuvation Energy BMS will gracefully disconnect the battery from the DC bus and shut down the inverter. When the battery cells return to an operable state, Nuvation Energy BMS can be configured to automatically reconnect the battery to the DC bus.
-
At the Over/Under Fault Threshold, Nuvation Energy BMS will disconnect the battery cells as quick as possible. An explicit user action is required to bring the system back into an operating state at this point.
-
-
7.5.1. Triggers
The fundamental building block used to define thresholds throughout Nuvation Energy BMS are trigger components. There are four types of trigger components, each described in the following sections.
7.5.1.1. Basic Triggers
A Basic Trigger is the most fundamental type of trigger in Nuvation Energy BMS. This trigger is latching meaning a tripped trigger will not self-clear when the trigger condition is cleared. The trigger will remain tripped until explicitly cleared through an external request via the Operator Interface or a supported protocol.
trigger_name.thresh
-
-
The input must meet or exceed this threshold to trip the trigger.
-
trigger_name.disabled
-
-
Set to 0 to enable the trigger
-
Set to 1 to disable the trigger
-
7.5.1.2. Boolean Triggers and Standalone Triggers
Boolean and Standalone Triggers are specific types of Basic Triggers where the trigger is tripped based on either a 1 or 0 value. The two triggers are identical except for how they are tripped. Both triggers are latching. The following register is used to configure these types of triggers.
trigger_name.disabled
-
-
Set to 0 to enable the trigger
-
Set to 1 to disable the trigger
-
7.5.1.3. Hysteresis Triggers
A Hysteresis Trigger provides a means of hysteresis to the triggering condition. This trigger can be configured to be latching or non-latching. The following registers are used to configure this type of trigger.
trigger_name.thresh
-
-
The input must meet or exceed this threshold to trip the trigger
-
trigger_name.time_hyst
-
-
The elapsed time that the input must meet or exceed the threshold in order to trip the trigger
-
Set to 0 to configure a trigger that trips instantly
-
trigger_name.end_time_hyst
-
-
The elapsed time that the input must recover (i.e. remain below the threshold) before the trigger will clear
-
Set to 0 to configure a trigger that clears instantly
-
Set to > 0 to configure a trigger that clears after the defined period of time
-
trigger_name.latched
-
-
Set to 1 for latching trigger behavior
-
Set to 0 for non-latching trigger behavior
-
trigger_name.disabled
-
-
Set to 0 to enable the trigger
-
Set to 1 to disable the trigger
-
7.5.2. Cell Voltage Thresholds
The following diagram illustrates how cell voltage trigger thresholds are configured in typical applications.
These thresholds also affect the current limits of the system as shown below.
Most systems will make use of thresholds configured in the following order of decreasing cell voltage.
Register | Setting |
---|---|
|
The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state. |
|
The upper limit of the warning zone as per cell specifications. Set just below |
|
The upper limit of the operating zone. Set just above |
|
The voltage at which charge limits approach 0%. Set just above |
|
The voltage at which charge current limits are reduced from 100%. Set as per application requirements. |
|
The voltage at which discharge current limits are reduced from 100%. Set as per application requirements. |
|
The voltage at which discharge limits approach 0%. Set just below |
|
The lower limit of the operating zone. Set just below |
|
The lower limit of the warning zone as per cell specifications. Set just above |
|
The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state. |
|
The under-voltage lockout threshold for system shutdown. |
The under-voltage lockout trigger itself does not shut down the BMS when a cell voltage drops below this level. The Low-Voltage BMS has built-in power switching hardware that can be driven off of this trigger. Refer to Section 7.10.5 for more details. |
stack_fault_cell_over.thresh
may or may not be different from stack_fault_cell_hi.thresh
, depending upon system requirements.
For example, if a battery system is expected to implement self-clearing (non-latching) faults during operation, the stack_fault_cell_hi.thresh
must be set slightly below stack_fault_cell_over.thresh
.
This allows the stack_fault_cell_hi
trigger to prevent the stack_fault_cell_over
trigger from engaging, which would require an explicit clear action.
If the stack_fault_cell_over.thresh
and stack_fault_cell_hi.thresh
are identical, it is impossible to implement self-clearing behavior on high voltage conditions.
The same applies to under-voltage conditions.
The stack_fault_cell_[over/under]
or the stack_fault_cell_[hi/lo]
trigger can be disabled if only one behavior is necessary.
User-defined triggers are also available for high and low cell voltages.
Register | Setting |
---|---|
|
User-defined high cell voltage trigger |
|
User-defined low cell voltage trigger |
7.5.3. Thermistor Temperature Thresholds
Separate configuration thresholds are provided for charging and discharging as many cells have different temperature limits in these two modes of operation. Charge triggers will only trip while the stack is charging, while discharge triggers will only trip while the stack is discharging or resting.
The following diagrams illustrates how temperature trigger thresholds are configured in typical applications.
These thresholds also affect the current limits of the system as shown below.
Most systems will make use of thresholds configured in the following order of decreasing thermistor temperature.
Register | Setting |
---|---|
|
The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state. |
|
The upper limit of the warning charging zone as per cell specification. |
|
The upper limit of the operating charging zone. Set just above |
|
The temperature at which current limits approach 0% during charging. |
|
The temperature at which current limits are reduced from 100% during charging. |
|
The temperature at which current limits are reduced from 100% during charging. |
|
The temperature at which current limits approach 0% during charging. |
|
The lower limit of the operating charging zone. Set just below |
|
The lower limit of the warning charging zone as per cell specification. |
|
The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state. |
Register | Setting |
---|---|
|
The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state. |
|
The upper limit of the warning discharging zone as per cell specification. |
|
The upper limit of the operating discharging zone. Set just above |
|
The temperature at which current limits approach 0% during discharging. |
|
The temperature at which current limits are reduced from 100% during discharging. |
|
The temperature at which current limits are reduced from 100% during discharging. |
|
The temperature at which current limits approach 0% during discharging. |
|
The lower limit of the operating discharging zone. Set just below |
|
The lower limit of the warning discharging zone as per cell specification. |
|
The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state. |
The temperature charge and discharge thresholds can be configured in a similar manner to how the cell voltage thresholds (Section 7.5.2) are configured.
User-defined triggers are also available for high and low thermistor temperature during both charge and discharge.
Register | Setting |
---|---|
|
User-defined threshold for charge high temperature trigger. |
|
User-defined threshold for charge low temperature trigger. |
Register | Setting |
---|---|
|
User-defined threshold for discharge high temperature trigger. |
|
User-defined threshold for discharge low temperature trigger. |
7.5.4. Stack Current Thresholds
The following diagrams illustrate how current trigger thresholds are configured in typical applications.
The stack current thresholds are used to define the limits of the operating zone and non-operating zone for charge and discharge currents. These limits must factor in the specifications of the battery cells as well as the limits of any DC current-carrying paths in the stack.
Register | Setting |
---|---|
|
The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state. |
|
The limit of the warning charging zone as per cell specification and stack design limits. |
|
The limit of the operating charging zone as per application requirements. |
|
The limit of the operating discharging zone as per application requirements. |
|
The limit of the warning discharging zone as per cell specification and stack design limits. |
|
The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state. |
The stack current thresholds can be configured in a similar manner to how the cell voltage thresholds (Section 7.5.2) are configured.
The stack_fault_[charge/discharge]_current_hi
faults are typically configured with a small amount of trip time hysteresis (e.g. approximately 100–200 ms).
User-defined triggers are also available for charge and discharge currents.
Register | Setting |
---|---|
|
User-defined charge current trigger. |
|
User-defined discharge current trigger. |
Charge current thresholds are specified as negative values and discharge current thresholds are specified as positive values. |
7.5.5. Stack Voltage Thresholds
The following diagrams illustrate how stack voltage trigger thresholds are configured in typical applications.
These thresholds also affect the current limits of the system as shown below.
Stack voltage thresholds are used to define the operating voltage limits of the overall battery stack design. These thresholds are used to enforce the design limits of the battery stack or DC bus as a whole. For example, it may be necessary to limit the overall stack voltage within a certain limited range to maintain compatibility with a specific charger or inverter. Stack voltage limits also are used to ensure that average cell voltage is maintained within specified limits.
Most systems will make use of thresholds configured in the following order of decreasing stack voltage.
Register | Setting |
---|---|
|
The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state. |
|
The upper limit of the warning zone as per application requirements. |
|
The upper limit of the operating zone. Set just above |
|
The voltage at which charge limits approach 0%. Set as per application requirements. |
|
The voltage at which charge current limits are reduced from 100%. Set as per application requirements. |
|
The voltage at which discharge current limits are reduced from 100%. Set as per application requirements. |
|
The voltage at which discharge limits approach 0%. Set as per application requirements. |
|
The lower limit of the operating zone. Set just below |
|
The lower limit of the warning zone as per application requirements. |
|
The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state. |
|
The under-voltage lockout threshold for system shutdown. |
The under-voltage lockout trigger itself does not shut down the BMS when the stack voltage drops below this level. The Low-Voltage BMS has built-in power switching hardware that can be driven off of this trigger. Refer to Section 7.10.5 for more details. |
The stack voltage thresholds can be configured in a similar manner to how the cell voltage thresholds (Section 7.5.2) are configured.
User-defined triggers are also available for high and low stack voltages.
Register | Setting |
---|---|
|
User-defined high stack voltage trigger. |
|
User-defined low stack voltage trigger. |
Since stack voltage is measured independently from individual cell voltages in Nuvation Energy BMS, another important configuration threshold is the limit for mismatch between the overall stack voltage measurement and the sum of individual cell voltages.
stack_fault_voltage_sum.thresh
-
-
The upper limit of the operating voltage mismatch zone
-
Set as per application requirements (typically at least 5–10% of
stack_fault_voltage_over.thresh
)
-
7.5.6. External Controller Heartbeat
Nuvation Energy BMS can be configured to require a heartbeat signal from an external controller in order to keep the stack online and out of fault state. A write to the MESA controller heartbeat register is expected at least once during the watchdog period. If a multi-stack controller—such as the Nuvation Energy Multi-Stack Controller—is in use, it can periodically write to this register to keep the stack out of fault state.
sc_controller_wdt.period
-
-
Trip time for watchdog if heartbeat disappears
-
Set to 5 seconds or as per application requirements
-
sc_fault_controller_wdt.disabled
-
-
Set to 0 to enable controller watchdog
-
Set to 1 to disable controller watchdog
-
If this feature is not used, the watchdog fault should be disabled.
7.6. Control Settings
Nuvation Energy BMS controls the current flowing through a battery stack:
-
During connection or disconnection of the battery to prevent harmful transient current events
-
During operation of a connected battery to keep the battery within its operational limits
-
During operation of a battery to keep the individual cells at a balanced state of charge
-
During a fault condition in order to protect the battery
Control for cases (1) and (4) is achieved through external switching devices that are under the control of Nuvation Energy BMS. This control is limited to hard switching. Control for case (2) is achieved through current limiting signals that are used by chargers and inverters to throttle current dynamically. Control for case (3) is implemented within Nuvation Energy BMS itself through passive balancing loads that are under control of a configurable balancing algorithm.
7.6.1. Stack Switch Functions
Nuvation Energy BMS defines three contactor switch functions for use within typical battery configurations:
-
Pre-charge Switch: Connected during pre-charge operation only. Disconnected under fault condition.
-
Main Switch: Connected after any pre-charge operation completes. Disconnected under fault condition.
-
Stack Switch: Connected whenever either the pre-charge switch or the main switch is connected. Disconnected under fault condition.
While a pre-charge contactor is optional, virtually all systems require a main contactor to protect the battery from unsafe conditions. A stack contactor is often used in conjunction with a main contactor, i.e. at the other end of the stack to isolate the battery stack completely from the DC bus and provide a level of contactor redundancy.
Stack connection and disconnection sequencing is illustrated in the state diagram below.
As a system is connected and disconnected from the DC bus, a configurable sequencing delay is inserted before and after the connected state. During the connected state, the BMS uses current limits to control current flowing into and out of the stack. During all other states, current limits are set to zero. This allows for graceful switching behavior with no current flow under normal connect and disconnect requests.
The switch functions defined here must be mapped to appropriate outputs for use in an actual system. This process is covered in detail in Section 7.7. |
7.6.1.1. Auto-Connection Setting
It is sometimes desired for the Nuvation Energy BMS to automatically initiate a connection of a battery stack when:
-
The BMS powers on
-
After all faults have been cleared
This operation can be configured with the following register setting.
stack_control.auto_connect
-
-
When set to a value of one, the BMS will initiate a connection of the battery stack if there are no faults triggered
-
When set to a value of zero, the BMS waits for a connection request from the Operator Interface or through one of its external interface. Note a stack will not connect if there is any faults triggered.
-
7.6.1.2. Pre-Charge Switch Settings
If enabled, the pre-charge switch is engaged for a fixed (but configurable) amount of time during the pre-charge state. A bias current can be read prior to engaging the pre-charge contactor. The bias current measured is subtracted from subsequent pre-charge current measurements. If the pre-charge over-current fault is configured, the pre-charge will terminate if the fault is triggered. At the end of the pre-charge period, the stack current is compared against a maximum threshold value to determine if the pre-charge operation was successful. Upon failure, a pre-charge timeout fault is tripped. Upon successful completion, the stack connection sequence continues. During the remaining connection sequence, both the main and pre-charge contactors are engaged. At the end of the connection sequence the pre-charge contactor is de-energized.
Pre-charge behavior is configured through the following registers as required for a particular application.
stack_control.precharge_bias_delay
-
-
Determines the fixed amount of time prior to pre-charge to measure any bias current in the battery stack
-
The bias current is stored in the register
stack_control.precharge_bias_current
at the end of this delay -
The bias current is removed from subsequent pre-charge current measurements before applying pre-charge fault limits.
-
If enabled set to a minimum of 1 second otherwise set to 0 seconds
-
stack_control.precharge_delay
-
-
Determines the fixed amount of time the pre-charge path is energized
-
Set based upon pre-charge hardware power and thermal ratings
-
Set to zero to disable pre-charge
-
Set to a minimum of 1 second if enabled, otherwise set to 0
-
This delay is limited to a maximum duration of 10 seconds
-
stack_control.connect_delay
-
-
Determines the minimum time both the pre-charge and main contactors are energized during connection
-
This connection delay occurs after the pre-charge delay has successfully completed
-
Set to a minimum of 1 second to ensure both contactors are energized at the end of the duration
-
This delay is limited to a maximum duration of 10 seconds
-
stack_control.precharge_max_current
-
-
Determines the maximum current flow at the end of
stack_control.precharge_delay
under which pre-charge can complete successfully -
Set to ensure any in-rush currents upon main switch connection are within system ratings
-
Set to zero to disable pre-charge
-
stack_fault_precharge_over_current.thresh
-
-
Sets the over-current limit at any time during pre-charge
-
If the fault is triggered, pre-charge will terminate immediately
-
Limits the power dissipated of a pre-charge resistor during a short condition allowing for a smaller resistor
-
stack_fault_precharge_timeout.disabled
-
-
Must be set to zero if pre-charge is enabled
-
A pre-charge operation only completes successfully if the stack current magnitude falls below the maximum pre-charge current within the configured delay time and the stack_fault_precharge_over_current
does not trip.
If pre-charge is enabled the fault stack_fault_precharge_timeout must also be enabled.
|
7.6.1.3. Sequencing Delays
The following registers are used to configure the sequencing delays used before a stack enters the connected or disconnected state.
stack_control.connect_delay
-
-
The delay between current limits engaging and the contactors connecting after a connect request
-
This delay is important for systems using pre-charge
-
When pre-charge is used the delay must be a minimum of one second and is limited to 10 seconds maximum, otherwise the delay should be set to zero
-
stack_control.disconnect_delay
-
-
The delay between current limits disengaging and the contactors disconnecting after a disconnect request
-
This delay is important to allow a PCS time to ramp down before the BMS opens the contactors
-
This delay should not be less than one second and is limited to 10 seconds maximum
-
The disconnect switching delay only applies to disconnect requests. Under a fault condition, the stack is disconnected immediately.
7.6.2. Stack Current Limits
7.6.2.1. Maximum Operating Currents
The maximum continuous operating charge and discharge currents must be configured for current limiting to function properly. These values correspond to the current limit values that will be used during normal wide-open operation (i.e. no throttling).
stack_current_limit.max_charge_current
-
-
Magnitude of maximum continuous operating charge current
-
stack_current_limit.max_discharge_current
-
-
Magnitude of maximum continuous operating discharge current
-
The current limits given above are magnitudes only—i.e. both charge and discharge current limits are positive. |
7.6.2.2. Minimum Charge Current
The minimum charge current is the constant charging current that should be applied as the battery reaches the end of its charge cycle. The BMS will ensure that the charge current limit does not fall below this minimum value until the battery has reached its maximum charging voltage.
stack_current_limit.min_charge_current
-
-
Minimum charge current to be applied at the end of charge cycle
-
Set as per battery manufacturer recommendations (typically below C/20)
-
This setting must be configured in conjunction with the full thresholds defined by Stack Capacity. For example, the stack can be considered full once the current limit reaches the minimum charge current.
The current limit given above is magnitude only—i.e. charge current limit is positive. |
7.6.2.3. Current Limiting Response Times
The current limiting control loop can be tuned for stable and responsive behavior in a variety of systems. Two independent settling times are provided to allow independent adjustment of the response to decreases in current limits (attack time) and increases in current limits (decay time).
stack_current_limit.attack_settling_time
-
-
Settling time for decreases in current limits
-
Typically this is between 1 and 5 seconds
-
stack_current_limit.decay_settling_time
-
-
Settling time for increases in current limits
-
Typically this is on the order of 10x larger than
stack_current_limit.attack_settling_time
-
stack_current_limit.nonlinear_rolloff
-
-
Enables a non-liner roll-off of the current limits when set to True (i.e. a value of one)
-
Current limits will follow a linear response when set to False (i.e. a value of zero)
-
Since the attack time determines how quickly the current limits can respond before a potential fault conditions opens a switch, it is critical to have sufficient control bandwidth here to avoid tripping faults.
A non-zero settling time is critical in most applications to avoid oscillations in the presence of noise and other imperfections in high-power control of the DC current in the charger and/or inverter.
When the nonlinear roll-off is enabled, the slope of the current limits at the end of the charge/discharge regions will be smaller (closer to zero) than the linear response. A nonlinear roll-off will reduce large changes in variables (such as the cell voltage) on the current limit output.
7.6.3. Passive Cell Balancing
When multiple cells are connected in series to form a larger battery stack, it is important to ensure each cell is giving equal contributions to the system. The effects of a single low State-of-Charge or a single high State-of-Charge cell will dominate the performance of the large battery stack. The act of equalizing State-of-Charge of multiple series-connected cells is called balancing and there are many types of balancing.
Nuvation Energy BMS implements a passive balancing solution. Cells with high State-of-Charge are discharged via internal bleed resistors which are enabled on a per-cell basis. Properly adjusting the algorithm settings for your cells is necessary to achieve a well-performing system.
A number of configurable settings are used to fine-tune the passive balancing algorithm for voltage, temperature, current, and duty cycle.
The balancer must be enabled for balancing to take place.
stack_cell_balancer.enabled
-
-
Enables or disables balancing operation
-
Set to 1 to enable
-
Set to 0 to disable
-
7.6.3.1. Cell Balancing Voltage Settings
Both absolute and relative cell voltage thresholds are used to safely balance a stack of batteries.
min_enable_voltage is the absolute threshold that determines the voltage below which a cell will not be balanced. This prevents over discharging in a system even with large imbalances.
voltage_delta is the relative threshold that is used to determine when a system is balanced.
Balancing for a given cell will take place when that cell’s voltage is at least voltage_delta
millivolts higher than the minimum cell voltage.
stack_cell_balancer.min_enable_voltage
-
-
Minimum voltage threshold for balancing (mV). The minimum cell voltage threshold for balancing must be greater than, or equal to, 1.1 V.
-
Typically this is set higher than
stack_current_limit.voltage_cell_high
-
stack_cell_balancer.voltage_delta
-
-
Delta voltage threshold for balancing (mV)
-
Delta between a given cell’s voltage and the minimum cell voltage
-
Typically this is set between 5 and 25 mV
-
If stack_cell_balancer.voltage_delta is set to zero, the system will continue balancing down all cells (even if the difference between min and max is zero) until they reach stack_cell_balancer.min_enable_voltage .
This mode can be used to passively balance all cells in a stack to a specific open-circuit voltage.
|
7.6.3.2. Cell Balancing Temperature Settings
Temperature limits are used to prevent the cells and the BMS module from overheating. If the following temperature threshold is exceeded, balancing is disabled for all cells in the stack.
stack_cell_balancer.max_enable_temperature
-
-
The upper cell temperature limit, in degrees °C, as measured by thermistors external to the BMS
-
Set per application requirements.
-
7.6.3.3. Cell Balancing Current Settings
Thresholds based on stack current allow the balancer to be fine-tuned to run during specific portions of the charge and discharge cycle.
stack_cell_balancer.min_enable_current
-
-
The minimum current at which balancing remains enabled (mA)
-
This is typically set to a negative value to enable balancing below certain charge currents
-
For example, a value of -10000 causes balancing to be disabled when charging at greater than 10 A
-
stack_cell_balancer.max_enable_current
-
-
The maximum current at which balancing remains enabled (mA)
-
This may be a negative or positive value depending upon application requirements
-
For example, a value of 200 causes balancing to be disabled when discharging at greater than 200 mA
-
The two most common use cases are:
-
Balance only while charging: In this case, both the minimum and maximum current thresholds are set to negative values that correspond to the range of charge currents under which balancing should take place.
-
Balance while charging and holding: In this case, the maximum current threshold is set to a slightly positive value so that the stack will balance when it is idle or disconnected. The level of discharge current flow tolerated during idle balancing is application-specific and is thus configurable.
7.6.3.4. Cell Balancing Duty Cycle
All the energy that is removed from a cell by passive balancing is dissipated as heat.
If the amount of heat dissipated is too great, its desirable to reduce the amount of balancing applied to the cells.
Passive balancing is applied for the majority of a cell voltage scan period defined by the register sc_linkbus[0].scan_period
.
Balancing is disabled every linkbus scan cycle to measure the cell voltages.
The register sc_linkbus[0].balance_settle_period
provides the period of time balancing is turned off before measuring cell voltages.
The duration of balancing applied to all cells can be reduced by increasing this delay period.
The sc_linkbus[0].balance_settle_period` register value must be between a minimum of 50 ms and must be smaller then the linkbus scan period. |
7.7. Input / Output Assignment
The Low-Voltage BMS implements the following inputs and outputs:
-
Fault Pilot output signal (internal)
-
Fault Pilot input signal (internal)
-
Fault Clear input signal
-
Shutdown input signal
-
Factory Reset input signal
-
Four general purpose digital outputs
-
Four general purpose digital inputs
-
Four contactor output drivers
The Fault Pilot signaling mechanism is a dedicated hardware signaling path between the Low-Voltage BMS module’s stack controller and power interface subsystems that is used to rapidly open the contactors in the case of a fault condition or processor failure. It is configurable for advanced applications that may require customized behavior (Section 7.10.4).
Contactor outputs and general purpose digital inputs and outputs present on Nuvation Energy BMS are implemented to allow for assignment of pin functions through configuration rather than through hard-wired implementation. This means that the pins connected to any external contactors, switches, or other digital inputs or outputs must be mapped in configuration to the appropriate BMS function for that system.
Refer to Section 9.1.5 for more information on the Fault Clear, Shutdown, and Factory Reset input signals.
7.7.1. Contactor Outputs
Contactor output drivers are assigned to stack switching functions through configuration. Contactors are also configured as directional or non-directional. A directional contactor has a preferred direction for breaking current. Nuvation Energy BMS will open any non-directional contactors or directional contactors aligned with stack current flow first. Directional contactors that are opposed to stack current flow will be opened after a configurable delay. An optional feedback mechanism can be configured for contactors with a feedback line. Once a contactor’s feedback output is wired into a GPI and configured, if the contactor fails to open/close, the feedback line will indicate the problem and the BMS can flag a fault.
The following registers are used to configure contactor outputs. The index n is the zero-based index of the hardware contactor coil output.
stack_contactor[n].address_enabled
-
-
Set to 1 to enable the contactor function specified in
stack_contactor[n].address
-
stack_contactor[n].inverted
-
-
When set to 0, contactor is energized when assigned function value is 1
-
When set to 1, contactor is energized when assigned function value is 0
-
stack_contactor[n].address
-
-
Determines the function mapped to the contactor
-
Set to
@stack_control.main_switch_state
to function as main switch -
Set to
@stack_control.stack_switch_state
to function as stack switch -
Set to
@stack_control.precharge_switch_state
to function as pre-charge switch
-
stack_contactor[n].direction
-
-
Set to 0 for a non-directional contactor that breaks any current
-
Set to 1 for a directional contactor that breaks charge current
-
Set to 2 for a directional contactor that breaks discharge current
-
stack_contactor[n].delay
-
-
Time to wait before opening the contactor in the non-preferred direction
-
When directional contactors are used, set this delay to a minimum of 1 second, otherwise set the delay to 0 seconds
-
stack_contactor[n].installed
-
-
Set to 1 to indicate a contactor is physically wired into the BMS
-
Only installed contactors will flag hardware failures via the
stack_contactor[n].coil_error
orstack_contactor[n].feedback_error
-
stack_contactor[n].feedback_enable
-
-
Set to 1 to enable contactor feedback from a configured input
-
State mismatches between
stack_contactor[n].feedback_value
andstack_contactor[n].value
will result instack_contactor[n].feedback_error
being set to1
-
For advanced applications, contactor outputs may be configured to be driven from any Boolean register within Nuvation Energy BMS.
7.7.2. General Purpose Digital Outputs
The most commonly used General Purpose Digital Output functions are:
-
Charge current disable: A control signal that is asserted when charging should be disabled
-
Discharge current disable: A control signal that is asserted when discharging should be disabled
-
Fault state: A signal that is asserted when faults are present within the system
-
Trigger state: A trigger signal for external devices that is asserted when a specific trigger within the system is tripped
General Purpose Digital Output functions are assigned through the following configuration registers. The index n is the zero-based index of the General Purpose Digital Output hardware pin.
sc_gpo[n].address_enabled
-
-
Set this to 1 to enable the function specified in
sc_gpo[n].address
-
sc_gpo[n].inverted
-
-
When set to 0, GPO output switch is closed when assigned function value is 0
-
When set to 1, GPO output switch is closed when assigned function value is 1
-
sc_gpo[n].address
-
-
Determines the function mapped to output
-
The configuration settings for the most common functions are illustrated in the table below.
Function | sc_gpo[n].address | sc_gpo[n].inverted |
---|---|---|
Charge Current Enable |
|
0 |
Discharge Current Enable |
|
0 |
Fault State |
|
1 |
Trigger State |
|
1 |
For advanced applications, General Purpose Digital Outputs may be configured to be driven from any Boolean register within the BMS.
The Low-Voltage BMS module’s power interface subsystem also has GPOs via the pi_gpo but these should not be configured for general usage.
|
7.7.3. General Purpose Digital Inputs
The most commonly used General Purpose Digital Input functions are:
-
Clear faults: Hardware input to clear any latched fault conditions
-
Connect request: Request to connect the battery stack to the DC bus
-
Auxiliary contactor feedback: Provides feedback to compare an auxiliary contactor state with current contactor state.
The Low-Voltage BMS has a dedicated input for clearing faults. Refer to [lvbms-installation-electrical-control-gpio-fault-clear] for details. The general purpose digital inputs do not have to be used. |
General Purpose Digital Input functions are assigned through the following configuration registers. The index n is the zero-based index of the General Purpose Digital Input hardware pin.
sc_gpi[n].address_enabled
-
-
When set to 1, the state of the input pin is propagated to the destination register address
-
sc_gpi[n].inverted
-
-
When set to 0, GPI input value is 1 if hardware GPI is asserted
-
When set to 1, GPI input value is 0 if hardware GPI is asserted
-
sc_gpi[n].address
-
-
The destination register address to populate with the state of the input pin
-
sc_gpi[n].rising_edge_triggered
-
-
When set to 1, the input value will be populated to the destination upon detection of a rising edge
-
sc_gpi[n].falling_edge_triggered
-
-
When set to 1, the input value will be populated to the destination upon detection of a falling edge
-
If the General Purpose Digital Input is configured as neither rising nor falling edge triggered, the input value is continuously populated into the destination address. The configuration settings for the most common functions are illustrated in the table below.
Function | sc_gpi[n].address | sc_gpi[n].inverted | sc_gpi[n].rising_edge_triggered |
---|---|---|---|
Clear Faults |
|
0 |
1 |
Connect Request |
|
0 |
1 |
Contactor Feedback |
|
0 |
0 |
For advanced applications, General Purpose Digital Input may be configured to drive any Boolean register within the BMS.
7.8. Protocol Settings
The Low-Voltage BMS supports the following interfaces for connection with external systems:
-
10/100 Ethernet for Modbus TCP and Operator Interface connectivity
-
CAN Bus (not available in no-CAN variants (*-NC))
-
RS485 for Modbus RTU
7.8.1. CAN Bus
The details below do not apply to no-CAN variants (*-NC) as they do not have a CAN bus interface. |
Nuvation Energy BMS uses a flexible CAN reporting implementation which maps BMS registers to CAN message identifiers.
Refer to Section 8.2 for more information on using this interface.
Up to 64 individual registers may be configured for periodic reporting by the BMS. Additionally, 4 configurable bulk report blocks are available for reporting repeating blocks of registers such as cell voltage and temperature.
The basic CAN configuration can be done with the components and registers described below.
sc_canbus.enabled
-
-
A flag which enables the CAN bus interface
-
Set to 1 to enable CAN reporting
-
sc_canbus.base_can_address
-
-
The base CAN bus message ID
-
Messages are assigned sequential IDs starting at this value
-
All reports starting at the base ID must fit into the 11-bit CAN bus message ID. |
sc_canbus.report_interval
-
-
The periodic reporting period for CAN message broadcasts
-
sc_canbus.report_msg_interval
-
-
The inter-message delay interval for outgoing CAN messages This register should not be set to zero to allow fair sharing of the CAN bus with other devices.
-
sc_canbus_packets.err_rate_window
-
-
The time window to average communication errors over when calculating the error rate
-
The standard configuration uses the following CAN reporting base settings:
Register | Setting | Note |
---|---|---|
|
1 |
Set to 1 to enable CAN reports. |
|
0x100 |
|
|
500000 |
|
|
1000 |
See Section 7.8.1.3 |
|
30000000 |
7.8.1.1. Individual Register Mapping
Nuvation Energy BMS has a standard set of mapped registers that covers common use cases suitable for most systems. The addresses of the 64 registers associated with this reporting are configured in the following registers.
sc_canbus_map[0:63].address
-
-
The register address of a value to map over CAN bus. A value of 0 disables the associated message.
-
sc_canbus_map[0:63].command
-
-
Set to 1 to enable command messages for the associated register. Set to 0 to enable reported messages for the associated register.
-
These mapped messages are ordered and will have sequential CAN IDs starting at sc_canbus.base_can_address
.
A standard configuration for CAN messages of individual registers uses the following settings:
Register | Setting |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0 |
|
1 |
|
0 |
With sc_canbus.base_can_address = 0x100
, the above configuration would result in the following CAN message IDs:
CAN ID | Message | Unit |
---|---|---|
0x100 |
Clock |
Seconds |
0x101 |
Stack Voltage |
mV |
0x102 |
Stack Current |
mA |
0x103 |
State of Charge |
% |
0x104 |
Depth of Discharge |
mAhr |
0x105 |
Maximum Cell Voltage |
mV |
0x106 |
Minimum Cell Voltage |
mV |
0x107 |
Average Cell Voltage |
mV |
0x108 |
Maximum Temperature |
°C |
0x109 |
Minimum Temperature |
°C |
0x10A |
Average Temperature |
°C |
0x10B |
Overall Safe |
Boolean |
0x10C |
Safe to Charge |
Boolean |
0x10D |
Safe to Discharge |
Boolean |
0x10E |
Charge Current Limit |
mA |
0x10F |
Charge Percent Limit |
% |
0x110 |
Discharge Current Limit |
mA |
0x111 |
Discharge Percent Limit |
% |
0x112 |
Stack Control Connection State |
Enumeration |
7.8.1.2. Bulk Register Reporting
In addition to individual register reporting, four configurable bulk report blocks are available for reporting repeating blocks of registers such as cell voltage and temperature.
From the receiver’s point of view, there is no difference between a message for individual registers and a message for bulk registers. The main difference is in the configuration.
Repeating blocks of CAN bus messages are configured using the following registers.
sc_canbus_bulk_map[0:3].baseaddress
-
-
The register address from which to start bulk reading
-
A value of 0 disables the associated messages from being broadcast
-
sc_canbus_bulk_map[0:3].baseenableaddress
-
-
The register address used to enable transmission of a CAN message
-
sc_canbus_bulk_map[0:3].offset
-
-
The offset to add to the base addresses between each read
-
sc_canbus_bulk_map[0:3].numtoread
-
-
The number of registers to read and report in total for this bulk report
-
The addresses used for baseaddress and baseenableaddress need to be based from the same component such as cell or therm .
|
The messages for bulk reports are ordered and have sequential CAN IDs.
The first bulk report (associated with sc_canbus_bulk_map[0]
) uses CAN IDs starting at sc_canbus.base_can_address + 64
.
The next bulk report (associated with sc_canbus_bulk_map[1]
) uses CAN IDs starting at (sc_canbus.base_can_address + 64 + sc_canbus_bulk_map[0].numtoread
).
Changing sc_canbus_bulk_map[n].numtoread
shifts the CAN IDs of the subsequent bulk reports (sc_canbus_bulk_map[n+1], …, sc_canbus_bulk_map[3]
).
A standard configuration for CAN reporting of bulk registers uses the following settings (for a system with only one set of cells and thermistors):
Register | Setting |
---|---|
|
|
|
|
|
6 |
|
16 |
|
|
|
|
|
4 |
|
8 |
|
0 |
|
0 |
|
0 |
|
0 |
With sc_canbus.base_can_address = 0x100
, the above configuration would result in the following CAN message IDs:
CAN ID | Message | Unit |
---|---|---|
0x140 |
Cell 0 Voltage |
mV |
0x141 |
Cell 1 Voltage |
mV |
0x142 |
Cell 2 Voltage |
mV |
0x143 |
Cell 3 Voltage |
mV |
0x144 |
Cell 4 Voltage |
mV |
0x145 |
Cell 5 Voltage |
mV |
0x146 |
Cell 6 Voltage |
mV |
0x147 |
Cell 7 Voltage |
mV |
0x148 |
Cell 8 Voltage |
mV |
0x149 |
Cell 9 Voltage |
mV |
0x14A |
Cell 10 Voltage |
mV |
0x14B |
Cell 11 Voltage |
mV |
0x14C |
Cell 12 Voltage |
mV |
0x14D |
Cell 13 Voltage |
mV |
0x14E |
Cell 14 Voltage |
mV |
0x14F |
Cell 15 Voltage |
mV |
0x150 |
Thermistor 0 Temperature |
°C |
0x151 |
Thermistor 1 Temperature |
°C |
0x152 |
Thermistor 2 Temperature |
°C |
0x153 |
Thermistor 3 Temperature |
°C |
0x154 |
Thermistor 4 Temperature |
°C |
0x155 |
Thermistor 5 Temperature |
°C |
0x156 |
Thermistor 6 Temperature |
°C |
0x157 |
Thermistor 7 Temperature |
°C |
Some repeating blocks of registers may have instances whose addresses are not immediately adjacent, due to provisioning of registers for systems with a higher channel count.
For example, in a system with two sets of 12 cells, each set of registers may span 16 register blocks.
In this scenario, sc_canbus_bulk_map[0:3].numtoread
should be set to 32, not 24.
sc_canbus_bulk_map[0:3].numtoread
should be a multiple of 16 for bulk registers associated with cells regardless of cell[0:799].installed
.
sc_canbus_bulk_map[0:3].numtoread
should be a multiple of 8 for bulk registers associated with thermistor regardless of therm[0:399].installed
.
A system with two sets of 12 cells and two sets of 8 thermistors would have sc_canbus_bulk_map[0].numtoread = 32
and sc_canbus_bulk_map[1].numtoread = 16
.
With this modification, the above configuration would result in the following CAN message IDs:
CAN ID | Message | Unit | Note |
---|---|---|---|
0x140 |
Cell 0 Voltage |
mV |
1st cell of 1st set |
0x141 |
Cell 1 Voltage |
mV |
2nd cell of 1st set |
0x142 |
Cell 2 Voltage |
mV |
3rd cell of 1st set |
0x143 |
Cell 3 Voltage |
mV |
4th cell of 1st set |
0x144 |
Cell 4 Voltage |
mV |
5th cell of 1st set |
0x145 |
Cell 5 Voltage |
mV |
6th cell of 1st set |
0x146 |
Cell 6 Voltage |
mV |
7th cell of 1st set |
0x147 |
Cell 7 Voltage |
mV |
8th cell of 1st set |
0x148 |
Cell 8 Voltage |
mV |
9th cell of 1st set |
0x149 |
Cell 9 Voltage |
mV |
10th cell of 1st set |
0x14A |
Cell 10 Voltage |
mV |
11th cell of 1st set |
0x14B |
Cell 11 Voltage |
mV |
12th cell of 1st set |
0x150 |
Cell 16 Voltage |
mV |
1st cell of 2nd set |
0x151 |
Cell 17 Voltage |
mV |
2nd cell of 2nd set |
0x152 |
Cell 18 Voltage |
mV |
3rd cell of 2nd set |
0x153 |
Cell 19 Voltage |
mV |
4th cell of 2nd set |
0x154 |
Cell 20 Voltage |
mV |
5th cell of 2nd set |
0x155 |
Cell 21 Voltage |
mV |
6th cell of 2nd set |
0x156 |
Cell 22 Voltage |
mV |
7th cell of 2nd set |
0x157 |
Cell 23 Voltage |
mV |
8th cell of 2nd set |
0x158 |
Cell 24 Voltage |
mV |
9th cell of 2nd set |
0x159 |
Cell 25 Voltage |
mV |
10th cell of 2nd set |
0x15A |
Cell 26 Voltage |
mV |
11th cell of 2nd set |
0x15B |
Cell 27 Voltage |
mV |
12th cell of 2nd set |
0x160 |
Thermistor 0 Temperature |
°C |
1st thermistor of 1st set |
0x161 |
Thermistor 1 Temperature |
°C |
2nd thermistor of 1st set |
0x162 |
Thermistor 2 Temperature |
°C |
3rd thermistor of 1st set |
0x163 |
Thermistor 3 Temperature |
°C |
4th thermistor of 1st set |
0x164 |
Thermistor 4 Temperature |
°C |
5th thermistor of 1st set |
0x165 |
Thermistor 5 Temperature |
°C |
6th thermistor of 1st set |
0x166 |
Thermistor 6 Temperature |
°C |
7th thermistor of 1st set |
0x167 |
Thermistor 7 Temperature |
°C |
8th thermistor of 1st set |
0x168 |
Thermistor 8 Temperature |
°C |
1st thermistor of 2nd set |
0x169 |
Thermistor 9 Temperature |
°C |
2nd thermistor of 2nd set |
0x16A |
Thermistor 10 Temperature |
°C |
3rd thermistor of 2nd set |
0x16B |
Thermistor 11 Temperature |
°C |
4th thermistor of 2nd set |
0x16C |
Thermistor 12 Temperature |
°C |
5th thermistor of 2nd set |
0x16D |
Thermistor 13 Temperature |
°C |
6th thermistor of 2nd set |
0x16E |
Thermistor 14 Temperature |
°C |
7th thermistor of 2nd set |
0x16F |
Thermistor 15 Temperature |
°C |
8th thermistor of 2nd set |
7.8.1.3. Inter Report Message Interval
By default the CAN report messages are sent successively one after another.
Some CAN receivers will experience issues receiving CAN messages at this maximum rate.
The battery management system can be configured to inject a pause between report messages.
This delay is configured using the register sc_canbus[0].report_msg_interval
.
The value of this register represents the number of microseconds inserted between CAN report messages.
This delay applies to all CAN report messages.
A delay inserted between report messages will also allow better CAN bus arbitration with master devices on the CAN bus that are attempting to send the battery management system CAN command messages.
The time to transfer the total number of CAN report messages plus the inter-report interval per message must be less than the CAN report interval or there will be performance related issues with the CAN bus operation. Any additional CAN traffic on the bus from other devices must also be considered. |
7.8.1.4. Command Message Mapping
The battery management system can be configured to accept specific CAN IDs as command message inputs to perform actions such as:
-
Connect/disconnect a battery to the DC bus
-
Clear faults and warnings
-
Update the controller heartbeat
A CAN ID is configured as a command message by the configuration register settings:
sc_canbus_map[N].command
= 1
sc_canbus_map[N].address
= @<component[].register>
Messages have a CAN IDs of sc_canbus.base_can_address + N
.
This command configuration means that if a CAN message with the correct CAN ID is transmitted on the CAN bus, the BMS will receive the message and write the data received into the configured register address. The data sent with the message must match the expected size and sign of the register.
Register | Operation |
---|---|
|
Set to 1 to clear faults |
|
Set to 1 to clear warnings |
|
Set to 1 or 0 to connect or disconnect (respectively) a battery from the DC bus |
|
Write any value to update the controller heartbeat and prevent the watchdog timer from expiring (if configured) |
7.8.1.5. Special Application Note: Conditional Message Transmission
In some cases, it may be desirable to only broadcast a message when a certain condition is true.
For example, an application may require that a message be broadcast when a GPI is set.
This can be achieved by utilizing bulk reporting and setting sc_canbus_bulk_map[0].baseenabledaddress
to the same thing as sc_canbus_bulk_map[0].baseaddress
.
Thus, the following configuration would result in Nuvation Energy BMS only transmitting a message when GPI[0]
is 1:
Register | Setting |
---|---|
|
1 |
|
0 |
|
|
|
|
|
1 |
7.8.2. RS485 Modbus RTU
Refer to Section 8.1 for more information on using this interface.
The slave device address used by the BMS for Modbus RTU may be customized as required.
sc_modbus_rtu.device_address
-
-
Set to the desired Modbus RTU slave device address
-
7.9. Measurement Calibration
The Nuvation Energy BMS provide calibration settings which allow the system to be fine-tuned for integration with a variety of measurement sensors. The preset values that ship with the BMS can be adjusted as required.
7.9.1. Thermistor Calibration
Nuvation Energy BMS can be configured to use any thermistor. A function that converts measured voltage into temperature must be determined and configured for the particular thermistor in use.
A sixth-order polynomial is used within the BMS to model this transfer function:
stack_therm_poly.coeff0
(Factory)
-
-
Set to C0 (Floating-point value)
-
stack_therm_poly.coeff1
(Factory)
-
-
Set to C1 (Floating-point value)
-
stack_therm_poly.coeff2
(Factory)
-
-
Set to C2 (Floating-point value)
-
stack_therm_poly.coeff3
(Factory)
-
-
Set to C3 (Floating-point value)
-
stack_therm_poly.coeff4
(Factory)
-
-
Set to C4 (Floating-point value)
-
stack_therm_poly.coeff5
(Factory)
-
-
Set to C5 (Floating-point value)
-
stack_therm_poly.coeff6
(Factory)
-
-
Set to C6 (Floating-point value)
-
The thermistor voltage is read by a 10 kΩ pull-up to 3.00 V DC. The first step in calculating coefficients for a thermistor is to create a table in Microsoft ExcelTM or equivalent spreadsheet application with the following columns:
Temperature ( °C ) | Resistance ( Ω ) | Vadc ( V ) |
---|---|---|
-40 |
334274 |
2.91286 |
-35 |
241323 |
2.88063 |
. . . . |
. . . . |
. . . . |
125 |
336.75 |
0.09773 |
Temperature and resistance values are taken from the datasheet of the thermistor. Vadc is calculated using the following formula:
Using the line plot feature, create a graph of Vadc vs Temperature and turn on the trend line. Then modify the trend line to be a 6th order polynomial type, and display the equation on the chart. The equation will look like:
These polynomial coefficients can then be used to configure Nuvation Energy BMS for this thermistor. An example plot of these measurements is shown in the next figure.
7.9.2. Stack Current Calibration
Current measurements are made using a current sensing analog front-end (AFE) that may be configured for a wide range of current shunt resistances.
7.9.2.1. Stack Current Factory Calibration
The factory calibration of current readings is implemented according to the following formula that converts ADC readings into a current:
The multiplier and divider are set in configuration as follows.
pi_afe_iadc.multiplier
(Factory)
-
-
Calculated calibration setting
-
Set as per current shunt selection
-
pi_afe_iadc.divider
(Factory)
-
-
Calculated calibration setting
-
Set as per current shunt selection
-
Calculating an appropriate multiplier and divider is best illustrated through an example. Assume a 5 mΩ current shunt is chosen that will have 50 mV across its terminals at 10 A. This voltage across the shunt at 10 A will be used to determine the multiplier and divider.
The first step is to calculate the conversion factor between the measured voltage and the calculated current value using the following equation:
In this example, the conversion factor is 0.000027939 (10000mA and Vadc is 50 mV). The next step is to express this factor according to the following equation:
The easiest approach is to use the divider to achieve the desired precision and then use the multiplier to achieve the desired accuracy, keeping in mind that both values must be expressed as integers. In this case, the divider can be 10000000 and the multiplier can then be 279.
Additional work can still be done to refine these values. Searching for more accurate multipliers and dividers through a spreadsheet or trial and error can reduce rounding error.
For example a divider of 111000 and a multiplier of 31 are more accurate by a decimal place than the previous values. Running experimental calibration using an external tool to measure current (such as a multimeter) provides the best estimate.
For older versions of firmware, specifically versions before 4.58.0, these settings were different. To migrate multiplier/divider settings from before 4.58.0 to later versions, ensure the multiplier is reduced by a factor of 256. For example: if the old multiplier was 1024, the new multiplier should be 1024/256 = 4. |
7.9.2.2. Stack Current Field Calibration
Units that have been factory locked may still require tuning for variability in shunts on a per-unit basis. The equation for Stack Current Field Calibration adjustment is:
The gain is set in the configuration as follows.
stack_power.current_gain
(Configuration)
-
-
Fine tuning gain for raw current values.
-
A value of 1000 = +1% adjustment (rawcurrent * 1.01)
-
A value of -1000 = -1% adjustment (rawcurrent * 0.99).
-
At the factory, appropriate limits for the gain are defined to ensure a user does not misconfigure the system. The gain limit is set in the configuration as follows:
stack_power.current_gain_limit
(Factory)
-
-
Absolute value of the limit for gains on raw current values.
-
If the
stack_power.current_gain
register is set to outside of this limit, the gain applied will be limited to this value.
-
7.9.2.3. Charge Deadband Setting
In addition to calibrating current readings, it is also necessary to define the deadband that will be used to determine whether the battery stack is charging, discharging, or at rest (holding).
stack_charge_status.hold_current
(Factory)
-
-
The battery stack is considered at rest unless the absolute value of current exceeds this threshold
-
Set as required by application (typically between 50 and 100 mA)
-
While this threshold is used to qualify certain aspects of SoC estimation, Coulomb counting takes place continuously regardless of the configured hold current value. Other functions that require knowledge of the charge or discharge state of the stack (e.g. the thermistor temperature thresholds) also make use of this threshold.
7.9.3. Stack Voltage Calibration
Stack voltage measurements are made using a voltage sensing analog front-end (AFE) that must be configured for Nuvation Energy BMS.
7.9.3.1. Stack Voltage Factory Calibration
Factory calibration operates according to the following formula that converts an ADC reading to a voltage:
pi_afe_vadc.multiplier
(Factory)
-
-
Default calibration: set to -1
-
pi_afe_vadc.divider
(Factory)
-
-
Default calibration: set to 28436
-
While these defaults are likely acceptable for most applications, the calibration can be fine-tuned as needed for particular situations.
7.9.3.2. Stack Voltage Field Calibration
Units that have been factory locked may still require tuning for variability on a per-unit basis. The equation for Stack Voltage Field Calibration adjustment is:
The gain is set in the configuration as follows.
stack_power.voltage_gain
(Configuration)
-
-
Fine tuning gain for raw voltage values. A value of 1000 = +1% adjustment (
rawvoltage
* 1.01). A value of -1000 = -1% adjustment (rawvoltage
* 0.99).
-
At the factory, appropriate limits for the gain are defined to ensure a user does not misconfigure the system. The gain limit is set in the configuration as follows:
stack_power.voltage_gain_limit
(Factory)
-
-
Absolute value of the limit for gains on raw voltage values.
-
If the
stack_power.voltage_gain
register is set to outside of this limit, the gain applied will be limited to this value.
-
7.10. Hardware Settings
For Low-Voltage BMS systems, the following configuration registers must be set as per the Low-Voltage BMS variant in use for your application.
sc_linkbus.softwareid
-
-
Selection of Low-Voltage BMS variant
-
Set to 0 for NUV300-BC-12
-
Set to 1 for NUV300-BC-16
-
sc_linkbus.cicount
-
-
Set to 1 for a stand-alone NUV300-BC-12 and NUV300-BC-16
-
Set to 2 when using a Cell Interface expansion module
-
sc_linkbus.power_mode
-
-
Set to 2 for NUV300-BC-12 and NUV300-BC-16
-
The Low-Voltage BMS cannot power the Cell Interface module through the Link Bus. |
Refer to Section 7.10.5 for details on how to configure the under-voltage feature for the Low-Voltage BMS.
7.10.1. Link Bus Scan Period
The rate at which cell voltage and temperature measurements are updated is determined by a configurable Link Bus scan period. All cell voltages are measured every scan cycle. Thermistor temperature measurement is multiplexed across eight consecutive scan cycles. One thermistor in each group of cells (monitored by a single BMS module) is measured during each cycle, so the effective scan period of any given thermistor in the system is 8 times the Link Bus scan period.
sc_linkbus.scan_period
-
-
Measurement period for cell voltages
-
This is typically set to 1 second
-
Performance of passive balancing is also closely related to the scan period. In Nuvation Energy BMS, a single wiring harness is used to measure cell voltage as well as bleed off passive cell balancing current. It is not possible to make accurate voltage measurements while simultaneously balancing cells. To ensure accurate measurement, balancing current flow must stop before measurement can start (and any transient effects associated with that current flow must be allowed to settle). This is handled automatically by Nuvation Energy BMS. This means that passive balancing has some duty cycle that is less than 100% in practical systems.
The Link Bus has a configurable settling period for balancing that corresponds to the amount of time balancing is left off before voltage measurements are taken.
sc_linkbus.balance_settle_period
-
-
Settling period during which balancing is disabled before cell voltage measurement.
-
Typically set between 50 and 100 ms
-
For most systems, values between 50 and 100 ms yield accurate, stable measurements. When coupled with a scan period of 1000 ms, balancing duty cycles above 90% are achievable.
For some applications, it may be desirable to de-rate the effective passive balancing current by increasing the balancing settling period as a way to decrease the balancing duty cycle. If the balancing settling period is increased beyond the scan period, the actual scan rate of the system will start to decrease below the configured value. If this is increased even further, the reduced scan period will eventually trip the scan rate watchdog, putting the system into the fault state.
7.10.2. Cell Voltage Low-Pass Filter
One of two low-pass filters (LPF) are available for cell voltage measurement. This cell voltage low-pass filter is also referred to as the 'Measurement Anti-Aliasing Filter'. The filters are implemented in hardware and are selected via the following configuration.
sc_linkbus.cell_voltage_lpf_bw
-
-
A value of 0 selects a 7 kHz LPF (i.e OFF)
-
A value of 1 selects a 26 Hz LPF (i.e. ON)
-
The 7 kHz LPF cannot be used with the Low-Voltage BMS |
7.10.3. Cell Open Wire Detection and Diagnostics
The battery management system is capable of detecting wiring and circuit problems on each cell voltage channel. The following scenarios are detectable:
-
Open circuits
-
Short circuits
-
High impedance connections/wiring
-
Internal battery management system hardware failures
The Nuvation Energy Low-Voltage BMS can only detect open wires when its low-pass filter is configured to 7 kHz. Refer to Section 7.10.2 for details on configuration. |
All channels are scanned for wiring and circuit problems when exiting lockout and during battery management system power up.
Open wires and circuit problems are reported for each cell through the cell.open_wire
flag.
The common configurable settings for open wire detection on all modules are listed and described below.
sc_linkbus.cell_open_wire_disabled
-
-
Typically this is set to
0
-
Setting this to
1
will disable all open wire reporting
-
sc_linkbus.cell_open_wire_period
-
-
The configurable period for scanning all channels for open wires
-
Typically this is set to
3600000000
(one hour)
-
Open wires are only scanned according to this period when the batteries are connected to the DC bus during typical operation. |
sc_linkbus.cell_open_wire_thresh
-
-
The configurable count for positive open wire detections before the
cell.open_wire
flag is set -
This is to ensure noise triggered false positives are filtered
-
Typically this is set to
3
-
sc_linkbus.cell_open_wire_max
-
-
The configurable maximum count for positive open wire detections
-
This variable is used to prevent windup of each channel’s counter
-
It also dictates how many Link Bus scan cycles should be used to collect enough samples to detect open wires
-
Typically set to
10
and cannot be less thansc_linkbus.cell_open_wire_thresh
-
sc_linkbus.cell_open_wire_ratio_lower
-
-
The ratio below which the channel has an error, represented as an integer between 0 and 1000, (0 = 0.0, and 1000 = 1.0)
-
Channels that have low ratios are indicative of high impedance connections between the cell and channel input, possibly due to loose connections or bad terminals.
-
Very low ratios indicate an open wire or a battery management system hardware failure
-
Typically set to
800
, representing 0.8
-
sc_linkbus.cell_open_wire_ratio_upper
-
-
The ratio above which the channel has an error, represented as an integer between 0 and 1000, (0 = 0.0, and 1000 = 1.0)
-
Channels that have high ratios are indicative of either short circuits or a battery management system hardware failure
-
This is typically
970
, representing 0.97
-
7.10.4. Fault Pilot Signal
The Fault Pilot signal is signal internal to the Nuvation Energy BMS used to open the contactors through a secondary control path in the case of a fault condition. When the system is faulted, the Fault Pilot signal should be suppressed to guarantee the contactor coils are de-energized, regardless of the state of the coil control software.
In most applications, this signal is a delayed version of the overall fault state of the BMS. This small delay allows for the opening of directional contactors according to any delays configured as part of the contactor output settings (Section 7.7.1).
In Nuvation Energy Low-Voltage BMS systems, the fault pilot is an internal signal on the Low-Voltage BMS between the two MCUs.
sc_gpo_fault_pilot.fault_enabled
-
-
Set to 1 to enable Fault Pilot signal to assert when
stack_factory_trigger_summary.fault
is tripped
-
sc_gpo_fault_pilot.fault_delay
-
-
Set according to application (typically, between 100 and 5000 ms)
-
7.10.5. Under-Voltage Shutdown
The Low-Voltage BMS has the hardware feature to shut off the Low-Voltage BMS power when the battery is at a critically low voltage level. This action prevents the battery management system from draining the remaining power from the battery and prevent further damage. The shutdown feature integrates with the same mechanism used by the shutdown input of the Low-Voltage BMS (Section 9.1.5). The following registers need to be configured to manage this feature.
A combined Under Voltage Lock Out (UVLO)
trigger is used to provide a shutdown input for either a critically low stack or cell voltage.
stack_uvlo_cell_voltage.thresh
-
-
Set to the lowest safe cell voltage for a battery. Must be the lowest voltage possible for battery safety.
-
stack_uvlo_stack_voltage.thresh
-
-
Set to the lowest safe stack voltage for a battery.
-
The above triggers are logically OR’d together into a combined trigger named stack_uvlo_combined
. The output of this trigger needs to be directed to the internal shutdown of the Low-Voltage BMS using the following register configuration.
sc_gpo_shutdown.address
-
-
Set to
@stack_uvlo_combined.trig
-
sc_gpo_shutdown.inverted
-
-
Set to 1
-
sc_gpo_shutdown.address_enabled
-
-
Set to 1
-
7.10.6. Clock Verification
The Low-Voltage BMS module’s two subsystems (power interface and stack controller subsystems) each have an independent clock and these are checked against each other regularly to ensure proper operation. The following components are associated with clock checking diagnostics.
sc_fault_clocks.disabled
-
-
Setting to
1
enables clock checking on the stack controller subsystem -
Disabling this fault will prevent the BMS from tripping a fault if the stack controller subsystem detects that the power interface subsystem clock is out of sync
-
Typically set to
1
-
pi_clock_check.enabled
-
-
Setting to
1
enables clock checking on the power interface subsystem -
No fault is associated with this feature and the power interface subsystem will directly disconnect the contactors if a clock error is detected
-
Typically set to
0
-
7.10.7. Open Shunt Detection and Diagnostics
Nuvation Energy BMS is capable of detecting improperly installed, loose, or disconnected sense wires that are used to measure the stack voltage and stack current by tracking the correlation between the two measurements.
stack_open_shunt_detector.enabled
-
-
Set to 1 to enable the open shunt detection algorithm
-
stack_open_shunt_detector.current_activity_threshold
-
-
Current measurements above this threshold are used for tracking the correlation between stack voltage and stack current
-
Typically set to the same value as the
stack_short_shunt_detector.current_activity_threshold
register
-
stack_open_shunt_detector.minimum_resistance_threshold
-
-
The threshold value below which resistance estimates are considered faulty
-
Setting this parameter requires knowledge of the cell resistance (Rc) in μΩ and the number of cells connected in series for a stack (Ncell)
-
A typical value, reported in μΩ, can be calculated based on the equation below
-
stack_open_shunt_detector.filter_sample_count
-
-
This register is used to adjust how much noise is filtered out to prevent false trips due to noisy signals
-
A higher value will result in a greater amount of filtering
-
Typically set to
10
-
stack_fault_open_shunt.thresh
-
-
The minimum percent of faulty samples required to trip an open shunt fault
-
These faulty samples are current and voltage measurements that do not correlate with each other
-
Typically set to
50
-
7.10.8. Short Shunt Detection and Diagnostics
Nuvation Energy BMS can detect shorts in the stack current and stack voltage sensing circuit by tracking the correlation between the stack voltage and stack current.
stack_short_shunt_detector.enabled
-
-
Set to 1 to enable the short shunt detection algorithm
-
stack_short_shunt_detector.current_activity_threshold
-
-
If a short circuit exists, the measured current would fall below this threshold value
-
A typical value, reported in mA, can be calculated taking into account the fuse rating (Ifuse) of the stack in amps
-
stack_short_shunt_detector.voltage_activity_threshold
-
-
If voltage activity is detected above this threshold value, the detector looks for correlation between the stack voltage and stack current.
-
A typical value, reported in mV, can be calculated using the
current_activity_threshold
(mA) determined above along with the stack resistance (Rstack) in Ω
-
If the value of the stack resistance is not known, it can be calculated using the cell resistance (Rc) in Ω and the number of cells in the stack (Ncell).
stack_short_shunt_detector.current_time_constant
-
-
The time constant of the filter used to remove noise in the current signal
-
Typically set to
1000000
-
stack_short_shunt_detector.voltage_time_constant
-
-
The time constant of the filter used to remove noise in the voltage signal
-
Typically this is set to
1000000
-
stack_short_shunt_detector.activity_detection_time
-
-
The settling time of the filter used to detect gradual changes in stack voltage The value also represents the time required to detect these changes.
-
Typically set to
1800000000
-
stack_short_shunt_detector.ramp_detection_time
-
-
The time constant of the filter used to detect rapid changes in stack voltage. The value also represents the time required to detect these changes.
-
Typically set to
10000000
-
stack_short_shunt_detector.filter_sample_count
-
-
Used to adjust how much noise is filtered out to prevent false trips due to noisy signals
-
A higher value will result in a greater amount of filtering
-
Typically set to
100
-
stack_fault_short_shunt.thresh
-
-
The minimum percent of faulty samples required to trip a short shunt fault
-
These faulty samples are current and voltage measurements that do not correlate with each other
-
Typically this is set to
50
-
If the short shunt fault has tripped, it cannot be cleared by pressing Clear Faults until the activity falls below its threshold. It may take several minutes for this transition to occur. Refer to Section 10.1.7.1.2 on how to work around this issue. |
7.10.9. Temperature Consistency Check
The temperature consistency check will calculate the maximum deviation between the smallest and largest measured temperature on the Low-Voltage BMS. When using a Cell Interface expansion module, the temperature consistency check also calculates the smallest and largest measured temperature on the Cell Interface (independently from the Low-Voltage BMS).
If the deviation exceeds a configurable threshold value, a fault will be tripped.
stack_fault_ci_therm_consistency.thresh
-
-
The maximum temperature deviation, in units of °C, that is allowed between thermistors of a single Low-Voltage BMS or Cell Interface module
-
Typically this is set to
15
-
In order to minimize this temperature deviation and prevent false trips, consider the following recommendations below.
7.10.9.1. Recommendation for Temperature Consistency Check
There are two main factors that need to be considered when connecting the thermistors. First, it is important to ensure that the thermal cooling environment for each of thermistors is similar. One approach is to place the thermistors orthogonal to the cooling air direction.
Consider the following scenario where the cooling air flow is in the same direction as the installed thermistors.
A temperature gradient will develop in the direction of the air flow, where the cells to the far left will be cooled more than the ones to the right. This can result in a large temperature deviation within the cell grouping. To minimize this, the cells can be rearranged as shown in below.
The effect of the temperature gradient can be attenuated by grouping thermistors orthogonal to the gradient. During operation, the temperature measurements within this group increase and decrease and therefore, when a failure occurs, the problematic thermistor will begin to deviate from the rest of the group.
A second factor that can be considered to minimize the temperature deviation within cell grouping is battery State-of-Health. It is advantageous to group cells with similar State-of-Health values together since they would have similar thermal responses to current activity.
7.11. Watchdogs and Freshness
Watchdog timers are employed in Nuvation Energy BMS to ensure specific functions execute regularly. If a watchdog timer is not periodically reset, the timer will expire and an associated fault will trip and disconnect the contactors. The watchdog timers are exposed by the BMS through multiple watchdog components.
wdt.expired
-
-
1
indicates that the timer has not been reset within the configured time and is considered expired -
0
indicates the timer has not expired.
-
wdt.period
-
-
The time period within which the timer needs to be reset before it expires
-
The watchdogs configurations are described below.
Watchdog Component | Notes |
---|---|
|
Configures the watchdog timer for the RAM testing. Typically |
|
Configures the watchdog timer for the ROM testing. Typically |
7.11.1. Freshness
Freshness is a mechanism in Nuvation Energy BMS to guarantee data within the system is up to date. Measurements such as cell voltage, cell temperatures, and stack voltage are captured and aggregated on different subsystem. Points of failures in different subsystems can result in data reported by the BMS to be stale. Regardless of how and where data stops being propagated, freshness provides a mechanism for the system to detect these failures and perform the necessary procedures to keep the system safe.
The freshness mechanism is exposed by the BMS through multiple freshness component.
fresh.stale
-
-
1
indicates that the associated data has not been updated within the configured time and is considered stale -
0
indicates the data is still fresh
-
fresh.period
-
-
The time period within which the associated data needs to be updated before it is considered to be stale
-
Freshness components are mapped to certain types of data such as cell data, stack data, and so on. When a freshness component becomes stale, it means that its associated data has not been updated within the configured time period.
Freshness Component | Associated Data | Notes |
---|---|---|
|
|
Ensures cell information is updated.
Only installed cells are checked for freshness.
The |
|
|
Ensures thermistor information is updated.
Only installed thermistors are checked for freshness.
The |
|
|
Ensures Cell Interface information is updated.
Only installed Cell Interfaces are checked for freshness.
The |
|
|
Ensures open-wire detection occurs periodically.
The |
|
|
Ensures stack power information is updated.
The |
|
|
Ensures Link Bus checks occur periodically.
The |
|
|
Ensures factory configuration verification of the stack controller subsystem occurs periodically.
The |
|
|
Ensures factory configuration verification of the power interface subsystem occurs periodically.
The |
8. Communication Protocols
8.1. Modbus Protocol Support
Nuvation Energy BMS implements the SunSpec battery models defined in the Modular Energy Storage Architecture (MESA) as the top-level Modbus interface to the product. Specifically the BMS implements the MESA Draft 3 Storage models (800 Series).
The specifications for these models are available for download at https://www.nuvationenergy.com/technical-resources.
MESA Draft 3 is currently implemented on Nuvation Energy BMS. |
8.1.1. Modbus RTU
This protocol is used in serial communications. The default configuration is as follows:
-
Baud rate: 38400
-
Parity: even
-
Data bits: 8
-
Stop bits: 1
The Modbus RTU slave address must be set through software configuration. The default slave address value is 1.
A slave address of zero is used as a broadcast address and should not be used as the Modbus RTU slave address. |
8.1.2. Modbus TCP
This protocol is used for communications over TCP/IP networks. A single Modbus TCP connection is supported over port 502 for read and write access. All register data is transmitted as big endian (most significant byte first).
8.1.3. Implemented MESA Models
The MESA standards contain a number of 'models' that can be implemented by vendors to describe a storage device at various levels of detail. The models implemented by Nuvation Energy BMS are described in the sections below.
Detailed register maps for all Draft 3 models are found in the document MESA-Energy-Storage-Information-Models_Draft_3.xlsx found at the Nuvation Energy technical resources located at https://www.nuvationenergy.com/technical-resources.
8.1.3.1. Common Model
This model primarily contains information to identify the device (e.g. manufacturer, model, serial number) as well as the version of software running on the device. A full description of the Common Model can be found in the SunSpec specification bundle.
8.1.3.2. S801
This model describes an energy storage device at the highest possible level. State-of-Charge and overall alarm and warning states are found here. All mandatory points are implemented. The Modbus address of this model is 40070.
8.1.3.3. S802
This model describes a battery storage device. At this level, the critical operational information includes the charge and discharge current limits. All mandatory points are implemented. The Modbus address of this model is 40094.
8.1.3.4. S803
This model describes a lithium-ion battery in detail. Voltage, temperature, and current statistics are available at the pack and stack level within this model. All mandatory and most optional points are implemented. The Modbus address of this model is 40116.
8.1.3.5. End Model
This model marks the end of the implemented Modbus address space.
8.1.4. MESA Model Structure and Nomenclature
This section is a clarification of terms used to describe a MESA model. It is used to understand the terminology in the spreadsheet presented in the previous section.
8.1.4.1. Points
All MESA models are a collection of points (i.e. Modbus registers). These points can be one or more Modbus registers in length. By definition, each Modbus register is 16 bits wide. For points that are larger than 16 bits, partial read accesses are not allowed. A Modbus read/write error is returned on such an access.
8.1.4.2. Fixed/Repeating Blocks
MESA models are described as collections of Fixed and Repeating blocks of points. A Fixed block is a set of points that is always defined and never changes in its size. A Repeating block describes a set of related points (i.e. usually for a string of batteries) of which there could be multiple instances of the Repeating blocks. The points within a repeating block are the same but these sets of blocks are concatenated sequentially.
For a single-stack Nuvation Energy BMS there is only one 803 repeating block. If a stack/string is configured in Nuvation Energy BMS software to be installed, then accessing its 803 repeating block will provide a valid Modbus response.
Repeating blocks are taken into account in the length indicated in the model header.
8.1.4.3. Unimplemented Points
Any MESA point that is not implemented by a vendor will generate an unimplemented response. The response will be a valid Modbus read response but all point data returned will report unimplemented values. The unimplemented values vary by type as listed in the following table.
Type | Width (bits) | Unimplemented Value (hexadecimal) |
---|---|---|
signed int |
16 |
0x8000 |
unsigned int |
16 |
0xFFFF |
signed int |
32 |
0x80000000 |
unsigned int |
32 |
0xFFFFFFFF |
enumeration |
16 |
0xFFFF |
enumeration |
32 |
0xFFFFFFFF |
A write to a writeable MESA point that is unimplemented will generate a Modbus write error.
The MESA implementation on Nuvation Energy BMS has unimplemented points as follows:
Model | Point Name | Description |
---|---|---|
801 |
Evt |
Event status bit field |
801 |
DisChaRate |
Self Discharge Rate |
801 |
MaxRsvPct |
Maximum Reserve Percent |
801 |
MinRsvPct |
Minimum Reserve Percent |
801 |
ChaSt |
Charge Status |
801 |
DerAlarmReset |
Alarm Reset (read is unimplemented) |
802 |
CycleCt |
Cycle Count |
802 |
WMaxDisChaRte |
NamePlate Max Discharge Rate |
802 |
SoH |
State of Health (reported in 803 model per string) |
802 |
BatReqPCSSt |
PCS State Request |
802 |
BatReqW |
Battery Power Request |
802 |
SoH_SF |
State of Health Scale Factor |
802 |
BatReqW_SF |
Battery Power Request Scale Factor |
803 |
StrEvt2 |
String Event 2 |
803 |
StrConFail |
String Connection Fail |
8.1.4.4. Scale Factors
All MESA points are integer values (signed or unsigned). To account for different range values beyond the data size (i.e. greater than 65535 for an unsigned 16 bit value) or some fractional value (i.e. 1.1), some MESA points have scale factors associated with them. The scale factor is another point within the model which contains a signed integer exponent of base 10 that scales a corresponding point value. For example, a scale factor of 2 would result in multiplying the corresponding point by 100. Likewise a scale factor of -3 would result in a scale factor of 0.001. Refer to the prior MESA Draft 3 spreadsheet for the relationship between MESA points and their scale factors. All scale factors are fixed for a model and do not change in value.
8.1.5. Operational Cases for MESA
There are two main operational cases for the control of Nuvation Energy BMS over its MESA interface:
-
An external controller (sometimes called "Energy Storage Controller") is used to coordinate power control functions of the BMS in conjunction with some other equipment (such as an inverter). This controller requires periodic and rapid responses of MESA point reads as well as some control over the operation of the BMS (such as stack connectivity). If there is a loss of communication between this controller and the BMS, the BMS will disconnect the stack(s) as a safety precaution.
-
An owner/operator of a battery system requires control of the BMS to monitor the activity of the batteries and track battery usage and its charge/discharge activities. This information can then be used to characterize the usage of the battery management system and to validate battery warranties of a vendor.
Read and write Modbus TCP operations can be performed over the standard Modbus port 502
(only a single connection is supported on this port).
These two operational cases will be discussed in detail in the following sections.
8.1.5.1. External Controller Communicating Over MESA Interface
An external controller typically polls Nuvation Energy BMS battery control points at a rate of 2–4 Hz. This controller reads data points required to manage current flow in the system. The following table summarizes the most important points an external controller may want to read from the BMS.
Model | Block | Point Name | Address | Scale Factor | Purpose |
---|---|---|---|---|---|
801 |
Fixed |
DERHb |
40086 |
No |
BMS Heartbeat counter incremented every second |
802 |
Fixed |
Evt1 |
40101 |
No |
Bit field of all faults/warnings of a the BMS |
802 |
Fixed |
Vol |
40105 |
Yes |
External DC voltage of the battery system |
802 |
Fixed |
MaxBatACha |
40106 |
Yes |
Charge current limit calculated by the BMS |
802 |
Fixed |
MaxBatADischa |
40107 |
Yes |
Discharge current limit calculated by the BMS |
803 |
Fixed |
BTotDCCur |
40127 |
Yes |
Total DC current of the battery system |
A controller may also want to command Nuvation Energy BMS to perform certain actions, such as connecting/disconnecting the battery. The following table provides the different writeable points in the MESA interface for different control functions:
Model | Block | Point Name | Address | Purpose |
---|---|---|---|---|
801 |
Fixed |
ControllerHb |
40087 |
Heartbeat register for external controller |
801 |
Fixed |
DERAlarmReset |
40088 |
Clears all latched alarms in the BMS |
802 |
Fixed |
BSetOperation |
40110 |
Commands Nuvation Energy BMS to connect/disconnect the battery |
When configured, the heartbeat controller can be used to update the watchdog timer of Nuvation Energy BMS on single-stack and multi-stack implementations. If the heartbeat point is not updated within the watchdog timer period, a fault will be generated on the BMS stack and its corresponding contactors will be opened. The value written to the heartbeat point must increase in value and roll over to zero when the 16 bit range limit is reached.
The clearing of alarms of Nuvation Energy BMS is accomplished by writing a value of 1
to the DERAlarmReset
point.
This point is erroneously identified as read-only in the Mesa Draft 3 spreadsheet referenced earlier.
Note that the alarm will not be cleared if the alarm condition is still present.
Only BMS Faults are cleared using this point. BMS Warnings are not cleared. |
Commanding the Nuvation Energy BMS stack/string to connect/disconnect is accomplished through the BSetOperation
point.
This point accepts the enumerated values for these connect/disconnect operations.
Additional connection logic (such as separate pre-charge circuitry) is managed automatically by the BMS when it is configured for such an operation.
8.1.5.2. External Nuvation Energy BMS Monitoring Over MESA Interface
An external data logger may want to access a variety of data from the BMS. In general, a data logger will not actively manage Nuvation Energy BMS; normally, it will not initiate actions such as connecting a battery stack to the DC voltage bus or clearing faults. A data logger should connect to one of the read-only Modbus connections (if available) to allow the writable Modbus connection to be available for separate external control functions. The following table contains the MESA data points exposed by the BMS that could be collected for logging purposes.
Model | Block | Point Name | Address | Scale Factor | Purpose |
---|---|---|---|---|---|
801 |
Fixed |
SoC |
40081 |
Yes |
BMS State of Charge |
801 |
Fixed |
DERHb |
40086 |
No |
BMS Heartbeat counter incremented every second |
802 |
Fixed |
Evt1 |
40101 |
No |
Bit field of all faults/warnings of a BMS |
802 |
Fixed |
Vol |
40105 |
Yes |
External DC voltage of the battery system |
802 |
Fixed |
MaxBatACha |
40106 |
Yes |
Charge current limit calculated by BMS |
802 |
Fixed |
MaxBatADischa |
40107 |
Yes |
Discharge current limit calculated by BMS |
802 |
Fixed |
BSetOperation |
40110 |
No |
BMS requested connection state of all stacks/strings |
803 |
Fixed |
BConStrCt |
40118 |
No |
Number of stacks/strings with contactor closed |
803 |
Fixed |
BMaxCellVol |
40119 |
Yes |
Maximum cell voltage measured |
803 |
Fixed |
BMaxCellVolLoc |
40120 |
No |
Module/String location of maximum cell voltage |
803 |
Fixed |
BMinCellVol |
40121 |
Yes |
Minimum cell voltage measured |
803 |
Fixed |
BMinCellVolLoc |
40122 |
No |
Module/String location of minimum cell voltage |
803 |
Fixed |
BMaxModTmp |
40123 |
Yes |
Maximum module temperature |
803 |
Fixed |
BMaxModTmpLoc |
40124 |
No |
Module/String location for maximum module temperature |
803 |
Fixed |
BMinModTmp |
40125 |
Yes |
Minimum module temperature |
803 |
Fixed |
BMaxModTmpLoc |
40126 |
No |
Module/String location for minimum module temperature |
803 |
Fixed |
BTotDCCur |
40127 |
Yes |
Total DC current of the battery system |
803 |
Fixed |
BMaxStrCur |
40128 |
Yes |
Largest DC current reported by a stack/string |
803 |
Fixed |
BMinStrCur |
40129 |
Yes |
Smallest DC current reported by a stack/string |
803 |
Repeat |
StrSoC |
40135 +Index |
No |
State of charge for a stack/string |
803 |
Repeat |
StrSoH |
40136 +Index |
Yes |
State of health for a stack/string |
803 |
Repeat |
StrCur |
40137 +Index |
Yes |
Current of a stack/string |
803 |
Repeat |
StrMaxCellVol |
40138 +Index |
Yes |
Maximum cell voltage of a stack/string |
803 |
Repeat |
StrMinCellVol |
40139 +Index |
Yes |
Minimum cell voltage of a stack/string |
803 |
Repeat |
StrCellVolLoc |
40140 +Index |
No |
Location of min/max cell voltages of a stack/string |
803 |
Repeat |
StrMaxModTmp |
40141 +Index |
Yes |
Maximum module temperature of a stack/string |
803 |
Repeat |
StrMinModTemp |
40142 +Index |
Yes |
Minimum module temperature of a stack/string |
803 |
Repeat |
StrModTmpLoc |
40143 +Index |
No |
Location of min/max module temperatures of a stack/string |
803 |
Repeat |
StrEvt1 |
40144 +Index |
No |
Alarms warnings and status bit field of a stack/string |
The term Index in the Repeating block addresses used in the above table refers to a calculation of Index = Stack Index * Length of Repeating block .
By definition, the 803 Repeating block is 16 Modbus registers in length.
|
8.1.6. Accessing MESA Models
MESA models are located contiguously in the Modbus address space starting at a base address of 40000
.
The Common Model is always located first in this space.
The End Model is always last and is used to denote the end of MESA Modbus registers.
Each model located between the Common Model and the End Model has a numeric identifier as well as a length.
A handy tool that can be used to explore the MESA Modbus registers for Nuvation Energy BMS is modpoll.exe
.
It is available for free download at http://www.modbusdriver.com/modpoll.html.
Using modpoll.exe
, the Common Model can be polled from a using the following command (assuming the device has an IP address of 192.168.1.21
)
192.168.1.21
modpoll.exe -m tcp -0 -r 40000 -c 70 192.168.1.21 modpoll 3.4 - FieldTalk(tm) Modbus(R) Master Simulator Copyright (c) 2002-2013 proconX Pty Ltd Visit http://www.modbusdriver.com for Modbus libraries and tools. Protocol configuration: MODBUS/TCP Slave configuration...: address = 1, start reference = 40000 (PDU), count = 70 Communication.........: 192.168.1.21, port 502, t/o 1.00 s, poll rate 1000 ms Data type.............: 16-bit register, output (holding) register table -- Polling slave... (Ctrl-C to stop) [40000]: 21365 [40001]: 28243 [40002]: 1 [40003]: 66 . . . [40068]: 4660 [40069]: -32768
As another example, the complete S802 model for a system with one stack could be polled using the following command:
192.168.1.21
modpoll.exe -m tcp -0 -r 40094 -c 22 192.168.1.21 modpoll 3.4 - FieldTalk(tm) Modbus(R) Master Simulator Copyright (c) 2002-2013 proconX Pty Ltd Visit http://www.modbusdriver.com for Modbus libraries and tools. Protocol configuration: MODBUS/TCP Slave configuration...: address = 1, start reference = 40094 (PDU), count = 22 Communication.........: 192.168.1.21, port 502, t/o 1.00 s, poll rate 1000 ms Data type.............: 16-bit register, output (holding) register table -- Polling slave... (Ctrl-C to stop) [40094]: 802 [40095]: 20 . . . [40114]: -2 [40115]: -32768
8.2. CAN Bus Protocol Support
The details below do not apply to no-CAN variants (*-NC) as they do not have a CAN bus interface. |
Nuvation Energy BMS uses a flexible CAN reporting implementation which maps BMS software registers to CAN message identifiers. It is based on the CAN 2.0 standard, with the exception that Remote Transmission Requests (RTR) are not supported.
The parameters for the CAN interface are:
-
Baud: 500 kbit/s
-
CAN ID: 11-bit Identifier (Base frame format)
-
CAN payload length: variable from 1 byte to 8 bytes based on register size
8.2.1. CAN Reporting and Commands
The CAN interface provides the following capabilities through configuration:
-
Reporting of up to 64 individual registers within the battery management system.
-
Bulk-reporting of registers that represent sets of measurements (e.g. cell voltages and temperatures)
-
Creation of customizable commands to the battery management system to implement actions such as:
-
connecting/disconnecting the battery to the DC bus
-
clearing faults and/or warnings
-
updating the controller heartbeat (i.e. watchdog)
-
These capabilities are described in Section 7.8.1.
8.2.2. Data Format
The protocol is based on the CAN message frames. A reference for the CAN message frames can be found at https://en.wikipedia.org/wiki/CAN_bus.
8.2.3. Data Size
The size of the register data transmitted/received in a CAN frame will depend of the variable type of the register.
The type and corresponding variable type for all registers used in battery management system can be found in Section 7.1.2.
For example a variable type of int32
represents a signed 32 bit integer and is 4 bytes in length.
All register types can be read from the Operator Interface Registers menu option as discussed in Section 6.3.1
9. External Interfaces
9.1. Low-Voltage BMS
Four of the connectors use an RJ45 connector:
Table 35 describes a typical compatible plug for each of the RJ45 jacks.
Conec 391J00039X |
|
---|---|
Manufacturer |
Conec |
Housing |
391J00039X |
Housing material |
Polycarbonate UL94V-0 |
Circuits |
8 |
Crimp terminal |
insulation displacement |
Wire gauge range |
AWG24–26 stranded or solid |
9.1.1. Link Out (Connector J1)
The Link Out
interface connector is a standard RJ45 Cat5e rated jack.
A green LED on this connector indicates Low-Voltage BMS activity
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
No Connect |
Not Connected |
No Connect |
2 |
No Connect |
Not Connected |
No Connect |
3 |
No Connect |
Not Connected |
No Connect |
4 |
No Connect |
Not Connected |
No Connect |
5 |
No Connect |
Not Connected |
No Connect |
6 |
No Connect |
Not Connected |
No Connect |
7 |
LINKBUS_N |
Link Bus differential pair negative |
Cell Interface |
8 |
LINKBUS_P |
Link Bus differential pair positive |
Cell Interface |
9.1.2. Ethernet / Modbus TCP (Connector J2)
The Ethernet
jack is a standard RJ45 Cat5e rated jack.
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
TD_P |
Transmit differential pair positive |
External Equipment |
2 |
TD_N |
Transmit differential pair negative |
External Equipment |
3 |
RD_P |
Receive differential pair positive |
External Equipment |
4 |
NUL45 |
Unused; connected to Pin 5 and terminated |
External Equipment |
5 |
NUL45 |
Unused; connected to Pin 4 and terminated |
External Equipment |
6 |
RD_N |
Receive differential pair negative |
External Equipment |
7 |
NUL78 |
Unused; connected to Pin 8 and terminated |
External Equipment |
8 |
NUL78 |
Unused; connected to Pin 7 and terminated |
External Equipment |
9.1.3. CAN or Unused (Connector J3)
On the no-CAN variant (*-NC) this port is labeled 'Unused J3'. The details below do not apply to no-CAN variants (*-NC) as they do not have a CAN bus interface. |
CAN bus termination is not provided by the Low-Voltage BMS on stock production units. Standard 120 Ω termination must be installed at each end of the CAN bus network. Jumper-selectable resistive bus termination is available upon request.
The CAN
interface connector is a standard RJ45 Cat5e rated jack.
A green LED on this connector indicates CAN bus activity.
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
CAN_P |
CAN bus differential pair positive |
External Equipment |
2 |
CAN_N |
CAN bus differential pair negative |
External Equipment |
3 |
COMIO |
Common reference shared with GPIO |
External Equipment |
4 |
No Connect |
Not Connected |
No Connect |
5 |
No Connect |
Not Connected |
No Connect |
6 |
No Connect |
Not Connected |
No Connect |
7 |
COMIO |
Common reference shared with GPIO |
External Equipment |
8 |
No Connect |
Not Connected |
No Connect |
9.1.4. RS485 / Modbus RTU (Connector J4)
RS485 termination is not provided within the Low-Voltage BMS on stock production units. Standard 120 Ω termination must be installed at each end of the Modbus-RTU network. Jumper-selectable resistive bus termination is available upon request.
The RS485 / Modbus RTU
interface connector is a standard RJ45 Cat5e rated jack.
A green LED on this connector indicates Modbus-RTU activity.
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
No Connect |
Not Connected |
No Connect |
2 |
No Connect |
Not Connected |
No Connect |
3 |
No Connect |
Not Connected |
No Connect |
4 |
MODBUS_P |
MODBUS differential pair positive |
External Equipment |
5 |
MODBUS_N |
MODBUS differential pair negative |
External Equipment |
6 |
No Connect |
Not Connected |
No Connect |
7 |
No Connect |
Not Connected |
No Connect |
8 |
COMIO |
Common reference shared with GPIO |
External Equipment |
9.1.5. Control / GPIO (Connector J5)
Samtec IPD1-12-D |
|
---|---|
Manufacturer |
Samtec Inc |
Housing |
IPD1-12-D-K |
Housing material |
Nylon (Zytel® PA66) UL94V-2 |
Circuits |
24 |
Crimp terminal |
CC79R-2024-01-L |
Wire gauge range |
AWG20–24 stranded |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
GPO_ISO0_A |
Digital Output 0 |
External Equipment |
2 |
GPO_ISO1_A |
Digital Output 1 |
External Equipment |
3 |
GPO_ISO2_A |
Digital Output 2 |
External Equipment |
4 |
GPO_ISO3_A |
Digital Output 3 |
External Equipment |
5 |
+5V_GPIO_ISO |
Isolated +5V I/O Power Supply |
External Equipment |
6 |
GPI_ISO0_K |
Input detector 0 |
External Equipment |
7 |
GPI_ISO1_K |
Input detector 1 |
External Equipment |
8 |
GPI_ISO2_K |
Input detector 2 |
External Equipment |
9 |
GPI_ISO3_K |
Input detector 3 |
External Equipment |
10 |
FAULT_CLEAR# |
Momentary to COMIO to clear faults |
Processor GPI via logic elements |
11 |
FACTORY_RESET# |
Hold to COMIO during startup to perform a factory reset |
Processor GPI via logic elements |
12 |
BMS_ENABLE# |
Momentary to VBOT to enable BMS; Hold to VBOT to defeat Shutdown. Note the different reference from other inputs |
Power supply enable gate |
13 |
GPO_ISO0_B |
Digital Output 0 |
External Equipment |
14 |
GPO_ISO1_B |
Digital Output 1 |
External Equipment |
15 |
GPO_ISO2_B |
Digital Output 2 |
External Equipment |
16 |
GPO_ISO3_B |
Digital Output 3 |
External Equipment |
17 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
18 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
19 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
20 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
21 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
22 |
COMIO |
Isolated I/O Power Supply Common Reference |
External Equipment |
23 |
SHUTDOWN# |
Momentary to COMIO to invoke shutdown; Hold to COMIO to force shutdown |
Processor GPI via logic elements, hard shutdown (no software) via logic elements with longer press |
24 |
VBOT |
VBOT |
9.1.6. Contactors / -V Power (Connector J6)
Molex 39-01-2125 |
|
---|---|
Manufacturer |
Molex Incorporated |
Housing |
39-01-2125 |
Housing material |
Nylon UL94V-0 |
Circuits |
12 |
Crimp terminal |
39-00-0073 |
Wire gauge range |
AWG18–24 stranded |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
COM |
Negative Coil 1 |
Contactor 1 negative coil connection |
2 |
COM |
Negative Coil 2 |
Contactor 2 negative coil connection |
3 |
COM |
Negative Coil 3 |
Contactor 3 negative coil connection |
4 |
COM |
Negative Coil 4 |
Contactor 4 negative coil connection |
5 |
VCOIL_RETURN |
Negative reference for external supply |
External Power Supply. Refer to Figure 7 and Figure 11 for additional requirements |
6 |
-VPOWER |
Power return of Low-Voltage BMS |
Bottom of Stack |
7 |
COIL1_HI |
Positive Coil 1 |
Contactor 1 positive coil connection |
8 |
COIL2_HI |
Positive Coil 2 |
Contactor 2 positive coil connection |
9 |
COIL3_HI |
Positive Coil 3 |
Contactor 3 positive coil connection |
10 |
COIL4_HI |
Positive Coil 4 |
Contactor 4 positive coil connection |
11 |
+VCOIL |
12-24V Contactor Coil Power Supply |
Connect to external power supply, or to pin 12 if driving contactor coil from internal power supply |
12 |
+24V |
Internal Power Supply |
Connect to pin 11 if driving contactor coils from internal power supply |
9.1.7. Current Shunt / +V Power (Connector J7)
Molex 39-01-2065 |
|
---|---|
Manufacturer |
Molex Incorporated |
Housing |
39-01-2065 |
Housing material |
Nylon UL94V-0 |
Circuits |
6 |
Crimp terminal |
39-00-0073 |
Wire gauge range |
AWG18–24 stranded |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
+VPOWER |
Main power supply input |
Positive end of the stack or other power source |
2 |
No Connect |
Not Connected |
No Connect |
3 |
No Connect |
Not Connected |
No Connect |
4 |
VSHUNT_LOAD |
Differential voltage input; Load side |
Load side of current shunt |
5 |
VSHUNT_BAT |
Differential voltage input; Battery side |
Battery side of current shunt |
6 |
VSHUNT_REF |
Voltage reference for voltage measurement |
Battery side of current shunt |
9.1.8. Battery Cells and Temperature Sensors (Connector J8)
Samtec IPD1-20-D |
|
---|---|
Manufacturer |
Samtec Inc |
Housing |
IPD1-20-D-K |
Housing material |
Nylon (Zytel® PA66) UL94V-2 |
Circuits |
40 |
Crimp terminal |
CC79R-2024-01-L |
Wire gauge range |
AWG20–24 stranded |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
TPROBE1 |
External Temperature Probe Input 1 |
10 kΩ NTC Thermistor |
2 |
VBOT_TEMP |
External Temperature Probe Reference 1 |
10 kΩ NTC Thermistor |
3 |
TPROBE2 |
External Temperature Probe Input 2 |
10 kΩ NTC Thermistor |
4 |
VBOT_TEMP |
External Temperature Probe Reference 2 |
10 kΩ NTC Thermistor |
5 |
TPROBE3 |
External Temperature Probe Input 3 |
10 kΩ NTC Thermistor |
6 |
VBOT_TEMP |
External Temperature Probe Reference 3 |
10 kΩ NTC Thermistor |
7 |
TPROBE4 |
External Temperature Probe Input 4 |
10 kΩ NTC Thermistor |
8 |
VBOT_TEMP |
External Temperature Probe Reference 4 |
10 kΩ NTC Thermistor |
9 |
TPROBE5 |
External Temperature Probe Input 5 |
10 kΩ NTC Thermistor |
10 |
VBOT_TEMP |
External Temperature Probe Reference 5 |
10 kΩ NTC Thermistor |
11 |
TPROBE6 |
External Temperature Probe Input 6 |
10 kΩ NTC Thermistor |
12 |
VBOT_TEMP |
External Temperature Probe Reference 6 |
10 kΩ NTC Thermistor |
13 |
TPROBE7 |
External Temperature Probe Input 7 |
10 kΩ NTC Thermistor |
14 |
VBOT_TEMP |
External Temperature Probe Reference 7 |
10 kΩ NTC Thermistor |
15 |
TPROBE8 |
External Temperature Probe Input 8 |
10 kΩ NTC Thermistor |
16 |
VBOT_TEMP |
External Temperature Probe Reference 8 |
10 kΩ NTC Thermistor |
17 |
NC |
No connect |
|
18 |
NC |
No connect |
|
19 |
NC |
No connect |
|
20 |
NC |
No connect |
|
21 |
NC |
No connect |
|
22 |
NC |
No connect |
|
23 |
VCELL16 |
Cell 16 voltage sense |
Connect to positive terminal of Cell 15 |
24 |
VCELL15 |
Cell 15 voltage sense |
Connect to positive terminal of Cell 14 |
25 |
VCELL14 |
Cell 14 voltage sense |
Connect to positive terminal of Cell 13 |
26 |
VCELL13 |
Cell 13 voltage sense |
Connect to positive terminal of Cell 12 |
27 |
VCELL12 |
Cell 12 voltage sense |
Connect to positive terminal of Cell 11 |
28 |
VCELL11 |
Cell 11 voltage sense |
Connect to positive terminal of Cell 10 |
29 |
VCELL10 |
Cell 10 voltage sense |
Connect to positive terminal of Cell 9 |
30 |
VCELL9 |
Cell 9 voltage sense |
Connect to positive terminal of Cell 8 |
31 |
VCELL8 |
Cell 8 voltage sense |
Connect to positive terminal of Cell 7 |
32 |
VCELL7 |
Cell 7 voltage sense |
Connect to positive terminal of Cell 6 |
33 |
VCELL6 |
Cell 6 voltage sense |
Connect to positive terminal of Cell 5 |
34 |
VCELL5 |
Cell 5 voltage sense |
Connect to positive terminal of Cell 4 |
35 |
VCELL4 |
Cell 4 voltage sense |
Connect to positive terminal of Cell 3 |
36 |
VCELL3 |
Cell 3 voltage sense |
Connect to positive terminal of Cell 2 |
37 |
VCELL2 |
Cell 2 voltage sense |
Connect to positive terminal of Cell 1 |
38 |
VCELL1 |
Cell 1 voltage sense |
Connect to positive terminal of the lowest cell in the 12 or 16 cell module |
39 |
VCELL0 |
Bottom of stack reference |
Connect to negative terminal of the lowest cell in the 12 or 16 cell module |
40 |
VSTACK_SENSE |
Voltage sense reference |
Connect to negative terminal of the lowest cell in the 12 or 16 cell module |
9.1.8.1. Temperature Sensor Connections
The sensors supported are negative temperature coefficient (NTC) thermistor type, with a 25° C resistance of 10 kΩ. Thermistors supplied with the standard wiring harnesses may be one of the sensors listed below:
Manufacturer | Part number | Type | R25 | Range |
---|---|---|---|---|
US Sensor |
USP10982 |
NTC thermistor |
10kΩ |
-55 °C to 80 °C |
Thermistors are 2-leaded non-polarized devices.
One lead of each sensor is to be connected to the TPROBEn
pin, where n
denotes the channel on which that sensor’s signal is measured.
The other lead of each sensor is to be connected to one of the VBOT_TEMP
pins.
Unused temperature input wires should be properly insulated or removed.
For safety certified applications there must be at least 2—but no more than 7—thermistors installed on the Low-Voltage BMS in a specific pattern. The following table lists the expected pattern of thermistor installation approved for safety certification. |
Total Thermistors | TEMP1_R | TEMP2_R | TEMP3_R | TEMP4_R | TEMP5_R | TEMP6_R | TEMP7_R | TEMP8_R |
---|---|---|---|---|---|---|---|---|
7 |
Installed |
Installed |
Installed |
Installed |
Installed |
Installed |
Installed |
Not Installed |
6 |
Installed |
Installed |
Installed |
Installed |
Not Installed |
Installed |
Installed |
Not Installed |
5 |
Installed |
Installed |
Not Installed |
Installed |
Not Installed |
Installed |
Installed |
Not Installed |
4 |
Not Installed |
Installed |
Installed |
Installed |
Installed |
Not Installed |
Not Installed |
Not Installed |
3 |
Not Installed |
Installed |
Installed |
Installed |
Not Installed |
Not Installed |
Not Installed |
Not Installed |
2 |
Not Installed |
Installed |
Installed |
Not Installed |
Not Installed |
Not Installed |
Not Installed |
Not Installed |
9.1.8.1.1. Thermal Consistency
For safety certified systems, there is an additional constraint on thermal consistency for all temperature measurements for the Low-Voltage BMS. The constraint is described in detail in Section 7.10.9.
9.2. Cell Interface
9.2.1. Battery Cells
The Battery Cells connector provides cell voltage input and a means for balancing the cells. The cable wire should be rated for at least 750 mA to survive worse-case currents.
Pins 8, 16, 17, and 18 are No Connect
in the Cell Interface - 12 channel model.
Pins 2, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, and 17 are No Connect
in the Cell Interface - 12 V 4 channel model.
All unused voltage inputs should be tied to the next highest potential voltage sense input. In this way, all pins should be connected with the exception of pins 8, 16, 17 and 18 in the Cell Interface - 12 channel model and pins 2, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, and 17 in the Cell Interface - 12 V 4 channel model.
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the Cell Interface modules. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the Cell Interface includes protective circuitry to make it more resilient to brief wiring errors, the same circuitry can result in the battery cells being slowly discharged. Over time, these wiring errors can cause damage to the Cell Interface and/or the cells. |
Molex 43025-1800 |
|
---|---|
Manufacturer |
Molex Incorporated |
Housing |
43025-1800 |
Housing material |
Nylon UL94V-0 |
Circuits |
18 |
Crimp terminal |
43030-0002 |
Wire gauge range |
AWG20–24 stranded |
9.2.1.1. Battery Cell Connector for Cell Interface - 12 channel
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
CELL0 |
Bottom reference of Cell Interface |
Connect to negative terminal of the lowest cell (Cell 1) |
2 |
CELL2 |
Cell 2 voltage sense |
Connect to positive terminal of Cell 2 |
3 |
CELL4 |
Cell 4 voltage sense |
Connect to positive terminal of Cell 4 |
4 |
CELL6 |
Cell 6 voltage sense |
Connect to positive terminal of Cell 6 |
5 |
CELL8 |
Cell 8 voltage sense |
Connect to positive terminal of Cell 8 |
6 |
CELL10 |
Cell 10 voltage sense |
Connect to positive terminal of Cell 10 |
7 |
CELL12 |
Cell 12 voltage sense |
Connect to positive terminal of Cell 12 |
8 |
No Connect |
Not Connected |
No Connect |
9 |
No Connect |
Not Connected |
No Connect |
10 |
CELL1 |
Cell 1 voltage sense |
Connect to positive terminal of the lowest cell (Cell 1) |
11 |
CELL3 |
Cell 3 voltage sense |
Connect to positive terminal of Cell 3 |
12 |
CELL5 |
Cell 5 voltage sense |
Connect to positive terminal of Cell 5 |
13 |
CELL7 |
Cell 7 voltage sense |
Connect to positive terminal of Cell 7 |
14 |
CELL9 |
Cell 9 voltage sense |
Connect to positive terminal of Cell 9 |
15 |
CELL11 |
Cell 11 voltage sense |
Connect to positive terminal of Cell 11 |
16 |
No Connect |
Not Connected |
No Connect |
17 |
No Connect |
Not Connected |
No Connect |
18 |
No Connect |
Not Connected |
No Connect |
9.2.1.2. Battery Cell Connector for Cell Interface - 16 channel
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
CELL0 |
Bottom reference of Cell Interface |
Connect to negative terminal of the lowest cell (Cell 1) |
2 |
CELL2 |
Cell 2 voltage sense |
Connect to positive terminal of Cell 2 |
3 |
CELL4 |
Cell 4 voltage sense |
Connect to positive terminal of Cell 4 |
4 |
CELL6 |
Cell 6 voltage sense |
Connect to positive terminal of Cell 6 |
5 |
CELL8 |
Cell 8 voltage sense |
Connect to positive terminal of Cell 8 |
6 |
CELL10 |
Cell 10 voltage sense |
Connect to positive terminal of Cell 10 |
7 |
CELL12 |
Cell 12 voltage sense |
Connect to positive terminal of Cell 12 |
8 |
CELL14 |
Cell 14 voltage sense |
Connect to positive terminal of Cell 14 |
9 |
No Connect |
Not Connected |
No Connect |
10 |
CELL1 |
Cell 1 voltage sense |
Connect to positive terminal of the lowest cell (Cell 1) |
11 |
CELL3 |
Cell 3 voltage sense |
Connect to positive terminal of Cell 3 |
12 |
CELL5 |
Cell 5 voltage sense |
Connect to positive terminal of Cell 5 |
13 |
CELL7 |
Cell 7 voltage sense |
Connect to positive terminal of Cell 7 |
14 |
CELL9 |
Cell 9 voltage sense |
Connect to positive terminal of Cell 9 |
15 |
CELL11 |
Cell 11 voltage sense |
Connect to positive terminal of Cell 11 |
16 |
CELL13 |
Cell 13 voltage sense |
Connect to positive terminal of Cell 13 |
17 |
CELL15 |
Cell 15 voltage sense |
Connect to positive terminal of Cell 15 |
18 |
CELL16 |
Cell 16 voltage sense |
Connect to positive terminal of Cell 16 |
9.2.2. Temperature Sensors
The Temperature Sensors connector provides NTC thermistor inputs for temperature measurement of the cells and/or surrounding area.
Because the sensors are referenced to the CELL0
input on the Cell Interface, care must be taken to ensure that they are electrically isolated from any common or ground potential, and from all other cell voltage terminals of all Cell Interface modules in the system.
The thermistors must be isolated from the cell voltage terminals in such a way that they will not make an electrical connection to a cell terminal in the event of vibration/failures.
Connect up to eight 10 kΩ NTC thermistors to this connector.
2 to 7 thermistors are supported to accommodate systems requiring Nuvation Energy BMS to meet functional safety requirements. |
Molex 43025-1600 |
|
---|---|
Manufacturer |
Molex Incorporated |
Housing |
43025-1600 |
Housing material |
Nylon UL94V-0 |
Circuits |
16 |
Crimp terminal |
43030-0002 |
Wire gauge range |
AWG20–24 stranded |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
VBOT |
External Temperature Probe Reference 1 |
10 kΩ NTC Thermistor |
2 |
VBOT |
External Temperature Probe Reference 2 |
10 kΩ NTC Thermistor |
3 |
VBOT |
External Temperature Probe Reference 3 |
10 kΩ NTC Thermistor |
4 |
VBOT |
External Temperature Probe Reference 4 |
10 kΩ NTC Thermistor |
5 |
VBOT |
External Temperature Probe Reference 5 |
10 kΩ NTC Thermistor |
6 |
VBOT |
External Temperature Probe Reference 6 |
10 kΩ NTC Thermistor |
7 |
VBOT |
External Temperature Probe Reference 7 |
10 kΩ NTC Thermistor |
8 |
VBOT |
External Temperature Probe Reference 8 |
10 kΩ NTC Thermistor |
9 |
TEMP1_R |
External Temperature Probe Input 1 |
10 kΩ NTC Thermistor |
10 |
TEMP2_R |
External Temperature Probe Input 2 |
10 kΩ NTC Thermistor |
11 |
TEMP3_R |
External Temperature Probe Input 3 |
10 kΩ NTC Thermistor |
12 |
TEMP4_R |
External Temperature Probe Input 4 |
10 kΩ NTC Thermistor |
13 |
TEMP5_R |
External Temperature Probe Input 5 |
10 kΩ NTC Thermistor |
14 |
TEMP6_R |
External Temperature Probe Input 6 |
10 kΩ NTC Thermistor |
15 |
TEMP7_R |
External Temperature Probe Input 7 |
10 kΩ NTC Thermistor |
16 |
TEMP8_R |
External Temperature Probe Input 8 |
10 kΩ NTC Thermistor |
For safety certified applications there must be at least 2—but no more than 7—thermistors installed per Cell Interface module in a specific pattern. The following table lists the expected pattern of thermistor installation approved for safety certification. |
Total Thermistors | TEMP1_R | TEMP2_R | TEMP3_R | TEMP4_R | TEMP5_R | TEMP6_R | TEMP7_R | TEMP8_R |
---|---|---|---|---|---|---|---|---|
7 |
Installed |
Installed |
Installed |
Installed |
Installed |
Installed |
Installed |
Not Installed |
6 |
Installed |
Installed |
Installed |
Installed |
Not Installed |
Installed |
Installed |
Not Installed |
5 |
Installed |
Installed |
Not Installed |
Installed |
Not Installed |
Installed |
Installed |
Not Installed |
4 |
Not Installed |
Installed |
Installed |
Installed |
Installed |
Not Installed |
Not Installed |
Not Installed |
3 |
Not Installed |
Installed |
Installed |
Installed |
Not Installed |
Not Installed |
Not Installed |
Not Installed |
2 |
Not Installed |
Installed |
Installed |
Not Installed |
Not Installed |
Not Installed |
Not Installed |
Not Installed |
9.2.2.1. Thermal Consistency
For safety certified systems, there is an additional constraint on thermal consistency for all temperature measurements for each Cell Interface. The constraint is described in detail in Section 7.10.9.
9.2.3. Link In
This interface is used, with a Link Bus cable, to connect a single Cell Interface module to the Low-Voltage BMS. Connect this interface to the Link Out connector on the Low-Voltage BMS.
The Low-Voltage BMS cannot power the Cell Interface module through the Link Bus. |
Molex 43025-0400 |
|
---|---|
Manufacturer |
Molex Incorporated |
Housing |
43025-0400 |
Housing material |
Nylon UL94V-0 |
Circuits |
4 |
Crimp terminal |
43030-0002 |
Wire gauge range |
AWG20–24 stranded |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
VBUS |
No Connect |
No Connect |
2 |
COM |
No Connect |
No Connect |
3 |
IPA |
Link Bus differential pair plus |
Low-Voltage BMS |
4 |
IMA |
Link Bus differential pair minus |
Low-Voltage BMS |
9.2.4. Link Out
This interface is used to provide a data channel to subsequent Cell Interface modules in the Link Bus chain.
Connect this interface to the Link In connector on the subsequent Cell Interface module in the Link Bus chain. The Link Out interface of the last Cell Interface module in the Link Bus chain is to be left unconnected.
Molex 43025-0400 |
|
---|---|
Manufacturer |
Molex Incorporated |
Housing |
43025-0400 |
Housing material |
Nylon UL94V-0 |
Circuits |
4 |
Crimp terminal |
43030-0002 |
Wire gauge range |
AWG20–}24 stranded |
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
VBUS |
DC power from , with Fault Pilot Signal |
Subsequent Cell Interface module in the Link Bus chain |
2 |
COM |
Power return from Low-Voltage BMS |
Subsequent Cell Interface module in the Link Bus chain |
3 |
IPA |
Link Bus differential pair plus |
Subsequent Cell Interface module in the Link Bus chain |
4 |
IMA |
Link Bus differential pair minus |
Subsequent Cell Interface module in the Link Bus chain |
10. Troubleshooting
10.1. Faults and Initialization Issues
During initial setup and configuration of a Nuvation Energy BMS, there are two main classes of issues that can be encountered:
-
Initialization issues
-
Triggering of faults
The first class of issues are encountered during initial deployment of a Nuvation Energy BMS, particularly while attempting to exit Service Lockout. When this event occurs, an operator of the Operator Interface can open the Details|Safety accordion (Section 6.2.4). That screen presents a list of fault and warning triggers that may or may not be initialized. This section will provide details on why the faults/warnings could not be initialized. Once all faults/warnings have been initialized, Nuvation Energy BMS has been configured and installed as expected (i.e. all inputs are receiving data). When this occurs the software enters its operational mode.
The second class of issues occurs while Nuvation Energy BMS is operational. One or more faults can be triggered causing Nuvation Energy BMS to exit its operating condition and open all contactors. There are many faults that can be triggered. This section will describe the condition the fault monitors and the meaning when that fault is triggered.
The following sections describe different classes of faults/warnings and issues surrounding any initialization. In general, all warnings have a similar trigger condition as their corresponding fault. The following discussion will focus on the term fault and all descriptions can be applied to the compatible warning.
10.1.1. Cell Voltage Faults
stack_fault_cell_over
-
-
Fault that is triggered when an installed cell voltage is above the over fault threshold
-
stack_fault_cell_hi
-
-
Fault that is triggered when an installed cell voltage is above the high fault threshold
-
stack_fault_cell_lo
-
-
Fault that is triggered when an installed cell voltage is below the low fault threshold
-
stack_fault_cell_under
-
-
Fault that is triggered when an installed cell voltage is below the under fault threshold
-
10.1.1.1. Initialization Issues
These faults could fail to initialize through a number of possible conditions such as:
-
Missing or misconfigured Low-Voltage BMS or Cell Interface modules, preventing the software from scanning for the measurements
-
Misconfiguration on the number of Low-Voltage BMS or Cell Interface modules. Refer to the register
sc_linkbus.cicount
(Note that Low-Voltage BMS is counted as a Cell Interface). -
Incorrect Low-Voltage BMS or Cell Interface configuration. For example if the type of Low-Voltage BMS or Cell Interface defined in
sc_linkbus.softwareid
is incorrect, it may prevent the cell voltage measurement. -
Failure in the Link Bus communication. Any interruptions of the bus can prevent the cell voltages from being initialized. Such a failure could happen if:
-
Not all Cell Interface modules are connected
-
Link Bus cables are connected to the wrong port (i.e. Link Out instead of Link In).
-
Link Bus cables are damaged
-
Not enough cells are connected to the Low-Voltage BMS and/or the Cell Interface expansion module.
-
10.1.2. Stack Voltage Faults
stack_fault_voltage_over
-
-
Fault that is triggered when the stack voltage is above the over fault threshold.
-
stack_fault_voltage_hi
-
-
Fault that is triggered when the stack voltage is above the high fault threshold.
-
stack_fault_voltage_lo
-
-
Fault that is triggered when the stack voltage is below the low fault threshold.
-
stack_fault_voltage_under
-
-
Fault that is triggered when the stack voltage is below the under fault threshold.
-
stack_fault_voltage_sum
-
-
Fault that is triggered when the absolute difference between the measured stack voltage and sum of all cell voltages in the stack exceeds the fault threshold.
-
10.1.2.1. Initialization Issues
These faults have the following initialization issues:
Fault | Initialization Issues |
---|---|
|
Power interface subsystem’s AFE is configured to be disabled |
|
|
|
Same issues regarding cell voltage initialization issues (Section 10.1.1.1) |
10.1.3. Thermal Faults
stack_fault_discharge_therm_over
-
-
Fault that is triggered when any thermistor measurement is above the over fault threshold during discharge
-
stack_fault_discharge_therm_hi
-
-
Fault that is triggered when any thermistor measurement is above the high fault threshold during discharge
-
stack_fault_discharge_therm_lo
-
-
Fault that is triggered when any thermistor measurement is below the low fault threshold during discharge
-
stack_fault_discharge_therm_under
-
-
Fault that is triggered when any thermistor measurement is below the under fault threshold during discharge
-
stack_fault_charge_therm_over
-
-
Fault that is triggered when any thermistor measurement is above the over fault threshold during charge
-
stack_fault_charge_therm_hi
-
-
Fault that is triggered when any thermistor measurement is above the high fault threshold during charge
-
stack_fault_charge_therm_lo
-
-
Fault that is triggered when any thermistor measurement is below the low fault threshold during charge
-
stack_fault_charge_therm_under
-
-
Fault that is triggered when any thermistor measurement is below the under fault threshold during charge
-
10.1.3.1. Initialization Issues
All of the temperature measurements are communicated through over the Link Bus using the same mechanism as the cell voltages. Thus, the failures to initialize the temperature measurements are exactly the same. Refer to Section 10.1.1.1 for further details.
10.1.4. Stack Current Faults
stack_fault_discharge_current_over
-
-
Fault that is triggered when the stack current is above the over discharge fault threshold.
-
stack_fault_discharge_current_hi
-
-
Fault that is triggered when the stack current is above the high discharge fault threshold.
-
stack_fault_charge_current_hi
-
-
Fault that is triggered when any stack current is above the high charge fault threshold.
-
stack_fault_charge_current_under
-
-
Fault that is triggered when any stack current is above the over charge fault threshold.
-
Both of these prior faults could trigger if the current shunt is not properly connected or has not been configured for its proper measurement range. |
10.1.4.1. Initialization Issues
The stack current is measured from the power interface subsystem’s Analog Front End (AFE). The following issues can contribute to these faults not initializing:
-
Power interface subsystem AFE is not enabled
-
Communication failure between the stack controller subsystem and power interface subsystem
10.1.5. Pre-charge Faults
stack_fault_precharge_timeout
-
-
Fault that is triggered at the end of the pre-charge period if the measured current exceeds the maximum pre-charge current
-
stack_fault_precharge_over_current
-
-
Fault that is triggered at any time during the pre-charge connection period if the stack current exceeds the fault threshold
-
10.1.5.1. Initialization Issues
These faults are directly related to the current faults detailed previously. Refer to Section 10.1.4.1 for details.
10.1.6. Contactor Faults
stack_fault_coil_fail
-
-
Fault that is generated when there is a difference between the commanded state of the contactor coil and the observed state read from the hardware. This fault is a consistency check on the drive state of the coil. This fault will trigger when contactors are unconnected or have a short in their circuit. If the fault pilot signal is asserted, this fault will trigger and can not be used to determine if there is a inconsistent contactor drive state.
-
stack_fault_contactor_feedback_fail
-
-
Fault that is generated when there is a mismatch between the contactor state and the contactor feedback signal provided. Note that the feedback is provided through a GPI.
-
sc_fault_fault_pilot_state_mismatch
-
-
Fault that is generated when the fault pilot state set by the stack controller subsystem does not match the detected state on the power interface subsystem
-
10.1.6.1. Initialization Issues
10.1.7. Diagnostics Faults
stack_fault_cell_open_wire
-
-
Fault indicating there is an open wire on an installed cell channel
-
This can also trip due to misconfigured or incorrectly installed cells
-
stack_warn_cell_open_wire
-
-
Warning triggering on the same data as
stack_fault_cell_open_wire
-
stack_fault_therm_circuit_fail
-
-
Fault indicating there is a circuit failure on a thermistor channel on the Low-Voltage BMS or on the expansion Cell Interface module
-
This can also trip due to misconfigured or incorrectly installed thermistors
-
stack_fault_ci_therm_consistency
-
-
Fault indicating the difference between thermal readings on the Low-Voltage BMS or on the expansion Cell Interface module is too large
-
sc_fault_ci
-
-
Fault indicating there was an internal hardware failure on the Low-Voltage BMS or on the expansion Cell Interface module
-
stack_fault_open_shunt
-
-
Fault indicating the current shunt is open circuit
-
stack_fault_short_shunt
-
-
Fault indicating the current shunt is short circuit
-
When experiencing difficulty clearing this fault, please refer to Section 10.1.7.1.
10.1.7.1. Known Issues
10.1.7.1.1. Short Shunt Fault on Exiting Service Lockout
- Issue
-
In rare occasions, the
stack_fault_short_shunt
can accidentally trip when exiting service lockout. If the contactors remain open and no current has flowed through the batteries, the fault does not indicate a short on the current shunt. Note that this issue only occurs within a minute of exiting service lockout and faults that happen outside this window should be investigated further. - Workaround
-
The operator of the Operator Interface can attempt to clear the fault as described in Section 6.2.4.
10.1.7.1.2. Clearing the Short Shunt Fault Is Not Immediate
- Issue
-
Clearing the
stack_fault_short_shunt
fault might not occur immediately. - Workaround
-
To determine when the fault can be cleared, read the values of the
stack_short_shunt_detector.voltage_activity_threshold
andstack_short_shunt_detector.inactivity_envelope
registers. Wait until the value in the inactivity envelope is smaller than the voltage activity threshold. At this point thestack_fault_short_shunt
fault can be cleared. The maximum time required for the inactivity envelope to fall below the threshold can be determined by reading thestack_short_shunt_detector.activity_detection_time
register, with the value given in μs.
10.1.7.2. Initialization Issues
The stack_fault_cell_open_wire
, stack_fault_therm_circuit_fail
, stack_fault_ci_therm_consistency
, and sc_fault_ci
can be uninitialized due to problems with the Link Bus.
Refer to Section 10.1.1.1 for further details.
The stack_fault_open_shunt
and stack_fault_short_shunt
can be uninitialized if the associated algorithms are not enabled,
the power interface subsystem’s AFE is not enabled,
or there is Stack Bus communication errors.
10.1.8. Breaker Faults
stack_fault_breaker_tripped
-
-
Fault that is triggered to indicate that the breaker has tripped (i.e. opened)
-
stack_fault_breaker_conflict
-
-
Fault that is triggered to indicate that the breaker state differs from the expected state of the breaker
-
10.1.8.1. Initialization Issues
Failure to initialize these faults is caused by an invalid configuration of the GPI(s) used to read the breaker state.
10.1.9. Watchdog Faults
stack_fault_power_wdt
-
-
Fault indicating stack voltage and current data has not been updated periodically
-
stack_fault_cell_wdt
-
-
Fault indicating all cell data has not been updated periodically for every installed cell
-
stack_fault_therm_wdt
-
-
Fault indicating all thermistor data has not been updated periodically for every installed thermistor
-
stack_fault_ci_wdt
-
-
Fault indicating Cell Interface data has not been updated periodically for every installed Cell Interface
-
stack_fault_open_wire_wdt
-
-
Fault indicating open wire scanning has not been occurring periodically when connected to the DC bus
-
sc_fault_controller_wdt
-
-
Fault indicating that an external controller to the battery management system was not updating its watchdog timer (via the MESA heartbeat)
-
sc_warn_controller_wdt
-
-
Warning triggered from the same data as
sc_fault_controller_wdt
-
sc_fault_stackbus_rxwdt
-
-
Fault indicating that there was a receive communication failure over the Stack Bus
-
sc_fault_stackbus_txwdt
-
-
Fault indicating that there was a transmit communication failure over the Stack Bus
-
sc_fault_pi_afe_wdt
-
-
Fault indicating that there was a communication failure between the AFE and the power interface subsystem
-
sc_fault_linkbus_wdt
-
-
Fault indicating that there was an internal communication failure relating to Link Bus data. Please contact Nuvation Energy at support@nuvationenergy.com if you are experiencing this fault.
-
sc_fault_ram_test_wdt
-
-
Fault indicating the internal RAM testing has not been executing periodically
-
sc_fault_rom_test_wdt
-
-
Fault indicating the internal ROM testing has not been executing periodically
-
sc_fault_factory_verify_wdt
-
-
Fault indicating the factory registers on the stack controller subsystem have not been periodically validated against non-volatile memory
-
Typically disabled
-
pi_fault_factory_verify_wdt
-
-
Fault indicating the factory registers on the power interface subsystem have not been periodically being validated against non-volatile memory.
-
Typically disabled
-
10.1.9.1. Initialization Issues
The stack_fault_cell_wdt
, stack_fault_therm_wdt
, stack_fault_ci_wdt
, and stack_fault_open_wire_wdt
can be uninitialized due to problems with the Link Bus.
Refer to Section 10.1.1.1 for further details.
The sc_fault_ram_test_wdt
, sc_fault_rom_test_wdt
, sc_fault_factory_verify_wdt
, pi_fault_factory_verify_wdt
, sc_fault_stackbus_rxwdt
and sc_fault_stackbus_txwdt
should always initialize as they are core to the battery management system and does not have associated configurability.
Please contact Nuvation Energy at support@nuvationenergy.com if you are experiencing these faults.
The sc_fault_pi_afe_wdt
and stack_fault_power_wdt
can be uninitialized due to disabling
the power interface subsystem’s AFE
or a high amount of noise on the DC bus.
The sc_fault_controller_wdt
can be uninitialized if there is no external controller updating the heartbeat.
In this case this fault should be disabled.
10.1.10. Miscellaneous Faults
sc_fault_config
-
-
Fault indicating that there was an error reading the non-volatile storage of the battery management system configuration. A default configuration is used when this fault occurs and the battery management system will fail to exit Service Lockout. Once a configuration has been successfully imported into the battery management system and saved, this fault should not occur. Note that during an upgrade of the battery management system, the configuration is deleted to avoid incompatibility with the upgraded version.
-
sc_fault_config_factory
-
-
Fault indicating that there was an error reading the non-volatile storage of the battery management system factory configuration. This is similar to
sc_fault_config
; refer to that fault for more details.
-
sc_fault_config_factory_verify
-
-
Fault indicating that verification of factory configuration settings against non-volatile storage has failed on the stack controller subsystem This typically means either a setting was changed after saving or non-volatile memory has been corrupted.
-
pi_fault_config_factory_verify
-
-
Fault indicating that verification of factory configuration settings against non-volatile storage has failed on the power interface subsystem This typically means either a factory setting was changed after saving or non-volatile memory has been corrupted.
-
sc_fault_fw_mismatch
-
-
Fault indicating that the stack controller and power interface subsystem firmware versions are different. Perform an upgrade to the desired battery management system firmware version.
-
sc_fault_clocks
-
-
Fault indicating that the stack controller and power interface subsystem clocks are ticking at different rates. This may indicate an overloaded system or malfunction in the hardware or software. Also if one of the processors resets, this fault can trip since its clock also resets.
-
sc_fault_linkbus_power
-
-
Fault indicating that there was an incorrect power mode in
sc_linkbus.power_mode
-
10.2. Lost/Forgotten IP Address
If a Nuvation Energy BMS has been configured with a static IP address and it has been forgotten, follow the steps below to recover it.
Depending on the network interface used on the PC, this process may not work due to differing security and IP configurations. If the only IP discovered is the IP of the PC, the network interface is not suitable and another one will need to be used. This issue is most common with USB to Ethernet dongles. |
10.2.1. Wireshark (Windows/Linux)
-
Download/install Wireshark on a PC (https://www.wireshark.org/)
-
Connect the PC directly to the Ethernet port on the Low-Voltage BMS
-
Start a Wireshark capture on the network interface connected to the Low-Voltage BMS
-
In the 'filter' field, enter in
arp.isgratuitous
and press enter -
Either reboot the Low-Voltage BMS, or unplug/plug the Ethernet cable
-
The device should send a 'Gratuitous ARP' on the Ethernet network. In Wireshark the 'Info' field looks like:
Gratuitous ARP for <IP> (Request)
where the<IP>
is the address for the Low-Voltage BMS -
Once that is complete, update the PC network settings to match the Low-Voltage BMS and connect the Operator Interface.
-
Refer to Section 5.2 for instructions.
-
10.2.2. Netdiscover (Linux only)
-
Install
netdiscover
on a PC (on Debian based systems use:sudo apt install netdiscover
) -
Connect the PC directly to the Ethernet port on the Low-Voltage BMS
-
Run
sudo netdiscover -i <interface> -p
where<interface>
is the network interface connected to the Low-Voltage BMS -
Either reboot the Low-Voltage BMS, or unplug/plug the Ethernet cable
-
The device address and MAC will show up in
netdiscover
once an ARP packet is sent -
Once that is complete, update the PC network settings to match the Low-Voltage BMS and connect the Operator Interface.
-
Refer to Section 5.2 for instructions.
-
In the event the IP address cannot be discovered, a factory reset operation must be carried out to restore the BMS to its default IP configuration. |
Appendix A: Operating Limits
Low-Voltage BMS
Exceeding the maximum ratings will damage the Low-Voltage BMS module. |
Electrical Characteristics
Symbol | Parameter | Conditions | Min | Typ | Max | Units |
---|---|---|---|---|---|---|
Stack Power Specifications |
||||||
+VPOWER |
Input DC Voltage |
- |
11 |
48 |
60 |
V |
Input Current |
+VPOWER = 48 V DC |
70 |
580 |
1250 |
mA |
|
Battery Cells Specifications |
||||||
C(n) |
Input Cell Voltage Range |
- |
0 |
- |
5 |
V DC |
Vsum |
Voltage between C0 and C12 |
Low-Voltage BMS - 12 channel |
11 |
- |
60 |
V DC |
Voltage between C0 and C16 |
Low-Voltage BMS - 16 channel |
22 |
- |
60 |
V DC |
|
Voltage between C0 and C8 |
Low-Voltage BMS - 16 channel |
11 |
- |
40 |
V DC |
|
Voltage between C8 and C16 |
Low-Voltage BMS - 16 channel |
11 |
- |
40 |
V DC |
|
TME |
Total Measurement Error |
- |
±0.1 |
±1.2 |
±1.6 |
mV DC |
I(n) |
Cell Balancing Current |
C(n) = 4 V DC |
304 |
307 |
310 |
mA DC |
Vbal |
Cell Voltage for Balancing |
1.1 |
- |
- |
V DC |
|
Temperature Sensors Specifications |
||||||
I(n) |
Output Current to Temperature Sensor |
- |
- |
- |
300 |
μA |
Rt(n) |
Temperature Sensor Resistance at 25C |
- |
- |
10 |
- |
kΩ |
T(n) |
Input Temperature Sensor Voltage Range |
Cell 0 = 0 V DC |
0 |
- |
3 |
V |
Contactors Specifications |
||||||
+VCOIL |
External Coil Power Supply Input |
- |
5 |
24 |
40 |
V DC |
External Coil Power Supply Continuous Current |
+VCOIL = 24 V DC |
- |
- |
2.8 |
A DC |
|
External Coil Power Supply Pulse Current (<150 ms) |
+VCOIL = 24 V DC |
- |
- |
20 |
A DC |
|
+24V |
Output Voltage |
- |
- |
24 |
- |
V DC |
Output Continuous Current |
- |
- |
- |
1 |
A DC |
|
Output Pulse Current (<150 ms) |
- |
- |
- |
2.4 |
A DC |
|
COIL(n) |
Coil Driver Output Voltage |
- |
- |
+VCOIL |
- |
V DC |
Coil Driver Output Continuous Current |
+VCOIL = 24 V DC |
- |
- |
2.8 |
A DC |
|
Coil Driver Output Pulse Current (<150ms) |
+VCOIL = 24 V DC |
- |
- |
5 |
A DC |
|
Reverse Clamp Voltage |
+VCOIL = 24 V DC |
40 |
- |
49 |
V DC |
|
Ethernet Specifications |
||||||
ETH_Protocol |
Ethernet data speeds |
- |
10 |
- |
100 |
Base-T |
ETH_Connector |
Ethernet jack rating |
- |
- |
Cat5e |
- |
|
Current Shunt Specifications |
||||||
VSHUNT_REF |
Reference Output Voltage |
- |
- |
1.25 |
- |
V DC |
Reference Output Current |
- |
-250 |
0 |
250 |
μA DC |
|
Vdiff |
Differential voltage between VSHUNT_BAT and VSHUNT_LOAD |
- |
-1.0 |
0 |
1.0 |
V DC |
Vmes |
Measurement resolution |
- |
- |
143 |
- |
nV DC |
GPIO-Out Specifications |
||||||
Vmax |
Open Blocking Voltage |
Between |
- |
- |
60 |
V DC |
Imax |
Closed Maximum Current |
Between |
- |
- |
400 |
mA DC |
Ron |
Closed-State Resistance |
Between |
- |
- |
2 |
Ω |
GPIO-In Specifications |
||||||
Turn-On |
Turn On Threshold Voltage |
- |
0 |
- |
3.8 |
V DC |
Turn-On Threshold Current |
- |
- |
0.25 |
2 |
mA DC |
|
Turn-Off |
Turn-Off Threshold Voltage |
- |
4.8 |
- |
5 |
V DC |
Turn-Off Threshold Current |
- |
0.1 |
0.2 |
- |
mA DC |
|
Vmax |
Off Voltage |
Iin = 0 mA |
- |
- |
5 |
V DC |
Imax |
On Current |
Vin = 0 V |
- |
- |
9 |
mA DC |
RS-485 Modbus-RTU Specifications |
||||||
Rterm |
Termination resistance tolerance |
- |
118.8 |
120 |
121.2 |
Ω |
Power rating |
- |
- |
- |
0.125 |
W |
|
|Vod| |
Driver differential output |
- |
1.5 |
2 |
- |
V |
Io |
Output current |
- |
-60 |
- |
60 |
mA |
tr |
Output Signal Rise Time |
- |
0.3 |
0.7 |
1.2 |
μs |
tf |
Output Signal Fall Time |
- |
0.3 |
0.7 |
1.2 |
μs |
Isolation |
Rated Isolation |
- |
- |
- |
60 |
V |
Link Out Specifications |
||||||
IP_LINK |
Output Current |
- |
- |
- |
20 |
mA DC |
IN_LINK |
Output Current |
- |
- |
- |
20 |
mA DC |
CAN Specifications (not available in no-CAN variants (*-NC)) |
||||||
Rterm |
Termination resistance tolerance |
- |
118.8 |
120 |
121.2 |
Ω |
Power rating |
- |
- |
- |
0.125 |
W |
|
CAN_P |
Dominant Output |
- |
2.9 |
3.5 |
4.5 |
V DC |
Recessive Output |
- |
2 |
2.3 |
3 |
V DC |
|
Output Current |
- |
10 |
- |
70 |
mA DC |
|
Output Signal Rise Time |
- |
- |
20 |
50 |
ns |
|
Output Signal Fall Time |
- |
- |
20 |
50 |
ns |
|
CAN_N |
Dominant Output |
- |
0.8 |
1.2 |
1.5 |
V DC |
Recessive Output |
- |
2 |
2.3 |
3 |
V DC |
|
Output Current |
- |
10 |
- |
70 |
mA DC |
|
Output Signal Rise Time |
- |
- |
20 |
50 |
ns |
|
Output Signal Fall Time |
- |
- |
20 |
50 |
ns |
|
Isolation |
Rated Isolation |
- |
- |
- |
60 |
V |
While Low-Voltage BMS is designed for an input voltage of 11–60 V DC, testing has confirmed that the unit experiences no degradation when using an input voltage up to 68 V DC. However, for applications that exceed 60 V DC, please consider Nuvation Energy High-Voltage BMS or contact support@nuvationenergy.com. |
The +VPOWER input current depending on the loads the Low-Voltage BMS is driving. Without contactors, the Low-Voltage BMS draws approximately 70 mA at 48 V DC. With all contactors connected and energized, it can draw up to 1.25 A at 48 V DC. |
Nuvation Energy BMS does not include an internal free-wheeling protection diode on contactor coil-driver circuits, as it has been found to cause premature contactor failure. |
Environmental Conditions
Symbol | Parameter | Min | Typ | Max | Units |
---|---|---|---|---|---|
Thermal Specifications |
|||||
Ta |
Operating Temperature |
-40 |
25 |
50 |
°C |
Storage Temperature |
-40 |
25 |
50 |
°C |
|
Humidity Specifications |
|||||
RH |
Operational RH |
5 |
- |
85 |
% |
Storage RH |
5 |
- |
85 |
% |
|
Shock and Vibration Specifications |
|||||
Vertical |
Vertical shock/vibration |
- |
- |
10 |
m/s2 |
Longitudinal |
Longitudinal shock/vibration |
- |
- |
10 |
m/s2 |
Transverse |
Transverse shock/vibration |
- |
- |
10 |
m/s2 |
Pulse vibration |
On each axis |
- |
- |
245 |
m/s2 |
The Low-Voltage BMS has been designed to meet the requirements of SAE J2464 (shock) and SAE J2380 (random vibration).
Standards and Certifications
The Low-Voltage BMS is designed to comply with industry EMC standards for FCC and IC Class A, and European EN55032 Class A. It is designed for EMI and ESD performance to EN55024, including the IEC/EN 61000-4-X series of tests. All components are EU RoHS / China RoHS compliant.
Standard/Certification | ||
---|---|---|
Stationary Battery Safety |
UL Recognized |
UL 1973 (file no. MH64071) |
Functional Safety |
UL Recognized |
UL 991 (file no. MH64071) |
UL 1973 recognition ensures safe battery operation and significantly reduce the effort of certifying the energy storage solution to meet UL 1973 and UL 9540.
Cell Interface
Exceeding the maximum ratings will damage the Cell Interface module. |
When using a Cell Interface expansion module, please ensure the total maximum stack voltage does not exceed 60 V DC. |
Electrical Characteristics
Symbol | Parameter | Conditions | Min | Typ | Max | Units |
---|---|---|---|---|---|---|
Link In Specifications |
||||||
+VBUS |
Input Voltage |
- |
9 |
24 |
60 |
V DC |
Input Current, CI-12 |
+VBUS = 24 V DC, Link Out disconnected |
- |
- |
25.5 |
mA DC |
|
Input Current, CI-16 |
+VBUS = 24 V DC, Link Out disconnected |
- |
- |
31.7 |
mA DC |
|
IP_LINK |
Output Current |
- |
- |
- |
20 |
mA DC |
IN_LINK |
Output Current |
- |
- |
- |
20 |
mA DC |
Link Out Specifications |
||||||
+VBUS |
Output Voltage |
- |
- |
+VBUS |
- |
V DC |
Output Current per CI-12 |
+VBUS = 24 V DC |
- |
- |
25.5 |
mA DC |
|
Output Current per CI-16 |
+VBUS = 24 V DC |
- |
- |
31.7 |
mA DC |
|
IP_LINK |
Output Current |
- |
- |
- |
20 |
mA DC |
IN_LINK |
Output Current |
- |
- |
- |
20 |
mA DC |
Battery Cells Specifications |
||||||
C(n) - C(n-1) |
Input Cell Voltage Range |
CI-12, CI-16 |
0 |
- |
5 |
V DC |
Vsum |
Voltage between C0 and C12 |
CI-12, +VBUS = 0 V DC |
11 |
- |
60 |
V DC |
Voltage between C0 and C8 |
CI-16, +VBUS = 0 V DC |
11 |
- |
40 |
V DC |
|
Voltage between C8 and C16 |
CI-16, +VBUS = 0 V DC |
11 |
- |
40 |
V DC |
|
TME |
Total Measurement Error |
CI-12, CI-16, +VBUS = 24 V DC |
±0.1 |
±1.2 |
±1.6 |
mV DC |
I(n) |
Cell Balancing Current (only for CI-12 and CI-16) |
C(n) - C(n-1) = 4 V DC |
304 |
307 |
310 |
mA DC |
Vbal |
Cell Voltage for Balancing |
CI-12 and CI-16 |
1.1 |
- |
- |
V DC |
Temperature Sensors Specifications |
||||||
I(n) |
Output Current to Temperature Sensor |
- |
- |
- |
300 |
μA |
Rt(n) |
Temperature Sensor Resistance at 25 °C |
- |
- |
10 |
- |
kΩ |
T(n) |
Input Temperature Sensor Voltage Range |
Cell 0 = 0 V |
0 |
- |
3 |
V |
Environmental Conditions
Symbol | Parameter | Min | Typ | Max | Units |
---|---|---|---|---|---|
Thermal Specifications |
|||||
Ta |
Operating Temperature |
-10 |
25 |
60 |
°C |
Storage Temperature |
-20 |
25 |
60 |
°C |
|
Humidity Specifications |
|||||
RH |
Operational RH |
5 |
- |
85 |
% |
Storage RH |
5 |
- |
85 |
% |
|
Shock and Vibration Specifications |
|||||
Vertical |
Vertical shock/vibration |
- |
- |
10 |
m/s2 |
Longitudinal |
Longitudinal shock/vibration |
- |
- |
10 |
m/s2 |
Transverse |
Transverse shock/vibration |
- |
- |
10 |
m/s2 |
Pulse vibration |
On each axis |
- |
- |
245 |
m/s2 |
The Cell Interface has been designed to meet the requirements of SAE J2464 (shock) and SAE J2380 (random vibration).
Standards and Certifications
The Cell Interface meets industry standards CISPR 22 Class A and IEC/EN 61000-4-2 for EMC/EMI and ESD respectively. It has been designed to meet EN 60950 high voltage creepage/clearance distances for reinforced insulation rated to 1250 V DC. All components are EU RoHS / China RoHS compliant.
Standard/Certification | ||
---|---|---|
Stationary Battery Safety |
UL Recognized |
UL 1973 (file no. MH64071) |
Functional Safety |
UL Recognized |
UL 991 (file no. MH64071) |
UL 1973 recognition ensures safe battery operation and significantly reduce the effort of certifying the energy storage solution to meet UL 1973 and UL 9540.
Appendix B: Ordering Information
Low-Voltage BMS
Product part numbers for ordering a Low-Voltage BMS are listed in Table 60.
Low-Voltage BMS kits—which include the Low-Voltage BMS module and cables—are available to get you started quickly. Please visit https://nstore.nuvationenergy.com for more details. |
Part Number | Product Name |
---|---|
NUV300-BC-12-NC-P |
Low-Voltage BMS - 12 channel, no CAN |
NUV300-BC-12-NC-U |
Low-Voltage BMS - 12 channel, no CAN, PCB assembly only (no enclosure) |
NUV300-BC-12-NC-KIT-nnn |
Low-Voltage BMS Kit - 12 channel, no CAN (nnn denotes cable options) |
NUV300-BC-16-NC-P |
Low-Voltage BMS - 16 channel, no CAN |
NUV300-BC-16-NC-U |
Low-Voltage BMS - 16 channel, no CAN, PCB assembly only (no enclosure) |
NUV300-BC-16-NC-KIT-nnn |
Low-Voltage BMS Kit - 16 channel, no CAN (nnn denotes cable options) |
Available as special order |
|
NUV300-BC-12-P |
Low-Voltage BMS - 12 channel |
NUV300-BC-12-U |
Low-Voltage BMS - 12 channel, PCB assembly only (no enclosure) |
NUV300-BC-12-KIT-nnn |
Low-Voltage BMS Kit - 12 channel (nnn denotes cable options) |
NUV300-BC-16-P |
Low-Voltage BMS - 16 channel |
NUV300-BC-16-U |
Low-Voltage BMS - 16 channel, PCB assembly only (no enclosure) |
NUV300-BC-16-KIT-nnn |
Low-Voltage BMS Kit - 16 channel (nnn denotes cable options) |
Cell Interface
Product part numbers for ordering a Cell Interface are listed in Table 61. Accessory kits are listed in Table 62.
Cell Interface kits—which include the Cell Interface module and cables—are available to get you started quickly. Please visit https://nstore.nuvationenergy.com for more details. |
Part Number | Product Name |
---|---|
NUV100-CI-12-1 |
Cell Interface - 12 channel, Bulkhead |
NUV100-CI-12-U |
Cell Interface - 12 channel, PCB assembly only (no enclosure) |
NUV100-CI-12-KIT |
Cell Interface Kit - 12 channel |
NUV100-CI-16-1 |
Cell Interface - 16 channel, Bulkhead |
NUV100-CI-16-U |
Cell Interface - 16 channel, PCB assembly only (no enclosure) |
NUV100-CI-16-KIT |
Cell Interface Kit - 16 channel |
Part Number | Product Name |
---|---|
NUVP-CI-DIN-MB |
Cell Interface Mounting Bracket (Bulkhead-to-DIN) |
Appendix C: Changing the Nuvation Energy BMS Network Configuration
Nuvation Energy BMS is flexible and allows changing its network configuration if you need the IP address of Nuvation Energy BMS to match your existing network settings.
Improperly modifying the network settings can result in a Nuvation Energy BMS that cannot communicate over Ethernet. To restore Nuvation Energy BMS to its default IP address (192.168.1.21), you must initiate a factory reset action—refer to the Appendix D for instructions. Be sure to record the updated IP address, netmask, and gateway settings if you decide to make changes to these settings. |
Modifying the Network Settings
-
Unlock the Operator Interface by clicking the menu and
Unlock
-
You will need the Operator Interface password if the Operator Interface is password-protected
-
-
From the menu, select
Registers
to bring up the register browser page -
Under the
Manual Register Configuration
panel, expand the row for Component Namesc_ethernet
. Thesc_ethernet
component contains network settings like IP address, gateway, etc.Use the find feature ( Ctrl + F
) in your browser to locate components in the page. -
Click the
Edit
button on the register you need to modify to meet your desired network configuration. This will bring up theEdit Register
dialog box -
Enter the desired value for the register. Then click
Write
The index field may be left blank for all operations. -
Confirm that the value has been updated by clicking
Read
-
Under the
Manual Register Configuration
panel, expand the row for component namesc_locked_cfg_persist
. -
Click the
Edit
button for thesave
register and write a value of1
-
Verify that the configuration has been saved correctly by reading the error register. The value will be
0
if no errors have occurred.
The network settings have been updated. Any changes will take effect when Nuvation Energy BMS is rebooted.
Appendix D: Factory Reset
In the unlikely event Low-Voltage BMS becomes inaccessible due to a forgotten password or invalid network configuration; a factory reset operation must be performed to restore the system to the default settings. Follow the steps below to reset Low-Voltage BMS to factory defaults:
-
Fully power off the Low-Voltage BMS
-
On the Control / GPIO connector, short the Factory Reset input (
FAC_RST#
) input to one of theCOMIO
wires -
Boot the Low-Voltage BMS and continue to short the Factory Reset input (
FAC_RST#
) toCOMIO
for two seconds -
De-asserted the Factory Reset input (disconnect
FAC_RST#
fromCOMIO
) -
The process of asserting and de-asserting the Factory Reset input should all happen within the first ten seconds of boot up. If successful, the Link Out connector’s LED will blink briefly.
-
After this LED stops blinking, reboot the Low-Voltage BMS to complete the Factory Reset process
The Factory Reset input to the Low-Voltage BMS is read by the processor only during boot up. No action is taken on this input after the Low-Voltage BMS has booted.
The Low-Voltage BMS has a dedicated input for triggering a factory reset.
Low-Voltage BMS should now be reset to the factory firmware version, default password, and default network configuration.
Appendix E: Best Practices
This section describes important concepts which need special attention to achieve a reliable installation.
Excess Cable Management
During the first prototype system build, it is possible to encounter cable lengths that are too long for your system. Leaving the excess cable length unmanaged can result in a messy system installation.
If reducing the cable length is not feasible or if there is no time to physically modify the lengths, a common solution is to wrap the excess cable length in a coil and fasten the wire loop in the cabinet. This basic tactic has the undesirable effect of creating an air-core transformer which will couple EMI into the cable extremely well.
The best solution to cable length management is to bundle the excess length in a figure-8 pattern. This prevents the bundle from turning into an air-core transformer since the direction of current in one side of the figure-8 turns opposite to the current in the other side. It is recommended to use the figure-8 method if physically reducing the cable length is not possible.
From time to time Nuvation Energy will make updates to products in response to changes in available technologies, client requests, emerging energy storage standards, and other industry requirements. The product specifications in this document, therefore, are subject to change without notice.
© Nuvation Energy