Benachrichtigungen
Alles löschen

EBC A40L Auswerteskript

6 Beiträge
4 Benutzer
0 Likes
728 Ansichten
(@herbert_123)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 27
Themenstarter  

Hallo zusammen,

ich hab mir ein Python Skript geschrieben für meine 32x 280AH Zellen um die Kapazität und die Entladekurve zu visualisieren. Der Messdatenexport mit der EB Tester Software V1.8.5 ist ja vom Format ziemlich gruselig. Kommas werden sowohl als Dezimal- als auch als Spaltentrennzeichen verwendet. Außerdem wird der Ladestrom vorzeichenlos angegeben - laden und entladen lässt sich somit nicht unterscheiden. Vielleicht hab ich mich nur dumm angestellt und hab den entscheidenden Haken nicht gesetzt - dann wäre es super wenn ihr mir sagen könntet wie es besser geht.

Für alle anderen wollte ich das Skript teilen.

Vorraussetzungen:

  • Installiertes Python (ich hab 3.8.8)
  • CSV Exportdateien liegen im selben Ordner wie das Skript (andernfalls kann man den Ordnerpfad noch als Parameter übergeben, aber das hab ich noch nicht getestet)
  • Angenommen wird das folgendes Ladeprotokoll verwendet wurde:
Step1: CCV z.B. 40A 3,65V 14A
Step2: WAIT z.B. 30M
Step3: DCC 40A 2,5V 0
Step4: CCV 40A 3,3V 14A
Der Teil in dem die Kapazität ermittelt wird ist Step3. Um nur die Daten von Step 3 extrahieren zu können erwartet das skript das vorher ein CCV und anschließend ein WAIT durchgeführt wurde. Zahlenwerte (ob jetzt mit 30A oder 40A geladen wird - nur 0A ist nicht erlaubt) sind dabei egal.
  • CSV Dateien enthalten diese Zeichenfolge bevor die Messdaten starten: "Time(S),Cur(A),Vol(V)"

Handling unter Windows:

1. Python installieren

2. .py Skriptdatei in den Messdatenordner kopieren

3. oben in dem Ordnerpfad "cmd" eintippen

4. Python Pakete installieren durch (separates) eintippen in Command Window:

pip install numpy
pip install matplotlib
pip install pathlib

  vielleicht auch noch

pip install glob

Sollte noch irgendwas fehlen einfach die .py Datei öffnen und schauen welche Bibliotheken noch importiert werden. Aber ich denke die anderen sind alle in python vorinstalliert.

5. im Command Window dann eintippen:

python.exe visualize_ebc40_export.py

 

Sowas sollte dann rauskommen (csv Dateinamen werden in die Legende übernommen):

Skript könnt ihr beliebig anpassen - vielleicht hilfts ja dem ein oder anderen.


   
Zitat
(@linuxdep)
Heroischer Stromgenerator
Beigetreten: Vor 2 Jahren
Beiträge: 2881
 

Hast aber schöne Zellen... hatte auch mal überlegt wie man die übereinander legen kann, aber verworfen. Mal sehen ob ich das mal noch machen.

Um einen besseren Output zu bekommen, der auch im Toll selber wieder zu importieren geht, habe ich auch englische Zahlen umgestellt, dann ist der Dezimaltrenner ein Punkt. davon sind die bei der Software wohl ausgegangen.

Victron MPPT Rechner
Leitungsrechner by polz
SolarRechner HTW-Berlin
Akkutester A40L zu verleihen
Anleitung Deye 12k Einrichtung mit Bildern


   
AntwortZitat
(@herbert_123)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 27
Themenstarter  

Guter Hinweis mit dem Umstellen auf englische Zahlen. Damit würde das Skript nicht funktionieren. Wäre aber einfach zu fixen, indem man den Teil auskommentiert der den Dezimaltrenner durch einen Punkt ersetzt und direkt den "line" String verwendet um in die Einzelstrings zu splitten:

# Over all rows
        for line in Lines:
            # If we only get the comma seperated number lines and have no text anymore start reformating the string
            if(start_found):
                # find the indices of all commas
                #indexes = [x for x, v in enumerate(line) if v == ',']
                # substitute the second and the third comma with a point
                #line_temp = line[:indexes[1]] + '.' + line[indexes[1]+1:]
                #line_with_points = line_temp[:indexes[3]] + '.' + line_temp[indexes[3]+1:]
                # then take the new string with the points and split it in seperate number strings
                seperated_number_strings = line.split(',')

   
AntwortZitat
(@manne_s)
Newbie
Beigetreten: Vor 1 Jahr
Beiträge: 2
 

'ziemlich gruselig' ist ja nett geschmeichelt...

Habe das gleiche Problem... Mein EBC A40L exportiert ebenfalls Kommas als Dezimal- und auch als Spaltentrennzeichen. Das passiert wohl, wenn 'englische' Software unter einem 'deutschen' Betriebssystem läuft (habe deutsche Version von Windows 10 Pro). Die erzeugten Dateien können nicht eingelesen werden. Auch die Dateien vom Andy nur zum Teil, und wenn ja, dann mit falscher Y-Achsen-Skalierung.

Daraus leite ich einmal vorsichtig ab, dass es hier wohl 2 Probleme gibt:

1. Beim Export der CSV-Dateien ein Problem gibt (wie soll man entscheiden, ob ein Komma gerade einen Spalten-Trenner darstellen soll oder einen Dezimaltrenner).

2. Beim Einlesen (vermutlich will das Programm hier die deutsche Dezimaltrennung anwenden, und das passt dann mit Andys Dateien auch nicht.

Ich habe eine große Datei kräftig eingekürzt, und dann Kommas als Spaltentrenner benutzt, die Sekunden als Integer so stehen lassen, und die Ströme in Milliampere mit der Endung 'e-3' versehen (und damit das Komma wieder um 3 Stellen nach links verschoben), ebenso die Spannungen:

-----------EB Tester Software-----------;;
Device:EBC-A40L;;
Mode:C-CV 40,00A 3,40V;;
Begin Volt:2,749V;;
Cutoff Volt:3,400V;;
Capacity:286,80Ah;;
Energy:961,81Wh;;
Avg Volt:3,35V;;
Title:EB Tester Software;;
------------www.zketech.com--------------;;
Time(S),Cur(A),Vol(V);;
0,0,3291e-3
0,0,3291e-3
1,40,3262e-3
13,34,3262e-3
25,33333e-3,3255e-3
37,40,3254e-3
49,40,3248e-3
66,40,3444e-3

Diese Datei kann die Software dann darstellen... Den Header habe ich unverändert gelassen, und damit wird er auch korrekt unterhalb der Grafik angezeigt.


   
AntwortZitat
(@roterhof1000)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 7
 

Hallo,

leider habe ich auch das Problem, dass meine Daten von getesteten Zellen nicht mehr dargestellt werden. Alle Daten sind in der gespeicherten Tabelle nur durch Komma getrennt.

Habe versucht, die Lösung von Herbert_123 zu übernehmen, scheitere aber nach Installation von Python, vermutlich mangels Python-Kenntnissen, an der Befehlseingabe und erhalte immer Befehl nicht erkannt (sinngemäß).

Auch endet die Python-Datei nach dem Entpacken nicht mit .py.

Kann mir jemand helfen?

Herzlichen Dank für jeden Hinweis

Viele Grüße Markus


   
AntwortZitat
(@herbert_123)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 27
Themenstarter  

Hallo roterhof1000,

ich hab die Datei nochmal runtergeladen und mit 7zip entpackt. Ich erhalte da eine visualize_ebc40_export.py Datei. Aber du hast Recht - ein bischen Erfahrung mit Python kann nicht schaden. 100%ig ist das nicht beschrieben. Ist halt nur gerade schwer zu sagen woran es hakt...

Ich hab mal versucht daraus eine ausführbare .exe Datei zu machen. Aber das ist beim ersten Versuch gescheitert und ich kenn mich damit nicht richtig aus. Wenn jemand anders weiß wie das geht wäre so eine .exe für den ein oder anderen sicherlich hilfreich.

Viele Grüße

Diese r Beitrag wurde geändert Vor 1 Jahr 2 mal von herbert_123

   
AntwortZitat
Teilen: