Hallo zusammen,
ich möchte mir einen vollautomatischen Akku Tester bauen. Getestet
werden sollen LiIon Akkus.
Folgendes Konzept:
Zelle wird angeklemmt
Gerät misst Spannung über 16bit ADC und schreibt ihn weg (SD, RS232 tbd)
Akku wird über LiIon Lade IC geladen (TP4056, eher was besseres)
Lade IC meldet "Zelle voll", 1h Relaxationszeit beginnt
Zelle wird mir Konstantstrom entladen (hier beginnt meine Frage)
Strom wird über die Zeit gemessen und die Ladung berechnet
Zelle schaltet bei 3,x Volt ab (je nach Zelle) und Gerät speichert
Messdaten auf SD oder schiebt sie auf RS232 raus (passiert schon während
der Messung)
Jetzt suche ich nach einer elektronischen Last und kenne die Schaltung
mit OPV und Shunt aus der dse-faq.
einfache elektronische Last (Konstantstromsenke):
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.24.1
(wenn ich den Schaltplan kopiere zerschießt es mir den :(.
Jetzt wüsste ich gern, ob ich die Schaltung noch aufbohren könnte,
damit:
1. Offset Kompensation (0A sollten auch 0A sein)
--> kann ich hier einen OPV mit Offset Einstellung nehmen? Wenn ja
welchen? Gibts da eine Möglichkeit das irgendwie automatisch zu machen?
(Also nicht jeden Monat mit einem Trimmer justieren?)
2. Einstellbereich von 0-5A bei bei 3-5V
Ich meine mich zu erinnern, dass der Stromfluss bei geringer
Lastspannung ein Problem war (MosFet)
Kann ich hier einen bipolar Transistor einsetzen um das Problem zu
beheben?
Voraussetzung: mein OPV kommt unter 0,7V. Welcher würde sich anbieten?
Am besten er erschlägt auch gleich die Anforderung aus Punkt 1
Gibts noch was zu beachten?
VG
Hatte sowas mal mit einem LEM-Stromsensor gemacht.
Ausgang von einem DAC an das Gate vom FET und einen PID Regler
entworfen.
Dadurch war sogar der Strom dynamisch einstellbar.
Elektrische Energie ist eigentlich immer zu schade um nur verheizt zu
werden.
Wenn für die Zelle jeweils bei 3.x V Schluss sein sollte, könnte es auch
eine Überlegung wert sein ob auf eine 2.x V Sammelschine gespeist werden
könnte und die Energie mit einem DCDC-Wandler wieder dem System
zugeführt werden könnte.
Lastabhängiger schrieb:> 1. Offset Kompensation (0A sollten auch 0A sein)> 2. Einstellbereich
Mit einer Ladungspumpe, ließe sich leicht eine negative Spannung
erzeugen, wenn dies notwendig sein sollte. Diese muss ja nur gering
belastet werden.
Zur gänzlichen Abschaltung wird ein Transistor ergänzt am Gate oder der
Basis. Die CE-Sättigungsspannung liegt dann unter 0.2V. In dem Falle
fließt nur noch der Leckstrom von wenigen 100nA. Wenn das zuviel ist,
dann benötigst Du eine zusätzliche Abschaltung mit einem Relais.
Es macht keinen Sinn einen Offsetabgleich zu machen, der genauer ist als
der Messwiderstand. In dem Falle müßtest Du einen weiteren Mosfet
vorsehen für eine Bereichsumschaltung der Meßwiderstände bzw. Shunts.
Nach dem das Ganze von einen µC-Board gesteuert wird, sollte das kein
Problem bereiten, außer auf genügend Ausgangspins des µC zu achten.
Lastabhängiger schrieb:> Gibts noch was zu beachten?
Du misst die Spannung per A/D-Wandler mit einem uC der die Energiemenge
erechnen soll, da reicht ein einfacher Widerstand als Last für einen
halbwegs konstanten Strom zwischen 4.2V und 2.5V, ausreichend um
Herstellerangaben "3Ah bei 300mA mittlerem Entladestrom" verifizieren zu
könnne, den Strom durch diesen Widerstnd kann dann der uC berechnne. Man
braucht keine Konstantstroquelle, die ist overengineering, höchstens
wegen unterschiedlicher Akkukapazität (per MOSFET vom uC aus)
umschaltbare Widerstände
Dieter schrieb:> Wenn für die Zelle jeweils bei 3.x V Schluss sein sollte, könnte es auch> eine Überlegung wert sein ob auf eine 2.x V Sammelschine gespeist werden> könnte und die Energie mit einem DCDC-Wandler wieder dem System> zugeführt werden könnte.
Gute Idee, aber ich glaube das überfordert meine Fähigkeiten. Ich müsste
ja sicherstellen das der DCDC aus der 2,5V Schiene nicht zu viel
Leistung entnimmt, da ja sonst meine Akkus zu stark belastet werden.
Dieter schrieb:> wenigen 100nA.
Das ist vernachlässigbar wenig, passt für mich.
MaWin schrieb:> den Strom durch diesen Widerstnd kann dann der uC berechnne.
Was wieder mehr Mathematik in den Controller bringt, aber wahrscheinlich
hast du recht, dass Ganze bläht sich recht schnell auf. Mir war eben der
konstante Strom sympatisch, da er die Berechnung und vereinfacht.
Danke für eure Hilfe!
VG
Lastabhängiger schrieb:> Was wieder mehr Mathematik in den Controller bringt,
Na und, dafür ist der da!
> aber wahrscheinlich hast du recht,> dass Ganze bläht sich recht schnell auf.
Dsa liegt im Auge des Erbauers. Von Nichts kommt Nichts.
> Mir war eben der konstante Strom sympatisch,> da er die Berechnung und vereinfacht.
Mir ist der konstante Strom sympatisch, weil alle Akkudatenblätter
diesen nutzen.
-------
Ich habe vor 2 Jahren eine digitale Regelung gemacht. Weil ein Akku
langsam ist, sehe ich die Einschwingzeit unkritisch. Das Hirn ist ein
A*-Nano, mit zwei Kanälen, LC-Display und SD-Karte randvoll.
Strom und Spannung wird mit INA219 gemessen, in der Plusleitung, das
Ding ist verdammt gut.
Als Last sitzt ein IRF540 am Akku, angesteuert wird der über einen
DA-Wandler MCP4725. Ich habe aber einen großen Arbeitsbereich
realisiert, von 0,8 bis 14 Volt bei 1,5 Ampere. Da wird es dem IRF540
etwas zu warm am Hemdchen, also schalte ich per IRLZ44 Lastwiderstände
zu.
Wenn Du nur eine LiIon-Zelle messen willst, sind Zusatzwiderstände
verzichtbar und der Sourcewiderstand kann größer werden.
Was die Ladung des Akkus angeht, kann man am TP4056 den Ausgang
"beendet" abfragen. Er muß dann aber gesperrt werden, damit er nicht
wieder von selbst anspringt und nachlädt. Ich mache das nicht, meine
Akkus werden extern geladen, bevor ich an den Entladetester gehe.
Im Schaltplan fehlen die digitalen Leitungen zu den LEDs und zum
Drehencoder, die analoge Ecke sollte passen.
Batteriekapazitäten auf < 5% genau zu erfassen, ist doch mehr,
als ausreichend.
16-Bit-DAC, Konstantstromquelle braucht es nicht: Passender
Leistungs-R, Logic-Level-NFET und der übliche 10-Bit-ADC im
Standard-µC reichen aus.
- Ein guter Logic-Level-NFET schließt den Stromkreis Akku
Leistungs-R.
- In passenden konstanten Zeitabständen die Spannung über dem
Lastwiderstand messen. Alle Messwerte addieren.
- Erreicht die gemessene Spannung die Entladeschlussspannung
öffnet der NFET - die Messung ist beendet.
Allerdings muss man den µC ein wenig rechnen lassen!
Die Summe aller Messwerte ist proportional zur Kapazität.
Bei bekanntem Leistungs-R, Spannungsteiler, Uref, Zeitabstand
und Anzahl der Messwerte lässt sich die Kapazität in
SI-Einheiten errechnen. Ist eine simple Multiplikation.
Lastabhängiger schrieb:> MaWin schrieb:>> den Strom durch diesen Widerstnd kann dann der uC berechnne.>> Was wieder mehr Mathematik in den Controller bringt
WTF? Du glaubst, der µC wäre überfordert damit, den Strom durch eine
Division aus der Spannung zu berechnen?
> Mir war eben der> konstante Strom sympatisch, da er die Berechnung und vereinfacht.
Das ist doch albern. Genau so eine Entladeschaltung habe ich vor einiger
Zeit mal an einem Wochenende zusammengestrickt. Siehe den
Beitrag "Projekt Li-Ion Akkutester"
Der Teil, der nichttrivial ist, ist die Wahl des Entladewiderstands (und
wenn man laden will: des Ladestroms und der Ladeschlußspannung). Aber
nachdem es da keine zuverlässige automatische Detektion gibt und im
Fehlerfall schon mal das Labor abbrennen könnte, wird man das wohl durch
den Anwender einstellen lassen müssen.
Crazy H. schrieb:> LM317 als KSQ (so hab ich das gemacht)
Danke für die Bilder, schaut gut aus!
Manfred schrieb:> von 0,8 bis 14 Volt bei 1,5 Ampere.
OK, ich hätte da jetzt eben noch den OPV mit rein geschaltet und dem per
DAC die Spannung vorgegeben. Aber so gehts auch. Wie groß ist der
Leckstrom? Also DAC auf 0 gestellt, was fließt dann noch?
Axel S. schrieb:> WTF? Du glaubst, der µC wäre überfordert damit, den Strom durch eine> Division aus der Spannung zu berechnen?
Nein, ich ;). Ich wollte es einfach simpel halten, deshalb die Idee mit
dem Konstantstrom. Allerdings ist Manfreds Argument noch etwas stärker:
Die Akkudatenblätter nutzen ihn auch.
Lastabhängiger schrieb:> Manfred schrieb:>> von 0,8 bis 14 Volt bei 1,5 Ampere.> OK, ich hätte da jetzt eben noch den OPV mit rein geschaltet> und dem per DAC die Spannung vorgegeben.> Aber so gehts auch.
Bei der Schaltungsentwicklung gibt es viele Möglichkeiten, wie man zum
Ziel kommt. Die klassische Stromlast hat einen OP als Regelung. Ich bin
eben einen anderen Weg gegangen, den Regelkreis per µC zu realisieren
und mich nicht darauf zu verlassen, dass der OP genau das macht, was ich
ihm als Spannung vorgebe.
> Wie groß ist der Leckstrom?> Also DAC auf 0 gestellt, was fließt dann noch?
Dazu darf man das Datenblatt der FETs befragen. Ich löse in meinem Gerät
'nur' eine Nachkommastelle auf = 100µA. Gemessen habe ich ihn nicht,
aber er wird weit drunter liegen.
> Axel S. schrieb:>> WTF? Du glaubst, der µC wäre überfordert damit,>> den Strom durch eine>> Division aus der Spannung zu berechnen?>> Nein, ich ;). Ich wollte es einfach simpel halten,> deshalb die Idee mit dem Konstantstrom.
Simpel heißt dann eben, fest vorgegeben, nicht einstellbar - für eine
einzelne LiIon-Zelle kann man das mit dem LM1117 hinreichend stabil
aufbauen. Siehe Anhang, bei 400mA kann ich bis 2,9V herunter den Strom
gewährleisten - leider nicht unter Betrachtung aller
schlechtestmöglichen Toleranzen.
> Allerdings ist Manfreds Argument noch etwas stärker:> Die Akkudatenblätter nutzen ihn auch.
Es ist Deine Entscheidung, es so oder so umzusetzen.
Aus Deinen Postings lässt sich kaum einschätzen, wie Dein Wissensniveau
ist. Deine Fragen lassen mir aber den Verdacht aufkommen, dass Du es
fertig bekommst, wenn Du es willst - aufhören zu Fragen, ab an den
Lötkolben und den PC.
Lastabhängiger schrieb:> Wie groß ist der Leckstrom?> Also DAC auf 0 gestellt, was fließt dann noch?
Heute gemessen, je nach Spannung bis 80µA.
Wie viel davon durch die FETs oder in den INA219 geht, untersuche ich
nicht weiter, der Strom ist gering genug.
Bei ebay ein gebrauchtes HP/Agilent 6632B für kleines Geld kaufen und
ein serielles Schnittstellenkabel dazu. Der Rest in Software, z.B.
Beitrag "LabView Community Edition kostenlos erhältlich"
Sollen mehrere Zellen geladen/entladen/vermessen werden dann halt mit
einer HP3488A zum umschalten dazu, aber alles per GPIB.
Alles andere ist nur sinnfreies Gebastel und Gefrickel.
Den passenden Entladewiderstand kann man nicht automatisch detektieren,
weil das ja von dem Szenario abhängt, dass man testen will.
Ein Fotoapparat hat z.B. ein völlig anderes Entlade-Verhalten, als ein
Ebook-Reader und der wiederum völlig anders als eine Wanduhr.
Je nach Entlade-Verhalten kommt man da auf völlig unterschiedliche
Messergebnisse. Weil das die Hersteller wissen, drucken sie auch gerne
eine Phantasiezahl auf den Akku auf - es kann ja niemand überprüfen.
Da kann ein Laptop mit einem 37 Wh Akku länger laufen, als mit einem
anderen 44 Wh Akku - obwohl beide von der gleichen Bauart sind. Das
Einzige, was am Ende zählt ist, wie lange das Gerät wirklich läuft.
Also muss der Test auch das jeweilige Gerät und Nutzerverhalten
simulieren, um aussagekräftig zu sein. Ansonsten kannst du dir die 16
Bit sparen, dann würde schon 8 Bit mehr als ausreichend sein.
Viel zu kompliziert schrieb:> Bei ebay ein gebrauchtes HP/Agilent 6632B für kleines Geld kaufen und> ein serielles Schnittstellenkabel dazu. Der Rest in Software, z.B.> Beitrag "LabView Community Edition kostenlos erhältlich">> Sollen mehrere Zellen geladen/entladen/vermessen werden dann halt mit> einer HP3488A zum umschalten dazu, aber alles per GPIB.>> Alles andere ist nur sinnfreies Gebastel und Gefrickel.Großmaul
Dieter schrieb:> Ein µC Forumler, der typischer Software-Bastler ist. Für den ist das> analoges Gefrickel, weil er mit Analogtechnik nicht viel am Hut hat.
Irgendwie erkenne ich den Bezug zu Deinem Posting nicht.
Ich habe hier bei mir keine einzige µC-Anwendung, wo nicht irgend eine
Schnittstelle zur Außenwelt vorhanden ist. Und ja, die böse Außenwelt
ist leider analog.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang