Precharging

Source: docs.foxbms.org — Precharging


Purpose

Precharging limits potentially high inrush current during startup of high voltage DC applications. Without precharge, the DC-link capacitor in the inverter would draw destructive current through the contactors.

Circuit

Three States

State Contactors Description
Off All open No power delivery
Precharge Precharge + one main closed Current limited by resistor
On Both main closed, precharge open Full power delivery

Success Criteria

|V_string - V_bus| < threshold

Where: - V_string = sum of all cell voltages (from AFE via database) - V_bus = HV bus voltage (from IVT Voltage 3, CAN ID 0x524, highVoltage_mV[s][2])

Failure Detection

BMS monitors voltage and current during precharge: - If conditions not met within timeout → precharge failure → ERROR state - Timeout configurable in bms_cfg.h

Dimensioning Tool

tools/precharge/precharge_dimensioning.ipynb — Jupyter notebook for RC calculations.

Key Discovery (POSIX Port)

foxBMS uses highVoltage_mV[s][2] (index 2 = IVT Voltage 3 = CAN 0x524) for HV bus voltage, NOT index 0 (0x522). The plant model must send matching voltage on all three IVT voltage channels (0x522, 0x523, 0x524).