Contactor Weld Detection in High-Voltage Battery Packs
← Back to: High-Voltage Energy & Safety
In this topic I focus on how to prove my HV pack really disconnects when I command it off. I use contactor weld detection based on voltage and current signatures, build redundant comparator chains and then turn those requirements into concrete IC choices, layout rules and procurement checklists I can stand behind in safety reviews.
What is contactor weld and why it matters
When I design a high-voltage battery pack, contactor weld is one of the failure modes I never treat as a “rare exception”. It sits directly between my isolation concept, my functional safety goals and the real-world risk for drivers, service technicians and first responders.
How I classify weld and related failure modes
- Welded closed – the coil is de-energised but the contacts remain firmly closed. I send an open command, yet the load-side bus still tracks pack voltage.
- Welded open – the coil is driven but the contacts never make a reliable connection. The load bus refuses to rise, even though my BMS believes the contactor has closed.
- Intermittent / single-pole weld – in multi-pole contactors only part of the contact set is welded. The pack behaves differently with vibration, temperature or current level and I see sporadic faults that are hard to reproduce.
- Bounce / delayed opening – the contacts chatter during closing or opening, or separate more slowly than expected. On the scope this shows up as a train of short on/off glitches instead of a clean transition.
Why I cannot ignore weld in a real pack
- Vehicle OFF but HV still live – the driver turns the vehicle off and walks away, but a welded contactor keeps the traction bus energised. Any later fault or misuse can start from a much more dangerous state.
- Service shock risk – technicians follow the service manual, pull the service plug and wait for the discharge delay, but due to weld the bus stays at a hazardous voltage level.
- Crash and emergency response – after a crash the restraint system requests HV shut-down. If welded contacts silently defeat that request, I cannot honestly claim that the vehicle isolates high voltage within the required time.
- Unpredictable system behaviour – intermittent weld or bounce makes the vehicle difficult to diagnose. My safety concept assumes clean open/close states, while the real hardware sits in a grey zone.
How standards push me to implement weld detection
Regulations such as ISO 6469 and UN R100 put explicit limits on how quickly a vehicle must bring high-voltage down to a safe level after shut-down or a crash. A welded contactor directly threatens those isolation and discharge times, so I need a way to confirm that my “open” command really translated into an open circuit.
From a functional safety perspective, under ISO 26262 a welded contactor is treated as a fault that can defeat my high-voltage isolation goal. Weld detection then becomes a safety mechanism with its own diagnostic coverage and reaction time requirements, not just an optional convenience feature.
This is why in my pack projects I treat weld detection as a first-class design topic: it links high-voltage hardware behaviour, safety requirements and day-to-day service risks into one consistent concept.
HV contactor architectures and failure modes
Before I can design weld detection, I need a clean mental model of how the high-voltage contactors sit inside the pack. In most projects the structure is similar: a positive main contactor, a negative main contactor and a dedicated pre-charge branch that brings the external bus up in a controlled way.
Typical HV pack contactor topology
- Positive main contactor – connects the pack positive terminal to the external HV bus. It is usually the primary isolation point for traction power.
- Negative main contactor – connects the pack negative terminal or return to the external bus. It can support fault isolation and coordinate with HVIL concepts.
- Pre-charge contactor – routes current through a pre-charge resistor so that the external bus capacitance charges gently before the main contactors close.
- HV load bus – the combined DC link for inverter, on-board charger and DC fast-charge interface. For weld detection I mainly care about how its voltage tracks the pack and how current behaves during switching.
Around this topology I place several measurement points that I will reuse for weld detection:
- Pack voltage – measured inside the pack, referenced to pack negative.
- Load-side bus voltage – measured on the inverter/charger side of the contactors.
- Pre-charge resistor voltage – used to see how quickly the bus is charging and whether current is flowing along the intended path.
- Bus current – obtained from a shunt or Hall sensor in series with the main path and used as a secondary indicator of weld or open-circuit behaviour.
Failure modes versus voltage and current behaviour
Once the topology is clear, I can map common failure modes to the voltage and current patterns I expect to see at those measurement points. That map later drives my comparator thresholds and timing windows.
| Failure mode | Expected behaviour | Observed voltages / currents |
|---|---|---|
| Normal close / open | Load bus rises to near pack voltage after pre-charge and drops to a safe level within the specified discharge time after open commands. | Pack and load voltages track closely when closed; load voltage decays in a predictable RC manner when opened. Bus current follows the expected pre-charge and run profiles. |
| Welded closed | After an open request, the contactor should become an open circuit and isolate the load bus. | Load bus voltage stays high and closely follows pack voltage. Even after discharge commands, the external bus may remain energised and residual current can keep flowing through unintended paths. |
| Welded open | After a close request, the main contactor should pull the load bus up to pack voltage and allow nominal operating current. | Pack voltage is present, but the load bus remains low or only partially rises through leakage or pre-charge. Bus current never reaches the expected run value. |
| Intermittent / single-pole weld | The contactor should provide a stable, low-resistance connection during the commanded on period. | Load bus voltage and bus current fluctuate with vibration, temperature or current peaks. I may see sporadic drops, spikes or fault flags that are hard to reproduce on the bench. |
| Bounce / delayed opening | The bus should transition cleanly from on to off within a defined time window after the open command. | Scope traces show multiple short on/off transitions or a slow decay instead of a single clean step. Without filtering, a simple threshold detector would see this as multiple faults. |
With this architecture and failure map in place, I can now look at voltage and current signatures in more detail and decide which measurement points and thresholds give me reliable weld detection without excessive false trips.
Voltage and current signatures for weld detection
Once the contactor architecture is clear, I treat voltage and current signatures as my main clues for weld detection. I always look at the same measurement points — pack voltage, load-bus voltage, pre-charge resistor voltage and bus current — across a few key time windows in the drive cycle.
Key timing windows I care about
- Before power-up (vehicle OFF) — I compare pack voltage to the external HV bus. With the vehicle shut down and discharge complete, the load bus should sit at or near a safe residual voltage while the pack remains at its nominal level.
- During pre-charge and main-contact close — I watch how quickly the load bus rises, how the pre-charge resistor voltage collapses and how bus current ramps up as the path switches from the resistor to the main contactors.
- Immediately after an open command — the external bus should decay towards a safe level within the specified discharge time, and bus current should follow a reasonably smooth RC-like decay.
- Pre-charge comparison window — by comparing the behaviour of Vpre and Vload, I can separate “welded contactor” from “pre-charge path fault” or “load-side anomaly”.
Normal versus welded and pre-charge fault signatures
In a healthy system, I see a consistent pattern:
- Before power-up, Vpack is high while Vload has already decayed to a safe level.
- During pre-charge, Vload rises with an RC-like slope and the voltage across the pre-charge resistor shrinks as the bus charges.
- After the main contactors close, Vload quickly tracks Vpack, and after an open command both Vload and Ibus fall in a predictable way within the allowed discharge window.
With a welded closed fault, the most striking signature is that the load bus behaves as if the contactor never opened:
- After an open command, Vpack remains normal and Vload stays close to it instead of decaying towards zero.
- Ibus may not drop to zero as expected and can show residual or leakage current flowing through unintended paths.
With a welded open or failed close, I see the opposite pattern:
- The BMS commands a close, but Vload stubbornly stays low or rises only through leakage and small parasitic paths.
- Vpre can show a sustained voltage drop and Ibus never reaches the expected operating level.
For pre-charge path faults, my goal is not to confuse them with weld:
- If the pre-charge contactor or resistor is open, Vload rises too slowly or hardly at all, while Vpre shows an abnormal long-lasting voltage.
- If the pre-charge path is shorted, Ibus spikes much higher than expected for a short interval and may trigger protection elements even before the main contactors close.
In practice I rarely rely on a single waveform. I combine Vpack, Vload, Vpre and Ibus to decide whether I am looking at a welded contactor, a pre-charge issue or a load-side anomaly. In the next section I turn these signatures into concrete comparator thresholds and time windows.
Comparator-based weld detection schemes
After I understand the voltage and current signatures, the next step is to turn them into simple, robust comparator schemes. The goal is not to implement a full algorithm in hardware, but to generate fast, reliable weld-detection flags that a BMS or safety MCU can trust.
From simple thresholds to window comparators
A basic starting point is a single threshold on the load-bus voltage. After an open command I can define a time window, for example N milliseconds, and check whether Vload has dropped below a chosen percentage of Vpack. If Vload is still too high at the end of that window, I treat the condition as a potential welded closed fault.
In practice I prefer to extend this into a window comparator. Two thresholds define three regions:
- A “weld suspect” region close to Vpack, where the load bus is clearly still energised when it should not be.
- A “safe” region near zero, where Vload has fallen below the allowed residual voltage.
- A middle region that can indicate slow discharge, large bus capacitance or unusual loads, where I let the MCU perform a more detailed check.
I can apply the same idea to close events: within a defined window after a close command, Vload is expected to enter and remain in a “close confirmed” band near Vpack. If it fails to do so, I treat the contactor as welded open or the path as incomplete.
Combining multiple measurement channels
To separate weld from pre-charge and load problems, I like to pair the main Vload window comparator with at least one additional channel:
- A comparator on the pre-charge resistor voltage to confirm that current actually flows through the intended path during pre-charge and collapses afterwards.
- A comparator on bus current Ibus to flag the absence of current when the system expects the contactor to be closed, or to detect abnormal spikes during pre-charge and open events.
This gives me several binary views of the same signatures: “Vload in safe band or not”, “Vpre in pre-charge band or not”, “Ibus above or below a minimum level”. The combination of these results is often enough to distinguish welded contactors from other fault types.
Comparator versus ADC: fast flags and detailed diagnostics
I treat comparators as my fast safety front-end and the BMS ADC as my detailed observer. Comparator outputs are wired to safety-related inputs and provide a clear “good / bad” indication within a short, deterministic delay. The ADC samples the underlying voltages and currents at a lower rate and is responsible for logging, trending and fine-tuning thresholds over time.
In a typical design, a weld-suspect comparator output can directly trigger a protective reaction or at least force the system into a restricted state, while the MCU simultaneously captures waveforms for later analysis. This division of labour keeps the safety path simple and verifiable without giving up the insight that detailed measurements provide.
Dealing with dv/dt, EMI and false trips
Raw contactor waveforms are rarely perfect. Fast edges, dv/dt coupling and EMI can cause short-lived spikes that cross the comparator thresholds without representing a true weld condition. To keep false trips under control, I rely on a few simple techniques:
- Adding hysteresis to comparator inputs so that small oscillations around the threshold do not cause chattering.
- Applying a short blanking time immediately after close or open commands so that the circuit ignores the very first, most energetic transient.
- Using modest RC filtering to smooth narrow spikes while still preserving the overall signature shape needed for detection.
I usually derive these settings from real oscilloscope captures of worst-case switching events instead of guessing. That way, my comparator schemes remain sensitive to true weld behaviour while remaining tolerant to the inevitable noise of a high-voltage EV powertrain.
Redundancy, diagnostics and functional safety
In an ASIL-rated HV pack project I can not treat weld detection as a single sensor and a single threshold. I need redundant views of the contactor behaviour, diagnostics for the signal chain itself and a clear link into my functional safety concept so that weld detection becomes a deliberate safety mechanism, not just a convenience feature.
Redundant channels and independent views
When I say “redundant inputs” for weld detection, I rarely mean duplicating the exact same measurement twice. Instead I build two channels that look at the contactor from different angles and avoid sharing the same single points of failure:
- One channel focuses on voltage across the contactor path, for example comparing the load-bus voltage to pack voltage after open and close commands.
- A second channel focuses on the relationship between pack voltage, load-bus voltage and bus current, watching whether the system really behaves like a closed or open circuit.
- Whenever the ASIL level justifies it, I try to use different IC families, bias networks or references for these two channels so that one analog fault is less likely to defeat both.
The goal is that a genuine welded closed contactor triggers both channels in a consistent way, while many local failures in one channel are either detected or at least disagreed with by the other channel.
Diagnostic coverage for the weld detection path
Redundant channels only help if I can prove that each channel is alive and operating in its intended range. For weld detection I usually plan diagnostics at three levels:
- Comparator self-check — I deliberately drive the input above and below the thresholds during dedicated test windows and verify that the outputs toggle.
- Input path monitoring — I detect open or short circuits in the divider, sensor or wiring by checking for impossible voltages, stuck-at behaviour or mismatches between redundant channels.
- Threshold and reference checking — I use known test levels or reference-swapping tricks to prove that the window edges are still where I designed them, not silently shifted by a drifted reference or bias network fault.
These diagnostics give me concrete entries in the safety analysis: the weld detection mechanism has its own faults, its own coverage figures and its own reaction times that I can quantify instead of hand-waving.
Functional safety hooks and safety mechanisms
In my safety concept, weld detection usually appears as one or more safety mechanisms underneath the high-voltage isolation safety goal. Each mechanism has a clear definition, such as:
- Detect welded closed main contactor within a defined detection time after an open request and trigger a safe reaction.
- Detect failure to close within a defined window after a close request and prevent unsafe operation or repeated arcing attempts.
- Distinguish weld from pre-charge and load faults so that the system does not blindly restart or continue operating on a damaged contactor.
Once the weld detection outputs are trustworthy, I tie them into higher-level safety actions. Depending on the architecture this may include triggering a pyrofuse or BDU isolation action, preventing the vehicle from re-entering drive, limiting power or forcing a service request. I do not need to describe the entire BDU behaviour on this page, but I make it clear that weld detection is one of the signals that can escalate to stronger HV isolation measures.
For ASIL C or D targets, I then use the combination of redundant channels, diagnostics and defined safety reactions to build the argument that a single undetected weld fault is unlikely to leave the vehicle in a dangerous, energised state.
IC and signal-chain selection map
Once the weld detection concept is clear, I translate it into a concrete signal chain and IC selection plan. My goal is to break the problem into reusable building blocks and then map each block to automotive IC families from the major suppliers, so that design and sourcing stay consistent from project to project.
Functional blocks in the weld detection signal chain
For a typical HV contactor weld detection path I think in terms of a few core blocks:
- High-voltage divider and RC network for Vpack, Vload and Vpre, including surge handling and leakage control.
- Buffers or amplifiers where needed to condition signals, protect comparators and match bandwidth.
- Comparators and window comparators with hysteresis, suitable input common-mode range and propagation delays compatible with my detection windows.
- Digital isolators or optocouplers if any comparator or front-end sits on the high side and I need clean logic-level weld flags on the low-voltage domain.
- Isolated amplifiers or ΣΔ modulators that feed the BMS ADC with higher-resolution versions of the same voltages and currents for logging and fine-grain diagnostics.
Not every design uses every block, but most weld detection schemes can be traced along some combination of these elements, and that is how I structure my internal selection checklists.
Key electrical parameters I watch
For each block, I focus on the parameters that really matter for weld detection, rather than generic “nice to have” features:
- For dividers and RC networks: maximum voltage rating, surge behaviour, leakage current, power dissipation and the RC constant versus the signature bandwidth I want to preserve.
- For comparators: input common-mode range, input offset, propagation delay and output type (open-drain or push-pull) for combining multiple flags.
- For isolators: CMTI rating, channel-to-channel timing skew and guaranteed propagation delay in the presence of fast dv/dt on HV nodes.
- For isolated amplifiers / ΣΔ AFEs: input range, resolution, bandwidth and how comfortably they interface to my BMS or safety MCU.
These parameters then turn into BOM and RFQ fields: target CMTI, allowed delay, required common-mode margin, preferred logic interface and so on. That way suppliers understand that I am designing for weld detection in a high-voltage EV pack, not just any low-voltage comparator application.
Mapping to major vendor IC families
To keep sourcing flexible, I think in terms of “families” instead of single part numbers. For each block in the weld detection chain I identify automotive-qualified families from the major IC suppliers such as TI, ST, NXP, Renesas, onsemi and Microchip, and use those as starting points for detailed selection.
- For window comparators, I look for automotive dual or quad devices with built-in references and hysteresis options so I can implement safe / suspect bands cleanly.
- For isolated amplifiers and ΣΔ front-ends, I focus on families positioned for current and voltage sensing in inverters, OBCs and BMS, as they already match the common-mode and CMTI needs of my weld detection scenario.
- For digital isolators, I prefer automotive ISO families with proven robustness in noisy powertrain environments, and I reuse them across contactor, on-board charger and inverter safety paths.
In the next step, when I turn this page into a BOM and sourcing checklist, I refine the family-level ideas into concrete part numbers and RFQ language so that weld detection stays aligned with my overall HV pack supply strategy.
Layout, grounding and EMC tips for weld detection
Weld detection is very sensitive to layout, grounding and EMC, but the priorities are not the same as for a generic power stage. Here I focus on the layout details that most directly affect how clearly my voltage and current signatures appear at the comparator, and how well those signatures survive real EV noise.
Routing sense lines across the contactor
I treat the voltage sense lines around the contactor like measurement leads, not like power traces. The two most important practices for me are tight coupling and staying away from the main current loop:
- I route the sense pair for each measurement point (for example Vpack and Vload) as a closely coupled pair with similar length and path, so that common-mode noise is more likely to cancel.
- I intentionally keep these pairs away from the high-current contactor loop and fast-switching nodes so that they do not sit on top of the worst dv/dt and di/dt fields.
- I bring the sense pairs into the weld detection AFE area cleanly and only then fan out into the divider and RC network, instead of scattering sense vias around the power bus.
Divider, RC network and dv/dt control
The divider and RC network that feed the comparator are where my signatures either stay readable or get destroyed. I choose their values and placement with both power and noise in mind:
- Divider resistors must handle continuous HV stress without overheating, while keeping leakage current and self-heating low enough that thresholds remain stable over the full temperature range.
- I place the last RC filter stage close to the comparator input, and I size it to smooth fast dv/dt spikes and EMI bursts without erasing the millisecond-scale rise and decay signatures that distinguish weld from normal behaviour.
- Where possible I use short, direct connections from the divider/RC nodes into the comparator so that the filtered node is not re-exposed to noisy copper runs.
Grounding the weld-detection front-end
Weld detection comparators sit at the boundary between noisy HV hardware and the BMS analog domain. If their reference ground bounces or carries large digital return currents, I risk turning clean signatures into false weld flags:
- I reference the weld detection front-end to the BMS analog ground and keep its return path short and predictable, rather than letting it share long, noisy digital ground paths.
- I use a controlled single connection between the analog ground region and the rest of the system ground so that contactor dv/dt currents are not forced through the weld detection ground plane.
- I avoid placing the comparator ground pins and sensitive traces in areas where high di/dt return currents from gate drivers or switching converters are concentrated.
This section only highlights the weld-detection-specific layout and EMC choices that most affect reliability. More general topics like layer stack, plane partitioning, decoupling and return-path control are covered in my global layout and EMC guidelines page, which I cross-link from this topic in my site navigation.
BOM & procurement checklist for weld detection
When I talk to suppliers about my contactor weld detection needs, I do not just ask for a comparator or an isolated amplifier. I describe the safety level, the contactor topology, the detection timing and the noise environment so they can propose devices and reference designs that really fit my HV pack, not just a generic low-voltage use case.
Fields I include in my RFQs and BOM notes
- Our HV battery pack targets ASIL level — for example ASIL C for contactor weld detection — and we need a clear statement of achievable diagnostic coverage for weld-related faults.
- The pack uses a defined pre-charge and contactor topology (for example main positive, main negative and one pre-charge contactor), with a maximum DC bus voltage of … V and peak pre-charge / inrush current of … A.
- Weld detection must be completed within a specified detection time window, such as … ms after an open command and … ms after a close command, including comparator delay and any isolation latency.
- We require a defined number of comparator channels and window thresholds, for example at least two independent channels and three thresholds to cover safe, suspect and fault regions on Vload and pre-charge voltages.
- Comparator and AFE thresholds must meet a target accuracy and drift over the full operating temperature range so that weld decisions remain valid across life.
- The weld detection signal chain will operate in an HV environment with dv/dt up to approximately … V/µs and we require a specified CMTI level and immunity to common EMC test conditions for automotive traction inverters and chargers.
- We need a clear description of the available output interfaces, including open-drain or push-pull weld flags, any isolated digital outputs and supported serial interfaces (SPI, I²C, ΣΔ bitstream or others) for diagnostics and logging.
- For designs with redundancy, we prefer solutions that support two independent measurement paths or can be combined into such an architecture, with guidance on how to avoid common-cause failures between channels.
- Please indicate recommended divider and RC network ranges or example values for Vpack, Vload, Vpre and Ibus sensing so that weld signatures remain visible while passing EMC tests.
- If the proposed ICs include built-in self-test, threshold monitoring or input diagnostics, we ask for details on how these features contribute to functional safety metrics for weld detection.
- Devices must be available in automotive-qualified grades suitable for HV battery packs, with information on AEC-Q status, operating temperature range and long-term availability.
- For each recommended IC family, we ask for reference designs or application notes that specifically show contactor weld detection or similar HV isolation use cases, including example layouts and EMC hints.