Systemübersicht
Systemüberblick
Der BSC ist ein frei konfigurierbarer Controller, welcher eine Schnittstelle zwischen den verschiedenen Komponenten eines DIY Batteriesystems realisiert. Er kann eine Vielzahl an Kontroll- und Überwachungsaufgaben übernehmen, unter anderem die zentrale Ladesteuerung des Speichersystems oder die Realisierung einer zweiten Sicherheitsebene neben des BMS.
%%{init: {
'theme': 'base',
'themeVariables': { 'fontSize': '16px', 'fontFamily': 'Arial', 'edgeLabelBackground': 'white'}
}}%%
flowchart TD
BMS[BMS] -- "RS485,<br>CAN,<br>Bluetooth" --> BSC[Serial 0-2]
TEMP_SENSOR[Temperature<br>Sensors] -- Onewire --> BSC
NEEY[NEEY<br>Balancer] <-- Bluetooth --> BSC[Bluetooth]
VICTRON_SHUNT[Victron<br>SmartShunt] --> VICTRON_SHUNT_CONV[RS485<br>Converter] -- RS485 --> BSC
BSC -- CAN --> CAN[Inverter]
BSC[MQTT] <-- MQTT --> MQTT_BROKER[MQTT Broker]
BSC[REST API] -- REST --> REST[REST Client]
BSC[Extension<br>Interface] -.- E1[<a href='hardware.md#bsc-display'>Display</a>]
SE["Serial<br>Extension<br>(Serial 3-10)"] -.- BSC
BMS -- RS485 --> SE
BSC[Battery Safety Controller]:::wide
subgraph Battery
BMS
TEMP_SENSOR
NEEY
VICTRON_SHUNT
end
classDef wide padding:200px
style BSC fill:#ffdbaa
Komponenten
- BSC: das Gerät besteht aus einer Platine und der darauf laufenden Software. Er besitzt verschiedenste Schnittstellen, um mit den externen Komponenten kommunizieren zu können (WLAN, Bluetooth, RS485, CAN-Bus, Onewire, digitale Ein- und Ausgänge, sowie einen Analogeingang)
- Display: optional kann an den BSC ein Display angeschlossen werden, welches über einen I2C-Bus mit dem BSC kommuniziert. Weitere Informationen finden sich hier im Wiki. Es bietet sich an, BSC und Display in diesem Gehäuse zu betreiben.
- Serial Extension: der BSC besitzt 3 RS485 Schnittstellen für den Anschluss von BMS. Falls weitere benötigt werden, kann das Serial Extension Board an den BSC angeschlossen werden um 8 weitere RS485 Schnittstellen zu erhalten. Siehe das entsprechende Github-Repo
- BMS: Verschiedene BMS können über RS485, CAN, oder Bluetooth verbunden werden. Von diesen werden dann aktuelle Zustandsinformationen der Batterien, wie Zellspannungen, SOC oder Temperaturen abgerufen. Siehe hier im Wiki
- Temperatursensoren: Es können zusätzliche Temperatursensoren über Onewire oder Digital- bzw. Analogeingänge angeschlossen werden, welche die Informationen des angeschlossenen BMS ergänzen.
- Balancer: Balancer von NEEY können vom BSC angesteuert werden, inklusive Abruf der aktuellen Zustandsinformationen und Steuerung des Balancers. Siehe TODO
- Shunt: Der BSC kann den SoC einer Batterie von einem externen Shunt abrufen. Derzeit wird ein Victron SmartShunt unterstützt. Da dieser nur über UART kommuniziert, wird ein zusätzlicher RS485/UART Konverter benötigt.
Siehe hier im Wiki - Inverter: Der BSC kommuniziert mit verschiedenen Wechselrichtern über CAN-Bus, wie z.B. Victron, Solis oder DEYE. Dabei kann der aktuelle Batteriezustand gemeldet werden, und auch Konfigurationsparameter, wie z.B. zur Ladesteuerung, gesetzt werden.
Siehe hier im Wiki - MQTT Broker: Alle Zustandsdaten können zusätzlich über WLAN an einen MQTT Broker gesendet werden, um diese langfristig zu speichern und zu visualisieren (z.B. über Grafana).
Siehe hier im Wiki - REST Client: Zustandsdaten über die überwachten Batterien oder über den BSC können über eine HTTP REST API abgerufen werden.
Siehe hier im Wiki
Verfügbare Schnittstellen
- WLAN: Zugriff auf das BSC-Webinterface, Übertragung von MQTT-Daten
- Bluetooth: Abruf von BMS-Daten (JK), Kommunikation mit NEEY-Balancer
- RS485: Abruf von BMS-Daten
- CAN Bus: Abruf von BMS-Daten, Kommunikation mit Wechselrichtern
- HTTP REST: Abruf von Batterie- und BSC-Zustandsinformationen
- Onewire: Abruf von Sensordaten, wie z.B. Temperatursensoren
- Digitale Eingänge: Empfang von digitalen Sensordaten über einen galvanisch getrennten Eingang
- Analoger Eingang: Empfang von analogen Sensordaten über einen galvanisch getrenten Eingang
- Digitale Ausgänge: Steuerung von externen Geräten über Relais