【安富莱】发布隔离I2C接口ADC模块MCP3421, 18位分辨率 ,3.3V和5V,小体积
该隔离模块的ADC芯片为MCP3421芯片,内带DC-DC隔离电源模块。淘宝:https://item.taobao.com/item.htm ... MZ3&id=660440179329
特别注意:
1、任何时候,输入端电压范围必须在 -0.3V 到 3.3V之间,超过该范围可能造成芯片损坏。
2、模拟输入端未做任何处理,测电压需要客户外接采样电阻,测高压需要加分压电阻。
产品特点:
1、隔离I2C接口,用法简单。
2、供电3.3V 或 5V,可用于3.3V或5V单片机
3、内置低温飘基准,基准电压 2.048V
4、分辨率可设置
240 SPS (12 bits),
60 SPS (14 bits),
15 SPS (16 bits),
3.75 SPS (18 bits)
5、带PGA, X1, X2, X4, X8可设置。(模块模拟输入负端已固定接GND)
X1 时:量程 -300mV ~ 2048mV,输入阻抗 2.25M
X2 时:量程 -300mV ~ 1024mV,输入阻抗 2.25M / 2
X4 时:量程 -300mV ~ 512mV,输入阻抗 2.25M / 4
X8 时:量程 正负256mV,输入阻抗 2.25M / 8
硬件说明:
1、I2C总线已内置上拉电阻,阻值1KΩ
2、因为所有模块的I2C地址一样,不支持多个模块并联到1个总线应用
多路模块使用方法:
1、简单用法是每个模块占用2个GPIO,软件模拟I2C操作即可。
2、省管脚用法是所有模块的I2C_SCL共用一个GPIO控制,I2C_SDA分多个。
这种用法需要注意模块内置1K电阻的影响,8个模块并联等效上拉电阻为 125欧姆(3.3V时 26mA电流)
如果有特殊需求,可定制无上拉电阻的模块。
3、推荐所有的SCL用同一组GPIO,所有的SDA用同一组GPIO。这样软件上非常方便多路同时操作。
适合场合:
采集4-20mA电流、采集0-10V\正负10V 信号、大电流悬浮测量
应用1:正负20mA电流测量
模拟输入引脚AIN和AGND之间接低温飘 10欧采样电阻,可采集正负20mA电流。
PGA选择X8 , 输入量程为正负25.6mA。
应用2:正负10A电流测量
电流的采集一般选择PGA X8,这样采样电阻的功率最小,对测量电路的影响也最小。
大电流测量只需要选择合适的电流采样电阻即可,将压降控制256mV内。
10A测量,可选择采样电阻为 20mΩ,功率2W。实际量程 正负12.8A
应用3:正负10V电压测量
输入端AIN前增加2个电阻将正负10V信号降压到0.2V左右, PGA选择X8,可识别正负电压。
分压电阻取值: 10K 和 249. PGA = 8
实际量程为正负 10.54V
应用4:0-10V电压测量
高压正电压测量可以直接使用PGA X1 档位获得最佳的信噪比。
将输入电压直接分压到 2.048V以内即可。
分压电阻取值 10K和 2.49K, 实际量程 0 - 10.273V
关键代码:
/* ADC芯片配置字 16bit, 增益8 */
#defineMCP3421_CFG_BYTE((1 << 4) (2 << 2) (3 << 0))
void MCP3421_Init(void)
{
uint8_t cfg;
i2c_MCP_Start();
i2c_MCP_SendByte(0xD0 I2C_WR);/* 此处是写指令 */
i2c_MCP_WaitAck();
i2c_MCP_SendByte(MCP3421_CFG_BYTE);
i2c_MCP_WaitAck();
i2c_MCP_Stop();
}
void MCP3421_ReadAdc16(int16_t *_buf)
{
uint8_t buf0;
uint8_t buf1;
uint8_t cfg;
uint8_t i;
uint16_t temp;
uint8_t err = 0;
i2c_MCP_Start();
i2c_MCP_SendByte(0xD0 I2C_RD);/* 此处是读指令 */
i2c_MCP_Ack();
i2c_MCP_ReadByte(buf0);
i2c_MCP_Ack();
i2c_MCP_ReadByte(buf1);
i2c_MCP_Ack();
i2c_MCP_ReadByte(cfg);
i2c_MCP_NAck();
i2c_MCP_Stop();
for (i = 0; i < 8; i++)
{
temp = (buf0 << 8) + buf1;
if (cfg == MCP3421_CFG_BYTE)
{
_buf = (int16_t)temp;
}
else
{
err = 1;
}
}
if (err == 1)
{
MCP3421_Init();
}
}
https://img.alicdn.com/imgextra/i3/299314119/O1CN01GP9doD1gIY75L6Iym_!!299314119.png
https://img.alicdn.com/imgextra/i2/299314119/O1CN01jC8v9d1gIY70jne0x_!!299314119.png
H7-TOOL的I2C控制器驱动隔离I2C接口ADC模块MCP3421,18位分辨
http://www.armbbs.cn/static/image/filetype/unknown.gif MCP3421模块测试(V1.1) .lua
https://img.anfulai.cn/dz/attachment/forum/202111/08/005714h51b6jjw0nil8nqf.png
https://img.anfulai.cn/dz/attachment/forum/202111/08/010031p01fedf5r5zpfrc8.png
页:
[1]