最近在做个温控的板子,温度是用的三线制的铂电阻,采集两个通道,AD芯片用的是ADS1247,但是现在获取的转换值一直不正确,自己也没找到问题。首先现在读写ADS1247的控制寄存器是没有问题的,下面是ADS1247的采集电路:
在实际的PCB上,R26是用的1K电阻,另外ADS1247的Pin17也连接到了MCU上,我是想用R26两端电压作为参考电压,不使用内部2.048V的参考电压。我先采集一个通道P11,AD芯片寄存器的设置分别为:
MUX1-0x38;
SYS0-0x06;
IDAC0-0x06; //1mA
VBIAS-0x0;
MUX0-0x13; //AIN2+ AIN3-
IDAC1-0x23; //AIN2和AIN3输出电流
我现在把P11的1,2,3个端口分别连接10欧姆、110欧姆和110欧姆,三个电阻另外一端连接在一起,实际测量时:AIN2和AIN3可以输出1mA的电流,P11中从2流到1的电流也为2mA,但是我测量了R26两端电压为2.4V(理论上为2V)。得到的转换值也不正确,每次都在变,感觉是乱码。
麻烦帮我分析下,已经被批评了。。。。谢谢了!
user151383853:
也没有从你的电路上看出问题, 比较大的一个可能, 怀疑会不会三线传感器的线序弄错了?
erge Zhao:
回复 user151383853:
三线的传感器应该没接错,我这边是接的电阻,P11的1、2和3口分别引出来三个电阻,分别为10、110和110欧姆,三个电阻的另外一端连接在一起,此时P11的2和3两端输入电压为0V,AD转换以后的输出应该也是0,但是实际的却是不断变化的乱码。
Martin:
回复 user151383853:
有没有试过直接端接ADS1247的输入,看看结果是否正常?
另外,请在信号输入和参考端增加小滤波电容
erge Zhao:
回复 Martin:
1.你是说短接ADS1247的输入端吗,我试了一下直接把P11的1,2和3端口都短接在一起,但是读数也不是零。
2.电源是加了滤波电容,你说的是不是Vinp端和R23处加滤波电容?
另外我想请问一下,我这个寄存器的配置有问题吗?我现在也不太清楚是硬件还是软件问题。。麻烦您帮我分析下,现在做的是温度采集控制模块,但是前面温度采集一直不对,进度已经一拖再拖了,谢谢了!
erge Zhao:
回复 Martin:
3.还有一点不明白,我看datasheet上有个共模电压输入范围,这个不太理解,麻烦帮我解释一下,我这个输入满足要求了吗?
erge Zhao:
各位兄弟姐妹,麻烦帮我看看呢,是硬件设计有问题还是软件问题,不要沉下去啊,领导天天催我。。。。压力山大啊!!!
Jinyu Xing:
你提高参考电阻精度试试