AUTO-410 · Lesson 6 of 12 · 19 min
Battery management, balancing and thermal management
Two weeks after her visit about the engine running at stops, Ines is back. On a long rideshare shift on a warm chinook afternoon, the car felt weak pulling away from lights, the engine ran far more than usual, and the fuel economy display dropped. There is no warning light, but the scan tool shows a stored history entry: battery temperature high, output limited. Marty sits Kiran down with the battery data. "The battery itself might be fine. The question is whether its manager has been protecting it from something. Let's find out what."
This lesson covers the battery management system, which watches every cell and decides what the battery may do; how it keeps cells balanced; how contactors and precharge circuits connect the pack safely; how it monitors isolation; and how batteries are kept at the right temperature by air, liquid and heat pump systems. It ends with Ines's fix.
What the battery management system does
The battery management system, or BMS, is a set of electronics inside and around the pack. Small monitoring circuits on each module measure every cell group's voltage and several temperatures, and a main controller collects the data, estimates the state of charge and state of health, and calculates how much current the battery may accept or deliver at that moment. It shares those limits with the hybrid or powertrain control module, which must stay within them. The BMS also controls the contactors, monitors the pack's current with a shunt or Hall sensor, checks the isolation between the high-voltage system and the body, controls the battery's cooling and heating, and records faults.
Its central job is protection. A lithium-ion cell must stay within a voltage window, for NMC about 3.0 to 4.2 volts, and a temperature window, typically charging only above about 32 °F and discharging between about −22 and 140 °F. Outside those windows, cells age quickly or can fail dangerously. Because the pack is only as good as its weakest cell group, the BMS sets its limits from the most extreme readings, not the average: the highest cell voltage limits charging, the lowest limits discharging and the hottest limits both.
Power limits
The power the battery may deliver or accept is not fixed. The BMS calculates it continuously from the state of charge and the temperature, and the vehicle feels the result: an electric vehicle in a deep freeze accepts little regenerative braking and charges slowly, and a hybrid with a hot battery runs its engine more because the battery cannot supply its usual share. The limit is a curve with full power in the middle of the temperature range and less toward each end.
# Battery power limit from temperature and state of charge (illustrative curve for a hybrid pack)
def power_limit_kw(temp_c, soc):
full = 25.0 # kW available in the ideal window
if temp_c < -30 or temp_c > 60: t = 0.0
elif temp_c < 0: t = 0.4 + 0.6 * (temp_c + 30) / 30
elif temp_c <= 40: t = 1.0
else: t = 1.0 - 0.8 * (temp_c - 40) / 20
s = 1.0 if 30 <= soc <= 75 else 0.6
return full * t * s
for temp, soc in [(-20, 55), (0, 55), (25, 55), (45, 55), (52, 55), (25, 20)]:
print(f"battery {temp * 9 / 5 + 32:3.0f} F, SOC {soc} percent: discharge limit {power_limit_kw(temp, soc):4.1f} kW")battery -4 F, SOC 55 percent: discharge limit 15.0 kW battery 32 F, SOC 55 percent: discharge limit 25.0 kW battery 77 F, SOC 55 percent: discharge limit 25.0 kW battery 113 F, SOC 55 percent: discharge limit 20.0 kW battery 126 F, SOC 55 percent: discharge limit 13.0 kW battery 77 F, SOC 20 percent: discharge limit 15.0 kW
On Ines's afternoon, the recorded battery temperature reached about 126 °F. At that temperature, the limit falls to well under half of normal, which matches what she felt: weak acceleration and an engine that ran almost constantly.
Cell balancing
No two cells are identical. They differ slightly in capacity, internal resistance and self-discharge, and those small differences grow over thousands of cycles, so some cell groups drift higher in charge than others. Because the BMS must stop charging when the highest group reaches its limit and stop discharging when the lowest reaches its limit, an unbalanced pack has less usable capacity than its cells could give. Balancing brings the groups back together.
Most packs use passive balancing: during or after charging, the BMS switches a small resistor across the highest groups and burns off a little of their charge as heat until they match the others. It is simple and cheap but slow and wasteful. Active balancing moves charge from high groups to low ones with small converters, recovering energy rather than wasting it; it is more complex and used in some packs. Either way, balancing needs time, which is one reason makers recommend leaving an electric vehicle plugged in after it finishes charging, and why Hal's LFP van needs its regular full charge.
# Cell group voltage spread: a quick check of balance and weak groups
groups = [3.912, 3.915, 3.910, 3.914, 3.909, 3.913, 3.911, 3.916, 3.912, 3.914, 3.869, 3.913]
hi, lo = max(groups), min(groups)
avg = sum(groups) / len(groups)
spread_mv = (hi - lo) * 1000
print(f"{len(groups)} groups: average {avg:.3f} V, highest {hi:.3f} V (group {groups.index(hi) + 1}), lowest {lo:.3f} V (group {groups.index(lo) + 1})")
print(f"spread {spread_mv:.0f} mV -> {'normal' if spread_mv <= 30 else 'out of balance or a weak group: look at that group under load'}")12 groups: average 3.909 V, highest 3.916 V (group 8), lowest 3.869 V (group 11) spread 47 mV -> out of balance or a weak group: look at that group under load
A spread of 46 millivolts at rest on an NMC pack is larger than the maker's normal range, and one group stands out. A single low group is often a cell with higher self-discharge or a poor connection. The BMS records it, balances it if it can, and sets a code if it cannot. The diagnosis lesson shows how to tell a weak group from a balance problem; for now the point is that the spread is one of the first things a technician reads.
| Check | What it shows |
|---|---|
| Voltage spread at rest | Balance between cell groups |
| Spread under load | A group with high internal resistance sags more |
| Temperature spread | Cooling problems, or a group heating from high resistance |
| State of health | Capacity compared with new |
| Isolation resistance | Leakage between the high-voltage system and the body |
| Contactor and precharge history | Welded or slow contactors, precharge faults |
Contactors and precharge
The pack connects to the vehicle through two main contactors, one on the positive side and one on the negative, so that both sides are disconnected when the vehicle is off. Closing them directly onto the inverter's empty capacitors would cause an enormous inrush current and weld the contacts together. So the BMS first closes a precharge relay, which connects the pack through a resistor, and lets the capacitors charge over a fraction of a second. When the bus voltage reaches about 95 percent of the pack voltage, the main contactor closes and the precharge relay opens.
# Precharge: how long the inverter's capacitors take to reach 95 percent through the precharge resistor
import math
v_pack = 360.0
r_pre = 40.0 # ohms
c_bus = 800e-6 # farads
tau = r_pre * c_bus
t95 = -tau * math.log(1 - 0.95)
peak_inrush_direct = v_pack / 0.05 # if closed directly: limited only by about 0.05 ohm of wiring
print(f"time constant {tau * 1000:.0f} ms; 95 percent after {t95 * 1000:.0f} ms")
print(f"peak current through the resistor: {v_pack / r_pre:.0f} A; without it: about {peak_inrush_direct:,.0f} A")time constant 32 ms; 95 percent after 96 ms peak current through the resistor: 9 A; without it: about 7,200 A
The BMS watches the bus voltage rise during precharge. If it rises too slowly, the bus has a fault such as a shorted component; if it is already high, a contactor may be welded closed. Either sets a code and keeps the system off, which is one of the reasons a vehicle may refuse to become ready.
Isolation monitoring
The high-voltage system is isolated from the body, so a single fault from one side to the body does not cause a shock, but it removes a layer of protection, and a second fault on the other side could make the body dangerous. The BMS therefore measures the isolation resistance between each side of the high-voltage system and the chassis continuously. Safety standards express the minimum as ohms per volt of system voltage: FMVSS 305 and the UN regulation for electric vehicles require at least 100 ohms per volt for DC circuits and 500 ohms per volt for AC circuits, unless the AC circuits are additionally protected. For a 360 volt system, that is at least 36 kilohms or 180 kilohms. Healthy systems measure in the megohms. When isolation falls, the BMS sets a code and, below a critical level, may refuse to close the contactors. The capstone traces one such fault.
Thermal management
Because temperature limits the battery's power, life and safety, every traction battery is cooled, and most are also heated. Ines's hybrid uses the simplest system: a fan draws cabin air through an intake beside the rear seat, through the battery's air channels and out to the trunk, so the battery is cooled by air at cabin temperature. Most electric vehicles, including Dr. Singh's and Hal's van, use liquid: coolant runs through plates under or between the modules, and the loop can be cooled by a radiator, by the air conditioning system through a heat exchanger called a chiller, or by the heat pump, and heated by a high-voltage coolant heater or by waste heat from the drive unit. Kiran met the chiller and the heat pump in the climate control course.
In cold weather, heating the battery before charging or driving, called preconditioning, lets it accept power sooner and saves the driver range, especially when the vehicle is still plugged in so the energy comes from the grid. In hot weather, cooling the battery during DC fast charging prevents the BMS from slowing the charge. A failure anywhere in the thermal system usually shows first as reduced power or slow charging, not as a battery fault.
Ines's fix
The data tell the story. During the hot afternoon, the battery's temperature rose steadily while the cooling fan ran at full speed, and the temperature spread between the inlet and outlet sensors was small, which means little air was moving through it. Kiran removes the intake grille beside the rear seat. The filter behind it is a felt mat of dog hair, lint and crumbs; Ines carries many passengers with pets. With the filter cleaned and the duct vacuumed, Kiran runs the fan test in the scan tool: the fan speed command and its feedback agree, and the airflow at the outlet is strong.
# Battery air cooling: heat removed by the fan airflow, before and after cleaning the intake
air_density = 1.15 # kg per cubic meter, warm cabin air
cp = 1.005 # kJ per kg per degree
for label, flow_m3h, t_in, t_out in [("clogged intake", 40, 34.0, 36.0), ("after cleaning", 170, 34.0, 38.5)]:
mass_kg_s = flow_m3h / 3600 * air_density
heat_kw = mass_kg_s * cp * (t_out - t_in)
print(f"{label:15}: about {flow_m3h * 0.589:.0f} cfm, removing {heat_kw:.2f} kW")clogged intake : about 24 cfm, removing 0.03 kW after cleaning : about 100 cfm, removing 0.25 kW
Four times the airflow removes several times as much heat. On the road test that afternoon, Kiran pulls the battery hard with repeated accelerations; the temperature settles about 22 °F lower than before, and the power limit stays at its normal value. The cell group spread at rest is 14 millivolts, well inside normal. She shows Ines the filter and writes in the record that it should be cleaned at every oil change, given her passengers, and that the intake must never be blocked by bags or blankets.
Worked problem
Isolation resistance limits
A 400 volt DC system must meet a minimum of 100 ohms per volt. The BMS reports 2.5 megohms on the positive side and 31 kilohms on the negative side. Does it meet the minimum?
Show solution
- The minimum is 100 × 400 = 40,000 ohms, or 40 kilohms.
- The positive side, at 2.5 megohms, passes easily.
- The negative side, at 31 kilohms, is below 40 kilohms.
Answer: No: the negative side has an isolation fault, and the vehicle must be diagnosed before use.
Common mistakes
MistakeReplacing a hybrid battery for reduced power without checking its cooling.
InsteadCheck temperatures, fan operation and the intake filter first.
MistakeReading only the average cell voltage.
InsteadThe BMS limits are set by the highest, lowest and hottest groups.
MistakeAssuming a high resting spread means a bad battery.
InsteadIt may need balancing; check it again after a full charge and rest, and under load.
MistakeIgnoring a precharge fault code.
InsteadIt may mean a shorted component or a welded contactor; diagnose before re-enabling.
MistakeBlocking a hybrid's battery intake with cargo.
InsteadTell the owner where the intake is and keep it clear.
Summary and key terms
- The BMS measures every cell group's voltage and temperature, estimates charge and health, and sets the battery's power limits.
- Limits come from the most extreme cell group, not the average.
- Power falls at low and high temperatures and at the ends of the charge window.
- Passive balancing bleeds high groups; active balancing moves charge between them.
- A precharge relay and resistor charge the inverter's capacitors before the main contactors close.
- Isolation is monitored continuously; the minimum is 100 ohms per volt for DC circuits.
- Air, liquid, chiller, heat pump and heater systems keep the battery in its temperature window; cooling faults show as reduced power.
- Battery management system
- The electronics that monitor the cells, set the battery's limits and control its contactors and cooling.
- Cell balancing
- Bringing cell groups to the same state of charge.
- Passive balancing
- Balancing by bleeding charge from high groups through resistors.
- Precharge
- Charging the inverter's capacitors through a resistor before the main contactor closes.
- Isolation resistance
- The resistance between the high-voltage system and the vehicle body.
- Chiller
- A heat exchanger that cools battery coolant using the air conditioning system.
- Preconditioning
- Heating or cooling the battery before driving or charging.
Practice problems
Work each problem on paper first, then reveal the answer to check.
Which cell group's voltage limits charging?
Show answer
The highest one.
Why is a precharge resistor needed?
Show answer
To limit the inrush current into the inverter's capacitors so the contactors do not weld.
What is the minimum isolation resistance for a 360 V DC system at 100 ohms per volt?
Show answer
36 kilohms.
What was wrong with Ines's car?
Show answer
The battery's cooling intake filter was clogged, so the battery overheated and its power was limited.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.