EDIT: Documentation
This commit is contained in:
parent
3057968c85
commit
561cbade1f
|
|
@ -15,6 +15,9 @@
|
|||
- [Akkuschutz](#akkuschutz)
|
||||
- [Fuel Gauge](#fuel-gauge)
|
||||
- [CR1220](#cr1220)
|
||||
- [Energiebilanz Li-Ion-Akku](#energiebilanz-li-ion-akku)
|
||||
- [Ausgangsdaten](#ausgangsdaten)
|
||||
- [Verbrauchsrechnung](#verbrauchsrechnung)
|
||||
- [Energiewandlung](#energiewandlung)
|
||||
- [Lader](#lader)
|
||||
- [3.3V Buck-Boost-Wandler (DC/DC-Wandler)](#33v-buck-boost-wandler-dcdc-wandler)
|
||||
|
|
@ -94,10 +97,38 @@ Damit das Gerät auch bei ausschließlich gesteckter Debug-Verbindung funktionie
|
|||
Als Akku sind zwei parallelgeschaltete 18650-Zellen vorgesehen. Diese werden mittels Nickelstreifen verschweißt, mit einem NTC-Temperatursensor versehen und eingeschrumpft. Die Verbindung zur Schaltung ist vierpolig ausgeführt, da die [Akkuschutzschaltung](#akkuschutz) auf der Hauptplatine (PCB) und nicht im Akku selbst integriert ist. Würde die Schutzschaltung die Minus-Verbindung trennen, wäre der NTC ohne definiertes Potenzial (floatend). Wenn in diesem Zustand eine externe Versorgung angeschlossen wird, würde der [Lader](#lader) den NTC nicht erkennen und den Ladevorgang verweigern. Die Verbindung ist daher als `BAT+`, `BAT-`, `NTC` und `GND` ausgeführt.
|
||||
|
||||
#### Akkuschutz
|
||||
Als Akkuschutz wird ein **FM2113** verbaut. Dieser steuert zwei N-Kanal-MOSFETs (für Laden und Entladen), die in einer Common-Drain-Schaltung zwischen `BAT-` und `GND` platziert sind. Der Baustein schützt vor *Überladung*, *Tiefentladung* und *Überstrom*.
|
||||
Als Akkuschutz habe ich zuerst an den *FM2113* gedacht. Bei der Auslegung der N-FETs wurde dann aber klar, dass er nicht geeignet ist. Das Problem dabei ist, dass er R<sub>DSON</sub> zur Strommessung benutzt. Um ein Auslösen der Überstromsicherung im Worts Case kommen bei 3A Standardkandidaten wie der *AO3400A* oder de *MDD2302* nicht in Frage, sie sind leider nicht genügend Niederohmig. Der *AO3400A* kann die Wärme bei 3A nicht abführen. Der *MDD2302* würde thermisch passen. Bei 2.5V hat er einen maximalen R<sub>DSON</sub> von 35mΩ, die Verlustleistung bei 3A beträgt also
|
||||
$$
|
||||
P=R \cdot I^2 = 35\text{mΩ} \cdot (3\text{A})^2 = 315\text{mW}
|
||||
$$
|
||||
was bei 100K/W thermischen Widerstand kein Problem darstellt. Allerdings beträgt der Spannungsabfall
|
||||
$$
|
||||
\Delta U=R \cdot I = 35\text{mΩ} \cdot 3 \text{A} = 105\text{mV}
|
||||
$$
|
||||
Da in der Schutzschaltung 2 FETs in Common-Drain-Schaltung vorhanden sind ergibt das total 210mV. Laut Datenblatt kann der *FM2113* bereits bei 120mV einen Überstrom erkennen.
|
||||
Bessere FETs sind selten, grösser und/oder teuerer. Bei meiner Suche bin ich dann über den **XB4908A** von XySemi gestossen, eine LiPo-Protection-IC mit integrierten FETs. Der Baustein schützt vor *Überladung*, *Tiefentladung* und *Überstrom*. Die wichtigsten Daten will ich hier aufführen, da der Chip wohl nicht sehr bekannt sein dürfte:
|
||||
|Parameter|Symbol|Wert|
|
||||
|---|---|---|
|
||||
|Überladespannungsauslösung|OCV|4.30V|
|
||||
|Überladespannungsauflösung|OCRV|4.10V|
|
||||
|Tiefentladeauslösung|ODV|2.4V|
|
||||
|Tiefentladeauflösung|ODRV|3V|
|
||||
|Strombedarf im Betrieb|I<sub>OPE</sub>|typ. 3.3μA|
|
||||
|Strombedarf im Powerdown|I<sub>PD</sub>|typ. 1.8μA|
|
||||
|Widerstand|R<sub>SS(on)</sub>|typ. 13.5mΩ|
|
||||
|Überstromabschaltung entladen|I<sub>IOV1</sub>|min. 6A|
|
||||
|Überstromabschaltung laden|I<sub>ROV1</sub>|min. 4A|
|
||||
|Thermischer Widerstand zur Umgebung|θ<sub>JC</sub>|100K/W|
|
||||
|
||||
Dieser IC ist also passend für diese Anwendung. Der R<sub>SS(on)</sub> (SS, da da zwei nFETs in Common-Drain-Schaltung drin sind, also der Widerstand zwischen den beiden Sourcen) ist leider nur als typischer Wert angegeben. Für die thermische Abschätzung gehe ich also daher von 20mΩ aus. Damit erhalte ich
|
||||
$$
|
||||
P=R \cdot I^2 = 20\text{mΩ} \cdot (3\text{A})^2 = 180\text{mW} \\
|
||||
\Delta T = P \cdot \Theta_{JC} = 180\text{mW} \cdot 100\text{K/W} = 18\text{K}
|
||||
$$
|
||||
Eine Erwärmung um 18K bei maximalem Ladestrom sollte absolut kein Problem sein.
|
||||
|
||||
#### Fuel Gauge
|
||||
Als Fuel Gauge wird der **BQ27441-G1** von Texas Instruments eingesetzt. Der ursprünglich vorgesehene **BQ27427** ist nur für einen Dauerstrom von 2A ausgelegt, womit die vollen Möglichkeiten des [Laders](#lader) und des [Li-Ion-Akkus](#li-ion-akku) nicht ausgenutzt werden könnten.
|
||||
Als Fuel Gauge wird der **BQ27441-G1** von Texas Instruments eingesetzt. Der ursprünglich vorgesehene *BQ27427* ist nur für einen Dauerstrom von 2A ausgelegt, womit die vollen Möglichkeiten des [Laders](#lader) und des [Li-Ion-Akkus](#li-ion-akku) nicht ausgenutzt werden könnten.
|
||||
Zur Strommessung ist ein `0.01Ω` Shunt-Widerstand vorgesehen. Hierbei ist vor allem die Temperaturstabilität maßgeblich, da der genaue Widerstandswert im BQ27221 konfiguriert/kalibriert werden kann.
|
||||
Die Verlustleistung am Widerstand ist relativ gering:
|
||||
$$
|
||||
|
|
@ -119,13 +150,49 @@ stateDiagram-v2
|
|||
note right of Nachlauf
|
||||
DC/DC wird von der RTC regelmässig gestartet um die Temperatur zu übermitteln.
|
||||
end note
|
||||
note right of Tiefschlaf
|
||||
note left of Tiefschlaf
|
||||
DC/DC ausgeschaltet
|
||||
end note
|
||||
```
|
||||
#### CR1220
|
||||
Eine CR1220-Knopfzelle dient als Backup-Versorgung für die RTC. Die Batterie wird im Normalfall für sehr lange Zeit (>10 Jahre) ausreichen, da die RTC primär vom [Li-Ion-Akku](#li-ion-akku) versorgt wird, solange die Schutzschaltung nicht ausgelöst hat.
|
||||
|
||||
### Energiebilanz Li-Ion-Akku
|
||||
Die Energiebilanz im Betrieb kann erst wirklich bestimmt werden, wenn die Schaltung aufgebaut ist. Um die Auslegung zu prüfen habe ich aber überschlagen, wie viel die Schaltung in einem Deep-Power-Down-Modus verbraucht. Die Strategie ist, bei unter 3V in einen sicheren Deep-Power-Down-Modus zu gehen, um eine Tiefentladung des Akkus möglichst lange zu verhindern.
|
||||
Sollte Entladung des Akkus erkannt werden, so wird der Lader in den Ship-Zustand geschaltet und die Fuel Gauge in den Shutdown. Der Lader wird durch das Einstecken einer externen Versorgung automatisch wieder geweckt. Die Fuel Gauge muss über den GP-Pin vom Mikrocontroller geweckt werden.
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> Betrieb
|
||||
Betrieb --> DeepPowerDown: Akkuspannung < 3V
|
||||
DeepPowerDown --> Aufwachen: Stecken einer externen Energiequelle
|
||||
Aufwachen --> Betrieb: Übergang durch Mikrocontroller
|
||||
note right of DeepPowerDown
|
||||
Microcontroller schaltet Fuel Gauge und Lader in niedrigen Verbrauch, dadurch wird Speisung gekappt
|
||||
end note
|
||||
note left of Aufwachen
|
||||
Mikrocontroller muss Fuel Gauge wecken
|
||||
end note
|
||||
```
|
||||
|
||||
Vorgesehen sind 2x3200mAh-18650-Zellen parallel. Zur Sicherheit rechne ich mit 2x2600Ah, falls doch einmal kleinere Zellen eingesetzt werden.
|
||||
|
||||
#### Ausgangsdaten
|
||||
|Wert|Kapazität|
|
||||
|---|---:|
|
||||
|Nennkapazität|5'200mAh|
|
||||
|Alterung, Rest 80%|4'106mAh|
|
||||
|Restkapazität unter 3V bis zur kritischen Spannung von 2.5V: 10%|**41mAh**|
|
||||
#### Verbrauchsrechnung
|
||||
Beim Verbrauch fliessen die Worst-Case (höchsten) Angaben ein:
|
||||
|Verbraucher|Verbrauch|
|
||||
|---|---:|
|
||||
|Schutzschaltung XB4908A|6μA|
|
||||
|Fuel Gauge BQ27441-G1 (im Datenblatt steht nur der typische Verbrauch von 0.6μA, Worst-Case geschätzt)|1μA|
|
||||
|Lader BQ25672(0.7μA laut Datenblatt, aufgerunden|1μA|
|
||||
|**total**|**8μA**|
|
||||
|
||||
In der Worst-Case-Betrachtung haben wir also 41mAh zur Verfügung bei einem Verbrauch von 8uA, die Restkapazität reicht folglich für $\frac{41\text{mAh}}{8\text{uA}}=5125\text{h}$, bis der Akku in einen chemisch kritischen Zustand kommt. Das entspricht 213 Tagen oder fast sieben Monate. Die Selbstentladung ist hierbei nicht eingerechnet, trotzdem ist dies ein Wert, er mir absolut keine Bauchschmerzen bereitet, vor allem, da dies ja eine absolute Worst-Case-Berechnung ist.
|
||||
|
||||
### Energiewandlung
|
||||
#### Lader
|
||||
Als Ladechip ist der **BQ25672** vorgesehen. Dieser bietet einige Funktionen, die für das Projekt besonders interessant sind:
|
||||
|
|
|
|||
Loading…
Reference in New Issue