Skip to content

shining-man/bsc_fw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Battery safety controller (BSC)

Table of Contents

  1. More information
  2. Sponsors
  3. Use Cases
  4. Supported Devices
  5. Display

The Battery Safety Controller (BSC) is a freely configurable controller that can be used for a wide range of control and monitoring tasks for DIY batteries. The BSC can take over the central control of the Energy-Sorange system and can be used to implement a second safety level in addition to the BMS.

The BSC consists of two components. The BSC hardware and the corresponding software.

  1. The BSC Hardware, which is used as middleware between the BMS and the inverter. One advantage of the BSC hardware is its secure operation. The components and design are such that all physical interfaces are galvanically isolated.

  2. The BSC software, which makes the Battery Safety Controller hardware a freely configurable controller that can be used for a wide range of control and monitoring tasks in DIY battery systems.
    Battery Management Systems (BMS) are connected via the three available serial interfaces, while the inverter is integrated through the CAN bus.

An optional status display is available as an extension, providing real-time information about the status of all connected devices.

The BSC software can also be used independently of the BSC hardware on ESP32 DevKit modules. However, due to stability, it is recommended to use the original BSC hardware.

The firmware is open source and available in German, English, and Dutch. You can download the latest public version here.
In addition to the freely available version, there is an Insider version exclusively for sponsors. This version includes the newest features before they are gradually released to the public.
You can learn more about sponsorship on the Github Sponsor page and in the documentation.

The WebUI dashboard:

The new dashboard is only available to insiders. All other users have a simple WebUI.

More information

Sponsors

Many thanks to all the sponsors who support the project.
You can find out more about sponsoring on the Github Sponsor page and in the documentation.

Gold

Bronze

Supporter

Use cases of the BSC

1. Monitoring of connected devices (serial, Bluetooth)

For this purpose, the BSC can send the data from the connected devices (BMS, balancer, temperature sensors) via MQTT to a broker to display them graphically with Grafana, for example, or to further process the data from an automation system (ioBroker, NodRed, Home Assistant, ...).

2. Charge control

For this, the BSC takes the data from the connected devices to control the inverter (Victron, Solis, DEYE, ...) connected via the CAN bus. Here are several functions available to adapt the charge control to your own DIY battery.

  • Cell voltage dependent throttling of the charge current
  • Reduce charge current in case of cell drift
  • SoC dependent charge current reduction
  • Charge current cut-off: prevents continuous recharging when the battery is full
  • Combining data from the individual physical battery packs into an overall virtual battery pack, with consideration of many parameters, such as can/does the battery pack charge/discharge at all.

3. Second safety level besides the BMS

The BSC can monitor various configurable parameters on connected devices (serial, Bluetooth) to create a second level of security.
Parameters that can be monitored include:

  • Does the connected BMS respond regularly
  • Cell voltages (min/max)
  • Total voltage (min/max)
  • Temperatures

This can be used, for example, to control the relay outputs to trigger a load break switch.

4. Temperature monitoring

Up to 64 OneWire temperature sensors (DS18B20) can be connected and monitored. There are different regulations for monitoring the temperature:

  • Maximum value monitoring
  • Maximum value monitoring with one sensor as reference value
  • Differential value monitoring

All settings can be freely parameterized via a web interface.

Supported BMS

For more information see the documentation in the section Supported BMS.

  • JBD (Jiabaida)
  • JK
  • JK Inverter [1]
  • Seplos
  • Seplos V3 [1]
  • DALY
  • Sylcin [1]
  • PACE RN150
  • PCAE PC200 [1]

[1]: With these BMS you can connect up to 16 to one serial port.

Supported external Shunts

For more information see the documentation in the section Supported external Shunts.

  • Victron SmartShunt

Supported Inverter

For more information see the documentation in the section Supported Inverter.

  • Victron
  • Pylontech protocol (Solis, DEYE, ...)
  • BYD protocol (only tested with SolarEdge RWS)

Features der BSC-Hardware

  • 6x Relay outputs
  • 4x Digital inputs (isolated)
  • 3x Serial interface (isolated) [3]
  • Onewire (64x DS18B20)
  • CAN (isolated)
  • WLAN

[3]: With the Serial Extension the BSC can be extended by 8 additional physical and galvanically isolated serial ports.

First steps

A lot of further information about commissioning, supported devices, information about the WebUI can be found in the Documentation.

Use with an ESP32 DevKit

GPIOs

Interface RX TX
Serial 0 GPIO 16 GPIO 17
Serial 1 GPIO 23 GPIO 25
Serial 2 GPIO 35 GPIO 33
CAN GPIO 5 GPIO 4

Further description can be found here.

Status display

To show the status of the BSC and the connected BMSes there is a status display for the BSC.
More details are in the Github project of the display and in the documenatation.
GitHub project Display
Documentation - Display

VenusOS dbus driver

To display more data in VenusOS (Victron) like the cell voltages of the connected BMS or the temperatures of the OneWire sensors, there is a dbus driver. Here the data is not transmitted via WLAN to the VenusOS, but via the CAN bus.
For more info see the github project: dbus-bsc-can

About

Firmware battery safety controller (BSC)

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 10