INA228 Battery Current/Voltage Monitor¶
Overview¶
This circuit implements a battery monitoring system using the Texas Instruments INA228 current/voltage monitor IC. It measures both battery voltage and current through a low-side shunt resistor configuration, suitable for 48V battery systems with currents up to 500A (or any value, just need to keep shunt voltage <±163.84 mV)
System Architecture¶
Measurement Configuration¶
- Battery Voltage Monitoring: Direct measurement of battery positive terminal via VBUS input
- Current Measurement: Low-side shunt configuration with differential voltage measurement
- Communication: I2C interface at 7-bit address 0x40
- Supply Voltage: 3.3V logic supply
Connection Descriptions¶
Power and Signal Connections¶
Battery Interface¶
- VBUS_INA228: Connected directly to battery positive terminal
- Feeds INA228 pin 8 (VBUS) for voltage measurement
- Connected through R79 (100Ω) to system load
- Low-pass filtered by R79 and C8 (1µF, 100V)
Current Shunt Interface¶
- IN+_INA228: High side of low-side shunt resistor
-
Connected through R72 (100Ω) to INA228 pin 10 (IN+)
-
IN-_INA228: Low side of shunt resistor (battery ground/negative)
- Connected through R73 (100Ω) to INA228 pin 9 (IN-)
INA228 IC (U20) Pin Configuration¶
| Pin | Function | Connection |
|---|---|---|
| 1 | GND | System Ground |
| 2 | A0 | System Ground (I2C address = 0x40) |
| 3 | ALERT | ALERT! signal output |
| 4 | SDA | I2C_SDA |
| 5 | SCL | I2C_SCL |
| 6 | VS | 3.3V supply |
| 7 | GND | System Ground |
| 8 | VBUS | Battery positive measurement |
| 9 | IN- | Shunt negative terminal |
| 10 | IN+ | Shunt positive terminal |
Power Supply Decoupling¶
- C8: 1µF, 100V - VBUS supply decoupling
- Power supply decoupling for 3.3V rail (external to this circuit)
Protection Circuitry¶
ESD and Transient Protection¶
Differential Input Protection¶
The differential shunt inputs (IN+ / IN-) are protected by:
- C25 — 100 nF / 100 V (0603) capacitor connected directly between IN+ and IN- at the chip. This is both the differential noise filter and a transient absorber for fast common-mode steps that turn into differential noise across the shunt leads.
- The 100 Ω series resistors R72 and R73 (see Noise Filtering below) which clamp peak fault current into the INA228 inputs.
No dedicated TVS diode array is fitted across IN+ / IN- on the production board. The PESD5V0S1BA footprints in the schematic library are reserved for sensor wiring and are not populated for the shunt path — the shunt is a low-impedance, board-internal connection and the matched series resistors plus C25 provide adequate transient protection.
Note (audit 2026-05-23): Earlier revisions of this document referenced "D20, D21: PESD5V0S1UL" as differential ESD protection. Those designators do not exist in the V9 schematic and there are no TVS diodes on the shunt differential pair. Documentation updated to match as-built.
Overvoltage Protection on VBUS¶
- D15: P6SMB68A transient voltage suppressor
- Connected from VBUS_INA228 to GND, before R79
- Standoff Voltage: 58.1 V (suitable for 48 V nominal / 59 V max battery voltage)
- Breakdown Voltage: 64.6 V min, 71.4 V max
- Clamping Voltage: 92 V max @ IPP
- Peak Power: 600 W (10/1000 µs pulse)
D15 sits ahead of the 100 Ω VBUS series resistor (R79) so that any clamped energy dissipates in the TVS body and battery wiring, not in R79.
Noise Filtering¶
Input Series Resistors — Differential Pair¶
The IN+ and IN- pins each carry a 100 Ω series resistor between the shunt terminal and the INA228 pin. They are deliberately a matched pair (same value, same tolerance, same package, placed symmetrically) so that any common-mode signal at the shunt remains common-mode at the INA228 inputs — asymmetry would convert common-mode noise into differential error voltage, directly visible as apparent shunt current.
- R72 (IN-) = 100 Ω, 0.1% — between J21 pin 2 (shunt -) and INA228 pin 9 (IN-)
- R73 (IN+) = 100 Ω, 0.1% — between J20 pin 2 (shunt +) and INA228 pin 10 (IN+)
The 100 Ω value is a compromise: high enough to limit fault current into the INA228 inputs (worst case 5 V on either pin → 50 mA, within the INA228's 10 mA absolute max only with the C25 + ESD path absorbing the peak), low enough that the input bias current of the INA228 (typ. 1 µA at IN+/IN-) produces only ~100 µV of error — well below the ADC LSB at any practical PGA setting.
Differential Filter¶
C25 (100 nF, 100 V, 0603) is wired directly between IN+ and IN- at the chip pins. Combined with the two 100 Ω series resistors, the differential filter is a single-pole low-pass:
fc_diff = 1 / (2π × (R72 + R73) × C25)
= 1 / (2π × 200 Ω × 100 nF)
≈ 7.96 kHz
Note (audit 2026-05-23): Previous documentation listed fc ≈ 15.9 kHz, which used R = 100 Ω instead of the sum R72+R73 = 200 Ω that the differential signal actually sees. The correct value is 7.96 kHz, half the previously stated figure. Bandwidth is still well above any realistic battery transient of interest (state-of-charge dynamics are sub-Hz; load steps from inverters are <1 kHz).
Why no IN+-to-GND or IN--to-GND caps: Adding either ground-referenced capacitor breaks the impedance match between IN+ and IN- at high frequency. A common-mode signal would then see different impedances on each leg and convert into differential error voltage — the exact failure mode the matched-100 Ω network is built to prevent. C25 stays between the two pins only.
VBUS Filter (Battery Voltage Sensing)¶
- R79: 100 Ω in series between VBUS_INA228 and INA228 pin 8 (VBUS)
- C8: 1 µF / 100 V from INA228 pin 8 to GND
- Cutoff: fc = 1 / (2π × 100 × 1e-6) ≈ 1.59 kHz
Bus voltage on a marine system rarely changes faster than alternator field PWM (1.2 kHz), so 1.59 kHz preserves the dynamics the regulator needs to observe while attenuating wiring-borne pickup above audio frequencies.
All series resistors are footprinted as 0603 and can be replaced with 0 Ω if a test scenario requires unfiltered access.
Electrical Specifications¶
Operating Voltage Ranges¶
INA228 Absolute Maximum Ratings¶
| Parameter | Minimum | Maximum | Unit |
|---|---|---|---|
| Supply Voltage (VS) | - | 6 | V |
| VBUS | -0.3 | 85 | V |
| Differential (VIN+) - (VIN-) | -40 | +40 | V |
| Common-mode (VIN+, VIN-) | -0.3 | 85 | V |
| SDA, SCL | -0.3 | 6 | V |
| ALERT | -0.3 | VS + 0.3 | V |
System Design Margins¶
- Battery Voltage Range: 48V nominal, up to 59V maximum
- VBUS Margin: 85V max rating vs 59V system max = 26V margin
- Common-mode Margin: Both IN+ and IN- operate near ground potential in low-side shunt configuration
Current Measurement Specifications¶
Expected Signal Levels¶
- Maximum Current: 500A (extreme case)
- Typical Shunt Resistance: ~75µΩ to 150µΩ (standard for 500A applications)
- Maximum Shunt Voltage: 500A × 150µΩ = 75mV
- INA228 Differential Range: ±163.84mV (typical) - adequate margin
Power Consumption Analysis¶
INA228 Power Consumption¶
Normal Operation (3.3V Supply)¶
- Supply Current (Typical): 1.1mA
- Supply Current (Maximum): 1.65mA
- Standby Current: 2.8µA (shutdown mode)
Calculated Power Consumption¶
Normal Operation:
P_typ = 3.3V × 1.1mA = 3.63mW
P_max = 3.3V × 1.65mA = 5.45mW
Standby Mode:
P_standby = 3.3V × 2.8µA = 9.24µW
System Power Consumption Estimates¶
Continuous Monitoring Mode¶
| Condition | Supply Current | Power (3.3V) |
|---|---|---|
| Typical Operation | 1.1mA | 3.63mW |
| Maximum Operation | 1.65mA | 5.45mW |
Low Power Modes¶
| Condition | Supply Current | Power (3.3V) |
|---|---|---|
| Shutdown Mode | 2.8µA | 9.24µW |
Note: Power consumption figures do not include I2C pull-up resistor power or external circuitry
Performance Characteristics¶
Measurement Accuracy¶
- Current Measurement Resolution: Depends on shunt value and ADC configuration
- Voltage Measurement Resolution: Programmable, typically 16-bit effective
Filtering Performance¶
- VBUS Filter Bandwidth: ~1.59kHz (-3dB point)
- Differential Filter Bandwidth: ~7.96kHz (-3dB point) — see corrected calculation above
- Common-mode Rejection: Enhanced by symmetric input impedance design
I2C Interface Configuration¶
Device Address¶
- 7-bit Address: 0x40 (A0 pin tied to ground)
- R/W Bit: Bit 0 of I2C transaction
- Full 8-bit Address: 0x80 (write), 0x81 (read)
Communication Features¶
- ALERT Pin: Configurable threshold alerts
- Data Rate: Standard I2C speeds supported (100kHz, 400kHz)
Design Verification Checklist¶
Critical Parameters Verified¶
- ✅ P6SMB68A standoff voltage (58.1 V) above max battery voltage (59 V)
- ✅ All capacitor voltage ratings (100 V) above max system voltage (59 V)
- ✅ INA228 VBUS rating (85 V) above max battery voltage (59 V)
- ✅ Differential signal range (±163.84 mV at PGA = 1) within INA228 limits
- ✅ VBUS protection (P6SMB68A) appropriate for battery overvoltage events
- ✅ Filter cutoff frequencies (7.96 kHz differential, 1.59 kHz VBUS) suitable for battery monitoring
- ✅ Symmetric 100 Ω / 0.1 % input impedance for optimal common-mode rejection
- ✅ No ground-referenced capacitors on differential inputs — prevents CM→DM conversion