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 constraints are described in detail in the Nuvation Energy G4 BMS: Safety Manual (available upon request).
This document applies to Nuvation Energy BMS Descartes Update 1 software release (Firmware version 4.109.1, Operator Interface version 1.5.0). 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. 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 G4 Cell Interface module.
The input voltage range of 11–60 V DC applies with or without a G4 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 |
G4 Cell Interface - 12 channel |
NUV100-CI-16-1 |
G4 Cell Interface - 16 channel |
An example single-stack system with a 12 or 16 channel configuration is shown in Figure 1, “Nuvation Energy Low-Voltage BMS Single-Stack System Overview”. This configuration requires a single Low-Voltage BMS.
An example multi-stack system with a 24-channel configuration is shown in Figure 2, “Nuvation Energy Low-Voltage BMS 24-channel, Multi-stack System Overview”. This configuration requires a Low-Voltage BMS and a G4 Cell Interface expansion module.
2.1. 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 G4 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).
2.2. 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.
For systems that require UL 1973 compliance, the Low-Voltage BMS supports up to 7 temperature sensors. For systems that do not require UL 1973 compliance, the Low-Voltage BMS can support up to 8 temperature sensors.
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
2.3. G4 Cell Interface
The Nuvation Energy G4 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 G4 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 G4 Cell Interface model must match the Low-Voltage BMS model—i.e. A Low-Voltage BMS - 12 channel can only be coupled with a G4 Cell Interface - 12 channel, and a Low-Voltage BMS - 16 channel can only be coupled with a G4 Cell Interface - 16 channel. The firmware does not support a mixed chain of different Cell Interface variants.
For systems that require UL 1973 compliance, the G4 Cell Interface supports up to 7 temperature sensors. For systems that do not require UL 1973 compliance, the G4 Cell Interface can support up to 8 temperature sensors.
The following are variants of the Nuvation Energy G4 Cell Interface:
-
The NUV100-CI-12-1, G4 Cell Interface - 12 channel can monitor up to 12 series-connected cells
-
The NUV100-CI-16-1, G4 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
2.4. G4 BMS Software
The Nuvation Energy G4 BMS Software is composed of two parts: the Operator Interface and the G4 BMS Firmware.
2.4.1. Operator Interface
The Operator Interface is a browser-based graphical view of the system state, data, and configuration.
Key Features
-
Provides Unified View of Entire Battery - Access diagnostics and performance data of the battery stack
-
Statistics - Provides stack-level voltage, temperature & current statistics for all cells
-
Real-Time - Streams measurements and control signals for real-time display and recording
-
Faults and Warnings - Aggregated for system-wide overview, plus detail drill-down for battery pack diagnostics
-
SOC and SOH - Calculates State of Charge (SoC) and State of Health (SoH) for the battery stack
-
Communications Status - Ensures that measurements, control signals, and other data are propagating properly throughout the entire system for safe operation
-
Flow-Through I/O - Provides a single entry point to all measurement and control points in the BMS
2.4.2. G4 BMS Firmware
The G4 BMS Firmware is a highly configurable software that manages the stack operation and controls. It enables the BMS to be used as a protection device against unsafe voltage, temperature, and current conditions in battery systems.
Key Features
-
Configuration Registers - Numerous configuration options, called 'registers', to tune the G4 High-Voltage BMS for the specific end-application.
-
Functional Safety - Functional safety according to UL 1998 specification is accomplished through several key capabilities of the software.
-
Protection Functions - Provides protection functions for a battery against hazardous voltage, temperature, and current conditions.
-
Sensor Fault Detection - Detects sensor faults in cell voltage, temperature, stack voltage, and stack current.
-
Shorted Shunt Detection- Detects short circuit failures, and wiring defects.
-
-
Under Voltage Lockout - A safety feature to protect a battery from further damage when either cell/stack voltages are critically low.
-
Shutdown Input - An input signal to the Low-Voltage BMS that when asserted will trigger a software managed disconnection of a stack followed by the Low-Voltage BMS powering off.
3. Installation Instructions
3.1. Quick Start Guide
Prior to installation, please review the full set of safety warnings in Important Safety Information. |
Overview of the Installation & Setup Process
Install BMS and Batteries
-
Install Low-Voltage BMS (and G4 Cell Interface, if applicable) to its end application location.
-
Start here: Section 3.2, “Low-Voltage BMS Mechanical Installation”
-
Start here (if applicable): Section 3.4, “G4 Cell Interface Mechanical Installation”
-
-
Wire the batteries to the Low-Voltage BMS (and G4 Cell Interface, if applicable).
-
Start here: Section 3.3, “Low-Voltage BMS Electrical Connections”
-
Start here (if applicable): Section 3.5, “G4 Cell Interface Electrical Connections”
-
-
Power on the BMS and check status LEDs.
-
Start here: Section 3.6, “First-time Power-up”
-
Upgrade Firmware and Install Operator Interface
-
Upgrade the BMS to the latest firmware.
-
Start here: Section 3.7, “First Time Firmware Upgrade”.
-
-
Install the Operator Interface to operate the BMS.
-
Start here: Section 3.8, “Operator Interface Installation”
-
Configure BMS
-
Generate the initial configuration file.
-
Start here: Section 3.9, “First Time Configuration”
-
-
Verify the correct operation of your configuration file through testing.
-
Trigger each fault and verify the correct action is taken by the BMS.
-
Calibrate BMS
-
Calibrate BMS for accurate usable capacity measurements.
-
Start here: Section 4.9, “Measurement Calibration”
-
The Low-Voltage BMS is now ready for operation
3.2. Low-Voltage BMS Mechanical Installation
3.2.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.
3.2.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.
3.2.2.1. Mounting Clearances
Extra space should be provided around the module to allow for sufficient heat dissipation, and cable installation. 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.
3.2.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.
3.3. Low-Voltage BMS Electrical Connections
3.3.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 Low-Voltage BMS 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
-
3.3.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 G4 Cell Interface. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the Low-Voltage BMS and G4 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, G4 Cell Interface, and/or the cells. |
3.3.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, “Low-Voltage BMS Power Wire Fuse Selection Guide” 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. |
3.3.4. Connect Communication Cables
Four of the Low-Voltage BMS connectors use an RJ45 connector:
Connect the cables that apply to your application.
3.3.4.1. Connect Link Out (Connector J1)
This connector is used for applications with a G4 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 G4 Cell Interface module to provide monitoring for additional battery cells and thermistors. Connect this interface to the G4 Cell Interface module’s Link In connector. A green LED on this connector indicates Low-Voltage BMS activity
For pin assignment table, refer to Link Out (Connector J1)
3.3.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 Ethernet / Modbus TCP (Connector J2)
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).
3.3.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 CAN or Unused (Connector J3)
3.3.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 RS485 / Modbus RTU (Connector J4)
3.3.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
3.3.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 15, “GPIO Output Circuit Diagram” and Figure 16, “GPIO Input Circuit Diagram” 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 6, “Troubleshooting”.
- 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.
When in service lockout or when exiting service lockout, the BMS will immediately disconnect power and does not go through the steps listed above. |
- 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 C, Factory Reset 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.
3.3.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 Battery Cells and Temperature Sensors (Connector J8)
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 G4 Cell Interface. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the Low-Voltage BMS and G4 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, G4 Cell Interface, and/or the cells. |
3.3.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 18, “NUV300-BC-12: Connecting to 12 cells” and Figure 19, “NUV300-BC-12: Connecting to 8 cells” 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 19, “NUV300-BC-12: Connecting to 8 cells”.
Use a separate wire to connect input VSTACK_SENSE
to the negative end of the most negative (bottom) cell.
3.3.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 20, “NUV300-BC-16: Connecting to 16 cells”, Figure 21, “NUV300-BC-16: Preferred method of connecting to 11 cells” and Figure 22, “NUV300-BC-16: Less optimal method of connecting to 11 cells” 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, “Low-Voltage BMS supported cell connections”.
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 20, “NUV300-BC-16: Connecting to 16 cells” 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 21, “NUV300-BC-16: Preferred method of connecting to 11 cells”. A less desirable connection example is shown in Figure 22, “NUV300-BC-16: Less optimal method of connecting to 11 cells” 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.
3.3.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 G4 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 G4 Cell Interface. The constraint is described in detail in Section 4.10.9, “Temperature Consistency Check”.
3.3.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 3.3.3, “Grounding and Fusing”).
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 8, “Connection example for powering the Low-Voltage BMS from cells” and Figure 12, “Connection example for powering the Low-Voltage BMS from external DC power source” 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 12, “Connection example for powering the Low-Voltage BMS from external DC power source”, 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 8, “Connection example for powering the Low-Voltage BMS from cells” and Figure 12, “Connection example for powering the Low-Voltage BMS from external DC power source” for use of the –VPOWER
.
Contactor coils, internal and external supply connections are shown in Figure 24, “Two 24V contactor coils powered from internal supply” and Figure 25, “Four contactor coils powered from external supply”.
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.
3.3.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 3.3.3, “Grounding and Fusing”).
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.
3.4. G4 Cell Interface Mechanical Installation
3.4.1. Dimensions and Weight
The overall dimensions of the G4 Cell Interface are 104.4 mm × 121.58 mm × 40.6 mm.
The standard G4 Cell Interface (i.e. with bulkhead) weighs approximately 450 g.
3.4.1.1. DIN rail mounting Kit
For applications requiring DIN rail mounting, the G4 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 G4 Cell Interface to EN50022-compliant DIN rails.
The Mounting Bracket kit assembly adds an extra 14.2 mm to the overall width of the G4 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 G4 Cell Interface module from the center of the DIN rail approximately 30 mm upwards as shown in Figure 29, “Mechanical Drawing of G4 Cell Interface with G4 Cell Interface Mounting Bracket (Bulkhead-to-DIN)”.
A G4 Cell Interface with the Mounting Bracket weighs approximately 540 g.
3.4.2. Installation Location and Position
The G4 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 G4 Cell Interface is rated to operate in the temperature range of -10 °C to 60 °C. It is designed for indoor use.
The G4 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. |
3.4.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, and cable installation.
3.4.3. Mounting Instructions
Ensure appropriate fasteners (not included) are used to mount the G4 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 G4 Cell Interface.
3.5. G4 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 3.5.3.1.1, “Safety Considerations” for safety considerations. |
3.5.1. Getting Started
To complete the installation of the G4 Cell Interface, the following is required per G4 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 G4 Cell Interface 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 G4 Cell Interface. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the Low-Voltage BMS and G4 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, G4 Cell Interface, and/or the cells. |
3.5.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 G4 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 G4 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 G4 Cell Interface. The constraint is described in detail in Section 4.10.9, “Temperature Consistency Check”.
3.5.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 G4 Cell Interface
-
'Temperature' cable connects to the 'Temperature Sensors' port at the bottom of the G4 Cell Interface.
3.5.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.
3.5.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 G4 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 G4 Cell Interface module used.
- Connect to G4 Cell Interface
-
'Battery Cells' cable connects to the 'Battery Cells' port at the bottom of the G4 Cell Interface.
3.5.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.
3.5.3.1.2. Battery Cell Connector for G4 Cell Interface - 12 channel
Figure 34, “G4 Cell Interface - 12 channel Connections to upper 12 cells of 24-cell battery” shows the wiring of the upper 12 cells of a 24-cell battery to the G4 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 35, “G4 Cell Interface - 12 channel Connections to upper 8 cells of 20-cell battery” shows the wiring of the upper 8 cells of a 20-cell battery to the G4 Cell Interface - 12 channel, which would be paired with a Low-Voltage BMS - 12 channel.
3.5.3.1.3. Battery Cell Connector for G4 Cell Interface - 16 channel
Figure 36, “G4 Cell Interface - 16 channel Connections to upper 16 cells of 32-cell battery” shows the wiring of the upper 16 cells of a 32-cell battery to the G4 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 37, “G4 Cell Interface - 16 channel Connections to upper 11 cells of 27-cell battery” shows the wiring of the upper 11 cells of a 27-cell battery to the G4 Cell Interface - 16 channel, which would be paired with a Low-Voltage BMS - 16 channel.
3.5.4. Connect the Link Bus Cable
The Link Bus cable is used to connect the Low-Voltage BMS to a G4 Cell Interface module. As long as the system doesn’t exceed the maximum 60 V DC limit, additional G4 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 G4 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 G4 Cell Interface.
-
The 'Link Out' on the G4 Cell Interface is to be left un-connected.
-
3.6. First-time Power-up
- Power on the Low-Voltage BMS
-
Once the Low-Voltage BMS is connected to the battery (including the G4 Cell Interface modules chain), the Low-Voltage BMS can be powered on. The Low-Voltage BMS activity LED (green) should turn ON.
For more details on the Status LEDs, please refer to Section 5.2, “Status LEDs”.
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. Once the Operator Interface is installed, the faults can be investigated and cleared. This will enable the Low-Voltage BMS to connect the battery to the DC bus. |
The Low-Voltage BMS can now be managed from a computer using the Operator Interface. Refer to the subsequent Section 3.8, “Operator Interface Installation” and Section 5.3, “Using the Operator Interface” for instructions on setup and using the Operator Interface.
3.7. First Time Firmware Upgrade
The factory installed firmware version is Ampere Update 1
and the latest firmware version is currently Descartes Update 1
.
Before first use of the Low-Voltage BMS, please upgrade to the latest firmware. After the upgrade, please use the latest Operator Interface to operate the Nuvation Energy Low-Voltage BMS.
3.7.1. Download 'Upgrade OI'
Download the 'Descartes Upgrade OI' package which contains an Operator Interface bundled with the 'Descartes Update 1' installation package.
The download link will be provided during the ordering process. If you have trouble locating the link, please contact support@nuvationenergy.com.
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 Low-Voltage BMS.
- Identify the Battery Management System IP
-
By default, Low-Voltage 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 39. Parts of an IP addressWrite down the network ID and host ID parts of the Low-Voltage BMS’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 Low-Voltage BMS. The Host ID number can be any number from 2 to 255 as long as it is not the same as the Host ID of the Low-Voltage BMS. For example if the Low-Voltage BMS 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 Low-Voltage BMS. 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 > Network and Sharing Center
-
Right-click your network adapter that connects to your Low-Voltage BMS and select
Properties
-
Click
Internet Protocol Version 4 (TCP/IPv4)
and clickProperties
Figure 40. 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 Low-Voltage BMS 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 Low-Voltage BMS and the Host ID should be
1
.-
For example, if the Low-Voltage BMS IP address is
192.168.1.21
, the gateway address would be192.168.1.1
Figure 41. 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.
-
-
3.7.2. Setup Computer’s IP address
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 Low-Voltage BMS.
- Identify the Battery Management System IP
-
By default, Low-Voltage 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 42. Parts of an IP addressWrite down the network ID and host ID parts of the Low-Voltage BMS’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 Low-Voltage BMS. The Host ID number can be any number from 2 to 255 as long as it is not the same as the Host ID of the Low-Voltage BMS. For example if the Low-Voltage BMS 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 Low-Voltage BMS. 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 > Network and Sharing Center
-
Right-click your network adapter that connects to your Low-Voltage BMS and select
Properties
-
Click
Internet Protocol Version 4 (TCP/IPv4)
and clickProperties
Figure 43. 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 Low-Voltage BMS 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 Low-Voltage BMS and the Host ID should be
1
.-
For example, if the Low-Voltage BMS IP address is
192.168.1.21
, the gateway address would be192.168.1.1
Figure 44. 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.
-
-
3.7.3. Launch 'Upgrade OI'
Un-package the contents of the 'Descartes Upgrade OI' Package.
Launch the Operator Interface by opening the Nuvation-Energy-Operator-Interface.html
file in your web browser.
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. |
The Operator Interface will automatically attempt to connect to the default BMS IP (192.168.1.21
) or the last successful BMS IP connection.
If the Operator Interface is unable to connect to the BMS at the assumed IP, a prompt to enter the BMS IP will be displayed. Ensure the computer IP address is on the same network as the BMS IP address. See Section 3.8.2, “Setup PC Network Adapter”.
The Low-Voltage BMS will be in 'Service Lockout' and an upgrade notice will be displayed.
3.7.4. Upgrade Firmware
Upgrade the firmware by clicking the Upgrade
button.
On successful upgrade, a 'Upgrade Complete' message wil be displayed. Close the browser window.
After upgrading, the 'Descartes Upgrade OI' package and its files are no longer required and may be deleted. |
3.8. Operator Interface Installation
3.8.1. Download and Install
The Operator Interface is used to access the Low-Voltage BMS. It must be installed on a local PC to access the BMS over a network connection.
- Download
-
Visit https://www.nuvationenergy.com/technical-resources to download the latest version of the Operator Interface.
- Install
-
Extract the contents of
bms-oi-<version>.zip
to a suitable location on your computer. To avoid overwriting other releases or files present in the same directory, it is recommended to extract the package to a folder with the same name as the package.
3.8.2. Setup PC Network Adapter
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 Low-Voltage BMS.
- Identify the Battery Management System IP
-
By default, Low-Voltage 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 45. Parts of an IP addressWrite down the network ID and host ID parts of the Low-Voltage BMS’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 Low-Voltage BMS. The Host ID number can be any number from 2 to 255 as long as it is not the same as the Host ID of the Low-Voltage BMS. For example if the Low-Voltage BMS 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 Low-Voltage BMS. 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 > Network and Sharing Center
-
Right-click your network adapter that connects to your Low-Voltage BMS and select
Properties
-
Click
Internet Protocol Version 4 (TCP/IPv4)
and clickProperties
Figure 46. 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 Low-Voltage BMS 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 Low-Voltage BMS and the Host ID should be
1
.-
For example, if the Low-Voltage BMS IP address is
192.168.1.21
, the gateway address would be192.168.1.1
Figure 47. 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.
-
-
3.8.3. Launch Operator Interface
Launch the Operator Interface by opening the Nuvation-Energy-Operator-Interface.html
file in your web browser.
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. |
The Operator Interface will automatically attempt to connect to the default BMS IP (192.168.1.21
) or the last successful BMS IP connection.
If the Operator Interface is unable to connect to the BMS at the assumed IP, a prompt to enter the BMS IP will be displayed. Ensure the computer IP address is on the same network as the BMS IP address. See Section 3.8.2, “Setup PC Network Adapter”.
3.9. First Time Configuration
3.9.1. Generate Configuration File
The Operator Interface provides tools for importing and exporting configuration files to and from Low-Voltage BMS as a way to set or retrieve the state of all configuration registers.
Low-Voltage BMS needs a valid configuration file to operate. A configuration file specific for the end application must be created and imported into the Operator Interface.
Configuration files are specific to the firmware version installed on the Low-Voltage BMS.
To create the first configuration file for Low-Voltage BMS, please follow the steps below.
- Use Quick Start Wizard
-
Nuvation Energy provides an online tool to assist with generating a basic Configuration file for a system. To generate a new Configuration file:
-
Visit the Nuvation Energy online portal at https://ncloud.nuvationenergy.com.
-
Create an account and Login.
-
Click
Configurations
-
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 Low-Voltage BMS is connected to a computer that doesn’t have internet access, use a USB stick to transfer the configuration file between computers.
-
-
The generated configuration file will be saved in Configurations
for future reference.
- Fine-tuning the Configuration File (optional)
-
If you would like to further adjust the configuration to meet the requirements of the end application, you may choose to edit the configuration file.
To edit the configuration, open the the
.config
file in a Text Editor.
Low-Voltage BMS is a highly customizable product and the Configuration file lets you directly make changes to the BMS settings. However, serious problems might occur if the configuration settings are incorrectly modified. If you need assistance with modifying the configuration, please contact support@nuvationenergy.com. |
3.9.2. Import the Configuration File
- Backup existing Configuration
-
If your Low-Voltage BMS has been configured previously, please 'Export' your configuration file before importing a new one. The
Export Configuration
feature will generate configuration file with an alphabetical listing of all registers and their set values. Refer to Section 5.3, “Using the Operator Interface” for the following.To Export a Configuration:
-
From the menu, select
Service
-
Click
Export Configuration
-
Save this
.config
file
-
- Import new Configuration File
-
Low-Voltage BMS must be in Service Lockout before the file can be imported.
To Import a Configuration:
-
Unlock the Operator Interface by clicking the 'Lock' icon.
-
If the Operator Interface is password protected, please enter the password.
-
-
Navigate to 'Service' in the menu and click 'Enter Service Lockout'.
-
Please see Section 5.3.5, “Understanding the Service Lockout and Self Check” for more details.
-
-
Enable or Disable the
Persist Configuration to BMS
option.-
Enabling this option tells Low-Voltage BMS to persist the imported configuration file. If you are using known, good, configuration files you should check this box.
-
Disabling this option tells Low-Voltage BMS to not persist the newly imported configuration file. On reboot, Low-Voltage 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 Low-Voltage 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.
-
Backup imported Configuration Files
Please backup any imported or exported configuration file for future reference.
Low-Voltage BMS does not store the |
3.9.2.1. Configuration File Import Troubleshooting
- Register Write failure error
-
During the configuration file import, if you receive a
Register Write failure error
, check to ensure you have valid entries in your configuration file.For details on the various registers and their intended use, please refer to Section 4, “Configuration Settings”.
- Unable to exit Service Lockout
-
While exiting the service lockout, if a failure is reported, please see Section 5.3.5, “Understanding the Service Lockout and Self Check” for troubleshooting details.
If the failures persist, please submit a support ticket with as much detail as possible to support@nuvationenergy.com.
3.10. Calibrate 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 4.9, “Measurement Calibration” 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. |
4. Configuration Settings
Low-Voltage BMS is a highly customizable product. This section details the various configuration options available.
Configuration settings can be imported via a .config
file or modified by using the 'Register Browser' in the Operator Interface.
Imported settings can be either 'persisted' (retained after a reboot) or set to not persist.
Changes made via the Register Browser are not persisted - i.e. they are not retained after a reboot.
4.1. Background and Terminology
Terminology and technical concepts critical to the operation and configuration of Nuvation Energy BMS are presented in this section.
4.1.1. Register Data Model
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.
4.1.1.1. 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 Modbus-based SunSpec Energy Storage 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.
4.1.1.2. 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.
4.1.1.2.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
4.1.1.2.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.
4.1.1.2.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.
4.1.1.2.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.
4.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 |
CurrentNano |
nA |
int32 |
Current in nano amps |
Energy |
Wh |
uint32 |
Energy capacity of a stack |
Farads |
μFarads |
uint32 |
Capacitance of cells |
Float |
value |
float |
Single precision floating point |
Int64 |
value |
int64 |
Signed 64 bit integer |
Impedance |
Ω |
uint32 |
Resistance of a stack |
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 G4 Cell Interface |
Temperature |
°C |
int16 |
Thermistor temperatures |
String |
none |
char[8] |
Storage for 8 characters |
UInt8 |
value |
uint8 |
Unsigned 8 bit integer |
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:
|
4.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 5.3.3.1, “Registers”.
4.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 F, BMS Network Configuration.
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 4.2.4, “Restricted Register Write Operations” for further details. |
4.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.
4.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 5.3.3.1, “Registers”) or applied by uploading a configuration file. Factory registers can only be configured when the system is not in Factory Lockdown.
4.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
4.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 C, Factory Reset.
4.2.4. Restricted Register Write Operations
When Factory Lockdown has been enabled, all register writes are restricted through external interfaces (e.g. Modbus-TCP, HTTP) with some exceptions. A 'whitelist' of registers which can be written to when in Factory Lockdown and are excluded from write protection are listed in Table 8, “Factory Lockdown Whitelist”.
Register Name | Register Address |
---|---|
sc_op_state.requested_state |
279776 |
sc_boot.requested_state |
229376 |
stack_trigger_summary.clear_faults |
131081 |
stack_trigger_summary.clear_warnings |
131082 |
stack_factory_trigger_summary.clear_faults |
221449 |
stack_factory_trigger_summary.clear_warnings |
221450 |
sc_linkbus.cell_open_wire_manual_scan |
69650 |
sc_linkbus.diagnostics |
69653 |
stack_control.requested_state |
200705 |
stack_contactor.requested_value |
102401 |
stack_breaker.request_state |
196610 |
stack_breaker.reset |
196622 |
sc_gpo.value |
94209 |
sc_client_id.uuid_lsb |
279312 |
sc_client_id.uuid_msb |
279313 |
sc_controller_wdt.expired |
221184 |
sc_controller_heartbeat.value |
278784 |
sc_pcs.state |
279296 |
sc_modbus_rtu.transaction_complete |
279041 |
sc_stackbus_packets.tx_count |
77840 |
sc_stackbus_packets.tx_err_count |
77841 |
sc_stackbus_packets.rx_count |
77842 |
sc_stackbus_packets.rx_err_count |
77843 |
sc_canbus_packets.tx_count |
73984 |
sc_canbus_packets.tx_err_count |
73985 |
sc_canbus_packets.rx_count |
73986 |
sc_canbus_packets.rx_err_count |
73987 |
sc_persist.save |
18432 |
sc_persist.load |
18433 |
sc_persist.error |
18434 |
sc_aux_persist.save |
18456 |
sc_aux_persist.load |
18457 |
sc_aux_persist.error |
18458 |
sc_ci_persist.save |
24576 |
sc_ci_persist.load |
24577 |
sc_ci_persist.error |
24578 |
sc_val_persist.save |
18464 |
sc_val_persist.load |
18465 |
sc_val_persist.error |
18466 |
cell_val_persist.save |
18480 |
cell_val_persist.load |
18481 |
cell_val_persist.error |
18482 |
sc_locked_cfg_persist.save |
18496 |
sc_locked_cfg_persist.load |
18497 |
sc_locked_cfg_persist.error |
18498 |
sc_clock_err_stats.reset |
168019 |
sc_stackbus_stat.reset |
212995 |
sc_stack_stat.reset |
213251 |
sc_linkbus_stat.reset |
213507 |
sc_rom_test_stat.reset |
213763 |
sc_ram_test_stat.reset |
214019 |
stack_cell_soc_stat.update |
298573 |
stack_cell_soc_variance_stat.update |
298583 |
stack_cell_soh_stat.update |
274437 |
stack_balance_stat.update |
281349 |
stack_soc.reset |
90115 |
stack_soc.reset_soc |
90116 |
stack_soc.reset_capacity |
90117 |
stack_soc.measured_capacity |
90125 |
stack_soc.adaptive_soc |
90120 |
stack_soc.accumulative_soc |
90119 |
cell_states.soc |
293659 |
cell_states.vp |
293658 |
cell_states.soc_variance |
293661 |
cell_states.vp_variance |
293660 |
cell_model.instantaneous_resistance |
281376 |
cell_model.polarization_resistance |
281378 |
cell_charge.throughput_reset |
233475 |
cell_model.ohmic_resistance |
281377 |
pi_op_state.requested_state |
7712 |
pi_boot.requested_state |
32 |
pi_fsm_stat.reset |
7427 |
pi_afe_stat.reset |
7939 |
pi_rom_test_stats.reset |
7763 |
pi_stackbus_stat.reset |
7683 |
pi_contactor_stats.reset |
7795 |
pi_clock_err_stats.reset |
7779 |
pi_aux_persist.save |
4448 |
pi_aux_persist.load |
4449 |
pi_aux_persist.error |
4450 |
pi_stackbus_packets.tx_count |
7808 |
pi_stackbus_packets.rx_count |
7810 |
pi_stackbus_packets.tx_err_count |
7809 |
pi_stackbus_packets.rx_err_count |
7811 |
Configuration storage typed registers can be written to and are exempt from this rule. Refer to Section 4.1.3, “Storage Types” for information on register storage types. |
4.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.
4.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. |
4.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
-
4.3.3. State-of-Health
The State-of-Health (SoH) is a value that can be used to describe the battery’s current performance relative to its performance at beginning of life. Nuvation Energy BMS estimates SoH by using one or both of the following two metrics:
-
Cycle count: SoH for a specific cell can be defined as the ratio of the number of equivalent cycles to the nominal cycle count. At the stack level, the SoH will be the minimum of the cell SoH values.
-
Battery capacity: Capacity based SoH can be defined as the ratio of the current measured capacity to the nominal capacity value. Note that this SoH value will also include charge imbalance.
There are two ways State-of-Health can be configured using the above two metrics:
-
Capacity based SoH:
-
Configure the nominal capacity as describe in the battery capacity section.
-
Set the
stack_soc.nominal_cycle_count
register to zero.
-
-
Capacity and cycle count based SoH:
-
Configure both the battery capacity and cycle count.
-
The SoH estimate will be the minimum of the stack capacity SoH and the stack cycle count SoH.
-
Currently, we cannot configure SoH based only on cycle count. SoH will always have a capacity based component to it. |
4.3.4. State of Charge (SoC)
The state of charge of a battery is a measure of the percentage of charge contained in the battery that is available for discharge. The BMS can be configured to measure the state of charge using two different methods:
-
Accumulated SoC: Continuously measures and accumulates the charge that is charged/discharged to/from the battery.
-
Adaptive SoC: Augments the accumulated measurements with an adaptive SoC algorithm. This latter technique compensates for errors due to integration over long periods of time and for factors such as self discharge which can not be directly measured by a BMS. The algorithm requires a configuration of the open circuit voltage for the battery.
The following parameters are used to select and enable which state of charge for the Nuvation Energy BMS.
Register | Type | Units | Description |
---|---|---|---|
|
config |
bool |
Enables the state of charge measurement when set to one. Applies to both SoC techniques |
|
config |
enum |
Selects which technique of state of charge is used for output on the following registers. Zero selects the accumulated SoC measurement and one selects the adaptive SoC algorithm. |
|
output |
percentage |
The current state of charge of the battery |
|
output |
mAhr |
The current depth of discharge of the battery |
The adaptive state of charge algorithm does require more detailed configuration settings for proper use. Please contact support@nuvationenergy.com for help in configuring this algorithm for your battery chemistry. This algorithm is not currently recommended for LFP chemistries. |
The SunSpec Energy Storage Models Modbus point definition for SoC and DoD uses the data from the registers noted above for output. |
The end limits for the state of charge (i.e. 0% and 100%) are defined by the full and empty conditions of a battery. The following subsections provide details on these end conditions and how they are configured.
4.3.4.1. Battery Empty Condition
Nuvation Energy BMS supports the definition of the empty condition using either or both min/max and average cell voltages, as configured using the following registers.
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
-
When discharging near the bottom of the battery, if the empty conditions are not met the battery will remain at 1% SoC.
For battery chemistries that do not tolerate over-discharge, the empty conditions are typically applied against the minimum cell voltages.
stack_soc.vemptyavg should be set to 0 mV for most applications.
|
These voltage settings must be carefully aligned with the minimum Cell Voltage Thresholds and Stack Voltage Thresholds for proper SoC operation. |
4.3.4.2. Battery Full Condition
A battery can reach the full condition while charging (i.e. when the BMS reads negative current measurements) Nuvation Energy BMS supports the definition of the full condition using a combination of cell voltage and battery current measurements. This condition is configurable using the following register settings.
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.ifull
-
-
Defines the largest negative current before the battery is considered full.
-
Value must be negative to represent a current in the charge direction.
-
Set to a large negative value (default) if this condition is not applicable.
-
stack_charge_status.hold_current
-
-
Defines the upper bound for the current full condition.
-
Configured as a positive value.
-
Software will use the negative value of this setting for the full condition.
-
Should be larger than the noise measurement of the current.
-
stack_soc.ifull_period
-
-
Defines the period a current must between the prior thresholds before the full current condition is met.
-
Configured as a positive value in microseconds.
-
Set to a value of zero if no period is desired.
-
A battery is full (reaches 100% SoC) if all three of the following conditions are met:
-
The full voltage condition is met (either/both maximum or average setting).
-
The battery current is between the full current threshold and the negative hold current.
-
The battery current is maintained between the prior thresholds for the duration of the ifull period.
For example, assume the following:
vfull = 3600 mV vfullavg = 0 ifull = -1000 mA hold_current = 5 mA ifull_period = 1000000 microseconds
The full condition would be met when the first cell voltage equals or was greater than 3.6 V AND when the current was between -1000 and -5 mA for a duration of one second.
When charging at the top end of the battery, if the full conditions are not met the battery will remain at 99% SoC.
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 conditions are typically applied against the maximum 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 empty conditions are typically applied against the average cell voltage. |
These voltage settings must be carefully aligned with the maximum Cell Voltage Thresholds and Stack Voltage Thresholds for proper SoC operation. |
4.3.5. 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 perform this estimation.
4.3.6. Cell Resistance Estimation
The Nuvation Energy BMS 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.
4.3.7. Nameplate Information
Nuvation Energy BMS can be configured to display nameplate information about the battery stack.
stack_nameplate.label0
-
-
First 8 characters of the battery stack’s name which will be displayed as a banner on the Operator Interface
-
stack_nameplate.label1
-
-
Next 8 characters of the battery stack’s name after
stack_nameplate.label0
-
stack_nameplate.label2
-
-
Next 8 characters of the battery stack’s name after
stack_nameplate.label1
-
stack_nameplate.label3
-
-
Next 8 characters of the battery stack’s name after
stack_nameplate.label2
-
stack_nameplate.battery_type
-
-
Type of battery, corresponding to SunSpec (Draft 3) model 801 Point:
BatTyp
-
stack_nameplate.energy_capacity
-
-
The nameplate energy capacity of the battery stack in
Wh
, corresponding to SunSpec (Draft 3) model 801 Point:WHRtg
-
stack_nameplate.max_charge_rate
-
-
The nameplate maximum rate of energy transfer into the battery stack in
W
, corresponding to SunSpec (Draft 3) model 801 Point:WMaxChaRte
-
stack_nameplate.max_discharge_rate
-
-
The nameplate maximum rate of energy transfer out of the battery stack in
W
, corresponding to SunSpec (Draft 3) model 801 Point:WMaxDisChaRte
-
stack_nameplate.max_soc
-
-
The nameplate maximum state of charge expressed as a percentage, corresponding to SunSpec (Draft 3) model 801 Point:
SoCNpMaxPct
-
stack_nameplate.min_soc
-
-
The nameplate minimum state of charge expressed as a percentage, corresponding to SunSpec (Draft 3) model 801 Point:
SoCNpMinPct
-
4.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
4.4.1. Cell Inputs
The Low-Voltage BMS—along with its expansion G4 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 G4 Cell Interface expansion module, cell[16]
refers to the first cell in the G4 Cell Interface expansion module.
4.4.2. Thermistor Inputs
The Low-Voltage BMS—along with its expansion G4 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 G4 Cell Interface expansion module, therm[8]
refers to the first thermistor in the G4 Cell Interface expansion module.
4.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. These faults must be enabled for functional safety compliance for UL 1973 or UL 9540.
-
-
4.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.
4.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
-
4.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
-
4.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
-
4.5.1.4. User-Defined Triggers
A user-defined trigger provides a separate way to create a high/low signal based on BMS measurements. The user-defined triggers are not connected into any of the prior warning or fault reporting and operate independently. A user-defined trigger is will not open contactors when triggered. Once configured, the triggered state of any user-defined trigger could be directed to a General Purpose Output for external control/notification outside of Nuvation Energy BMS.
A user-defined trigger is configured identically as the hysteresis trigger.
All user defined triggers have the following two naming formats:
-
stack_trig_<measurement>_<condition>
4.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 4.10.5, “Under-Voltage Lockout” 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.
The stack_fault_cell_[over/under]
triggers must be enabled for safety compliance to UL 1973 or UL 9540.
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 |
4.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 4.5.2, “Cell Voltage Thresholds”) 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. |
4.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 4.5.2, “Cell Voltage Thresholds”) 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. |
4.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 4.10.5, “Under-Voltage Lockout” for more details. |
The stack voltage thresholds can be configured in a similar manner to how the cell voltage thresholds (Section 4.5.2, “Cell Voltage Thresholds”) 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
)
-
4.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 SunSpec 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.
4.6. Control Settings
4.6.1. Current Control
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.
4.6.1.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 4.7, “Input / Output Assignment”. |
4.6.1.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.
-
4.6.1.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 following conditions are evaluated:
-
At least one stack current sample was received
-
The absolute value of the stack current minus the bias current is compared to be smaller than a maximum threshold value
If all of the above conditions are true then the pre-charge operation was successful. Otherwise a pre-charge timeout fault is tripped. Upon successful pre-charge 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.disable_precharge
-
-
If set to 1 then pre-charge is disabled
-
If pre-charge is disabled the system will skip the pre-charge step and immediately enter the next part of the connection sequence
-
stack_control.precharge_delay
-
-
Determines the fixed amount of time the pre-charge path is energized if enabled
-
Set based upon pre-charge hardware power and thermal ratings
-
This delay is limited to a minimum duration of 1 second and a maximum duration of 10 seconds
-
stack_control.disable_precharge must be set to 0 for this register to have an effect
|
stack_control.disable_connecting
-
-
If value is set to 1, the system will immediately enter the connected state after pre-charge completes
-
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.disable_connecting must be set to 0 for this register to have an effect
|
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_control.voltage_mismatch_thresh
-
-
Determines the maximum absolute voltage difference between the stack voltage and the DC Bus voltage at the end of
stack_control.precharge_delay
under which pre-charge can complete successfully -
Set to ensure that the stack and DC bus have sufficiently equalized before continuing the connection sequence.
-
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.
|
4.6.1.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 the contactors connecting and current limits engaging 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
-
stack_control.disable_connecting must be set to 0 for this register to have an effect, otherwise the system will behave as if this delay is 0s
|
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 Section 4.10.4, “Fault Pilot” is expected to be configured to allow stack connection to be maintained for stack_control.disconnect_delay period and have the PCS ramp power down before contactors.
Please refer to this section for details when that fault pilot period is not maintained.
This delayed response to disconnection will help in reducing the number of events that could degrade Section 4.10.10, “Contactor Life Tracking”.
|
4.6.2. Current Limits
The Nuvation Energy BMS supplies configurable current limits for the charge and discharge directions of a battery stack. The current limits provide a feedback to an external control system to gradually taper the current demanded from the battery as the stack approaches its full (100% SOC) and empty (0% SOC) states.
The current limits are calculated by taking the minimum of the following input variables:
-
Cell Voltage (refer to Figure 51, “Typical Arrangement of Cell Voltage Current Limits”)
-
Cell Temperature (refer to Figure 53, “Typical Arrangement of Temperature Current Limits”)
-
Stack Voltage (refer to Figure 56, “Typical Arrangement of Stack Voltage Current Limits”)
The charge/discharge current limits can be accessed via the following outputs:
BMS Registers
stack_current_limit.charge_current_limit
-
-
The charge current limit in milliamps.
-
stack_current_limit.discharge_current_limit
-
-
The discharge current limit in milliamps.
-
SunSpec (Draft 3) Modbus Points
SunSpec 802 Model: Maximum Charge Current (MaxBatACha)
-
-
Modbus address 40106 at unit identifier 1
-
Single point of unsigned data
-
Units of Amperes once scaled
-
SunSpec 802 Model: Maximum Discharge Current (MaxBatADischa)
-
-
Modbus address 40107 at unit identifier 1
-
Single point of unsigned data
-
Units of Amperes once scaled
-
A scaling factor has to be applied to the current limits read from the SunSpec 802 model. The scaling factor can be read from Modbus address 404014 The scaling factor is an exponent of a base 10 adjust applied to the data read. (e.g. a scaling factor of -3 means the current limits are divided by 1000) The scaling factor is constant for the Battery Management System operation. |
4.6.2.1. Current Limit Behavior
The calculated current limits are only updated to the outputs only when the Nuvation Energy BMS is in the connected state. Outside of this state, the current limits are set to zero to indicate that the external power controller should not be charging or discharging the battery stack. This behavior is most important during the Disconnecting state. When the current limits do go to zero, there will be a time granted to the external controller to ramp down power before the contactors are opened. Such behaviour allows the contactor life to be protected and avoid opening Battery Management System contactors at elevated currents.
4.6.2.2. Current Limit Configuration
The configuration for the limits of the current limits for each contributing measurement was provided in earlier sections:
-
Cell Voltage (refer to Table 10, “Cell Voltage Operational Limits”)
-
Cell Temperature (refer to both Table 12, “Charge Temperature Operational Limits” and Table 13, “Discharge Temperature Operational Limits”)
-
Stack Voltage (refer to Table 18, “Stack Voltage Operational Limits”)
The following sections detail additional configuration of current limits.
4.6.2.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. |
4.6.2.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. |
4.6.2.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.
4.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.
Cell balancing is achieved by monitoring the cell voltages and apply balancing to the cells with the highest voltages. The balancer must be first 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
-
4.6.3.1. Voltage Based Cell Balancing
4.6.3.1.1. Settings for Voltage Based Cell Balancing
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.
|
4.6.3.1.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.
-
4.6.3.1.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.
4.6.3.2. 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.
|
4.6.4. Breaker Interruption
The Nuvation Energy BMS can be configured to accept an external input to open the contactors via a fault. The input is provided through a General Purpose Digital Input. The GPI is directed via configuration to a trigger which can generate a fault forcing the contactors to open. The following table provides the configuration to enable an externally triggered breaker interruption.
Register | Type | Description | Value |
---|---|---|---|
|
Bool |
Enables the breaker operation |
1 |
|
Bool |
Enables the forwarding of data to the breaker |
1 |
|
Address |
Address of the GPI which to read from |
Refer to address config |
|
Bool |
Enable the breaker fault |
1 |
General trigger configuration |
Follow general trigger configuration to desired operation |
4.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 4.10.4, “Fault Pilot”).
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 Control / GPIO (Connector J5) for more information on the Fault Clear, Shutdown, and Factory Reset input signals.
4.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 the 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.
4.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.
|
4.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.
4.8. External Communication Interface 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
4.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 5.4.2, “CAN Bus Protocol Support” 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 |
|
|
30000000 |
4.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 |
The enumerated values for Stack Control Connection State
are as follows
-
0 = Disconnected
-
1 = Precharge
-
2 = Connecting
-
3 = Connected
-
4 = Disconnecting
4.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
-
This should equal the number of registers in the component being mapped
-
For example, if the component
stack_cell_soh
has 2 registers (soh
andservice
) then anoffset
of 2 would mean that onlysoh
is reported for each cell, skipping overservice
-
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 |
4.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. |
4.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) |
4.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 |
4.8.2. RS485 Modbus RTU
Refer to Section 5.4.1, “Modbus Protocol Support” 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
-
4.9. Measurement Calibration
The Nuvation Energy BMS provides 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.
4.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.
4.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.
4.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. |
4.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.
-
4.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.
4.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.
4.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.
4.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.
-
4.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 G4 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 G4 Cell Interface module through the Link Bus. |
Refer to Section 4.10.5, “Under-Voltage Lockout” for details on how to configure the under-voltage feature for the Low-Voltage BMS.
4.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.
The actual Link Bus scan period can be observed by reading the register:
sc_linkbus.actual_scan_period
-
-
Actual measured scan period of the Link Bus
-
Value be should be approximately equal to the desired scan period configured in
sc_linkbus.scan_period
-
4.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 |
4.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 26 Hz. Refer to Section 4.10.2, “Cell Voltage Low-Pass Filter” for details on configuration. |
All installed channels are scanned for wiring and circuit problems when the Battery Management System is not in Service Lockout and its contactors are closed.
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
-
4.10.4. Fault Pilot
The Fault Pilot refers to internal hardware control for the Nuvation Energy BMS that is 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 will guarantee that the contactor coils are de-energized, regardless of the state of the coil control software.
In most applications, the Fault Pilot operates as a delayed version of the overall fault state of the BMS. This small delay allows for the opening of contactors according to any delays configured as part of the contactor output settings (Section 4.7.1, “Contactor Outputs”).
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 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)
-
4.10.5. Under-Voltage Lockout
Some Battery Management System products have the hardware feature to shut off the power when the battery is at a critically low voltage level. This feature is referred to as a Under-Voltage Lockout (UVLO).
The Under-Voltage Lockout feature integrates with the same mechanism used by the Shutdown input of the Low-Voltage BMS (Control / GPIO (Connector J5)). When a UVLO condition is detected the Nuvation Energy BMS will initiate its own shutdown.
The Enable input ([lvbms-installation-electrical-control-gpio-bms-enable]) can be asserted to override the UVLO feature and keep the Nuvation Energy BMS powered on to address the UVLO condition. It is possible to configure the Battery Management System to allow the contactors to close and charge the battery from this critically low state. Please contact support@nuvationenergy.com for assistance. |
4.10.5.1. Configuration
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 a cell voltage that is greater than
stack_fault_cell_under.thresh
and less thanstack_fault_cell_lo.thresh
.
-
stack_uvlo_stack_voltage.thresh
-
-
Set to a stack voltage that is greater than
stack_fault_voltage_under.thresh
and less thanstack_fault_voltage_lo.thresh
.
-
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
-
When UVLO is disabled, set both registers sc_gpo_shutdown.address and sc_gpo_shutdown.address_enabled to zero.
|
4.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
1
The G5 Stack Switchgear will perform periodic self checks for its internal clocks 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 G5 Stack Switchgear -
Disabling this fault will prevent the BMS from opening contactors if the G5 Stack Switchgear detects that the unit’s internal clock is not operating properly.
-
4.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
-
The threshold value (RT), calculated in Ω, can be determined using the equation below, where (Rc) is the cell resistance in Ω and (Ncell) is the number of cells connected in series for a stack
-
The value of the BMS register
minimum_resistane_threshold
in μΩ can be calculated by multiplying the value of RT by1000000
-
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
-
4.10.8. Shorted 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
-
The threshold value (Ia), calculated in A, can be determined using the equation below, where (Ifuse) is the fuse rating of the stack in A
-
The value of the BMS register
current_activity_threshold
in mA can be calculated by multiplying the value of Ia by1000
-
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.
-
The threshold value (Va), calculated in V, can be determined using the equation below, where Ia is current activity threshold value calculated above and Rstack is the stack resistance in Ω
-
The value of the BMS register
voltage_activity_threshold
in mV can be calculated by multiplying the value of Va by1000
-
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 6.1.7.1.2, “Clearing the Short Shunt Fault Is Not Immediate” on how to work around this issue.
4.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 G4 Cell Interface expansion module, the temperature consistency check also calculates the smallest and largest measured temperature on the G4 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 G4 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.
4.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 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.
4.10.10. Contactor Life Tracking
Nuvation Energy BMS provides a mechanism to track the life of each contactor and to trigger a fault when it is end-of-life.
The life of each contactor at any given time is determined by the various opening currents the contactor has experienced.
Each contactor can be individually configured for contactor life tracking where ssg_contactor_monitor[n]
and ssg_contactor_life_tracker[n]
corresponds to stack_contactor[n]
.
Typically, a contactor will specify the number of make/break cycles it is rated for within a current range. For example, if contactor XYZ has the following ratings:
-
1000V, 200A max, 50 cycles make/break
-
1000V, 100A max, 6000 cycles make/break
Depending on the application, it may be safe to assume that above a number of rated make/break cycles, contactor life tracking is not required. In this example, we will assume that anything above 6000 cycles does not need to be tracked.
This will translate to the following contactor life tracking configuration:
-
ssg_contactor_monitor[0].enabled = 1
-
ssg_contactor_life_tracker[0].enabled = 1
-
ssg_contactor_life_tracker[0].min_opening_current = 100
-
ssg_contactor_life_tracker[0].max_opening_current = 200
-
ssg_contactor_life_tracker[0].max_rated_current = 199
-
ssg_contactor_life_tracker[0].max_life = 50
Consult with your contactor manufacturer to determine the exact life ratings of the contactors used in your switch gear design. |
A complete list of all contactor life tracking registers is shown below.
ssg_contactor_monitor[n].enabled
-
-
Set to 1 to enable monitoring of contactor
n
for contactor life tracking
-
ssg_contactor_life_tracker[n].enabled
-
-
Set to 1 to enable contactor life tracking for contactor
n
-
ssg_contactor_life_tracker[n].is_precharge
-
-
Set to 1 if the contactor is configured as the pre-charge contactor
-
ssg_contactor_life_tracker[n].current_capture_window
-
-
Window of current samples to consider for an opening current, centered around when the contactor opens. The largest value in this window is used
-
Typical value is 2000000 (2 seconds). This would mean current measurements taken 1 second before and 1 second after the contactor opening event will be considered
-
ssg_contactor_life_tracker[n].min_opening_current
-
-
Minimum opening current, above which the contactor life will increment
-
This is typically set to the minimum current at which the contactor make/break cycles is limited
-
ssg_contactor_life_tracker[n].max_opening_current
-
-
Maximum opening current, above which the contactor is immediately considered end-of-life
-
ssg_contactor_life_tracker[n].max_rated_current
-
-
Current to assume the contactor opened at if the opening event could not be monitored
-
Typically set to between
ssg_contactor_life_tracker[n].min_opening_current
andssg_contactor_life_tracker[n].max_opening_current
-
ssg_contactor_life_tracker[n].max_life
-
-
Maximum life of the contactor, above which the contactor is considered end-of-life
-
This should be set to the number of make/break cycles the contactor is rated for between
ssg_contactor_life_tracker[n].min_opening_current
andssg_contactor_life_tracker[n].max_opening_current
-
ssg_warn_contactor_end_of_life.thresh
-
-
The threshold below which a warning is triggered around the contactor’s remaining life
-
This value is a Percentage, indicating the remaining life of the contactor
-
ssg_fault_contactor_end_of_life.thresh
-
-
The threshold below which a fault is triggered around the contactor’s remaining life
-
This value is a Percentage, indicating the remaining life of the contactor. This should be set to
0
-
Please contact support@nuvationenergy.com if this feature is required for your application’s functional safety.
4.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 |
|
Configures the watchdog timer for the external controller update. The |
4.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 operational information is updated.
Only installed Cell Interface modules 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 |
|
|
Ensures verification of the contactor life data occurs periodically.
The |
|
|
Ensures contactor life is evaluated periodically.
The |
|
|
Ensures contactor monitoring occurs periodically.
The |
5. Operating Instructions
5.1. Operating Limits
5.1.1. Low-Voltage BMS
Exceeding the maximum ratings will damage the Low-Voltage BMS module. |
5.1.1.1. 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 G4 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. |
5.1.1.2. 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 |
Altitude Specifications |
|||||
Aa |
Operating Altitude |
- |
- |
2000 |
m |
The Low-Voltage BMS has been designed to meet the requirements of SAE J2464 (shock) and SAE J2380 (random vibration).
5.1.1.3. 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 reduces the effort of certifying the energy storage solution to meet UL 1973 and UL 9540.
5.1.2. G4 Cell Interface
Exceeding the maximum ratings will damage the G4 Cell Interface module. |
When using a G4 Cell Interface expansion module, please ensure the total maximum stack voltage does not exceed 60 V DC. |
5.1.2.1. 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 |
5.1.2.2. 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 |
Altitude Specifications |
|||||
Aa |
Operating Altitude |
- |
- |
2000 |
m |
5.1.2.3. Standards and Certifications
The G4 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.
Certification/Report | |
---|---|
Stationary Battery Safety |
UL Recognized - UL 1973 (file no. MH64071) |
Functional Safety |
- UL Recognized - UL 991 (file no. MH64071) |
Electrical Safety |
IEC 62368-1:2014 (Second Edition), IEC 62368-3:2017 |
Industrial Immunity |
EN/IEC 61000-6-2 2019 |
Shock and Vibration |
Designed to meet the requirements of SAE J2464 and SAE J2380 |
UL 1973 recognition ensures safe battery operation and significantly reduces the effort of certifying the energy storage solution to meet UL 1973 and UL 9540.
5.2. Status LEDs
When the Low-Voltage BMS 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.
5.2.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.
5.2.2. G4 Cell Interface
The 2 status LEDs on the face of the G4 Cell Interface indicate the functional status of the module.
- Activity
-
This LED indicates that the G4 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.3. Using the Operator Interface
Launch the Operator Interface by opening the Nuvation-Energy-Operator-Interface.html
file in your web browser.
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. |
The Operator Interface will automatically attempt to connect to the default BMS IP (192.168.1.21
) or the last successful BMS IP connection.
If the Operator Interface is unable to connect to the BMS at the assumed IP, a prompt to enter the BMS IP will be displayed. Ensure the computer IP address is on the same network as the BMS IP address. See Section 3.8.2, “Setup PC Network Adapter”.
5.3.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.
5.3.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. |
5.3.1.2. Stack Voltage
The stack voltage radial meter shows the total battery stack voltage.
5.3.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.
5.3.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%.
5.3.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.
5.3.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.
5.3.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.
5.3.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.
5.3.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.
5.3.1.8.2. Connection State
The battery stack connection state is shown in the oval indicator.
Stack Disconnected
in a red oval indicates the SSG contactors are open, and 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.
5.3.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.
5.3.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.
5.3.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.
The SUPPORT button can be used to direct the operator to the Nuvation Energy website to contact Support.
|
5.3.2.1. Addressing
The Addressing accordion presents the addressing information for your Nuvation Energy BMS. Refer to Appendix F, BMS Network Configuration for details on how to change your Nuvation Energy BMS IP address.
5.3.2.2. Battery
The Battery accordion contains values on the overall battery stack and 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 radial gauges, the bar gauges and the Information Table on the Dashboard.
5.3.2.3. Contactor Life
The Contactor Life accordion contains values that track the life of contactors. See Contactor Life Tracking for further information.
5.3.2.4. SoC Calibration
The State of Charge Calibration accordion allows for calibration of SoC and reset of the measured capacity estimate. This accordion is only visible if the OCV is enabled (stack_soc.ocv_enabled). Both of these operations are only enabled when the battery is operational (not in service lockout) but disconnected (stack_control.actual_state == 0).
5.3.2.4.1. Charge Calibration
SoC charge calibration resets the SoC based on the open-circuit voltage curve. More specifically, it uses the measured voltage in the cell and the OCV curve to calculate a cell level SoC estimate. The SoC estimates are aggregated to determine the stack level SoC that is seen on the dashboard. Since the SoC calibration uses the OCV, the curve needs to be enabled.
A user can reset the SoC only if the stack is disconnected. For chemistries like LFP, it is also beneficial to wait 1 hour after disconnection before resetting the SoC. This will allow the battery to relax and reach equilibrium before a reset calculation is conducted. Although it is recommended to wait 1 hour, the period is not enforced on the Operator Interface.
The SoC reset is used to provide a rough initial estimate of SoC before a calibration can occur. This is usually when the BMS is initially connected and setup up. It should not be used as a replacement for SoC calibration, which can be done by charging the battery to FULL.
5.3.2.4.2. Capacity Reset
Capacity calibration resets the SoC to the nominal capacity. Note that if the stack is imbalanced, it will update the nominal capacity to account for this imbalance. This is done by calculating the SoC for each cell.
The recommendations for SoC calibration described above can be followed here as well for determining when to do a capacity reset.
The user should reset the capacity if the measured capacity value is significantly different from the nominal capacity and the battery degradation is known. Once again, the reset provides a rough capacity estimate. The ideal approach for determining measured capacity is to conduct a charge to FULL and a discharge to EMPTY calibration cycle.
5.3.2.5. Safety
The Safety accordion contains a comprehensive list of all possible Nuvation Energy BMS faults, warnings and user triggers as well as the overall status of the battery stack.
An active fault is shown as Tripped
.
An active warning or user trigger is shown as Triggered
.
A fault, warning or user trigger that has not completed its Self Check is shown as Checking
.
In normal operation, all user triggers, warnings and faults should be Clear
.
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.
Clicking on the Generate Report
button at the bottom of this accordion will generate a safety report JSON file with a list of the Nuvation Energy BMS faults and warnings and their current state as well as the current firmware versions.
5.3.2.6. 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 G4 Cell Interface expansion module is installed, then CI2 would refer to the first G4 Cell Interface installed.
|
5.3.2.6.1. Filtering
You can filter the display to highlight cells with voltages above or below a value you specify. The values that match the criteria will be bolded and all other values will be faded.
5.3.2.7. 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 G4 Cell Interface expansion module is installed, then CI2 would refer to the first G4 Cell Interface installed.
|
5.3.2.7.1. Filtering
You can filter the display to highlight cells with temperatures above or below a value you specify. The values that match the criteria will be bolded and all other values will be faded.
5.3.2.8. 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 G4 Cell Interface expansion module is installed, then CI2 would refer to the first G4 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 G4 Cell Interface - 12 channel or G4 Cell Interface - 16 channel modules or G4 Cell Interface - 12V 4 channel modules, they will display different diagnostics information.
5.3.2.8.1. Filtering
Use the filter to highlight ratios of Voltage that are above or below the specified value. The values that match the criteria will be bolded and all other values will be faded.
5.3.2.9. Resistance
The Resistance accordion contains cell resistance estimate values of every installed cell. This accordion is only visible if the cell model estimator is enabled (stack_cell_model_estimator.enabled). See Cell Resistance Estimation for further information.
Filtering is available for resistance values. Use the filter to highlight resistance values that are above or below the specified value. The values that match the criteria will be bolded and all other values will be faded.
5.3.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
5.3.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.
5.3.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 5.3.5, “Understanding the Service Lockout and Self Check”.
5.3.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 3.9.2, “Import the Configuration File” for instructions.
If you need to generate a configuration file, refer to Section 3.9.1, “Generate Configuration File” for instructions.
5.3.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
5.3.3.2.3. Upgrade
This is restricted option requiring the Operator Interface to be unlocked to access this option. |
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 5.3.5, “Understanding the Service Lockout and Self Check” for more details.
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. |
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. |
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. |
5.3.3.2.4. Updating a Label
A label is the string displayed on the top banner of the Operator Interface. An owner can configure a name for each stack using the label. When the Operator Interface connects to a stack the operator knows immediately what stack they are connected to.
To update a label:
-
From the menu, select
Service
-
Click
Edit
under the label section
-
Enter a suitable name for the stack
-
Click
Apply
The Operator Interface automatically saves the label in persistent storage when applied. |
A label does not handle spaces. Use hyphens or underscores to delineate words. |
5.3.3.2.5. Editing an IP Address
To edit an IP address:
-
From the menu, select
Service
-
Click
Edit
under the ethernet section
-
Enter the IP address of your choice
-
Click
Apply
The updated IP is saved and in immediate use after the Apply action. Any prior connections via Modbus TCP would have to be reconnected using the updated IP.
|
Applying changes will disconnect the battery and restart the BMS. |
5.3.3.3. Connection
The connection page 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.
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. |
5.3.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.
5.3.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.
5.3.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.
5.3.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. |
5.3.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.
5.3.4.1. Service Lockout Indication
When the system is either entering or is in service lockout, a banner is displayed indicating this to the user.
5.3.4.2. Self Check Indication
When the system is either exiting service lockout or has just booted, the system will execute a Self Check to verify a safe operation. A banner is displayed indicating the Self Check execution to the user.
5.3.4.3. 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.
5.3.5. Understanding the Service Lockout and Self Check
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 set all faults and warnings as tripped.
A Self Check is a self-test that is executed when:
-
Exiting Service Lockout
-
When booting the Battery Management System
A Self Check is a verification to make sure that the configured Battery Management System is ready for operation. A Battery Management System remains in Self Check until the issues preventing a successful Self Check are corrected. Refer to Section 5.3.5.3, “Self Check” for further details about the Self Check.
The status for the Service Lockout and Self Check are displayed in the status banner of the Operator Interface as indicated in Section 5.3.4, “The Status Banner” |
5.3.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
Enter Service Lockout
to enter Service Lockout
Entering Service Lockout will open all contactors and GPOs and halt all cell voltage/temperature and stack voltage/current data acquisition. |
When in Service Lockout, you will not be able to access the Operator Interface dashboard. |
5.3.5.1.1. 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 the Enable input is asserted, ([lvbms-installation-electrical-control-gpio-bms-enable]) , 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.
5.3.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 |
-
A
Self Check
will be initiated and its banner will be displayed on the Operator Interface. Refer to Section 5.3.4.2, “Self Check Indication” for banner details.
5.3.5.3. Self Check
The Self Check verifies that all configured data inputs for the faults and warnings of the Battery Management System are being received. The Battery Management System will remain in Self Check until all these data inputs are received. The Self Check is executed continuously unless the Battery Management System is returned back to Service Lockout. If the issue(s) that were preventing a successful Self Check are corrected, the Battery Management System will enter operation. You will be able to access the dashboard controls once Nuvation Energy BMS has successfully completed the Self Check.
5.3.5.4. Self Check Troubleshooting
If Nuvation Energy BMS fails its Self Check, you will receive an error notification. The reason for the failure is that some form of input to the Battery Management System was not received. 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 data, 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 Self Check failures:
-
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 or faulty)
You can identify the parts of the Battery Management System that have not completed their Self Check by referring to the Details > Safety
accordion section.
The faults/warnings that are currently failing Self Check are indicated by the red text "Checking" on the right side of the display.
Refer to Section 6.1, “Faults and Self Check Failures” for details on on how to address the Self Check failures.
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. |
5.4. Communication Protocols
5.4.1. Modbus Protocol Support
Low-Voltage BMS implements the SunSpec Energy Storage Models (Draft 3) as the top-level Modbus interface to the product. Specifically the Low-Voltage BMS implements the 800 series Models.
5.4.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. |
5.4.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).
5.4.1.3. Implemented SunSpec Energy Storage Models
The SunSpec Energy Storage Models 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. The SunSpec Information Model Reference (SunSpec-Energy-Storage-Information-Models_Draft_3.xlsx) is available for download under the Low-Voltage BMS section on the Nuvation Energy technical resources page located at https://www.nuvationenergy.com/technical-resources.
5.4.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. The Modbus address of this model is 40000. Table 32, “Common Model Points” describes the points of the Common Model as implemented in the BMS. A full description of the Common Model can be found in the SunSpec specification bundle.
Point Name | Address | Description | Note |
---|---|---|---|
SunSpec_ID |
40000 |
Identifies this as a SunSpec Modbus Map |
Set to 0x53756e53 |
ID |
40002 |
Identifies Common Model Block |
Set to 0x0001 |
L |
40003 |
Length of block |
Set to 66 |
Mn |
40004 |
Device Manufacturer |
Set to "Nuvation Engineering" |
Md |
40020 |
Device Model Number |
Contents of BMS registers |
Opt |
40036 |
Options |
Set to "Fully Loaded" |
Vr |
40044 |
Version Information |
Contents of the |
SN |
40052 |
Device Serial Number |
Contents of BMS registers |
DA |
40068 |
Device Address |
Set to 0x1234 |
5.4.1.3.2. 801 (Energy Storage Base Model)
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.
5.4.1.3.3. 802 (Battery Base Model)
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.
5.4.1.3.4. 803 (Lithium-Ion Battery Model)
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.
5.4.1.3.5. End Model
This model marks the end of the implemented Modbus address space.
5.4.1.4. SunSpec Energy Storage Models Structure and Nomenclature
This section is a clarification of terms used to describe SunSpec Energy Storage Models. It is used to understand the terminology in the spreadsheet presented in the previous section.
5.4.1.4.1. Points
All SunSpec Energy Storage 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 one Modbus register, partial read accesses are not allowed. A Modbus request to a SunSpec point must read all registers that make up the point. Otherwise, a Modbus read/write error is returned on such an access.
For example, the SunSpec 802 model has the Evt1
point which is of type bitfield32
.
In this case, the point spans 2 Modbus registers and so a request to read this point must read 2 Modbus registers.
5.4.1.4.2. Fixed/Repeating Blocks
SunSpec Energy Storage 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.
5.4.1.4.3. Unimplemented Points
Any SunSpec 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 SunSpec point that is unimplemented will generate a Modbus write error.
The SunSpec implementation on Nuvation Energy BMS has unimplemented points as follows:
Model | Point Name | Description |
---|---|---|
801 |
Evt |
Event status bitfield |
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 |
5.4.1.4.4. Scale Factors
All SunSpec 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 SunSpec 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 SunSpec Energy Storage Models spreadsheet for the relationship between Points and their scale factors. All scale factors are fixed for a Model and do not change in value.
5.4.1.5. Operational Cases for SunSpec Modbus Interface
There are two main operational cases for the control of Nuvation Energy BMS over its SunSpec 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 SunSpec 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).
The shortest polling periods expected for the SunSpec Energy Storage Models during operation are listed below:
-
All fixed model blocks: 100ms
-
801: less than 100ms
-
802: less than 100ms
-
803 Fixed Block: less than 100ms
-
803 Repeating Block(s): less than 100ms (single block)
Depending on BMS system load and size, some requests could take up to 1000ms. The BMS typically samples data at between 250ms to 1000ms depending on configuration, so reading the data faster than this will not improve system behaviour and incurs unnecessary overhead.
These two operational cases will be discussed in detail in the following sections.
5.4.1.5.1. External Controller Communicating Over SunSpec Modbus 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 SunSpec 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 SunSpec Energy Storage Models 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.
5.4.1.5.2. External Nuvation Energy BMS Monitoring Over SunSpec 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 SunSpec Energy Storage Models 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 |
BMinModTmpLoc |
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 bitfield 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.
|
5.4.1.6. Accessing SunSpec Energy Storage Models
SunSpec Energy Storage 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 SunSpec 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 SunSpec 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 802 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
5.4.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
5.4.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 4.8.1, “CAN Bus”.
5.4.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. All register data is transmitted as little-endian (least significant byte first).
5.4.2.3. Data Size
The size of the register data transmitted/received in a CAN frame will depend on 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 4.1.2, “Units”.
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 5.3.3.1, “Registers”
6. Troubleshooting
6.1. Faults and Self Check Failures
During initial setup and usage of a Nuvation Energy BMS, there are two main classes of failures that prevent stack connection:
-
'Self Check' failures
-
Triggering of faults
When either of these failures occur, an operator of the Operator Interface can open the Details > Safety accordion
(Section 5.3.2.5, “Safety”).
That screen presents a list of faults, warnings and user triggers which can have the following states:
Self Check State | Faults, Warnings, User Triggers | States of Faults, Warnings, User Triggers |
---|---|---|
Incomplete Self Check |
Faults, Warnings, User Triggers |
Checking |
Completed Self Check |
Faults |
Clear or Tripped |
Completed Self Check |
Warnings or User Triggers |
Clear or Triggered |
All faults, warnings and user triggers that are in a Checking state indicate that the Self Check operation is still executing. All fault, warning, and user triggers in this state are not receiving all of their configured input data. The Self Check will continue to execute when there is still at least one fault,warning or user trigger in the Checking state. The contactors are not allowed to close while the Self Check is executing.
After the Self Check has completed and when one or more faults are in the Tripped state, the Nuvation Energy BMS enters its faulted state and opens all contactors. The contactors can not be commanded to close again until all faults are back in the Clear state.
This section will describe the condition the fault monitors and the meaning when that fault has triggered. In addition this section describes how the Self Check failures can occur for the different classes of faults/warnings/user.
In general, all warnings and user triggers 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 or user trigger.
Each fault has a descriptive name (e.g. Cell Over Voltage) and a name for the corresponding trigger component (e.g. stack_fault_cell_over
).
Both names are shown on the details tab of the OI, refer to Section 5.3.2.5, “Safety” for details.
6.1.1. Cell Voltage Faults
- Cell Over Voltage |
stack_fault_cell_over
-
-
Fault that is triggered when an installed cell voltage is above the over fault threshold.
-
- Cell High Voltage |
stack_fault_cell_hi
-
-
Fault that is triggered when an installed cell voltage is above the high fault threshold.
-
- Cell Low Voltage |
stack_fault_cell_lo
-
-
Fault that is triggered when an installed cell voltage is below the low fault threshold.
-
- Cell Under Voltage |
stack_fault_cell_under
-
-
Fault that is triggered when an installed cell voltage is below the under fault threshold.
-
6.1.1.1. Self Check Issues
These faults could fail Self Check through a number of possible conditions such as:
-
Missing or misconfigured Low-Voltage BMS or G4 Cell Interface modules, preventing the software from completing a full scan of the cell voltage and temperature measurements.
-
Misconfiguration on the number of Low-Voltage BMS or G4 Cell Interface modules. Refer to the register
sc_linkbus.cicount
. (Note that Low-Voltage BMS is counted as one G4 Cell Interface). -
Incorrect Low-Voltage BMS or G4 Cell Interface configuration. For example if the type of Low-Voltage BMS or G4 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 completing a Self Check. Such a failure could happen if:
-
Not all G4 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 G4 Cell Interface expansion module.
-
Please refer to the Nuvation Energy Low-Voltage BMS: NUV300 Datasheet on the minimum cell voltage required.
-
6.1.2. Stack Voltage Faults
- Stack Over Voltage |
stack_fault_voltage_over
-
-
Fault that is triggered when the stack voltage is above the over fault threshold.
-
- Stack High Voltage |
stack_fault_voltage_hi
-
-
Fault that is triggered when the stack voltage is above the high fault threshold.
-
- Stack Low Voltage |
stack_fault_voltage_lo
-
-
Fault that is triggered when the stack voltage is below the low fault threshold.
-
- Stack Under Voltage |
stack_fault_voltage_under
-
-
Fault that is triggered when the stack voltage is below the under fault threshold.
-
- Voltage Sum Check |
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.
-
6.1.2.1. Self Check Issues
These faults have the following Self Check issues:
Fault | Self Check Issues |
---|---|
|
Power Interface subsystem’s AFE is configured to be disabled |
|
|
|
Same issues regarding cell voltage Self Check issues (Section 6.1.1.1, “Self Check Issues”) |
6.1.3. Thermal Faults
- Discharge Under Temperature |
stack_fault_discharge_therm_over
-
-
Fault that is triggered when any thermistor measurement is above the over fault threshold during discharge.
-
- Discharge High Temperature |
stack_fault_discharge_therm_hi
-
-
Fault that is triggered when any thermistor measurement is above the high fault threshold during discharge.
-
- Discharge Low Temperature |
stack_fault_discharge_therm_lo
-
-
Fault that is triggered when any thermistor measurement is below the low fault threshold during discharge.
-
- Discharge Under Temperature |
stack_fault_discharge_therm_under
-
-
Fault that is triggered when any thermistor measurement is below the under fault threshold during discharge.
-
- Charge Over Temperature |
stack_fault_charge_therm_over
-
-
Fault that is triggered when any thermistor measurement is above the over fault threshold during charge.
-
- Charge High Temperature |
stack_fault_charge_therm_hi
-
-
Fault that is triggered when any thermistor measurement is above the high fault threshold during charge.
-
- Charge Low Temperature |
stack_fault_charge_therm_lo
-
-
Fault that is triggered when any thermistor measurement is below the low fault threshold during charge.
-
- Charge Under Temperature |
stack_fault_charge_therm_under
-
-
Fault that is triggered when any thermistor measurement is below the under fault threshold during charge.
-
6.1.3.1. Self Check Issues
All of the temperature measurements are communicated through over the Link Bus using the same mechanism as the cell voltages. Thus, the Self Check failures for the temperature measurements are exactly the same. Refer to Section 6.1.1.1, “Self Check Issues” for further details.
6.1.4. Stack Current Faults
- Discharge Over Current |
stack_fault_discharge_current_over
-
-
Fault that is triggered when the stack current is above the over discharge fault threshold.
-
- Discharge High Current |
stack_fault_discharge_current_hi
-
-
Fault that is triggered when the stack current is above the high discharge fault threshold.
-
- Charge High Current |
stack_fault_charge_current_hi
-
-
Fault that is triggered when any stack current is above the high charge fault threshold.
-
- Charge Over Current |
stack_fault_charge_current_over
-
-
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. |
6.1.4.1. Self Check Issues
The stack current is measured from the Power Interface subsystem’s Analog Front End (AFE). The following issues can contribute to these faults failing a Self Check:
-
Power interface subsystem AFE is not enabled.
-
Communication failure between the stack controller subsystem and power interface subsystem.
6.1.5. Pre-charge Faults
- Pre-charge Timeout |
stack_fault_precharge_timeout
-
-
Fault that is triggered at the end of the pre-charge period. Reasons for fault include:
-
Pre-charge Error Code | Error Code Description |
---|---|
1 |
The delay set by |
2 |
The measured current exceeds |
-
The value of
stack_control.precharge_error
(listed above) can be used to determine the reason for triggering the fault.- Pre-charge Over Current |
stack_fault_precharge_over_current
- Pre-charge Over Current |
-
Fault that is triggered at any time during the pre-charge connection period if the stack current exceeds the fault threshold.
6.1.5.1. Self Check Issues
These faults are directly related to the current faults detailed previously. Refer to Section 6.1.4.1, “Self Check Issues” for details.
6.1.6. Contactor Faults
- Contactor Coil Drive Check |
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.
-
- Contactor Feedback Check |
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.
-
- Fault Pilot Check |
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.
-
sc_fault_fault_pilot_state_mismatch.time_hyst must be set to at least 500ms.
|
6.1.6.1. Self Check Issues
All of these faults are dependent on the stack bus communication between the
The following table summarizes these Self Check issues:
Fault | Self Check Issues |
---|---|
|
Stack Bus failure |
|
Stack Bus failure |
|
Power interface subsystem’s AFE disabled. |
|
GPI not configured |
A stack bus is internal to the Low-Voltage BMS product. Please contact support@nuvationenergy.com if you are experiencing these faults. |
6.1.7. Diagnostics Faults
- Cell Open Wire Test |
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.
-
- Cell Open Wire Test |
stack_warn_cell_open_wire
-
-
Warning triggering on the same data as
stack_fault_cell_open_wire
.
-
- Thermistor Circuit Test |
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 G4 Cell Interface module.
-
This can also trip due to misconfigured or incorrectly installed thermistors.
-
- Thermistor Consistency Check |
stack_fault_ci_therm_consistency
-
-
Fault indicating the difference between thermal readings on the Low-Voltage BMS or on the expansion G4 Cell Interface module is too large.
-
- Cell Interface Measurement Check |
sc_fault_ci
-
-
Fault indicating there was an internal hardware failure on the Low-Voltage BMS or on the expansion G4 Cell Interface module.
-
- Current Shunt Open Wire Check |
stack_fault_open_shunt
-
-
Fault indicating the current shunt is open circuit.
-
- Current Shunt Short Circuit Check |
stack_fault_short_shunt
-
-
Fault indicating the current shunt has become a short circuit.
-
When experiencing difficulty clearing this fault, please refer to Section 6.1.7.1, “Known Issues”.
-
- Contactor End-Of-Life |
ssg_fault_contactor_end_of_life
-
-
Fault indicating a contactor is end-of-life.
-
Contact support@nuvationenergy.com if this fault has tripped.
-
- Stack Switchgear Contactor Life Sanity Check |
ssg_fault_contactor_life_sanity_check
-
-
Fault indicating a sanity check error on the contactor life data.
-
- Stack Switchgear Contactor Life Memory Error |
ssg_fault_config_contactor_life
-
-
Fault indicating an error saving or loading the contactor life data.
-
- Stack Switchgear Contactor Life Memory Check |
ssg_fault_config_contactor_life_verify
-
-
Fault indicating a validation error on the contactor life data.
-
6.1.7.1. Known Issues
6.1.7.1.1. Short Shunt Fault on Self Check
- Issue
-
In rare occasions, the
stack_fault_short_shunt
can accidentally trip when performing a Self Check. 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 performing a Self Check 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 5.3.2.5, “Safety”.
6.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.
6.1.7.2. Self Check Issues
The stack_fault_cell_open_wire
, stack_fault_therm_circuit_fail
, stack_fault_ci_therm_consistency
, and sc_fault_ci
can fail a Self Check due to problems with the Link Bus.
Refer to Section 6.1.1.1, “Self Check Issues” for further details.
The stack_fault_open_shunt
and stack_fault_short_shunt
can fail a Self Check if the associated algorithms are not enabled,
the power interface subsystem’s AFE is not enabled,
or there is Stack Bus communication errors.
6.1.8. Breaker Faults
- Breaker Tripped Check |
stack_fault_breaker_tripped
-
-
Fault that is triggered to indicate that the breaker has tripped.(i.e. opened)
-
- Breaker Conflict Check |
stack_fault_breaker_conflict
-
-
Fault that is triggered to indicate that the breaker state differs from the expected state of the breaker.
-
6.1.8.1. Self Check Issues
Most Self Check failures for these faults are caused by an invalid configuration of the GPI(s) used to read the breaker state.
6.1.9. Watchdog Faults
- Power Interface Measurement Watchdog |
stack_fault_power_wdt
-
-
Fault indicating stack voltage and current data has not been updated periodically.
-
- Cell Voltage Measurement Watchdog |
stack_fault_cell_wdt
-
-
Fault indicating all cell data has not been updated periodically for every installed cell.
-
- Temperature Measurement Watchdog |
stack_fault_therm_wdt
-
-
Fault indicating all thermistor data has not been updated periodically for every installed thermistor.
-
- Cell Interface Measurement Watchdog |
stack_fault_ci_wdt
-
-
Fault indicating G4 Cell Interface data has not been updated periodically for every installed G4 Cell Interface.
-
- Cell Open Wire Measurement Watchdog |
stack_fault_open_wire_wdt
-
-
Fault indicating open wire scanning has not been occurring periodically when connected to the DC bus.
-
- Controller Heartbeat Watchdog |
sc_fault_controller_wdt
-
-
Fault indicating that an external controller to the Battery Management System was not updating its watchdog timer (via the SunSpec heartbeat).
-
- Controller Heartbeat Watchdog |
sc_warn_controller_wdt
-
-
Warning triggered from the same data as
sc_fault_controller_wdt
.
-
- StackBus Receive Watchdog |
sc_fault_stackbus_rxwdt
-
-
Fault indicating that there was a receive communication failure over the Stack Bus.
-
- StackBus Transmit Watchdog |
sc_fault_stackbus_txwdt
-
-
Fault indicating that there was a transmit communication failure over the Stack Bus.
-
- Power Interface AFE Watchdog |
sc_fault_pi_afe_wdt
-
-
Fault indicating that there was a communication failure between the AFE and the power interface subsystem.
-
- LinkBus Communication Watchdog |
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.
-
- Stack Controller RAM Test Watchdog |
sc_fault_ram_test_wdt
-
-
Fault indicating the internal RAM testing has not been executing periodically.
-
- Stack Controller ROM Test Watchdog |
sc_fault_rom_test_wdt
-
-
Fault indicating the internal ROM testing has not been executing periodically.
-
- Stack Controller Factory Configuration |
sc_fault_factory_verify_wdt
-
-
Fault indicating the factory registers on the stack controller subsystem
-
6.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. |
6.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 3.8.2, “Setup PC Network Adapter” for instructions.
-
6.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 3.8.2, “Setup PC Network Adapter” 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: Ordering Information
Low-Voltage BMS
Product part numbers for ordering a Low-Voltage BMS are listed in Table 39, “Low-Voltage BMS Ordering Information”.
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) |
G4 Cell Interface
Product part numbers for ordering a G4 Cell Interface are listed in Table 40, “G4 Cell Interface Ordering Information”. Accessory kits are listed in Table 41, “G4 Cell Interface Accessory Kits Ordering Information”.
G4 Cell Interface kits—which include the G4 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 |
G4 Cell Interface - 12 channel, Bulkhead |
NUV100-CI-12-U |
G4 Cell Interface - 12 channel, PCB assembly only (no enclosure) |
NUV100-CI-12-KIT |
G4 Cell Interface Kit - 12 channel |
NUV100-CI-16-1 |
G4 Cell Interface - 16 channel, Bulkhead |
NUV100-CI-16-U |
G4 Cell Interface - 16 channel, PCB assembly only (no enclosure) |
NUV100-CI-16-KIT |
G4 Cell Interface Kit - 16 channel |
Part Number | Product Name |
---|---|
NUVP-CI-DIN-MB |
G4 Cell Interface Mounting Bracket (Bulkhead-to-DIN) |
Appendix B: External Interfaces
Low-Voltage BMS
Four of the connectors use an RJ45 connector:
Table 42, “RJ45 Plug Details” 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 |
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 |
G4 Cell Interface |
8 |
LINKBUS_P |
Link Bus differential pair positive |
G4 Cell Interface |
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 |
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 |
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 |
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 |
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 8, “Connection example for powering the Low-Voltage BMS from cells” and Figure 12, “Connection example for powering the Low-Voltage BMS from external DC power source” 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 |
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 |
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 |
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 |
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 4.10.9, “Temperature Consistency Check”.
G4 Cell Interface
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 G4 Cell Interface - 12 channel model.
Pins 2, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, and 17 are No Connect
in the G4 Cell Interface - 12V 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 G4 Cell Interface - 12 channel model and pins 2, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, and 17 in the G4 Cell Interface - 12V 4 channel model.
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the G4 Cell Interface modules. The temperature sensing wires must be isolated from the cell voltage sensing leads. Although the G4 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 G4 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 |
Battery Cell Connector for G4 Cell Interface - 12 channel
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
CELL0 |
Bottom reference of G4 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 |
Battery Cell Connector for G4 Cell Interface - 16 channel
Pin | Connection | Description | Connected to Device |
---|---|---|---|
1 |
CELL0 |
Bottom reference of G4 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 |
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 G4 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 G4 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 G4 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 |
Thermal Consistency
For safety certified systems, there is an additional constraint on thermal consistency for all temperature measurements for each G4 Cell Interface. The constraint is described in detail in Section 4.10.9, “Temperature Consistency Check”.
Link In
This interface is used, with a Link Bus cable, to connect a single G4 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 G4 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 |
Link Out
This interface is used to provide a data channel to subsequent G4 Cell Interface modules in the Link Bus chain.
Connect this interface to the Link In connector on the subsequent G4 Cell Interface module in the Link Bus chain. The Link Out interface of the last G4 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 G4 Cell Interface module in the Link Bus chain |
2 |
COM |
Power return from Low-Voltage BMS |
Subsequent G4 Cell Interface module in the Link Bus chain |
3 |
IPA |
Link Bus differential pair plus |
Subsequent G4 Cell Interface module in the Link Bus chain |
4 |
IMA |
Link Bus differential pair minus |
Subsequent G4 Cell Interface module in the Link Bus chain |
Appendix C: 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 to one of theCOMIO
wires -
Boot the Low-Voltage BMS and continue to short the
FACTORY_RESET#
input toCOMIO
for 2 seconds -
De-asserted the
FACTORY_RESET#
input by disconnecting it fromCOMIO
-
The process of asserting and de-asserting the
FACTORY_RESET#
input should all happen within the first 10 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 D: 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.
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.
Security
This section is provided as guidance only and experts in security and the broader system must be consulted on any security decisions. |
Security for the entire system and site must be considered, not just for individual Nuvation Energy products. |
It is recommended evaluating each site and system to assess the risk level and impacts of the system not operating properly. Security restrictions protect against both accidental misuse and intentional attacks. Each added layer of security will impact the ability to diagnose and resolve system problems and analyze system performance. The costs of system security should be proportional to the risk level of that system.
The sections below outline the best practices for maintaining a secure system.
Physical Security
Physical security measures are designed to deny unauthorized physical access to Nuvation Energy products and the larger systems. Physical security can include barriers, locks, access control, surveillance, guards, intrusion detection/alarms, and other physical security systems.
Ensuring all equipment is physically secure is the first and most important step in protecting the system. Below are some recommended best practices for the physical security of the products:
-
Nuvation Energy products should be physically secured in a locked enclosure, room, or building to restrict access. This physically secured area will be referred to as the 'secure zone'.
-
The 'secure zone' access should be restricted to authorized personnel only.
-
Authorized personnel should be trained to operate the equipment and follow the security process.
-
Any unauthorized personnel should be supervised at all times.
Outside the products themselves, access to equipment and connections should also be secured, such as:
-
Cells/battery modules
-
PCS/inverters
-
SCADA systems
-
UPS/emergency power equipment
-
High and low power cables and measurement wires
-
Communication cables (i.e. Ethernet, USB, Linkbus, Stackbus, etc.)
-
Networking equipment (i.e. routers, switches, transceivers, etc.)
-
Buttons/control panels (i.e. E-stop, touchscreens, etc.)
-
Any other critical equipment/connections that might compromise the site
Network Security
The networking on Nuvation Energy products uses Ethernet-based TCP/IP communications. Throughout this section, references to the nController apply to both Nuvation Energy Multi-Stack Controller and Energy Management System products. A network security analysis for any third party equipment on the network should be conducted in consultation with the equipments' manufacturer. Below are some recommended best practices for network security of Nuvation Energy products:
-
Nuvation Energy products should be on an isolated network where only trusted equipment can operate, and trusted personnel can access. This network will be referred to as the 'secure network'.
-
The 'secure network' should be within the 'secure zone' (see the Physical Security for details)
-
The 'secure network' should be established through either a:
-
Physically isolated network (i.e. no connection to any other network, otherwise known as 'air gapped')
-
Firewall isolated network (i.e. router, smart switch, or other equipment with packet filtering to the 'secure network')
-
-
The nController should be used to isolate the stack BMSs from the site network through the nController 'Internal/Bridge' network. These two networks must be isolated on separate subnetworks with separated IP address ranges.
An example of a 'secure network' topology with a router based firewall, Multi-Stack Controller, and Nuvation Energy stack BMS units isolated on the 'Internal/Bridge' network is below:
Inbound Protocols and Ports
All the open ports listening on the Low-Voltage BMS with the network protocols are listed below. Unless specified, the protocols are not encrypted or authenticated.
-
TCP Port 80 (HTTP)
-
TCP Port 502 (Modbus)
-
TCP Ports 8080/8081 (Multi-Stack Controller Bridge)
Outbound Protocols
All Nuvation Energy products implement the essential outbound services for proper operation with modern networking equipment, listed below. Unless specified, the protocols are not encrypted or authenticated.
-
Broadcast on network segment (ARP, STP)
-
UDP Port 67/68 (DHCP)
Blocking outbound protocols can be done in a similar way to inbound protocols (i.e. firewalls). For more information on the above services and to configure or disable services, contact support@nuvationenergy.com. Some services such as mDNS cannot be disabled.
Operator Interface Unlock Password
The Operator Interface for both single and multi-stack systems can be configured with a password which restricts some features in the products. The unlock password protects against accidental misuse of the products during normal operation.
The Operator Interface uses HTTP which does not encrypt connections and requires a secured network to protect against malicious intent. |
Appendix F: 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 C, Factory Reset 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
-
-
Follow the instructions in Section 5.3.3.2.5, “Editing an IP Address” to update the IP.
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