Hallo zusammen, Ich repariere gerade einen Akkupack bzw. Akku-Einschub aus einem Meßgerät. Dieser Akkupack hat 10 NiMH Zellen und wird über ein externens Ladegerät geladen. Die Ladeelektronik selbst befindet sich somit nicht im Pack. Auf der Platine des Akkueinschubes befindet sich aber ein BQ2040 (Gas Gauge IC with SMBus Interface). Diese integrierte Schaltung ist ein Schaltung die den Ladevorgang überwacht. Dazu hat das IC ein externes EEProm in dem die Daten des Akkus "in vielen Parametern" gespeichert sind. Das Meßgerät kommuniziert über das SM-Bus-Interface des Akku-Einschubes bzw. über das SMBus-Interface des BQ2040 und zeigt den Ladezustand des Packs an. Die Schaltung auf der Platine entspricht genau der Schaltung aus der Applikation im Datenblatt. (Seite 3). Nur die LEDs gibt es nicht. https://www.ti.com/lit/ds/symlink/bq2040.pdf Ich hätte zwei Fragen: a) Ich habe das Pack durch das Meßgerät automatisch entladen und geladen. Danach zeigte das Meßgerät "99% Akku" an. Ich habe dann auch nochmal auf 90% entladen und wieder auf 99% aufgeladen. Dann habe ich die Zusatzverdrahtung zum automatischen entladen und zur Aufzeichung der Entlade- Ladekurve abgelötet. Vorher habe ich aus Sicherheitsgründen den Akkupack abgelötet. Nach dem wiederanlöten des Akkus an die Elektronik (BQ2040 Schaltung) des Akkupacks und dem Wiedereinsetzen in das Meßgerät zeigte der das Meßgerät 0% Akkuladung. Diesen Effekt hatte ich schon einmal. Nach erneutem Entladen durch das Meßgerät und externer Überwachung auf die Entladeschlußspannung und anschließenden wurde die Kapazität wieder angezeigt. FRAGE1: Kann es sein das der BQ2040 das Ablöten als Akkuwechsel erkennt und den den Wert auf 0% setzt, dass das ganze wieder "initialisiert" werden muß? Wenn ich den geladenen Pack (99%) aus dem Meßgerät entnehme und nach einer Nacht wieder einstecke werden immer noch 99% angezeigt. Somit sollte es nicht aus der Entnahme aus dem Messgerät liegen- FRAGE2: Weiß jemand, wo letztendlich im EEProm die momentane Kapazität gespeichert wird. An welcher Adresse bzw. an welchen Adressen ist der aktuelle Ladezustand abgelegt der dann als 0%...99% angezeigt wird. Ich habe mir schon alle Werte im EEP rausgeschrieben und als "Akku-Grundwerte", "Lade-Parameter" und "ASCII-Werte" markiert. Aber ich bin nicht schlau geworden wo hier die Momentankapazität angelegt ist. Ich habe auch schon ein Programm geschrieben, dass die EEP-Werte den Bedeutungen zuweist und in eine Textdatei schreibt. Das habe ich mit zwei EEPs (99% und 70%) gemacht. Aber der Vergleich der beiden erzeugten Textdateien brachte mir auch keine Erkenntnisse. Auch die Application-Note slua233.pdf "U513 Using the BQ2040 Gas Gauge IC" https://www.ti.com/lit/an/slua233/slua233.pdf?ts=1739865272498 brachte mich nicht weiter. Doch noch eine FRAGE3: Wenn ich richtig gemessen habe, wird das EEP nicht ständig mit 5V versorgt. Wird der Ausgang +Veep des BQ2040 nur bei Zugriffen auf das EEP eingeschaltet? Danke schon mal Gruß Robert - SoftTroniker -
Ohne diese spezielle GasGauge jetzt zu kennen: Alle deine Fragen werden im Datenblatt und/oder den Appnotes zu dem Chip beantwortet. Und nein, das muss nicht explizit drin stehen, das kann auch zwischen den Zeilen sein. Batteriepacks parametrisieren und konfektionieren ist keine triviale Angelegenheit mehr. Dazu sind die Chips inzwischen viel zu weit entwickelt, auch in die Richtung "Manipulationssicherung" und "vorhersehbarem Missbrauch". Ich wäre mit solchen Spielereien wie Akkuzellen ablöten sehr vorsichtig, sonst brickst du dir deinen Pack ganz schnell, weil der BQ dann aufgrund der ausgefallenen Spannung der Meinung ist, dass eine oder mehrere Zellen defekt sind und sperrt laden/entladen final. Zum zurücksetzen brauchst du dann das Vendor-Passwort. Oder einen neuen BQ, den du dann aber selber komplett parametrisieren musst. Auch die Parameter, die du ohne VendorPass nicht auslesen kannst. Zu Frage 1:Du hast wohl einfach Glück gehabt, dass der BQ sich nicht endgültig dazu entschieden hatte, deine Zellen als "defect" zu markieren. Sondern im Ersten Schritt einfach nur soft abgeschaltet hat und erst mal nur totgestellt hat. zu Frage 2: Die Registeradressen sind doch im Datenblatt. Was hindert dich daran, die entsprechenden Adressen mal auszulesen und zu überprüfen? Einige Werte hält der BQ im RAM, die landen gar nicht im EEprom. Viele errechnete Werte betrifft das, macht ja auch keinen Sinn, die persisten zu sichern. Denn so lange in den Zellen Saft ist, merkt sich der BQ das. Danach ist es eh egal.
Robert H. schrieb: > Weiß jemand, wo letztendlich im EEProm die momentane Kapazität > gespeichert wird. Wird nicht im EEPROM gehalten. Im EEPROM sind Initialisierungswerte, die sich im Betrieb nicht verändern. der RM (Remaing Capacity) Zähler ist im BQ2040.
Hallo Roland, Danke dir für deine ausführliche Antwort ABER: >dass eine oder mehrere Zellen defekt sind und sperrt laden/entladen final. Der BQ2040 hat in diesem Fall gar ncihts mit der Ladung zu tun. Er erfasst nur die Werte beim Laden und entladen und stelle diese dem Messgerät zur Anzeige zur Verfügung. Aufgrund der Schaltung kann er das Laden oder Entladen gar nicht sperren. >Zum zurücksetzen brauchst du dann das Vendor-Passwort Von einem Passwort habe ich im ganzen Datenblatten des BQ2040 auch bei mehrfachen lesen noch nicht's gelesen. Auch nicht zwischen den Zeilen. > Einige Werte hält der BQ im RAM, die landen gar nicht im EEprom Das wäre dann auch die Erklärung warum nach den ab-/anlöten die Anzeige bei 0% ist DANKE Dir
Hallo Matthias, auch dir vielen Dank für deine Antwort. > Im EEPROM sind Initialisierungswerte, die sich im Betrieb nicht verändern. Das erklärt auch die Ergebnisse meines Analyseprogramms mit dem ich auf keine Änderungen bezüglich der Kapazität komme. >> Ich habe mir schon alle Werte im EEP rausgeschrieben und als >> "Akku-Grundwerte", "Lade-Parameter" und "ASCII-Werte" markiert > Im EEPROM sind Initialisierungswerte, die sich im Betrieb nicht verändern. Danke für die Bestätigung meiner Analyse ich gemacht habe. ;-) > Wird nicht im EEPROM gehalten. .... > der RM (Remaing Capacity) Zähler ist im BQ2040. Dann ist das klar, wie auch schon Roland geschieben hat. Dann suche ich aber nochmal im Datenblatt explzit danach. Danke nochmals Gute Nacht Robert
Robert H. schrieb: > Dann suche ich > aber nochmal im Datenblatt explzit danach. Steht in der Beschreibung nach den EEPROM Tabellenwerten. Nicht nur der RM, sondern auch der DCR sind aus dem BQ2040 und nicht aus dem EEPROM. Mir nicht ganz klar ist das Handling des Cycle Count. Ein einfacher SMBus Reader sollte dir Zugriff auf die Standard Register geben. SMBus ist einfach nur langsames I²C und kann simpel ausgelesen werden.
:
Bearbeitet durch User
> Ein einfacher SMBus Reader sollte dir Zugriff auf die Standard Register > geben. Tut es auch. Ich hab die Teile vor 20Jahren als die noch Frisch waren programmiert. Und man sollte das auch tun. Ein Hersteller kann auch auf die Idee kommen da Kennungen rein zu programmieren welche bei einem Akkuwechsel verloren gehen und dann weigert sich der Laptop ploetzlich mit dem Akku klar zu kommen. Selbstverstaendlich haben die Register welche bei Spannungsverlust verloren gehen. Ausserdem ist das Prinzip nicht 100% idiotensicher nach dem die arbeiten. Nach einer gewissen Anzahl von Ladezyklen, besonders halben, kann es passieren das die Idee die der 2040 vom Akku hat und der Realitaet etwas auseinander laufen. Dazu kommt noch das ein Akku auch leer ist wenn er aus alterungsgruenden einen leicht erhoehten Innenwiderstand hat und dann bei 30% Restkapazitaet die Spannung staerker zusammenbricht als es die Gegenstelle zu akzeptieren bereit ist. Ausserdem war der 2040 IMHO eines der ersten dieser ICs, ich wuerde erwarten das da in den letzten 25Jahren auch mal was verbessert wurde... Vanye
Hallo zusammen, Danke euch nochmals für die Infos. Jetzt ist mir das Ganze etwas klarer. An einem SMReader habe ich auch schon gedacht. Da gibt es ja von TI das EV2200 mit uralter Software. Wäre interesannt ob es im www für Firmaware dafür gibt. Vom EV2200 scheint es ja verschiedene Versionen, je nach "BQ-Typ" zu geben. Dann könnte ich mal die Register anschauen. Selber was zu schreiben rentiert sich nicht. Ich will ja bei den Akkueinschüben nur die Akkus wechseln und dann den Ladezustand wieder richtig anzeigen. NOCHMAL: Bei dem Pack den ich vorliegen habe handelt es sich um einen Pack der mit einem externen Ladegerät nach dem -deltaU Verfahren geladen wird. Beim Erreichen des -deltaU "Buckels" wird das Laden vom externen Ladegerät beendet. Das Ladegerät kommuninizert NICHT mit dem Akkupack. Der BQ2040 wird nur genutzt um an dem Gerät in den der Akku-Einschub eingeschoben wird den Akku-Ladezustand anzuzeigen. Dazu stehen natürlich die Daten/Parameter für die verbauten Zellen im EEP. Ich wollte nur verstehen warum nach einem Akkuwechsel das Gerät plötzlich 0% anzeigt und nach dem Ablöten der Zellen wieder 0% angezeigt wird statt 99%. Aber dieses Frage habt ihr gelöst. PS: :-( Bei einem Pack habe ich durch Handlingsfehler den BQ und das EEP geschrottet. Deswegen bin ich etwas tiefer in die Schaltung und Technik eingestiegen. Der BQ wird gewechselt und das EEP wird aus einem funktionierenden Einschub kopiert. Dann werden die Zellen entladen und wieder geladen und daraufhin sollte auch hier wieder 99% angezeigt werden, wenn der Pack voll ist. Danke Robert SoftTroniker
:
Bearbeitet durch User
Robert H. schrieb: > ... einen > Pack der mit einem externen Ladegerät nach dem -deltaU Verfahren geladen > wird. ... Ich hoffe, da hängen keine LiIon-Zellen dran...
> Wäre interesannt ob es im www für Firmaware dafür gibt. > Selber was zu schreiben rentiert sich nicht. Also wenn man bedenkt das es nur um I2C geht dann nenne ich das Faulheit. > Ich will ja bei den Akkueinschüben nur die Akkus wechseln und > dann den Ladezustand wieder richtig anzeigen. Es mag ja sein das bei dir nichts ungewoehnliches drin steht und dann ist das vielleicht okay. Aber ich hab nach 20Jahren so die grobe nebuloese Erinnerung das da auch die Groesse des Akkus drin stand. Du willst also doch sicher die Kapazitaet deiner neuen Zellen da reinschreiben oder? > Ich hoffe, da hängen keine LiIon-Zellen dran... Hehe, wenn nicht lesen wir es morgen in der Zeitung. :-D Vanye
Robert H. schrieb: > verschiedene Versionen, je nach "BQ-Typ" Das ist nicht nötig, denn die Standard Register sind immer an der gleichen Stelle und derselben I²C Adresse. Ich habe sowas, weil ich ab und zu mal Notebook Akkus bekomme und damit im Status des Packs rumschnüffeln kann. Das ist einfach nur ein ATMega mit LCD, mit den I²C- und LCD Libraries von Peter Fleury. I²C auf 25kHz gedrosselt und nach Registerbeschreibeung programmiert. Mit 3 Tastern wird das ganze bedient. Daten aufs Gauge schreiben geht damit aber nur sehr bedingt.
:
Bearbeitet durch User
>> Pack der mit einem externen Ladegerät nach dem -deltaU Verfahren geladen > Ich hoffe, da hängen keine LiIon-Zellen dran... Wenn da LiIon, drin wären, dann hätte der Entwickler sicher nicht den BQ2040 verwendet... Robert
>> Selber was zu schreiben rentiert sich nicht. > Also wenn man bedenkt das es nur um I2C geht dann nenne ich das Faulheit. Der Forscherdrang würde sofort sagen "baue es dir". Aber ich habe leider noch ganz viele andere offene Projekte und Ideen. > Du willst also doch sicher die Kapazitaet deiner neuen Zellen da reinschreiben oder? Nein, das blieb mir erspart. Ich konnte Zellen mit der selben Kapazität bekommen. Aber da hätte ich gleich eine Frage - nur aus Neugierde: Wenn ich das EEProm das DIL und gesockelt ist mit einem Programmer patche, würde das klappen? Oder gibt es dann Probleme weil die Prüfsumme über das EEP nicht mehr passt?
Hallo Matthias, vielen Dank für den C-Code und die "Bauanleitung". Vielleicht schaffe ich es doch das mal nachzubauen. Ganz vergessen: Vayne die auch Danke für die Tips. Gruß Robert
Robert H. schrieb: > Oder gibt es dann Probleme weil die Prüfsumme > über das EEP nicht mehr passt? Eine Prüfsumme scheint es nicht zu geben, lediglich das Anfangs- und das Endbyte. Die Werte stehen in der Tabelle und scheinen fix zu sein. Robert H. schrieb: > vielen Dank für den C-Code Da nich' für - es ist aber nur ein schneller Hack, basierend auf anderen Projekten. Deswegen stehen da auch öfter mal merkwürdige Dinge.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.