INA226 电压/电流/功率采集
INA226 使用通用传感器类型 type=38(SENSOR_GENERIC)、driver="INA226",可选地址为 0x40~0x4F。先确认当前固件编译了 I2C 传感器能力,并在功能配置启用「I2C 传感器采集」(i2cSensors);功能开关重启后应用,看到 pendingRestart 时先保存并重启,再检查实际 active 状态。
校准参数
| 参数 | 含义和约束 |
|---|---|
shuntResistance | 实际分流电阻,单位 Ω,必须明确填写正数;以模块电路和标称/实测值为依据 |
maxCurrent | 目标最大绝对电流,单位 A,必须明确填写正数;它影响换算量程,不构成硬件限流 |
| 组合约束 | shuntResistance × maxCurrent ≤ 0.0819175 V,校准寄存器必须可表示 |
conversionTimeUs | 140、204、332、588、1100、2116、4156、8244 μs 之一 |
averaging | 1、4、16、64、128、256、512、1024 之一 |
| 转换预算 | 2 × conversionTimeUs × averaging ≤ 500000 μs,超出即拒绝 |
sampleInterval | 配置单位 ms;有效间隔还受驱动最小间隔 100 ms 和转换时间限制 |
通道:voltage → V、current → A、power → W。
例如 0.002 Ω × 15 A = 0.03 V,满足软件量程约束;但在 15 A 时分流器发热为 I²R = 0.45 W,这并不证明某块模块的分流器、铜箔、端子和散热能承受 15 A,必须按实际器件功率、温升和接线选型。
电气边界与测量语义
芯片供电范围为 2.7~5.5 V,测量总线范围为 0~36 V,两者不是同一个接点。按模块电路连接分流器与 IN+/IN−,使用适当的 Kelvin 取样,并确定电流正方向。INA226 本身不提供电气隔离,也不能用软件轮询代替硬件过流保护。
驱动根据实际整数校准寄存器计算换算系数,读取同一组完成的电压/电流样本;功率按该组样本 V × I 计算并保留符号,反向电流会产生负电流和负功率,不将其当作零。读取失败不是数值 0,失效/过期的值不进入展示或阈值判断。
校准核对
建议依次核对空载零点、已知正向负载、不同负载点与允许条件下的反向电流,并用合适量程的仪表比较。修改分流电阻、量程、地址或接线后应重新验证,不能仅通过规则的显示缩放掩盖错误校准。
错误码
| 错误码 | 处理方式 |
|---|---|
INA226_CALIBRATION_REQUIRED / INA226_SHUNT_RANGE_EXCEEDED / INA226_CALIBRATION_RANGE_INVALID | 按实际分流器和量程修正校准参数 |
INA226_CONVERSION_CONFIG_INVALID / INA226_CONVERSION_TOO_SLOW | 选择支持的转换/平均组合并满足 500 ms 转换预算 |
INA226_DEVICE_ID_MISMATCH / INA226_CONVERSION_TIMEOUT / INA226_CALIBRATION_LOST | 核对芯片型号、供电和复位情况,待驱动重新初始化后重新验读 |
INA226_MATH_OVERFLOW / INA226_MEASUREMENT_OUT_OF_RANGE / INA226_CURRENT_OUT_OF_RANGE | 检查测量接线、实际量程和饱和情况;不得把失败样本当成真实负载值 |
通用传感器层的 SENSOR_DRIVER_UNAVAILABLE、SENSOR_I2C_BUSY 等错误及缓存、失效语义见传感器完整指南。
现场验收
最少选一个无 PSRAM 目标和另一个不同芯片家族目标,先单模块验证,再与 IO 扩展器等设备同总线共存,最后加入现有网络、规则、Web 和显示负载。以下项目未完成前保持「待验证」,不能用编译通过或主机测试代替实物结论。
| 检查项 | 操作和通过条件 |
|---|---|
| 接线和预检 | 记录模块/芯片、分流器、总线地址、SDA/SCL、上拉电平、电源与负载;预检无未处理冲突 |
| 配置恢复 | 保存、重启、重新打开表单;引用、校准、启用状态与有效功能一致 |
| INA226 测量 | 空载、至少两个已知负载点、允许条件下的反向电流;V/A/W 与仪表及方向一致,记录误差 |
| 传感器失效 | 断电、断线、地址错误、独立复位;错误可见,失效/过期值不进入展示或阈值判断 |
| 规则链路 | 每秒三通道共用样本;配置变更立即使旧样本失效;按需验证已有平台物模型上报 |
| 共享总线 | 传感器、IO、现有显示、扫描并发;没有重新初始化冲突或长期饥饿 |
| 功能和预算 | 开关、重启应用、内存预算拒绝、恢复;保留用户配置且状态能解释不可用原因 |
| 10 轮真实重启 | 保存、重启、恢复配置循环,比较同一稳定点的堆、实例和引用;无持续资源下降 |
| 24 h 混合运行 | 使用相同负载记录堆、最大连续块、采样延迟、错误数和重连;无崩溃或持续资源增长 |
| 回退 | 停用相关规则和外设,恢复配套旧配置/固件,确认原有功能与实际负载状态 |

