一、pin脚定义
- ADM1191电流计的pin脚定义如图
- A0、A1用来确定电流计的设备地址,具体定义见下图
- sense为电流检测输入引脚,VCC引脚与sense引脚之间需要放一个检测电阻,这个电阻的阻值是电流转换公式的一个必要参数。
二、操作指令
- 操作指令见下图
单独开启电压持续转换的指令为:0x01
单独开启电流持续转换的指令为:0x04
同时开启电流和电压持续转换的指令为:0x05
三、数值转换
以0x05模式为例,读数时adm1191会返回3个字节的数据,定义如下图
第一个字节为电压值的5~12位,电压值前4位在第三个字节的高4位,
第三个字节的低4位加上第二个字节的高8位可以得到完整的电流读数。
四、数值转换代码示例
temp[3]={0};
ret = i2c_ReadBytes(temp,0x60,3);
if(ret) {
code = ((u32)temp[1]<<4) + ((u32)temp[2]&(0xF));
Vcc_current = (105840*code/4096)/1;
}
其中,temp为读回的3个字节数据,code为电流读数,sense电阻值为1欧,最后得到的结果单位为uA.