Post Go back to editing

CN0510 with ADuCM355 for battery measurement

Category: Hardware
Product Number: ADUCM355

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:

  1. 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)?
  2. 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?
  3. 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?
  4. Is there an ADI reference design or app note for online/in-service battery monitoring (cells in a live string) rather than bench characterization?
  5. 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?
  6. 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

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.