ADI 技术
直播中

任娟娟

7年用户 195经验值
私信 关注
[问答]

AD5420输出4-20mA的电流有时候输出不正确

我采用AD5420输出4-20mA的电流。
AVDD采用24V电源,DVDD采用外部5V电源。
在输出端接一个大约200多欧的电阻。

现在的问题是,AD5420有时候输出正确,有时候输出不正确,在软件和硬件都没有改动的情况下,输出这样的结果真是奇怪。

先说正确的结果,写入数据0时,电阻两端的电压约为0.95V,写入数据0xffff时,电阻两端电压为4.76V,经过计算写入0时,电流4mA,写入0xffff时,电流约为20mA。

威廉希尔官方网站 和软件没有做任何改动的情况下,有这种情况产生,写入数据为0时,电阻两端的电压为0,写入数据为0xffff时,电阻两端的电压变为2.41V。

因为每次写入数据时都做了这样的配置,即先初始化为4-20mA输出,然后再写入数据。所以出现这样的问题很奇怪。
     init_ad542x(AD542X_REXT|AD542X_OUTEN|CLK69440|STEP1|AD542X_SREN|IOUT420);
     write_to_ad542x(REG_DATA, 0);   

错误的结果每次都是一样,并不是随机的。
请问,可能的原因是什么?

回帖(3)

袁飞

2019-2-26 11:23:17
测量的过程中, 电阻是否存在与电流输出端断开的情况
此外,看一下ref是否发生了变化
在发生错误的情况下,回读一下寄存器,看看是否读写一致,
举报

任娟娟

2019-2-26 11:33:48
引用: 60user105 发表于 2019-2-26 11:23
测量的过程中, 电阻是否存在与电流输出端断开的情况
此外,看一下ref是否发生了变化
在发生错误的情况下,回读一下寄存器,看看是否读写一致,

电阻都是焊死的,所以电阻松了的问题不存在。
 
本来想通过回读寄存器查看结果的,但后来反复通电断电,发现了规律。虽然我不知道为什么,但问题确实解决了。既然几个芯片都出现同样的问题,而且都解决了。再没有出现过上面那种情况了,所以认为解决了。
 
我也把解决方法放在这里,供其他人参考。
 
就是在有输出的初始化
init_ad542x(AD542X_REXT|AD542X_OUTEN|CLK69440|STEP1|AD542X_SREN|IOUT420);
之前,先初始化禁止输出(去掉AD542X_OUTEN位),即调用:
init_ad542x(AD542X_REXT|CLK69440|STEP1|AD542X_SREN|IOUT420);
然后就没有上面的问题了,不明白为什么。

举报

袁飞

2019-2-26 11:47:46
引用: djw200988 发表于 2019-2-26 11:33
电阻都是焊死的,所以电阻松了的问题不存在。
 
本来想通过回读寄存器查看结果的,但后来反复通电断电,发现了规律。虽然我不知道为什么,但问题确实解决了。既然几个芯片都出现同样的问题,而且都解决了。再没有出现过上面那种情况了,所以认为解决了。

可以看一下AD5420常见问题解答,此外可以看一下数据手中也有相关的寄存器配置的相关要求, 在设置输出范围时,需要禁用输出,看一下图40
举报

更多回帖

发帖
×
20
完善资料,
赚取积分