找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6028|回复: 15
收起左侧

关于NTC热敏电阻B3950测温问题

[复制链接]
ID:166497 发表于 2019-3-21 21:21 | 显示全部楼层 |阅读模式
高手请指教   
      我的NTC  10K    B3950热敏电阻
在室温16度时测得RT阻值17.12K,通过10K电阻串联接5V,NTC接地
分压值计算为3.156V,
AD测量得到的电压为4.2V左右,相差1V

AD测量的值与万用表测量的值相同
不知是什么原因。                                                      谢谢指教!

回复

使用道具 举报

ID:213173 发表于 2019-3-22 08:05 | 显示全部楼层
你没有说清楚用的什么器件做AD转换,从你叙述的情况估计是采用自带AD功能的MCU。相关IO口需要软件设置为高阻输入,否则IO口内部弱上拉电阻会影响IO口采样电压。
回复

使用道具 举报

ID:166497 发表于 2019-3-22 09:14 | 显示全部楼层
STC15F2K61S2单片机
回复

使用道具 举报

ID:166497 发表于 2019-3-22 09:15 | 显示全部楼层
谢谢,您的解答
回复

使用道具 举报

ID:166497 发表于 2019-3-22 09:36 | 显示全部楼层
芯片是STC15F2K60S2,内置ADC,理论计算的 AD分压值与,AD实际测量的数值不一样,但是AD实际测量的数值与用万用表测得的数值一样,端口改成高阻态也是一样。
回复

使用道具 举报

ID:166497 发表于 2019-3-22 10:09 | 显示全部楼层
芯片是STC15F2K60S2,改成高阻输入后,测量结果一样,与理论计算的分压值不一样,但万用表测量结果与AD转换结果一样。测量结果与NTC卖家提供的温度阻值表对不上。
回复

使用道具 举报

ID:158375 发表于 2019-3-22 12:46 | 显示全部楼层
还是先把温度的准确值弄清楚,再说你的测量值准不准。
回复

使用道具 举报

ID:69072 发表于 2019-3-22 13:05 | 显示全部楼层
将ADC输入接口 测试一个 两10K电阻分压的地哪路 能正常显示2.5V  楼主明显程序出问题
回复

使用道具 举报

ID:218309 发表于 2019-3-22 13:50 | 显示全部楼层
先测电压
回复

使用道具 举报

ID:444215 发表于 2019-3-22 14:42 | 显示全部楼层
采样的电压如何转化?
回复

使用道具 举报

ID:213173 发表于 2019-3-22 15:19 | 显示全部楼层
junjiedianzi 发表于 2019-3-22 10:09
芯片是STC15F2K60S2,改成高阻输入后,测量结果一样,与理论计算的分压值不一样,但万用表测量结果与AD转换 ...

如果你虽然设置了ADC输入端口为高阻,但没有设置 P1ASF 寄存器,也就是P1.x没有设定为模拟入口,那么ADC的转换结果就新增的ADC第9通道的内部参考电压BandGap电压。
P1ASF 寄存器设置方法:
P1ASF = 0x00; //不设置P1所有口为模拟入口
P1ASF = 0xff;  //设置P1所有口为模拟入口
P1ASF = 0x01; //设置P1.0口为模拟入口
//........类同
P1ASF = 0x80; //设置P1.7口为模拟入口
回复

使用道具 举报

ID:166497 发表于 2019-3-22 18:41 | 显示全部楼层
                ADvalue=ADC_P11(2);
                Vin=VCC*ADvalue/1023;      // ???1023???
                printf("%.3f    ",Vin);       
                VIN=(unsigned int )(Vin*1000);
               
                  Data[15]=VIN/1000;
                        Data[14]=VIN%1000/100;
                        Data[13]=VIN%100/10;
                        Data[12]=VIN%10;
                  Data[11]=ADvalue/1000;
                  Data[10]=ADvalue%1000/100;
                        Data[9]=ADvalue%100/10;
                        Data[8]=ADvalue%10;
上面是电压采集转换代码,不知有何不妥的,万用表测量的值,与AD采集转换的值一样的。
厂家给的NTC 在16度时阻值是15.0164,分压3.1V但实际测量的值4.2V。万用表测量的也是4.2V。
回复

使用道具 举报

ID:496370 发表于 2019-3-22 20:15 | 显示全部楼层
万用表测量,单片机
回复

使用道具 举报

ID:491577 发表于 2019-3-22 20:36 | 显示全部楼层
NTC的阻值变化很快的,ADC很难等到恒定的数字,想检验ADC准确度应该用固定电阻,比如两个10k电阻串联,万用表测量的值,与AD采集转换的值一样的。说明你的程序是正确的,ADC的精度与你的电路电源部分关系很大,你不会用的是开发板吧,还有你的电源是线性稳压电源还是开关电源,如果是开关电源误差大是很正常的。
回复

使用道具 举报

ID:166497 发表于 2019-3-22 20:45 | 显示全部楼层
谢谢11楼的提醒
回复

使用道具 举报

ID:607079 发表于 2019-9-4 00:29 来自手机 | 显示全部楼层
请问楼主的问题解决了吗?我也遇到了类似问题,但是误差是0.2V左右,算下来有1.5摄氏度。而且把热敏电阻改成普通电阻后,计算的值却是正常的和你采样电路一样,只是模拟数字转换使用的专用器件。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表