Forum: Mikrocontroller und Digitale Elektronik TP4056 Ladestatus via MC auslesen


von Jonas G. (9k81g4n3y)


Angehängte Dateien:

Lesenswert?

Ich habe ein Projekt mit einem Atmel328p, dieser läuft mit 3.3V. 
Betrieben wird das ganze mit einer LiPo Zelle.

Auf der Platine sitzt auch ein TP4056, ich würde gerne wissen, ob gerade 
das USB Kabel angeschlossen ist und ob der Charger IC (TP4056) gerade 
den LiPo läd oder dieser voll geladen ist.

Der TP4056 hat jeweils ein Open Drain Status Ausgang, für Laden und 
Vollgeladen.

Ich dachte ich nutze einen einfachen Spannungsteiler um von 5V auf 3.3V 
zu kommen, damit ich nur drei Eingänge abfragen muss, ob diese gerade 
High oder Low sind und kann somit den Status des TP4056 auslesen.

Vermutlich benötige ich den Status des USB Ports gar nicht, da entweder 
der CHRG oder STDBY Pin ein HIGH ausgibt und ich somit den Status 
bekomme.

Daher meine Frage, bin ich mit dem Spannungsteiler auf dem Holzweg? und 
sollte vielleicht einfach ein Charger IC mit i2c nutzen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Open Drain bedeutet, das der TP4056 diese Ausgänge im aktiven Zustand 
auf Masse zieht. Spannungsteiler gegen Masse sind also nutzlos. Du 
kannst hingegen einfach die Ports des MC mit den internen Pullups auf 
high ziehen, der TP4056 zieht sie dann auf Masse, wenn aktiv.

von Jonas G. (9k81g4n3y)


Lesenswert?

Aber wenn die Status Ports vom TP4056 nicht aktiv sind, liegt doch 5V an 
und dann zieht es den IO Port am Atmel auf HIGH über den 
Spannungsteiler?

von was (Gast)


Lesenswert?

Jonas G. schrieb:
> Aber wenn die Status Ports vom TP4056 nicht aktiv sind, liegt doch 5V an

Woraus schließt du das? Wie gesagt, Open Drain heißt:

Nicht aktiv -> Ausgang floatet
Aktiv -> Ausgang feste auf GND

Mit einem zusätzlichen (µC-internen) Pullup auf z.B. 3,3V hat man dann

Nicht aktiv -> Ausgang über Pullup auf 3,3V
Aktiv -> Ausgang feste auf GND

Das kann man dann schön auswerten.

von Jörg R. (solar77)


Lesenswert?

Jonas G. schrieb:
> Aber wenn die Status Ports vom TP4056 nicht aktiv sind, liegt doch 5V an
> und dann zieht es den IO Port am Atmel auf HIGH über den
> Spannungsteiler?

Nein, Matthias hat es ja erklärt.
Wenn die Ausgänge nicht aktiv sind hängt der Spannungsteiler quasi offen 
in der Luft.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Schau dir nochmal die Applikation im Datenblatt an. Die LED sind über 
Vorwiderstand auf +5V gelegt und leuchten nicht, wenn die Ausgänge des 
TP4056 inaktiv sind. Wird ein Ausgang aktiv, zieht er ihn auf low und 
die LED leuchtet.
Das bedeutet Open Drain. In der bipolaren Transistorwelt auch 'Open 
Collector' genannt.
Es ist also extrem einfach, so einen Ausgang mit dem MC zu verbinden - 
entweder mit einem externen Pullup auf 3,3V oder eben mit dem internen 
des Mega328. Spannungsteiler sind unnötig, da so ein Ausgang kein Plus 
zur Verfügung stellt, sondern nur auf Masse ziehen kann.

: Bearbeitet durch User
von Jonas G. (9k81g4n3y)


Lesenswert?

Klasse, vielen Dank euch für die Erklärungen - nun ich ich wieder 
schlauer geworden.

Dann werde ich die internen Pullups nutzen und spare mir wieder 
Bauteile.

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.