我现在硬件连接如下:
I+和V+连接到一起,I-和V-连接到一起 ,V+和V-之间连接一个300R电阻
初始化如下:
Setup_ADS1220(ADS1220_MUX_AIN3_AIN2, ADS1220_OP_MODE_NORMAL,
ADS1220_CONVERSION_SINGLE_SHOT,ADS1220_DATA_RATE_90SPS,
ADS1220_GAIN_1, ADS1220_USE_PGA,ADS1220_IDAC1_AIN0,
ADS1220_IDAC2_DISABLED, ADS1220_IDAC_CURRENT_500_UA,
ADS1220_BURN_OUT_CURRENT_OFF,ADS1220_LOW_SIDE_POWER_OPEN,
ADS1220_DRDY_ON_DRDY_ONLY,ADS1220_VREF_EXT_REF0_PINS,
ADS1220_TEMP_SENSOR_OFF);
ADS1220采集出来的AD值都是负的,是一个固定的值,断开这个电阻就是最大量程
改变这种初始化:
Setup_ADS1220(ADS1220_MUX_AIN3_AIN2, ADS1220_OP_MODE_NORMAL,
ADS1220_CONVERSION_SINGLE_SHOT,ADS1220_DATA_RATE_90SPS,
ADS1220_GAIN_1, ADS1220_USE_PGA,ADS1220_IDAC1_AIN0,
ADS1220_IDAC2_DISABLED, ADS1220_IDAC_CURRENT_500_UA,
ADS1220_BURN_OUT_CURRENT_OFF,ADS1220_LOW_SIDE_POWER_OPEN,
ADS1220_DRDY_ON_DRDY_ONLY,ADS1220_VREF_INTERNAL,
ADS1220_TEMP_SENSOR_OFF);
AD1220采集值都是对的,转换为电压和前端电压是一致的,不知道什么原因?
前提ADS1220驱动程序都是正常的,可以正常使用
tao wang16:
回复 Charles Lin:
按照你说的,我测量了外部基准到ADS1220基准REF0的连接,连接没有问题。如果出现内部电路无法从该管脚获取所需的参考电压,这是什么原因造成的?
Charles Lin:
回复 tao wang16:
你好,
你所说的AD值是一个负值指的是转换之后的电压还是ADC出来的码值就是负的?建议重点查看一下将码值转换成电压的关系式,因为在你的这种电路连接下,参考电压的大小是0.5*3.24 V。
tao wang16:
回复 Charles Lin:
我的AD码值就是负的。但是由于我做了开路检测,我把电阻断开,AD码值就是2^23-1.我也测量了外部基准电压是1.61v左右。由此可以看,AD值是可以变化的。但是接上电阻就没有变化,采集到的AD码值是-12093
tao wang16:
回复 tao wang16:
我的前端电压大概0.27v左右
tao wang16:
回复 tao wang16:
之前我也用过,没有这种现象,不知道啥原因,实在不可以我换个芯片试试
Charles Lin:
回复 tao wang16:
你好,
当你做断开电阻检测时候,电流源出来的电流并不会流过R21,此时相当于参考电源是没有的状态,所以出现满量程的现象应该是正常的。
至于出现负值的现象,建议重新查看一下ADC读取数据的程序以及存储数据的格式是否满足要求。也可以更换一个比较大的电阻试试,看看读取码值是否是正的。
tao wang16:
回复 Charles Lin:
我的前提是程序都是正常的,我之前用相同的程序做了热偶的采集和电压的采集都是正常的。出现问题的地方,要不是硬件要不是初始化。别的地方应该不会有
Charles Lin:
回复 Charles Lin:
你好,
如果确定初始化没有问题的话,可以考虑以下更换芯片试试。但是建议更换不同的电阻输入观察码值是否呈现规律性变化,从而可以更好的找到原因。
tao wang16:
回复 Charles Lin:
电阻我也换过(第一次3.9k四个电阻并联,第二次是5个并联),AD码值无变化,但是我用镊子短接电阻两端有变化,AD码值会变为-1057左右吧,可能记得不太准确。反正值变化较大,结果还是负的