Mein Bruder und ich sind gerade auf dem Weg in den Süden (wir sind jetzt bei ca. 400 von 600km), denn ich habe mir vielleicht wieder ein neues Projekt gekauft...
Später mehr!
Edit: Später ist jetzt! Und ich will euch nicht mehr hinhalten: Ich habe tatsächlich eine neue Batterie gekauft. Und zwar die 30kWh-Variante, die, so scheint es, nur im D16 verbaut wurde.
Die 30kWh-Variante ist zwar kleiner, als die 40kWh-Variante, die ich schon habe, aber enthält einen String von 8 BMW-Modulen (baugleich zu denen im i3) statt der zwei parallelen Strings der 40kWh-Variante. Ich habe die Hoffnung, mit den i3-Modulen als bekannter Größe ggf. auch Versuche mit DC-Schnellladung machen zu können, das würde ich mich bei den BMZ-Modulen nicht ohne weiteres trauen.
Das setzt allerdings voraus, dass die Batterie sich auch in den B16 einbauen lässt und während ich auf dem Hinweg sehr zuversichtlich war, dass das funktionieren sollte, hat meine Zuversicht nun leider einen kleinen Dämpfer erhalten. Die 40kWh-Batterie hätte zwar knapp, aber am Stück, in den Caddy passen sollen, die 30kWh-Batterie tat das um einige Zentimeter nicht. Daher nun meine Sorge, dass auch das Lochmuster nicht stimmt.
Das soll mich aber nicht davon abhalten, dann bald richtig tief in diese Batterie einzusteigen und zu dokumentieren und reverse-engineeren, was das Zeug hält. Wir müssen jetzt erstmal die 600km wieder nach hause fahren. Zum Glück fährt mein Bruder die erste Schicht, ich bin vom Ausbauen und Auseinandernehmen der Batterie (um sie in den Caddy zu kriegen) ziemlich geschafft. Ein paar Bilder noch von unserem Tageswerk:
Zusätzlich habe ich übrigens noch aus dem selben D16 ein BCM mit C2C-Box erworben, auch an der Front dürfte es also bald Fortschritte geben.
Das Auseinandernehmen der Batterie war übrigens recht einfach und von der Konstruktion der Batterie her auch relativ sicher. Die BMW-Module haben tolle Stecker, durch die das Pack getrennt werden kann. Die sind werkzeuglos trennbar, aber ich will mal jemanden sehen, der das mit den theoretisch vorgeschriebenen HV-Schutzhandschuhen macht, das halte ich für fast unmöglich.
Alle Spannungsführenden Teile sind aber abgedeckt, isolierendes Werkzeug ist nicht erforderlich (anders als bei der 40kWh-Variante), die BMW-Ingenieure kriegen dafür Bestnoten von mir
Die StS-Ingenieure leider mal wieder nicht. Die Module werden mit Edelstahlschrauben im Alu niedergehalten und es sind lange Inbusschlüssel nötig, um die zu lösen. Wenn sich das einmal festgegammelt hat und der Innensechskant rund ist, dann wird laut genug geflucht, dass man das bis nach Aachen hören kann. Selbstverständlich verhindern Kunststofftabs auch das gerade Ansetzen eines Inbusschlüssels.
Die an der Oberseite der Module vorgesehenen Innengewinde zur Montage von Versteifungsblechen bleiben seltsamerweise ungenutzt. Ich weiß nicht, wie nötig die theoretisch sind.
falls das Lochbild nicht passen sollte, und du die tatsächlich bei dir verbauen möchtest, nimm doch die Grundplatte deiner alten Batterie die wäre dann ja sowieso übrig, oder hast du noch etwas anderes vor?
Die Grundplatten sind leider (da bin ich mir ziemlich sicher) in der Aufnahme der Module unterschiedlich. Vielleicht könnte ich das irgendwie anpassen, aber dann könnte ich das Auto ja währenddessen nicht fahren... Mal schauen
Edit:
Vielleicht ist das Rätsel gelöst.
Ich schrieb im OpenInverter-Forum:
The outside measurements of the battery base plate are 1360mm (in direction of travel) by 1175mm. Both measurements should be accurate to +/- 5mm.
Also eben nicht ein Meter und 11.75 Zentimeter... Peinlich. Aber eine vorsichtige Hoffnung, dass die Batterie doch passen könnte, ist wieder da.
Ich hatte mir übers Wochenende etwas Zeit genommen und mit dem Reverse-Engineering der Batterie begonnen. Als "einfaches Ziel" hatte ich mir gesetzt, einen Schaltplan für die BMS-Slave-Platinen zu zeichnen. Dazu wollte ich wieder "PCB Tracer" einsetzen, aber ich brauchte natürlich erstmal vernünftige Fotos von der Platine. Erste Versuche mit der Smartphonekamera brachten keine zufriedenstellenden Ergebnisse. Also habe ich getan, was jeder normale Mensch tun würde und meinen 3D-Drucker umgebaut:
Die Platine an der Halterung ist mal ein billiger Dia-Scanner gewesen, den ich von Verwanden als Elektroschrott geschenkt gekriegt hatte. Jetzt macht es sich als USB-Mikroskop ganz gut.
Die Software, die den G-Code an den Drucker schickt und die Fotos per V4L2 abspeichert, habe ich mit Claude gevibecodet. Falls jemand daran Interesse haben sollte, kann ich sie mal in ein Git-Repo packen, sonst ist sie aber nichts besonderes. Die Bilder habe ich dann mit einem Skript auf ein quadratisches Format geschnitten und mit Fiji zusammengestitched.
Die Ergebnisse sehen dann so aus (aus Größengründen deutlich zusammenkomprimiert):
Die Front muss ich gleich in einem separaten Post hochladen, wenn man einmal ins Größenlimit gelaufen ist, kann man (glaube ich) keine weiteren Bilder mehr hochladen.
Ich habe dann tatsächlich Stunden um Stunden darein investiert, die Vias, Pads, Leiterbahnen, Bauteile etc. in PCB Tracer nachzuzeichnen. Das ging super. Was leider nicht super ging, war die Generierung der Netlisten (in sehr vielen Fällen waren scheinbar verbundene Leiterbahnen nicht wirklich verbunden) und die Generierung eines KiCAD-Schaltplans war auch überhaupt nicht gut. Von den KI-Features ganz zu schweigen.
Beim nächsten Mal werde ich in den sauren Apfel beißen und mir einen besseren Workflow in KiCAD überlegen müssen. In weiteren Stunden mühseliger Kleinarbeit habe ich dann jedenfalls einen Schaltplan gezimmert:
Alle Angaben natürlich ohne zweihändige Handfeuerwaffe. Und sorry für die schlechte Formatierung, ich hatte keine Lust mehr... Die Werte der meisten Widerstände hatte ich jetzt erstmal nicht eingetragen und die Werte der Kondensatoren sind natürlich schwer festzustellen. Bei zwei weiteren Teilen konnte ich auch kein Datenblatt finden. Die grundsätzliche Funktionalität und insbesondere die Pinbelegung des PIC18F wird aber klar.
Falls jemand Interesse daran haben sollte, am Projekt mitzuwirken, kann ich auch mal schauen, ob ich vielleicht einen Git-Host mit großzügigem LFS finde.
Das Projekt "Schaltplan für den BMS-Slave" betrachte ich jetzt aber erstmal als fertig. Ich werde mal schauen, ob ich mit einfachen Mitteln den Code aus dem PIC ausgelesen kriege, ansonsten werde ich mich als nächstes an den Master machen.
habe jetzt mal etliche Begriffe nachgeschaut, Netliste heißt anscheinend zum Beispiel die Bauteilpunkte die miteinander verbunden sind. weißt du denn ob die Platine mehrlagig ist? oder wie wird das überhaupt erkannt?
Jetzt einige Dinge. die mir am BMS aufgefallen sind:
Der BMS-Slave scheint erstmal den bereits bekannten Modulen aus B14 und B16 (V5) sehr ähnlich zu sein. Zum B16C (V6-16M) ist die Platine ganz unterschiedlich!
Edit: Doch weniger, als ich in Erinnerung hatte. Der zweite IC ist ganz weggefallen und das Schieberegister, die LEDs und die Operationsverstärker sind neu. Naja...
Wenn ich die Bauteile auf der Platine richtig gedeutet habe und den Schaltplan richtig verstehe, dürfte das Auslesen der Temperaturen eigentlich nicht funktionieren. Es scheinen Kondensatoren in Reihe mit den Temperatursignalen zu sein und mir ist nicht klar, wie die Werte da durchkommen. Oder ich irre mich (deutlich wahrscheinlicher).
Die DIP-Schalter hängen an einem Schieberegister. War das tatsächlich günstiger als ein größerer PIC? Da ist übrigens auch noch ein Fehler in meinem Schaltplan...
Die Module brauchen eine isolierte Stromversorgung am Kommunikationsstecker und ziehen sich auf der Zellseite den Strom aus der Batterie. Der BMS-Chip nutzt dabei die gesamte Zellspannung, um seine 3.3V zu generieren, der DC/DC-Wandler für die restliche Elektronik nutzt Zelle 8 (könnte aber theoretisch durch Umlöten eines SMD-Widerstands auch die gesamte Packspannung nutzen). Die Spannungsversorgung wird über einen Optokoppler eingeschaltet, der Stromverbrauch sollte im Ausgeschalteten Zustand um Größenordnungen unter der Selbstentladung der Zellen liegen.
habe mal die KI gefragt: Ein NTC- oder PTC-Thermistor kann beispielsweise in Reihe mit einem Kondensator liegen. Dann bilden beide ein temperaturabhängiges RC-Glied