The content in this document must be followed in order to ensure safe operation of Nuvation Energy BMS.

The G5 High-Voltage BMS is to be installed in a location with restricted access. Only skilled persons may install or service a system containing hazardous voltages that may be present when the system is energized.
Do NOT energize the system until all connections to the G5 Stack Switchgear unit and G5 Cell Interface modules have been made.
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the G5 Cell Interface modules. The temperature sensing must be isolated from the cell voltage sensing and Earth. Wiring errors can cause damage to the G5 Cell Interface and/or the cells.
Properly insulate or remove any unused wires. Unused wires can couple excessive system noise into Nuvation Energy BMS which can disrupt communication and lead to undesirable behaviors.
Nuvation Energy BMS relies on your system charger to charge the battery cells; do not leave your charger off while Nuvation Energy BMS is powered from the stack for prolonged periods of time. Nuvation Energy BMS should be shut down when the system is in storage to minimize the drain on the cells.
Insulated handling is required of any connector carrying potentials over 60 V DC relative to chassis.
Please be aware of high voltages present in your system and follow all necessary safety precautions.
The provided module enclosures are not fire enclosures.

1. Introduction

Thank you for choosing Nuvation Energy.

Designed specifically for lithium-ion battery chemistries, the Nuvation Energy new fifth-generation Battery Management System supports up to 1500 V DC battery stacks and modules that use cells in the 1.6 V - 4.3 V range. The G5 High-Voltage BMS offers cutting edge features such as continuous cell balancing and the ability to manage 24 battery cells with each series connected G5 Cell Interface module.

1.1. About this Manual

This Nuvation Energy G5 High-Voltage BMS: NUVG5 Product Manual is a comprehensive manual, providing:

  • Details about all the features offered by your Nuvation Energy G5 High-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

This document applies to Nuvation Energy BMS Faraday Update 1 software release (Firmware version 5.8.0, Operator Interface version 1.0.1). Content may be inaccurate or incomplete for other versions.

We thrive on your feedback and what we build is driven by your input.
Please submit support tickets to support@nuvationenergy.com.

2. Product Overview

The Nuvation Energy G5 High-Voltage BMS provides cell-level and stack-level control for battery stacks up to 1500 VDC and modules that use cells in the 1.6 V - 4.3 V range. The G5 Stack Switchgear and G5 Cell Interface modules operate together as a complete system called the G5 High-Voltage BMS.

g5 hvbms montage
Figure 1. G5 High-Voltage BMS.

Both Nuvation Energy G5 Stack Switchgear and G5 Cell Interface are designed to enable UL 1973 certification of the battery stack. The UL 1973 Recognized Nuvation Energy BMS in each stack ensures safe battery operation and significantly reduces the effort of certifying the Energy Storage System to meet UL 1973 and UL 9540.

g5 sample application
Figure 2. Sample ESS Application
Single Stack

Typically, a single battery stack requires one G5 Stack Switchgear and one or more G5 Cell Interface modules.

The Nuvation Energy G5 Stack Switchgear unit manages a single battery stack and connects it to the DC bus of the energy storage system. The G5 Stack Switchgear is a pre-configured assembly that incorporates the major functions of Nuvation Energy G5 High-Voltage BMS into a rack-mountable unit which includes stack monitoring, electrical disconnects, pre-charging, current sensing, fuses, and fan control.

The Nuvation Energy G5 Cell Interface modules in each stack connect directly to battery cells to measure cell voltages and temperatures and provide cell balancing.

Multi-stack

In a multi-stack G5 High-Voltage BMS configuration, as shown in below, each G5 Stack Switchgear unit is responsible for monitoring the state and safety of one battery stack. All G5 Stack Switchgear units connected to a single common DC bus in the system may be managed by a single Nuvation Energy Multi-Stack Controller and operated via the Nuvation Energy Operator Interface. The Operator Interface GUI provides a unified view and central control of multi-stack system.

g5 hvbms multi stack diagram
Figure 3. G5 High-Voltage BMS multi-stack diagram

2.1. G5 Stack Switchgear

The following variants of the Nuvation Energy G5 Stack Switchgear are available:

  • G5 Stack Switchgear, 1500 V, 200 A

  • G5 Stack Switchgear, 1500 V, 300 A

  • G5 Stack Switchgear, 1500 V, 350 A

Within a battery stack, the G5 Stack Switchgear connects to the daisy-chained Nuvation Energy G5 Cell Interface modules. The G5 Cell Interface modules convert cell voltage and temperature measurements to digital values to be relayed to the G5 Stack Switchgear, and enable or disable cell balancing as required. Daisy-chaining the G5 Cell Interface modules facilitates the design of flexible and scalable Battery Energy Storage Systems.

g5 ssg unit
Figure 4. Nuvation Energy G5 Stack Switchgear

The G5 Stack Switchgear has high-voltage, high-current connectors that are accessible on the front of the unit. These connect the battery stack to the rest of the system, which is typically a common DC bus. Safety precautions are required to handle and connect cables into this unit.

The external interfaces to this unit are:

  • Battery Stack and DC Bus connectors

  • Service Disconnect Switch

  • 10/100 Base-T Ethernet RJ45 jack (Modbus-TCP)

  • Link Bus RJ45 connector

  • Fan control input and output

  • Power In

  • Power LED and Fault LED

  • Earth bonding connection (grounding stud)

  • Enable, Shutdown, and Disconnect inputs

  • General Purpose Inputs, and General Purpose Outputs

  • Network Reset and Factory Restore

  • Under Voltage Lockout (UVLO) Enable Config Switch

  • AC Fan Circuit Breaker

The internal high-current path of G5 Stack Switchgear is shown in the block diagram below:

g5 ssg block diagram
Figure 5. G5 High-Voltage BMS internal high-current path.

2.2. G5 Cell Interface

The Nuvation Energy G5 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 stack managed by the G5 Stack Switchgear, one or more G5 Cell Interface modules are used to convert and relay cell voltage and temperature measurements digitally to the G5 Stack Switchgear.

The NUVG5-CI-24, G5 Cell Interface - 24 channel can monitor up to 24 series-connected cells and up to 8 external temperature sensors.

g5 ci module
Figure 6. Nuvation Energy G5 Cell Interface

The external interfaces to this module are:

  • Cell Voltage and Temperature Sensors connector

  • 2 Link Bus connectors

The G5 Cell Interface connects to the battery stack-referenced signals through high voltage rated connectors. Safety precautions are required to handle and connect cables into this module.

2.3. G5 BMS Software

The Nuvation Energy G5 BMS Software is composed of two parts: the Operator Interface and the G5 BMS Firmware.

2.3.1. Operator Interface

oi laptop dashboard
Figure 7. Operator Interface Dashboard

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.3.2. G5 BMS Firmware

The G5 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 G5 High-Voltage BMS for the specific end-application.

  • Functional Safety - Functional safety according to UL/CSA/IEC-60730-1 Annex H 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.

    • Microelectronic Fault Detection - Implements extensive internal verification to ensure that processors, memories, and communication paths are functional and the safety software is executing correctly.

    • Contactor Life Tracking - Monitors the life of the contactors during the operation of the G5 Stack Switchgear. Contactor life is degraded when the contactors are opened at elevated load currents.

    • DC Bus and Stack Connector Temperature Monitoring - Monitors the temperature at the high power connections to the G5 Stack Switchgear. High temperatures on these connectors are an indication of untorqued connections which can lead to a battery fire.

  • Continuous Cell Balancing - A proprietary algorithm for continuous cell balancing leading to shorter maintenance time. The battery does not have to remain above a specific cell voltage threshold for balancing to occur.

  • Balancing Counters Per Cell - A counter per cell for the number of times a cell was passively balanced is maintained and persisted on the G5 Stack Switchgear. This data provides a clear indication of cells which often have smaller relative capacities within the stack.

  • Configurable Modbus Points - Provides a configurable read/write access of G5 High-Voltage BMS registers over the Modbus TCP interface.

  • Fault/Warning Bitfields - The status of all G5 High-Voltage BMS faults and warnings are collected in separate bitfield registers. The fault/warning status can be determined by a few register reads or mapped into Modbus points via the Configurable Modbus Points feature.

3. Functional Overview

The Nuvation Energy G5 High-Voltage BMS provides many functions to allow flexible and configurable management/control of a stack. The following sections provides a brief summary of the product functions.

Monitor DC Bus and Stack Voltages

The G5 Stack Switchgear measures both the DC Bus and the battery stack voltages. These measurements allow for improved pre-charge and multi-stack capability.

Configurable for Different Battery Chemistries

The G5 Cell Interface is capable of measuring cells which vary in voltage between 1.6 and 4.3 volts. This range of voltage can support many lithium and lead-acid cell chemistries. A maximum of 480 cells can be measured by using a maximum of 20 G5 Cell Interface modules connected to one G5 Stack Switchgear.

Configurable Safe Limits of a Stack

As part of a UL 1973 certification, the safe operational range of a stack must be enforced by the G5 Stack Switchgear. A factory configuration is used to provide the initial safety configuration and is used within the certification process. Nuvation Energy provides a safety manual to guide the process of how to configure a stack for certification review. Once a safety configuration is established, the factory configuration can be locked to prevent further modification.

User Configurable Operational Range

After a stack is deployed, a user may choose to further limit the operational range of a stack. For example the PCS may require a minimum voltage that is higher than the stack’s minimum voltage. For cases such as this, the G5 Stack Switchgear has a user configurable set of operational limits that can be set to meet these additional constraints. These configurations can be persisted into non-volatile storage and write protected with a password. A short list of these operational limits include:

  • High and Low Cell Voltage

  • High and Low Stack Voltage

  • High Charge Current and High Discharge Current

  • High and Low Cell Temperature

GPI/GPO Interfaces

Two GPIs and two GPOs are available to allow interfacing with external connections such as:

  • PCS emergency OFF

  • External indicator LEDs

  • Ground Fault Detector Input

  • Manual clear faults

  • DC-OK

Internal Temperature Monitoring

The G5 Stack Switchgear has seven internal thermal measurements which are connected to a warning/fault. Likewise, each G5 Cell Interface module monitors its internal temperature and reduces passive balancing at high temperatures.

Dedicated Enable, Shutdown, and Disconnect inputs

The G5 Stack Switchgear provides separate Enable, Shutdown, and Disconnected inputs. These inputs allow for external control to power on the Battery Management System, gracefully shutdown the Battery Management System, or safely open the contactors to disconnect the battery stack.

External Fan Control

The G5 Stack Switchgear can be used to control external AC or DC fans for cooling the battery cells. The fans are enabled by the Battery Management System when battery cell temperatures exceed configurable thresholds. There is also a manual control configuration to allow external control of the fans via software command.

Cell Open Wire Detection and Diagnostics

The G5 Stack Switchgear 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

Sunspec Modbus TCP with Configurable Points

The G5 Stack Switchgear provides MESA 801/802/803 data models over its Modbus TCP port. Furthermore, the device can be configured to map internal data registers to a reserved set of Modbus points. This functionality allows internal data that is not within Sunspec data models to be accessed over Modbus TCP.

Continuous Balancing

The G5 Stack Switchgear implements a balancing algorithm that estimates charge imbalances of the stack cells and applies balancing to these imbalanced cells during operation. The use of continuous balancing significantly increases operational time of the battery system managed by the Nuvation Energy BMS by decreasing the maintenance time to balance cells within the stack.

Pre-Charge Circuit

The G5 Stack Switchgear has a pre-charge circuit to ensure safe connection of its battery stack to the DC bus. The pre-charge circuit temporarily connects the stack to the DC bus through a power resistor. This resistor allows a smaller current (proportional to the difference in voltage between the stack and the DC bus) to flow between the stack and the DC bus. After a 5-second pre-charge timeout, if the measured current is below a safe threshold, the BMS bypasses the pre-charge circuit by connecting the stack directly to the DC bus. This ensures the battery stack will not connect to the DC bus when an unsafe voltage mismatch is present. The G5 Stack Switchgear includes a 150 Ω, 210 W power resistor, suitable for a DC bus capacitance up to 8.5 mF at 1500 V DC.

4. Installation Instructions

4.1. Safety Instructions

The content in this document must be followed in order to ensure safe operation of Nuvation Energy BMS.

The G5 High-Voltage BMS is to be installed in a location with restricted access. Only skilled persons may install or service a system containing hazardous voltages that may be present when the system is energized.
Do NOT energize the system until all connections to the G5 Stack Switchgear unit and G5 Cell Interface modules have been made.
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the G5 Cell Interface modules. The temperature sensing must be isolated from the cell voltage sensing and Earth. Wiring errors can cause damage to the G5 Cell Interface and/or the cells.
Properly insulate or remove any unused wires. Unused wires can couple excessive system noise into Nuvation Energy BMS which can disrupt communication and lead to undesirable behaviors.
Nuvation Energy BMS relies on your system charger to charge the battery cells; do not leave your charger off while Nuvation Energy BMS is powered from the stack for prolonged periods of time. Nuvation Energy BMS should be shut down when the system is in storage to minimize the drain on the cells.
Insulated handling is required of any connector carrying potentials over 60 V DC relative to chassis.
Please be aware of high voltages present in your system and follow all necessary safety precautions.
The provided module enclosures are not fire enclosures.

4.2. G5 Cell Interface

4.2.1. Installation Overview

During all stages of the installation, appropriate Personal Protective Equipment (PPE) must be worn. This is especially critical when working with live voltages.

To complete the installation of the G5 Cell Interface, the following is required:

Cables

To connect your G5 Cell Interface you will require the following cables for each module:

  • 1x Voltage and Temperature Sensors cable

  • 1x Cat5e Ethernet 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 G5 Cell Interface Connectors for connector pin-out and specifications.

Tools and Materials

You will need the following tools and materials to complete your G5 Cell Interface installation:

  • Fasteners and tools for attaching the G5 Cell Interface to the end desired surface.

  • G5 Cell Connection Tester - To detect wiring errors that could damage a G5 Cell Interface. Contact support@nuvationenergy.com to purchase.

4.2.2. Mechanical Installation

4.2.2.1. Dimensions and Weight

The overall dimensions of the G5 Cell Interface are 118.5mm x 116.2mm x 25.4mm and weighs approximately 116g. The G5 Cell Interface is available in a bulkhead-mountable enclosure as shown below.

g5 ci mechanical drawing
Figure 8. Mechanical Drawing of G5 Cell Interface
Please refer to https://www.nuvationenergy.com/technical-resources for access to CAD files.
4.2.2.2. Installation Location and Position
Mounting Clearances

The G5 Cell Interface produces up to 15 W during cell balancing. A portion of this heat is transferred to the bulkhead.

Extra space should be provided around the G5 Cell Interface module to allow for sufficient heat dissipation, and cable installation.

4.2.2.3. Mounting Instructions

The G5 Cell Interface is rated to operate in the temperature range of -20 °C to 60 °C. It is designed for indoor use.

The G5 Cell Interface should be mounted against a flat surface with vent above the Nuvation Energy logo pointing up to the sky.

If the mounting surface is conductive, ensure it has been connected securely to Earth.

Ensure appropriate fasteners (not included) are used to mount the G5 Cell Interface. These fasteners will vary depending on the material and construction of the mounting surface.

It is suggested to use M4 screws with a split lock washer for the mounting holes provided on each side flange of the G5 Cell Interface.

4.2.3. Electrical Connections

The G5 Cell Interface connects to the battery stack-referenced signals through high-voltage rated connectors. Safety precautions are required to handle and connect cables into this module.
4.2.3.1. Getting Started

To complete the installation of the G5 Cell Interface, the following is required:

  1. 1x Voltage and Temperature Sensors Cable

  2. 1x Cat5e Ethernet Cable

These cables are available for purchase as a kit from https://nstore.nuvationenergy.com.

g5 ci kit
Figure 9. Example G5 Cell Interface kit contents
The wiring of the battery cell voltage and temperature sensing should be verified before connecting to the G5 Cell Interface modules. The temperature sensing must be isolated from the cell voltage sensing and Earth. Wiring errors can cause damage to the G5 Cell Interface and/or the cells.
4.2.3.2. Connect the Voltage and Temperature Sensors Cable
Table 1. Voltage and Temperature Sensors - Port and Cable options
g5 ci cell voltage and temperature
Figure 10. Cell Voltage and Temperature Sensors port
NUVW C23A15 020
Figure 11. Voltage and 2 Temperature Sensors Cable (NUVW-C23A15-020)
NUVW C24A15 020
Figure 12. Voltage and 8 Temperature Sensors Cable (NUVW-C24A15-020)

Your G5 Stack Switchgear is pre-configured to expect a defined number of cells and thermistors based on the information provided to Nuvation Energy during order fulfillment. Failure to use the same number of cells and thermistors will result in undesirable G5 Stack Switchgear behavior.

Please contact support@nuvationenergy.com if there is a change requiring a G5 Stack Switchgear configuration update.

The Voltage and Temperature Sensors cables include cell temperature and cell voltage sensor wires.

Temperature Sensor wires with Thermistors

The temperature sensor wires include 10 kΩ NTC thermistors for temperature measurement of the cells and 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.

Cable Isolation

Because the temperature sensors are referenced to the CI_REF1- input on the G5 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 G5 Cell Interface modules in the system.

The thermistors must also 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 or failures.

Voltage Sense wires

The voltage sense wires provide a means of sensing cell voltage. These wires also carry current used to balance the cells. The Voltage and Temperature Sensors cables provided by Nuvation Energy have the voltage sense wires labelled for ease of installation. Be aware that the wires are unterminated and unused cell voltage sense wires must be connected to adjacent cells. Do not leave these wires unterminated in the end-application, as their cut ends are not insulated.

Power Requirements

The G5 Cell Interface module is powered by the battery cells. The cells are connected as two groups, and a minimum of 11.2 V DC must be present between the most negative and most positive cells of each group. See specifications in Section 5.1.2.1, “Electrical Characteristics”.

Connection Procedure

The G5 Stack Switchgear is configured for a specific battery topology based on the details provided to Nuvation Energy during order fulfillment. Failure to use the same number of G5 Cell Interface modules or using a different battery topology will result in undesirable G5 Stack Switchgear behavior.

Please contact support@nuvationenergy.com if there is a change in the system design that would require a G5 Stack Switchgear configuration update.

If you are building your own cables, please refer to the pin-out for this connector in Cell Voltage and Temperature Connector.
Connect Temperature Sensors to Cell Surface

It is recommended to use thermally conductive and electrically non-conductive epoxy to adhere the thermistors to the cells.

Connect Voltage Sense Wires to Battery Cells

Connect the G5 Cell Interface voltage sense wires to the battery voltage terminals. The individual wires are labelled to help with identifying the connections. Refer to the Wiring Examples to wire a differing number of cells to a G5 Cell Interface.

  • Begin at the negative post of the battery at the bottom of the stack.

  • Connect the CI_REF1- pin on the voltage sense harness to the negative post of the battery at the bottom of the stack.

  • For the first G5 Cell Interface in the Link Bus Chain, this negative post will also be connected to the G5 Stack Switchgear Battery (-) terminal, as shown in the G5 Stack Switchgear Battery Stack and DC Bus Connector Lugs.

  • The CI_REF1- pin, with the Cell 1+ pin on the positive terminal of this battery, serves as Cell 1.

  • Additional cell voltage sense wires are connected to the next battery cells in ascending series voltage, with the last cell voltage sense wire ending on the Cell 24+ pin.

  • For scenarios with more than 24 cells, additional G5 Cell Interface modules are required. The connection pattern repeats in blocks of 24 (cells 25 to 48, 49 to 72 etc.), until the desired stack voltage is reached, up to a maximum of 1500 V DC.

Verify Connections
  • The wiring of the battery cell voltage and temperature sensors should be verified before connecting to the G5 Cell Interface modules.

  • The temperature sensors must be isolated from the cell voltage terminals.

  • Wiring errors can cause damage to the G5 Cell Interface and the battery cells.

Nuvation Energy recommends using the G5 Cell Connection Tester to verify connections and detect wiring errors that could damage a G5 Cell Interface. Please contact support@nuvationenergy.com to purchase.
Connect Cable to G5 Cell Interface
  • Connect the Voltage and Temperature Sensors cable to the connector on the right side of the G5 Cell Interface.

Wiring Examples

The diagrams below show the common wiring scenarios for connecting battery cells to a G5 Cell Interface. If your G5 Stack Switchgear is pre-configured to expect less than 24 cell inputs to the G5 Cell Interface, please connect the unused cell inputs to the battery stack as shown in the last two diagrams.

g5 ci connecting 24 cells
Figure 13. Example wiring 24 cells in a G5 Cell Interface - 24 channel


g5 ci connecting 20 cells
Figure 14. Example wiring 20 cells in a G5 Cell Interface - 24 channel


g5 ci connecting 13 cells
Figure 15. Example wiring 13 cells in a G5 Cell Interface - 24 channel
Table 2. Link In and Link Out - Ports and Cable
g5 ci link in link out port
Figure 16. Link In and Out Connector
NUVW D01X00 020
Figure 17. Ethernet cable (NUVW-D01X00-020)

The Link Bus cable is a standard Cat5e RJ45 Ethernet cable.

  • Link Bus Chain communications start with the G5 Stack Switchgear, continue to the G5 Cell Interface at the bottom of the stack, and end at the G5 Cell Interface at the top of the stack, using standard Ethernet cables.

  • The Link Bus cable is used to connect G5 Cell Interface modules in a daisy chain (called the Link Bus chain) by connecting the 'Link Out' of one G5 Cell Interface to the 'Link In' of the next G5 Cell Interface in ascending series voltage order.

  • The Link Bus provides a data channel to subsequent G5 Cell Interface modules in the Link Bus chain.

    Cable Isolation

    The Link Bus cable contains signals that are isolated from the battery cells and its voltage level is within SELV limits. The cable can touch the grounded metal of the battery rack. However, it must not touch the battery cells. Failure to properly insulate the Link Bus from contact with the battery terminals can damage the G5 Battery Management System and cause harm to the user.

    Connection Procedure
    1. Begin with the First G5 Cell Interface in the Link Bus Chain, connected to the most negative battery cells at the bottom of the stack.

    2. Connect one end of the link bus cable to the 'Link Out' connector on the first G5 Cell Interface.

    3. Connect the other end of the Link Bus cable to the 'Link In' connector on the next G5 Cell Interface.

    4. The connection pattern repeats for each succeeding G5 Cell Interface in the stack.

    5. The last G5 Cell Interface connected is electrically located at the top of the stack.

    6. This last G5 Cell Interface is connected to the battery cell whose positive terminal will be connected to the Battery (+) post of the G5 Stack Switchgear as shown in Battery Stack and DC Bus Connector Lugs.

The 'Link Out' of the last G5 Cell Interface module in the Link Bus chain is left unconnected.

To complete the Link Bus chain communications in Section 4.3.3.8, “Connect Link Out cable to G5 Cell Interface”, a Link Bus cable will connect:

  • the 'Link Out' connector of the G5 Stack Switchgear to

  • the 'Link In' connector of the first G5 Cell Interface in the Link Bus Chain, at the bottom of the stack.

4.3. G5 Stack Switchgear

4.3.1. Installation Overview

During all stages of the installation, appropriate Personal Protective Equipment (PPE) must be worn. This is especially critical when working with live voltages.

To complete the installation of the G5 Stack Switchgear, the following is required:

Mounting Brackets

Brackets for shelf mounting are included. Optionally, you can request Front-securing Brackets for 19” Rack mounting if appropriate for your application. A third option is for users to source brackets which uphold the weight of the unit.

Cables

To connect your G5 Stack Switchgear you will require the following cables:

  • 1x Power and Fan Cable for either AC or DC power.

  • 1x Cat5e Ethernet cable for communication with a computer

  • 1x GPIO Control Cable (Optional)

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 G5 Stack Switchgear Connectors for connector pin-out and specifications.

Tools and Materials

You will need the following tools and materials to complete your G5 Stack Switchgear installation:

  • M13 and M17 wrench

  • Torque wrench with range 60-130 inch pounds

  • Fasteners and tools for attaching the brackets to the end desired surface.

4.3.2. Mechanical Installation

4.3.2.1. Dimensions and Weight

The G5 Stack Switchgear is 4U (rack-units) tall. The unit weighs 23.5 kg [51.8 lbs].

g5 ssg dimensions overall
Figure 18. Mechanical Drawing of G5 Stack Switchgear
Please refer to https://www.nuvationenergy.com/technical-resources for access to CAD files.
4.3.2.2. Installation Location and Position

The G5 Stack Switchgear is primarily designed to fit in a standard 19" rack with a 23"-deep cabinet. However, other mounting possibilities are supported, as the following subsections discuss. By default, the G5 Stack Switchgear ships with brackets for shelf mounting. Depending on the desired application, brackets can be ordered with part numbers listed in G5 Stack Switchgear Ordering Information.

The G5 Stack Switchgear must be installed in a horizontal orientation with the vent-slots pointing up to the sky. The G5 Stack Switchgear is not designed to be installed in any other orientation.

Mounting Clearances

To maintain safe operating temperatures, it is recommended to leave 1U of space above the unit for airflow. Depending on the environment, active airflow, and ambient temperature, some installations may require additional space.

4.3.2.3. Mounting Instructions

Fasteners (M5 x 8 mm) for attaching the brackets to the G5 Stack Switchgear unit are included with any mounting bracket order.

If fasteners other than the provided hardware is used, the screws cannot extend into the G5 Stack Switchgear more than 5.5 mm. High-voltage and high-power elements that exist inside the unit could arc to the screw if it intrudes too deep into the unit.

Fasteners for attaching the brackets to the end desired surface are not provided, due to the application-specific nature. In order to source these fasteners however, note that the corresponding bracket slots have widths designed for M5 screws.

After removing the G5 Stack Switchgear from its packaging, perform the following steps based on the mounting brackets purchased.

Shelf-Mount
NUVP SSG SB B
Figure 19. Shelf Mount (NUVP-SSG-SB-B)
g5 ssg shelf mount
Figure 20. Product with brackets installed

A G5 Stack Switchgear may be mounted on a horizontal surface, with the aid of shelf-mount brackets, as shown above.

  1. Install the brackets on the G5 Stack Switchgear. Install at least 3 screws in each shelf bracket as indicated with arrows above. The recommended tightening torque is 4.5 to 5 N-m [40 to 44 in-lbs].

  2. Place the G5 Stack Switchgear on a shelf or level surface at the desired location. Ensure the G5 Stack Switchgear is in a horizontal orientation with the vent-slots pointing up to the sky.

  3. Attach the G5 Stack Switchgear (with brackets installed) to the shelf or level surface.

g5 ssg dimensions shelf mount
Figure 21. Dimensions, shelf-mount
Front-securing Rack-Mount, 19"
NUVP SSG RB 19 B
Figure 22. Rack Mount (NUVP-SSG-RB-19-B)
g5 ssg rack mount
Figure 23. Product with brackets installed

These brackets are designed to secure the front of the unit with respect to the front of the rack. The mounting brackets allow for adjusting how far the unit protrudes or recedes from the front of the rack.

Side-support angle brackets are necessary to uphold the weight of the unit, in this mounting application.

Some third-party examples include RASA22BK3 or RAAB2436BK products by Hammond Manufacturing (https://www.hammfg.com/).

  1. Install the side-support angle brackets on the rack at the desired location.

  2. Install the front-securing brackets on the G5 Stack Switchgear. Install 2 screws in each bracket. The recommended tightening torque is 4.5 to 5 N-m [40 to 44 in-lbs].

  3. Place the G5 Stack Switchgear onto the installed side-support angle brackets. Ensure the G5 Stack Switchgear is in a horizontal orientation with the vent-slots pointing up to the sky.

  4. Secure the G5 Stack Switchgear to the rail of the rack using the front-securing brackets installed.

g5 ssg dimensions rack mount
Figure 24. Dimensions, rack-mount, 19", front-securing

4.3.3. Electrical Connections

Before making any connections, ensure that the service disconnect switch is in the Lock Out position.

The G5 Stack Switchgear is configured for a specific battery topology based on the details provided to Nuvation Energy during order fulfillment. Failure to use the same number of G5 Cell Interface modules and/or using a different battery topology will result in undesirable G5 Stack Switchgear behavior.

Please contact support@nuvationenergy.com if there is a change in the system design that would require a G5 Stack Switchgear configuration update.

4.3.3.1. Getting Started

To complete the installation of the G5 Stack Switchgear, the following is required:

  1. 1x Power and Fan Cable

  2. 1x Cat5e Ethernet Cable

  3. 1x GPIO Control Cable (Optional)

These cables are available for purchase as a kit from https://nstore.nuvationenergy.com.

NUVG5 SSG Cables Kit
Figure 25. Example G5 Stack Switchgear cable kit contents

The instructions below are for applications using cable harnesses purchased from Nuvation Energy. To build custom cables, refer to G5 Stack Switchgear Connectors for connector pin-out and specifications.

Below is an overview image of the connectors available on the front of the G5 Stack Switchgear.

g5 ssg front
Figure 26. G5 Stack Switchgear
4.3.3.2. Ensure system is de-energized
Ensure that the Service Disconnect switch is in the Lock Out position.
Service Disconnect

The manual Service Disconnect switch is accessible on the front of the G5 Stack Switchgear. Use the lock-out/tag-out function to ensure that the battery stack does not connect to the DC bus or Power Conversion System (PCS) during installation.

Ensure the service disconnect switch is in the Lock Out position and lock-out/tag-out the switch by locking the cover.

g5 ssg service disconnect
Figure 27. Service Disconnect

The service disconnect switch removes power to the internal contactors—it does not physically break the connection (this is done by the contactors themselves).

In the very unlikely event of damage to both internal contactors (i.e. two welded contactors), the service disconnect switch cannot guarantee that the DC bus has been disconnected from the battery. It is therefore recommended to check for voltage present on the Battery Stack and DC Bus terminals with a voltmeter before working on the stack to ensure the contactors have opened fully.

Verify G5 Stack Switchgear is de-energized

Using a multimeter check the Battery Stack and the DC Bus terminals respectively to verify that the G5 Stack Switchgear is de-energized.

4.3.3.3. Ground the G5 Stack Switchgear
g5 ssg grounding lug
Figure 28. Grounding bolt

The G5 Stack Switchgear must be bonded to the rack or Earth through a suitably sized conductor by NEC standards. From NFPA 70, Table 250.122, the wire size must be chosen based on the rating of the automatic over-current device in the circuit, as shown in Table 3, “Minimum grounding wire size”.

Table 3. Minimum grounding wire size

G5 Stack Switchgear
Current Rating (A)

Grounding Wire (AWG)

Copper

Aluminum

200

6

4

300

4

2

350

3

1

An M8 lug (not included) should be used (e.g. Panduit Corp LCMA50-8-L), along with an M8 bolt and tooth lock washer (both included), as shown in Figure 28, “Grounding bolt”.

In order to make the connection:

  1. Strip the insulation

  2. Crimp the lug

  3. Screw the lug onto the terminal

The recommended tightening torque is 15 N-m [130 in-lbs].

4.3.3.4. Connect Power In and Fan Control

On the front panel, the G5 Stack Switchgear internal power and external fan power is connected via the Power and Fan cable connector.

Table 4. Power and Fan - Port and Cable options
g5 ssg power and fan
Figure 29. Power and Fan port

Compatible with either AC or DC cable.

NUVW B15H03 010
Figure 30. AC cable (NUVW-B15H03-010)
NUVW B16H03 010
Figure 31. DC cable (NUVW-B16H03-010)

If you are building your own cables, please refer to the pin-out for this connector in Power and Fan Connector. For specifications of this input, see Section 5.1.1, “G5 Stack Switchgear”.

The G5 Stack Switchgear requires a 100 V to 240 V AC or a 24 V DC power to be supplied from an external source which must be de-energized before installation.

Fan control enables the G5 Stack Switchgear to control external AC or DC fans for cooling the battery cells.

  • If DC Fans are used, an external DC power source is required

  • If AC Fans are used, an external AC power source is required

  • If a DC and an AC power source are both provided, the AC source is used to power the G5 Stack Switchgear

The fans are enabled by the BMS when battery cell temperatures exceed configurable thresholds.

The figure below provides the internal wiring implementation of the fan control parts shown above.

g5 ssg fan control wiring
Figure 32. Battery cooling fan control wiring diagram
Power to the G5 Stack Switchgear and the fans is expected to be de-energized before installation; this involves turning off power at the end application.

Plug in the Power & Fan cable to the connector on the front of the G5 Stack Switchgear.

4.3.3.5. AC Fan Breaker and DC Fan Overload Protection

The Fan Breaker shown above in Figure 32, “Battery cooling fan control wiring diagram” is only for AC powered fans. The AC fan breaker does not provide digital feedback and requires a manual reset in the event of an overload. After resolving the cause of the overload, the AC Fan breaker can be reset by carefully pressing in the breaker, no more than 2 mm, until a click is felt.

g5 ssg fan breaker
Figure 33. AC Fan Breaker

DC Fan Overload Protection is provided by an internal smart integrated circuit which sends feedback to the system if it trips due to an overload. The integrated circuit can auto-reset when the cause of the overload trip has been resolved.

4.3.3.6. Connect control to General Purpose Input/Output (GPIO) cable

This Control GPIO cable harness includes special input signals, 2 General Purpose Outputs (GPO) and 2 General Purpose Inputs (GPI). Use the cable harness to connect external equipment to the GPIO interface.

This interface provides connections to special function input signals that can:

General purpose outputs and inputs are configured by the end-user to match their needs.

This interface provides connections to isolated general purpose outputs and inputs, that can be used for signals such as:

  • G5 Stack Switchgear fault state output - signal external devices when internal faults are present

  • G5 Stack Switchgear trigger state output - signal an external LED when a specific trigger is tripped

  • PCS emergency OFF input

  • Ground Fault Detector input

  • Manual clear G5 Stack Switchgear faults input

Connect the Control GPIO cable to the connector on the front of the G5 Stack Switchgear.

Table 5. Control GPIO - Port and Cable options
g5 ssg control gpio
Figure 34. Control GPIO port
NUVW C26H03 010
Figure 35. GPIO cable (NUVW-C26H03-010)

If you are building your own cables, please refer to the pin-out for this connector in I/O Connector.

4.3.3.7. Connect Ethernet cable to external computer

Connect the Ethernet cable between the Ethernet port on the G5 Stack Switchgear and an external computer.

Table 6. Ethernet - Port and Cable options
g5 ssg ethernet link out
Figure 36. Ethernet Connector
NUVW D01X00 020
Figure 37. Ethernet cable (NUVW-D01X00-020)

The Ethernet connector is a standard RJ45 Ethernet jack. It may be used to connect the G5 Stack Switchgear to an external system, such as:

  • A laptop, to configure operating parameters and observe status

  • A local area network (LAN) connection

  • A Nuvation Energy Multi-Stack Controller

  • Energy control systems, such as PCSs and energy controllers

  • An Ethernet switch, to access any number of the above devices

Any Cat5e-rated or higher Ethernet cable of suitable length may be used to connect to this RJ45 jack.

If the G5 Cell Interface modules are not already connected to the battery (e.g. battery cell voltage sensors, temperature sensors, and Link Bus cables between the G5 Cell Interface modules), this can be done now. For instructions on connecting the G5 Cell Interface modules to the battery, refer to Section 4.2.3, “Electrical Connections”.

The G5 Cell Interface cable kit includes a standard Cat5e Ethernet cable. Connect this Ethernet cable between the G5 Stack Switchgear and the First G5 Cell Interface in the Link Bus Chain. The Link Bus chain communication is complete when the Ethernet cable connects the 'Link Out' connector of the G5 Stack Switchgear to the 'Link In' connector of the first G5 Cell Interface.

Table 7. Link Out - Port and Cable options
g5 ssg ethernet link out
Figure 38. Link Out Connector
NUVW D01X00 020
Figure 39. Ethernet cable (NUVW-D01X00-020)

The Link Out connector provides communication to the G5 Cell Interface modules.

Typically, the Link Bus is connected to the G5 Cell Interface module which measures the most negative cell, with each subsequent G5 Cell Interface module measuring increasingly positive cells. This ensures that the software registers and the Operator Interface will sequence the cells in an intuitive order of increasing potential.

4.3.3.9. Set the Config Switches
g5 ssg config switches
Figure 40. Config Switches

Set the switch positions for the desired functionality that they manage.

The G5 Battery Management System will continue to discharge battery cells below the low voltage fault threshold unless UVLO has been enabled. For unattended applications, it is strongly encouraged to enable UVLO.

  • Network Reset and Factory Restore are not required during installation of a new G5 Stack Switchgear.

  • A config switch set to the left is ON, and set to the right is OFF.

The following table describes the functionality per config switch.

Table 8. Config Switch Settings
Switch Name Position Description

3

UVLO Enable

Off

UVLO is disabled

3

UVLO Enable

On

UVLO is enabled

2

Network Reset

Off

No action

2

Network Reset

On

Enables a user to select a Network Reset during the subsequent power on. See instructions below.

1

Factory Restore

Off

No action

1

Factory Restore

On

Enables a user to select an Factory Restore during the subsequent power on. See instructions below.

Network Reset

With the Network Reset switch in the ON position, supply power to the G5 Stack Switchgear to turn it on.

If the position of the Network Reset switch is returned to the OFF position while the LEDs are blinking, the Ethernet network settings will be restored to the Factory Network Settings stated on the front of the G5 Stack Switchgear. If the Network Reset switch remains in the ON position for 30 seconds from the time power is supplied, the G5 Stack Switchgear continues execution ignoring the Network Reset switch.

Factory Restore

With the Factory Restore switch in the ON position, supply power to the G5 Stack Switchgear to turn it on.

If the position of the Factory Restore switch is returned to the OFF position while the LEDs are blinking, the G5 Stack Switchgear will be restored to the same version of firmware and configuration settings (including Network settings) that it had when it released from the factory.

If the Factory Restore switch remains in the ON position for 30 seconds from the time power is supplied, the G5 Stack Switchgear continues execution ignoring the Factory Restore switch. The network configuration is reset when a factory restore is performed.

Changes in config switch settings must occur when the Nuvation Energy G5 Stack Switchgear is powered off.

Prior to attempting a Factory Restore, contact support@nuvationenergy.com, to obtain more details on recalibrating and restoring the Nuvation Energy G5 Stack Switchgear to its factory state.

4.3.3.10. Connect Battery Stack and DC Bus
Due to the nature of batteries, live voltages are always present; for this reason, these connections should be completed last. In order to reduce the risk of a short, only install one connection at a time.

The G5 Stack Switchgear is configured for a specific battery topology based on the details provided to Nuvation Energy during order fulfillment. Failure to use the same number of G5 Cell Interface modules and/or using a different battery topology will result in undesirable G5 Stack Switchgear behavior.

Please contact support@nuvationenergy.com if there is a change in the system design that would require a G5 Stack Switchgear configuration update.

The front panel of the G5 Stack Switchgear has four high-power connectors, as illustrated below. Two of these are for the positive and negative terminals of the battery stack; the other two are for the connection to the DC bus (or a PCS in a single stack system). The colors are coordinated such that red is for the positive connections and black is for the negative connections.

The connectors use M10 screws (included) and are intended for M10 lugs (not included, e.g. Panduit Corp LCMA50-10-L).

Flexible snap-on terminal covers are included. The maximum acceptable terminal lug tongue width is 1.1 inches and the maximum wire outer diameter (including insulation) is 0.817 inches. The recommended tightening torque is 6.8 N-m to 9.0 N-m [60 to 80 in-lbs].

g5 ssg dc bus battery lugs
Figure 41. Battery Stack and DC Bus Connector Lugs
Table 9. Battery Stack and DC Bus Connector Assignment

Name

Description

Connected to Device

Battery (-)

Negative terminal of battery stack

Battery stack

Battery (+)

Positive terminal of battery stack

Battery stack

DC Bus (-)

Negative terminal of DC bus

External equipment

DC Bus (+)

Positive terminal of DC bus

External equipment

A typical NUVG5-SSG-1500-350 installation capable of up to 350 A should use 4/0 AWG 90°C copper cable rated 1500 V DC or higher, based on Table 310.15(B)(17) of the NEC (Allowable Ampacities of Single-Insulated Conductors Rated Up to and Including 2000 Volts in Free Air). This should be evaluated on a per-project basis in accordance with site-specific conditions and local codes. The installer shall be responsible for installing cables in accordance with all applicable electrical codes.

In order to make the connection:

  1. Feed the wire through the terminal cover

  2. Strip the insulation

  3. Crimp the lug

  4. Screw the lug onto the terminal

  5. Torque to the recommended specifications above

  6. Slide the terminal cover onto the terminal

The battery stack terminals are always energized and should be handled as such.

Although the DC bus terminals are disconnected from the battery by the G5 Stack Switchgear unit’s contactors, the DC bus can still be energized by other components on the DC bus (e.g. PCS or other stacks). The DC bus terminals should always be treated as though they are energized.

A simple voltage check (i.e. across the positive and negative terminals) is not always sufficient, especially with grounded battery stacks. It is recommended to also check for voltage between each conductor and ground.

4.4. Operator Interface

4.4.1. Download and Install the Operator Interface

The Operator Interface is used to access the G5 High-Voltage BMS. The latest Operator Interface release will be available online at: https://www.nuvationenergy.com/technical-resources. In the interim, please contact support@nuvationenergy.com for a copy.

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.

4.4.2. Connect to the Operator Interface

Ensure your computer is connected directly to the G5 Stack Switchgear via an Ethernet cable. You will need to configure the network adapter on your computer to match the settings on your G5 Stack Switchgear.

Identify the Battery Management System IP

By default, G5 Stack Switchgear is configured with a static IP address of 192.168.1.21, unless noted otherwise on a label on the G5 Stack Switchgear.

Identify the parts of the Battery Management System’s IP Address

The IP address has two parts - the network ID and the host ID.

ip address
Figure 42. Parts of an IP address

Write down the network ID and host ID parts of the G5 Stack Switchgear’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 G5 Stack Switchgear. 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 G5 Stack Switchgear. For example if the G5 Stack Switchgear IP address is 192.168.1.21, the IP address of the PC could be 192.168.1.12 or 192.168.1.49 or any 192.168.1.x where x is not 21.

If you have multiple stacks, note down the Host ID from the IP address of each stack’s G5 Stack Switchgear. 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:

  1. Go to Control Panel > Network and Sharing Center

  2. Right-click your network adapter that connects to your G5 Stack Switchgear and select Properties

  3. Click Internet Protocol Version 4 (TCP/IPv4) and click Properties

    oi network properties
    Figure 43. Network Adapter Properties on Windows.
  4. Update your network adapter TCP/IPv4 settings to the following:

    • Static IP Address: The IP address must have the same Network ID as the G5 Stack Switchgear 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 G5 Stack Switchgear and the Host ID should be 1.

      • For example, if the G5 Stack Switchgear IP address is 192.168.1.21, the gateway address would be 192.168.1.1

        oi network settings
        Figure 44. Network Adapter Settings on Windows
  5. Ensure your computer is on the same network as your G5 Stack Switchgear.

    • You can connect an Ethernet cable directly between it and the network adapter of your PC.

4.5. First Power-up

Once the G5 Cell Interface modules chain and the G5 Stack Switchgear are connected to the battery, the G5 Stack Switchgear can be powered.

Power on the G5 Stack Switchgear

Put the Service Disconnect switch in the Operating position. The power LED (green) will turn ON to indicate that the G5 Stack Switchgear is powered.

For more details on the Status LEDs, please refer to Section 5.2, “Status LEDs”.

Connect to the BMS Operator Interface

Open the Nuvation-Energy-Operator-Interface.html file in your web browser.

  • This is usually done by double-clicking on the file. If your default browser is not a supported browser, you may need to specify the browser to use.

  • For example, on Windows you may need to right click on the file, select Open with, and then choose Chrome or Firefox from the list.

Clear Faults

On initial power-up, it is common to see that the fault LED (red) is also ON. This indicates that a fault has been detected; the next step will be to clear this fault.

Faults are latching, i.e. will remain in faulted state until cleared even if fault condition is removed. Begin by clearing all faults. If any faults remain, investigate the cause of each fault and resolve the issue. Once all faults are cleared, the G5 Stack Switchgear is able to connect the battery to the DC bus.

Nuvation Energy BMS relies on your system charger to charge the battery cells; do not leave your charger off while Nuvation Energy BMS is powered from the stack for prolonged periods of time. Nuvation Energy BMS should be shut down when the system is in storage to minimize the drain on the cells.

The G5 Cell Interface modules are powered from the cells and will continue to draw power even while the Battery Stack is disconnected from the DC Bus. For example, the G5 Cell Interface modules will continue to draw power even if the Nuvation Energy BMS has detected a low-voltage fault and opened contactors to disconnect the stack from the DC Bus. To protect the cells when the stack is not supervised, there are two options to significantly lower cell battery drain by the Nuvation Energy BMS:

  1. Enabling Under Voltage Lockout (UVLO) which will shutdown down the Nuvation Energy BMS when cell or stack voltages reach critical levels. Refer to Section 6.7.4, “UVLO Enable Config Switch Input” for further operational and configuration details of UVLO.

  2. Placing all stacks into Service Lockout which will prevent the scanning of all G5 Cell Interface. Refer to Section 5.3.5, “Understanding the Service Lockout and Self Check” for further details operational details of Service Lockout.

5. Operating Instructions

5.1. Operating Limits

5.1.1. G5 Stack Switchgear

Exceeding the ratings will damage the system.
5.1.1.1. External Specifications
Symbol Parameter Min Typ Absolute Max Units

Vinput_AC

Input Voltage AC

100

-

240

V AC

finput_AC

Input Frequency

45

50/60

65

Hz

Vinput_DC

Input Voltage DC

21

24

27

V DC

Pinput_AC

AC Input Power for BMS

-

24

88

W

Pinput_DC

DC Input Power for BMS

-

10

50

W

Vfan_DC

Cooling Fan DC Voltage

-

-

27

V DC

Vfan_AC

Cooling Fan AC Voltage

-

-

250

V AC

Pfan_DC

Cooling Fan Power

-

-

96

W

Pfan_AC

Cooling Fan Power

-

-

120

W

Ptotal-input_AC

Total Input Power for BMS and Fan

-

-

144

W

Ptotal-input_DC

Total Input Power for BMS and Fan

-

-

106

W

GPI and Enable/Shutdown/Disconnect Specifications

Imax

On Current

10

12

15

mA DC

Vmax

Off Voltage

-

-

27

V DC

GPO Specifications

Vmax

Open Blocking Voltage

-

-

60

V DC

Imax

Closed Maximum Current

-

-

400

mA DC

Ron

Closed-State Resistance

-

-

2

Ω

5.1.1.2. Electrical Characteristics

The part number of the G5 Stack Switchgear captures its product rating. The voltage rating is an absolute maximum rating, and the current rating is a continuous rating (also referred to as the 'nominal' rating). Input power is internally regulated to be compliant with NEC class 2 requirements.

Part number format: NUVG5-SSG-<absolute-max-voltage>-<continuous-current-rating>-<fuse-rating> For the fuse rating, please see Table 69, “Fuse rating and code”.

Voltage and Temperature Specifications
Table 10. Voltage and Temperature Sensor Specifications for all Configurations
Symbol Parameter Min Typ Absolute Max Units

Battery Stack Specifications

Vstack_ov

Stack Over-Voltage Threshold (triggers contactors to open)

-

configurable

1500

V DC

Vstack_uv

Stack Under-Voltage Threshold (triggers contactors to open)

-

configurable

-

V DC

Battery Cell Specifications

Cov

Cell Over-Voltage Threshold (triggers contactors to open)

-

configurable

-

V

Cuv

Cell Under-Voltage Threshold (triggers contactors to open)

-

configurable

-

V

Temperature Sensors Specifications

Tut

Under-Temperature Thresholds Charge/Discharge (triggers contactors to open)

-

configurable

-

°C

Tot

Over-Temperature Thresholds Charge/Discharge (triggers contactors to open)

-

configurable

-

°C

Tfan_en

Fan Enable Temperature Thresholds Charge/Discharge

-

configurable

-

°C

Table 11. Overvoltage Category Specifications for all Configurations
Symbol Parameter Absolute Max Units

CATII

Phase to Ground Rated System Voltage (RMS or DC)

1000

V

CATIII

Phase to Ground Rated System Voltage (RMS or DC)

600

V

Continuous and Maximum Current Ratings
Table 12. Maximum Rated Current : NUVG5-SSG-1500-200-x
Symbol Parameter Continuous Absolute Max Units

Idischarge_oc

Stack Discharging Over-Current (triggers contactors to open)

200

250

A DC

Icharge_oc

Stack Charging Over-Current (triggers contactors to open)

200

250

A DC

Table 13. Maximum Rated Current: NUVG5-SSG-1500-300-x
Symbol Parameter Continuous Absolute Max Units

Idischarge_oc

Stack Discharging Over-Current (triggers contactors to open)

300

350

A DC

Icharge_oc

Stack Charging Over-Current (triggers contactors to open)

300

350

A DC

Table 14. Maximum Rated Current: NUVG5-SSG-1500-350-x
Symbol Parameter Continuous Absolute Max Units

Idischarge_oc

Stack Discharging Over-Current (triggers contactors to open)

350

400

A DC

Icharge_oc

Stack Charging Over-Current (triggers contactors to open)

350

400

A DC

The G5 Stack Switchgear can handle short current overages above the continuous rating. Any charge or discharge current above the continuous rating must not exceed 5 minutes per hour and must not exceed the specified absolute max rating. Sufficient time to allow the system to cool down afterward is required.

Contactor Life Ratings
Table 15. Contactor Life Ratings : NUVG5-SSG-1500-200-x
Symbol Parameter Min Max Absolute Max Units

Imin_breaking

Minimum breaking current of contactors

200

-

-

A DC

Nmin

Number of contactor opening cycles below the minimum breaking current

6000

-

-

cycles

Imax_breaking

Maximum breaking current of contactors

-

250

-

A DC

Nlife

Number of contactor opening cycles between the minimum and maximum breaking currents

-

50

-

cycles

Nmax

Number of contactor opening cycles above the maximum breaking current

-

1

-

cycle

Imax

One time contactor maximum breaking current

-

-

1500

A DC

Table 16. Contactor Life Ratings : NUVG5-SSG-1500-300-x
Symbol Parameter Min Max Absolute Max Units

Imin_breaking

Minimum breaking current of contactors

200

-

-

A DC

Nmin

Number of contactor opening cycles below the minimum breaking current

6000

-

-

cycles

Imax_breaking

Maximum breaking current of contactors

-

350

-

A DC

Nlife

Number of contactor opening cycles between the minimum and maximum breaking currents

-

50

-

cycles

Nmax

Number of contactor opening cycles above the maximum breaking current

-

1

-

cycle

Imax

One time contactor maximum breaking current

-

-

1500

A DC

Table 17. Contactor Life Ratings : NUVG5-SSG-1500-350-x
Symbol Parameter Min Max Absolute Max Units

Imin_breaking

Minimum breaking current of contactors

200

-

-

A DC

Nmin

Number of contactor opening cycles below the minimum breaking current

6000

-

-

cycles

Imax_breaking

Maximum breaking current of contactors

-

400

-

A DC

Nlife

Number of contactor opening cycles between the minimum and maximum breaking currents

-

10

-

cycles

Nmax

Number of contactor opening cycles above the maximum breaking current

-

1

-

cycle

Imax

One time contactor maximum breaking current

-

-

1500

A DC

To extend the lifetime of the G5 Stack Switchgear a disconnect delay can be configured to allow time for the PCS controller to reduce the current flowing through the battery stack before the G5 Stack Switchgear will open contactors, which will avoid exposing the contactors to high breaking currents.

Contactors will open immediately for the following conditions which will bypass the disconnection delay:

  1. Unpowering the G5 Stack Switchgear.

  2. Using the Fast Disconnect feature.

5.1.2. G5 Cell Interface

Exceeding the maximum ratings will damage the G5 Cell Interface module.
5.1.2.1. Electrical Characteristics
Symbol Parameter Conditions Min Typ Absolute Max Units

Link In Specifications

IP_LINK

Output Current

-

-

-

22

mA DC

IN_LINK

Output Current

-

-

-

22

mA DC

Link Out Specifications

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

-

1.6

-

4.3

V DC

Vsum

Voltage between C0 and C12

11.2

-

51.6

V DC

Voltage between C12 and C24

11.2

-

51.6

V DC

IActive

Between C0 and C12

Linkbus communication, Vsum = 43.2V

-

13

20

mA

Between C12 and C24

Linkbus communication, Vsum = 43.2V

-

9

11

mA

IStandby

Between C0 and C12

No Linkbus communication, Vsum = 43.2V

-

70

225

μA

Between C12 and C24

No Linkbus communication, Vsum = 43.2V

-

70

225

μA

Between C(n) - C(n-1)

No Linkbus communication, Vsum = 43.2V

-

1.2

15

μA

TME

Total Measurement Error

±0.1

±1.6

±2.8

mV DC

I(n)

Cell Balancing Current

C(n) - C(n-1) = 4 V DC

145

150

159

mA DC

Vins

Internal reinforced insulation rating from Chassis/COM

-

-

-

1500

V DC

CATII

Overvoltage category

Phase to Ground Rated System Voltage (RMS or DC)

-

-

1000

V

CATIII

Overvoltage category

Phase to Ground Rated System Voltage (RMS or DC)

-

-

600

V

Temperature Sensors Specifications

I(n)

Output Current to Temperature Sensor

-

-

-

300

μA

Rt(n)

Temperature Sensor Resistance at 25 °C

-

-

10

-

T(n)

Input Temperature Sensor Voltage Range

Cell 0 = 0 V

0

-

3

V

Vins

Internal reinforced insulation rating from Chassis/COM

-

-

-

1500

V DC

CATII

Overvoltage category

Phase to Ground Rated System Voltage (RMS or DC)

-

-

1000

V

CATIII

Overvoltage category

Phase to Ground Rated System Voltage (RMS or DC)

-

-

600

V

5.1.2.2. Maximum Stack Deployment

G5 Cell Interface modules are deployed as a daisy chain to monitor the cells of a stack. G5 Stack Switchgear can support a maximum of 20 G5 Cell Interface modules.

Limits Due to Cell Voltage Scan Rate

The required scan rate of the cell voltage measurements for a stack will determine the maximum number of G5 Cell Interface modules that the G5 Stack Switchgear can support for that stack configuration.

The following are approximate cell voltage scan rates for different lengths of G5 Cell Interface daisy chains where all cells are installed.

Table 18. Cell Voltage Scan Rates for CI-24
CI-24 Chain Length Scan Rate [Hz]

1

4.43

5

3.20

10

2.38

15

1.88

20 (max)

1.51

5.1.3. Environmental Conditions

The Nuvation Energy G5 High-Voltage BMS environmental conditions are captured in the table below.

For transportation, it is recommended that the G5 Stack Switchgear be shipped in its original packaging via pallet whenever possible.

Symbol Parameter Min Typ Absolute Max Units

Thermal Specifications

Ta

Operating Temperature

-20

25

60

°C

Storage Temperature

-30

25

60

°C

Humidity Specifications

RH

Operational Relative Humidity

5

-

85

%

Storage Relative Humidity

5

-

85

%

Shock and Vibration Specifications

Vertical

Vertical shock/vibration (SAE J2380)

-

-

10

m/s2

Longitudinal

Longitudinal shock/vibration (SAE J2380)

-

-

10

m/s2

Transverse

Transverse shock/vibration (SAE J2380)

-

-

10

m/s2

Pulse vibration

On each axis (SAE J2464)

-

-

245

m/s2

5.2. Status LEDs

The status LEDs provide an indication of the functional status of the G5 Stack Switchgear. A more detailed status may be accessed via the G5 Operator Interface.

5.2.1. G5 Stack Switchgear Status LEDs

The G5 Stack Switchgear has several LEDs that are used for displaying information about the status of the BMS.

g5 ssg led fault power
Figure 45. Fault and Power LEDs
Power LED

The POWER LED (green) provides information on the state of the G5 Stack Switchgear. Nominally, if this LED is On it indicates that the system is powered on.

Fault LED

The FAULT LED (red) provides information on the G5 Stack Switchgear status. Nominally, if this LED is On it indicates the G5 Stack Switchgear is faulted.

g5 ssg led ethernet linkbus
Figure 46. Ethernet and Linkbus LEDs
Link Out LEDs

There are two LEDs on the right side of the connector labelled 'Link Out' on the G5 Stack Switchgear.

The BMS Activity LED (green) provides information on the G5 High-Voltage BMS state.

This LED state combined with the Power, Fault and Link Activity LEDs states provide information on the G5 High-Voltage BMS state.

The Link Activity LED (amber) provides information on the G5 High-Voltage BMS state.

This LED state combined with the Power, Fault and Link Activity LEDs states provide information on the G5 High-Voltage BMS state.

Ethernet LEDs

There are two LEDs on the left side of the connector labelled 'Ethernet' on the G5 Stack Switchgear.

The upper LED is the Activity LED. A solid light means a connection between the devices. The LED will flash whenever data is being transmitted. No light means that there is no current connection.

The lower LED is the Line Speed indicator for Ethernet data speeds. It will be orange for 10 Mbit and green for 100 MBit line speeds.

The ethernet LEDs are used only for displaying information on ethernet activity.

5.2.1.1. Determining BMS State from LED Status

The Fault, Power, BMS Activity and Linkbus Activity LED may be On, Off, Blinking or Slow Blinking. When Blinking the LED toggles On/Off with a 2 second period and 50% duty cycle. Slow Blinking has a ten second period with 50% duty cycle. Blinking and Slow Blinking states are not used with the Linkbus Activity, which toggles based on amount of traffic going over the linkbus. The following table provides a reference for determining the system status based on the state of the LEDs:

Table 19. G5 High-Voltage BMS State based on LED Status
Power LED Fault LED BMS Activity LED Linkbus Activity LED State Indication

Off

Off

Off

Off

BMS is unpowered

On

Off

On

N/A

BMS is Operational

On

On

On

N/A

BMS is Operational and faulted

On

Off

Off

N/A

BMS is in Service Lockout

On

On

Blinking

N/A

BMS is in Self Test

On

N/A

N/A

Blinking

Indicates Linkbus communicating

On

On

N/A

On

Indicates Linkbus Fault

On

N/A

N/A

Off

Indicates no Linkbus Communication

Blinking

Off

Off

Off

Unable to boot

Blinking

Blinking

Off

Off

Upgrading firmware

Blinking

Off

Blinking

Off

Network Config Reset

Blinking

Blinking

Blinking

Off

Network reset, restore factory firmware and configuration

Blinking

Blinking

On

Off

Network reset, restore factory firmware and configuration

5.3. Using the Operator Interface

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.

oi dashboard
Figure 47. Nuvation Energy BMS Operator Interface Dashboard screenshot
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.

oi all ok

An ALL OK indicates that there are no faults or warning. This is the normal state for Nuvation Energy BMS.

oi warning

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.

oi fault

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.

ssoi gauge 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.

ssoi gauge stack current
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%.

ssoi gauge soc
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.

ssoi gauge dod
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.

ssoi gauge cell voltage
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.

ssoi gauge cell temperature
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.

Operation Status

Nuvation Energy BMS operation state is shown in the big status circular indicator.

oi possible bms status
Figure 48. Three possible Nuvation Energy BMS operation states

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.

Connection State

The battery stack connection state is shown in the oval indicator.

oi possible connection status
Figure 49. Three possible connection states

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.

Information Table

The information table shows the number of cells that are having excess energy bled off to maintain a balanced battery stack.

oi dashboard info table

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.

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.

ssoi details tab
Figure 50. Nuvation Energy BMS Operator Interface Details tab screenshot
5.3.2.1. Addressing

The Addressing accordion presents the addressing information for your Nuvation Energy BMS.

ssoi details tab addressing
Figure 51. Addressing accordion in Details Tab
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.

ssoi details tab battery
Figure 52. Battery accordion in Details Tab
5.3.2.3. 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.

ssoi details tab safety
Figure 53. Safety accordion in Details Tab

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.

ssoi details tab safety clear faults
Figure 54. Bottom of Safety accordion in Details Tab

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

ssoi details tab cell voltages
Figure 55. Cell Voltages accordion in Details Tab
ssoi details tab cell voltages open wire
Figure 56. Cell Voltages with open wires accordion in Details Tab
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.

ssoi filter on voltage
5.3.2.5. 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.

ssoi details tab thermistor temperature hvbms
Figure 57. Thermistor accordion in Details Tab
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.

ssoi filter on temperature
5.3.2.6. 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.

ssoi details tab open wire acquire
Figure 58. Open Wire accordion in Details Tab

To trigger diagnostics on all cells, click the "Acquire Open Wire Ratios" button. Once clicked, the open wire scanning process begins.

ssoi details tab open wire acquiring
Figure 59. Open Wire acquiring accordion in Details Tab

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.

ssoi details tab open wire
Figure 60. Open Wire diagnostics accordion in Details Tab

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.

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.

ssoi filter on open wire
5.3.2.7. 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).

ssoi details tab soc calibration
Figure 61. SoC Calibration accordion in Details Tab

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.

register browser
Figure 62. Register Browser
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.

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.

The G5 High-Voltage BMS ships with a configuration file specific for its end application. Serious problems might occur if the configuration settings are incorrectly modified. If you need assistance with modifying the configuration file, please contact support@nuvationenergy.com.
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:

  1. From the menu, select Service

  2. Click Export Configuration

Upgrade
This is restricted option requiring the Operator Interface to be unlocked to access this option.
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.
Please contact support@nuvationenergy.com before attempting a firmware upgrade. The current configuration file may not be compatible with different firmware version. Without a valid configuration file, the G5 Stack Switchgear will be rendered non-functional.
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.

oi label

To update a label:

  1. From the menu, select Service

  2. Click Edit under the label section

oi label section
  1. Enter a suitable name for the stack

  2. 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.
oi label hyphen
Editing an IP Address

To edit an IP address:

  1. From the menu, select Service

  2. Click Edit under the ethernet section

oi ethernet
  1. Enter the IP address of your choice

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

The G5 High-Voltage BMS ships from the factory with password protection on the Operator Interface. Please contact support@nuvationenergy.com for the factory password and documentation for advanced modifications of the G5 High-Voltage BMS.

When the Operator Interface is unlocked, the lock indicator will be replaced with an unlocked indicator.

oi lock
Figure 63. Operator Interface Locked indicator
oi unlock
Figure 64. Operator Interface Unlocked indicator
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.

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.

ssoi g5 about
Figure 65. Sample About Screen

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.

oi status service lockout
Figure 66. Operator Interface Service Lockout indicator
oi status entering lockout
Figure 67. Operator Interface Entering Service Lockout indicator
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.

oi status self check
Figure 68. Operator Interface Self Check indicator
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.

oi status comm lost
Figure 69. Operator Interface Communication lost indicator

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:

  1. Exiting Service Lockout

  2. 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
  1. Unlock the Operator Interface by clicking the Lock indicator and enter the password if prompted.

  2. From the menu, select Service to bring up the Service page

    oi menu service
  3. Click Enter Service Lockout to enter Service Lockout

    oi service lockout button
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.
Shutdown Timer for G5 High-Voltage BMS

To protect your batteries, the G5 High-Voltage BMS automatically shuts down after an hour of being in Service Lockout.

If the Enable input is asserted, (Enable Input) , this built-in protection will be disabled and the G5 High-Voltage BMS will remain powered up after 1 hour has expired. Note, the G5 High-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.

If UVLO is disabled or not configured properly (refer to Section 6.7.4, “UVLO Enable Config Switch Input”), the G5 High-Voltage BMS will remain powered on after this period has expired.
5.3.5.2. Exiting Service Lockout
  1. Unlock the Operator Interface by clicking the Locked indicator and enter the password if prompted.

  2. From the menu, select Service to bring up the Service page

    oi menu service
  3. Exit the Service Lockout by clicking Exit Service Lockout

Exiting Service Lockout may close contactors
  1. 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 8.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.

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

Nuvation Energy BMS implements the SunSpec battery models defined in the Modular Energy Storage Architecture (MESA) as the top-level Modbus interface to the product. Specifically, the BMS implements the MESA Draft 3 Storage models (800 Series).

The specifications for these models are available for download at https://www.nuvationenergy.com/technical-resources.

MESA Draft 3 is currently implemented on Nuvation Energy BMS.
5.4.1.1. 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).

The G5 High-Voltage BMS has separate regions of Modbus points to access the following data:

  1. MESA standard data models as detailed in Section 5.4.1.2, “Implemented MESA Models”

  2. Configurable Modbus points to access specific Battery Management System registers as detailed in Section 5.4.1.5, “Configurable Modbus”.

The Battery Management System uses the Modbus unit identifier from the Modbus TCP protocol to select the different regions of data. The start address and unit identifier of each region of Modbus points are shown in the following table. All data is accessed as holding registers in each selected region.

Table 20. Data Access Based on Modbus Unit Identifier
Unit Identifier Data Accessed Start Address

0

No Modbus points

N/A

1

Original SunSpec data models (e.g. Common,801,802,803)

40000

2

Configurable Modbus data points

0

3-255

No Modbus points

N/A

5.4.1.2. Implemented MESA Models

The MESA standards contain a number of 'models' that can be implemented by vendors to describe a storage device at various levels of detail. The models implemented by Nuvation Energy BMS are described in the sections below.

Detailed register maps for all Draft 3 models are found in the document MESA-Energy-Storage-Information-Models_Draft_3.xlsx found at the Nuvation Energy technical resources located at https://www.nuvationenergy.com/technical-resources.

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 21, “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.

Table 21. Common Model Points
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 sc_mfg_info.manufacturing<0-3>`

Opt

40036

Options

Set to "Fully Loaded"

Vr

40044

Version Information

Contents of the sc_fw_image.build_version​ and sc_fw_image.build_id BMS registers separated by a colon

SN

40052

Device Serial Number

Contents of BMS registers sc_mfg_info.serialnumber<0-1>

DA

40068

Device Address

Set to 0x1234

S801

This model describes an energy storage device at the highest possible level. State-of-Charge and overall alarm and warning states are found here. All mandatory points are implemented. The Modbus address of this model is 40070.

S802

This model describes a battery storage device. At this level, the critical operational information includes the charge and discharge current limits. All mandatory points are implemented. The Modbus address of this model is 40094.

S803

This model describes a lithium-ion battery in detail. Voltage, temperature, and current statistics are available at the pack and stack level within this model. All mandatory and most optional points are implemented. The Modbus address of this model is 40116.

End Model

This model marks the end of the implemented Modbus address space.

5.4.1.3. MESA Model Structure and Nomenclature

This section is a clarification of terms used to describe a MESA model. It is used to understand the terminology in the spreadsheet presented in the previous section.

Points

All MESA models are a collection of points (i.e. Modbus registers). These points can be one or more Modbus registers in length. By definition, each Modbus register is 16 bits wide. For points that are larger than one Modbus register, partial read accesses are not allowed. A Modbus request to a MESA 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 MESA s802 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.

Fixed/Repeating Blocks

MESA models are described as collections of Fixed and Repeating blocks of points. A Fixed block is a set of points that is always defined and never changes in its size. A Repeating block describes a set of related points (i.e. usually for a string of batteries) of which there could be multiple instances of the Repeating blocks. The points within a repeating block are the same but these sets of blocks are concatenated sequentially.

For example in the 803 model, there is a set of repeating blocks that describe data for a particular stack/string of batteries. Accessing the 803 repeating block corresponds to using a stack/string index (0, 1, 2, …​) to access the desired repeating block.

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.

Unimplemented Points

Any MESA point that is not implemented by a vendor will generate an unimplemented response. The response will be a valid Modbus read response but all point data returned will report unimplemented values. The unimplemented values vary by type as listed in the following table.

Table 22. Unimplemented Point Values
Type Width (bits) Unimplemented Value (hexadecimal)

signed int

16

0x8000

unsigned int

16

0xFFFF

signed int

32

0x80000000

unsigned int

32

0xFFFFFFFF

enumeration

16

0xFFFF

enumeration

32

0xFFFFFFFF

A write to a writeable MESA point that is unimplemented will generate a Modbus write error.

The MESA implementation on Nuvation Energy BMS has unimplemented points as follows:

Table 23. Unimplemented MESA Points
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

Scale Factors

All MESA points are integer values (signed or unsigned). To account for different range values beyond the data size (i.e. greater than 65535 for an unsigned 16 bit value) or some fractional value (i.e. 1.1), some MESA points have scale factors associated with them. The scale factor is another point within the model which contains a signed integer exponent of base 10 that scales a corresponding point value. For example, a scale factor of 2 would result in multiplying the corresponding point by 100. Likewise a scale factor of -3 would result in a scale factor of 0.001. Refer to the prior MESA Draft 3 spreadsheet for the relationship between MESA points and their scale factors. All scale factors are fixed for a model and do not change in value.

5.4.1.4. Operational Cases for MESA

There are two main operational cases for the control of Nuvation Energy BMS over its MESA interface:

  1. An external controller (sometimes called "Energy Storage Controller") is used to coordinate power control functions of the BMS in conjunction with some other equipment (such as an inverter). This controller requires periodic and rapid responses of MESA point reads as well as some control over the operation of the BMS (such as stack connectivity). If there is a loss of communication between this controller and the BMS, the BMS will disconnect the stack(s) as a safety precaution.

  2. 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 MESA 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.

External Controller Communicating Over MESA Interface

An external controller typically polls Nuvation Energy BMS battery control points at a rate of 2–4 Hz. This controller reads data points required to manage current flow in the system. The following table summarizes the most important points an external controller may want to read from the BMS.

Table 24. MESA Points Read by an External Controller
Model Block Point Name Address Scale Factor Purpose

801

Fixed

DERHb

40086

No

BMS Heartbeat counter incremented every second

802

Fixed

Evt1

40101

No

Bit field of all faults/warnings of a the BMS

802

Fixed

Vol

40105

Yes

External DC voltage of the battery system

802

Fixed

MaxBatACha

40106

Yes

Charge current limit calculated by the BMS

802

Fixed

MaxBatADischa

40107

Yes

Discharge current limit calculated by the BMS

803

Fixed

BTotDCCur

40127

Yes

Total DC current of the battery system

A controller may also want to command Nuvation Energy BMS to perform certain actions, such as connecting/disconnecting the battery. The following table provides the different writeable points in the MESA interface for different control functions:

Table 25. MESA Points Written to by an External Controller
Model Block Point Name Address Purpose

801

Fixed

ControllerHb

40087

Heartbeat register for external controller

801

Fixed

DERAlarmReset

40088

Clears all latched alarms in the BMS

802

Fixed

BSetOperation

40110

Commands Nuvation Energy BMS to connect/disconnect the battery

When configured, the heartbeat controller can be used to update the watchdog timer of Nuvation Energy BMS on single-stack and multi-stack implementations. If the heartbeat point is not updated within the watchdog timer period, a fault will be generated on the BMS stack and its corresponding contactors will be opened. The value written to the heartbeat point must increase in value and roll over to zero when the 16 bit range limit is reached.

The clearing of alarms of Nuvation Energy BMS is accomplished by writing a value of 1 to the DERAlarmReset point. This point is erroneously identified as read-only in the MESA Draft 3 spreadsheet referenced earlier. Note that the alarm will not be cleared if the alarm condition is still present.

Only BMS Faults are cleared using this point. BMS Warnings are not cleared.

Commanding the Nuvation Energy BMS stack/string to connect/disconnect is accomplished through the BSetOperation point. This point accepts the enumerated values for these connect/disconnect operations. Additional connection logic (such as separate pre-charge circuitry) is managed automatically by the BMS when it is configured for such an operation.

External Nuvation Energy BMS Monitoring Over MESA Interface

An external data logger may want to access a variety of data from the BMS. In general, a data logger will not actively manage Nuvation Energy BMS; normally, it will not initiate actions such as connecting a battery stack to the DC voltage bus or clearing faults. A data logger should connect to one of the read-only Modbus connections (if available) to allow the writable Modbus connection to be available for separate external control functions. The following table contains the MESA data points exposed by the BMS that could be collected for logging purposes.

Table 26. MESA Points Read by External Data Logger
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.5. Configurable Modbus

The Modbus communication interface has been augmented with a new range of Modbus points. These points allow the mapping of BMS registers into read/write Modbus operations. The mapping of BMS registers to Modbus is accomplished by two different approaches.

  1. Mapping of up to 256 individual BMS registers to a set of Modbus points

  2. The bulk mapping of BMS register instances (i.e. cell voltages) into a set of Modbus points. Up to 16 different bulk maps can be configured.

Both Modbus read and write operations are supported for the individual BMS register points. This flexibility allows a greater range of Battery Management System data not expressed in the SunSpec Storage models to be accessed over Modbus.

The Battery Management System data that is associated with its safe operation can not be written to over Modbus when the Battery Management System has its factory configuration locked.

The access to these configurable Modbus points is controlled by the unit identifier used in the Modbus TCP protocol. The unit identifier selects between the MESA data models and the configurable Modbus points. The unit identifier and start address of each region of Modbus points is in Table 20, “Data Access Based on Modbus Unit Identifier”. All data is accessed as holding registers in each region.

The configurable Modbus points are further split into different address regions. There are two different types of address regions.

  1. 256 BMS registers accessible through read/write Modbus points

  2. 16 sets of read only bulk map Modbus points

The bulk map regions of configurable Modbus points allow mapping of arrays of similar data measurements, such as cell voltages or temperatures, without having to configure each register address.

Table 27. Configurable Modbus Holding Register Addresses
Modbus Region ID Holding Register Address Range Configurable Data Accessed

0

0x0000 - 0x03FF

Configurable Modbus points

1

0x0400 - 0x0B7F

Configurable bulk map region 1

2

0x0B80 - 0x12FF

Configurable bulk map region 2

3

0x1300 - 0x1A7F

Configurable bulk map region 3

…​.

…​.

…​.

15

0x6D00 - 0x747F

Configurable bulk map region 15

16

0x7480 - 0x7BFF

Configurable bulk map region 16

The Modbus Region ID is used in the following configuration section to identify which regions of the configurable Modbus correspond to the BMS register configuration.

Configuration

The following BMS registers are used to configure the Configurable Modbus points and bulk map points. The Modbus Region ID is used from the prior Modbus holding register table to identify which different Modbus region the configuration applies to.

Table 28. Configurable Modbus Configuration Registers
BMS Register Description Modbus Region ID

sc_modbus_map[0:255].address

Specifies the address of the BMS address to access

0

sc_modbus_map[0:255].command

Specifies if the access is read-only (0) or read/write (1) for the corresponding address

0

sc_modbus_bulk_map[0:15].baseaddress

Specifies the base address of set of BMS register instances to access as a bulk map

1 to 16

sc_modbus_bulk_map[0:15].baseenableaddress

Specifies the base address of set of BMS register instances that are used to determine each corresponding bulk instance is installed

1 to 16

The following is an example configuration for the Configurable Modbus. This configuration provides the following output and control:

  1. Read registers from entries 0 through 27 in Modbus region ID 0

  2. Read/Write registers from 100 through 104 in Modbus region ID 0

  3. Read cell voltages from Modbus bulk map region ID 1

  4. Read cell temperatures from Modbus bulk map region ID 2

  5. Read cell balancing counters from Modbus bulk map region ID 3

Example configuration for Configurable Modbus
#
##############################################################################
# MODBUS
##############################################################################
#
# Individual Read Points
#
sc_modbus_map[0].address                            = @sc_clock.seconds
sc_modbus_map[1].address                            = @stack_soc.soc
sc_modbus_map[2].address                            = @stack_soc.dod
sc_modbus_map[3].address                            = @stack_power.voltage
sc_modbus_map[4].address                            = @stack_power.current
sc_modbus_map[5].address                            = @stack_power.power
sc_modbus_map[6].address                            = @ssg_bus_power.voltage
sc_modbus_map[7].address                            = @ssg_bus_power.current
sc_modbus_map[8].address                            = @ssg_bus_power.power
sc_modbus_map[9].address                            = @stack_power.energy
sc_modbus_map[10].address                           = @stack_power.throughput_charge_energy
sc_modbus_map[11].address                           = @stack_power.throughput_discharge_energy
sc_modbus_map[12].address                           = @stack_power.charge
sc_modbus_map[13].address                           = @stack_power.throughput_charge
sc_modbus_map[14].address                           = @stack_power.throughput_discharge
sc_modbus_map[15].address                           = @stack_cell_stat.max
sc_modbus_map[16].address                           = @stack_cell_stat.min
sc_modbus_map[17].address                           = @stack_cell_stat.avg
sc_modbus_map[18].address                           = @stack_therm_stat.max
sc_modbus_map[19].address                           = @stack_therm_stat.min
sc_modbus_map[20].address                           = @stack_therm_stat.avg
sc_modbus_map[21].address                           = @stack_current_limit.charge_current_disable
sc_modbus_map[22].address                           = @stack_current_limit.discharge_current_disable
sc_modbus_map[23].address                           = @stack_current_limit.charge_current_limit
sc_modbus_map[24].address                           = @stack_current_limit.charge_current_percent
sc_modbus_map[25].address                           = @stack_current_limit.discharge_current_limit
sc_modbus_map[26].address                           = @stack_current_limit.discharge_current_percent
sc_modbus_map[27].address                           = @stack_control.connection_state
#
# Individual Write Points
#
sc_modbus_map[100].address                           = @stack_trigger_summary.clear_faults
sc_modbus_map[100].command                           = 1
sc_modbus_map[101].address                           = @stack_control.requested_state
sc_modbus_map[101].command                           = 1
sc_modbus_map[102].address                           = @sc_controller_heartbeat.value
sc_modbus_map[102].command                           = 1
sc_modbus_map[103].address                           = @sc_gpo[0].value
sc_modbus_map[103].command                           = 1
sc_modbus_map[104].address                           = @sc_gpo[1].value
sc_modbus_map[104].command                           = 1
#
# Bulk Modbus report block: cell voltages
#
sc_modbus_bulk_map[0].base_address                  = @cell.voltage
sc_modbus_bulk_map[0].enabled_address               = @cell.installed
#
# Bulk Modbus report block: cell temperatures
#
sc_modbus_bulk_map[1].base_address                  = @therm.temperature
sc_modbus_bulk_map[1].enabled_address               = @therm.installed
#
# Bulk Modbus report block: cell balancing event counters
#
sc_modbus_bulk_map[2].base_address                  = @cell.balancing_event_count
sc_modbus_bulk_map[2].enabled_address               = @cell.installed
#
5.4.1.6. Accessing MESA Models

MESA models are located contiguously in the Modbus address space starting at a base address of 40000. The Common Model is always located first in this space. The End Model is always last and is used to denote the end of MESA Modbus registers. Each model located between the Common Model and the End Model has a numeric identifier as well as a length. A handy tool that can be used to explore the MESA Modbus registers for Nuvation Energy BMS is modpoll.exe. It is available for free download at http://www.modbusdriver.com/modpoll.html.

Using modpoll.exe, the Common Model can be polled from a using the following command (assuming the device has an IP address of 192.168.1.21)

Polling example with BMS IP address of 192.168.1.21
modpoll.exe -m tcp -0 -r 40000 -c 70 192.168.1.21

modpoll 3.4 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright (c) 2002-2013 proconX Pty Ltd
Visit http://www.modbusdriver.com for Modbus libraries and tools.

Protocol configuration: MODBUS/TCP
Slave configuration...: address = 1, start reference = 40000 (PDU), count = 70
Communication.........: 192.168.1.21, port 502, t/o 1.00 s, poll rate 1000 ms
Data type.............: 16-bit register, output (holding) register table

-- Polling slave... (Ctrl-C to stop)
[40000]: 21365
[40001]: 28243
[40002]: 1
[40003]: 66
.
.
.
[40068]: 4660
[40069]: -32768

As another example, the complete S802 model for a system with one stack could be polled using the following command:

Example with BMS IP address of 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.5. Fault/Warning/User Trigger Bitfields

Fault, warning and user defined triggers are aggregated to separate bitfield registers. Likewise there is a bitfield defined to identify the fault/warning/user triggers that are not initialized. This later data can be used to identify the cause(s) of why a BMS does not complete its Self Check.

The following table lists the new bitfield registers.

Table 29. Aggregated Fault/Warning Bitfields
Register Description

sc_bitfield_fault_triggered

Aggregation of all fault triggers to a bitfield

sc_bitfield_warning_triggered

Aggregation of all warning triggers to a bitfield

sc_bitfield_user_trig_triggered

Aggregation of all user defined triggers to a bitfield

The registers for each bitfield component are defined as follows:

Table 30. Aggregated Bitfield Registers
Register Description

sc_bitfield_*.bit_count

Number of aggregated bits in the bitfield

sc_bitfield_*.bitfield

Aggregated bitfield data

sc_bitfield_*.initialized

Indication of triggers that have been initialized. A trigger is initialized if the data it monitors has been received at least once. An uninitialized trigger is usually due to either a mis-configuration or a hardware failure that prevents data acquisition. An initialized trigger has passed it corresponding Self Check.

Refer to Section 8.1, “Faults and Self Check Failures” to assess Self Check failures.

Several helper components are defined to identify which trigger each active bit in the bitfields is mapped to. The number of instances of each bitfield helper corresponds to the register value of sc_bitfield_*.bit_count. The helper instance index maps to each bit in the corresponding bitfield for sc_bitfield_*.bitfield. These bitfield associations are constant for the firmware released and will not change due to any configuration change. The helper components available are as follows:

Table 31. Bitfield Helper Components
Component Description

sc_bitfield_fault_helper

Helper component for the fault bitfield

sc_bitfield_warning_helper

Helper component for the warning bitfield

sc_bitfield_user_trig_helper

Helper component for the user trigger bitfield

Each helper component instance contains one register called:

sc_bitfield_*_helper[*].base_address

These registers define the base address of the fault/warning/user trigger. The base addresses of every component can be read from a corresponding column on the Registers page accessed from the Operator Interface. Each helper instance is mapped 1:1 to the bit in the corresponding bitfield register.

Only a maximum of 63 bits are added to a bitfield. This limit is imposed to avoid the case of 64 triggers being set which could be interpreted as an unimplemented point according to the SunSpec Modbus data models.
The Configurable Modbus feature could be used to read these bitfields over Modbus

5.5.1. Fault Bit Mapping for Faraday Update 1

There are two instances of this bitfield to contain all faults.

Table 32. Fault Bitfield Mapping
Bitfield Component Instance Bit Mapped Component

sc_bitfield_fault_triggered

0

0

ssg_fault_afe_wdt

sc_bitfield_fault_triggered

0

1

ssg_fault_afe_math_overflow

sc_bitfield_fault_triggered

0

2

ssg_fault_afe_config_mismatch

sc_bitfield_fault_triggered

0

3

ssg_fault_afe_reset

sc_bitfield_fault_triggered

0

4

ssg_fault_afe_thermistor_bist

sc_bitfield_fault_triggered

0

5

ssg_fault_currents_mismatch

sc_bitfield_fault_triggered

0

6

ssg_fault_vcoil_voltage_over

sc_bitfield_fault_triggered

0

7

ssg_fault_vcoil_voltage_range

sc_bitfield_fault_triggered

0

8

ssg_fault_vcoil_state_mismatch

sc_bitfield_fault_triggered

0

9

ssg_fault_unexpected_bus_voltage

sc_bitfield_fault_triggered

0

10

ssg_fault_temperature_short_shunt

sc_bitfield_fault_triggered

0

11

sc_fault_controller_wdt

sc_bitfield_fault_triggered

0

12

sc_fault_ci_auth

sc_bitfield_fault_triggered

0

13

stack_fault_precharge_over_current

sc_bitfield_fault_triggered

0

14

stack_fault_precharge_timeout

sc_bitfield_fault_triggered

0

15

stack_fault_contactor_feedback_fail

sc_bitfield_fault_triggered

0

16

sc_fault_ci_internal_temp_over

sc_bitfield_fault_triggered

0

17

stack_fault_cell_hi

sc_bitfield_fault_triggered

0

18

stack_fault_cell_lo

sc_bitfield_fault_triggered

0

19

stack_fault_voltage_hi

sc_bitfield_fault_triggered

0

20

stack_fault_voltage_lo

sc_bitfield_fault_triggered

0

21

stack_fault_discharge_current_hi

sc_bitfield_fault_triggered

0

22

stack_fault_charge_current_hi

sc_bitfield_fault_triggered

0

23

stack_fault_discharge_therm_hi

sc_bitfield_fault_triggered

0

24

stack_fault_discharge_therm_lo

sc_bitfield_fault_triggered

0

25

stack_fault_charge_therm_hi

sc_bitfield_fault_triggered

0

26

stack_fault_charge_therm_lo

sc_bitfield_fault_triggered

0

27

ssg_fault_cpu_register_self_test_wdt

sc_bitfield_fault_triggered

0

28

ssg_fault_clock_accuracy_test_wdt

sc_bitfield_fault_triggered

0

29

ssg_fault_afe_aggregate

sc_bitfield_fault_triggered

0

30

ssg_fault_afe_rom_bist_fresh_wdt

sc_bitfield_fault_triggered

0

31

ssg_fault_afe_ram_bist_fresh_wdt

sc_bitfield_fault_triggered

0

32

ssg_fault_afe_cpu_bist_fresh_wdt

sc_bitfield_fault_triggered

0

33

ssg_fault_afe_thermistor_bist_fresh_wdt

sc_bitfield_fault_triggered

0

34

ssg_fault_afe_adc_register_bist

sc_bitfield_fault_triggered

0

35

ssg_fault_afe_spi_cs_bist

sc_bitfield_fault_triggered

0

36

ssg_fault_afe_spi_data_bist

sc_bitfield_fault_triggered

0

37

ssg_fault_power_conn_temp_over

sc_bitfield_fault_triggered

0

38

ssg_fault_therms_wdt

sc_bitfield_fault_triggered

0

39

ssg_fault_power_conn_temp_consistency

sc_bitfield_fault_triggered

0

40

ssg_fault_therm_circuit_fail

sc_bitfield_fault_triggered

0

41

ssg_fault_ambient_therm_fail

sc_bitfield_fault_triggered

0

42

sc_fault_ci

sc_bitfield_fault_triggered

0

43

stack_fault_cell_wdt

sc_bitfield_fault_triggered

0

44

stack_fault_therm_wdt

sc_bitfield_fault_triggered

0

45

stack_fault_ci_wdt

sc_bitfield_fault_triggered

0

46

sc_fault_ci_therm_mux_fail_wdt

sc_bitfield_fault_triggered

0

47

stack_fault_open_wire_wdt

sc_bitfield_fault_triggered

0

48

stack_fault_power_wdt

sc_bitfield_fault_triggered

0

49

sc_fault_ram_test_wdt

sc_bitfield_fault_triggered

0

50

sc_fault_rom_test_wdt

sc_bitfield_fault_triggered

0

51

sc_fault_factory_verify_wdt

sc_bitfield_fault_triggered

0

52

ssg_fault_contactor_life_verify_wdt

sc_bitfield_fault_triggered

0

53

sc_fault_register_link

sc_bitfield_fault_triggered

0

54

sc_fault_clocks

sc_bitfield_fault_triggered

0

55

stack_fault_cell_open_wire

sc_bitfield_fault_triggered

0

56

stack_fault_therm_circuit_fail

sc_bitfield_fault_triggered

0

57

sc_fault_ci_therm_mux_fail

sc_bitfield_fault_triggered

0

58

sc_fault_config_factory

sc_bitfield_fault_triggered

0

59

sc_fault_config_factory_verify

sc_bitfield_fault_triggered

0

60

ssg_fault_config_contactor_life

sc_bitfield_fault_triggered

0

61

ssg_fault_config_contactor_life_verify

sc_bitfield_fault_triggered

0

62

ssg_fault_contactor_life_sanity_check

sc_bitfield_fault_triggered

1

0

stack_fault_voltage_sum

sc_bitfield_fault_triggered

1

1

stack_fault_ci_therm_consistency

sc_bitfield_fault_triggered

1

2

ssg_fault_contactor_end_of_life

sc_bitfield_fault_triggered

1

3

ssg_fault_charge_current_over

sc_bitfield_fault_triggered

1

4

ssg_fault_charge_current_hi

sc_bitfield_fault_triggered

1

5

ssg_fault_discharge_current_hi

sc_bitfield_fault_triggered

1

6

ssg_fault_discharge_current_over

sc_bitfield_fault_triggered

1

7

ssg_fault_voltage_over

sc_bitfield_fault_triggered

1

8

stack_fault_cell_over

sc_bitfield_fault_triggered

1

9

stack_fault_cell_under

sc_bitfield_fault_triggered

1

10

stack_fault_discharge_current_over

sc_bitfield_fault_triggered

1

11

stack_fault_charge_current_over

sc_bitfield_fault_triggered

1

12

ssg_fault_bus_discharge_current_over

sc_bitfield_fault_triggered

1

13

ssg_fault_bus_charge_current_over

sc_bitfield_fault_triggered

1

14

stack_fault_voltage_over

sc_bitfield_fault_triggered

1

15

stack_fault_voltage_under

sc_bitfield_fault_triggered

1

16

stack_fault_charge_therm_over

sc_bitfield_fault_triggered

1

17

stack_fault_charge_therm_under

sc_bitfield_fault_triggered

1

18

stack_fault_discharge_therm_over

sc_bitfield_fault_triggered

1

19

stack_fault_discharge_therm_under

sc_bitfield_fault_triggered

1

20

ssg_fault_gpi

sc_bitfield_fault_triggered

1

21

ssg_fault_hysteresis_aggregate

sc_bitfield_fault_triggered

1

22

sc_fault_comm_hysteresis_aggregate

sc_bitfield_fault_triggered

1

23

sc_fault_batt_hysteresis_aggregate

sc_bitfield_fault_triggered

1

24

sc_fault_config

sc_bitfield_fault_triggered

1

25

stack_fault_combined_therm_hi

sc_bitfield_fault_triggered

1

26

stack_fault_combined_therm_lo

sc_bitfield_fault_triggered

1

27

stack_fault_combined_voltage_hi

sc_bitfield_fault_triggered

1

28

stack_fault_combined_voltage_lo

5.5.2. Warning Bit Mapping for Faraday Update 1

There is only one instance of this bitfield.

Table 33. Warning Bitfield Mapping
Bitfield Component Instance Bit Mapped Component

sc_bitfield_warning_triggered

0

0

ssg_warn_fan_control_dc_error

sc_bitfield_warning_triggered

0

1

sc_warn_controller_wdt

sc_bitfield_warning_triggered

0

2

stack_warn_discharge_therm_hi

sc_bitfield_warning_triggered

0

3

stack_warn_discharge_therm_lo

sc_bitfield_warning_triggered

0

4

stack_warn_charge_therm_hi

sc_bitfield_warning_triggered

0

5

stack_warn_charge_therm_lo

sc_bitfield_warning_triggered

0

6

stack_warn_cell_hi

sc_bitfield_warning_triggered

0

7

stack_warn_cell_lo

sc_bitfield_warning_triggered

0

8

stack_warn_voltage_hi

sc_bitfield_warning_triggered

0

9

stack_warn_voltage_lo

sc_bitfield_warning_triggered

0

10

stack_warn_discharge_current_hi

sc_bitfield_warning_triggered

0

11

stack_warn_charge_current_hi

sc_bitfield_warning_triggered

0

12

stack_warn_cell_open_wire

sc_bitfield_warning_triggered

0

13

ssg_warn_contactor_end_of_life

sc_bitfield_warning_triggered

0

14

sc_warn_factory_backup_error

sc_bitfield_warning_triggered

0

15

sc_warn_bms_backup_error

sc_bitfield_warning_triggered

0

16

sc_warn_network_backup_error

sc_bitfield_warning_triggered

0

17

ssg_warn_mfg_info

sc_bitfield_warning_triggered

0

18

ssg_warn_gpi

sc_bitfield_warning_triggered

0

19

ssg_warn_hysteresis_aggregate

sc_bitfield_warning_triggered

0

20

sc_warn_hysteresis_aggregate

sc_bitfield_warning_triggered

0

21

stack_warn_therm_hi

sc_bitfield_warning_triggered

0

22

stack_warn_therm_lo

sc_bitfield_warning_triggered

0

23

stack_warn_voltage_combined_hi

sc_bitfield_warning_triggered

0

24

stack_warn_voltage_combined_lo

5.5.3. User Trigger Bit Mapping for Faraday Update 1

There is only one instance of this bitfield.

Table 34. User Trigger Bitfield Mapping
Bitfield Component Instance Bit Mapped Component

sc_bitfield_user_trig_triggered

0

0

ssg_trig_fan_control_charge

sc_bitfield_user_trig_triggered

0

1

ssg_trig_fan_control_discharge

sc_bitfield_user_trig_triggered

0

2

stack_trig_cell_hi

sc_bitfield_user_trig_triggered

0

3

stack_trig_cell_lo

sc_bitfield_user_trig_triggered

0

4

stack_trig_voltage_hi

sc_bitfield_user_trig_triggered

0

5

stack_trig_voltage_lo

sc_bitfield_user_trig_triggered

0

6

stack_trig_discharge_current_hi

sc_bitfield_user_trig_triggered

0

7

stack_trig_charge_current_hi

sc_bitfield_user_trig_triggered

0

8

ssg_trig_fan_control_aggregate

sc_bitfield_user_trig_triggered

0

9

stack_trig_uvlo_combined

sc_bitfield_user_trig_triggered

0

10

stack_trig_therm_hi

sc_bitfield_user_trig_triggered

0

11

stack_trig_therm_lo

sc_bitfield_user_trig_triggered

0

12

ssg_trig_afe_stalled

sc_bitfield_user_trig_triggered

0

13

stack_trig_uvlo_cell_voltage

sc_bitfield_user_trig_triggered

0

14

stack_trig_uvlo_stack_voltage

sc_bitfield_user_trig_triggered

0

15

stack_trig_discharge_therm_hi

sc_bitfield_user_trig_triggered

0

16

stack_trig_charge_therm_hi

sc_bitfield_user_trig_triggered

0

17

stack_trig_discharge_therm_lo

sc_bitfield_user_trig_triggered

0

18

stack_trig_charge_therm_lo

sc_bitfield_user_trig_triggered

0

19

ssg_trig_afe_uptime_stalled

sc_bitfield_user_trig_triggered

0

20

ssg_trig_afe_thermistor_bist_update_stalled

sc_bitfield_user_trig_triggered

0

21

ssg_trig_afe_cpu_bist_update_stalled

sc_bitfield_user_trig_triggered

0

22

ssg_trig_afe_ram_bist_update_stalled

sc_bitfield_user_trig_triggered

0

23

ssg_trig_afe_rom_bist_update_stalled

sc_bitfield_user_trig_triggered

0

24

ssg_trig_afe_afe_update_stalled

sc_bitfield_user_trig_triggered

0

25

ssg_trig_afe_temperature_update_stalled

6. Configuration Settings

The following sections break down a complete system configuration into the major areas of responsibility.

6.1. Background and Terminology

Terminology and technical concepts critical to the operation and configuration of Nuvation Energy BMS are presented in this section.

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

6.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 MESA Modbus models use one-based location identifiers to refer to physical, countable entities.

For example, the location of the first cell within a stack is defined as Cell Interface 1, Cell 1—i.e. it is the first cell in the first G5 Cell Interface. The index of this first cell is defined as zero within the firmware.

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

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

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 at index. Note that cell[0].voltage is equivalent to cell.voltage.

  • start_index:end_index - All instances from start_index through end_index. The expression cell[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 through end_index within a repeating block of block_length across all instances of the register. For example if there were N instances of the register cell.voltage, the expression cell[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 through end_index within a repeating block of block_length repeated block_count times. The expression cell[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.

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.

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.

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

Table 35. Standard Types and Units
Type Units Variable Type Application

Address

none

uint32

BMS register address

Boolean

false=0, true=1

uint8

Logic value

Charge

mAh

int64

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

uint64

Energy capacity of a stack

Farads

μFarads

uint32

Capacitance of cells

Float

value

float

Single precision floating point

Int8

value

int8

Signed 8 bit integer

Int16

value

int16

Signed 16 bit integer

Int32

value

int32

Signed 32 bit integer

Int64

value

int64

Signed 64 bit integer

Impedance

Ω

uint32

Resistance of a stack

ImpedanceMili

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

NanoVolts

nV

int32

Nano volt measurement

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

UInt32

value

uint32

Unsigned 32 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:

  • stack_current_limit.min_charge_current

  • stack_current_limit.max_charge_current

  • stack_current_limit.max_discharge_current

  • stack_charge_status.hold_current

  • stack_control.precharge_max_current

  • stack_fault_precharge_over_current.thresh

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

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

The G5 High-Voltage BMS ships with a configuration file specific for its end application.
To update the configuration file, please contact support@nuvationenergy.com.

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:

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 D, 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 6.2.4, “Restricted Register Write Operations” for further details.

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

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

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

  1. Ensure all factory registers are configured to their desired value

  2. Write 1 to sc_factory_lockdown.requested_state

  3. Write 1 to sc_factory_persist.save

  4. Wait until sc_factory_persist.save is equal to 0

  5. Verify sc_factory_lockdown.actual_state is equal to 1

6.2.3. Clearing Factory Lockdown

Contact Nuvation for assistance in unlocking a Factory Locked G5 Stack Switchgear.

6.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 36, “Factory Lockdown Whitelist”.

Table 36. Factory Lockdown Whitelist
Register Name Register Address (hexadecimal)

sc_op_state.requested_state

0x448C0

sc_boot.requested_state

0x383E0

stack_trigger_summary.clear_faults

0x203E9

stack_trigger_summary.clear_warnings

0x203EA

stack_factory_trigger_summary.clear_faults

0x364E9

stack_factory_trigger_summary.clear_warnings

0x364EA

sc_linkbus.cell_open_wire_manual_scan

0x113E3

sc_linkbus.diagnostics

0x113E9

stack_control.requested_state

0x313E1

stack_contactor[0].requested_value

0x193E1

stack_contactor[1].requested_value

0x193EF

stack_contactor[2].requested_value

0x193FC

sc_gpo[0].value

0x173E1

sc_gpo[1].value

0x173E6

sc_controller_wdt.expired

0x363E0

sc_controller_heartbeat.value

0x444E0

sc_persist.save

0x4800

sc_persist.load

0x4801

sc_persist.error

0x4802

sc_aux_persist.save

0x4818

sc_aux_persist.load

0x4819

sc_aux_persist.error

0x481A

sc_ci_persist.save

0x63D0

sc_ci_persist.load

0x63D1

sc_ci_persist.error

0x63D2

sc_val_persist.save

0x4820

sc_val_persist.load

0x4821

sc_val_persist.error

0x4822

cell_val_persist.save

0x4830

cell_val_persist.load

0x4831

cell_val_persist.error

0x4832

sc_network_cfg_persist.save

0x4840

sc_network_cfg_persist.load

0x4841

sc_network_cfg_persist.error

0x4842

sc_clock_err_stats.reset

0x29433

sc_stack_stat.reset

0x344E3

sc_linkbus_stat.reset

0x345E3

sc_rom_test_stat.reset

0x346E3

sc_ram_test_stat.reset

0x347E3

stack_balance_stat.update

0x44EE5

stack_soc.reset

0x163E3

stack_soc.reset_soc

0x163E4

stack_soc.reset_capacity

0x163E5

stack_soc.measured_capacity

0x163ED

stack_soc.adaptive_soc

0x163E8

stack_soc.accumulative_soc

0x163E7

ssg_gpi_error_fault.error

0x4CA80

ssg_gpi_error_warn.error

0x4CA70

Configuration storage typed registers can be written to and are exempt from this rule. Refer to Section 6.1.3, “Storage Types” for information on register storage types.

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

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

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

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

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

  2. 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:

  1. Capacity based SoH:

    1. Configure the nominal capacity as describe in the battery capacity section.

    2. Set the stack_soc.nominal_cycle_count register to zero.

  2. Capacity and cycle count based SoH:

    1. Configure both the battery capacity and cycle count.

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

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

  1. Accumulated SoC: Continuously measures and accumulates the charge that is charged/discharged to/from the battery.

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

Table 37. Current Full Condition Configuration
Register Type Units Description

stack_soc.enable

config

bool

Enables the state of charge measurement when set to one. Applies to both SoC techniques

stack_soc.output_select

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.

stack_soc.soc

output

percentage

The current state of charge of the battery

stack_soc.dod

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

6.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 overcharge and make use of electrical balancing circuits to keep cells balanced (e.g. Lithium-Ion), the empty conditions are typically applied against the minimum cell voltages. But for chemistries that make use of overcharge during the charging process as a way to balance the stack (e.g. lead acid), the empty conditions are typically applied against the average cell voltage.
These voltage settings must be carefully aligned with the minimum Cell Voltage Thresholds and Stack Voltage Thresholds for proper SoC operation.
6.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:

  1. The full voltage condition is met (either/both maximum or average setting).

  2. The battery current is between the full current threshold and the negative hold current.

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

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

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

6.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 s802 point: BatTyp

stack_nameplate.energy_capacity
  • The nameplate energy capacity of the battery stack in Wh, corresponding to Sunspec s801 point: WHRtg

stack_nameplate.max_charge_rate
  • The nameplate maximum rate of energy transfer into the battery stack in W, corresponding to Sunspec s801 point: WMaxChaRte

stack_nameplate.max_discharge_rate
  • The nameplate maximum rate of energy transfer out of the battery stack in W, corresponding to Sunspec s801 point: WMaxDisChaRte

stack_nameplate.max_soc
  • The nameplate maximum state of charge expressed as a percentage, corresponding to Sunspec s801 point: SoCNpMaxPct

stack_nameplate.min_soc
  • The nameplate minimum state of charge expressed as a percentage, corresponding to Sunspec s801 point: SoCNpMinPct

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

6.4.1. Cell Inputs

The G5 Cell Interface modules 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

To configure the G5 Cell Interface - 24 channel for G5 Stack Switchgear, the following register configurations must be applied.

Table 38. CI-24 Configuration Registers
Register Value Description

sc_linkbus[0].cicount

0 to 20

Number of CI-24 in the link-bus chain

sc_linkbus[0].softwareid

32

Identifies the CI as a CI-24

sc_linkbus[0].powermode

0

Selects both link-bus and refernce voltage as off

cell[0:23:24:20].installed

0 or 1

Cells are installed in repeated groups of 24

therm[0:7:8:20].installed

0 or 1

Thermistors are installed in repeated groups of 8

6.4.2. Thermistor Inputs

The G5 Cell Interface modules 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 first G5 Cell Interface in the Link Bus chain.

When using multiple G5 Cell Interface modules, therm[8] refers to the first thermistor in the second G5 Cell Interface in the Link Bus chain, therm[16] refers to the first thermistor in the third G5 Cell Interface in the Link Bus chain, and so on.

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

  1. Control current during charging and discharging to keep the battery within normal operating limits.

  2. Warn operators and external systems if the battery is not within normal operating limits

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

system zones
Figure 70. Battery Management System Zones
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.

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

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

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

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

6.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 or Configurable Modbus point 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>

  • ssg_trig_<measurement>_<condition>

6.5.1.5. Externally Activated Fault and Warning

At times there is a need for the G5 High-Voltage BMS to react to events external to itself. For example if a ground fault detection failure was determined in the stack, it would be desirable for that external detection to disconnect the stack. The Nuvation Energy BMS has the ability to configure a fault and/or warning that can be externally triggered using one of the two GPI inputs.

The components that manage the fault and warning are as follows:

  • ssg_fault_gpi

  • ssg_warn_gpi

These fault and warning components are derived from the hysteresis trigger and has the same configuration options available to them. The GPI used to direct the fault/warning signal into the BMS must be configured to write its output to one of these registers.

  • ssg_gpi_error_fault[0].error

  • ssg_gpi_error_warn[0].error

6.5.2. Cell Voltage Thresholds

The following diagram illustrates how cell voltage trigger thresholds are configured in typical applications.

voltage protection thresholds
Figure 71. Typical Arrangement of Cell Voltage Thresholds

These thresholds also affect the current limits of the system as shown below.

voltage current limits
Figure 72. Typical Arrangement of Cell Voltage Current Limits

Most systems will make use of thresholds configured in the following order of decreasing cell voltage.

Table 39. Cell Voltage Operational Limits
Register Setting

stack_fault_cell_over.thresh

The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state.

stack_fault_cell_hi.thresh

The upper limit of the warning zone as per cell specifications. Set just below stack_fault_cell_over.thresh to allow a self-clearing range within the fault zone.

stack_warn_cell_hi.thresh

The upper limit of the operating zone. Set just above stack_current_limit.voltage_cell_max.

stack_current_limit.voltage_cell_max

The voltage at which charge limits approach 0%. Set just above stack_soc.vfull.

stack_current_limit.voltage_cell_high

The voltage at which charge current limits are reduced from 100%. Set as per application requirements.

stack_current_limit.voltage_cell_low

The voltage at which discharge current limits are reduced from 100%. Set as per application requirements.

stack_current_limit.voltage_cell_min

The voltage at which discharge limits approach 0%. Set just below stack_soc.vempty.

stack_warn_cell_lo.thresh

The lower limit of the operating zone. Set just below stack_current_limit.voltage_cell_min.

stack_fault_cell_lo.thresh

The lower limit of the warning zone as per cell specifications. Set just above stack_fault_cell_under.thresh to allow a self-clearing range within the fault zone.

stack_fault_cell_under.thresh

The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state.

stack_uvlo_cell_voltage.thresh

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.

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.

Table 40. User-Defined Cell Voltage Triggers
Register Setting

stack_trig_cell_hi.thresh

User-defined high cell voltage trigger

stack_trig_cell_lo.thresh

User-defined low cell voltage trigger

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

temperature protection thresholds
Figure 73. Typical Arrangement of Temperature Thresholds

These thresholds also affect the current limits of the system as shown below.

temperature current limits
Figure 74. Typical Arrangement of Temperature Current Limits

Most systems will make use of thresholds configured in the following order of decreasing thermistor temperature.

Table 41. Charge Temperature Operational Limits
Register Setting

stack_fault_charge_therm_over.thresh

The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state.

stack_fault_charge_therm_hi.thresh

The upper limit of the warning charging zone as per cell specification.

stack_warn_charge_therm_hi.thresh

The upper limit of the operating charging zone. Set just above stack_current_limit.temperature_charge_max.

stack_current_limit.temperature_charge_max

The temperature at which current limits approach 0% during charging.

stack_current_limit.temperature_charge_high

The temperature at which current limits are reduced from 100% during charging.

stack_current_limit.temperature_charge_low

The temperature at which current limits are reduced from 100% during charging.

stack_current_limit.temperature_charge_min

The temperature at which current limits approach 0% during charging.

stack_warn_charge_therm_lo.thresh

The lower limit of the operating charging zone. Set just below stack_current_limit.temperature_charge_min.

stack_fault_charge_therm_lo.thresh

The lower limit of the warning charging zone as per cell specification.

stack_fault_charge_therm_under.thresh

The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state.

Table 42. Discharge Temperature Operational Limits
Register Setting

stack_fault_discharge_therm_over.thresh

The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state.

stack_fault_discharge_therm_hi.thresh

The upper limit of the warning discharging zone as per cell specification.

stack_warn_discharge_therm_hi.thresh

The upper limit of the operating discharging zone. Set just above stack_current_limit.temperature_discharge_max.

stack_current_limit.temperature_discharge_max

The temperature at which current limits approach 0% during discharging.

stack_current_limit.temperature_discharge_high

The temperature at which current limits are reduced from 100% during discharging.

stack_current_limit.temperature_discharge_low

The temperature at which current limits are reduced from 100% during discharging.

stack_current_limit.temperature_discharge_min

The temperature at which current limits approach 0% during discharging.

stack_warn_discharge_therm_lo.thresh

The lower limit of the operating discharging zone. Set just below stack_current_limit.temperature_discharge_min.

stack_fault_discharge_therm_lo.thresh

The lower limit of the warning discharging zone as per cell specification.

stack_fault_discharge_therm_under.thresh

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 6.5.2, “Cell Voltage Thresholds”) are configured.

User-defined triggers are also available for high and low thermistor temperature during both charge and discharge.

Table 43. User-Defined Charge Temperature Triggers
Register Setting

stack_trig_charge_therm_hi.thresh

User-defined threshold for charge high temperature trigger.

stack_trig_charge_therm_lo.thresh

User-defined threshold for charge low temperature trigger.

Table 44. User-Defined Discharge Temperature Triggers
Register Setting

stack_trig_discharge_therm_hi.thresh

User-defined threshold for discharge high temperature trigger.

stack_trig_discharge_therm_lo.thresh

User-defined threshold for discharge low temperature trigger.

6.5.4. Stack Current Thresholds

The following diagrams illustrate how current trigger thresholds are configured in typical applications.

current protection thresholds
Figure 75. Typical Arrangement of Current Thresholds

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.

Table 45. Stack Current Operational Limits
Register Setting

stack_fault_charge_current_over.thresh

The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state.

ssg_fault_bus_charge_current_over.thresh

The limit within the fault zone above which an explicit user operation is required to bring the system back into an operating state, as measured on the DC bus.

stack_fault_charge_current_hi.thresh

The limit of the warning charging zone as per cell specification and stack design limits.

stack_warn_charge_current_hi.thresh

The limit of the operating charging zone as per application requirements.

stack_warn_discharge_current_hi.thresh

The limit of the operating discharging zone as per application requirements.

stack_fault_discharge_current_hi.thresh

The limit of the warning discharging zone as per cell specification and stack design limits.

stack_fault_discharge_current_over.thresh

The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state.

ssg_bus_fault_discharge_current_over.thresh

The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state, as measured on the DC bus.

The stack current thresholds can be configured in a similar manner to how the cell voltage thresholds (Section 6.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).

Concurrently, Nuvation Energy BMS includes separate triggers which derive from Section 5.1.1.2.2, “Continuous and Maximum Current Ratings”.

Table 46. G5 Stack Switchgear Continuous and Maximum Current Operational Limits
Register Setting

ssg_fault_charge_current_hi.thresh

The maximum rated continuous charge current of the G5 Stack Switchgear.

ssg_fault_charge_current_hi.time_hyst

Time in microseconds for which the G5 Stack Switchgear can operate above the maximum rated continuous charge current before opening the contactors.

ssg_fault_charge_current_over.thresh

The absolute maximum rated charge current of the G5 Stack Switchgear.

ssg_fault_discharge_current_hi.thresh

The maximum rated continuous discharge current of the G5 Stack Switchgear.

ssg_fault_discharge_current_hi.time_hyst

Time in microseconds for which the G5 Stack Switchgear can operate above the maximum rated continuous discharge current before opening the contactors.

ssg_fault_discharge_current_over.thresh

The absolute maximum rated discharge current of the G5 Stack Switchgear.

User-defined triggers are also available for charge and discharge currents.

Table 47. User-Defined Stack Current Triggers
Register Setting

stack_trig_charge_current_hi.thresh

User-defined charge current trigger.

stack_trig_discharge_current_hi.thresh

User-defined discharge current trigger.

Charge current thresholds are specified as negative values and discharge current thresholds are specified as positive values.

6.5.5. Stack Voltage Thresholds

The following diagrams illustrate how stack voltage trigger thresholds are configured in typical applications.

voltage protection thresholds
Figure 76. Typical Arrangement of Stack Voltage Thresholds

These thresholds also affect the current limits of the system as shown below.

voltage current limits
Figure 77. Typical Arrangement of Stack Voltage Current Limits

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.

Table 48. Stack Voltage Operational Limits
Register Setting

stack_fault_voltage_over.thresh

The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state.

stack_fault_voltage_hi.thresh

The upper limit of the warning zone as per application requirements.

stack_warn_voltage_hi.thresh

The upper limit of the operating zone. Set just above stack_current_limit.voltage_stack_max.

stack_current_limit.voltage_stack_max

The voltage at which charge limits approach 0%. Set as per application requirements.

stack_current_limit.voltage_stack_high

The voltage at which charge current limits are reduced from 100%. Set as per application requirements.

stack_current_limit.voltage_stack_low

The voltage at which discharge current limits are reduced from 100%. Set as per application requirements.

stack_current_limit.voltage_stack_min

The voltage at which discharge limits approach 0%. Set as per application requirements.

stack_warn_voltage_lo.thresh

The lower limit of the operating zone. Set just below stack_current_limit.voltage_stack_min.

stack_fault_voltage_lo.thresh

The lower limit of the warning zone as per application requirements.

stack_fault_voltage_under.thresh

The limit within the fault zone below which an explicit user operation is required to bring the system back into an operating state.

stack_uvlo_stack_voltage.thresh

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 stack voltage thresholds can be configured in a similar manner to how the cell voltage thresholds (Section 6.5.2, “Cell Voltage Thresholds”) are configured.

Concurrently, Nuvation Energy BMS includes separate voltage based triggers which derive from Table 10, “Voltage and Temperature Sensor Specifications for all Configurations”.

Table 49. G5 Stack Switchgear Maximum Voltage Operational Limit
Register Setting

ssg_fault_voltage_over.thresh

The absolute maximum rated voltage for the G5 Stack Switchgear.

User-defined triggers are also available for high and low stack voltages.

Table 50. User-Defined Stack Voltage Triggers
Register Setting

stack_trig_voltage_hi.thresh

User-defined high stack voltage trigger.

stack_trig_voltage_lo.thresh

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)

6.5.6. External Controller Heartbeat

Nuvation Energy BMS can be configured to require a heartbeat signal from an external controller in order to keep the stack online and out of fault state. A write to the MESA controller heartbeat register is expected at least once during the watchdog period. If a multi-stack controller—such as the Nuvation Energy Multi-Stack Controller—is in use, it can periodically write to this register to keep the stack out of fault state.

sc_controller_wdt.period
  • Trip time for watchdog if heartbeat disappears

  • Set to 5 seconds or as per application requirements

sc_fault_controller_wdt.disabled
  • Set to 0 to enable controller watchdog

  • Set to 1 to disable controller watchdog

If this feature is not used, the watchdog fault should be disabled.

6.6. Control Settings

6.6.1. Current Control

Nuvation Energy BMS controls the current flowing through a battery stack:

  1. During connection or disconnection of the battery to prevent harmful transient current events

  2. During operation of a connected battery to keep the battery within its operational limits

  3. During operation of a battery to keep the individual cells at a balanced state of charge

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

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

stack control states
Figure 78. Battery Stack States and Transitions

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 6.7, “Input / Output Assignment”.
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.

Pre-Charge Switch Settings

The pre-charge switch is engaged for a fixed (but configurable) amount of time during the pre-charge state.

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 is compared to be smaller than a maximum threshold value

  • The absolute difference between the stack voltage and the DC Bus voltage is smaller than a maximum threshold

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

stack_control.precharge_connection_sequence
  • Determines which of the stack and pre-charge switches should be closed first during the pre-charge state

  • In a multi-stack system, it is recommended to set the first stack to stack first and all subsequent stacks to pre-charge first

  • Value of 0 closes stack switch first

  • Value of 1 closes the pre-charge switch first

stack_control.precharge_connection_sequence_override
  • Allows an external controller to override the stack_control.precharge_connection_sequence factory configuration value

  • Value of 0 results in no override

  • Value of 1 closes the stack switch first

  • Value of 2 closes the pre-charge switch first

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.
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 6.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 6.10.9, “Contactor Life Tracking”.

6.6.2. Contactor Configuration

Contactors that are used internally to the G5 Stack Switchgear must have a specific configuration to match its design and wiring.

The following registers are used to configure the internal contactors.

6.6.2.1. Contactor Configuration
Main Contactor
  • stack_contactor[0].installed = 1

  • stack_contactor[0].inverted = 0

  • stack_contactor[0].feedback_enable = 1

  • stack_contactor[0].address_enable = 1

  • stack_contactor[0].address = @stack_control[0].main_switch_state

Pre-Charge Contactor
  • stack_contactor[1].installed = 1

  • stack_contactor[1].inverted = 0

  • stack_contactor[1].feedback_enable = 0

  • stack_contactor[1].address_enable = 1

  • stack_contactor[1].address = @stack_control[0].precharge_switch_state

Stack Contactor
  • stack_contactor[2].installed = 1

  • stack_contactor[2].inverted = 0

  • stack_contactor[2].feedback_enable = 1

  • stack_contactor[2].address_enable = 1

  • stack_contactor[2].address = @stack_control[0].stack_switch_state

The registers stack_contactor[0:2].delay and stack_contactor[0:2].direction are not used and their configuration can be ignored.

6.6.3. 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:

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

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

6.6.3.2. Current Limit Configuration

The configuration for the limits of the current limits for each contributing measurement was provided in earlier sections:

The following sections detail additional configuration of current limits.

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

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

There are two choices of balancing algorithms available to execute on the Nuvation Energy BMS. Only one of the algorithms can be enabled at a time. Enabling one algorithm will immediately disable the other algorithm.

stack_balancing_selector.enable_voltage_balancer
  • Set to 1 to enable.

  • Balancing that is based only the differences between cell voltages.

This balancing approach can only occur when there are differences between cell voltages. For popular battery chemistries liker LFP, the regions where cell voltage differences are large enough are only available at the very top and bottom of the Section 6.3.5, “Open Circuit Voltage Curve”. A battery stack must remain in these regions of low and high SOC until balancing has completed. This balancing process can take many hours to complete and prevents the stack from being charged/discharged.

stack_balancing_selector.enable_soc_balancer
  • Set to 1 to enable

  • Balancing that is based only the differences in SOC imbalances between cells.

Similarly to voltage based balancing, the estimates for cell imbalance are largest at the regions where the cell voltages change rapidly. However after these imbalance estimates are measured, the battery stack can return to operation while the measured cell imbalances are continuously removed.

6.6.4.1. Voltage Based Cell Balancing
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_voltage_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_voltage_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_voltage_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_voltage_balancer.min_enable_voltage. This mode can be used to passively balance all cells in a stack to a specific open-circuit voltage.
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_voltage_balancer.max_enable_temperature
  • The upper cell temperature limit, in degrees °C, as measured by thermistors external to the BMS

  • Set per application requirements.

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_voltage_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_voltage_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:

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

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

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

6.6.5. Continuous Balancing

G5 High-Voltage BMS introduces a passive balancing algorithm which increases the operational time of a battery stack and minimize the time spent balancing cells. Traditional voltage based balancing requires that the cells maintain a difference in voltages to identify the cells requiring balancing. This voltage difference must be maintained to allow balancing to act on the cells of the highest voltages. Such an operation can cause the battery stack to be offline for hours to allow the cell balancing to complete. Furthermore, the regions of SOC which have a large range of cell voltage are limited with popular battery chemistries such as LFP. Refer to Figure 79, “Limited Regions for Cell Balancing for LFP Cells.” which shows for a typical LFP chemistry, the best regions for balancing are at less than 10% and greater than 99% state of charge.

best ocv regions for balancing
Figure 79. Limited Regions for Cell Balancing for LFP Cells.

Continuous balancing is an algorithm that minimizes this operational downtime by the following procedure:

  1. A Nuvation Energy BMS continuously provide estimates on the imbalance in cells of a stack. The best results of imbalance estimations are often at the top of a charge cycle of a battery stack.

  2. When balancing is desired to be executed on a stack, the stack needs to be charged up to near its full state ( > 99% SOC) or near its empty state (< 10% SOC).

  3. After the imbalance estimates have been established, the software will begin to apply passive balancing to the cells with the highest imbalance. A stack can resume its operation while this balancing occurs.

  4. BMS software provide status on the amount of imbalance remaining for the cells. After the imbalance has been removed, it is suggested that the stack could repeat its charge cycle to capture the next cell imbalance estimates.

  5. This process is repeated until the imbalance estimates are small and no longer trigger any balancing actions.

Cell imbalance estimations are periodically persisted and will recover after a reboot of the G5 Stack Switchgear
Cell balance estimations uses confidence intervals and are only updated when there is a high confidence in the imbalance estimation. The best confidence estimates for imbalance are at the top of the charge cycle in the final few SoC percentages before a stack is full. It is highly suggested that the stack is controlled using a properly configured BMS current limits to approach the full state of a stack. Refer to Section 6.6.3, “Current Limits” for further details.
6.6.5.1. Frequency of Continuous Balancing

As a general recommendation, it is suggested that continuous balancing is performed every 2 weeks on a maintenance cycle for a typical LFP battery chemistry. This recommendation may vary depending on the application and cell chemistry of the battery stack. Nuvation has prepared an application note on the frequency of this maintenance cycle which can be applied to a customers application. Please contact support@nuvationenergy.com to receive this application note.

6.6.5.2. Cell Imbalance Estimation Components

The following are the components associated with cell imbalance estimation.

Table 51. Cell Imbalance Components
Component Instances Description

stack_soc_distribution_estimator

480

Component that estimates the soc distribution at a per cell level using voltage measurements.

stack_imbalance_estimator

1

Component that estimate cell level imbalance using the soc distribution values

cell_imbalance

480

Component that stores the value of the imbalance estimates at a per cell level

6.6.5.3. Cell Imbalance Estimations Configuration

Cell imbalance estimation is configured using the following registers:

Table 52. Cell Imbalance Estimation Configuration
Register Suggested Value Description

stack_soc_distribution_estimator[0]. enabled

1

Enables the estimation of SoC distribution used in the new balancing algorithm.

stack_soc_distribution_estimator[0]. measurement_error

3

Standard deviation of the noise in the voltage measurements.

stack_soc_distribution_estimator[0]. ohmic_resistance_error

Nominal_resistance * 0.05

Standard deviation of the noise in the ohmic resistance estimates.

stack_soc_distribution_estimator[0]. ohmic_resistance_error

Nominal_resistance * 0.05

Standard deviation of the noise in the ohmic resistance estimates.

stack_soc_distribution_estimator[0]. critical_value

2

Value used to determine the upper and lower thresholds of confidence interval. For a normal distribution, a value of 2 indicates 95% confidence.

stack_imbalance_estimator[0]. upper_estimation_soc_window

98

Defines an SoC estimation window, from full to a specific SoC point, where imbalance estimation can occur. A value of 95% means, imbalance estimation can occur between 95% and 100% SoC. Set this value to 100% when doing bottom-balancing.

stack_imbalance_estimator[0]. lower_estimation_soc_window

0

Defines an SoC estimation window, from a specific SoC point to empty, where imbalance estimation can occur. A value of 5% means, imbalance estimation can occur between 0% and 5% SoC. Set this value to 0% when doing top-balancing.

stack_imbalance_estimator[0]. upper_estimation_voltage_window

stack_soc.vfull - 15

Defines a voltage estimation window, from full to a specific voltage point, where imbalance estimation can occur. A value of 3580 mV means, imbalance estimation can occur above 3580 mV. Set this value to stack_soc.vfull - 15 when doing top-balancing.

stack_imbalance_estimator[0]. lower_estimation_voltage_window

stack_soc.vempty + 15

Defines a voltage estimation window, from a specific voltage point to empty, where imbalance estimation can occur. A value of 2850 mV means, imbalance estimation can occur below 2850 mV. Set this value to stack_soc.vempty + 15 when doing bottom-balancing.

stack_imbalance_estimator[0].estimation_current_window

|stack_soc.ifull| + 1000

In addition to constraining imbalance estimation using voltage measurements, the measured current can be used to restrict when an imbalance estimate is generated. A value of 8000 mA means that imbalance estimation will only occur if the absolute value of the measured current is below this value.

stack_cell_state_estimator[0]. disable_measurement_update

1

Register to disable the measurement update for estimating the battery states.

Cell imbalance estimation requires the configuration of an OCV table for the cells. Enabling imbalance detection is not meaningful without this configuration.
6.6.5.4. Cell Imbalance Estimations Status

The following registers provide a status of the imbalance estimates. The imbalance estimates are reduced by the amount of energy removed from applied balancing . Balancing will halt when all imbalance estimates are reduced to zero.

Table 53. Cell Imbalance Registers
Registers Instances Description

stack_imbalance_estimator[0]. imbalance_estimation_uncertainty

1

Register used to qualify the uncertainty associated with the imbalance estimation.

cell_imbalance[0]. imbalance_estimate

480

Register to store the amount of estimated cell imbalance as output from the stack_imbalance_estimator

6.6.5.5. Continuous Balancing Configuration

Two new configuration registers have been added for configuring the continuous balancing algorithm

Table 54. Continuous Balancing Algorithm Configuration
Register Suggested Value Description

stack_balancing_selector[0].enable_soc_balancer

1

Enables the execution of the continuous balancing algorithm, that is based on cell level SoC.

stack_imbalance_estimator[0].balancing_resistor

26000000

Value of the resistor in the Nuvation Energy G5 Cell Interface used for balancing.

In addition to these configurations, the continuous balancing algorithm requires the configuration of the open cell voltage curve. Refer to Section 6.3.5, “Open Circuit Voltage Curve” for further details.

6.6.5.6. Balancing Counters per Cell

There is a persistent counter per cell of its number of cell balancing events. Every time during a cell measurement scan, any cell that is requested to be balanced has its corresponding counter incremented by one.

cell[instance].balancing_event_count

Refer to CI24 configuration to determine the instance for a given CI and cell channel.

As long as the period of the CI scan does not change of over the life time of the stack operation, the total amount of balancing time can be calculated as follows:

Total balancing time [s] = cell[instance].balancing_event_count * sc_linkbus.scan_period / 1000000

The balancing event counters are persisted to non-volatile storage on a hourly period.

6.6.5.7. Thermal Throttling for Cell Balancing

The G5 High-Voltage BMS now provides the capability to throttle cell balancing based on the internal temperature of G5 Cell Interface. Since the continuous balancing algorithm can balance for the full range of battery operation, throttling of balancing is done to protect the G5 Cell Interface from over-heating. There are two internal temperatures read from each G5 Cell Interface. These measurements are available from the following registers:

  • ci[0:19].ci_temperature_1

  • ci[0:19].ci_temperature_2

If the maximum temperature on any Nuvation Energy G5 Cell Interface exceeds a configurable threshold, balancing is turned off for all the cells on that over-temperature G5 Cell Interface. Balancing is then re-enabled if the maximum G5 Cell Interface temperature falls below a second configurable threshold.

The thermal throttling for balancing is independent of the type of balancing algorithm selected.
Configuration

Thermal throttling introduces two configuration registers for when to disable and re-enable cell balancing.

Table 55. Thermal Throttling Configuration
Register Suggested Value Description

stack_balancing_throttling_estimator[0] .disable_balancing_temperature

80

Maximum temperature threshold of the Nuvation Energy G5 Cell Interface, above which balancing is disabled.

stack_balancing_throttling_estimator[0] .enable_balancing_temperature

70

Once the balancing has been disabled due to high temperature, this second threshold represents the temperature of the Nuvation Energy G5 Cell Interface below which balancing can be re-enabled.

The second re-enable threshold can be disabled by setting the enable_balancing_temperature to be the same value as the disable_balancing_temperature.

6.6.6. Fan Control (AC/DC)

The G5 Stack Switchgear provides two options to control external AC or DC fans:

  1. Fans are turned on/off based on the current maximum cell temperature.

  2. Fans are turned on/off by manual control

Refer to Connect Power In and Fan Control for instructions on wiring and installation of fans to the G5 Stack Switchgear.

If the fans are on at the start of a contactor closing sequence, they will be turned off and back on at the end of the sequence. This is an expected response of the fan control.

The DC fan warning will trigger when no fans are installed. Please disable the warning if no fans are installed.

6.6.6.1. Temperature Based Fan Control

The temperature based fan control introduces new triggers that are configured to control the fan output. These registers allow for temperature control in both the charge/discharge directions of the stack. These triggers are as follows:

  1. ssg_trig_fan_control_charge

  2. ssg_trig_fan_control_discharge

These charge/discharge triggers are aggregated to a single component named ssg_trig_fan_control_aggregate. These trigger components are based on standard hysteresis trigger components used in the BMS. Refer to Section 6.5.1.3, “Hysteresis Triggers” for general guidance on how to configure them. It’s recommended that the latched configuration of these registers be set to zero to allow the fans to automatically turn off as the temperatures of the cells drop below their configured limits.

There are separate controls to enable output for either or both AC or DC fan outputs. The configuration for this fan control is managed by the following registers.

Table 56. Fan Control Configuration
Register Recommended Values Description

ssg_fan_control_ac[0]. address

@ssg_trig_fan_control_aggregate[0].trig

Register to define the address of the register whose value is used for AC fan control output.

ssg_fan_control_ac[0]. address_enabled

1

Register used to enable the temperature control of the AC fans using the register address defined previously.

ssg_fan_control_dc[0]. address

@ssg_trig_fan_control_aggregate[0].trig

Register to define the address of the register whose value is used for DC fan control output.

ssg_fan_control_dc[0]. address_enabled

1

Register used to enable the temperature control of the AC fans using the register address defined previously.

6.6.6.2. Manual Fan Control

The manual fan control allows external management to turn on and off fans of the Nuvation Energy BMS. It also could be used to verify that the wiring of fans is correct after installation. This control is managed by writing a value of zero or one to the following registers. Writing a value of one to these registers will turn on the fans Writing a value of zero to these registers will turn off the fans.

  1. ssg_fan_control_ac.requested_state

  2. ssg_fan_control_dc.requested_state

Refer to Section 5.4.1.5, “Configurable Modbus” for details on how to use the Configurable Modbus feature to both read and write to these control registers external from the Battery Management System.

To enable manual control of the fans, the following configuration must be completed. This configuration will disable any internal management of the fan control by the Battery Management System firmware.

Table 57. Fan Control Configuration
Register Recommended Values

ssg_fan_control_ac[0]. address

0

ssg_fan_control_ac[0]. address_enabled

0

ssg_fan_control_dc[0]. address

0

ssg_fan_control_dc[0]. address_enabled

0

6.6.6.3. DC Fan Warning

An independent warning for DC fan power failures is provided. The component ssg_warn_fan_control_dc_error provides information on failures of the DC fan operation as detected by the hardware driver. This warning uses a hysteresis trigger. The default settings of this trigger are the expected configuration for this warning.

Table 58. Default Settings for a DC Fan Warning
Register Description

ssg_warn_fan_control_dc_error[0].disabled

1

ssg_warn_fan_control_dc_error[0].thresh

1

ssg_warn_fan_control_dc_error[0].time_hyst

0

ssg_warn_fan_control_dc_error[0].end_time_hyst

2000000

ssg_warn_fan_control_dc_error[0].latched

0

The DC fan warning will trigger when no DC fans are installed. The warning default configuration is disabled because of this behavior.
There is no equivalent warning for an AC fan.

6.7. Input / Output Assignment

The G5 Stack Switchgear implements the following inputs and outputs:

6.7.1. General Purpose Digital Outputs

G5 Stack Switchgear provides 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.

Table 59. Common Assignments for General Purpose Digital Output
Function sc_gpo[n].address sc_gpo[n].inverted

Charge Current Enable

@stack_current_limit.charge_current_disable

0

Discharge Current Enable

@stack_current_limit.discharge_current_disable

0

Fault State

@stack_trigger_summary.fault

1

Trigger State

@trigger_name.trig

1

For advanced applications, General Purpose Digital Outputs may be configured to be driven from any Boolean register within the BMS.

6.7.2. General Purpose Digital Inputs

G5 Stack Switchgear provides 2 General Purpose Digital Inputs. The most commonly used General Purpose Digital Input functions are:

  • Clear faults: Hardware input to clear any latched fault conditions

  • Fault Input: Request to fault to be generated by the Nuvation Energy BMS due to an external event (such as ground fault detection)

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.

Table 60. Common Assignments for General Purpose Digital Input
Function sc_gpi[n].address sc_gpi[n].inverted sc_gpi[n].rising_edge_triggered

Clear Faults

@stack_trigger_summary.clear_faults

0

1

Connect Request

@stack_control.requested_state

0

1

For advanced applications, General Purpose Digital Input may be configured to drive any Boolean register within the BMS.

6.7.3. Disconnect Input

A separate Disconnect input is available on the G5 High-Voltage BMS as noted in I/O Connector When the Disconnect input is asserted it will instruct the hardware/software to disconnect the stack. There are two modes of operation of the Disconnect input:

  1. Nominal: Issues a software controlled disconnect sequence

  2. Quick: Issues an immediate hardware controlled disconnect

For either mode, the BMS software requires a minimum assertion of 500 ms to make sure the Disconnect request is captured.
See Section 8.4, “Disconnect Input Causing Faults to Trip” for configuration details to avoid tripping faults when using the Disconnect Input.
The state of the Disconnect input may be read via the register ssg_hw_disconnect.disconnect_state
Review all the restrictions of this input behavior as noted in I/O Connector
6.7.3.1. Configuration
Table 61. Disconnect Input Configuration
Register Description

ssg_hw_disconnect[0].mode

Configured with a value of either 0 = Nominal(software controlled) or 1 = Quick (hardware controlled)

ssg_hw_disconnect[0].inverted

Inverts the active state of the disconnect signal to the hardware. When inverted = 0, the Disconnect input is an active low signal while when inverted = 1, the Disconnect input is an active high signal.

6.7.3.2. Quick Disconnect

A quick disconnect provides the capability to configure the G5 Stack Switchgear to immediately disconnect a stack when its Disconnect input is asserted. Shortly after the assertion of the Disconnect input, the G5 Stack Switchgear hardware will remove power simultaneously from all contactors. The minimum assertion period must be maintained on this signal while in this mode.

6.7.4. UVLO Enable Config Switch Input

The enabling/disabling of the UVLO feature is managed by a config switch setting. UVLO is enabled on the G5 High-Voltage BMS when the config switch is placed in the ON position. Refer to Section 4.3.3.9, “Set the Config Switches” for details on the config switches.

The state of the UVLO Enable input may be read via the register ssg_uvlo_enable.value
The configuration of the UVLO feature is detailed in Section 6.10.5, “Under-Voltage Lockout”

6.7.5. Network Reset and Factory Restore Config Switch Inputs

The G5 Stack Switchgear supports network reset and factory restore features that can restore the BMS to one of its two factory states:

  1. The network IP configuration is reset to its factory configuration. The current firmware and its configuration are not changed.

  2. The network IP, factory image, and configuration are restored.

Network Reset and Factory Restore are not required during installation of a new G5 Stack Switchgear.

The selection of either restore function is achieved through the use of the config switches on the front face panel along the right-side of the G5 Stack Switchgear. Refer to Section 4.3.3.9, “Set the Config Switches” for details on these config switches. The process of issuing a network reset or factory restore using the config switches is as follows:

  1. Remove power from the G5 Stack Switchgear.

  2. Locate the network reset and factory restore config switches on the front face along the right-side of the G5 Stack Switchgear. The bottom two DIP switches are labeled Network Reset and Factory Restore. Select the switch labeled Network Reset to reset only the network configuration. Select the switch Factory Restore to restore factory firmware and configuration, including network configuration.

  3. Set either switch to the ON position prior to applying power.

    Factory Restore Network Reset Restore State

    OFF

    ON

    Reset network configuration

    ON

    Either ON or OFF

    Reset network configuration, restore factory firmware & configuration

  4. Reapply power to the G5 Stack Switchgear.

  5. The G5 Stack Switchgear LED’s provide a visual indication as to which restore option is requested, see Table 19, “G5 High-Voltage BMS State based on LED Status”.

  6. To start the network reset or factory restore, acknowledge the restore config selection by setting the Network Reset and Factory Restore switches to the OFF position. This starts the network reset or factory restore process.

  7. The LED pattern continues until the restore operation has completed.

    If this user action is not completed in 30 seconds after the boot of the G5 Stack Switchgear, the restore is aborted and a nominal boot of the G5 Stack Switchgear is initiated. The G5 Stack Switchgear can have its power removed and reapplied to re-initiate the restore mode with the same config switch settings.
  8. When factory restore has completed, the G5 Stack Switchgear will reboot.

  9. G5 Stack Switchgear boots and is now accessible over its factory configured IP. The green power LED is ON.

The Factory IP setting can be read from a front panel label on the G5 Stack Switchgear
Power should remain uninterrupted during the factory restore procedure. A power failure during a factory restore could leave G5 Stack Switchgear in an inoperable state.
6.7.5.1. Network Reset Switch

The state of the Network Reset switch may be read via the register ssg_factory_restore_1.value

6.7.5.2. Factory Restore Config Switch

The state of the Factory Restore switch may be read via the register ssg_factory_restore_0.value

6.7.6. Shutdown Input

The G5 Stack Switchgear provides a Shutdown input to allow for external shutdown. When the shutdown input is asserted for a minimum of 0.5 seconds, firmware will begin the process of disconnecting stacks (if connected) and then remove power from the G5 Stack Switchgear. The Shutdown input could remain asserted for longer durations. If the Shutdown is asserted continuously for 10 seconds, the G5 Stack Switchgear hardware will power down.

The Enable input (Section 6.7.7, “Enable Input”) can be asserted to reapply power to the G5 Stack Switchgear while in its power down state.
While the G5 High-Voltage BMS remains powered, the state of the Shutdown input may be read via the register ssg_shutdown.value.
Shutdown will not be able to remove power if the UVLO feature is disabled in hardware. Refer to Table 8, “Config Switch Settings” for details on how to configure hardware to enable/disable UVLO. The firmware configuration for UVLO has no impact for Shutdown feature. There is no firmware configuration required for the Shutdown feature.

6.7.7. Enable Input

The Enable input can be asserted to the G5 Stack Switchgear to do the following:

The Enable input keeps the G5 High-Voltage BMS turned on when features like Shutdown or UVLO are turning off the G5 High-Voltage BMS. Assert the Enable input to prevent these prior actions from happening. For example if a stack has a critically low cell and UVLO is triggered, use the Enable input to power on the G5 High-Voltage BMS to enable charging the stack.

Refer to Section 6.10.5, “Under-Voltage Lockout” for details on UVLO, Shutdown and Enable features. Refer to Enable Input diagram for further details on the hardware specifications of this input.

The state of the Enable input may be read from the register ssg_enable.value.

6.8. External Communication Interface Settings

The G5 Stack Switchgear supports a 10/100 Ethernet interface for Modbus TCP and Operator Interface connectivity with external systems. Refer to Section 5.4.1, “Modbus Protocol Support” and Section 5.3, “Using the Operator Interface” for details on the protocols and services offered.

6.9. Measurement Calibration

The Nuvation Energy BMS provide calibration settings which allow the system to be fine-tuned for integration with a variety of measurement sensors. The preset values that ship with the BMS can be adjusted as required.

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

\[\operatorname{T}(v) = C_0 + C_1 \cdot v + C_2 \cdot v^2 + C_3 \cdot v^3 + C_4 \cdot v^4 + C_5 \cdot v^5 + C_6 \cdot v^6\]
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:

\[V_{adc} = 3.0 \left( \frac{R}{R+10000} \right)\]

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:

\[\operatorname{T}(V) = (151.68) + (-352.94)V + (549.33)V^2 + (-482.08)V^3 + (223.69)V^4 + (-51.518)V^5 + (4.5693)V^6\]

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.

thermistor calibration
Figure 80. Typical Voltage ADC vs Thermistor Plot

6.9.2. Stack Current Calibration

Current measurements are made using a current sensing analog front-end (AFE) .

6.9.2.1. 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:

\[\operatorname{I}(\mathit{rawcurrent}) = \mathit{rawcurrent} \left(1 + \frac{gain}{100000}\right)\]

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.

Nuvation has pre-calibrated each G5 Stack Switchgear with its own gain and limit. Each unit will have its own set of calibrations which must be maintained when applying an upgrade or configuration update. Make sure to capture and record the calibration of each unit for this purpose. If you have lost this calibration information, please contact support@nuvationenergy.com with the serial number(s) to retrieve this data.

6.9.2.2. DC Bus Current Field Calibration

There is an equivalent calibration for the DC Bus current similar to Section 6.9.2.1, “Stack Current Field Calibration” but uses the following configurable gain and limit:

ssg_bus_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:

ssg_bus_power.current_gain_limit (Factory)
  • Absolute value of the limit for gains on raw current values.

  • If the ssg_bus_power.current_gain register is set to outside of this limit, the gain applied will be limited to this value.

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

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

6.9.3.1. 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:

\[\operatorname{V}(\mathit{rawvoltage}) = \mathit{rawvoltage} \left(1 + \frac{gain}{100000}\right)\]

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.

Nuvation has pre-calibrated each G5 Stack Switchgear with its own gain and limit. Each unit will have its own set of calibrations which must be maintained when applying an upgrade or configuration update. Make sure to capture and record the calibration of each unit for this purpose. If you have lost this calibration information, please contact support@nuvationenergy.com with the serial number(s) to retrieve this data.

6.9.3.2. DC Bus Voltage Field Calibration

There is an equivalent calibration for the DC Bus voltage similar to Section 6.9.3.1, “Stack Voltage Field Calibration” but uses the following configurable gain and limit:

ssg_bus_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:

ssg_bus_power.voltage_gain_limit (Factory)
  • Absolute value of the limit for gains on raw voltage values.

  • If the ssg_bus_power.voltage_gain_limit register is set to outside of this limit, the gain applied will be limited to this value.

6.10. Hardware Settings

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

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

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

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 than sc_linkbus.cell_open_wire_thresh

For systems using G5 Cell Interface - 24 channel modules, the configurable settings are listed and described below.

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

6.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 6.6.2, “Contactor Configuration”).

In Nuvation Energy G5 Stack Switchgear systems, the fault pilot is an internal service that periodically arms an external watchdog timer which when expires will de-energize contactors.

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)

6.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 G5 High-Voltage BMS (Shutdown Input). When a UVLO condition is detected the Nuvation Energy BMS will initiate its own shutdown.

The Enable input (Enable Input) 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.

The UVLO feature must be enabled via a hardware setting as mentioned in Section 4.3.3.9, “Set the Config Switches”. If this hardware configuration is not completed then the G5 High-Voltage BMS will not be able to power itself off. The state of this configuration can be read through the register ssg_uvlo_enable.value. A value of 1 indicates UVLO is enabled and a value of 0 indicates UVLO is disabled.

6.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_trig_uvlo_cell_voltage.thresh
  • Set to a cell voltage that is greater than stack_fault_cell_under.thresh and less than stack_fault_cell_lo.thresh.

stack_trig_uvlo_stack_voltage.thresh
  • Set to a stack voltage that is greater than stack_fault_voltage_under.thresh and less than stack_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 G5 High-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.

6.10.6. Clock Verification

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.

6.10.7. Shorted Shunt Detection

The short circuit failure modes and/or wiring defects of the current shunt are detected by correlating the internal fuse temperature with the current measurement. When there is a lack of correlation between these measurements a shorted shunt fault is triggered. Table 62, “Configuration Register Settings for Shorted Shunt Detection” lists the shorted shunt parameter settings according to the fuse rating which is identified by the part number as shown in G5 Stack Switchgear Ordering Information .

Table 62. Configuration Register Settings for Shorted Shunt Detection
Fuse Code Fuse Rating Minimum Detection Current (A) Non-Steady-State Temperature Derivative Threshold Steady-State Temperature Threshold

1

200

50

0.001

3

75

0.00125

4

100

0.0015

5

2

250

100

0.0015

6

150

0.005

8

200

0.007

20

3

315

100

0.001

5

200

0.008

15

4

350

150

0.0025

6

200

0.005

15

300

0.01

35

350

0.01

40

5

400

200

0.005

15

300

0.01

35

350

0.01

35

6

450

200

0.005

12

300

0.01

30

350

0.01

35

7

500

200

0.004

10

300

0.01

25

350

0.01

35

The short shunt detection configurations are determined based on the G5 Stack Switchgear fuse rating and the battery’s current protection limits. To determine the appropriate threshold:

  1. Determine the thresholds in the table above corresponding the Fuse Rating of the G5 Stack Switchgear

  2. Determine the minimum current between stack_fault_charge_current_over.thresh and stack_fault_discharge_current_over.thresh

  3. Within the determined Fuse Rating section of the table, select a row corresponding to a Minimum Detection Current that is below or equal the current determined in Step 2 to obtain the Non-Steady-State Temperature Derivative Threshold and the Steady-State Temperature Threshold

If a Minimum Detection Current below the battery current protection limits does not exist in the table above, a different Stack Switchgear fuse type needs to be selected OR the designer must provide a mitigation to their system to protect against continuous operation at currents between stack_fault_discharge_current_over.thresh or stack_fault_charge_current_over.thresh and the Minimum Detection Current.

6.10.8. Temperature Consistency Check

For each G5 Cell Interface - 24 channel module in the stack, the temperature consistency check will calculate the maximum deviation between the smallest and largest measured temperature.

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 G5 Cell Interface - 24 channel module

  • Typically this is set to 15

In order to minimize this temperature deviation and prevent false trips, consider the following recommendations below.

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

ci temperature consistency scenario 1
Figure 81. Thermistor arrangement scenario one

A temperature gradient will develop in the direction of the air flow, where the cells to the far left will be cooled more than the ones to the right. This can result in a large temperature deviation within the cell grouping. To minimize this, the cells can be rearranged as shown in below.

ci temperature consistency scenario 2
Figure 82. Thermistor arrangement scenario two

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.

6.10.9. 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_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 the Nuvation Energy G5 High-Voltage BMS: NUVG5 Datasheet for specifications on contactor life ratings of your product model.

A complete list of all contactor life tracking registers is shown below.

ssg_contactor_life_tracker[n].enabled
  • Set to 1 to enable contactor life tracking for contactor n

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 and ssg_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 and ssg_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.

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

Table 63. Nuvation Energy BMS Watchdog Components
Watchdog Component Notes

sc_ram_test_wdt

Configures the watchdog timer for the RAM testing. Typically period is 60000000 (60 s).

sc_rom_test_wdt

Configures the watchdog timer for the ROM testing. Typically period is 60000000 (60 s).

sc_controller_wdt

Configures the watchdog timer for the external controller update. The period is dependant on the responsiveness to external controller to periodically update the BMS watchdog.

6.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 on the G5 Cell Interface modules and the G5 Stack Switchgear. Points of failures on the G5 Cell Interface modules, internal measurements of the G5 Stack Switchgear or on the Link Bus 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.

Table 64. Nuvation Energy BMS Freshness Components
Freshness Component Associated Data Notes

stack_cell_fresh

cell.voltage
cell.open_wire

Ensures cell information is updated. Only installed cells are checked for freshness. The period must be longer than sc_linkbus.scan_period, typically 3000000 (3 seconds).

stack_therm_fresh

therm.temperature
therm.circuit_fail

Ensures thermistor information is updated. Only installed thermistors are checked for freshness. The period must be longer than 8x sc_linkbus.scan_period, typically 10000000 (10 seconds).

sc_ci_fresh

ci.supply_error
ci.mux_error

Ensures Cell Interface operational information is updated. Only installed Cell Interface modules are checked for freshness. The period must be longer than sc_linkbus.scan_period, typically 3000000 (3 seconds).

sc_ci_therm_mux_test_fresh

ci.mux_test_failures

Ensures thermistor multiplexer testing occurs periodically. The period is typically set to 60000000 (60 seconds).

sc_ci_internal_temps_fresh

ci.ci_temperature_1 ci.ci_temperature_2

Ensures thermistor multiplexer testing occurs periodically. The period must be longer than sc_linkbus.scan_period, typically 3000000 (3 seconds).

stack_cell_open_wire_fresh

stack_cell_summary_stat.cell_open_wire_executions

Ensures open-wire detection occurs periodically. The period must be set longer than sc_linkbus.cell_open_wire_period, typically 120000000 (120 seconds).

stack_power_fresh

stack_power.voltage
stack_power.current

Ensures stack power information is updated. The period must be set longer than pi_afe.sample_period, typically 60000000 (60 seconds).

stack_linkbus_fresh

sc_linkbus.power_error

Ensures Link Bus checks occur periodically. The period must be longer than sc_linkbus.scan_period, typically 3000000 (3 seconds).

sc_factory_verify_fresh

sc_factory_persist.verification_error

Ensures factory configuration verification of the stack controller subsystem occurs periodically. Ensures G5 Stack Switchgear factory configuration verification occurs periodically. The period is typically 60000000 (60 seconds).

ssg_contactor_life_verify_fresh

ssg_contactor_life_persist.verification_error

Ensures verification of the contactor life data occurs periodically. The period is typically 60000000 (60 seconds)

ssg_contactor_end_of_life_fresh

ssg_contactor_life_tracker_summary.min_life_remaining

Ensures contactor life is evaluated periodically. The period is typically 60000000 (60 seconds)

ssg_afe_fresh

afe_monitor.rx_count

Ensures verification of the AFE communication is executing periodically. The period is typically 2000000 (2 seconds)

ssg_afe_cpu_bist_fresh

afe_monitor.cpu_bist_update_time

Ensures verification of the AFE CPU built-in-test data is updated periodically. The period is typically 2000000 (2 seconds)

ssg_afe_ram_bist_fresh

afe_monitor.ram_bist_update_time

Ensures verification of the AFE RAM built-in-test data is updated periodically. The period is typically 2000000 (2 seconds)

ssg_afe_rom_bist_fresh

afe_monitor.rom_bist_update_time

Ensures verification of the AFE ROM built-in-test data is updated periodically. The period is typically 2000000 (2 seconds)

ssg_afe_thermistor_bist_fresh

afe_monitor.thermistor_bist_update_time

Ensures verification of the AFE thermistor built-in-test data is updated periodically. The period is typically 60000000 (60 seconds)

ssg_current_measurement_fresh

stack_power.current ssg_bus_power.current

Ensures verification of both current measurements are updated periodically. The period is typically 2000000 (2 seconds)

ssg_therms_fresh

ssg_power_connector_therms.temperature
ssg_ambient_therm.temperature
ssg_shunt_therm.temperature
ssg_fuse_therm.temperature

Ensures verification of all internal SSG temperature measurements are updated periodically. The period is typically 2000000 (2 seconds)

ssg_voltage_measurement_fresh

stack_power.voltage ssg_bus_power.voltage

Ensures verification of both voltage measurements are updated periodically. The period is typically 2000000 (2 seconds)

stack_cell_balancing_throttling_fresh

cell_balancing_throttling.disable_balancing_thermal

Ensures verification of data used to determine cell balancing throttling are updated periodically. The period must be longer than sc_linkbus.scan_period, typically 2000000 (2 seconds).

stack_cell_soc_distribution_fresh

cell_soc_distribution.soc_mean
cell_soc_distribution.soc_interval_width

Ensures verification of data used to determine cell imbalance estimates used for continuous balancing are updated periodically. The period must be longer than sc_linkbus.scan_period, typically 1000000 (1 seconds).

7. Instructions for Stack Servicing

The order of these steps must be followed in order to maximize the life of the components (the contactors in particular).

In order to service the stack (including the battery itself), perform the following steps:

  1. Allow the battery to come to rest (no current).

    • This may involve sending commands to the PCS.

  2. Using the Operator Interface, disconnect the stack by clicking the Disconnect button.

  3. Using the Operator Interface, transition to the Service Lockout state.

  4. Put the Service Disconnect switch in the Lock Out position and insert a lock-out / tag-out.

The battery stack can now be serviced. To bring the stack back into operation, perform the following steps:

  1. Remove the lock-out / tag-out and put the Service Disconnect switch in the Operating position.

  2. Using the Operator Interface, exit the Service Lockout state.

  3. Address any faults if necessary (using the Operator Interface).

    • All faults must be cleared for G5 Stack Switchgear to close contactors.

  4. Using the Operator Interface, connect the stack by clicking the Connect button.

The stack is now connected to the DC bus.

The battery stack terminals are always energized and should be handled as such.

Although the DC bus terminals are disconnected from the battery by the G5 Stack Switchgear unit’s contactors, the DC bus can still be energized by other components on the DC bus (e.g. PCS or other stacks). The DC bus terminals should always be treated as though they are energized.

A simple voltage check (i.e. across the positive and negative terminals) is not always sufficient, especially with grounded battery stacks. It is recommended to also check for voltage between each conductor and ground.

8. Troubleshooting

8.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:

  1. 'Self Check' failures

  2. 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.3, “Safety”). That screen presents a list of faults, warnings and user triggers which can have the following states:

Table 65. States for Faults, Warnings and User Triggers
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.3, “Safety” for details.

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

8.1.1.1. Self Check Issues
The G5 Stack Switchgear is configured for a specific battery topology based on the details provided to Nuvation Energy during order fulfillment. Failure to use the same number of G5 Cell Interface modules and/or using a different battery topology could result in initialization issue and other undesirable behavior. Please contact support@nuvationenergy.com if there is a change in the system design that would require a G5 Stack Switchgear configuration update.

These faults could fail Self Check through a number of possible conditions such as:

  1. Missing or misconfigured G5 Cell Interface modules, preventing the software from completing a full scan of the cell voltage and temperature measurements.

  2. Misconfiguration on the number of G5 Cell Interface modules. Refer to the register sc_linkbus.cicount.

  3. Incorrect G5 Cell Interface configuration. For example if the type of G5 Cell Interface defined in sc_linkbus.softwareid is incorrect, it may prevent the cell voltage measurement.

  4. 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 G5 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 G5 Cell Interface.

    • Please refer to the Nuvation Energy G5 High-Voltage BMS: NUVG5 Datasheet on the minimum cell voltage required.

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

8.1.2.1. Self Check Issues

These faults have the following Self Check issues:

Fault Self Check Issues

stack_fault_voltage_hi

AFE is not enabled or misconfigured. Check if ssg_afe_configuration.enabled is set to 1.

stack_fault_voltage_lo

stack_fault_voltage_sum

Same issues regarding cell voltage Self Check issues (Section 8.1.1.1, “Self Check Issues”).

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

8.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 8.1.1.1, “Self Check Issues” for further details.

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

Stack/DC-Bus Current Mismatch | ssg_fault_currents_mismatch
  • Fault when there is a large difference in redundant current measurements.

8.1.4.1. Self Check Issues

The stack current is measured from an internal Analog Front End (AFE) to the G5 Stack Switchgear. The following issues can contribute to these faults not initializing:

  1. AFE is not enabled.

  2. AFE is misconfigured.

Check if ssg_afe_configuration.enabled is set to 1.

8.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 stack_control.precharge_delay expired before a current is measured.

2

The measured current exceeds stack_control.precharge_max_current.

3

The measured voltage difference between the battery stack and DC-Bus exceeds stack_control.voltage_mismatch_thresh.

  • 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
  • Fault that is triggered at any time during the pre-charge connection period if the stack current exceeds the fault threshold.

8.1.5.1. Self Check Issues

These faults are directly related to the current faults detailed previously. Refer to Section 8.1.4.1, “Self Check Issues” for details.

8.1.6. Contactor Faults

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. Please check that the Service Disconnect Switch is set to the operating position.

Stack Switchgear Vcoil State Mismatch | ssg_fault_vcoil_state_mismatch
  • Fault that is generated when there is a mismatch between the vcoil state and the feedback signal provided. Please check the following:

  • Service Disconnect Switch is set to the operating position

  • The Disconnect input is not asserted based on how it is configured

  • The ssg_vcoil.vcoil_wdt_disable is set to 0 to ensure the external watchdog is not preventing the vcoil from being turned on.

Stack Switchgear AFE Configuration Mismatch | ssg_fault_afe_config_mismatch
  • This fault is redundant and can be disabled.

Stack Switchgear AFE Reset | ssg_fault_afe_reset
  • This fault indicates an unexpected reset of the AFE subsystem was detected.

  • Contact support@nuvationenergy.com if this fault has tripped.

8.1.7.1. AFE BIST Faults

The AFE sub-system incorporates several Built-in-Self-Tests (BISTs) which are monitored through the following faults:

  • Stack Switchgear AFE Thermistor BIST Failure | ssg_fault_afe_thermistor_bist

  • Stack Switchgear AFE ADC Register BIST Error | ssg_fault_afe_adc_register_bist

  • Stack Switchgear AFE SPI Data BIST Error | ssg_fault_afe_spi_data_bist

  • Stack Switchgear AFE SPI CS BIST Error | ssg_fault_afe_spi_cs_bist

  • Stack Switchgear AFE ROM BIST Watchdog | ssg_fault_afe_rom_bist_fresh_wdt

  • Stack Switchgear AFE RAM BIST Watchdog | ssg_fault_afe_ram_bist_fresh_wdt

  • Stack Switchgear AFE CPU BIST Watchdog | ssg_fault_afe_cpu_bist_fresh_wdt

  • Stack Switchgear AFE Thermistor BIST Watchdog | ssg_fault_afe_thermistor_bist_fresh_wdt

These faults can be cleared through the Clear Faults button on the Operator Interface.

Please contact support@nuvationenergy.com if any of these faults trip.

AFE Recovery Faults

In Faraday, a Multi-Stack contactor connection event may cause the AFE subsystem to stall causing the following faults to trip:

  • stack_fault_power_wdt

  • ssg_fault_therms_wdt

  • ssg_fault_therms_wdt

If these faults have tripped, the Nuvation Energy BMS can be configured to detect and recover the AFE subsystem before the above faults trip. This is accomplished by enabling the following triggers and setting their associated software watchdogs to expire before the fault software watchdogs expire.

Table 66. AFE Stall Detection Registers
Watchdog Timer Register Trigger Enable Register

ssg_afe_afe_update_watchdog.period

ssg_trig_afe_afe_update_stalled.disabled

ssg_afe_cpu_bist_update_watchdog.period

ssg_trig_afe_cpu_bist_update_stalled.disabled

ssg_afe_ram_bist_update_watchdog.period

ssg_trig_afe_ram_bist_update_stalled.disabled

ssg_afe_rom_bist_update_watchdog.period

ssg_trig_afe_rom_bist_update_stalled.disabled

ssg_afe_thermistor_bist_update_watchdog.period

ssg_trig_afe_thermistor_bist_update_stalled.disabled

ssg_afe_temperature_update_watchdog.period

ssg_trig_afe_temperature_update_stalled.disabled

The following table provides the recommended configuration values when utilizing stall detection and recovery. Note that the ssg_fault_afe_reset[0].disabled register must be set to 1 as the stall detection resets the AFE.

Table 67. Recommended Configurations for Stall Detection
Register Recommended Value

ssg_trig_afe_temperature_update_stalled[0].disabled

0

ssg_trig_afe_cpu_bist_update_stalled[0].disabled

0

ssg_trig_afe_ram_bist_update_stalled[0].disabled

0

ssg_trig_afe_rom_bist_update_stalled[0].disabled

0

ssg_trig_afe_thermistor_bist_update_stalled[0].disabled

0

ssg_trig_afe_afe_update_stalled[0].disabled

0

ssg_fault_afe_reset[0].disabled

1

stack_power_fresh[0].period

4000000

ssg_therms_fresh[0].period

4000000

ssg_afe_cpu_bist_fresh[0].period

4000000

ssg_afe_rom_bist_fresh[0].period

4000000

ssg_afe_ram_bist_fresh[0].period

4000000

ssg_afe_fresh[0].period

4000000

ssg_afe_uptime_watchdog[0].period

1000000

ssg_afe_thermistor_bist_update_watchdog[0].period

45000000

ssg_afe_cpu_bist_update_watchdog[0].period

1000000

ssg_afe_ram_bist_update_watchdog[0].period

2000000

ssg_afe_rom_bist_update_watchdog[0].period

2000000

ssg_afe_afe_update_watchdog[0].period

1000000

ssg_afe_temperature_update_watchdog[0].period

1250000

8.1.7.2. Self Check Issues

All of these faults would have a Self Check failure if the AFE has a communication failure. Please refer to Section 8.1.11, “Watchdog Faults” for the AFE watchdog fault that would trip on this failure.

8.1.8. External Stack Switchgear Faults

The following faults are used to monitor events external to the G5 Stack Switchgear.

Stack Switchgear Power Connector Over Temperature | ssg_fault_power_conn_temp_over
  • The temperatures at the power connections for the Stack Switchgear exceeded the threshold of ssg_fault_power_conn_temp_over.thresh.

  • Refer to the connector temperatures contained in the following registers:

    • ssg_power_conn_therms[0].temperature represents the connector temperature at Battery Positive.

    • ssg_power_conn_therms[1].temperature represents the connector temperature at Battery Negative.

    • ssg_power_conn_therms[2].temperature represents the connector temperature at DC Bus Positive.

    • ssg_power_conn_therms[3].temperature represents the connector temperature at DC Bus Negative.

  • High temperatures at any of the power connections is an indication of a improperly torqued connection.

Stack Switchgear Power Connector Temperature Consistency | ssg_fault_power_conn_temp_consistency
  • Fault indicating the difference amongst temperature measurements of the G5 Stack Switchgear power connections.

  • This failure is an indication of a larger thermal build up at one connector compared to the other connections. All four measurements have a thermal delta larger than ssg_fault_power_conn_temp_consistency.thresh.

  • Please call support@nuvationenergy.com if this fault should trip and report the connection temperatures.

Stack Switchgear GPI Fault | ssg_fault_gpi
8.1.8.1. Self Check Issues

The power connector temperature faults (ssg_fault_power_conn_temp_over and ssg_fault_power_conn_temp_consistency) could fail their Self Check if there was a AFE communication failure. Please refer to Section 8.1.11, “Watchdog Faults” for the AFE watchdog fault that would trip on this failure.

The GPI fault ssg_fault_gpi could fail its Self Check if the GPI associated with the fault was not properly configured.

8.1.9. CI Faults

CI Chain Authentication Test | sc_fault_ci_auth
  • This fault indicates that the G5 Cell Interface failed its authentication with the G5 Stack Switchgear.

  • Call support@nuvationenergy.com if this fault has tripped.

CI Internal Overtemperature | sc_fault_ci_internal_temp_over
  • This fault indicates that the internal temperature of a G5 Cell Interface exceeded its maximum threshold defined in sc_fault_ci_internal_temp_over.thresh.

  • This fault could be between a mismatch in the fault configuration and the balancing thermal throttling configuration discussed in Table 55, “Thermal Throttling Configuration”.

CI Chain Thermistor Mux Test Failure | sc_fault_ci_therm_mux_fail
  • This fault indicates an failure of an multiplexer test internal to a G5 Cell Interface.

  • An incorrect wiring of thermistors could cause this fault to trigger.

  • The G5 Cell Interface that failed its multiplexer test is identified by the registers ci[0:19].mux_test_faiulures. Each register is a bitfield and any set bit represents a failed channel on the multiplexer test.

8.1.9.1. Known Issues

The G5 High-Voltage BMS may not thermal throttle a cell’s balancing cycle while within the configured hysteresis temperature range for effective thermal management. This may cause the fault sc_fault_ci_internal_temp_over to trigger.

The workaround is to remove the ability to define a hysteresis temperature range and set the temperature range in which thermal throttling begins to a fixed temperature. This is done by setting the following registers to the same temperature.

  1. stack_balancing_throttling_estimator.disable_balancing_temperature

  2. stack_balancing_throttling_estimator.enable_balancing_temperature

8.1.9.2. Self Check Issues

All of these faults could fail their Self Test due to a Linkbus communication failure. Refer to Section 8.1.1.1, “Self Check Issues” for further details on this failure.

8.1.10. DC Fans

DC Fan Control Error | ssg_warn_fan_control_dc_error
  • This warning is caused by the hardware fan driver in the G5 Stack Switchgear when it experiences either an over current or over temperature failure when trying to drive the fans. When one of these failures has occurred, the register ssg_fan_control_dc.fault_status will read as one. There is no information available which of these failures has occurred when the warning is triggered. The firmware of the G5 Stack Switchgear will use an auto clear mechanism and the register ssg_fan_control_dc.fault_status may temporarily clear to zero. The register ssg_fan_control_dc.fault_status can be observed to toggle between zero and one while the firmware is trying to auto recover the DC fan failure. When the DC fan failure is corrected, ssg_fan_control_dc.fault_status will stay at zero and DC fan operation will resume. The ssg_warn_fan_control_dc_error will auto clear when the end hysteresis period of ssg_warn_fan_control_dc_error.end_time_hyst of zero output from ssg_fan_control_dc.fault_status has completed.

8.1.10.1. Self Check Issues

This warning should never fail its Self Check. Please check that it has been properly configured as detailed in Section 6.6.6.3, “DC Fan Warning”.

8.1.11. Watchdog Faults

AFE Communication Timeout | ssg_fault_afe_wdt
  • Fault indicating communication failure to the AFE subsystem that measures stack voltage/current/charge.

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 G5 Cell Interface data has not been updated periodically for every installed G5 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 MESA heartbeat).

Controller Heartbeat Watchdog | sc_warn_controller_wdt
  • Warning triggered from the same data as sc_fault_controller_wdt.

Transactions on the ModbusTCP interface can occasionally experience significant latency, see Section 8.3, “ModbusTCP Latency”. To prevent tripping sc_fault_controller_wdt and sc_warn_controller_wdt set the following configuration value:

Configuration Register Setting

sc_controller_wdt.period

At least 11000000(11 seconds)

Stack Switchgear Temperature Measurements Timeout | ssg_fault_therms_wdt and ssg_fault_power_conn_therms_wdt
  • Fault indicating SSG internal temperatures were not periodically not being measured.

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 Switchgear Cpu Register Self Test Watchdog | ssg_fault_cpu_register_self_test_wdt
  • Fault indicating the CPU register tests had not been executing periodically.

Stack Switchgear Clock Accuracy Test Watchdog | ssg_fault_clock_accuracy_test_wdt
  • Fault indicating the clock accuracy test had not been executing periodically.

Stack Controller Factory Configuration | sc_fault_factory_verify_wdt
  • Fault indicating the factory registers on the G5 Stack Switchgear have not been periodically validated against non-volatile memory.

Contactor End-Of-Life Watchdog | ssg_fault_contactor_end_of_life_wdt
  • Fault indicating contactor life has not been evaluated periodically.

Stack Switchgear Contactor Life Memory Watchdog | ssg_fault_contactor_life_verify_wdt
  • This watchdog is not required and can be disabled.

8.1.11.1. Self Check Issues

The stack_fault_cell_wdt, stack_fault_therm_wdt, stack_fault_ci_wdt, and stack_fault_open_wire_wdt can fail a Self Check due to problems with the Link Bus communication. Refer to Section 8.1.1.1, “Self Check Issues” for further details.

The watchdog faults sc_fault_ram_test_wdt, sc_fault_rom_test_wdt, and sc_fault_factory_verify_wdt should always pass their Self Check as they are core to the Nuvation Energy BMS and should never fail Self Check.

Please contact Nuvation Energy at support@nuvationenergy.com if you are experiencing these faults.

The sc_fault_controller_wdt can fail a Self Check if there is no external controller updating the heartbeat. Disable this fault if is no external controller periodically updating the watchdog as described in Section 6.5.6, “External Controller Heartbeat”.

8.1.12. Configuration Faults

Stack Controller Configuration Consistency Check | sc_fault_config
  • Fault indicating that there was an error reading the non-volatile storage of the Battery Management System configuration. A default configuration is used when this fault occurs and the Battery Management System will fail to exit Service Lockout. Once a configuration has been successfully imported into the Battery Management System and saved, this fault should not occur.

During a firmware upgrade of the Battery Management System, the configuration is deleted to avoid incompatibility with the upgraded version.
Stack Controller Factory Consistency Check | sc_fault_config_factory
  • Fault indicating that there was an error reading the non-volatile storage of the Battery Management System factory configuration. This is similar to sc_fault_config; refer to that fault for more details.

Stack Controller Factory Memory Check | sc_fault_config_factory_verify
  • Fault indicating that verification of factory configuration settings against non-volatile storage has failed on the G5 Stack Switchgear. This typically means either a setting was changed after saving or non-volatile memory has been corrupted.

8.1.13. Functional Safety Faults

All of these faults in this section detect a hardware or software failure internal to the G5 High-Voltage BMS. Please contact support@nuvationenergy.com if any of these faults trigger.
Clock Check | sc_fault_clocks
  • Fault indicating an internal clock failure on the G5 Stack Switchgear.

Register Link | sc_fault_register_link
  • Fault indicating an internal communication failure in the BMS firmware. If this failure occurs and record the values in the following registers sc_gpo.link_error, sc_gpo_shutdown.link_error, stack_contactor.link_error and sc_gpi.link_error.

Stack Switchgear Vcoil Over Voltage | ssg_fault_vcoil_voltage_over
  • Fault indicating an Vcoil voltage that was larger than expected.

Stack Switchgear Vcoil Voltage Range | ssg_fault_vcoil_voltage_range
  • Fault indicating an Vcoil voltage was measured in an unexpected range.

Stack Switchgear Vcoil State Mismatch | ssg_fault_vcoil_state_mismatch
  • Fault indicating an Vcoil voltage was measured in an state opposite of what was expected.

Stack Switchgear Detected Unexpected Bus Voltage | ssg_fault_unexpected_bus_voltage
  • Fault indicating that the measured DC Bus voltage was in a state that was not expected.

Stack Switchgear Thermistor Circuit Fail | ssg_fault_therm_circuit_fail
  • Fault indicating that the internal temperatures of the G5 Stack Switchgear experienced a circuit failure.

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

  • This can also trip due to misconfigured or incorrectly installed thermistors.

Thermistor Consistency Check | stack_fault_ci_therm_consistency
  • Fault indicating the difference amongst external thermal readings per G5 Cell Interface is too large.

  • This failure is an indication of either an extreme thermal gradient local to the temperatures measured by one CI or that there is a separation of a thermistor(s) from their intended bonded surface.

  • Review all the temperatures of each G5 Cell Interface and identify the Cell Interface that have local temperature deltas greater than the configured threshold stack_fault_ci_therm_consistency.thresh.

Cell Interface Measurement Check | sc_fault_ci
  • Fault indicating there was an internal hardware failure on a G5 Cell Interface.

Stack Switchgear Temperature Short Shunt | ssg_fault_temperature_short_shunt
  • Fault indicating that the internal G5 Stack Switchgear thermal behavior is correlated with a shorting of its current shunt.

Contactor End-Of-Life | ssg_fault_contactor_end_of_life
  • Fault indicating a contactor is end-of-life.

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
  • This fault should be disabled. It is not required for G5 High-Voltage BMS operation.

Stack Switchgear Contactor Life Sanity Check | ssg_fault_contactor_life_sanity_check
  • This fault verifies the internal consistency of data used for contactor life tracking.

8.1.13.1. Self Check Issues

The following faults are related to data from the G5 Cell Interface and can fail a Self Check due to problems with the Link Bus communication.

  • stack_fault_cell_open_wire

  • stack_fault_therm_circuit_fail

  • stack_fault_ci_therm_consistency

  • sc_fault_ci

Refer to Section 8.1.1.1, “Self Check Issues” for further details.

The following faults are related to data from the AFE sub-system and can fail a Self Check due to problems communication failures.

  • ssg_fault_therm_circuit_fail

  • ssg_fault_unexpected_bus_voltage

  • ssg_fault_temperature_short_shunt

Please refer to Section 8.1.11, “Watchdog Faults” for the AFE watchdog fault that would trip on this failure.

Additionally the ssg_fault_temperature_short_shunt fault could also fail its a Self Check if the associated algorithm is not enabled (ssg_temperature_short_shunt_detector.enabled). Please refer the Nuvation Energy G5 High-Voltage BMS: Safety Manual for details on how to configure this fault properly for a G5 Stack Switchgear model.

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

8.2.1. Wireshark (Windows/Linux)

  1. Download/install Wireshark on a PC (https://www.wireshark.org/)

  2. Connect the PC directly to the Ethernet port on the G5 High-Voltage BMS

  3. Start a Wireshark capture on the network interface connected to the G5 Stack Switchgear

  4. In the 'filter' field, enter in arp.isgratuitous and press enter

  5. Either reboot the G5 High-Voltage BMS, or unplug/plug the Ethernet cable

  6. 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 G5 High-Voltage BMS

  7. Once that is complete, update the PC network settings to match the G5 Stack Switchgear and connect the Operator Interface.

8.2.2. Netdiscover (Linux only)

  1. Install netdiscover on a PC (on Debian based systems use: sudo apt install netdiscover)

  2. Connect the PC directly to the Ethernet port on the G5 High-Voltage BMS

  3. Run sudo netdiscover -i <interface> -p where <interface> is the network interface connected to the G5 High-Voltage BMS

  4. Either reboot the G5 High-Voltage BMS, or unplug/plug the Ethernet cable

  5. The device address and MAC will show up in netdiscover once an ARP packet is sent

  6. Once that is complete, update the PC network settings to match the G5 High-Voltage BMS and connect the Operator Interface.

In the event the IP address cannot be discovered, a network reset operation must be carried out to restore the BMS to its factory network configuration.

8.3. ModbusTCP Latency

8.3.1. Known Issue

Transactions over the BMS ModbusTCP interface may occasionally take up to 10 s to complete.

8.4. Disconnect Input Causing Faults to Trip

When using the Disconnect Input, some faults may trip if the system is misconfigured. To avoid tripping faults, set the following configurations based on the disconnect mode. See Disconnect Input for details on disconnect modes.

Register Disconnect Mode Required Setting

ssg_fault_vcoil_state_mismatch.time_hyst

Quick

Greater than or equal to stack_control.disconnect_delay

stack_fault_contactor_feedback_fail.time_hyst

Quick

Greater than or equal to stack_control.disconnect_delay

ssg_fault_vcoil_state_mismatch.time_hyst

Nominal

Greater than or equal to stack_control.disconnect_delay-6000000 (minimum: 0)

stack_fault_contactor_feedback_fail.time_hyst

Nominal

Greater than or equal to stack_control.disconnect_delay-6000000 (minimum: 0)

Appendix A: 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 B: 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.

excess cable management
Figure 83. Excess Cable Management Examples

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 G5 Stack Switchgear units isolated on the 'Internal/Bridge' network is below:

msc g5 5 stacks secure network
Figure 84. Networking configuration for a Multi-Stack Controller with secure and internal network
Inbound Protocols and Ports

All the open ports listening on the G5 High-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)

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 C: Ordering Information

G5 Stack Switchgear

Product part numbers for ordering a G5 Stack Switchgear are listed below.

Table 68. G5 Stack Switchgear Unit Ordering Information
Part Number Product Name Continuous Rated Current Maximum Rated Current Compatible Fuse Rating

NUVG5-SSG-1500-200-x

G5 Stack Switchgear, 1500 V, 200 A

200 A

250 A

200 A, 250 A, 315 A

NUVG5-SSG-1500-300-x

G5 Stack Switchgear, 1500 V, 300 A

300 A

350 A

315 A, 350 A, 400 A, 450 A, 500 A

NUVG5-SSG-1500-350-x

G5 Stack Switchgear, 1500 V, 350 A

350 A

400 A

350 A, 400 A, 450 A, 500 A

* x = fuse rating code.

Kits are available for purchase online at https://nstore.nuvationenergy.com. These kits include the product, cables, and any accessories needed to get you started.

Fuse Rating Code

The fuse rating code is denoted by the x at the end of the product part number. The G5 Stack Switchgear fuse rating is determined by the application power profile, which is based on continuous power, cycle duration, and cycle frequency.

A Nuvation Energy Application Engineer will assist with determining a suitable fuse rating when an order is placed.

Table 69. Fuse rating and code
Fuse Rating Code

200 A

1

250 A

2

315 A

3

350 A

4

400 A

5

450 A

6

500 A

7

For e.g., a NUVG5-SSG-1500-200-1 is a "1500 V DC, 200 A" G5 Stack Switchgear, with a 200 A fuse rating.

By default, the G5 Stack Switchgear ships with bracket NUVP-SSG-SB-B for shelf-mounting. The following mounting bracket options are available upon request.

Table 70. Mounting Bracket Ordering Information
Part Number Product Name

NUVP-SSG-SB-B

Part, Stack Switchgear, Brackets for shelf-mounting

NUVP-SSG-RB-19-B

Part, Stack Switchgear, Front-securing Brackets for 19" Rack

Fasteners for attaching the brackets to the unit are included.

Bracket CAD files are available online at https://www.nuvationenergy.com/technical-resources.

G5 Cell Interface

Product part numbers for ordering a G5 Cell Interface are listed below.

Table 71. G5 Cell Interface Ordering Information
Part Number Product Name

NUVG5-CI-24

G5 Cell Interface - 24 channel

Kits are available for purchase online at https://nstore.nuvationenergy.com. These kits include the product, cables, and any accessories needed to get you started.

Appendix D: 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.

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

The G5 High-Voltage BMS ships from the factory with password protection on the Operator Interface. Please contact support@nuvationenergy.com for the factory password and documentation for advanced modifications of the G5 High-Voltage BMS.
  1. Unlock the Operator Interface by clicking the menu and Unlock

    • You will need the Operator Interface password if the Operator Interface is password-protected

  2. Follow the instructions in Section 5.3.3.2.5, “Editing an IP Address” to update the IP.

Appendix E: Mating Connectors

G5 Stack Switchgear Connectors

Power and Fan Connector

connector molex 39 01 2105

Molex 39-01-2105

Manufacturer

Molex

Housing

39-01-2105

Housing material

Nylon UL94V-0

Circuits

10

Crimp terminal

39-00-0073 (Reel)

Wire gauge range

18–24 AWG stranded

Table 72. Power and Fan Connector Pin Assignment
Pin Connection Description Connected to Device

1

AC_IN_N

AC Power In, Neutral

External AC power source

2

AC_FAN_OUT_N

AC Fan Power Out, Neutral

Battery rack AC cooling fans

3

AC_EARTH

AC Earth; connected internally to Pin 81

AC Ground connection

4

DC_PWR_NEG

DC Power In, Negative

External DC power source

5

DC_FAN_NEG

DC Fan Power Out, Negative

Battery rack DC cooling fans

6

AC_IN_L

AC Power In, Line

External AC power source3

7

AC_FAN_OUT_L

AC Fan Power Out, Line

Battery rack AC cooling fans

8

AC_EARTH

AC Earth; connected internally to Pin 31

AC Ground connection

9

DC_PWR_POS

DC Power In, Positive

External DC power source2

10

DC_FAN_POS

DC Fan Power Out, Positive

Battery rack DC cooling fans

1Also connected internally to G5 Stack Switchgear chassis

2Powers the G5 Stack Switchgear if the external AC power source is unavailable. Powers the external DC fans

3Powers the G5 Stack Switchgear and the external AC fans

I/O Connector

connector samtec IPD1 10 D K

Samtec IPD1-10-D-K

Manufacturer

Samtec Incorporated

Housing

IPD1-10-D-K

Housing material

Nylon UL94V-0

Circuits

20

Crimp terminal

CC79R-2024-01-L (Reel)

Wire gauge range

20–24 AWG stranded

Table 73. I/O Connector Pin Assignment
Pin Connection Description Connected to Device

1

COM_CHAIN

Negative reference for chained G5 Stack Switchgear

Next G5 Stack Switchgear COM in the chain

2

ENABLE#_CHAIN

Connected internally to Pin 14

Next G5 Stack Switchgear Enable input in the chain

3

SHUTDOWN#_COM

Signal return for Shutdown input

External equipment

4

ENABLE#_COM

Signal return for Enable input

External equipment

5

DISCONNECT#

Connect to COM_IO to open contactors

External equipment

6

DISCONNECT#_COM_IO

Signal return for Disconnect input

External equipment

7

GPO_ISO1_A

Digital Output 1

External equipment

8

GPO_ISO0_A

Digital Output 0

External equipment

9

GPI_ISO1_COM_IO

Signal return for GPI_ISO1_K input

External equipment

10

GPI_ISO0_COM_IO

Signal return for GPI_ISO0_K input

External equipment

11

COM

Signal return from G5 Stack Switchgear

Next G5 Stack Switchgear COM in the chain

12

SHUTDOWN#_CHAIN

Connected internally to Pin 13

Next G5 Stack Switchgear Shutdown input in the chain

13

SHUTDOWN#

Momentary to COM to invoke shutdown; Hold to COM to force shutdown

External equipment

14

ENABLE#

Momentary to COM to enable G5 Stack Switchgear; Hold to COM to defeat Shutdown

External equipment

15

DISCONNECT#_CHAIN

Connected internally to Pin 5

Next G5 Stack Switchgear Disconnect input in the chain

16

COM_IO_CHAIN

Negative isolated reference for chained G5 Stack Switchgear

Next G5 Stack Switchgear COM_IO in the chain

17

GPO_ISO1_B

Digital Output 1

External equipment

18

GPO_ISO0_B

Digital Output 0

External equipment

19

GPI_ISO1_K

Input detector 1

External equipment

20

GPI_ISO0_K

Input detector 0

External equipment

General Purpose Output

The following diagram shows the internal circuit driving the GPO outputs. Refer to Section 5.1.1.1, “External Specifications” for the electrical ratings of this output.

g5 gpo internal diagram
Figure 85. GPO Equivalent Circuit Diagram
General Purpose Input

The following diagram shows the internal circuit receiving the GPI inputs. Refer to Section 5.1.1.1, “External Specifications” for the electrical ratings of this input.

g5 gpi internal diagram
Figure 86. GPI Equivalent Circuit Diagram
Disconnect Input

The following diagram shows the internal circuit receiving the Disconnect input. This feature allows an external dry-contact switch to notify the G5 Stack Switchgear to disconnect the battery from the DC bus. The signal can be daisy-chained to adjacent G5 Stack Switchgear units that also share the same DC bus.
The Disconnect input requires the signal to be asserted for a minimum of 0.5 seconds when the G5 Stack Switchgear is configured for normal disconnect mode. When configured for fast disconnect mode, the G5 Stack Switchgear instantly reacts to the input.
In the unlikely event the G5 Stack Switchgear is unresponsive, asserting the Disconnect Input for 10 seconds will override the software to disconnect the battery from the DC Bus using a hardware-only circuit. Refer to Section 5.1.1.1, “External Specifications” for the electrical ratings of this input.

g5 disconnect internal diagram
Figure 87. Disconnect Input Equivalent Circuit Diagram
Enable Input

The following diagram shows the internal circuit receiving the Enable input. The Enable circuit must be controlled by a momentary switch or relay that will assert the signal for a minimum of 2 seconds. Holding the signal asserted will defeat the Shutdown input and defeat the ability for a UVLO fault to turn off the BMS. Refer to Section 5.1.1.1, “External Specifications” for the electrical ratings of this input.

g5 enable internal diagram
Figure 88. Enable Input Equivalent Circuit Diagram
Shutdown Input

The following diagram shows the internal circuit receiving the Shutdown input. The Shutdown circuit must be controlled by a switch or relay that will assert the signal for a minimum of 0.5 seconds. Holding the signal asserted for 10 seconds will trigger the hardware-only circuit path which will force the BMS to turn off if the BMS Firmware is non-responsive, unless the Enable input is asserted. Refer to Section 5.1.1.1, “External Specifications” for the electrical ratings of this input.

g5 shutdown internal diagram
Figure 89. Shutdown Input Equivalent Circuit Diagram
Multi-Stack Chain Pin Assignments::

In a multi-stack battery energy storage system, it can be desirable to use a global relay or switch to send an Enable, Shutdown, or Disconnect signal to all G5 Stack Switchgears simultaneously. The system wiring can be simplified by making use of the Chain signals provided on this connector. Each G5 Stack Switchgear will contribute a small amount of current into the global relay or switch. The path within the G5 Stack Switchgear is rated for a maximum current of 1.5A which equals approximately 100 G5 Stack Switchgears. In practice, the limit will be the wire gauge size and global relay or switch, which must be rated to switch 24 VDC at 15mA times the number of G5 Stack Switchgears. Refer to Section 5.1.1.1, “External Specifications” for the electrical ratings of this output.
Multi-stack chain pin assignments are shown below for Enable and Shutdown input signal circuits.

g5 enable shutdown pins
Figure 90. Enable and Shutdown Chain Pin Assignments

Multi-stack chain pin assignments are shown below for Disconnect input signal circuits.

g5 disconnect pins
Figure 91. Disconnect Chain Pin Assignments

Linkbus Connector

The Linkbus jack is a standard RJ45 Cat5e rated jack.

Table 74. Linkbus Connector Pin Assignment
Pin Connection Description Connected to Device

1

No Connect

No Connection

No Connection

2

No Connect

No Connection

No Connection

3

No Connect

No Connection

No Connection

4

No Connect

No Connection

No Connection

5

No Connect

No Connection

No Connection

6

No Connect

No Connection

No Connection

7

IMA

Link Bus differential pair negative

First G5 Cell Interface module in the Link Bus chain

8

IPA

Link Bus differential pair positive

First G5 Cell Interface module in the Link Bus chain

Ethernet Connector

The Ethernet jack is a standard RJ45 Cat5e rated jack.

Table 75. Ethernet Connector Pin Assignment
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

NUL_78

Unused; connected to Pin 8 and terminated

External equipment

8

NUL_78

Unused; connected to Pin 7 and terminated

External equipment

Battery and DC Bus High Current Connectors

The 4 high current posts accept an M10-1.5 Stainless-Steel bolt which is used to secure the high current wire lug. G5 Stack Switchgear includes 16 mm long bolt and split lock-washer. The bolt must be tightened to 60 to 80 in-lbs.

The provided cable insulation boots must be used to insulate each high current post. The red boots are used for Battery+ and DC Bus+ positive connections; the black boots are used for Battery– and DC Bus– negative connections. Maximum cable O.D. (including insulation thickness) is 0.8in [20.3mm]. Wire crimp lug must not extend beyond the center of the M10 clearance hole by 1.3in [33mm].

Earth Bonding Connector

The equipment Earth bonding post accepts an M8-1.25 Zinc-plated bolt which is used to secure the Earth wire lug. G5 Stack Switchgear includes 16mm long bolt and 2 external-toothed lock-washers where one washer is placed between the G5 Stack Switchgear and the grounding lug and the other washer is placed between the grounding lug and the bolt head. The bolt must be tightened to 130 in-lbs. Refer to NFPA 70, Table 250.122 for suitable wire size based on the G5 Stack Switchgear unit’s current rating.

G5 Cell Interface Connectors

Cell Voltage and Temperature Connector

connector samtech IPD1 21 D K

Samtec IPD1-21-D-K

Manufacturer

Samtec Incorporated

Housing

IPD1-21-D-K

Housing material

Nylon UL94V-0

Circuits

42

Crimp terminal

CC79R-2024-01-L (Reel)

Wire gauge range

20–24 AWG stranded

Samtec IPD1-21-D-K suggested wire:
UL Style 3239, 24 AWG, 150° C, 3KV, 1.9 mm O.D.
Example: 3239-24-1-0500-001-1-TS
Table 76. Cell Voltage and Temperature Connector Pin Assignment
Pin Connection Description Connected to Device

1

CELL23+

Cell 23 voltage sense

Connect to positive terminal of Cell 23

2

CELL24+

Cell 24 voltage sense

Connect to positive terminal of Cell 24

3

Reserved – Do not populate

4

TEMP1

External temperature probe input 1

10 kΩ NTC Thermistor #1

5

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #1

6

TEMP2

External temperature probe input 2

10 kΩ NTC Thermistor #2

7

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #2

8

TEMP3

External temperature probe input 3

10 kΩ NTC Thermistor #3

9

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #3

10

TEMP4

External temperature probe input 4

10 kΩ NTC Thermistor #4

11

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #4

12

TEMP5

External temperature probe input 5

10 kΩ NTC Thermistor #5

13

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #5

14

TEMP6

External temperature probe input 6

10 kΩ NTC Thermistor #6

15

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #6

16

TEMP7

External temperature probe input 7

10 kΩ NTC Thermistor #7

17

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #7

18

TEMP8

External temperature probe input 8

10 kΩ NTC Thermistor #8

19

TCOM

External temperature probe reference

10 kΩ NTC Thermistor #8

20

CI_REF1-

Bottom reference of G5 Cell Interface

Connect to negative terminal of the lowest cell (Cell 1)

21

CELL1+

Cell 1 voltage sense

Connect to positive terminal of the lowest cell (Cell 1)

22

CELL22+

Cell 22 voltage sense

Connect to positive terminal of Cell 22

23

CELL21+

Cell 21 voltage sense

Connect to positive terminal of Cell 21

24

CELL20+

Cell 20 voltage sense

Connect to positive terminal of Cell 20

25

CELL19+

Cell 19 voltage sense

Connect to positive terminal of Cell 19

26

CELL18+

Cell 18 voltage sense

Connect to positive terminal of Cell 18

27

CELL17+

Cell 17 voltage sense

Connect to positive terminal of Cell 17

28

CELL16+

Cell 16 voltage sense

Connect to positive terminal of Cell 16

29

CELL15+

Cell 15 voltage sense

Connect to positive terminal of Cell 15

30

CELL14+

Cell 14 voltage sense

Connect to positive terminal of Cell 14

31

CELL13+

Cell 13 voltage sense

Connect to positive terminal of Cell 13

32

CELL12+

Cell 12 voltage sense

Connect to positive terminal of Cell 12

33

CELL11+

Cell 11 voltage sense

Connect to positive terminal of Cell 11

34

CELL10+

Cell 10 voltage sense

Connect to positive terminal of Cell 10

35

CELL9+

Cell 9 voltage sense

Connect to positive terminal of Cell 9

36

CELL8+

Cell 8 voltage sense

Connect to positive terminal of Cell 8

37

CELL7+

Cell 7 voltage sense

Connect to positive terminal of Cell 7

38

CELL6+

Cell 6 voltage sense

Connect to positive terminal of Cell 6

39

CELL5+

Cell 5 voltage sense

Connect to positive terminal of Cell 5

40

CELL4+

Cell 4 voltage sense

Connect to positive terminal of Cell 4

41

CELL3+

Cell 3 voltage sense

Connect to positive terminal of Cell 3

42

CELL2+

Cell 2 voltage sense

Connect to positive terminal of Cell 2

The Link In jack is a standard RJ45 Cat5e rated jack.

Table 77. Link In Connector Pin Assignment
Pin Connection Description Connected to Device

1

No Connect

No Connection

No Connection

2

No Connect

No Connection

No Connection

3

No Connect

No Connection

No Connection

4

No Connect

No Connection

No Connection

5

No Connect

No Connection

No Connection

6

No Connect

No Connection

No Connection

7

IMA

Link Bus differential pair negative

Previous G5 Cell Interface in the Link Bus chain or the G5 Stack Switchgear

8

IPA

Link Bus differential pair positive

Previous G5 Cell Interface in the Link Bus chain or the G5 Stack Switchgear

The Link Out jack is a standard RJ45 Cat5e rated jack.

Table 78. Link Out Connector Pin Assignment
Pin Connection Description Connected to Device

1

No Connect

No Connection

No Connection

2

No Connect

No Connection

No Connection

3

No Connect

No Connection

No Connection

4

No Connect

No Connection

No Connection

5

No Connect

No Connection

No Connection

6

No Connect

No Connection

No Connection

7

IMA

Link Bus differential pair negative

Subsequent G5 Cell Interface module in the Link Bus chain

8

IPA

Link Bus differential pair positive

Subsequent G5 Cell Interface module in the Link Bus chain

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

Registers