Skip to content
tueftler0 edited this page Dec 7, 2023 · 50 revisions

Hardware Voraussetzung

Um alle Funktionen nutzen zu können ist die zum BSC zugehörige Hardware erforderlich:
Links:

Zum Testen kann aber auch ein ESP32-Dev-Kit (z.B. ein NodeMCU mit einem ESP-WROOM-32) genutzt werden.

Techtalk über mögliche Anschlussmöglichkeiten

Zu finden über folgenden Link.

Stromversorgung

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

Folgende Bedingungen sind zu erfüllen

  • 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:
      dc-dc-wandler

Wie trennt man Lötjumper

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

Flashen des ESP32-Modus

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

Nutzen des Hersteller-Download-Tools (only Windows)

  • 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:
      bsc
      bsc
    • Den Upload-Vorgang mit einem Klick auf "Start" starten

Flashen mit dem esptool (Linux, Windows)

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

Verbinden mit dem BSC

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

Funktionsprinzip der Überwachungsfunktionen

Für jeden zu überwachenden Wert, dies kann z.B. eine Temperatur, eine Spannung, ... sein, kann ein Alarm eingestellt werden, der im Gefahrenfall aktiv wird. Dieser Alarm löst erst einmal keine weitere Aktion aus. Es kann jetzt aber wiederum eingestellt werden, dass das Relais x schalten soll, wenn Alarm x aktiv wird, oder dass der Wechselrichter seinen Ladestrom auf 0 A einstellen soll, wenn Alarm x aktiv wird. Durch diese Logik lässt sich eine flexible Kombination von Alam-Gebern und Alarm-Nehmern zu. Maximal stehen 10 interne Alarme zur Verfügung.

Ein Beispiel: Wenn die Temperatursensoren 2 oder 3 eine Temperatur von 30 °C überschreiten, dann soll Alarm 1 aktiv werden. Für das Relais 1 wurde eingestellt, dass es schaltet, wenn Alarm 1 aktiv wird um einen Lüfter zu aktivieren. Gleichzeitig kann ich aber auch einstellen, dass bei Alarm 1 der Wechselrichter seinen Ladestrom reduziert, da er für die hohe Wärmebelastung verantwortlich ist.

Web UI

Allgemeine Informationen zur Bedienung

Speichern der Einstellungen 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.

Dashboard

Nach dem Aufrufen der Webseite (über die IP oder bsc.info) kommt als Startseite das Dashboard mit ein paar grundlegenden Informationen.

bsc

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
Alarme Status der Alarme; 0=kein Alarm, 1=Alarm
Einstellungen Hier geht es zu den Einstellungen

Einstellungen

bsc

System

bsc

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.

Schnittstellen

In den Schnittstellen Einstellungen wird erst einmal nur 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.

bsc

Schnittstellen - Digitalausgänge

bsc
Hier können die grundlegenden Einstellungen zu den Digitalausgängen vorgenommen werden.

  • Auslösung bei
    Hier wird angegeben bei welchem kommenden Alarm das Relais schalten soll
  • Auslöseverhalten
    • Permanent: Das Relais bleibt angezogen, solange der Alarm 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 Alarm verzögert werden soll.

Die Logik mit den Alarmen zieht sich durch das gesamte System. Es gibt Alarm-Geber, z.B. die Digitaleingänge
und es gibt Alarm-Nehmer, z.B. die Digitalausgänge.

Schnittstellen - Digitaleingänge

bsc
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 Alarm eingestellt werden, auf den der Eingang geht.
    Wenn der Eingang High wird, dann wird der hier eingestellte Alarm aktiv.
    Ist der Eingang invertiert, dann wird bei einem Low am Eingang der Alarm aktiv.

Schnittstellen - Serial

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

  • JBD BMS (IN)

Das (IN) gibt an, dass er sich um einen Eingang handelt, d.h. der Controller holt sich die Daten vom angeschlossenen Device.

Schnittstellen - Onewire

bsc
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 sind neue Devices, die noch nicht
in der Onewire-Konfigurationsseite gespeichert sind. Dadurch lassen sich neu angeschlossene Sensoren leichter identifizieren.

bsc

Schnittstellen – Onewire II

bsc
Hier kann ein Offset zu den jeweiligen Onewire-Temperatursensoren eingestellt werden.

Schnittstellen - Bluetooth

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

  • NEEY Balancer 4A

Alarmregeln

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.

bsc

Alarmregeln - BMS

bsc
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
Alarm keine Daten Aktivieren/Deaktivieren der Überwachungsfunktion
Aktion bei Alarm Gibt an welcher Alarm ausgelöst werden soll
Alarm keine Daten Wenn x Sekunden keine Daten kommen, dann wird Alarm ausgelöst
Spannungsüberwachung Zelle Min/Max
Spg.-Überwachung Aktivieren/Deaktivieren der Überwachungsfunktion
Aktion bei Alarm Gibt an welcher Alarm 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 Alarm Gibt an welcher Alarm ausgelöst werden soll
Spannung Min Überwachungs-Untergrenze
Spannung Max Überwachungs-Obergrenze

Alarmregeln - Temperatur

bsc
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 Alarm 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 Alarm ausgelöst.

    • Referenzsensor: -
    • Wert 1: Maximal erlaubte Temperaturdifferenz
    • Wert 2: -

Wechselrichter

bsc

Update

bsc

Clone this wiki locally