← Back to: Battery Charging / Gauging / Protection / BMS
Role in the Charging Branch
In a sealed battery pack, pack pressure and gas signals are physical-environment signals, not electrical ones. They describe whether the enclosure is healthy: seal integrity, gas build-up, blocked vent paths, or a breathing membrane that no longer recovers. These conditions directly affect how safe it is to start or continue charging.
Because these signals evolve slowly compared with short-circuit or overcurrent events, they belong to the charging domain where the state machine can act gradually: warn the system, derate the charge current, forbid fast charge, or issue a request-to-stop. Cutting power immediately is the job of the protection branch (Pack-FET / eFuse), not of this page.
This page is therefore part of the safe-to-charge decision: “can I charge now, and if yes, how hard?” When pack pressure looks abnormal during precharge, the charger can refuse to enter fast charge. When it looks abnormal during constant-current (CC), the charger can lower the target current. When it looks abnormal during CV / taper, the charger can raise an upstream alert.
It must not be mixed with HV Insulation / Leakage Monitor (HV). HV insulation pages measure electrical isolation, Riso, and often need common-mode noise suppression and fault-direction logic. This page measures physical pressure / gas inside the pack. They are different measurement domains and must stay in different subpages to avoid procurement mistakes.
It must also not be mixed with Pack-FET / eFuse pages. Those pages decide how to open/close the pack, how to pre-charge, and how to handle reverse or inrush. This page only says “there is a physical anomaly, charging should slow down or stop soon” — it does not drive the FETs directly.
Finally, instead of putting this into a top-level BMS coordination page, we put it in the charging branch because charging is the best place to make small, non-disruptive actions: do not start balancing now, do not unlock the highest current, stay in a safe temperature/pressure window, log the anomaly for maintenance.
Sensing & AFE Topologies for Pack Pressure / Gas
To make pressure and leak information usable by the charging branch, we need a clean measurement chain. In practice, engineers usually pick one of three paths: analog sensor + AFE, digital pressure/gas sensor with ALERT, or a combined environmental module that reports several risks at once. All of them stay in the measurement domain and only deliver decisions to the charger.
The analog path is good when you want custom ranges or cheaper pressure transducers. The digital path is good when you want the ALERT pin wired straight into the charger MCU. The combined path is good when you want to know not only “is there gas?” but also “did humidity or temperature shift so much that we should schedule maintenance?”.
Analog sensor + AFE: typical sealed-pack pressure sensors are piezoresistive and output only millivolts. An AFE must therefore provide bridge excitation, amplify the small signal with low drift, low-pass filter it, and present a stable voltage to the charger ADC. This allows custom pack volumes and custom safe windows.
Because this channel can be long and can run close to cell-sense harnesses, it should either use a dedicated AFE channel or be time-multiplexed so cell sampling and pressure sampling do not interfere.
Digital pressure/gas sensor: a sensor with I²C or SPI plus an ALERT / INT output can signal problems immediately to the charger MCU. This is perfect for a 3-level alarm flow (warn → derate → request-to-stop). The only caveat is that cross-brand replacements often require firmware updates for addresses, scaling, or alert polarity. We will write the BOM remarks for that in the procurement chapter.
Environmental combo: in aging or high-humidity packs, pressure alone is not the whole story. You can terminate pressure + humidity + VOC on the same sensor bus and OR the alerts into a single “charging constraints” input. This page does not go deep into humidity algorithms; it only states that combined alerts can be forwarded to the charging logic.
During charging, sampling must follow the charging state: faster in CC where gas formation is more likely, slower in CV where current is low. Outside charging, the channel can go to low-rate sampling to save power.
Not recommended: do not hang this pressure sensor directly on the pack-FET control line, and do not try to reuse a high-voltage insulation monitor IC to judge pack pressure. They are different domains and will confuse both engineers and purchasing.
Thresholds, Alarms & Derating Logic
Pack pressure and leak signals are typically slow-building, non-instant hazards. They need to be translated into charging actions that are progressive: first a warning, then current derating, and only at the end a request-to-stop that the upper BMS or protection domain can honor. This chapter defines a reusable 3-level model that other “pack-environment” pages can reuse.
Threshold sources:
- Factory baseline (Pbase): during production the sealed pack is measured once to capture “healthy” enclosure pressure.
-
Temperature-compensated dynamic limit: pack pressure changes with temperature, so we use
Pallowed = Pbase + k × (Tpack − Tref). This keeps normal warm-up from being misread as a leak. - Post-maintenance re-calibration: after opening the enclosure, changing the vent, or replacing the sensor, the baseline must be refreshed; otherwise every later charge will use a wrong reference.
3-level alarm model (standard for this page):
Level 1 — Warn
Lightly above allowed pressure. Keep charging but do not increase current. Log once for maintenance.
Level 2 — Derate Charge
Pressure looks persistently high or is high together with temperature. Drop to a medium charging current and merge with JEITA (take the most conservative current).
Level 3 — Request to Stop
Use only when pressure is clearly abnormal or rising. This page sends a stop request, but the actual FET / contactor action is done in the protection / upper BMS pages.
Relation with JEITA: first run the temperature-based JEITA window to decide the safe current. Then apply the pressure/leak-derived derating on top of it. If both temperature and pressure want to reduce current, the charger must pick the most restrictive value. This keeps temperature the primary driver while still allowing enclosure anomalies to slow down charging.
Balancing special case: during cell balancing, local heating can increase pack pressure without any real leak. For that reason, pressure alarms raised during balancing should use a longer filter time or be co-qualified with the balancing state to avoid false positives.
Alarm reporting path: all levels must first reach the charging controller, because only it knows the current state (Pre / CC / CV / balancing). The controller then forwards the event to the BMS host or vehicle. This is where “request-to-stop” is escalated.
Why no FET action here: pressure/leak anomalies are trend-based signals. Immediate FET cut would be treated as false action in many field cases. Actual disconnect, pre-charge, or reverse-protection logic stays in the protection-domain pages.
Logging & Maintenance Hooks
Pressure and leak anomalies are often progressive. One alarm today and another alarm two weeks later are often part of the same root cause: clogged breather, aging vent, or partial enclosure damage. That is why every alarm from the previous chapter must be logged with context, not just raised and forgotten.
Fields to log:
- Timestamp (UTC or charger-local)
- Charging stage at the moment (Pre / CC / CV / balancing)
- Measured pressure / gas value (raw or converted)
- Alarm level (1 / 2 / 3)
- Sensor ID / channel index (for multi-sensor packs)
- Balancing flag (to spot “fake” pressure rises during balancing)
Where to store: first in the charger MCU local NVM, because it is the component that actually knows the charge state. Then the BMS Host can periodically pull the recent entries. If connectivity is available, the host may forward the data to a backend, but this page stays on-device and does not define any cloud schema.
Why maintenance needs it: if pressure slowly drifts up, it may mean the breathing membrane is blocked; if gas alarms appear only from time to time, it may mean a local seal is aging. A service engineer must be able to see that “for the last 30 days, during CC, we always saw a level 2 alarm” — this is the actual value of logging.
Relation with purchasing: when purchasing switches to another pressure / gas sensor, the factory baseline may change. Logs should record the sensor variant / calibration ID / from-which-SN so that engineering can explain later pressure offsets.
Data compression & retention: you do not need to store all high-rate samples. Keep a small window around each alarm (a few seconds before and after). For long-term records, keep only monthly aggregates: number of alarms, highest level, stage where they happened most. This protects NVM/EEPROM endurance and still gives maintenance useful trends.
IC Selection Map (TI / ST / NXP / Renesas / onsemi / Microchip / Melexis)
This page lists only the parts that make sense for pack-internal environment → charging strategy. It does not include high-voltage insulation monitors, pack FET drivers, or traction-level BMS AFEs. Use it when you want to sense pressure / gas in a sealed battery enclosure and feed a 3-level alarm (Warn → Derate → Request-to-Stop) to the charging branch.
Sensor conditioning / instrument amps
For mV-level piezoresistive pressure sensors, bridge excitation, low-drift gain, filtering and hand-off to the charger MCU.
- TI – PGA900 (smart sensor conditioner, temp comp)
- Microchip – MCP6N16 (zero-drift INA, 3×3 DFN)
- onsemi – NCS333 / NCV333A (zero-drift op amp)
Digital environment sensors (I²C/SPI + alert)
For ready-to-use pressure/ambient readings with interrupt pins.
- ST – LPS22HB / LPS28DFW
- NXP – FXPS7115D4 / FXPS7115DI4T1
- Renesas – HS3003 / HS300x (humidity + temp as env hook)
Local derating / soft thresholds (charger side)
Small MCUs to merge JEITA + pressure + balancing state into one charging constraints block.
- TI – MSP430 with ADC12_B
- ST – STM32G0 / G4 (EXTI on pressure alert)
- NXP – S32K1x (light automotive)
- Renesas – RA family + HS300x
- Microchip – PIC16F184xx / SAMC21 for 3-level map
TI
PGA900 – smart sensor conditioner
MSP430F5xx – soft thresholds
Do not replace with TI HV insulation monitor ICs.
ST
LPS22HB / LPS28DFW – digital pressure
STM32G0 / G4 – charging logic
Ready for “alert → derate” flow.
NXP
FXPS7115D4 – automotive pressure
S32K1x – integrate with JEITA
Same bus, but different from HV iso domain.
Renesas
HS3003 / HS300x – env hook
RA2 / RA4 – local constraints
Trend-level logging supported.
onsemi
NCS333 / NCV333A – zero-drift AFE
Use with external digital sensor
Charging-domain only.
Microchip
MCP6N16 – bridge INA
PIC16F184xx / SAMC21 – 3-level alarm map
Good for small-batch protos.
Melexis
MLX90830 – automotive pressure
For sealed pack diagnostics
Order in advance.
Small-batch tips: prefer QFN / SOIC / TSSOP devices (PGA900, MCP6N16, NCS333, LPS22HB) for hand-assembly. Pressure sensor bodies and Melexis automotive parts often require lead time. Keep TI/ST/NXP digital pressure in the AVL so you can swap when delivery shifts.
Integration with Charging State Machine
Environmental alarms must be synchronized with the charger’s own states (Precharge → CC → CV → Balancing). Each state allows a different sampling rate and a different reaction. This section shows how to plug the pressure/leak channel into that state machine without taking over protection actions.
Precharge
At power-up or before entering fast charge, run a pressure/gas self-check. If pressure is far above the compensated baseline, do not enter fast charge. If it is slightly high, start charging but force a low current. Always co-qualify with JEITA because cold packs may show higher pressure.
CC (Fast Charge)
This is the stage where pressure is most likely to rise. Use the highest sampling rate here. On an alarm: first derate (take min(JEITA, pressure)), then watch trend, and only if it keeps rising, report to BMS host. If balancing is active, extend the filter time or add a thermal corroboration step.
CV (Taper)
Current is lower, so the channel can be sampled slower. However, a sudden high-pressure event in CV is often a fault and should be logged and escalated even if it does not immediately stop charging.
Balancing
Balancing generates heat, which may increase pressure. Use the rule: only treat it as a real leak if pressure is high AND no balancing thermal cause is present. Otherwise, delay the alarm or lower its level. Mark these alarms as “raised during balancing” in the log.
All these states feed the same structure:
charging_constraints {
jeita_current_limit;
pressure_current_limit;
humidity_current_limit;
flags: {
pressure_warn,
pressure_derate,
pressure_stop_request
}
}
The charger takes the minimum of the current limits and forwards the flags. Actual FET / contactor actions are still done in the protection domain.
Small-Batch Procurement & Cross-Brand Alternatives
This section explains how to buy pressure/gas sensing parts for charging-domain use when lead time is long or inventory is mixed. The selection order is range → interface → alert capability → brand. Do not let purchasing replace these parts with high-voltage insulation monitor ICs — that is a different safety domain.
Small-batch pain points
- Pressure / gas sensors often 8–12 week lead time.
- Register maps differ across ST / NXP / Renesas.
- Analog-only parts require AFE or a small MCU.
- LGA vs SOIC/TSSOP mismatch for hand-soldering.
Procurement sequence
- Lock range: 0–2 bar (typ. closed battery pack)
- Lock interface: I²C > analog > SPI
- Check ALERT/INT pin; if none → MCU soft-compare
- Then pick brand from the 7-vendor pool
Domain guard
Do NOT use HV insulation monitor ICs as pressure/leak replacements. They measure electrical isolation, not physical pack environment. Keep this path inside the charging measurement domain.
TI
PGA900 – smart sensor conditioner
MSP430FR2xxx – soft thresholds
keep in charging domain
ST
LPS22HB / LPS28DFW
I²C / SPI + INT
stable mid-lead-time
NXP
FXPS7115D4 / DI4T1
automotive pressure
plan stock ahead
Renesas
HS3003 / HS300x (env)
RA2 / RA4 for derating
good for trend logging
onsemi
NCS333 / NCV333A
zero-drift AFE
for analog-only sensors
Microchip
MCP6N16 + PIC16F18446
soft-compare in MCU
MOQ-friendly
Melexis
MLX90830 – auto pressure
good for sealed packs
often long lead time
BOM remark templates (copy/paste):
1) Alternative digital pressure sensors allowed if I²C address, alert polarity and 0–2 bar range are matched; otherwise charger firmware update is required.
2) Do NOT replace with high-voltage insulation monitor ICs — different safety domain and signal scaling.
3) If only analog bridge sensors are available, use approved AFE list (TI PGA900, Microchip MCP6N16, onsemi NCS333) and keep 3-level pressure thresholds in the charger MCU.
Frequently Asked Questions
This FAQ is scoped to pack pressure / leak detection inside the charging domain. It does not cover high-voltage insulation checks, pack FET control or traction-level BMS protection.
When pack pressure rises during CC, should I stop or derate?
Derate first. Confirm temperature and balancing state, then apply the 3-level model: Level 1 → log; Level 2 → derate; Level 3 → request-to-stop for the protection domain.
How often should I sample digital pressure during fast charge?
Sample faster in CC (the most stressful stage), slower in CV. During balancing, extend the filter time to avoid false alarms from heat-induced pressure changes.
What if pressure is already high at precharge self-test?
Do not enter fast charge. Start with a low-current profile and log the event with stage = precharge so maintenance can check breather or sealing.
How do I merge pressure-based limits with JEITA temperature limits?
Run JEITA first, then apply pressure/leak constraints and take the minimum current. This keeps temperature protection dominant while still reacting to enclosure issues.
Can I feed pressure alerts into the same charging constraints structure?
Yes. Add pressure_current_limit and pressure flags to the structure that already holds JEITA limits.
Should pressure alarms directly open pack FETs here?
No. This page stays in the charging domain. It may issue a request-to-stop or derate, but actual FET/contactors are handled by the protection or upper BMS layer.
What should I log when a pressure or gas alarm occurs?
Log timestamp, charge stage (Pre/CC/CV), measured value, alarm level, sensor ID/channel and whether balancing was active. This makes slow or intermittent leaks diagnosable.
How do I handle a missing or stuck-at pressure sensor?
Fall back to a conservative charging profile, raise a sensor_fault flag and require maintenance. Keep charging slow but safe so the pack can still be serviced.
Can I reuse the same AFE as the cell monitor for pressure?
Yes, but stagger the sampling so the extra channel does not disturb cell voltage measurement. This is especially important when long sensor wires are used.
Can I swap ST’s digital pressure sensor with an NXP FXPS device?
You can if I²C address, alert polarity and measurement range match. If not, the charger firmware must be updated to the target device’s register map.
Why can’t I use an HV insulation monitor IC instead?
Because it measures electrical isolation (Riso, leakage to chassis), not internal gas/pressure build-up. It belongs to a different safety domain and responds much faster.
What do I tell purchasing when sensors have 8–12 week lead time?
Tell them to lock I²C and range first, then open the vendor list across TI, ST, NXP, Renesas, onsemi, Microchip and Melexis. The MCU will do soft thresholds to absorb differences.