13547|20

259

帖子

5

TA的资源

一粒金砂(高级)

楼主
 

ADS1248获取到的AD值如何转换成电阻 [复制链接]

 

本人使用ADS1248模数转换芯片,采用单次采样方式读取通道AD数据,/DRDY为低时,就触发MCU进行数据的读取。按照手册上的应用示例计算出电阻电压、恒流源最大输出电压、温度传感器(pt100)最大电压、CM电压后对ADS1248的寄存器进行了初始化,并进行了校准操作,目前数据采集正常,但是关于如何将AD值转换为电阻值没弄明白,在手册上没找到~希望能人提供一下解答。

串口数据如下所示:



最新回复

还有你的电阻箱 把误差算里看看   详情 回复 发表于 2016-8-20 21:16
点赞 关注

回复
举报

9714

帖子

24

TA的资源

版主

沙发
 
RTD Ratiometric Measurements and Filtering Using the ADS1148 and ADS1248

查看详情



RTD 比率式温度测量的模拟前端设计考虑

http://www.analog.com/library/an ... 0-03/rtd-ratio.html
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9714

帖子

24

TA的资源

版主

板凳
 
Example Temperature Measurement Applications Using the ADS1247 and ADS1248 (Rev. B)
http://www.ti.com/lit/pdf/sbaa180

点评

我按照参考手册中的示例(与链接所示相似)计算出了最大增益为4.35,所以设置增益为4,结果在接入0欧电阻时,AD数值并不是800000h(-8388608),这是为什么啊? AVDD:5V AVSS: 接地 恒流源:1.5mV [at  详情 回复 发表于 2016-8-18 21:59
谢谢!  详情 回复 发表于 2016-8-18 20:09
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

4
 
littleshrimp 发表于 2016-8-18 19:53
Example Temperature Measurement Applications Using the ADS1247 and ADS1248 (Rev. B)
http://www.ti ...

谢谢!

点评

正好我最近也在做这方面的实验 一起交流  详情 回复 发表于 2016-8-18 20:43
 
 
 

回复

9714

帖子

24

TA的资源

版主

5
 

正好我最近也在做这方面的实验
一起交流

点评

那真是太好了!我最近才接触硬件这方面的知识~~完全小白一个~ 网上相关的资料还不多,,费了好大劲才整得有点眉目~~  详情 回复 发表于 2016-8-19 09:34
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

6
 
littleshrimp 发表于 2016-8-18 19:53
Example Temperature Measurement Applications Using the ADS1247 and ADS1248 (Rev. B)
http://www.ti ...



我按照参考手册中的示例(与链接所示相似)计算出了最大增益为4.35,所以设置增益为4,结果在接入0欧电阻时,AD数值并不是800000h(-8388608),这是为什么啊?

AVDD:5V
AVSS: 接地
恒流源:1.5mV


点评

你接入0欧电阻采集到的电压应该接近0V(电阻误差) Output code也应该在000000H附近  详情 回复 发表于 2016-8-19 08:17
 
 
 

回复

9714

帖子

24

TA的资源

版主

7
 


你接入0欧电阻采集到的电压应该接近0V(电阻误差)
Output code也应该在000000H附近

点评

我一直以为AD值经过偏移和自增寄存器后得到的最终输出编码从0V开始范围在(-800000h - 7FFFFFh)~~ 这样的话,我的AD值就有问题了,,接入0欧时得到的AD值是-37D4F8h左右~ 我的程序执行流程是这样的,麻烦你帮  详情 回复 发表于 2016-8-19 09:24
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

8
 
littleshrimp 发表于 2016-8-19 08:17
你接入0欧电阻采集到的电压应该接近0V(电阻误差)
Output code也应该在000000H附近

我一直以为AD值经过偏移和自增寄存器后得到的最终输出编码从0V开始范围在(-800000h - 7FFFFFh)~~
这样的话,我的AD值就有问题了,,接入0欧时得到的AD值是-37D4F8h左右~  
我的程序执行流程是这样的,麻烦你帮我看看是哪出了问题,
  初始化AD:采样速率:20PSP,增益:4
      复位SPI(在这里把START置高--》配置寄存器时START需要时高电平)
      复位寄存器
      初始化寄存器
      校准通道(包括自偏移校准、偏移校准、增益校准)
      重新给MUX1寄存器赋值(启用内部参照电压)
      停止AD
  获取通道数据:
      选择通道(设置通道腹肌输入端、设置恒流源输出引脚)
      启动单次AD转换
      等待/DRDY为低电平
      通过串口发送RDATA获取AD数据

点评

ADC输出的十六进制CODE没有负号  详情 回复 发表于 2016-8-19 11:57
我在外边用手机打字不太方便 http://www.analog.com/library/analogDialogue/china/archives/50-03/rtd-ratio.html 这篇文章可以给你帮助 参照比率测量的方法 你可以使用AIN0作为IDAC1 AIN3作为IDAC2 AIN0和  详情 回复 发表于 2016-8-19 11:49
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

9
 
littleshrimp 发表于 2016-8-18 20:43
正好我最近也在做这方面的实验
一起交流

那真是太好了!我最近才接触硬件这方面的知识~~完全小白一个~
网上相关的资料还不多,,费了好大劲才整得有点眉目~~
 
 
 

回复

9714

帖子

24

TA的资源

版主

10
 
Tobey 发表于 2016-8-19 09:24
我一直以为AD值经过偏移和自增寄存器后得到的最终输出编码从0V开始范围在(-800000h - 7FFFFFh)~~
这 ...

我在外边用手机打字不太方便

http://www.analog.com/library/analogDialogue/china/archives/50-03/rtd-ratio.html
这篇文章可以给你帮助
参照比率测量的方法
你可以使用AIN0作为IDAC1
AIN3作为IDAC2
AIN0和AIN1接一起
AIN3和AIN2接一起
AIN1和AIN2接被测电阻(0欧)电阻两端
AIN2接Rbias一端
Rbias另一端接地
或通过一颗小电阻接地(使用单电源时一般要这样做)
然后AIN4和AIN5分别接Rbias
两端作为REF+和REF-
(我不方便看ADS1248的数据手手册
这里假设IDAC和REF可以在对应的引脚上复用)
程序上你要使能两个IDAC
设置IDAC的电流
设置REF为外部AIN4和AIN5
采集AIN1和AIN2间的电压
因为你接的电阻是0欧
理想的情况AIN1和AIN2间的电压应该为0V




点评

嗯 这个资料我看了,,不过我是在已经设计好的板子的基础上编写程序的、、、 连线方式与资料有所不同,,相比较而言更简单~~正常而言按手册示例 的公式计算出来的值应该没问题啊~ 不过得到的值却不对,,,  详情 回复 发表于 2016-8-19 14:07
你可以通过简单的电压测量判断code和电压的关系正常AIN+-AIN-=VREF时应该是7FFFFFh AIN+-AIN-=0V时为000000h AIN+-AIN-=-REF时为800000h 这里没考虑PGA  详情 回复 发表于 2016-8-19 11:55
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9714

帖子

24

TA的资源

版主

11
 
littleshrimp 发表于 2016-8-19 11:49
我在外边用手机打字不太方便

http://www.analog.com/library/analogDialogue/china/archives/50-03/rt ...

你可以通过简单的电压测量判断code和电压的关系正常AIN+-AIN-=VREF时应该是7FFFFFh


AIN+-AIN-=0V时为000000h
AIN+-AIN-=-REF时为800000h

这里没考虑PGA
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9714

帖子

24

TA的资源

版主

12
 
Tobey 发表于 2016-8-19 09:24
我一直以为AD值经过偏移和自增寄存器后得到的最终输出编码从0V开始范围在(-800000h - 7FFFFFh)~~
这 ...

ADC输出的十六进制CODE没有负号

点评

符号是因为我把获取到的AD值先左移了8位(放大256倍识别正负号),然后再右移8位恢复原值得到的‘’  详情 回复 发表于 2016-8-19 13:59
好的,多谢了!我试试  详情 回复 发表于 2016-8-19 12:22
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

13
 
littleshrimp 发表于 2016-8-19 11:57
ADC输出的十六进制CODE没有负号

好的,多谢了!我试试
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

14
 
littleshrimp 发表于 2016-8-19 11:57
ADC输出的十六进制CODE没有负号

符号是因为我把获取到的AD值先左移了8位(放大256倍识别正负号),然后再右移8位恢复原值得到的‘’
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

15
 
littleshrimp 发表于 2016-8-19 11:49
我在外边用手机打字不太方便

http://www.analog.com/library/analogDialogue/china/archives/50-03/rt ...

嗯 这个资料我看了,,不过我是在已经设计好的板子的基础上编写程序的、、、
连线方式与资料有所不同,,相比较而言更简单~~正常而言按手册示例
的公式计算出来的值应该没问题啊~
不过得到的值却不对,,,




点评

看看这个 有参考代码和电路 Analog Front End (AFE) for Sensing Temperature in Smart Grid Applications Using RTD Reference Design http://www.ti.com/tool/TIDA-00110  详情 回复 发表于 2016-8-19 22:09
 
 
 

回复

9714

帖子

24

TA的资源

版主

16
 


看看这个 有参考代码和电路
Analog Front End (AFE) for Sensing Temperature in Smart Grid Applications Using RTD Reference Design
http://www.ti.com/tool/TIDA-00110

点评

好的,当前我把AD值转换为电阻值误差相当大啊~请问这是程序的事还是硬件电路的事啊? (每个通道的误差略有不同:误差0.6~0.9欧~~) 电阻箱(欧) 转换结果(欧) 0 0.68 100  详情 回复 发表于 2016-8-20 18:52
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

17
 
littleshrimp 发表于 2016-8-19 22:09
看看这个 有参考代码和电路
Analog Front End (AFE) for Sensing Temperature in Smart Grid Applicatio ...

好的,当前我把AD值转换为电阻值误差相当大啊~请问这是程序的事还是硬件电路的事啊?
(每个通道的误差略有不同:误差0.6~0.9欧~~)

电阻箱(欧)    转换结果(欧)
0                    0.68
100                100.40
200                200.12

点评

你Rbias的精度和温漂是多少?  详情 回复 发表于 2016-8-20 19:37
 
 
 

回复

9714

帖子

24

TA的资源

版主

18
 
Tobey 发表于 2016-8-20 18:52
好的,当前我把AD值转换为电阻值误差相当大啊~请问这是程序的事还是硬件电路的事啊?
(每个通道的误差 ...

你Rbias的精度和温漂是多少?

点评

额~ 这个~~ 我就知道Rbias是一个820欧的电阻。。。具体参数不知道,,,  详情 回复 发表于 2016-8-20 20:50
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

19
 
littleshrimp 发表于 2016-8-20 19:37
你Rbias的精度和温漂是多少?

额~ 这个~~  我就知道Rbias是一个820欧的电阻。。。具体参数不知道,,,

点评

还有你的电阻箱 把误差算里看看  详情 回复 发表于 2016-8-20 21:16
 
 
 

回复

9714

帖子

24

TA的资源

版主

20
 
Tobey 发表于 2016-8-20 20:50
额~ 这个~~  我就知道Rbias是一个820欧的电阻。。。具体参数不知道,,,

还有你的电阻箱
把误差算里看看

点评

好的,我刚刚试了试把电阻值转换为温度,按照pt100的对照表比对了下,在0~100之间从零开始基本都是比对照表中的温度大了接近1度,越往后误差会越大些,在对照表中显示的98度的阻值下,串口显示的温度已经要达到100  详情 回复 发表于 2016-8-20 21:27
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表