ich bin nicht sicher, ob das hier die richtige Kategorie ist. Ich habe das Problem, dass mein Daly-BMS bei geringen Strömen falsche Werte liefert und daher der SOC dauernd verschoben wird (daher die Kategorie). Daher würde ich den SOC gerne selbst ermitteln wollen. Ich lese derzeit die Amperes über den UART-Port des BMS aus, aber ich würde gerne selbst mit einer Stromzange oder sonst einem Amperemeter messen.
Meine Frage: Gibt es eine Stromzange für Ströme bis 100 Ampere für den Raspberry Pi (USB oder GPIO)? Ich konnte bei Suchen im Internet nichts finden.
Das haben alle “normalen” BMS, wenn sie keinen Stromshunt drinhaben, sondern nur die Drainwiderstände der Mosfets zur Messung benutzen (welche eigentlich nur dafür da sind um grob den Strom für die Überstromerkennung zu ermitteln).
Einzige Ausnahme, die ich kenne, ist Seplos, glaube ich.
Das Grundproblem bleibt aber: Für den SOC wird der Strom über die Zeit integriert. Dadurch summieren sich auch die allerkleinsten Nullpunktfehler der Strommessung langfristig auf.
Einziges käufliches Instrument sind die Battery Computer, die in der gesamten Konstruktion speziell für diese Aufgabe da sind. Da zahlt man dann, wenn ich das richtig in Erinnerung habe, 250 Euro. Was besseres wird man schwerlich selber bauen können.
Stromzangen haben nicht die nötige Genauigkeit, da wirst du das Problem nicht mit ösen können.
Meine Ansicht daher immer : Garnicht SOC benutzen, das ist nur eine beschlagene Glaskugel. Die Spannung benutzen, die ist immer stabil und genau zu messen ( wenn sie auch nicht immer aussagekräftig oder gerade durch Strom etwas verfälscht ist.)
Über die Spannung habe ich auch schon nachgedacht. Ist aber n LFP-Akku mit der bekannten Ladekurve (und genau im Plateau hab ich meinen Arbeitsbereich), und ich muss den Innenwiderstand genau wissen, um eine (fiktive) Leerlaufspannung auf Basis des aktuellen Stroms und der aktuellen Spannung zu berechnen. Sehe ich das richtig? Was mache ich, wenn der Innenwiderstand sich aufgrund von Verschleiß erhöht? Mach ich mir da zu sehr nen Kopp und sollte das Ding alle zwei Wochen vollladen, um den oberen Ladeschlusspunkt zu kalibrieren und schlafengehen? Das ist ziemlich nerfig, mir fehlen nach ner Woche ungefähr ne nutzbare Kilowattstunde…
Von TI gibt es ein IC “AN226” für exakte Strommessung durch einen Shunt. Unter bestimmten Bedingungen kann das Batteriekabel als Shunt verwendet werden. Fertig ist das nix. Das IC gibt es aber als DIY-Modul und mit I2C Schnittstelle ist es auch gut an den Raspi anzubinden.
Solange du im Plateau bist, bist du im Plateau. Definiere und teste zwei punkte oberhalb und unterhalb vom Plateau, die du .halbwegs sicher finden kannst, und benutze die zur Kalibrierung, wenn sie erreicht werden. Das ist oberhalb sehr nahe bei voll, und unterhalb bei ca 40 %. Das müsste dir reichen.
So ungefähr werd ichs auch machen: Ich hatte versucht, den SOC mit Hilfe einer Datenbank zu berechnen (damit er auch über ein Neustart des Programms erhalten bleibt). Derzeit wird versucht, den SOC über eine Bilanzierung zu schätzen (aber das macht es schlimmer).
Ich habe das hier gefunden:
Hier stehen in einem Chart die Spannungen und ein SOC. Ich ziehe die Grenzen für 5% und 30% ein und versuche dabei bei den gemessenen Spannungen den aktuellen Lade- und Entladestrom mit einem Innenwiderstand von 0,015 Ohm zu berücksichtigen. Das ist ein ziemliches Schätzeisen, aber vllt genügt die Genauigkeit.
Danke für eure Hilfe. Wenn noch Ideen kommen, freue ich mich, wenn keine mehr kommen, danke ich sehr für eure Rückmeldung. Genau genommen danke ich auf jeden Fall für die Rückmeldung.
Nach Herstellerangaben soll er 99,6 % Genauigkeit haben und den Strom bis 10 mA auflösen. Meine Daly BMS´e merken erst Ströme größer 1 A. Das kann ja nix genaues werden.
Danke – was sagen mir die beiden Kurven? Vermutlich ist die rote im Ladezustand und die Blaue im Entladezustand? Falls ja, bei welcher Laderate?
Gibt es die Daten auch in Tabellenform?
Edit:
Mit dem Chart habe ich das Problem, dass der SOC sich ausschließlich auf die Ladungsträger bezieht. Aber unterhalb einer bestimmten Spannung wird die Spannung geringer und die Energie pro Coloumb (also Amperesekunde) kleiner, weil die Energie das Produkt aus Spannung und Amperesekunde is.
Also ist der SOC von 20% auf der X-Achse nicht 20%, sondern in Wahrheit erheblich kleiner. Oder noch anders ausgedrückt: Ab 20% geht bei konstanter Leistungsentnahme der SOC viel Schneller auf 0 als von 40% auf 20%. Verdammt, ich kanns nicht gut erklären, aber vllt wird mein Punkt klar.
In jedem Fall ist die von Carlos gepostete Kurve besser als die Tabelle, die ich gefunden habe, da sie besser mit der Kurve im Datenblatt für meinen Akku übereinstimmt (Eve 280k). Ich habe mich mal an ihr orientiert. Mal sehen, wies klappt…
Für die 5% SOC habe ich jetz 3,05 Volt pro Zelle, also 24,4V Packspannung, und für die 30% habe ich jetzt 3,25 V pro Zelle, also 26V Packspannung festgelegt. Beides Leerlaufspannungen. Da sich meine Ströme über die Zeit kaum ändern (nachts entlädt das Ding mit ca. 16A) habe ich mal so grob die Spannungsdifferenz zwischen Entladezustand nachts und Idle abgelesen (im HomeAssistant) und daraus den Innenwiderstand berechnet (0,015 Ohm). Das Programm verschiebt die oben genannten “Auslösespannungen” entsprechend nach unten beim Entladen und vergleicht die Packspannung damit. Gott ist das weird. Mir wird langsam klar, weswegen beim LFP das Schätzen des SOC schwierig is.
Ist es nicht so, dass der Verlust vom Lade- und Entladestrom abhängt (bei konstantem Innenwiderstand) vom Ladestrom abhängt? Also je höher die Ladeströme, desto höher die Verluste, weil die Verlustleistung im Quadrat zum Strom I ansteigt (P = I^2*R)?
Ich habe das nirgendwo gelesen, der Gedanke kam mir aufm Klo… Lieg ich falsch oder stimmt das etwa?
Ich verwende fast immer vorhandene Bauelelente für die Strom Messung, also gelegte Leitungen oder Kupferbahnen auf Leiterplatten. Verursachen keine Zusatz Verluste oder Störungen.
Sofern sie nicht glühen ist der Temperaturfehler den man noch kompensieren könnte oft vernachlässigbar. (0,4 % pro Grad) Ok, in der heutigen Digitaltechnik ist sowas natürlich fehl am Platz
An dem Örtchen kommen einem viel gute Gedanken und ja, der ist richtig. Daher habe ich ein “Gefühl” für den Ladezustand aus der Spannung und dem Entladestrom entwickelt. Hab beim Entladen (und Aufladen eines E-Fahrzeuges) eine Tabelle angelegt, so dass ich grob den Ladezustand an der Spannung bei xx A Last notiert habe. Da ich den Akku standortfest habe, ist eine genaue Kenntnis des SOC für meinen Einsatz entbehrlich. Im Winter lege ich die untere Abschaltschwelle etwas höher, im Sommer etwas tiefer. Da ich nicht aus dem Netz lade, sondern nur mit PV, ist die genaue Kenntnis des SOC unwichtig, denn wenn leer, dann leer.
Beim ersten LPG auto waren mir die vier Lampen- Füllenzeiger für den Gastank nicht genau genug. Ich habe Tage damit verbracht, dem Fahrzeug den Füllstand des Gastanks mit einem extrasensor dem Fahrzeug der tankuhr “unterzuschieben”.
Beim zweiten Fahrzeug waren die vier Lampen ausreichend.
Beim dritten Fahrzeug gingen die 4 Lampen früh kaputt. Dann genügte der Tageskilometer Zähler. Nach 500 km musste man tanken. Es auf unter 5 l genau.
Und deswegen frage ich heute jeden Akkubauer:
Warum testet ihr jede Zelle einzeln auf Kapazität? Was macht ihr mit der Info ?
Ich mess nicht die Kapazität, sondern den Ladestand. Die genaue Kapazität hat mich nicht wirklich interessiert, solangs 7 kWh oder mehr sind. Das Problem ist, dass sich das SOC-Ladefenster, das vom BMS angezeigt wird, binnen zwei Wochen um rund 20% nach links verschiebt; es fehlen dann rund 1,4 kWh (also der Akku zeigt 100% an, obwohl in Wahrheit der Ladestand nur 80% is, und bei 20% angezeigtem SOC schaltet das BMS wegen zu geringer Zellspannung ab).
Die sind deshalb notwendig, weil ich nich für 17 Cent oder drunter den Eigenverbrauch decken will, sondern nachts, wenn der Strom teurer is.
Ich brauche nichts Hochgenaues. Wenn der Akku in Wahrheit noch 5% hat, aber SOC = 0 angezeigt wird, ist mir das recht.