DataExplorer - Junsi iCharger Ladeprogramme verwalten

In einem kürzlich erschienenen Vorstellung eines Junsi iCharger X12 Ladegerätes steht die Aussage, dass es etwas gewöhnungsbedürftig ist Ladeprogramm Speicher einzurichten. Deshalb möchte ich hier einmal eine Möglichkeit vorstellen, wie es vielleicht einfacher gehen kann. Das von mir vor vielen Jahren entwickelte Werkzeug zur Anzeige und Sammlung von allerlei Daten aus dem Bereich Modellbau hat schon vor einiger Zeit dazu einen Update erhalten.

Vor etwa einem Jahr hat die Firma Junsi erneut Kontakt mit mir aufgenommen, um die von Ihnen neu implementierte MODBUS Funktionalität auszunutzen.

MODBUS ist ein Protokoll, das für die Kommunikation mit speicherprogrammierbaren Steuerungen ins Leben gerufen wurde. Also genau für so etwas, wie ein modernes Ladegerät. In diesem speziellen Fall wird seriell über USB direkt mit dem Prozessor kommuniziert.

Der DataExplorer kann also über dieses Protokoll mit dem Ladegerät kommunizieren und die Ladeprogrammspeicher lesen und schreiben. Jeder der so ein Ladegerät besitzt, wird sich daran erinnern, wie gewöhnungsbedürftig das Erstellen eines neuen Ladeprogrammspeichers ist. Das soll nun durch die Verwendung eines Dialoges übersichtlicher und schneller vonstatten gehen. Unterstützte iCharger sind das 308Duo, 406Duo, 4010Duo mit Firmware >= 2.19, X6, X8, X12, S6 mit Firmware >= 2.0.9.

Da Ladevorgänge, manchmal auch Zyklen, lang laufende Prozesse sind übernimmt ein Raspberry bei mir die Aufgabe die Daten mit dem Ladegerät auszutauschen. Da stellt sich es als sehr vorteilhaft heraus, dass der DataExplorer in Java geschrieben ist und über SWT, zur Darstellung, direkt mit dem Betriebssystem zusammenarbeitet. Auf einem Raspberry läuft ein 32 Bit Raspbian Linux. Hierfür gibt es ein Installationspaket, was man einfach entpacken kann. Nach Installation einer Java Runtime kann es losgehen. Für Windows geht das natürlich genau so, nur braucht so eine Windows Maschine in der Regel wesentlich mehr Leistung, wie ein Raspberry, mit seinen 2-3 Watt und geht auch nicht nach ein paar Minuten in Standby.
Bedienen kann man ein Raspberry auch ohne Tastatur und Bildschirm über einen sogenannten VNC-Viewer, das geht mit jedem Betriebssystem, eingeschlossen Android und iOS.

Schließt man den iCharger an entdeckt das Linux den USB HID des iChargers und lädt das passende Kernel-Modul. An einem Windows wird der passende Treiber installiert, Windows meldet Betriebsbereitschaft. Die Verbindung per USB wird auch am iCharger angezeigt.

Nun wählt man am DataExplorer das passende Ladegerät aus und öffnet den Geräte-Dialog. Hier kommt als erstes eine Warnung. Die MODBUS Kommunikation soll nicht parallel zur Datenabfrage passieren. Bestätigt man den Dialog dauert es einen Moment, die Daten von vorhandenen Programmspeichern werden eingesammelt. Dann zeigt sich dieser Dialog

Bild_1.jpg

Bild_2.jpg


Durch Aufklappen der Dropdown-Leiste sieht man dann seine vorhandenen Ladeprogramme und/oder Einträge mit der Bezeichnung BUILD-IN. Junsi hat für jede unterstützte Akku-Chemie einen vorgegebenen Programmspeicher. Bei den X/S Geräten gibt es noch die Möglichkeit über ein Power-Programm das Ladegerät als Festspannungsquelle zu nutzen.

Wie erstelle ich nun einen neuen Eintrag für mein Ladegerät? Man wählt einen Eintrag BUID-IN der passenden Akku-Chemie aus. Nun wird "Kopieren" freigeschaltet. Drückt man diesen Knopf ergibt sich ein neuer Eintrag mit dem Anhang "_Kopie". Hier kann man als Erstes den Namen anpassen und drückt dazu "Ändern". Mit der Maus selektiert man den gerade erstellten Namen und schreibt eine passende Bezeichnung. Nach Bestätigung der Änderung mit der Enter-Taste wird der Programmname rot angezeigt, er ist mit seiner Modifikation noch nicht im Gerät manifestiert. Also drückt man auf Speichern und den Name färbt sich wieder schwarz.

Bild_3.jpg
->
Bild_4.jpg
->
Bild_5.jpg


Nun stellt man Anzahl der Zellen und Kapazität, danach dann die gewünschten Ladeparameter ein. Sie sind übersichtlich in Tabulatoren erreichbar. Der Programmspeichername wird erneut rot eingefärbt, um eine Änderung zu signalisieren, die noch nicht im Gerät manifestiert ist. Hat man alle gewünschten Änderungen vorgenommen speichert man das ins Gerät, Speichern.

Bild_6.jpg


Bei der Justage der Werte kann es sinnvoll sein nicht mit dem Schieber zu arbeiten, sondern die angezeigte Zahl zu markieren und durch Tastendruck zu ändern. Da bei jedem Tastendruck ein Refresh der angezeigten Zahl erfolgt sollte man wirklich nur eine Zahl also bei 1000 die 1 selektieren und beispielsweise in 2 ändern. Man muss etwas probieren, wie es einem am Besten liegt. Auch der Schieber selbst hat Bereiche in die man klicken kann und eine Änderung nicht in gleichen Schritten erfolgt. Dieses Verhalten ist sogar etwas Betriebssystem abhängig.

Auf diese Weise kann man in Minuten all seine Ladeprogramme durchschauen und ändern, wenn erforderlich, oder Neue anlegen.

Ich verwende gerne möglichst sprechende Namen, weil ich am DataExplorer auch das Ordnungskriterium Objekte verwende, im Beispiel Cappuccino

Wie sieht so ein Vorgang aus und welche Anzeige bekommt man präsentiert, wenn ein Programm abläuft?

Bild_7.jpg

Sammelt man Ladevorgänge mit Ordnungskriterium über eine längere Zeit kann man auch die Alterung durch Erhöhung des Innenwiderstandes oder Zellendrift durch Historienanalyse erkennen.

Bild_8.jpg

Als Referenz für Linux, Abfrage des erkannten USB HID eines iCharger 406Duo

Bild_0.jpg
 

milu

User
Kann Winfrieds DataExplorer wärmstens empfehlen! Benutze schon lange. Besonders bei Junsi X-Serie (Einstellwippe!) - eine Wohltat bei Akkuprogramm-Einstellungen!
 

hafromue

User
Und wo bekommt man die Firmware V2.19 für den iCharger 4010DUO?
 
Firmware Updates bekommt man mittels Junsi Console -> Detect
Screenshot 2021-02-06 at 16.06.05.png

Beim 4010Duo ist die Firmware soweit ich es sagen kann sprachenabhängig. Es könnte also sein, dass das Gerät nach dem Update Englisch spricht.
 

hafromue

User
Hallo Winfried,

das ist mir bewusst dass das 4010DUO dann englisch sprechen könnte.
Hab, als die V2.18 rauskam, auch lange warten müssen bis bei ZJ-Hobbyshop die deutsche zu haben war.
brigens hatten wir beiden auch schon mal Kontakt.
Ich weiß ur nicht mehr ob es wegen der Weatronic Telemetrie vom BAT64 war oder eben wegen des 4010DUO.

Gruß
Alex
 
Einen wichtigen Hinweis habe ich noch vergessen.

Nimmt man einen Firmware-Update vor kann es danach in seltenen Fällen beim neu Anlegen eines Programmspeichers zu Fehlern kommen. Typische Fehler sind dabei, dass die Zellchemie nicht zum kopierten Speicher passt oder das Flag wird nicht beachtet und steht dann auf BUILD-IN, anstatt auf CUSTOM.

Mein Code schreibt grundsätzlich nur Benutzerdefinierte Speicher mit CUSTOM Flag. Das ist fest codiert und wird, aus welchem Grund auch immer, vom Gerät in diesem Moment falsch verarbeitet. Hier hilft dann nur noch ein Geräte-Reset und ein Neuaufbau aller nötigen Programmspeicher.
In einem Beitrag von Gerd Giese stand mal ein Hinweis, alle Programmspeicher nach einem Firmware-Update zu löschen, bzw einen Geräte-Reset durchzuführen.

Bei der Zusammenarbeit mit Junsi habe ich für die verschiedenen Geräte bis zu 17 Beta-Firmware bekommen und getestet. Allein an der Anzahl kann man schon sehen, dass es nicht ganz einfach war die geforderte Funktionalität in der Firmware unter zu bringen. Fehler nach einem Update kann ich mir nur so erklären, dass sich etwas im Gerätespeicher verschiebt und es dann nachfolgend zu einem Fehler kommt.

Als Trost kann man sagen, dass es sehr schnell geht nach einem Reset alle seine Programmspeicher auf zu bauen.
 
Hallo Winfried, weisst kann man Einstellungen aus dem X6 kopieren und im X12 einfügen. Ich habe aktuell keine Kopierfunktion gefunden. Der DateiExplorer ist der Hammer.
 
Sorry, für die späte Rückmeldung.
Theoretisch wäre das über den DataExplorer möglich. Eine Art unverselles Backup erzeugen und das könnte zu jedem anderen Junsi Gerät übertragen werden. An ein Backup habe ich auch schon mal gedacht, dass dadurch eine Übertragung zu einem anderen Gerät möglich wäre nicht. Ist also ein guter Hinweis. Aktuell ist so etwas nicht implementiert. Ich denke mal darüber nach.
Das Aufsetzen neuer Programme ist durch diesen Dialog ein Kinderspiel geworden und man hat das für alle seine Akkus im Handumdrehen fertig.
 

face

User
Hallo Winfried, dein Data Explorer sieht ja wirklich sehr interessant aus. Ich steige von Hyperion um. Habe meine Ladeprofile gesichert.
Lassen sich die Profile von Hyperion mitttels deines Programms in den Junsi importieren?
 
Hallo Winfried, dein Data Explorer sieht ja wirklich sehr interessant aus. Ich steige von Hyperion um. Habe meine Ladeprofile gesichert.
Lassen sich die Profile von Hyperion mitttels deines Programms in den Junsi importieren?
Theoretisch ginge das, wäre aber mit viel Implementierungsarbeit verbunden und das für einen Einzelfall.

Ladeprogramme sind über den gezeigten Weg derart schnell programmiert oder besser konfiguriert, dass eine Backup/Restore Lösung überflüssig erscheint.
 
Hi Winfried.
Habe einen raspberry pi 3 hier den ich gern dazu nutzen möchte.
Habe keine Ahnung. Wie kann ich das so realisieren wie du?
Gruß Andreas
 
Hallo Andreas,
ich würde mir für den Raspberry eine schnelle SD Karte besorgen, da der Raspi 3 doch relativ langsam ist. Es gibt einen Raspberry Pi Imager, den würde ich nutzen, um mir ein Image mit Hostname, Username und Passwort, SSH und WLAN erstellen. Der Raspberry 3 kann nur 32 Bit.
Ist diese Hürde genommen loggt man sich per SSH auf den Raspberry ein und ruft raspi-config auf. Hier ermögliche ich mir VNC, also eine Möglichkeit mich mit dem Raspberry mit grafischer Oberfläche zu verbinden. Hier auch an die Bildschirmgröße denken. Ein VNC Viewer ist auf dem PC nötig.
Über Software Add/Remove stellt man sicher, dass eine Java Runtime installiert ist, LXTerminal "java -version". Über den Internet-Browser lädt man sich den DataExplorer und installiert diesen nach "cd /opt" über "sudo tar -xzvf ~/Downloads/dataexplorer....tar.gz". Danach dann "cd DataExplorer" und "./DataExplorer", also das Start-Script des DataExplorer aufrufen. Dadurch entstehen Start-Icons unter Zubehör. Hierüber kann dann der DataExplorer gestartet werden. Für die USB-Verbindung zu einem Junsi braucht man Einträge für udev. Damit steuert man über die Kennung der USB IDs, dass der angemeldete User, der in der Gruppe "dailout" sein muss, diese nutzen darf. Hinweise werden bei Auswahl eines Junsi Gerätes gegeben.
Als Königsweg kann man sich einen Eintrag erstellen, der den DataExplorer jedes Mal startet, wenn das Rasbian startet.

Ich kann jetzt nicht sagen, wie es mit Deinen Linux Kenntnissen bestellt ist und ob das Alles so verständlich ist. Ich hoffe es jedenfalls.

Da ich, auch Akkus, als Objekt, Beispiel "SLS Extron 3S 2200mAh", behandle, synchronisiere ich die auf dem Raspberry gesicherten Dateien mit dem PC (rsync) und lasse am Jahresende eine Historien-Analyse über jeden Akku laufen. Darüber kann ich feststellen, ob ich den Akku ein weiteres Jahr verwenden kann. Das geht natürlich nur, wenn man den Strombedarf des Modells kennt und abschätzen kann, wieviel mΩ pro Zelle maximal möglich ist. Die Historien-Analyse geht natürlich auch direkt auf dem Raspberry, dauert aber je nach Anzahl der Dateien entsprechend lange.

Viel Erfolg!
 
Hallo zusammen,
mit der Version 3.7.2 des DataExplorer gab es einige Fehlerkorrekturen im Zusammenhang mit dem beschriebenen Konfigurationsdialog. Wenn das jemand verwendet, sollte man unbedingt den Update durchführen. Im einzelnen sind das die für die Junsi iCharger mit USB durchgeführten Änderungen:
* iChargerUSB* - Korrektur beim dynamisches Setzen des Timeouts in Abhängigkeit vom Programmspeicher-Log-Intervalls
* iChargerUSB* - Korrektur Speicherindex Selektion
* iChargerUSB* - fehlender Update des Programmspeicherdialoges korrigiert, Umschalten Ni -> Li
* iChargerDX* - Unterstützung aller 64 möglichen Programmspeicher
* iCharger*X* - entfernen des Kanal-Modus für Power-Einstellungen
* iChargerUSB* - BUILD IN Einträge können nun nicht mehr ausversehen gelöscht werden
 
Hallo Winfried, ich bin grad auf deine Software aufmerksam geworden. Tolle Sache. 👍
Könnte man damit auch die Einstellungen speichern und von einem zum anderen Gerät übertragen?
 
Hallo Alex,
die Einstellungen kann man ja mit dem Gerät selber speichern. Da sind die System-Einstellungen un die Ladeprogramme dabei. Mache ich regelmäßig vor einem Firmware-Update.
Leider haben die verschiedenen Ladegeräte alle etwas unterschiedliche Speicher. Es wäre ein Übertragen möglich, aber nur mit einem gewissen Migrationsaufwand. Junsi hat mir abgeraten so etwas zu entwickeln. Dadurch, dass sich die Programmspeicher aber ruck-zuck erstellen lassen, braucht man das auch nicht.
 
Hello Winfried,

Is it possible to overlay & compare 2 separate discharge graphs ? so the performance of 2 separate packs could be compared

Thanks
John
 
Hi John, you can copy any graph using the context menu, right mouse button, to curve compare. Curve compare is independent of loaded data. Only the individual curve data is copied. Please check out the help text delivered with the program selecting the tools bar question mark. Look for chapter curve compare and follow further links.
Another idea may be the history analysis. This read all OSD files of the directory and measurement values can be selected according interest. This require objects of batterie packs to be used to run the analysis on this individual pack and not on all available.
Hope this helps.
 

Anhänge

  • History.jpg
    History.jpg
    199,1 KB · Aufrufe: 39
Zuletzt bearbeitet:
Ansicht hell / dunkel umschalten
Oben Unten