Kritik am Stromkreisdesign meines Datenloggers

Ich lege mein erstes vollständiges Gerät, einen ziemlich einfachen Sensor-Datenlogger, mit diesen Spezifikationen im Hinterkopf:

  • Ich verwende Mikrocontroller und Sensor bei 3,3 V, wobei die Last zwischen 10 mA und 400 mA variiert
  • Gerät wird von einem wiederaufladbaren Lithium-Ionen-Akku (maximal 4,2 V) betrieben
  • Akku geladen über USB (5V)
  • Das Ein-/Ausschalten des Geräts wird durch Drücken der Taste oder bei Unterspannungszustand der Batterie (@ 3,2 V) umgeschaltet.

Das folgende Schema zeigt den leistungsbezogenen Abschnitt meiner bisherigen Schaltung. Beachten Sie, dass Mikrocontroller und Sensor hier NICHT gezeigt werden.

( BEARBEITEN : Schema überarbeitet basierend auf den Vorschlägen von @Russell und @Madmanguruman.)

Leistungsteil

Etiketten: Beschreibungen einiger der Etiketten, die ich im obigen schematischen Bild verwendet habe:

  • VCC : Spannung (5 V) an der USB-Stromquelle, die zum Laden des Akkus verwendet wird
  • 3,3 V : Spannung, mit der Mikrocontroller, Sensor usw. betrieben werden
  • UC-PIN[1-8] : Verschiedene Pins des AVR-Mikrocontrollers, einschließlich ADC-fähiger Pin
  • REG-ENABLE : Aktivierungs-/Deaktivierungssignal, das vom Ausgangspin des STM6601-IC an den Aktivierungspin des TPS63001 gesendet wird.

Kurze Zusammenfassung meines Gesamtansatzes: Aus der Versorgung der Batterie liefert ein Buck-Boost-Regler 3,3 V für den uC / Sensor. Diese 3,3-V-Versorgung wird von einem spezialisierten Controller-IC aktiviert/deaktiviert (PwrON vs. PwrOFF), der entweder auf Drucktastenereignisse oder auf Batterieunterspannung überwacht. USB-Strom wird verwendet, um die Batterie aufzuladen (deren Spannung regelmäßig von einem ADC-Pin am uC gemessen wird). Das ist es.

Oder genauer gesagt, wie Sie oben sehen können, verwende ich diese vier Komponenten unten (mit ihren Datenblatt-Links):

  1. MCP73871 : Batterielade-IC, der einen ConstantCurrent-then-ConstantVoltage-Ansatz zum Laden des Li-Ions verwendet. Ich habe die Pins am MCP73871 eingestellt, um das Laden mit USB (5 V) mit 500 mA Strom zu versorgen.
  2. TPS63001 : Buck-Boost-Regler, versorgt von der Batterie und mit einem festen Ausgang von 3,3 V (Außerdem habe ich den "Energiesparmodus" auf diesem Regler aktiviert, um eine höhere Effizienz für den Fall mit geringerer Last meines Geräts zu ermöglichen)
  3. STM6601 : Drucktastenbasierter EIN/AUS-Controller-IC

    • Wenn der STM6601 zunächst erkennt, dass der Taster eine Zeit lang gedrückt gehalten wird, sendet er ein HIGH-Signal aus, das mit dem TPS63001 verbunden wird, wodurch dieser aktiviert und das Gerät zum Leben erweckt wird.
    • Wenn der STM6601 erkennt, dass entweder die Taste erneut gehalten wird ODER dass die Batteriespannung unter einen Schwellenwert von 3,2 V fällt, sendet der STM6601 automatisch ein LOW und deaktiviert den Regler.
  4. Lastschalter ( FPF1008 ) : Steuert den Strom, der von Batterie V+ in einen Spannungsteiler fließt
    • Der Teiler wird verwendet, um die Batteriespannung auf den maximal zulässigen Wert von 3,3 V am ADC-Pin des Mikrocontrollers zu senken.
    • Der ADC nimmt periodisch Batteriespannungsmessungen vor, die der Kurve des Entladepegels zugeordnet sind, um dem Gerätebenutzer eine grobe Anzeige zu geben.

MEINE FRAGE: Haben Sie Vorschläge zu diesem Layout und Ansatz?

Ich bin an Ihrem Feedback interessiert. Da ich keine Erfahrung mit professionellen Layouts habe, gehe ich davon aus, dass mindestens ein paar Dinge "falsch" sind! Oder Dinge, die verbessert werden könnten; Daher bin ich ehrlich gesagt offen für alle Vorschläge, von denen ich lernen kann, ob klein oder groß, selbst wenn sie erfordern, dass ich die Schaltung überdenken / neu aufbauen muss.

Eine Sache, die im Schaltplan fehlt, sind refdes (Referenzbezeichner). Es ist schwer, Dinge zu besprechen, wenn man sie nicht benennen kann. Außerdem weiß ich nicht, welche EDA-Software Sie verwenden, aber Sie benötigen ein Refdes, um vom Schaltplan auf die Leiterplatte zu übertragen. Das Refdes stellt die Verbindung zwischen einem Symbol und dem physischen Teil her.
@stevenvh: Aktualisiert mit diesmal hinzugefügten Refdes-Labels!
Beachten Sie, dass es nicht zulässig ist, einfach 500 mA vom USB-VBUS zu ziehen. Sie müssen dies zuerst aushandeln, und es ist möglicherweise in einigen Umgebungen nicht verfügbar (z. B. Topologien mit busbetriebenem Hub).
@BenVoigt: Ich habe das auch irgendwo gelesen. Für die Lösung, was genau meinst du mit "verhandeln"? Der FT232, den ich auf demselben Board verwende, benötigt nur viel weniger als die 500 mA, aber die Batterieladerate würde von den 500 mA profitieren, daher wäre ich gespannt auf eine Lösung.
@boardbite: Sehen Sie sich diese Frage an und sehen Sie sich Seite 23 des FTDI-Datenblatts an, auf dem der PWREN#Pin beschrieben wird, mit dem Ihre Schaltung informiert wird, wenn 500 mA verfügbar sind.
@BenVoigt: Klingt nach einem ziemlich nicht trivialen Prozess, obwohl ich den Vorteil habe, einen FT232 an Bord zu haben, was laut dieser Frageseite den Aufzählungsprozess ein wenig vereinfacht. Schön, dass Sie auf dieses Problem hingewiesen haben.
@boardbite - Während es "unangemessen" ist, ohne Verhandlung mehr als 100 mA aus einem USB-Anschluss zu ziehen, beschweren sich in Wirklichkeit sehr, sehr wenige USB-Hosts (zumindest in modernen Computern), wenn Sie zu viel Strom von den USB-Schnittstellen ziehen. Wenn dieses Projekt nur für Ihren eigenen Gebrauch bestimmt ist, würde ich mir daher keine Gedanken über die Aushandlung der USB-Stromversorgung machen. Wenn Sie jedoch planen, dieses Datenlogger-Widget zu verkaufen, ist eine ordnungsgemäße Verhandlung der USB-Stromversorgung wichtig.

Antworten (2)

Sieht gut aus. Keine offensichtlichen "Funnies" auf einen schnellen Blick.

Sie haben den Ladeabschluss = typisch 10 mA eingestellt (PROG3 = 100 k an Masse).
Dies maximiert Ihre Batteriekapazität auf Kosten einer verringerten Zykluslebensdauer. Wenn Sie keine absolute Maximalkapazität wünschen, würde ich die 100-MA-Stromabschlussoption wählen (PROG3 = 10k)

500 mA Ladestrom sind in Ordnung, solange die Batterie es verträgt.
LiIon ermöglicht normalerweise eine maximale Laderate von 0,5 C bis 1 C (abhängig von den Herstellerspezifikationen, einige wenige höher. LiPo ist normalerweise höher. Dies sollte also für 1000-mAh-Akkus und wahrscheinlich für 500 mAh in Ordnung sein, aber überprüfen Sie das Batteriedatenblatt.

Buck-Boost haben oft einen hässlichen Effizienzabfall um den Boost-zu-Buck-Übergangspunkt und TPS63001 ist einer davon. Hauptsächlich bei niedrigem Iout und nicht sehr schlecht in Bezug auf die Leistung, aber es kann sich lohnen, sich dessen bewusst zu sein.


Hinzugefügt:

Achten Sie darauf, einen intern geschützten Akku zu verwenden.
Während Sie hoffen, "Entlüftung mit Flamme"-Ereignisse zu vermeiden, ist es ein Bonus, wenn Sie die Batterie so lokalisieren können, dass sie "einschmelzen" kann, ohne sich selbst oder den Bereich, in dem sie untergebracht ist, zu zerstören. Obwohl ich viel darüber gelesen habe LiIon- und LiPo-Zerstörungsereignisse Ich habe noch nie eines gesehen und niemanden getroffen, der eines persönlich erlebt hat. Prozentual gesehen ist die Inzidenz wahrscheinlich sehr gering. Ich habe einmal versucht, einige LiPo-Zellen, die ich hier habe, dazu zu bringen, sich selbst zu zerstören, indem ich grobe Überspannung anlegte - ohne Erfolg.

Der Lade-IC scheint in 4.1, 4.2, 4.35 zu kommen. 4,4-Volt-Versionen.
Wenn Sie die 4,1-V-Version verwenden, verringern Sie die Batteriekapazität, erhöhen die Zykluslebensdauer - vielleicht erheblich - und verschaffen sich mehr Sicherheitsspielraum. Die folgende Tabelle stammt von der Website der Battry University (in diesem Fall kopiert aus dem Stack-Austausch „Aufladen beeinflusst die Batterielebensdauer“ , was ebenfalls nützlich sein kann. Dies deutet auf eine endgültige Kapazität von etwa 87 % des maximal möglichen Werts hin, wenn Vmax nur um 0,1 Volt gesenkt wird! Beeinflussen Auf der Batterie kann die mechanische Belastung erheblich sein.

Wenn Sie Wert auf eine extrem lange Batterielebensdauer legen, sollten Sie die Verwendung einer LiFePO4-Batterie in Betracht ziehen. Dieser Lade-IC wird es nicht aufnehmen. Vmax beträgt 3,6 V, die meiste Energie wird im Bereich von 3,0 bis 3,3 V geliefert, sodass Sie den größten Teil der Batterielebensdauer aufladen müssen, um eine Versorgung mit 3,3 V zu erhalten.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie Lithium-Ionen verwenden, könnten Sie die Vorzüge der Verwendung eines linearen LDO-Reglers für den 3V3 in Betracht ziehen. Dies bedeutet, dass Sie die Energie unter etwa 3,4 V "verschwenden", was etwa 75 % der Kapazität bei einer Rate von 2 C und mehr als 90 % bei einer Rate von 1 C entspricht. Wenn Sie eine 1000-mAh-Batterie verwenden, sind 400 mA = 0,4 ° C, und Sie würden mit einem Linearregler 90 % + der Batteriekapazität erhalten. Hier sind einige "typische" Kurven, die mit Temperatur, Last und den tatsächlich in Ihrem Fall verwendeten Zellen verglichen werden müssen. Bei 4 V in einem Linearregler beträgt der Wirkungsgrad 3,3/4 = 82,5 % und bei der mittleren niedrigeren Last von etwa 3,7 V beträgt der Wirkungsgrad 3,3/3,7 ~+ 90 %. Ihr Buck-Boost ist im gesamten Batteriebereich möglicherweise nicht effizienter. LiIon nicht unter 3,3 V zu entladen, wird seine Lebensdauer erheblich verbessern. WENNSie können den Kapazitätsverlust durch die Verwendung von Vmax = 4,1 V beim Laden tolerieren, und mit einem linearen LDO-Regler erhalten Sie eine sehr langlebige Batterie ohne Probleme mit dem Rauschen des Schaltreglers. Die Gesamtbatteriekosten werden für eine gegebene Kapazität höher sein, aber die Batterielebensdauerkosten können aufgrund der langen Zykluslebensdauer höher sein. Mit LiIon müssen Sie immer noch mit der Kalenderlebensdauer kämpfen - der Akku "alt" einfach, selbst wenn er wenig benutzt wird. Die unten stehende Kurve wurde von „ When to stop drain “ kopiert – was ebenfalls lesenswert sein kann.

Geben Sie hier die Bildbeschreibung ein

Möglicherweise möchten Sie einen Widerstandsteiler von Vin zum VPCC-Pin verwenden, um eine Abschaltung bei niedrigem Vin zu ermöglichen. Dies stellt den niedrigsten Vin ein, der toleriert wird. (Derzeit an Vin geschnallt, wodurch es deaktiviert wird. Dies ist eine gültige Option). Kann in Ihrer Anwendung nicht nützlich sein.

Sie haben derzeit einen direkten thermischen Eingang der Batterie in Höhe von 5 P$ - was völlig gültig ist. Stellen Sie jedoch sicher, dass die verwendete Batterie einen 10k-Thermistor verwendet (wie es die meisten tun) und keinen anderen Wert (wie es passieren kann), und überlegen Sie, ob Sie den gültigen thermischen Bereich für Ihre Anwendung anpassen möchten, indem Sie die Serie R in die thermische Sense-Leitung einfügen (abgedeckt in Datenblatt).

10K-Vorschlag eingebaut. Einen schnellen realen Austausch auf meinem Board durchführen, um den Ladezyklus zu testen; Ich denke, es wird auch den zusätzlichen Vorteil für den Endbenutzer haben, dass das Aufladen der Batterie schneller als "abgeschlossen" erklärt wird. Beim TPS63001 ist der Effizienzeinbruch am Übergang tatsächlich vorhanden, wenn man sich die Kurven ansieht, obwohl er insbesondere für den Stromsparmodus (gegenüber dem Dauerstrommodus) weniger ausgeprägt zu sein scheint.
Danke für die neuen Kommentare! (#1) Habe tatsächlich sichergestellt, dass die Packung einen internen Schutz hat. (#2) Ich mag die Idee des MCP73871 mit 4,1-V-Cutoff, um die Anzahl der Zyklen wie von Ihnen vorgeschlagen zu erhöhen und auch die Ladezeit zu verkürzen, da nach 4 V das Fast-Plateau erreicht wird. Außerdem habe ich einen Test zum Einstellen von 100 durchgeführt mA Stromabschluss letzte Nacht und die Endspannung der Batterie betrug nur 4,05 V, also denke ich, dass 4,1 Maximum in jedem Fall ausreichend ist. (#3) Ich habe gerade die obige Schaltung mit dem VPCC-Teilervorschlag aktualisiert. Ich habe 100K und 270K verwendet, was komfortable 4,5 Volt als untere Schwelle für den USB VCC einstellt.
(Die obigen LDO-Berechnungen zum Spannungsfenster sind sinnvoll, aber ich recherchiere etwas über die Option des LDO-Reglers und werde dies gegebenenfalls kommentieren.)

Die Buck-Boost-Schaltung führt aufgrund der Tatsache, dass es sich um einen Schaltregler handelt, zu einer gewissen Welligkeit der 3,3-V-Versorgung. Wenn die 3,3-V-Versorgung blitzsauber sein soll (wenn sie beispielsweise als ADC-Referenz verwendet werden soll), benötigen Sie möglicherweise einen separaten LC-Filter, um sie zu glätten. (400 mA sind für einen linearen Nachregler schwer zu tragen).

Möglicherweise möchten Sie eine Picofuse in Reihe mit der positiven Batteriespeisung in Betracht ziehen, nur für den Fall, dass etwas katastrophal schief geht (eine kurzgeschlossene Batterie versorgt die Logik nicht mit Strom, um die Temperatur zu erfassen).

Ich gehe davon aus, dass der Batteriekopf eine versehentliche Umkehrung von + und - verhindert.

Sie haben Recht; Die Polarität der Stromversorgung wird tatsächlich vom Stecker übernommen (die Idee ist, dass das Gerät eine einmalig installierte Batterie hat und das ist alles). Die 3,3 V werden hier nicht als Präzisionsreferenz verwendet, aber ich werde die Idee des LC-Filters trotzdem in Betracht ziehen, da ich regelmäßig ADC-Messungen der Batteriespannung mit dem ADC des AVR durchführe (obwohl ich möglicherweise die interne Referenz verwenden muss; muss). sehen). Ich habe die Sicherung hinzugefügt und werde das schematische Bild oben aktualisieren. Danke!