文档
INA219 电压电流监测模块 — 技术文档
1. 概述
INA219 是德州仪器 (TI) 推出的高精度 I²C 数字功率监测芯片,集成了 12 位 ADC、可编程增益放大器 (PGA) 和硬件乘法器。模块采用高侧测量方式,可直接串联在电源与负载之间,同步获取电压、电流和功率数据,精度分别达 ±0.5% 和 ±1%,广泛应用于电池管理系统、USB 功耗分析、太阳能充电监测等场景。
核心优势
- 三合一:电压 + 电流 + 功率,一个芯片搞定
- 高侧测量,无需在 GND 回路串电阻
- I²C 数字输出,无模拟噪声困扰
- 可编程 PGA(±40mV ~ ±320mV 量程)
- 板载 0.1Ω 精密采样电阻
2. 引脚定义
| 引脚 | 功能 |
|---|---|
| VCC | 模块供电,3.3V 或 5V(推荐 5V 以获得稳定通信) |
| GND | 电源地 / 通信地 |
| SCL | I²C 时钟 |
| SDA | I²C 数据 |
| VIN+ | 被测电源正极接入端(接电源输出正) |
| VIN- | 被测电源负极输出端(接负载正) |
| A0 / A1 | I²C 地址跳线(焊盘短接),最多支持 16 个不同地址 |
典型接线:电源正 → VIN+,VIN- → 负载正,负载负 → 电源负(GND)。
3. I²C 地址表
INA219 的 7 位基地址为 0x40,通过 A0/A1 跳线派生:
| A1 | A0 | 7位地址 | 8位写地址 |
|---|---|---|---|
| GND | GND | 0x40 | 0x80 |
| GND | VS+ | 0x41 | 0x82 |
| GND | SDA | 0x42 | 0x84 |
| GND | SCL | 0x43 | 0x86 |
| VS+ | GND | 0x44 | 0x88 |
| VS+ | VS+ | 0x45 | 0x8A |
| VS+ | SDA | 0x46 | 0x8C |
| VS+ | SCL | 0x47 | 0x8E |
| SDA | GND | 0x48 | 0x90 |
| ... | ... | ... | ... |
模块通常默认 A0=GND, A1=GND → 地址 0x40。
4. 电气特性
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| 母线电压范围 | 0 | - | 26 | V |
| 采样电压量程 (PGA=÷1) | - | ±40 | - | mV |
| 采样电压量程 (PGA=÷8) | - | ±320 | - | mV |
| 电流量程 (0.1Ω) | - | ±3.2 | - | A |
| ADC 分辨率 | - | 12 | - | bit |
| 电压测量精度 | - | ±0.5 | ±1 | % |
| 电流测量精度 | - | ±1 | ±2 | % |
| I²C 时钟 | - | 100/400 | - | kHz |
| 模块工作电压 | 3.0 | 5.0 | 5.5 | V |
| 静态电流 | - | 0.7 | 1 | mA |
5. 典型应用电路
电源 (0~26V)
│
├── VIN+ ─────────────┐
│ INA219 │
│ 模块 │
│ │
│ VCC ────── MCU 3.3V/5V
│ GND ────── MCU GND + 电源负
│ SCL ────── MCU SCL
│ SDA ────── MCU SDA
│ │
│ VIN- ─────────────┤
│ │
│ ┌──┴──┐
│ │负载 │
│ └──┬──┘
│ │
└── 电源负 (GND) ─────┘
6. 寄存器速查
| 寄存器 | 地址 | 功能 |
|---|---|---|
| Configuration | 0x00 | PGA、ADC分辨率、模式配置 |
| Shunt Voltage | 0x01 | 采样电阻两端压降(有符号) |
| Bus Voltage | 0x02 | 母线电压(0~32V) |
| Power | 0x03 | 功率(电流×电压,硬件计算) |
| Current | 0x04 | 电流(由分流电压/采样电阻得出) |
| Calibration | 0x05 | 校准寄存器(设置量程) |
7. 使用注意事项
- 采样电阻功率:0.1Ω × 3.2A² = 1.024W,持续 3A 时电阻会发热,注意散热
- 共地必须:INA219 的 GND 必须与被测电源的 GND 共地
- 校准寄存器:使用前必须根据采样电阻值和 PGA 设置写入 Calibration 寄存器,否则电流读数错误
- PGA 选择:小电流场景选 PGA=÷1 (±40mV) 获得最高精度;大电流选 PGA=÷8 (±320mV)
- ADC 平均:可通过 Configuration 寄存器设置 1~128 次平均,提高读数稳定性
- I²C 上拉:模块板载上拉电阻,如通信不稳定可检查总线电容是否过大
- 负电流:当负载向电源反灌电流时(如电池充电),Current 寄存器显示负值