通过配置ADS1248的寄存器,已经能实现测温的功能了,数据测出来的波动性精度也挺好的,就是与实际温度测出来的有较大的差距。比如实际应该23℃,测出来确实28℃。这是什么原因呢 ??(偏差校准,增益校准都校准过了。也试过好多PT100了始终有5、6℃的偏差)(电路在附件中)
LIANGPING HU1:
这个测量的温度可能是芯片内部的,所以存在较大偏差,可以多测试几个点,做校准。
user3917511:
ADSl248是高度集成的24 bit精密ADC芯片,集成了低噪音可编程增益放大器(PGA),单周期设定数字滤波器的精密Delta-Sigma ADC振荡器输入切换器(input mux),集成了两路恒流源,可采样4组差分或7组单端输入,还具有50/60Hz同步抑制模式;用Ptl00的电阻来表示温度的大小,导线上等效的电阻将不能忽略。这些楼主试了没有呢?
推荐给你一个精准的测量方法:
user3917511:
我电脑里刚好有一份以前找到的资料
基于ADS1248高精度测温装置的设计.pdf
希望对你有帮助
JiaChuang Chen:
是不是你的但亏电阻收到了温度的影响?关键元件应该选择低温漂的高精度器件。
若谷韧成:
每次都是相差相同的温度吗???如果是,那就可能是算法有问题,还有就是pt100有不是很好的线性度 有个比较好的范围 看是不是超过那个范围了 要不就换温度传感器 不过这个不太可能
Farray:
回复 LIANGPING HU1:
我检测的是外接PT100的温度啊。
Farray:
回复 user3917511:
我附件中的电路就是采用差分信号放大的,你说的导线上的电阻不能忽略,采用差分信号不就是可以消除TP100导线上的的误差电阻么??
Farray:
回复 user3917511:
谢谢你的资料,但还没找出原因。
Farray:
回复 JiaChuang Chen:
参考电阻已经选择万分之一精度的电阻了。
Farray:
回复 若谷韧成:
算法是这样的(只取前16位。)Vout = Result * (ADS1248_INTERNAL_VREF / 32768);应该没错吧。