Hey Leute,
heute habe ich mal eine Frage zum MAX1555.
Ich habe noch nicht ganz verstanden, wie der POK (CHG) Pin funktioniert.
Ich habe das jetzt so verstanden, das wenn der Akku laut MAX1555 voll
geladen ist, das der mir dann einen HIGH- Signal auf POK-Pin gibt.
Stimmt das?
Und wie finde ich dann heraus, wann der Akku wieder geladen werden muss?
Bekomme ich dann einen LOW- Signal vom POK-Pin?
Kann ich während den Ladevorgang meine Schaltung auch weiterhin
versorgen? Weil rein theoretisch müsste ich ja denn POK-Pin dann während
dem Ladevorgang abfragen oder ? Und wie kann ich den Ladevorgang starten
und wieder beenden?
Oder funktioniert der MAX1555 ganz anders?
LG
Alex Black
Wenn der Akku geladen wird, wird !CHG auf LOW gezogen, sobald nicht mehr
geladen wird (Input an DC und/oder USB fehlt) oder der Ladestrom unter
50mA fällt wird der Ausgang hochohmig.
!CHG low: Akku wird geladen
!CHG hochohmig: Akku wird nicht geladen
Du hast keine Kontrolle über den Ladevorgang, sobald eine Speisung am DC
oder USB Pin vorhanden ist, entscheidet der MAX1555 selber wann er den
Ladevorgang startet und wieder beendet.
Du kannst während dem Ladevorgang die Schaltung weiter betreiben.
Ich habe den MAX1555 noch nie verwendet, aber den sehr ähnlichen
MCP73831 von Microchip. Den MCP73831 verwende ich ganz simpel, +5V vom
Steckernetzteil/USB an den Eingang, Akku an den Ausgang/Bat Pin und von
da direkt auf einen LDO der mir daraus 3.3V macht. Der Statuspin (!CHG
beim MAX1555) bekommt eine LED. Wenn man will, kann man mit einem ADC
Eingang des Mikrocontrollers noch die Spannung des Akkus messen.
Vielen Danke.
Wie würde dann die Schaltung aussehen, mit der ich die Spannung vom Akku
messen kann?
Und wie berechne ich die Spannung dann mit ADC Wert, damit ich volt raus
bekomme?
LG
Alex Black
Da du nichts über den verwendeten Mikrocontroller und
Programmierumgebung schreibst, ist es etwas schwierig ein Code Beispiel
zu geben.
Schaltung
https://i.imgur.com/6pd61s1.png
Der Spannungsteiler R1/R2 (Verhältnis 3:1) ist an die interne 1.1V
Spannungsreferenz des ATMega 32u4 angepasst.
Mit Arduino müsste das so aussehen
Spannung des Akkus auslesen
Das Auslesen der Akkuspannung funktioniert nur, wenn der Akku im selben
Moment nicht geladen wird. -> USB-Kabel und DC nicht angeschlossen.
measuredvbat*=4;// Der Spannungsteiler ist im Verhältnis 3:1, der gelesene ADC Wert wird mit 4 multipliziert
6
measuredvbat*=1.1;// mit 1.1V von der Spannungsreferenz multiplizieren
7
measuredvbat/=1024;// durch die ADC Auflösung teilen
8
Serial.print("VBat: ");
9
Serial.println(measuredvbat);
Zustand des CHG Pin auslesen
1
pinMode(7,INPUT);
2
3
if(digitalRead(7)){
4
Serial.println("Akku wird nicht geladen);
5
} else {
6
Serial.println("Akkuwirdgeladen);
7
}
Beachte bitte, dass die Schaltung stark vereinfacht ist.
Nachteile und Verbesserungsideen
Da wir eine Batteriebetriebene Schaltung haben, möchten wir den
Stromverbrauch so tief wie möglich halten. Der Spannungsteiler R1/R2,
den wir für das Messen der Batteriespannung benötigen, ist immer aktiv
und verbraucht Strom. Man könnte nun die Widerstandswerte weiter
erhöhen, z.B. 1M und 3M, so fliesst weniger Strom durch den
Spannungsteiler. Das Problem ist, dass der ADC Eingang des
Mikrocontrollers damit nicht klar kommt. Optimal wäre ein
Gesammtwiderstand von etwa 10K, die 40K in der Schaltung sind schon ein
Kompromiss zwischen Stromverbrauch und Anforderungen des ADC Eingangs.
Eine Lösung dafür wird hier diskutiert:
http://electronics.stackexchange.com/questions/39412/measure-lithium-ion-battery-voltage-thus-remaining-capacity
Der Spannungsteiler ist nur aktiv, wenn man die Batteriespannung messen
will.
Je nach verwendetem Mikrocontroller und restlicher Schaltung kann auf
den LDO verzichtet werden, dies würde den Batterieverbrauch nochmals
vermindern.
Vielen Dank für deine Hilfe!
Also ich möchte die Spannung mit dem ESP8266 auslesen. In dem Fall wäre
die ADC Auflösung auch 1024. Zumindest hab ich das jetzt so gelesen.
Liest du bei deinem Beispielcode auch einen 3,7 Volt Akku ein? Dem
entsprechend müsste ich dann auch die Widerstände vom Spannungsteiler
anpassen oder? Wie könnte man das dann berechnen wenn man das anpassen
müsste?
Und dann noch eine Frage zur Beschaltung vom MAX1555. Im Datenblatt sind
noch ein paar externe Bauteile eingebunden. Sollte man diese nicht auch
mit einbauen oder sind die un relevant?
LG
Alex Black
Alexander B. schrieb:> Sollte man diese nicht auch mit einbauen oder sind die un relevant?
Hmpf. Wenn das Datenblatt vorschreibt, dass das Ding drei
Abblockkondensatoren braucht, dann muss man die natürlich auch
dranpappen …
> Also ich möchte die Spannung mit dem ESP8266 auslesen.
Ich sehe in der Doku zum ESP keinen ADC.
>> Liest du bei deinem Beispielcode auch einen 3,7 Volt Akku ein?
Ja, die Schaltung/Code ist auf einen solchen Akku ausgelegt. Du musst
nichts anpassen.
Ein LIPO Akku den du als "3.7V LIPO" kaufst, hat einen Spannungsverlauf
von 4.2V bis etwa 3V.
Bei 4.2V sollte der ADC Bereich fast komplett ausgeschöpft werden. Bei
der internen Spannungsreferenz des 32u4 sind das 1.1V. Der
Spannungsteiler muss nun so eingestellt werden, dass er aus den 4.2V
eine Spannung minimal kleiner als 1.1V erzeugt. Glücklicherweise ist
mit 4 schnell ein passender Wert gefunden. 4.2V / 4 = 1.05V. Der
Spannungsteiler wird im Verhältnis 3:1 aufgebaut. Über dem "oberen"
Widerstand (R1) fällt eine Spannung von 3*1.05V ab, so bleibt für R2 und
den ADC Eingang noch 1*1.05V.
Kann gut sein, dass der ESP8266 eine andere oder gar keine interne
Spannungsreferenz hat. Sofern er denn überhaupt einen ADC hat?
>> Und dann noch eine Frage zur Beschaltung vom MAX1555. Im Datenblatt sind>> noch ein paar externe Bauteile eingebunden. Sollte man diese nicht auch>> mit einbauen oder sind die un relevant?
Ja unbedingt mit einbauen - ich habe in der Schaltung alle Kondensatoren
weggelassen.
Die ESP12 und ESP7 Module haben einen ADC Eingang.
Die scheinen auch eine interne Spannungsreferenz zu haben, aber welchen
Wert die hat habe ich nicht herausgefunden. 1V oder etwas weniger.
> fällt eine Spannung von 3*1.05V ab, so bleibt für R2 und
den ADC Eingang noch 1*1.05V.
würde 33K und 11K vorschlagen. Das ist dann schon 4 zu 1.
Nicht 3 zu 1...
Man geht von der Gesamtsumme aus und vom Teil der entnehmbaren Spannung
:)
StromTuner
Axel R. schrieb:> würde 33K und 11K vorschlagen
Lieber 330/110 K oder gar 3.3/1.1 M, damit die Batterie weniger
belastet wird. Noch einen kleinen Kondensator dran, der liefert
dann die Ladung, um den ADC-Eingang ausreichend während der
sample-Phase zu versorgen.
Alexander B. schrieb:> Also der ESP8266-12F hat genau einen herausgeführten ADC-Pin.
Dann musst du das gleich schreiben, dass du den benutzt.
ESP8266 ist ein IC (der hat keinen ADC), ESP8266-12F ist ein
Modul, der einen ADC hat. Laut Datenblatt misst er zwischen
0 und 1 V in 1024 Schritten.
Aber das hat mir alles Tante Gugel gesagt …
> Das ist dann schon 4 zu 1.> Nicht 3 zu 1...> Man geht von der Gesamtsumme aus und vom Teil der entnehmbaren Spannung
Danke für den Hinweis, wieder etwas gelernt :)
Google (bzw. das Datenblatt) sagt mir der ESP8266EX IC hat einen 10 bit
ADC.
Naja, das verlinkte Datenblatt des ESP8266 kennt keinen. Wenn es
davon X verschiedene Varianten gibt, dann müsstest du schon von
vornherein den kompletten Namen angeben, damit man sich auch das
ansehen kann, was du wirklich hast.
Aber an sich ist die Sache ja jetzt wohl geklärt.
Ich habe gerade in einem anderen Beitrag gelesen, das der MAX1555 den
Ladevorgang doch nicht automatisch beenden soll.
Beitrag "MAX1555: Automatischer Ladestopp?"
Hier schreibt einer, das ich mit den POK-Pin den Ladevorgang starten
oder beenden kann.
Was stimmt denn nun ? Im Datenblatt steht das irgendwie auch nicht so
eindeutig.
Alexander B. schrieb:> Ich habe gerade in einem anderen Beitrag gelesen, das der MAX1555 den> Ladevorgang doch nicht automatisch beenden soll.
Das stimmt so. Ist ein einfacher Lader, der hält am Ende nur die
Spannung konstant. Aufwändigere Ladeschaltungen schalten nach
Erreichen von 1/10 des Anfangsladestroms ganz ab und dann erst mit
einer Hysterese wieder zu.
Solange du ein tragbares Gerät hast, welches du eine Zeit lang
auflädst und dann sowieso wieder von der externen Spannungsversorgung
trennst, ist das aber ziemlich egal.
> Hier schreibt einer, das ich mit den POK-Pin den Ladevorgang starten> oder beenden kann.
Da POK ein reiner Open-Collector-Ausgang ist, kann das nicht sein.
Alexander B. schrieb:> Oder was meinen die mit "To logic rail"?
Die Versorgungsspannung der Logikbaugruppe, die das Signal auswertet.
Du solltest dich mal mit den Grundlagen eines Open-Drain-Ausgangs
befassen. Dann verstehst du vielleicht auch, wie das alles gemeint
ist. Es ist natürlich nicht Aufgabe eines Datenblatts, derartige
Basics noch detailliert zu erklären.
Alexander B. schrieb:> Ist es eigentlich normal das der Akku so langsam geladen wird bei 2 Ah ?
Naja, was erwartest du von ein paar 100 mA?
Das Ding ist halt ein (kleiner) Längsregler, die Differenz zwischen
der Eingangs- und Akkuspannung muss er verheizen. Dass ein SOT-23
nicht sehr viel Verlustwärme abführen kann, sollte klar sein.
Klar kann man damit auch eine 2-Ah-Zelle laden, aber das hauptsächliche
Anwendungsfeld dieser kleinen ICs dürften sehr viel kleinere Zellen
sein, so um die 500 mAh vielleicht, wie man sie eben typisch in
kleinen Elektronikgeräten (auch Mobiltelefone vor der Welle an
„Smartphones“) findet.
Wenn ich den ESP8266 mit einen Lithium Akku betreiben möchte, sollte die
betriebspannung nicht höher als 3,7 Volt sein laut dem Datenblatt. Wenn
ich den Akku aber komplett voll lade, beträgt die endladespannung 4,2
Volt. Das wäre doch zu viel und der ESP würde irgendwann kaputt gehen
oder?
Hat jemand eine Idee wie man das Problem mit einem Lithium Akku lösen
könnte ?
Jörg W. schrieb:> Alexander B. schrieb:>> Sollte man diese nicht auch mit einbauen oder sind die un relevant?>> Hmpf. Wenn das Datenblatt vorschreibt, dass das Ding drei> Abblockkondensatoren braucht, dann muss man die natürlich auch> dranpappen …>>> Also ich möchte die Spannung mit dem ESP8266 auslesen.>> Ich sehe in der Doku zum ESP keinen ADC.
Das liegt hauptsächlich daran, dass die Doku immer noch Mist ist.
Alexander B. schrieb:> Wenn ich den ESP8266 mit einen Lithium Akku betreiben möchte,> sollte die> betriebspannung nicht höher als 3,7 Volt sein laut dem Datenblatt. Wenn> ich den Akku aber komplett voll lade, beträgt die endladespannung 4,2> Volt. Das wäre doch zu viel und der ESP würde irgendwann kaputt gehen> oder?> Hat jemand eine Idee wie man das Problem mit einem Lithium Akku lösen> könnte ?
Spannungsregler. Aber frag dich mal, warum du bei deinem Projekt alle 5
Minuten auf ein Problem stößt, das du nicht selbst lösen kannst.
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