Hi all,
What I built: I combined CN0510 with the ADuCM355. CN0510 is normally an AD5940 (standalone AFE) + a separate host controller. The ADuCM355 integrates that same AD5940 analog die + an ARM Cortex-M3 MCU in one package, so I used the ADuCM355 as the combined AFE + MCU (no separate AD5940 or host processor). Around it, I replicated the CN0510 analog front-end on my own board:
- external current driver into the cell (excitation),
- 50 mΩ RCAL calibration resistor,
- AD8694 receive gain stage (since the RCAL/battery voltages are µV-level),
- ADG636 mux to select RREF (RCAL) vs SENSE (battery),
- 4-wire Kelvin, AC-coupled, ratiometric measurement (
Z = Rcal × Vbat/Vrcal) using the on-chip DFT.
Two batteries on one device: the board is designed to measure two batteries with a single ADuCM355/front-end, using relays to select which battery is connected. Only one battery is connected to the measurement front-end at a time — I measure battery 1, then switch the relay so battery 2 is connected, and measure that. (The RCAL/EIS front-end is shared; the relay just routes one cell at a time to it.)
Firmware is adapted from the AD5940 4-wire battery impedance example (M355_4WireZ / AppBAT…), running on the ADuCM355's Cortex-M3. I measure at ~347 Hz–1 kHz, single frequency. (I changed GPIO assignments and some config to fit my board.)
Standalone (single isolated battery):
- The readings come out close to a Hioki 1 kHz meter, but with some minor deviation (e.g. ours ~7.48 mΩ vs Hioki 7.46 mΩ on one cell, and a larger offset on others). I also see board-to-board variation — different boards measuring the same cell don't read identically. So even in the clean isolated case I'm not fully matching the reference, and I'd like to understand the expected accuracy / what drives this spread.
The problem (my actual application):
- When the same cell is part of a series battery string, the measured impedance drops (parallel current paths — I appear to read Z_cell ∥ Z_rest).
- When the UPS/charger is powered ON, the measurement collapses — the readings become garbage/unstable. I believe the UPS DC-bus capacitance is shunting my injected AC current at the measurement frequency, and the charger ripple is burying the µV signal.
My questions:
- For the isolated-cell case, what accuracy should I expect from CN0510, and what typically causes deviation from a reference meter and board-to-board variation (RCAL tolerance, lead/contact resistance, calibration)?
- Is CN0510 intended only for isolated/bench cell characterization, or can it be adapted to measure a single cell in-situ within a live, charging series string?
- How should I handle the UPS DC-bus capacitance shunting the injected current, and the charger ripple noise? Is there a recommended excitation frequency / current / filtering approach?
- Is there an ADI reference design or app note for online/in-service battery monitoring (cells in a live string) rather than bench characterization?
- Would a lower excitation frequency (where the bus caps present higher impedance) or a passive / ripple-based EIS approach (using the UPS's own ripple as excitation) be more appropriate here?
- With two batteries sharing one front-end via relays (one connected at a time), is there anything to watch for — e.g. the unselected battery / relay path affecting the measurement, or settle time after switching?
I shared the front-end schematic.
Thanks,
RAKESH