Forum: Analoge Elektronik und Schaltungstechnik Beschaltung MAX1555


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
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

: Verschoben durch Moderator
von ef (Gast)


Bewertung
2 lesenswert
nicht lesenswert
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.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
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

von ef (Gast)


Bewertung
1 lesenswert
nicht lesenswert
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.
1
AnalogReference(INTERNAL); // Interene 1.1V Spannungsreferenz aktivieren
2
pinMode(A0, INPUT);
3
   
4
float measuredvbat = analogRead(A0);
5
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("Akku wird geladen);
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.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
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

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


Bewertung
0 lesenswert
nicht lesenswert
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.

von ef (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>> 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.

von ef (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Axel R. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> 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

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


Bewertung
0 lesenswert
nicht lesenswert
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.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
Also der ESP8266-12F hat genau einen herausgeführten ADC-Pin.

Weiss jemand jetzt genau, was die ESP8266 für eine interne 
Spannungsreferenz haben?

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


Bewertung
0 lesenswert
nicht lesenswert
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 …

von ef (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> 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.

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


Bewertung
0 lesenswert
nicht lesenswert
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.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
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.

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


Bewertung
1 lesenswert
nicht lesenswert
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.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
> Da POK ein reiner Open-Collector-Ausgang ist, kann das nicht sein.

Was macht der POK-Pin aber dann?

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


Bewertung
1 lesenswert
nicht lesenswert
Alexander B. schrieb:
> Was macht der POK-Pin aber dann?

RTFDatasheet?
1
The MAX1551 includes a POK output to indicate when
2
input power is present. If either charging source is
3
active, POK goes low. The MAX1555 instead features a
4
CHG output to indicate charging status.

Gleich auf der ersten Seite …

Wann /CHG abschaltet, steht in den Daten auf der zweiten Seite.

Anders ausgedrückt: der MAX1555 hat kein POK.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
Wo schließe ich den 100 ohm widerstand dann an? Oder was meinen die mit 
"To logic rail"?

LG
Alex Black

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


Bewertung
0 lesenswert
nicht lesenswert
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.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
Ist es eigentlich normal das der Akku so langsam geladen wird bei 2 Ah ?

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


Bewertung
0 lesenswert
nicht lesenswert
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.

von Alexander B. (alexander95)


Bewertung
0 lesenswert
nicht lesenswert
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 ?

von Sascha_ (Gast)


Bewertung
1 lesenswert
nicht lesenswert
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.

von Sascha_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

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

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.