Forum: PC-Programmierung Suche Akkuladung via Netzteil per GPIB


von Ulrich P. (uprinz)


Lesenswert?

Hallo!

Ich kann mich erinnern, dass es mal eine Software gab, mit der man per 
GPIB ein Netzteil steuern konnte, um damit Ladekennlinien von Akkus zu 
erstellen. Es war für eines dieser Source-Meter von HP, das auch als 
Last arbeiten konnte um dann eine Entladekurve zu erstellen und damit 
den Akku komplett zu bewerten.

Aber ich kann es nicht mehr finden und mir würde der Lade-Teil auch 
eigentlich reichen. Ich habe ein HMP4040 und GPIB läuft, da fehlt 
eigentlich nur etwas Python Code und es könnte fertig sein. Aber ich 
finde mal wieder die richtigen Suchbegriffe nicht.

Schwer zu sagen, ob das Thema nun Analog, Digital, Software, uC ist. ich 
probiere es erst mal hier :)

Grüße
Ulrich

: Verschoben durch Moderator
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Irgendwo auf meinem Lab-Rechner habe ich dafür was rumliegen.

Das Prinzip ist ganz einfach: du stellst (in der Scriptsprache deines 
geringsten Misstrauens) über GPIB eine Spannungs- und Strombegrenzung 
ein, die für das Laden des Akkus passt, also beispielsweise 12.6 V / 1.0 
A für einen 3S-LiPo-Akku. Dann monitorst du in einer Schleife die 
aktuellen Messwerte für Strom und Spannung beispielsweise aller 10 
Sekunden, und protokollierst diese (damit du später die Ladekurve 
ausrechnen kannst). Schleifenabbruchbedingung ist die Unterschreitung 
eines bestimmten Stromwertes, bspw. 100 mA.

Für eine Entladekurve würde man genauso vorgehen, nur den Strom mit 
umgekehrtem Vorzeichen und natürlich die Entladeschlussspannung als 
Limit.

PS: Da der GPIB-Teil auf dem PC läuft, schiebe ich das mal dahin.

: Bearbeitet durch Moderator
von Ulrich P. (uprinz)


Lesenswert?

Hallo Jörg!

Ich danke Dir. Ja ich weiß, dass es da verschiedene Ansätze gab und wie 
es funktionierend würde, war mir auch klar. Ich wollte nur die doppelte 
Erfindung des Rades vermeiden.

Da die Entladeschlussspannung bei einigen Akkutypen recht kritisch ist, 
wollte ich den Aufwand vermeiden da eine zuverlässige Erkennung selbst 
schreiben zu müssen, da ich sicher bin, dass das schon mal jemand 
gemacht hatte.

Wenn ich was finde, melde ich es hier, wenn ich es selber machen musste, 
poste ich es auch hier.

Danke!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ulrich P. schrieb:
> Da die Entladeschlussspannung bei einigen Akkutypen recht kritisch ist

Normalerweise nicht, aber im Zweifel das Datenblatt des Herstellers 
konsultieren. "Erkennen" muss man da doch nicht viel, du stellst da 
einfach eine Spannung am Netzteil ein für die U-I-Kennlinie. Überwachen 
musst du am Ende nur noch den Strom, damit du die Entladung abschalten 
kannst, wenn der Entladestrom unter einen bestimmten Wert sinkt.

Ich kann den Script heute Abend mal rauskramen vom Lab-Rechner, ich bin 
mir aber nicht sicher, ob der nun gerade in Python oder Tcl geschrieben 
ist. Ich habe da am GPIB beides am Laufen.

von Manfred P. (pruckelfred)


Lesenswert?

Jörg W. schrieb:
> Ulrich P. schrieb:
>> Da die Entladeschlussspannung bei einigen Akkutypen recht kritisch ist
>
> Normalerweise nicht, aber im Zweifel das Datenblatt des Herstellers
> konsultieren. "Erkennen" muss man da doch nicht viel, du stellst da
> einfach eine Spannung am Netzteil ein für die U-I-Kennlinie. Überwachen
> musst du am Ende nur noch den Strom, damit du die Entladung abschalten
> kannst, wenn der Entladestrom unter einen bestimmten Wert sinkt.

Wirfst Du hier Ladung und ENTladung durcheinander?

Akkus werden mit mAh spezifiziert, also entlädt man mit einem konstanten 
Strom und schaltet ab, sobald die Endspannung unterschritten wird.

Primärzellen werden meist mit Stunden bei konstantem Lastwiderstand 
beschrieben, aber auch da ist die Spannung das Kriterium für leer / 
Ende.

Abschaltung über Strom sehe nur beim Laden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Manfred P. schrieb:

> Wirfst Du hier Ladung und ENTladung durcheinander?

Es war ja beides gefragt.

> Akkus werden mit mAh spezifiziert, also entlädt man mit einem konstanten
> Strom und schaltet ab, sobald die Endspannung unterschritten wird.

Die wird nie unterschritten. Die wird nur erreicht, aber der Strom 
sinkt dann ab.

Es geht ja um ein 2-Quadranten-Netzteil mit einstellbarer Spannungs- und 
Strombegrenzung. Beim Laden stellst du den maximalen Ladestrom ein und 
eine Ladeschlussspannung, aber auch da gibt es kein "natürliches" Ende, 
sondern der Strom wird nur nach Erreichen der Ladeschlussspannung immer 
kleiner. Beim Entladen dann halt ein konstanter Laststrom und eine 
Entladeschlussspannung; sobald diese Spannung erreicht wird, geht die 
elektronische Last wieder von CC nach CV, der Strom sinkt dann einfach 
ab.

Einen konstanten Lastwiderstand kann man damit nicht erreichen. (OK, 
nicht ohne weiteres: man könnte natürlich per GPIB die ganze Zeit die 
Strombegrenzung mit absinkender Spannung nach unten korrigieren und 
damit einen einigermaßen konstanten Lastwiderstand simulieren.)

OK, ich habe mal bisschen gekramt. Anbei der Entlade-/Lade-Script (in 
Python, sorry, noch Python 2.x) für einen LiFePO4-Akku, dazu das Log 
(das ich einfach per "script" mitmeißeln lasse) sowie ein Perscript, der 
aus dem Log die Kapazitäten ausrechnet.

Dessen finale Ausgabe ist dann:
1
./charger-log.pl /tmp/pbq-protocol-auszug.txt
2
Change charge/discharge, time 278.249999999998, energy -7.53226666666656
3
Final: time 232.750000000024, energy 7.53826555555561

Dafür, dass der PBQ-Akku mit 7,5 Ah angegeben ist, liegt er da ganz gut 
im Rennen.

: Bearbeitet durch Moderator
von Vanye R. (vanye_rijan)


Lesenswert?

> Es geht ja um ein 2-Quadranten-Netzteil mit einstellbarer Spannungs- und
> Strombegrenzung.

Bist du da sicher? Das angesprochene HMP4040 kostet doch nur 3kEuro. Ist
das fuer 2Q nicht viel zu billig? :-D

Auch unter den wesentlichen Merkmalen steht nix dazu:
https://www.batronix.com/versand/labornetzteile/Rohde-Schwarz-HMP4040.html

Dabei wuerde ich das schon erwarten weil das doch ein SEHR wesentliches 
Merkmal ist.

BTW: Ich hab hier ja ein HP66312A wo sie in der Beschreibung lange sehr 
komisch auf dem Thema rumreiten das man fast glauben koennte das es 2Q 
kann, aber tatsaechlich kann es nur -1A (ungeregelt) ohne das etwas 
kaputt geht.

Vanye

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Vanye R. schrieb:
>> Es geht ja um ein 2-Quadranten-Netzteil mit einstellbarer Spannungs- und
>> Strombegrenzung.
>
> Bist du da sicher?

Genau genommen war von Scripten für die HP66xx die Rede, von denen der 
TE sich etwas für den HMP4040 ableiten wollte.

In meinem Falle sind sie wirklich mit einem HP, nein schon Agilent :) 
6633B getestet worden, und ich benutze das gelegentlich zum Ermitteln 
von Batteriekapazitäten. Aber selten, ist halt laut und macht warm. ;-)

von Ulrich P. (uprinz)


Lesenswert?

Hallo, sorry war kurz im Urlaub...

HMP4040 kann meines Erachtens keine 2Q, sollte es auch nicht. Würde mir 
da eine Senke Stricken oder endlich mal eine Load gönnen.

66132A habe ich auch, wurde wegen seiner völlig besch*** doppelt roten 
Stecker einmal falsch herum zum Akku laden genutzt und ist aktuell tot. 
Konnte den Fehler noch nicht finden und war dann durch Umzug und Job 
Wechsel und so weiter erst mal anderweitig beschäftigt.

Wenn jemand aus dem Kopf heraus weiß, was bei dem 66132A kaputt geht, 
wenn man einen 12V Akku verkehrt herum anschließt, dann wäre ich für 
einen Hinweis dankbar.

Das 1A als Sink würde locker ausreichen, denn ich würde damit nur kleine 
Akkus testen, bzw große Akkus auch nur unter realen Bedingungen und das 
sind bei meinen Anwendungen 20...450mA.

Was die Ladetechnik angeht, ja ich habe mich da blöd ausgedrückt. Obwohl 
bei LiPo Akkus reines CC nicht korrekt ist.
https://www.digikey.de/en/maker/blogs/2021/charging-lithium-ion-and-lipo-batteries-the-right-way

Aber auf einem funktionierenden Script aufsetzen ist immer noch 
schneller als from scratch.

NiCd Zellen sollten eigentlich immer mit Reflex-Impuls-Charging geladen 
werden, allerdings ist das Verfahren patentiert. Bei NiMh geht das auch, 
aber der Spannungs-Buckel, der das Ende des Ladens anzeigt, ist bei NiMh 
sehr viel flacher als bei NiCd.

Hintergrund der ganzen Aktion ist aber etwas anderes, ich habe einige 
ältere Elektronik-Artikel, die immer noch sehr nützlich sind, aber deren 
NiCd Akkus lange lange tot sind. Daher habe ich angefangen diese auf 
LiPo umzubauen und USB-C Charging. Daher würde ich die China-LiPos gerne 
erst mal durch einen Tester laufen lassen und bewerten, bevor ich sie 
dann dauerhaft in ein Gerät einbaue.

Daher danke schon mal für die Scripte und die Gedanken zum Thema.

Ulrich

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ulrich P. schrieb:
> Obwohl bei LiPo Akkus reines CC nicht korrekt ist.

Naja, wenn man mal den Fall einer tief entladenen Zelle (U < 3.0 V) 
ausnimmt, passt es schon. Wobei ich es unglücklich finde, dass "der 
Charger" den Strom verkleinert: wenn man die gewünschte Zellspannung 
erreicht und sie konstant hält, ist es ja eher die Zelle, die dann 
weniger Strom aufnimmt. Ist aber jetzt Krümelkackerei.

Wenn man den Script noch so umbaut, dass er gleich selbst den 
Ladezustand aufintegriert, dann könnte man auch noch "zellschonendes 
Laden" einbauen: entweder gleich bei 80 % das Laden beenden (gut 
lagerfähig), oder mit weniger als der gewünschten Ladeschlussspannung 
laden und erst am Ende, wenn die Zelle eh schon nur noch wenig Strom 
aufnimmt, die Spannung nochmal raufsetzen.

Da ich den Script früher vorrangig für Bleiakkus benutzt habe, hatte ich 
mir um sowas aber noch keine Gedanken gemacht darin.

von Ulrich P. (uprinz)


Lesenswert?

Blei-Gel war eine dankbare Ladetechnik. Einfach einen 7812 als 
Stromregler missbraucht und fertig.

Und ja, man kann die ganze Ladetechnik extrem schonend aufbauen und so 
schlaue Sachen wie, so langsam wie möglich bis zu einem bestimmten 
Zeitpunkt laden, statt so schnell wie möglich.

Aber darum geht es mir nicht. Ich möchte nur in ein paar 
unbeaufsichtigten (auf Keramik Platte) durchgeführte Ladezyklen 
durchführen und die Laufzeit im vorgesehenen Gerät überprüfen. Dann weiß 
ich genug um Akku, Ladecontroller im Gerät und BMS / BPS zu bewerten.

Danke Euch!

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Ulrich P. schrieb:
> Daher würde ich die China-LiPos gerne

Ungemessen in die Tonne, da ist fast nie drin, was drauf steht.
Vielleicht hast Du ja mehr Glück.

> erst mal durch einen Tester laufen lassen und bewerten, bevor ich sie
> dann dauerhaft in ein Gerät einbaue.

Als ich Akkuspielerei angefangen habe, hatte ich mir ein UNI-T mit 
USB-Schnittstelle gekauft. Als Konstantstromlast habe ich einen LM1117 
bzw. LD1117 verwendet. Da fehlt der Tiefentladeschutz und die 
UT-Software taugt nichts, hat nicht beglückt.

Beitrag "Re: LiPos konfektionieren"

Ich habe dann einen Eigenbau gemacht, ein Arduino-Nano regelt über einen 
D/A-Wandler einen IRF540 als Stromlast. Dazu gibt es noch zwei 
Leistungswiderstände, deren Zuschaltung der µC rechnet, um die Leistung 
am IRF im Zaum zu halten.

Jörg W. schrieb:
>> Obwohl bei LiPo Akkus reines CC nicht korrekt ist.
> Naja, wenn man mal den Fall einer tief entladenen Zelle (U < 3.0 V)
> ausnimmt, passt es schon.

Schaue den wohlbekannten Chinesen TP4056 oder den STC4054 von STM an, 
die reduzieren den Ladestrom, solange die Zelle unter ca.3 Volt liegt.

> Wobei ich es unglücklich finde, dass "der
> Charger" den Strom verkleinert: wenn man die gewünschte Zellspannung
> erreicht und sie konstant hält, ist es ja eher die Zelle, die dann
> weniger Strom aufnimmt. Ist aber jetzt Krümelkackerei.

Dass "der Charger den Strom verkleinert", findet normalerweise nicht 
statt.

Ulrich P. schrieb:
> Blei-Gel war eine dankbare Ladetechnik.

Das Prinzip ist identisch mit LiIon, lediglich die Spannung ist anders.

> Einfach einen 7812 als Stromregler missbraucht und fertig.

Verstehe ich nicht. 12V sind zu wenig und als Stromregler ist der 7812 
nicht zu gebrauchen. Du meinst evtl., Dich auf seine Begrenzung zu 
verlassen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Manfred P. schrieb:
>> Naja, wenn man mal den Fall einer tief entladenen Zelle (U < 3.0 V)
>> ausnimmt, passt es schon.
>
> Schaue den wohlbekannten Chinesen TP4056 oder den STC4054 von STM an,
> die reduzieren den Ladestrom, solange die Zelle unter ca.3 Volt liegt.

Allerdings sollte man die Zellen normalerweise eh nicht so tief 
entladen.

Für den Fall würde ich wohl als erstes vorsichtig mit der Hand vorladen, 
bis die Spannung höher ist. War bei meinem Script aber kein Thema: da 
wurde der Akku einmal voll geladen und danach dann die Messung 
Entladen/Laden angeschoben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.