-
-
Notifications
You must be signed in to change notification settings - Fork 19
Home
Um alle Funktionen nutzen zu können ist die zum BSC zugehörige Hardware erforderlich:
Links:
Zum erstmaligen Testen kann auch ein ESP32-Dev-Kit genutzt werden.
NodeMCUs von verschiedenen Herstellern mit einem ESP32-DOWx (z.B. ESP-WROOM-32) Chipsatz wie z.B. "Berrybase NMCU-ESP32" sind kompatibel.
Zu finden über folgenden Link.
- Der Betrieb der BSC-Hardware 2.4 ist in der Auslieferung für 5V ausgelegt
Bei Bedarf ist es möglich die Spannungsversorgung auf mehr als 5V zu erweitern (z.B. 12V / 24V). - Die Spannungsversorgung kann redundant erfolgen.
Hierzu gibt es zwei separate Eingänge.
Um zu definieren welche Spannungsquelle die Primärspannungsquelle ist, sollte diese 0,1V/0,2V höher eingestellt werden.
- JP28[Versorgungsspannung für die BSC-Komponenten] ist gebrückt und muss für höhere Versorgungsspannungen größer 5V getrennt werden
- JP29 [Relais-Spannungsversorgung]
- beim Einsatz von 5V Relais ist keine Änderung an diesem Jumper notwendig
- beim Einsatz von 12V Relais die Verbindung 2-1 trennen und 3-2 mit dem Lötkolben überbrücken
Hinweis: Beim BSC V2.3 ist die Beschriftung der Jumper von JP29 falsch! Aufgedruckt ist 1 links, aber 1 ist auf der rechten Seite.
- U19 ist für eine höhere Versorgungsspannung größer 5V mit einem DC-DC Wandler zu bestücken
- bis 27V Eingangsspannung kann z.B. LMO78_05-1.0 verwendet werden.
- ansonsten ist ein passender DC-DC Wandler abhängig von der Eingangsspannung zu verwenden
- Der viereckige Lötpunkt bei U19 ist der 5V Ausgang des DC/DC Wandlers. Auf Polarität achten!
- Wenn 5V Relais verwendet werden, bitte beachten, dass diese durch den Spannungsregler U19 mitversorgt werden, daher >1A DC-DC Wandler verwenden
- Hier ein Beispiel der U19 Bestückung:
_
Hierzu müssen teilweise die in der Auslieferung gesetzten Lötjumper mechanisch entfernt werden.
Dies geschieht am Besten mit einem "Dremel", der nur an der Oberfläche die Kupferschicht entfernt.
Vorsicht! Es gibt weitere Kupferschichten innerhalb der Platine, diese dürfen natürlich nicht verletzt werden.
- Für die Erstinbetriebnahme muss das firmware.bin File manuell geflasht werden.
Die aktuellen Releases findet man hier.
Bei der BSC-Hardware muss hierzu auf der dreipoligen Stiftleiste J2 (links oben auf dem Board; mit "Prog" beschriftet) ein USB-Seriell Konverter mit 3,3V-Pegel angeschlossen werden.
Ein 5V-Konverter kann den Controller schädigen.
Bei den ESP32-Dev-Boards ist meistens direkt ein USB-Port vorhanden. Spätere Updates können über die Weboberfläche gemacht werden.
- Vor dem Flashen der Firmware muss das Board in den Download-Modus versetzt werden. Hierzu die Spannungsversorgung trennnen, dem Jumper J4 stecken und die Spannungsversorgung wieder einschalten. Nach erfolgreichem Flashen muss der Jumper J4 wieder entfernt werden, damit das Board normal anläuft.
- Wenn PCB Version >= V2.3: Der Jumper J6 darf während des Flashens nicht gesteckt werden, muss aber anschließend wieder gesteckt werden.
- Die Software zum Flashen (Flash Download Tools) kann von der Hersteller-Webseite des ESP32 bezogen werden.
Link: https://www.espressif.com/en/support/download/other-tools- Die Einstellungen in dem Download-Tool wie in den folgenden Screenshot zu sehen vornehmen:
- Den Upload-Vorgang mit einem Klick auf "Start" starten
- Die Einstellungen in dem Download-Tool wie in den folgenden Screenshot zu sehen vornehmen:
esptool.py --port /dev/ttyUSB0 --chip auto write_flash -ff 80m -fm dio 0x01000 bootloader.bin 0x08000 partitions.bin 0x0e000 boot_app0.bin 0x10000 firmware.bin
- Nach dem Flashen der Firmware stellt der BSC einen Accesspoint mit dem Namen BSC zur Verfügung.
- Nach dem Verbinden mit dem Accesspoint ist der BSC unter der IP-Adresse 192.168.4.1 oder bsc.info erreichbar und kann konfiguriert werden.
Für jeden zu überwachenden Wert, dies kann z.B. eine Temperatur, eine Spannung, ... sein, kann ein Trigger eingestellt werden, der im Gefahrenfall aktiv wird. Dieser Trigger löst erst einmal keine weitere Aktion aus. Es kann jetzt aber wiederum eingestellt werden, dass das Relais x schalten soll, wenn Trigger x aktiv wird, oder dass der Wechselrichter seinen Ladestrom auf 0 A einstellen soll, wenn Trigger x aktiv wird. Durch diese Logik lässt sich eine flexible Kombination von Trigger-Gebern und Trigger-Nehmern zu. Maximal stehen 10 interne Trigger zur Verfügung.
Ein Beispiel: Wenn die Temperatursensoren 2 oder 3 eine Temperatur von 30 °C überschreiten, dann soll Trigger 1 aktiv werden. Für das Relais 1 wurde eingestellt, dass es schaltet, wenn Trigger 1 aktiv wird um einen Lüfter zu aktivieren. Gleichzeitig kann ich aber auch einstellen, dass bei Trigger 1 der Wechselrichter seinen Ladestrom reduziert, da er für die hohe Wärmebelastung verantwortlich ist.
Es gibt zwei Version des WebUI's. Das Standart WebUI und ein WebUI für Unterstützer. Das WebUI für Unterstützer kann in den Systemeinstellungen mit dem Hacken "Ich bin Unterstützer" aktiviert werden. Aber bitte auch nur aktivieren, wenn ihr Unterstützer seit.
Im weiteren ist das neue WebUI angebildet.
Speichern der Einstellungen
Das Speichern unterscheidet sich in den WebUI's.
Standart WebUI:
Die geänderten Einstellungen können mit dem „S"-Button, der in jeder Zeile der Einstellungen ist, gespeichert werden.
Zu beachten ist, dass auch nur die Einstellung in der jeweiligen Zeile des „S"-Button gespeichert wird.
WebUI für Unterstützer:
Hier können alle Änderungen über den "Save"-Button in der Headline gespeichert werden. Es muss nicht jeder Änderung einzeln gespeichert werden.
Nach dem Aufrufen der Webseite (über die IP oder bsc.info) kommt als Startseite das Dashboard mit ein paar grundlegenden Informationen.
Über das seitliche Menü kann man zu den jeweiligen Funktionen navigieren.
Folgend sieht man das erweiterte Menü des BSC, das als "Unterstützer" erreichbar ist.
Kachel | Beschreibung |
---|---|
System | Solange auf der Kachel „running" steht, laufen die einzelnen Tasks fehlerfrei. Sollte ein interner Task seine vorgegebene maximale Zykluszeit überschreiten kommt hier ein Fehler mit der zugehörigen Tasknummer. |
MQTT | Gibt an, ob eine Verbindung zu dem MQTT Broker besteht |
Free Heap | Zeigt den freien Heap und den jemals niedrigsten freien Heap seit Systemstart an |
BT-Devices | Status der angeschlossenen BT-Geräte wie z.B. ein Neey Balancer; "c" bedeutet Connected |
Trigger | Status der zehn möglichen Trigger; 0=kein Trigger, 1=Trigger |
"FET state" beschreibt den aktuellen FET Lade-/Entladezustand.
Hier findet man alle System-Internen Einstellmöglichkeiten, wie z.B. Benutzernamen und Passwörter zu den WLAN und MQTT Logins.
Sobald MQTT aktiviert ist und die zugehörige IP-Adresse und der Port eingestellt ist, sendet der BSC zyklisch die Daten an den MQTT-Broker.
In den Schnittstellen Einstellungen wird eingestellt was an welcher Schnittstelle angeschlossen ist.
Hier wird nicht eingestellt was z.B. mit den Daten von einem BMS oder Balancer passieren soll, oder wann der Relais-Ausgang
schalten soll. Dies wird dann bei den Einstellungen zu den Alarmregeln oder dem Wechselrichter gemacht.
Hier können die grundlegenden Einstellungen zu den Relaisausgängen vorgenommen werden.
-
Auslösung bei
Hier wird angegeben bei welchem kommenden Trigger das Relais schalten soll -
Auslöseverhalten
- Permanent: Das Relais bleibt angezogen, solange der Trigger ansteht
- Impuls: Das Relais schaltet für eine Dauer von x ms. Die Impulsdauer wird unter "Impulsdauer" eingestellt.
-
Impulsdauer
Hier wird die Impulsdauer eingestellt, wenn bei dem Auslöseverhalten "Impuls" eingestellt wurde. -
Verzögerung
Gibt an um wie viel Sekunden das Schalten des Relais bei einem kommenden Trigger verzögert werden soll.
Die Logik mit den Triggern zieht sich durch das gesamte System. Es gibt Trigger-Geber, z.B. die Digitaleingänge
und es gibt Trigger-Nehmer, z.B. die Relaisausgänge.
Hier können die grundlegenden Einstellungen zu den Digitaleingängen vorgenommen werden.
-
Eingang invertieren
Hier kann der Eingang invertiert werden -
Weiterleiten an
Hier kann der Trigger eingestellt werden, auf den der Eingang geht.
Wenn der Eingang High wird, dann wird der hier eingestellte Trigger aktiv.
Ist der Eingang invertiert, dann wird bei einem Low am Eingang der Trigger aktiv.
Hier wird erst einmal nur eingestellt, was an welchem Serialen Port angeschlossen ist.
Die Daten stehen dem System jetzt intern zur Verfügung und es kann z.B. bei den Alarmregeln darauf zugegriffen werden.
Zuordnung (Software => Hardware)
- Serial 0 => U1
- Serial 1 => U2
- Serial 2 => U3
Unterstütze Hardware
Hier werden die Adressen der Onewire Temperatursensoren festgelegt.
Der Controller scannt, sobald diese Onewire- Konfigurationsseite aufgerufen ist, zyklisch den Bus nach Onewire-Devices und zeigt diese am unteren Ende der Seite an.
Die Fett dargestellten Devices am unteren Rand sind neue Devices, die noch nicht in der Onewire-Konfigurationsseite gespeichert sind.
Dadurch lassen sich neu angeschlossene Sensoren leichter identifizieren.
Hier kann ein Offset zu den jeweiligen Onewire-Temperatursensoren eingestellt werden.
Hier können bis zu 5 Bluetooth Devices festgelegt werden, von denen der Controller Daten holt.
Dazu muss der Device-Typ und die MAC-Adresse (in Kleinbuchstaben) eingestellt werden.
Der Controller scannt, sobald diese Konfigurationsseite aufgerufen ist, zyklisch nach neuen BT-Devices
und zeigt die letzten 5 gefundenen am unteren Ende der Seite an.
Unterstützte Hardware
In den Alarmregeln kann jetzt eingestellt werden, welche Daten von welchen Devices überwacht werden sollen.
Allgemeine Informationen
BMS 0 bis 4 sind die fünf Bluetooth-Devices.
BMS 5 bis 7 sind die drei Seriellen-Devices.
Die Zählung bleibt immer gleich, egal ob alle Devices belegt sind.
Hier können die Daten von den Bluetooth und Serial BMS/Balancer überwacht werden. Folgende Überwachungsfunktionen sind vorhanden:
Überwachungsfunktion | Option | Beschreibung |
---|---|---|
Keine Daten vom BMS | ||
Trigger keine Daten | Aktivieren/Deaktivieren der Überwachungsfunktion | |
Aktion bei Trigger | Gibt an welcher Trigger ausgelöst werden soll | |
Trigger keine Daten | Wenn x Sekunden keine Daten kommen, dann wird Trigger ausgelöst | |
Spannungsüberwachung Zelle Min/Max | ||
Spg.-Überwachung | Aktivieren/Deaktivieren der Überwachungsfunktion | |
Aktion bei Trigger | Gibt an welcher Trigger ausgelöst werden soll | |
Anzahl Zellen Monitoring | Anzahl der Zellen die Überwacht werden sollen. Es wird immer bei der ersten Zelle begonnen. |
|
Zellspannung Min | Überwachungs-Untergrenze | |
Zellspannung Max | Überwachungs-Obergrenze | |
Spannungsüberwachung Gesamt Min/Max | ||
Aktion bei Trigger | Gibt an welcher Trigger ausgelöst werden soll | |
Spannung Min | Überwachungs-Untergrenze | |
Spannung Max | Überwachungs-Obergrenze |
Hier können die Einstellungen für die Temperaturüberwachung der Onewire Temperatursensoren vorgenommen werden.
Option | Beschreibung |
---|---|
Sensornummer von Sensornummer bis |
Hier kann der Bereich (von/bis) der Onewire-Sensoren eingegeben werden, die Überwacht werden sollen. Die Sensornummern beziehen sich auf die Nummern der Onewire-Sensoren. |
Überwachung | Hier kann eine Überwachungsfunktion eingestellt werden. Je nach Überwachungsfunktion haben die Felder Wert 1+2 eine andere Funktion |
Referenzsensor Wert 1 Wert 2 |
Spezifische Funktion, je nach eingestellter Überwachung |
Auslösung | Gibt an welcher Trigger ausgelöst werden soll. Foraussetzung ist, dass eine Überwachungsfunktion ausgewählt wurde |
Überwachungsfunktionen:
-
nicht belegt Die Überwachung ist deaktiviert
-
Maximalwert-Überschreitung Es wird überwacht ob einer der Sensoren den maximal erlaubten Temperaturwert überschreitet.
Die maximale erlaubte Temperatur wird mit dem "Wert 1" festgelegt.- Referenzsensor: -
- Wert 1: Maximal erlaubte Temperatur
- Wert 2: -
-
Maximalwert-Überschreitung (Referenz) Es wird überwacht ob einer der Sensoren den maximal erlaubten Temperaturwert überschreitet.
Die maximale erlaubte Temperatur gibt der unter "Referenzsensor" festgelegte Sensor vor.- Referenzsensor: Sensornummer des Onewire-Temperatursensors
- Wert 1: Maximal erlaubte Temperaturdifferenz
- Wert 2: -
-
Differenzwert-Überwachung Es wird die maximale Temperaturabweichung der Sensoren untereinander überwacht.
Ist die Differenz zwischen dem Niedrigsten und höchsten Wert zu groß, wird der Trigger ausgelöst.- Referenzsensor: -
- Wert 1: Maximal erlaubte Temperaturdifferenz
- Wert 2: -
In dieser Sektion können Sie neben der Definierung des angeschlossenen Inverters, das Lade- und Entladehandling definieren.
Alle prozentualen Limitierungen werden auf die in der Kategorie "Basisdaten" eingestellten Werte angewendet.
Das "DEYE" genannte CAN-Bus-Protokoll ist kompatibel mit allen Pylontech kompatiblen Geräten wie z.B. auch Growatt.
Weiterhin kann mit der Funktion "Trigger bei SoC" externe Gerät je nach SoC-Wert geschalten werden.
Zwei Beispiele hierzu:
Hier triggert...
-
Rule0 ein Relais für einen MPPT-Ladecontroller
- <= 89% einschalten
- >= 90% ausschalten
-
Rule1 ein Relais für ein Ladegerät eines Offgrid-Systems
- <= 10% einschalten
- >= 25% ausschalten
Das Ladegerät geht bei 0% an, bis die 25% erreicht sind und schaltet dann aus. Erst bei 10% und kleiner wird es wieder gestartet.
Somit hat man eine Hysterese von 15%.
Ein Firmware-Update kann direkt über das Menü angestoßen werden.
Informationen zum aktuellen Release-Stand, wie auch die dazu passende Beschreibung der Änderungen wird live angezeigt.
Korrekt gesetztes Netzwerk-Gateway vorausgesetzt.