Compare commits
2 Commits
67c72b6c9f
...
177ed5ed57
| Author | SHA1 | Date |
|---|---|---|
|
|
177ed5ed57 | |
|
|
7c53764696 |
|
|
@ -1,320 +1,485 @@
|
|||
# Energieversorgung
|
||||
# Hardware-Dokumentation: Energieversorgung
|
||||
|
||||
## Inhaltsverzeichnis
|
||||
|
||||
<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} -->
|
||||
|
||||
<!-- code_chunk_output -->
|
||||
|
||||
- [Energieversorgung](#energieversorgung)
|
||||
- [Hardware-Dokumentation: Energieversorgung](#hardware-dokumentation-energieversorgung)
|
||||
- [Inhaltsverzeichnis](#inhaltsverzeichnis)
|
||||
- [Übersicht](#übersicht)
|
||||
- [Primäre Energiequellen](#primäre-energiequellen)
|
||||
- [Interne Spannungsversorgungen](#interne-spannungsversorgungen)
|
||||
- [Systemarchitektur](#systemarchitektur)
|
||||
- [Detailbeschreibung](#detailbeschreibung)
|
||||
- [Externe Quellen](#externe-quellen)
|
||||
- [USB-C Port](#usb-c-port)
|
||||
- [Debug Port](#debug-port)
|
||||
- [Batterien](#batterien)
|
||||
- [Externe Energiequellen](#externe-energiequellen)
|
||||
- [USB-C-Anschluss](#usb-c-anschluss)
|
||||
- [Debug-Anschluss](#debug-anschluss)
|
||||
- [Batteriesystem](#batteriesystem)
|
||||
- [Li-Ion-Akku](#li-ion-akku)
|
||||
- [Akkuschutz](#akkuschutz)
|
||||
- [Akkuschutzschaltung](#akkuschutzschaltung)
|
||||
- [Fuel Gauge](#fuel-gauge)
|
||||
- [CR1220](#cr1220)
|
||||
- [Energiebilanz Li-Ion-Akku](#energiebilanz-li-ion-akku)
|
||||
- [Backup-Batterie (CR1220)](#backup-batterie-cr1220)
|
||||
- [Energiebilanzierung](#energiebilanzierung)
|
||||
- [Ausgangsdaten](#ausgangsdaten)
|
||||
- [Verbrauchsrechnung](#verbrauchsrechnung)
|
||||
- [Energiewandlung](#energiewandlung)
|
||||
- [Lader](#lader)
|
||||
- [3.3V Buck-Boost-Wandler (DC/DC-Wandler)](#33v-buck-boost-wandler-dcdc-wandler)
|
||||
- [SD Schalter](#sd-schalter)
|
||||
- [3.3V LDO](#33v-ldo)
|
||||
- [Power-Mux](#power-mux)
|
||||
- [Dimensionierungen](#dimensionierungen)
|
||||
- [N-FETs](#n-fets)
|
||||
- [Datenblätter](#datenblätter)
|
||||
- [Verbrauchsanalyse](#verbrauchsanalyse)
|
||||
- [Spannungswandlung](#spannungswandlung)
|
||||
- [Power-Multiplexer (Externe Quellen)](#power-multiplexer-externe-quellen)
|
||||
- [Ladeschaltung](#ladeschaltung)
|
||||
- [Buck-Boost-Wandler (3,3 V)](#buck-boost-wandler-33-v)
|
||||
- [SD-Karten-Schalter](#sd-karten-schalter)
|
||||
- [Low-Dropout-Regulator (3,3 V)](#low-dropout-regulator-33-v)
|
||||
- [VBackup-Multiplexer](#vbackup-multiplexer)
|
||||
- [Bauteilauslegung](#bauteilauslegung)
|
||||
- [N-Kanal-MOSFETs](#n-kanal-mosfets)
|
||||
- [P-Kanal-MOSFETs](#p-kanal-mosfets)
|
||||
- [Referenzen und Datenblätter](#referenzen-und-datenblätter)
|
||||
- [Energiemanagement-ICs](#energiemanagement-ics)
|
||||
- [USB-Erkennung](#usb-erkennung)
|
||||
- [Spannungsregler](#spannungsregler)
|
||||
- [Diskrete Halbleiter](#diskrete-halbleiter)
|
||||
|
||||
<!-- /code_chunk_output -->
|
||||
|
||||
|
||||
## Übersicht
|
||||
Die Energieversorgung des Geräts besteht aus drei Hauptkomponenten:
|
||||
- Externe Energieversorgung (USB, Debug-Stecker)
|
||||
- Interner 1S LiPo/LiIon-Akku
|
||||
- Interne Knopfzelle (CR1220)
|
||||
|
||||
Aus diesen Quellen werden mehrere interne Spannungsversorgungen erzeugt:
|
||||
- `VDD` ist die Hauptversorgung für den Mikrocontroller, den Sensor und den externen Flash-Speicher. Sie wird durch einen [Buck-Boost-Wandler](#33v-buck-boost-wandler-dcdc-wandler) aus der externen Versorgung oder dem Li-Ion-Akku erzeugt. Der Wandler ist zur Energieeinsparung schaltbar.
|
||||
- `VDDSD` versorgt den [MicroSD-Kartenslot](#sd-schalter). Diese Versorgung ist schaltbar, da eine SD-Karte auch im Ruhezustand einen signifikanten Stromverbrauch hat.
|
||||
- `VRTC` versorgt die Echtzeituhr (RTC) und den `VBAT`-Pin des Mikrocontrollers. Diese Spannung ist immer vorhanden, solange der [Batterieschutz](#akkuschutz) nicht ausgelöst hat. Die Versorgung erfolgt über einen [Power-MUX](#power-mux), der priorisiert von `VDD` gespeist wird. Fällt `VDD` aus, erfolgt die Versorgung über einen [LDO](#33v-ldo) direkt vom Li-Ion-Akku (nach der Schutzschaltung).
|
||||
- `VBACKUP` ist die Spannung der [CR1220-Zelle](#cr1220). Sie dient als Backup-Versorgung für die RTC, falls der Akku entfernt wird oder der Tiefentladeschutz auslöst.
|
||||
Das Energieversorgungssystem des PowerProfilers basiert auf einem dreistufigen Konzept:
|
||||
|
||||
### Primäre Energiequellen
|
||||
- **Externe Versorgung:** USB-C-Anschluss und Debug-Anschluss
|
||||
- **Hauptenergie:** 1S Li-Ion/LiPo-Akkupack (2×18650 parallel)
|
||||
- **Backup-Versorgung:** CR1220-Knopfzelle für RTC-Erhaltung
|
||||
|
||||
### Interne Spannungsversorgungen
|
||||
Das System generiert vier verschiedene Versorgungsspannungen:
|
||||
|
||||
| Versorgung | Funktion | Quelle | Schaltbar |
|
||||
|------------|----------|---------|-----------|
|
||||
| **VDD** | Hauptversorgung (MCU, Sensoren, Flash) | [Buck-Boost-Wandler](#buck-boost-wandler-33-v) | ✓ |
|
||||
| **VDDSD** | MicroSD-Kartenslot | [Buck-Boost-Wandler](#buck-boost-wandler-33-v) | ✓ |
|
||||
| **VRTC** | RTC und MCU-VBAT | [VBackup-Multiplexer](#vbackup-multiplexer) | – |
|
||||
| **VBACKUP** | RTC-Backup | [CR1220-Zelle](#backup-batterie-cr1220) | – |
|
||||
|
||||
### Systemarchitektur
|
||||
|
||||
Das vereinfachte Blockschaltbild sieht wie folgt aus:
|
||||
```mermaid
|
||||
graph TD;
|
||||
subgraph "Batterien"
|
||||
LIPO[(Li-Ion Akku)];
|
||||
PROTECTION[Akkuschutz];
|
||||
GAUGE[Fuel Gauge];
|
||||
CR1220[(CR1220)];
|
||||
graph TD
|
||||
subgraph "Externe Energiequellen"
|
||||
USBC[ USB-C-Anschluss ]
|
||||
DEBUG[ Debug-Anschluss ]
|
||||
end
|
||||
LIPO <--> PROTECTION;
|
||||
PROTECTION <--> GAUGE;
|
||||
CR1220 --> VBACKUP;
|
||||
|
||||
subgraph "Externe Quellen"
|
||||
USBC[USB-C Port];
|
||||
DEBUG[Programmier-Port];
|
||||
|
||||
subgraph "Batteriesystem"
|
||||
LIPO[( Li-Ion Akkupack<br/>2×18650 parallel )]
|
||||
PROTECTION[ Akkuschutzschaltung<br/>XB4908A ]
|
||||
GAUGE[ Fuel Gauge<br/>bq27441-G1 ]
|
||||
CR1220[( CR1220<br/>Backup-Batterie )]
|
||||
end
|
||||
|
||||
subgraph "Energiewandlung"
|
||||
LDO[3.3V LDO];
|
||||
DCDC[3.3V Buck-Boost];
|
||||
CHARGER[Lader];
|
||||
SDSWITCH[SD Schalter];
|
||||
MUX[Power-Mux]
|
||||
|
||||
subgraph "Energiemanagement"
|
||||
PMUX_EXT[ Power-Multiplexer<br/>Externe Quellen ]
|
||||
CHARGER[ Ladeschaltung<br/>bq24296M + bq24239 ]
|
||||
DCDC[ Buck-Boost-Wandler<br/>TPS63020 ]
|
||||
LDO[ LDO-Regler<br/>XC6206P332MR-G ]
|
||||
PMUX_BACKUP[ VBackup-Multiplexer<br/>TPS2116 ]
|
||||
SDSWITCH[ SD-Schalter<br/>P-MOSFET ]
|
||||
end
|
||||
USBC --> CHARGER;
|
||||
DEBUG --> CHARGER;
|
||||
GAUGE <--> CHARGER;
|
||||
CHARGER --> DCDC --> VDD;
|
||||
CHARGER --> LDO;
|
||||
LDO --> MUX;
|
||||
DCDC --> MUX --> VRTC;
|
||||
DCDC --> SDSWITCH --> VDDSD;
|
||||
|
||||
subgraph "Verfügbare Versorgungen"
|
||||
VBACKUP(VBACKUP);
|
||||
VRTC(VRTC);
|
||||
VDDSD(VDDSD);
|
||||
VDD(VDD);
|
||||
|
||||
subgraph "Versorgungsausgänge"
|
||||
VDD[ VDD<br/>3,3V Haupt ]
|
||||
VDDSD[ VDDSD<br/>3,3V SD-Karte ]
|
||||
VRTC[ VRTC<br/>3,3V RTC ]
|
||||
VBACKUP[ VBACKUP<br/>3V Backup ]
|
||||
end
|
||||
|
||||
USBC --> PMUX_EXT
|
||||
DEBUG --> PMUX_EXT
|
||||
PMUX_EXT --> CHARGER
|
||||
CHARGER <--> GAUGE
|
||||
GAUGE <--> PROTECTION
|
||||
PROTECTION <--> LIPO
|
||||
|
||||
CHARGER --> DCDC
|
||||
CHARGER --> LDO
|
||||
|
||||
DCDC --> VDD
|
||||
DCDC --> SDSWITCH --> VDDSD
|
||||
DCDC --> PMUX_BACKUP
|
||||
LDO --> PMUX_BACKUP
|
||||
PMUX_BACKUP --> VRTC
|
||||
|
||||
CR1220 --> VBACKUP
|
||||
```
|
||||
|
||||
## Detailbeschreibung
|
||||
### Externe Quellen
|
||||
#### USB-C Port
|
||||
Das Gerät verfügt über einen USB-C-Port, der sowohl der Datenübertragung als auch der Energieversorgung dient. Es kann an einem PC/Laptop sowie an gängigen Netzteilen (Handy-Ladegerät, USB-C Laptop-Netzteil etc.) geladen werden. Dabei muss der jeweils verfügbare Strom beachtet werden. Mehr dazu unter [Lader](#lader).
|
||||
|
||||
#### Debug Port
|
||||
Damit das Gerät auch bei ausschließlich gesteckter Debug-Verbindung funktioniert, können 5 V auf den Debug-Port eingespeist werden. Bei den meisten Debug-Adaptern ist der verfügbare Strom begrenzt, weshalb von diesem Eingang maximal 300 mA bezogen werden dürfen.
|
||||
### Externe Energiequellen
|
||||
|
||||
#### USB-C-Anschluss
|
||||
Der USB-C-Anschluss dient der Datenübertragung und Energieversorgung. Das Gerät ist kompatibel mit:
|
||||
- Standard-PC/Laptop-USB-Anschlüssen
|
||||
- USB-C-Ladegeräten (Smartphone, Laptop)
|
||||
- USB Power Delivery (USB-PD) Quellen
|
||||
|
||||
Die Ladeschaltung erkennt automatisch die verfügbare Stromstärke über:
|
||||
- **CC-Leitungen:** USB-C-konforme Stromerkennung (bis 3 A)
|
||||
- **Datenleitung-Analyse:** USB Battery Charging Detection (BCD) über bq24239
|
||||
|
||||
#### Debug-Anschluss
|
||||
Für den Betrieb mit ausschliesslich angeschlossenem Debugger kann über den Debug-Anschluss eine 5-V-Versorgung eingespeist werden. Aufgrund der typischerweise begrenzten Stromstärke von Debug-Adaptern ist der maximale Stromverbrauch auf 300 mA begrenzt.
|
||||
|
||||
### Batteriesystem
|
||||
|
||||
### Batterien
|
||||
#### Li-Ion-Akku
|
||||
Als Akku sind zwei parallelgeschaltete 18650-Zellen vorgesehen. Diese werden mittels Nickelstreifen verschweisst, mit einem NTC-Temperatursensor versehen und eingeschrumpft. Die Verbindung zur Hauptplatine ist vierpolig (`BAT+`, `BAT-`, `NTC`, `GND`), da sich die [Akkuschutzschaltung](#akkuschutz) auf der Hauptplatine befindet. Diese trennt im Fehlerfall die `BAT-` Leitung vom Rest der Schaltung (`GND`). Wäre der NTC-Temperatursensor nur zwischen `BAT+` und `BAT-` angeschlossen, hätte er nach einer Trennung kein definiertes Potenzial mehr (floating). Ein an `GND` referenzierter Messeingang am [Lader](#lader) könnte die Temperatur nicht mehr korrekt erfassen. Durch die separate `GND`-Verbindung für den NTC wird dieses Problem umgangen.
|
||||
**Konfiguration:** 2×18650-Zellen in Parallelschaltung
|
||||
**Verbindung:** Verschweisste Nickelstreifen mit integriertem NTC-Temperatursensor
|
||||
**Anschluss:** 4-polige Verbindung zur Hauptplatine
|
||||
|
||||
#### Akkuschutz
|
||||
Als Akkuschutz habe ich zuerst an den *FM2113* gedacht. Bei der Auslegung der [N-FETs](#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 Worst Case kommen bei 3 A Standardkandidaten wie der *AO3400A* oder der *MDD2302* nicht in Frage, sie sind leider nicht genügend niederohmig. Der *AO3400A* kann die Wärme bei 3 A nicht abführen. Der *MDD2302* würde thermisch passen. Bei 2.5 V hat er einen maximalen R<sub>DSON</sub> von 35 mΩ, die Verlustleistung bei 3 A beträgt also
|
||||
$$
|
||||
P = R \cdot I^2 = 35\text{ mΩ} \cdot (3\text{ A})^2 = 315\text{ mW}
|
||||
$$
|
||||
was bei 100 K/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 210 mV. Laut Datenblatt kann der *FM2113* bereits bei 120 mV einen Überstrom erkennen.
|
||||
Bessere FETs sind selten, größer und/oder teurer. Bei meiner Suche bin ich dann über den **XB4908A** von XySemi gestoßen, 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.30 V|
|
||||
|Überladespannungsauflösung|OCRV|4.10 V|
|
||||
|Tiefentladeauslösung|ODV|2.4 V|
|
||||
|Tiefentladeauflösung|ODRV|3 V|
|
||||
|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.5 mΩ|
|
||||
|Überstromabschaltung entladen|I<sub>IOV1</sub>|min. 6 A|
|
||||
|Überstromabschaltung laden|I<sub>ROV1</sub>|min. 4 A|
|
||||
|Thermischer Widerstand zur Umgebung|θ<sub>JC</sub>|100 K/W|
|
||||
| Anschluss | Funktion |
|
||||
|-----------|----------|
|
||||
| BAT+ | Positive Akkuspannung |
|
||||
| BAT- | Negative Akkuspannung (schaltbar durch Schutzschaltung) |
|
||||
| NTC | Temperatursensor |
|
||||
| GND | Referenzmasse für NTC |
|
||||
|
||||
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 20 mΩ 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 18 K bei maximalem Ladestrom sollte absolut kein Problem sein.
|
||||
Die separate GND-Verbindung für den NTC-Sensor verhindert Potentialprobleme bei ausgelöster Schutzschaltung, da der Temperatursensor weiterhin an einer definierten Referenz angeschlossen bleibt.
|
||||
|
||||
#### Akkuschutzschaltung
|
||||
**Baustein:** XB4908A (XySemi)
|
||||
**Typ:** Integrierte Li-Ion-Schutzschaltung mit MOSFETs
|
||||
|
||||
Die Schutzschaltung überwacht und schützt vor:
|
||||
- **Überladung:** Abschaltung bei >4,30 V, Wiedereinschaltung bei <4,10 V
|
||||
- **Tiefentladung:** Abschaltung bei <2,4 V, Wiedereinschaltung bei >3,0 V
|
||||
- **Überstrom:** Schutz bei >6 A (Entladung) bzw. >4 A (Ladung)
|
||||
|
||||
**Schlüsselparameter:**
|
||||
|
||||
| Parameter | Symbol | Wert |
|
||||
|-----------|--------|------|
|
||||
| Betriebsstrom | I_OPE | typ. 3,3 μA |
|
||||
| Standby-Strom | I_PD | typ. 1,8 μA |
|
||||
| Innenwiderstand | R_SS(on) | typ. 13,5 mΩ |
|
||||
| Thermischer Widerstand | θ_JC | 100 K/W |
|
||||
|
||||
**Thermische Auslegung:**
|
||||
Bei maximaler Strombelastung (3 A) beträgt die Verlustleistung:
|
||||
$$P_{loss} = R_{SS(on)} \cdot I^2 = 20\text{ mΩ} \cdot (3\text{ A})^2 = 180\text{ mW}$$
|
||||
|
||||
Dies führt zu einer Temperaturerhöhung von:
|
||||
$$\Delta T = P_{loss} \cdot \theta_{JC} = 180\text{ mW} \cdot 100\text{ K/W} = 18\text{ K}$$
|
||||
|
||||
#### 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 2 A 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 **BQ27441-G1** konfiguriert/kalibriert werden kann.
|
||||
Die Verlustleistung am Widerstand ist relativ gering:
|
||||
$$
|
||||
\begin{aligned}
|
||||
P &= R \cdot I^2 \\
|
||||
&= 0.01\text{ Ω} \cdot (3\text{ A})^2 \\
|
||||
&= 0.09\text{ W}
|
||||
\end{aligned}
|
||||
$$
|
||||
Obwohl diese Verlustleistung bereits ein 0603-SMD-Widerstand verkraften würde, wird hier ein Widerstand der Bauform 1206 vorgesehen, um eine saubere 4-Leiter-Messung (Kelvin-Verbindung) zu ermöglichen.
|
||||
Die Konfiguration der Fuel Gauge kann über die TI-Software und einen entsprechenden Adapter erfolgen. Dazu kann der Adapter an einen externen I²C-Anschluss (z.B. OLED- oder Tasten-Controller-Anschluss) angeschlossen werden. Dabei ist sicherzustellen, dass auf dem Mikrocontroller keine Software aktiv ist, die einen I²C-Master implementiert.
|
||||
Da der **BQ27441-G1** keine NTC-Schnittstelle besitzt, wird eine alternative Methode zur Temperaturerfassung genutzt. Im Betrieb liest der Mikrocontroller die Akkutemperatur vom [Lader](#lader) aus und leitet sie per I²C an die Fuel Gauge weiter. Im Ruhezustand, wenn von einer thermischen Stabilität auszugehen ist, wird auf den internen Temperatursensor der Fuel Gauge zurückgegriffen.
|
||||
**Baustein:** bq27441-G1 (Texas Instruments)
|
||||
**Shunt-Widerstand:** 0,01 Ω (1206-Gehäuse für Kelvin-Verbindung)
|
||||
|
||||
Die Fuel Gauge überwacht kontinuierlich:
|
||||
- Akkuspannung und -strom
|
||||
- Ladezustand (State of Charge, SOC)
|
||||
- Verbleibende Kapazität
|
||||
- Gesundheitszustand (State of Health, SOH)
|
||||
|
||||
**Temperaturerfassung:**
|
||||
- **Betriebsmodus:** Temperaturwerte vom Lader-IC über I²C
|
||||
- **Ruhemodus:** Interner Temperatursensor der Fuel Gauge
|
||||
- **Übergangsstrategie:** Gesteuerte Umschaltung durch RTC-Wake-up
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> Betrieb
|
||||
Betrieb --> Nachlauf: Gerät schaltet aus
|
||||
Nachlauf --> Tiefschlaf: Akkutemperatur stabil oder 1h abgelaufen
|
||||
Tiefschlaf --> Betrieb: Gerät schaltet ein
|
||||
note right of Nachlauf
|
||||
DC/DC wird von der RTC regelmässig gestartet um die Temperatur zu übermitteln.
|
||||
end note
|
||||
note left of Tiefschlaf
|
||||
DC/DC ausgeschaltet
|
||||
end note
|
||||
[*] --> Aktiv: Gerät eingeschaltet
|
||||
Aktiv --> Nachlauf: Gerät ausgeschaltet
|
||||
Nachlauf --> Tiefschlaf: Temperatur stabil<br/>oder 1h vergangen
|
||||
Tiefschlaf --> Aktiv: Gerät eingeschaltet
|
||||
|
||||
note right of Nachlauf
|
||||
DC/DC-Wandler wird periodisch
|
||||
von RTC gestartet für
|
||||
Temperaturübertragung
|
||||
end note
|
||||
|
||||
note left of Tiefschlaf
|
||||
DC/DC-Wandler ausgeschaltet
|
||||
Fuel Gauge verwendet
|
||||
internen Temperatursensor
|
||||
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](#lader) in den Ship-Zustand geschaltet und die [Fuel Gauge](#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.
|
||||
#### Backup-Batterie (CR1220)
|
||||
**Typ:** Lithium-Knopfzelle CR1220
|
||||
**Funktion:** Backup-Versorgung für RTC bei Akkuausfall
|
||||
**Lebensdauer:** >10 Jahre (bei primärer Versorgung über Li-Ion-Akku)
|
||||
|
||||
### Energiebilanzierung
|
||||
|
||||
Um die Tiefentladung des Akkupacks zu verhindern, schaltet das System bei Unterschreitung einer kritischen Akkuspannung (3,0 V) in einen Deep-Power-Down-Modus. In diesem Zustand werden Lader und Fuel Gauge in energiesparende Modi versetzt.
|
||||
|
||||
**Power-Management-Strategie:**
|
||||
```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
|
||||
[*] --> Normalbetrieb
|
||||
Normalbetrieb --> DeepPowerDown: Akkuspannung < 3,0 V
|
||||
DeepPowerDown --> Aufwachen: Externe Versorgung<br/>angeschlossen
|
||||
Aufwachen --> Normalbetrieb: MCU startet System
|
||||
|
||||
note right of DeepPowerDown
|
||||
• Lader in Ship-Modus
|
||||
• Fuel Gauge in Shutdown
|
||||
• Minimaler Stromverbrauch
|
||||
end note
|
||||
|
||||
note left of Aufwachen
|
||||
• Lader erwacht automatisch
|
||||
• MCU muss Fuel Gauge
|
||||
über GP-Pin aktivieren
|
||||
end note
|
||||
```
|
||||
|
||||
Vorgesehen sind 2×3200 mAh-18650-Zellen parallel. Zur Sicherheit rechne ich mit 2×2600 mAh, falls doch einmal kleinere Zellen eingesetzt werden.
|
||||
|
||||
#### Ausgangsdaten
|
||||
|Wert|Kapazität|
|
||||
|---|---:|
|
||||
|Nennkapazität|5200 mAh|
|
||||
|Alterung, Rest 80%|4106 mAh|
|
||||
|Restkapazität unter 3 V bis zur kritischen Spannung von 2.5 V: 10%|**41 mAh**|
|
||||
#### 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, aufgerundet)|1 μA|
|
||||
|**total**|**8 μA**|
|
||||
**Akkukonfiguration:** 2×18650-Zellen parallel
|
||||
|
||||
In der Worst-Case-Betrachtung haben wir also 41 mAh zur Verfügung bei einem Verbrauch von 8 μA, die Restkapazität reicht folglich für $\frac{41\text{ mAh}}{8\text{ μA}} = 5125\text{ h}$, bis der Akku in einen chemisch kritischen Zustand kommt. Das entspricht 213 Tagen oder fast sieben Monaten. 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.
|
||||
| Parameter | Spezifikation | Konservative Auslegung |
|
||||
|-----------|---------------|------------------------|
|
||||
| Nennkapazität | 2×3200 mAh | 2×2600 mAh |
|
||||
| Nutzbare Kapazität | 6400 mAh | 5200 mAh |
|
||||
| Nach Alterung (80%) | 5120 mAh | 4160 mAh |
|
||||
| **Kritische Reserve** | **640 mAh** | **41 mAh** |
|
||||
|
||||
### Energiewandlung
|
||||
#### Lader
|
||||
Als Ladechip ist der **BQ25672** vorgesehen. Dieser bietet einige für das Projekt interessante Funktionen:
|
||||
- Erkennung von zwei externen Spannungsquellen und Auslösung von Interrupts bei deren Anschluss oder Trennung.
|
||||
- Einstellbarer Ladestrom von bis zu 3 A (in 10 mA-Schritten über I²C).
|
||||
- Einstellbare Eingangsstrombegrenzung (über I²C).
|
||||
- Erkennung von Sonderladegeräten (USB BC1.2 und HVDCP).
|
||||
- Hohe Effizienz dank Buck-Boost-Architektur.
|
||||
- Unterstützung der NVDC-Funktion (Narrow Voltage DC).
|
||||
- „Shipping Mode", um den Stromverbrauch auf ein absolutes Minimum zu reduzieren. Dieser Modus kann nur durch Anschließen einer externen Versorgung beendet werden.
|
||||
- Integrierte FETs.
|
||||
Die kritische Reserve ist die verfügbare Energie zwischen 3,0 V (Deep-Power-Down-Schwelle) und 2,5 V (chemisch kritische Spannung).
|
||||
|
||||
Eine direkte Erkennung der über USB-C verfügbaren Stromstärken ist damit jedoch nicht möglich. Dies stellt jedoch kein Problem dar, da die CC-Leitungen des USB-C-Steckers über den ADC des Mikrocontrollers ausgewertet werden können. Der geplante Ablauf in der Firmware ist wie folgt:
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[START] -->|Anstecken erkannt| B{CC-Leitungen messen}
|
||||
B -->|größer 1.31 V| C[USB-C 3 A]
|
||||
B -->|zwischen 0.71 V und 1.16 V| D[USB-C 1.5 A]
|
||||
B -->|kleiner 0.61 V| E(BQ25672 auslesen)
|
||||
E --> F{BQ25672 hat USB-Port bestimmt}
|
||||
F -->|SDP erkannt| G(USB Enumerieren) -->H[Strombegrenzung gem. Enumerierung]
|
||||
F -->|ansonsten| I(BQ25672 A-Port-Erkennung auslesen) -->J[Strombegrenzung entsprechend setzen]
|
||||
```
|
||||
#### Verbrauchsanalyse
|
||||
**Stromverbrauch im Deep-Power-Down-Modus (Worst Case):**
|
||||
|
||||
Dazu ist diese Beschaltung nötig:
|
||||
```mermaid
|
||||
graph TD;
|
||||
USBC[USB-C Port];
|
||||
MCU[Microcontroller];
|
||||
CHARGER[Lader];
|
||||
| Baustein | Stromverbrauch | Bemerkung |
|
||||
|----------|----------------|-----------|
|
||||
| XB4908A (Akkuschutz) | 6 μA | Datenblattangabe |
|
||||
| bq27441-G1 (Fuel Gauge) | 1 μA | Geschätzt (typ. 0,6 μA) |
|
||||
| bq24296M (Lader) | 1 μA | Ship-Modus |
|
||||
| **Gesamtverbrauch** | **8 μA** | |
|
||||
|
||||
USBC -- D+, D-, VBUS --> CHARGER;
|
||||
USBC -- D+, D-, CC1, CC2 --> MCU;
|
||||
MCU <-- I²C --> CHARGER;
|
||||
```
|
||||
Der „Shipping Mode" kann dazu genutzt werden, ein Wiedereinschalten des Geräts bei niedrigem Akkustand (z.B. `< 3 V`) zuverlässig zu verhindern. Zudem ist ein „Lagermodus" vorgesehen, bei dem das Gerät möglichst wenig Energie aus dem Akku entnehmen soll.
|
||||
**Standzeit-Berechnung:**
|
||||
$$t_{standby} = \frac{Q_{reserve}}{I_{total}} = \frac{41\text{ mAh}}{8\text{ μA}} = 5125\text{ h} = 213\text{ Tage}$$
|
||||
|
||||
#### 3.3V Buck-Boost-Wandler (DC/DC-Wandler)
|
||||
Der DC/DC-Wandler ist die Hauptenergieversorgung der Schaltung. Da die Spannung des Li-Ion-Akkus von 3 V bis 4.2 V variieren kann, ist ein Buck-Boost-Wandler notwendig. Die Wahl fiel auf den **TPS63020**, der folgende Vorteile bietet:
|
||||
- Sehr hohe Effizienz
|
||||
- Integrierte FETs
|
||||
- Hohe Schaltfrequenz, was kleine Induktivitäten ermöglicht
|
||||
- Enable-Eingang und sehr geringer Energieverbrauch im ausgeschalteten Zustand
|
||||
|
||||
Der DC/DC-Wandler wird, wann immer möglich, ausgeschaltet. Weckquellen sind:
|
||||
- Einschalt-Taster
|
||||
- RTC
|
||||
- Lader (wenn eine externe Versorgung angeschlossen wird)
|
||||
|
||||
Da die Wecksignale aktiv-low sind, werden sie über Dioden zu einem Wired-OR-Gatter zusammengefasst. Ein nachgeschalteter N-Kanal-MOSFET invertiert das Signal für den aktiv-high Enable-Eingang des Wandlers. Diese Logik stellt zudem sicher, dass der Mikrocontroller den Wandler selbst aktiv halten kann (Latching).
|
||||
|
||||
#### SD Schalter
|
||||
Eine SD-Karte kann auch im Ruhezustand einen signifikanten Strom verbrauchen. Um die Energieeffizienz zu erhöhen, wird die Versorgung des Micro-SD-Slots bei Bedarf über einen P-Kanal-MOSFET durch den Mikrocontroller geschaltet.
|
||||
|
||||
#### 3.3V LDO
|
||||
Der 3.3V LDO versorgt die RTC und den `VBAT`-Eingang des Mikrocontrollers, wenn der [DC/DC-Wandler](#3-3v-buck-boost-wandler-dc-dc-wandler) ausgeschaltet ist. Die Wahl fiel auf den **XC6206P332MR-G** von Torex, der einen Eigenverbrauch von lediglich 1 μA aufweist. Fällt die Akkuspannung unter 3.3 V, arbeitet er im Dropout-Bereich und die Ausgangsspannung folgt der Eingangsspannung abzüglich eines geringen Spannungsabfalls. Dies kann zu Pegel-Inkompatibilitäten bei der I²C-Kommunikation führen, da der Rest der Schaltung mit stabilen 3.3 V vom DC/DC-Wandler versorgt wird. Um dies zu verhindern, schaltet ein [Power-Mux](#power-mux) die Versorgung der RTC auf den `VDD`-Zweig um, sobald dieser aktiv ist. Dadurch wird ein einheitlicher Spannungspegel für die Kommunikation sichergestellt.
|
||||
|
||||
#### Power-Mux
|
||||
Ein **TPS2116** wird als Power-Multiplexer eingesetzt. An den Eingängen werden der DC/DC-Wandler (priorisiert) und der LDO angeschlossen. Am Ausgang stellt er die `VRTC`-Spannung zur Verfügung.
|
||||
|
||||
## Dimensionierungen
|
||||
Im Folgenden werden die wesentlichen Dimensionierungen behandelt.
|
||||
|
||||
### N-FETs
|
||||
An mehreren Stellen im Hauptstrompfad werden N-FETs benötigt (~~Charge- und Discharge-FETs beim [Batterieschutz](#akkuschutz),~~ SHIP-FET beim [Lader](#lader), Input Selector beim [Lader](#lader)). Eine erste Überlegung galt dem *AO3400A*, einem gängigen Logic-Level N-FET.
|
||||
|
||||
Die kritischste Anwendung sind die Batterieschutz-Transistoren, da sie bei entladenem Akku die geringste Gate-Source-Spannung (VGS) erhalten. Die vom Lader angesteuerten FETs werden über eine interne Ladungspumpe mit einer ausreichend hohen Gatespannung versorgt.
|
||||
|
||||
Für die Worst-Case-Betrachtung wird ein tiefentladener Akku mit einer Spannung von 2.5 V angenommen. Laut Datenblatt des *AO3400A* beträgt der Rds(on) bei einer VGS von 2.5 V maximal 48 mΩ. Bei einem angenommenen Laststrom von 3 A würde dies zu folgenden Konsequenzen führen:
|
||||
|
||||
- **Spannungsabfall:**
|
||||
$$
|
||||
\begin{aligned}
|
||||
V_{drop} &= R_{ds(on)} \cdot I \\
|
||||
&= 0.048\text{ Ω} \cdot 3\text{ A} \\
|
||||
&= 0.144\text{ V}
|
||||
\end{aligned}
|
||||
$$
|
||||
|
||||
- **Verlustleistung:**
|
||||
$$
|
||||
\begin{aligned}
|
||||
P_{loss} &= R_{ds(on)} \cdot I^2 \\
|
||||
&= 0.048\text{ Ω} \cdot (3\text{ A})^2 \\
|
||||
&= 0.432\text{ W}
|
||||
\end{aligned}
|
||||
$$
|
||||
|
||||
Die Verlustleistung ist zu gross für das Gehäuse. Die Wahl fällt deshalb auf den **HL3416** mit einem R<sub>ds(on)</sub> von typisch 18 mΩ, maximal 26 mΩ bei 2.5 V:
|
||||
- **Spannungsabfall:**
|
||||
$$
|
||||
\begin{aligned}
|
||||
V_{drop} &= R_{ds(on)} \cdot I \\
|
||||
&= 0.018\text{ Ω} \cdot 3\text{ A} = 0.054\text{ V}\\
|
||||
&= 0.026\text{ Ω} \cdot 3\text{ A} = 0.078\text{ V}\\
|
||||
\end{aligned}
|
||||
$$
|
||||
|
||||
- **Verlustleistung:**
|
||||
$$
|
||||
\begin{aligned}
|
||||
P_{loss} &= R_{ds(on)} \cdot I^2 \\
|
||||
&= 0.018\text{ Ω} \cdot (3\text{ A})^2 = 0.162\text{ W}\\
|
||||
&= 0.026\text{ Ω} \cdot (3\text{ A})^2 = 0.234\text{ W}
|
||||
\end{aligned}
|
||||
$$
|
||||
Die Verlustleistung beträgt also Worst Case 234 mW. Bei einem thermischen Widerstand R<sub>θJA</sub> von 96 K/W, aufgerundet auf 100 K/W, ergibt das eine Erwärmung des Gehäuses um 23.4 K bei minimaler Spannung und maximalem Strom. Dies sollte problemlos sein, insbesondere, da die Gate-Source-Spannung beim **BQ25672** dank Ladungspumpen ca. 5 V beträgt. Die Worst-Case-Berechnung ist für den Batterieschutz, der aber bei der gewählten Konfiguration integrierte FETs hat.
|
||||
|
||||
## Datenblätter
|
||||
|
||||
Die Datenblätter aller verwendeten Bauteile sind in diesem Repository verfügbar:
|
||||
|
||||
### Energieversorgung
|
||||
- **[XB4908A](datasheets/LiIon%20Protection/XB4908.pdf)** - Li-Ion Protection IC mit integrierten FETs
|
||||
- **[BQ27441-G1](datasheets/Fuel%20Gauge/bq27441-g1.pdf)** - Fuel Gauge IC von Texas Instruments
|
||||
- **[BQ25672](datasheets/Charger/bq25672.pdf)** - Lader-IC mit Buck-Boost-Architektur
|
||||
Diese Standzeit von über 7 Monaten gewährleistet ausreichend Schutz vor Tiefentladung, selbst unter Worst-Case-Bedingungen und ohne Berücksichtigung der Selbstentladung.
|
||||
|
||||
### Spannungswandlung
|
||||
- **[TPS63020](datasheets/DC-DC%20Converter/tps63020.pdf)** - 3.3V Buck-Boost-Wandler von Texas Instruments
|
||||
- **[XC6206P332MR-G](datasheets/LDO/xc6206p332mr-g.pdf)** - 3.3V Low-Dropout-Regulator von Torex
|
||||
- **[TPS2116](datasheets/Power%20Mux/tps2116.pdf)** - Power-Multiplexer von Texas Instruments
|
||||
|
||||
### Diskrete Bauteile
|
||||
- **[HL3416](datasheets/MOSFET/hl3416.pdf)** - N-Kanal MOSFET für Schalter und FET-Anwendungen
|
||||
#### Power-Multiplexer (Externe Quellen)
|
||||
**Implementation:** Diskrete Lösung mit P-Kanal-MOSFETs
|
||||
**Funktion:** Intelligente Umschaltung zwischen USB-C und Debug-Anschluss
|
||||
|
||||

|
||||
|
||||
**Funktionsprinzip:**
|
||||
|
||||
**Debug-Priorität (Standby-Zustand):**
|
||||
Die Versorgung vom Debug-Anschluss wird durch den Pull-Down-Widerstand `R1` am Gate von `Q1` durchgeschaltet, sobald eine Spannung am Debug-Anschluss anliegt. Gleichzeitig wird `Q2` durch `R3` sperrend gehalten, da sein Gate über `R3` auf 5 V gezogen wird.
|
||||
|
||||
**USB-Priorität (Aktiv-Zustand):**
|
||||
Beim Anschluss einer USB-Versorgung wird `Q1` sofort sperrend, da das Gate von `Q1` durch `R2` auf die USB-Spannung gezogen wird. Nach einer definierten Verzögerungszeit schaltet der `bq24239` den `n_CHG_AL`-Open-Drain-Ausgang auf GND und zieht damit das Gate von `Q2` über `R4` auf Masse. `Q2` wird leitend und die Laderversorgung erfolgt vom USB-Anschluss.
|
||||
|
||||
**Umschaltverhalten:**
|
||||
Während der Umschaltung zwischen den Quellen ist das System kurzzeitig stromlos (bei nicht angeschlossenem Akku). Dies ist akzeptabel, da es sich um einen aussergewöhnlichen Betriebszustand handelt. Die Schaltung gewährleistet:
|
||||
- Betrieb ausschliesslich vom Debug-Anschluss (ohne Akku/USB)
|
||||
- Verhinderung von Kurzschlüssen zwischen den Versorgungsquellen
|
||||
- USB-Priorisierung im Normalbetrieb (Debug-Anschluss nicht gesteckt)
|
||||
|
||||
|
||||
#### Ladeschaltung
|
||||
**Hauptbaustein:** bq24296M (Texas Instruments)
|
||||
**Zusatzbaustein:** bq24239 für erweiterte Ladegeräteerkennung
|
||||
|
||||
Die Ladeschaltung wurde von der ursprünglich geplanten bq25672 auf die bq24296M umgestellt, um Layoutkomplexität zu reduzieren bei gleichzeitiger Beibehaltung aller wichtigen Funktionen.
|
||||
|
||||
**Kernfunktionen der bq24296M:**
|
||||
- Einstellbarer Ladestrom bis 3 A (10-mA-Schritte über I²C)
|
||||
- Einstellbare Eingangsstrombegrenzung
|
||||
- Hohe Effizienz durch integrierte Synchronous-Switching-Architektur
|
||||
- NVDC-Funktion (Narrow Voltage DC)
|
||||
- Ship-Modus für minimalen Stromverbrauch
|
||||
- Integrierte Power-MOSFETs
|
||||
|
||||
**Erweiterte Ladegeräteerkennung:**
|
||||
Da die bq24296M keine direkte USB-Ladegeräteerkennung bietet, wird zusätzlich der bq24239 eingesetzt:
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
START[Externe Versorgung erkannt] --> CC{CC-Leitungen messen}
|
||||
CC -->|> 1,31 V| C[USB-C: 3 A verfügbar]
|
||||
CC -->|0,71 V - 1,16 V| D[USB-C: 1,5 A verfügbar]
|
||||
CC -->|< 0,61 V| BCD{bq24239 auslesen}
|
||||
|
||||
BCD -->|SDP erkannt| ENUM[USB-Enumerierung]
|
||||
BCD -->|DCP/CDP erkannt| SET[Strombegrenzung<br/>gemäss bq24239]
|
||||
|
||||
ENUM --> LIMIT[Strombegrenzung<br/>gemäss Enumerierung]
|
||||
|
||||
C --> CONFIG[Ladestrom konfigurieren]
|
||||
D --> CONFIG
|
||||
SET --> CONFIG
|
||||
LIMIT --> CONFIG
|
||||
```
|
||||
|
||||
**Systemverbindung:**
|
||||
```mermaid
|
||||
graph LR
|
||||
USBC[USB-C-Anschluss] --> CHARGER[bq24296M]
|
||||
USBC -- D+/D- --> DETECTOR[bq24239]
|
||||
USBC -- CC1/CC2 --> MCU[Mikrocontroller]
|
||||
|
||||
DETECTOR -- D+/D- --> MCU
|
||||
DETECTOR -- Erkennungssignale --> MCU
|
||||
MCU -- I²C --> CHARGER
|
||||
|
||||
CHARGER --> SYSTEM[Systemversorgung]
|
||||
```
|
||||
|
||||
#### Buck-Boost-Wandler (3,3 V)
|
||||
**Baustein:** TPS63020 (Texas Instruments)
|
||||
**Funktion:** Hauptspannungsversorgung für MCU, Sensoren und Flash-Speicher
|
||||
|
||||
Der TPS63020 wurde aufgrund der variablen Li-Ion-Akkuspannung (3,0 V - 4,2 V) als Buck-Boost-Wandler ausgewählt.
|
||||
|
||||
**Technische Vorteile:**
|
||||
- Sehr hohe Effizienz über den gesamten Eingangsspannungsbereich
|
||||
- Integrierte Power-MOSFETs (kein externes Switching erforderlich)
|
||||
- Hohe Schaltfrequenz → kompakte Induktivitäten möglich
|
||||
- Ultra-low Shutdown-Strom bei Deaktivierung
|
||||
|
||||
**Wake-up-Logik:**
|
||||
Der Wandler wird über ein Wired-OR-Gatter aus mehreren Quellen aktiviert:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
BUTTON[Einschalttaster] --> DIODE1[Diode]
|
||||
RTC[RTC-Wake-up] --> DIODE2[Diode]
|
||||
CHARGER[Lader-Wake-up] --> DIODE3[Diode]
|
||||
|
||||
DIODE1 --> OR[Wired-OR]
|
||||
DIODE2 --> OR
|
||||
DIODE3 --> OR
|
||||
|
||||
OR --> NMOS[N-MOSFET<br/>Inverter]
|
||||
|
||||
MCU[Mikrocontroller] --> LATCH[Self-Latching]
|
||||
|
||||
NMOS --> DIODE4[Diode]
|
||||
LATCH --> DIODE5[Diode]
|
||||
|
||||
DIODE4 --> ENABLE[TPS63020<br/>Enable-Eingang]
|
||||
DIODE5 --> ENABLE
|
||||
```
|
||||
|
||||
#### SD-Karten-Schalter
|
||||
**Implementation:** P-Kanal-MOSFET (Load Switch)
|
||||
**Steuerung:** Mikrocontroller-GPIO mit RC-Gatebeschaltung
|
||||
|
||||
SD-Karten können auch im Idle-Zustand signifikanten Stromverbrauch aufweisen. Der schaltbare SD-Kartenslot ermöglicht eine vollständige Trennung der Versorgung bei Nichtbenutzung.
|
||||
|
||||
**RC-Gatebeschaltung:** Um hohe Stromspitzen auf die Kondensatoren der SD-Karte zu vermeiden, wird das Gate des P-MOSFETs über eine RC-Schaltung angesteuert. Dies sorgt für eine kontrollierte Anstiegszeit der Versorgungsspannung.
|
||||
|
||||
#### Low-Dropout-Regulator (3,3 V)
|
||||
**Baustein:** XC6206P332MR-G (Torex)
|
||||
**Funktion:** RTC- und VBAT-Versorgung bei deaktiviertem DC/DC-Wandler
|
||||
|
||||
**Schlüsselparameter:**
|
||||
- Eigenverbrauch: 1 μA (typisch)
|
||||
- Dropout-Spannung: 160 mV @ 100 mA
|
||||
- Ausgangsspannung: 3,3 V ±2%
|
||||
|
||||
**Dropout-Verhalten:**
|
||||
Bei Akkuspannungen unter 3,3 V arbeitet der LDO im Dropout-Bereich, wobei die Ausgangsspannung der Eingangsspannung minus Dropout-Spannung folgt. Dies kann zu I²C-Pegelkonflikten führen, weshalb der VBackup-Multiplexer bei aktivem DC/DC-Wandler auf VDD umschaltet.
|
||||
|
||||
#### VBackup-Multiplexer
|
||||
**Implementation:** Diskrete Lösung mit Schottky-Dioden und P-Kanal-MOSFET
|
||||
**Funktion:** Intelligente Umschaltung zwischen DC/DC-Wandler und LDO für VRTC
|
||||
|
||||

|
||||
|
||||
**Funktionsprinzip:**
|
||||
|
||||
**LDO-Betrieb (DC/DC-Wandler inaktiv):**
|
||||
Bei ausgeschaltetem DC/DC-Wandler wird das Gate von `Q1` über `R2` nach GND gezogen, wodurch der N-Kanal-MOSFET ausgeschaltet bleibt. Das Gate von `Q2` wird über `R5` auf die Spannung an der Source gezogen, wodurch auch dieser P-Kanal-MOSFET ausgeschaltet bleibt. Die Versorgung von `VRTC` erfolgt über die Schottky-Diode `D1` direkt vom LDO.
|
||||
|
||||
**DC/DC-Betrieb (DC/DC-Wandler aktiv):**
|
||||
Beim Einschalten des DC/DC-Wandlers wird von diesem das `Power Good`-Signal (Open-Drain-Ausgang) zunächst auf GND gezogen. `Q1` bleibt sperrend, der Mikrocontroller verbleibt im Reset-Zustand. Sobald die Ausgangsspannung des DC/DC-Wandlers stabil ist, schaltet dieser den Open-Drain-Ausgang `Power Good` frei, wodurch das Gate von `Q1` über `R1` auf 3,3 V gezogen wird. `Q1` wird leitend und zieht folglich das Gate von `Q2` über den leitenden `Q1` auf GND, wodurch auch `Q2` leitend wird.
|
||||
|
||||
Der Stromfluss vom LDO über `D1` wird unterbunden, da die Ausgangsspannung des LDO gleich gross oder kleiner als die des DC/DC-Wandlers ist. Die Versorgung von `VRTC` erfolgt nun direkt über `Q2` vom DC/DC-Wandler.
|
||||
|
||||
**Prioritätenschema:**
|
||||
1. **Priorität 1:** VDD (DC/DC-Wandler aktiv) - Direktversorgung über `Q2`
|
||||
2. **Priorität 2:** LDO-Ausgang (DC/DC-Wandler inaktiv) - Versorgung über `D1`
|
||||
|
||||
**Systemvorteile:**
|
||||
- Unterbrechungsfreie Versorgung der RTC während Umschaltungen
|
||||
- Einheitliche Signalpegel für I²C-Kommunikation bei aktivem DC/DC-Wandler
|
||||
- Automatische Umschaltung ohne Mikrocontroller-Eingriff
|
||||
- Minimaler Spannungsabfall durch direkte MOSFET-Schaltung bei hoher Priorität
|
||||
- Sequenzielle Aktivierung verhindert Spannungsspitzen während des Starts
|
||||
|
||||
## Bauteilauslegung
|
||||
|
||||
### N-Kanal-MOSFETs
|
||||
**Baustein:** AO3400A
|
||||
**Anwendung:** Digitale Schalter und Inverter
|
||||
|
||||
Da N-Kanal-MOSFETs in diesem Design ausschliesslich für Logikfunktionen eingesetzt werden und nicht in Hochstromkreisen, genügt ein kostengünstiger Standard-Typ. Der AO3400A bietet ausreichende Parameter für alle Logic-Level-Anwendungen.
|
||||
|
||||
**Alternative:** Jeder andere Logic-Level-N-Kanal-MOSFET kann verwendet werden.
|
||||
|
||||
### P-Kanal-MOSFETs
|
||||
**Baustein:** MDD2301
|
||||
**Anwendungen:** Power-Multiplexer, Backup-MUX, SD-Kartenversorgung
|
||||
|
||||
Der kritischste Anwendungsfall ist der Power-Multiplexer mit bis zu 3 A Strombelastung.
|
||||
|
||||
**Technische Daten:**
|
||||
|
||||
| Parameter | Wert |
|
||||
|-----------|------|
|
||||
| Gehäuse | SOT-23 |
|
||||
| R_DS(on) @ 4,5 V | typ. 33 mΩ, max. 45 mΩ |
|
||||
| R_DS(on) @ 2,5 V | typ. 46 mΩ, max. 60 mΩ |
|
||||
| Thermischer Widerstand | R_θJA = 100 K/W |
|
||||
| Leckstrom | I_DSS < 1 μA @ -10 V |
|
||||
|
||||
**Thermische Auslegung (Power-Multiplexer bei 3 A, Worst Case):**
|
||||
|
||||
Verlustleistung:
|
||||
$$P_{loss} = R_{DS(on)} \cdot I^2 = 45\text{ mΩ} \cdot (3\text{ A})^2 = 405\text{ mW}$$
|
||||
|
||||
Temperaturerhöhung:
|
||||
$$\Delta T = P_{loss} \cdot R_{\theta JA} = 405\text{ mW} \cdot 100\text{ K/W} = 40,5\text{ K}$$
|
||||
|
||||
**Spannungsabfall-Analyse (Backup-MUX bei 2 mA):**
|
||||
$$\Delta U = R_{DS(on)} \cdot I = 45\text{ mΩ} \cdot 2\text{ mA} = 0,09\text{ mV}$$
|
||||
|
||||
Beide Anwendungsfälle liegen deutlich innerhalb der Spezifikationsgrenzen.
|
||||
|
||||
## Referenzen und Datenblätter
|
||||
|
||||
Alle Datenblätter der verwendeten Bauteile sind in diesem Repository verfügbar:
|
||||
|
||||
### Energiemanagement-ICs
|
||||
- **[XB4908A](datasheets/LiIon%20Protection/XB4908.pdf)** - Li-Ion-Schutzschaltung mit integrierten MOSFETs (XySemi)
|
||||
- **[bq27441-G1](datasheets/Fuel%20Gauge/bq27441-g1.pdf)** - Fuel Gauge IC (Texas Instruments)
|
||||
- **[bq24296M](datasheets/Charger/bq24296m.pdf)** - Hocheffizienter Lader-IC mit integrierter Synchronous-Switching-Architektur (Texas Instruments)
|
||||
|
||||
### USB-Erkennung
|
||||
- **[bq24230](datasheets/USB%20Detection/bq24230.pdf)** - USB-Ladegeräteerkennung und -charakterisierung (Texas Instruments)
|
||||
|
||||
### Spannungsregler
|
||||
- **[TPS63020](datasheets/DC-DC%20Converter/tps63020.pdf)** - Hocheffizienter 3,3-V-Buck-Boost-Wandler (Texas Instruments)
|
||||
- **[XC6206P332MR-G](datasheets/LDO/xc6206p332mr-g.pdf)** - Ultra-Low-Power 3,3-V-LDO-Regler (Torex Semiconductor)
|
||||
- **[TPS2116](datasheets/Power%20Mux/tps2116.pdf)** - Intelligenter Power-Multiplexer mit automatischer Umschaltung (Texas Instruments)
|
||||
|
||||
### Diskrete Halbleiter
|
||||
- **[AO3400A](datasheets/MOSFET/ao3400a.pdf)** - N-Kanal-Logic-Level-MOSFET für digitale Schaltanwendungen (Alpha & Omega Semiconductor)
|
||||
- **[MDD2301](datasheets/MOSFET/mdd2301.pdf)** - P-Kanal-Power-MOSFET für Leistungsschalter bis 3 A (Diodes Incorporated)
|
||||
|
||||
---
|
||||
|
||||
*Dokument-Version: 2.0*
|
||||
*Letzte Aktualisierung: Oktober 2025*
|
||||
*Status: Aktualisiert für finale Bauteilauswahl*
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 112 KiB |
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 143 KiB |
Loading…
Reference in New Issue