24-48V BMS

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen

Aktualisierung des Boardlayouts

Platinenherstellung und Bestückung

Gehäuse, Platinenbefestigung

Flashvorgang

Anschluss an Raspberry Pi zur Überwachung und Datenauswertung

Einrichtung der Kanäle im „web Frontend“ und in der Konfigurationsdatei „vzloggerconf“

Web Frontend

Einrichten der „vzlogger.conf“

Starten des vzloggers über WinSCP

Export von Datenbanksätzen

Stromverbrauch BMS

Anpassungen im Quellcode für den Prozessor STM32

Anleitung zum Aufbau und Inbetriebnahme

Folgende Anleitung zum Aufbau und zur Inbetriebnahme des BMS 24V-48V von LibreSolar soll einen Leitfaden darstellen, um den selbständigen Nachbau und die Inbetriebnahme des BMS zu ermöglichen. Der Leitfaden orientiert sich am Aufbau eines BMS für einen LiFePO Akkumulator mit 9 Zellen (28,8V) integriert in einem DC Solarstromspeicher und hat keinen Anspruch auf Vollständigkeit.

Randdaten des realisierten Projektes:

  • Akkupack 9x 3,2V 60Ah Innopower LiFePo Akkumulatoren, verspannt mit Kunststoffband
  • Max. Ladestrom 30A über 2x MPPT 100-15 Victron Laderegler
  • Max. Entladestrom von 11A über Wechselrichter AE Conversion

Grundlegende Informationen zum BMS sind unter folgenden Links zu finden:


  • Genereller Überblick über das BMS, BMS-Features, Einordnung, zukünftige Entwicklungen, bisheriger Einsatz etc. [1]


  • Vollständiges Repository aller Daten (Sourcecode, Leiterplattenlayouts) für das BMS, neueste Entwicklungen, Verbesserungen, Fortschritte im Projekt, behobene Bugs etc. [2]


  • Überblick über die verschiedenen Elektronikentwicklungen von Martin Jäger, Einordnung BMS 24-48V [3]


  • Beschreibung der Hardware BMS Controllerboard [4]


  • Beschreibung der Hardware des Switch N Sense [5]


Zum selbstständigen Aufbau und zur Inbetriebnahme des BMS sind folgende Kenntnisse unbedingt erforderlich:

  • Grundkenntnisse der Elektrotechnik
  • Ggf. Löten von SMD Bauteilen
  • handwerkliches Geschick


Systemübersicht

Das LibreSolar BMS 24-48V besteht aus zwei Hauptkomponenten: das BMS Controllerboard und das BMS Leistungsboard.


Das BMS Controllerboard ist zuständig für die Spannungsüberwachung der angeschlossenen Zellen, deren Balancing (Entladung von Zellen mit zu hohem Spannungsniveau über Widerstände), Temperaturüberwachung, Stromüberwachung, Berechnung des SoC, der Ansteuerung des BMS Leistungsboards zur Unterbrechung des Lade- und Entladeprozesses im Fehlerfall über Leistungsmosfets, der Ansteuerung des Kommunikationsinterfaces (CAN, UART/I2C/SPI) und der Abarbeitung des Hauptprogramms.

Das BMS Leistungsboard (Switch-N-Sense) enthält je 2 parallel geschaltete Hochleistungsmosfets für jede Stromrichtung in antiserieller Anordnung und einen High-Side-Treiber. Die Ansteuerung erfolgt über das BMS Controllerboard. Dort befindet sich auch der Shunt für die Strommessung. Der dazugehörige A/D-Wandler sitzt im bq769x0. Ein maximaler Strom von 80A kann geschalten werden, wobei dabei unbedingt Kühlkörper auf den Mosfets (Unterseitig auf dem BMS Leistungsboard) zur Abfuhr der Verlustleistung angebracht werden müssen. Kühlungsbedarf besteht insbesondere auch dann, wenn die MOSFETs nur in einer Stromrichtung durchgeschaltet sind und der Strom durch die Body-Dioden der anderen MOSFETs fließt.


Folgendes Bild beschreibt die wesentlichen Bestandteile der Platinen:

Abbildung 2: Beschreibung der wesentlichen Bestandteile der BMS Platinen


Das aktuelle eagle Layout, Stromlaufpläne etc. inklusive Beschreibung aller Bauteile sind unter [6] sowie [7] zu finden.


Das eigentliche Zellbalancing (Überwachung, Balancing und Hauptsicherheitsfeatures) führt der Balancing-IC bq769x0 durch. Dieser wird je nach Anzahl der angeschlossenen Zellen und Spannungsniveau des Akkupacks ausgewählt:

bq76920: 3-5 Zellen Spannung ist abhängig von Zellchemie, BMS kann nicht nur LiFePO

bq76930: 6-10 Zellen

bq76940: 9-15 Zellen

Das vorliegende Platinenlayout BMS 48V ist für den IC bq76930 (6-10 Zellen) bzw. bq76940 (9-15 Zellen ) ausgelegt. Die abweichende Bestückung beim Einsatz des bq76930 ist im Schaltplan angegeben.


Ist ein BMS für ein Akku mit bq76920: 3-5 Zellen notwendig, so kann das 5-cell Battery Management System (12V) von Matin Jäger verwendet werden [8]. Der hier in der Anleitung verwendete Balancing IC ist der bq76930. Das Datenblatt „bq769x0 Family Top 10 Design Considerations“ bzw. „bq769x0 3-Series to 15-Series Cell Battery Monitor Family for Li-Ion and Phosphate Applications“ ist unter [9] zu finden. Der Balancingstrom von ca. 100 mA bei 3,3V wird bestimmt durch die 33Ohm Balancingwiderstände. Allerdings verwendet der bq769x0 pro Zyklus 30% der Zeit für die Messung und nur 70% für das Balancing, so dass sich ein effektiver Balancingstrom von ca. 70mA einstellt. Weiterhin können bedingt durch das Schaltungsdesign nebeneinanderliegende Zellen nicht gleichzeitig entladen werden.


Im oben dargestellten Bild ist der IC (bq76930) (6-10 Zellen ) verwendet, sodass die Balancingwiderstände für die Zellen (11-15) nicht bestückt sind.

Werden weniger als 10 bzw. 15 Zellen verwendet, müssen überzählige Zellanschlüsse nach einem im Datenblatt dargestellten Schema überbrückt werden. Dies kann entweder durch verbinden der betreffenden Zellanschlusskabel oder durch Lötbrücken direkt an den Pins des Molex-Steckverbinders auf der Platine erreicht werden. Im vorliegenden Projekt (9 Zellen) wurden die Kontakte C8 und C9 gebrückt. In folgender Tabelle, entnommen aus dem Datenblatt des bq76930 auf Seite 46/47, ist beispielhaft der notwendige Zellkurzschluss für eine unterschiedliche Zellanzahl dargestellt.

Abbildung 3 Zellverbindungen unterschiedlicher Akkupacks beispielhaft für bq76930


Das Datenblatt für den Prozessor STM32F072 ist verfügbar unter: [10]


Für das vorliegende Setup benötigen wir keine CAN Schnittstelle, sondern verwenden den UEXT (Universal EXTension) Anschluss. Im ersten Schritt wird daran bspw. über einen 10-poligen Wannenstecker ein I2C fähiges Display (OLED SSD1306) an dem BMS Controllerboard angeschlossen, um so direkte Auskunft zu Lade-/Entladestrom, Akkuladezustand und Spannungsniveau der einzelnen Zellen zu bekommen.


Über die UEXT Schnittstelle stehen die seriellen Schnittstellen I2C, SPI and RS232 bereit (auch gleichzeitig!), um mit anderer Hardware zu kommunizieren. Der UEXT Standard wird unter folgenden Links erklärt:

[11]

[12]

[13]

Anschlussreihenfolge für OLED: Gelb

Anschlusspin OLED | UEXT Pin

I2C1_SDA | Pin 6

GND | Pin 2

+3V3 | Pin 1

I2C1_SCL | Pin 5


Cortex Stecker

An den Cortex-Stecker auf dem BMS Controllerboard wird der Cortex ST-Link Adapter angeschlossen (verfügbar unter [14] Bestellung unter: [15]) mithilfe dessen und einem Nucleo Board der Flash- bzw. Debug-Vorgang des STM32 erfolgt. Genaue Vorgehensweise siehe unter Flashvorgang.).

Abbildung 4: Cortex_ST-Link_Adapter




Batterieanschlussklemmen

Die Anschlussblöcke für Batterie und Stromverbraucher auf dem BMS Leistungsboard sind PowerOne Buchsen von Würth Electronic (Nr. 93172) [16] Würth Power Elements WP-BUCF (order code 7461059) und müssen z.B. mithilfe eines Schraubstockes in das BMS Leistungsboard eingepresst werden. Dies ist auch bei schon bestückter Platine möglich, erfordert aber folgende speziell ausgeschnittene bzw. ausgelaserte Unterlegscheiben bspw. aus Holz oder stabiler Pappe.

Abbildung 5 Unterlegscheibe aus Holz










Die Kontur ist der Datei „Switch-N-Sense.dxf“ zu entnehmen, exportiert aus dem Eagle Board Layout des BMS Leistungsboards.

Switch-N-Sense

Alternativ kann auch sehr weiches Holz (z.B. Balsaholz) als Widerlager verwendet werden, in das sich die Metallfüße eindrücken können.

Die c-Hack Batslergruppe aus Calw haben sich zum Einpressen der Buchsen eine professionelle Presse gebaut, deren Beschreibung unter folgenden Links zu finden ist:

[17]

[18]

[19]

[20]


Die Anschlussblöcke verfügen jeweils über ein M6 Innengewinde zur Befestigung der Kabelschuhe der Batterie- und Anlagenanschlussklemmen mit M6x10 oder M6x12 Flachkopf Sechskant- oder Innensechskantschrauben.

Die 18 bzw. 6 poligen „Molexstecker“ (Typ Micro Fit 3,0mm bzw. Würth Elektronik „3.00mm Micro Power Connector WR-MPC3“) finden u.a. auch in der Automobilbranche ihre Anwendung und werden im vorliegenden Projekt mithilfe einer „KNIPEX Crimpzange“ konfektioniert.

Abbildung 6 Crimpzange

Da diese Crimpzange sehr hochpreisig ist kann folgende Universalzange ein guter Kompromiss darstellen: [21]

Für die Crimpung der einzelnen Litzen werden Litzenschuhe von folgendem Typ (ebenfalls Würth Sortiment) verwendet: „3.00mm Female Terminal WR-MPC3“ Nachdem der „Molexstecker“ vollständig in das BMS Controllerboard eingesteckt wurde, ist dieser nur noch schwer (mit viel Mühe) lösbar. Im Testbetrieb möglichst nicht bis zum Einrasten einstecken!


Die Funktion des An-Aus Knopf ist hier [22] ausführlich beschrieben ( Stichwort „Boot-up procedure and power supply“ )

Leistungsmosfets

Es werden vier SMD Leistungsmosfets im BMS Leistungsboard verwendet ( Typ FDMT80080DC). Im vorliegenden Projekt sind die -MOSFETs mit einer Spannung von 60V verwendet.. Unter folgendem Link gibt es Hinweise zu möglichen Mosfets: [23]

Die Bestückung der SMD Mosfets erfolgt mithilfe eines Reflowofens und sollte, um andere Bauteile nicht zu beschädigen, somit am Anfang des Bestückungsprozesses erfolgen.

Eigenheiten des bq769x0

Bis zu drei Temperatursensoren sind am BMS Controllerboard anschließbar und mit dem Controller bq769x0 verbunden. Diese liegen auf unterschiedlichen Spannungsniveaus. D.h. ein Zusammenschalten der Temperatursensoren zerstört das BMS-IC!

Ist kein Temperatursensor angeschlossen, dann funktioniert der bq769x0 nicht ordentlich. Abhilfe schafft hier bspw. ein Hilfswiderstand (10kOhm), der anstelle des Temperatursensors angeschlossen werden kann. Verwendete Temperatursensoren: NTC Thermistor Typ: TTC3A103F34D3EY.

Hardwareänderungen

Momentan sollten noch vor Inbetriebnahme des BMS Hardwareänderungen am BMS Controllerboard (Überbrückungen und Leiterbahnunterbrechungen) durchgeführt werden, um fehlerhafte Spannungsmessung an Zelle 5/6 und evtl. Zelle 10/11 zu vermeiden.

Eine Dokumentation ist unter [24] zu finden.

Eine Aktualisierung des Boardlayouts ist inzwischen fertiggestellt und unter dem Abschnitt Aktualisierung des Boardlayouts zu finden.

Abbildung 7 Hardwareänderungen am BMS Controllerboard

Schematischer Aufbau, Komponenten Akkumulator

Grundlegendes

Im vorliegenden Projekt werden neun Zellen a 3,2V des Lithium-Eisen-Mangan-Phosphat Akku von Innopower INNO-LFMP 60 AH verwendet.

Abbildung 8Lithium-Eisen-Mangan-Phosphat Akkumulator INNO-LFMP 60 AH

Abmessungen Zelle: 125x65x185mm, Gewicht:ca.2,0 kg pro Zelle. Innopower liefert den Akkupack per Post fertig mit Kunststoffband verspannt incl. Polverbinder, Polschrauben und Zellabdeckung. Datenblatt zu finden unter: [25]. Durch chemische Prozesse beim Auf- und Entladeprozess kommt es zu volumetrischen Ausdehnungen des Akkublocks. Um Verformungen zugunsten höherer Lebenserwartung klein zu halten wird empfohlen, die Zellen z.B mit einem Drahtseil oder mit Gewindestangen und beidseitigen Endplatten fest zusammenzuspannen. Die Zyklenzahl ist bei einer DoD (Depth of Discharge) von 80% mit >= 5000 angegeben.

In folgendem Bild ist die gemessene Entladungskurve des Akkupacks dargestellt entladen mit einer konstanten Last von 105W.

Abbildung 9Entladungskurve gemessen bei einer konstanten Last von 105W

Folgendes Ergebnis wurde ermittelt: - Kapazität: 70,8Ah bzw. 118% der Nennkapazität - Energieinhalt: 2,07kWh

Wie in der Abbildung zu erkennen, bleiben die Zellspannungen fast über den ganzen Bereich sehr nah beisammen. Gegen Ende fächern die Kurven auf, was auf kleine Toleranzen in der Kapazität der Zellen hinweist. Der vorliegende Akkumulator wird in den folgenden Spannungsgrenzen betrieben:

Schwellwert Überspannung: 3,65V/Zelle

Schwellwert Unterspannung: 2,85V/Zelle

Ladeschlussspannung im Normalbetrieb: 3,5V/Zelle

Entladeschlussspannung im Normalbetrieb: 3,1V/Zelle

Im bq769x0 sind keine Hysteresen implementiert.


Anschluss Akkumulator

Batterieanschlusskabel

In folgender Abbildung ist der Anschluss der Akkumulatorpole an das BMS Leistungsboard dargestellt. Verwendet wurde als Batterieanschlusskabel in rot und schwarz eine „ADERLEITUNG 1X16 RT H07V-K“. Der Anschluss an das Leistungsboard erfolgt mit Ringkabelschuhen für ein Kabel mit Querschnitt 16mm^2 und einem Lochdurchmesser für M6 Schrauben. Der Anschluss an den Akkumulator erfolgt mit Ringkabelschuhen für ein Kabel mit Querschnitt 16mm^2 und einem Lochdurchmesser für M4 Schrauben (4,3mm, Polschrauben im Lieferumfang Akkumulator).

Abbildung 10 Anschluss des BMS Leistungsboards





Anschlusskabel für Zellspannungsmessung und Temperatursensoren

In folgender Abbildung ist der Anschluss der einzelnen Akkumulatorzellen an das BMS Controllerboard dargestellt. Die konkrete Belegung der „Molexstecker“ ist in untenstehender Tabelle sowie auch im Eagle Boardlayout hinterlegt. Verwendet wurde hier für die Akkumulatorzellen folgende Kabelqualität: Steuerleitung Ölflex, 12 Adern 0,5mm^2 Grau Für die Temperatursensoren wurde hier folgende Kabelqualität verwendet: Steuerleitung Ölflex, 7Adern 0,5mm^2 Grau Die zwei Temperatursensoren werden in der Mitte zwischen Zelle 3 und 4 sowie 6 und 7 angeordnet. Der Anschluss an die Akkumulatorzellen erfolgt mit Ringkabelschuhen für ein Kabel mit Querschnitt 1mm^2 und einem Lochdurchmesser für M4 Schrauben (4,3mm, Polschrauben im Lieferumfang Akkumulator).

Abbildung 11Anschluss der Temperatursensoren sowie der Zellspannungsmessung

Für die „Molexstecker“ gilt folgende Pinbelegung:

TEMP

Pin Nr. Pin Bez. Farbe Bemerkung

1 GND schwarz Sensor 1 -

4 TS1 weiß Sensor 1 +

2 VC5X braun Sensor 2 -

5 TS2 grau Sensor 2 +

3 VC10X blau Sensor 3 - (unbelegt beim BQ76930)

6 TS3 Rot Sensor 3 + (unbelegt beim BQ76930)


CELLS

Pin Nr. Pin Bez. Farbe Bemerkung

1 GND schwarz Zelle 1 -

10 C0 grün-gelb Zelle 1-

2 C1 Grau Zelle 1 +

11 C2 braun Zelle 2 +

3 C3 Blau Zelle 3 +

12 C4 Lila Zelle 4 +

4 C5 Rosa Zelle 5 +

13 C6 orange Zelle 6 +

5 C7 Gelb Zelle 7 +

14 C8 weiß Zelle 8 +

6 C9 auf Platine gebrückt mit C8

15 C10 transparent Zelle 9 +

7 C11 unbelegt beim BQ76930

16 C12 unbelegt beim BQ76930

8 C13 unbelegt beim BQ76930

17 C14 unbelegt beim BQ76930

9 C15 unbelegt beim BQ76930

18 PWR Rot Zelle 9 +


LibreSolar BMS48V on GitHub