4005|3

76

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求助:如何把读到的ADC的值变成3位显示出来 [复制链接]

想用ADC0832+PT100测量温度,不知道如何把ADC读出来的值变成XXX°c显示出来,看到有资料说ADC的值除以51,不理解为什么。
此帖出自编程基础论坛

最新回复

ADC0832是8位AD芯片,参考电压5V的话就是(AD读出的数字量)*5/255,即(AD读出的数字量)/51,希望对你有用~  详情 回复 发表于 2012-12-31 17:18
点赞 关注
 

回复
举报

21

帖子

4

TA的资源

一粒金砂(中级)

沙发
 

路过看看

计算方法是这样的:

比如你是用的10位ADC,ADC参考电压是5V。 那么就是5v平均分成1023份(2的10次幂),就是你ADC的精度或者叫分辨率,然后把你读出的ADC值乘以它就的到了你想要的电压,这还没完,你要把个位,十分位都取出来才可以显示的哦。
此帖出自编程基础论坛
 
 
 

回复

436

帖子

5

TA的资源

五彩晶圆(初级)

板凳
 
这个其实也就是个映射关系的问题,而且一般都还是线性的转换(如果不是,如果转换又比较复杂,那么这个转换一般会由传感器内部来做,比如说DS18B20,),所以在用ADC找这个映射关系时都比较简单。
首先假如说PT100能测量温度的范围是是-10度到60度,对应的电压是1V-8V,而且这个还是线性分布的,找出这个电压关于温度的公式是y=0.1x+2,x是温度,y是电压。
然后ADC这边的问题,如果你要想测量的温度范围要覆盖PT100的全部可测范围,那你在ADC上给出的参考电压的最大值必须大于等于8V,给12V是可以的,但太大了,就会降低位数的精度,毕竟从8V-12V是不会出来的,也用不到,这意味着ADC0832的高位总是0,10位ADC变成了少于10位的,这就是浪费。如果参考电压给的低于了8V,比如说是6V,LZ应该会算出这个真实可测的范围就到不了60度了。所以一般来说,这个参考电压等于,稍微大于8V是比较好的,但然还没有考虑线性补偿的问题。同样的道理,PT100在可测最低温度出来的1V能在ADC上被正确有限的用到了,这个是影响下限的问题。
而ADC出来的值,要看你参考电压的,为方便和有效利用ADC,把PT100整体偏移1v下去,那也就是0v-7v,假如说是参考电压和那个PT100出来最大电压一样,那对应的7V是10位值1023(算1024应该也可以,比较好算。),就当是2的10次方。对应0V的10位值是(0),所以这个温度和ADC值的关系是: 温度 = (70/1024)* ADC值 - 10。
此帖出自编程基础论坛
 
 
 

回复

182

帖子

0

TA的资源

一粒金砂(高级)

4
 
ADC0832是8位AD芯片,参考电压5V的话就是(AD读出的数字量)*5/255,即(AD读出的数字量)/51,希望对你有用~
此帖出自编程基础论坛
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表