24-48V BMS: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
=== Batterieanschlussklemmen ===
 
 
=== Leistungsmosfets ===
 
 
 
=== Hardwareänderungen ===
 
=== Hardwareänderungen ===
  
Zeile 202: Zeile 198:
 
[https://c-hack.de/c-turm/bms-n-switch-mit-hilfsvorrichtung/]
 
[https://c-hack.de/c-turm/bms-n-switch-mit-hilfsvorrichtung/]
  
 
[http://github.com/LibreSolar/BMS48V/blob/master/README.md LibreSolar BMS48V on GitHub]
 
  
 
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 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.
Zeile 216: Zeile 210:
 
Für die Crimpung der einzelnen Litzen werden Litzenschuhe von folgendem Typ (ebenfalls Würth Sortiment) verwendet: „3.00mm Female Terminal WR-MPC3“  
 
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!
 
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 [https://github.com/LibreSolar/BMS48V/wiki/Hardware-Description] 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: [https://github.com/LibreSolar/Switch-N-Sense]
 +
 +
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.
 +
 +
 +
[http://github.com/LibreSolar/BMS48V/blob/master/README.md LibreSolar BMS48V on GitHub]

Version vom 30. März 2019, 09:14 Uhr

Hardwareänderungen

Schematischer Aufbau, Komponenten Akkumulator

Grundlegendes

Anschluss Akkumulator

Batterieanschlusskabel

Anschlusskabel für Zellspannungsmessung und Temperatursensoren

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.


LibreSolar BMS48V on GitHub