找回密码
 立即注册
查看: 1131|回复: 15

直接用降龙棍和屠龙刀开发板测试NTC温度读取,误差怎么这么大|外围LED电路影响

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:461
  • 最近打卡:2025-05-01 20:05:32

21

主题

168

回帖

1469

积分

金牌会员

积分
1469
发表于 2024-5-9 13:20:37 | 显示全部楼层 |阅读模式
为了检查我在网上买的NTC(10K@3950,火柴头型)的准确性,分别用屠龙刀和降龙棍进行验证。结果读到的ADC值查表对应的温度值误差5℃以上。现在深圳室温差不多为27~28℃,读到的ADC值约为2210~2230,查表对应的温度值为20~22℃之间。不知是元器件的问题还是电路连接的问题。ADC入口既没有串电阻,也没有并联电容,我想也不应该差这么多。请大家帮忙诊断一下。


中断方式读取P10通道(ADC0)程序:
//全局变量
u16 ADC_VAL=0;

void ADC_Init( void )
                {
                        P1M0 = 0x00;                                         //设置P10为高阻输入
                        P1M1 = 0x01;
                        ADC_CONTR |=0x00;     //ADC通道选择。通道0(P10)
                        ADCTIM = 0X3F;                                        //
                        ADCCFG = 0X2F;                                        //数据右对齐,时钟选择位SYSCLK/2/16最慢
                        ADC_POWER = 1;                                        //打开adc电源
                        EADC = 1;                                                    //打开ADC中断
                        ADC_START = 1;                                        //开启ADC转换
                }

                void ADC_Isr(void) interrupt 5
                {
                        ADC_FLAG = 0;                                                //清空读取标志位
                        ADC_VAL = (u16)((ADC_RES << 8) + ADC_RESL);        //读取adc的数值
                        ADC_START = 1;                                        //继续开启ADC转换
                }



ntc1.bmp
ntc2.jpg
NTC3.bmp
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2024-5-9 14:24:56 | 显示全部楼层
1.先用万用表测量下adc引脚的电压,排除电路问题。
2.万用表量下VREF引脚的电压,判断下基准电压有没有问题

点评

1、用AVREF给NTC供电,AVREF取值2.5V~AVCC,纹波要小。 2、ADC输入口要设置为高阻。 NTC测温是比例测量,只要NTC没有损坏,一般0~50度的误差不超过1度。  详情 回复 发表于 2024-5-9 14:34
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-5-9 14:34:33 | 显示全部楼层
电子DI*** 发表于 2024-5-9 14:24
1.先用万用表测量下adc引脚的电压,排除电路问题。
2.万用表量下VREF引脚的电压,判断下基准电压有没有问题 ...

1、用AVREF给NTC供电,AVREF取值2.5V~AVCC,纹波要小。
2、ADC输入口要设置为高阻。
NTC测温是比例测量,只要NTC没有损坏,一般0~50度的误差不超过1度。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:461
  • 最近打卡:2025-05-01 20:05:32

21

主题

168

回帖

1469

积分

金牌会员

积分
1469
发表于 2024-5-9 21:39:05 | 显示全部楼层
本帖最后由 Tuier 于 2024-5-9 22:06 编辑
电子DI*** 发表于 2024-5-9 14:24
1.先用万用表测量下adc引脚的电压,排除电路问题。
2.万用表量下VREF引脚的电压,判断下基准电压有没有问题 ...

板子由笔记本电脑USB供电,实测电压5.09V。ADC0通道(P10,接上NTC)电压为2.77~2.78V,比较稳定,此时ADC值约为2235,通过换算:(2235/4096)*5.09=2.777V,符合实际值,说明电路没问题,ADC读取也没问题。但是NTC查表(官方教程范例程序《15.NTC温度采集》里的换算表)对应的温度不对。当ADC值=2235对应的温度在20~21℃之间,实际室内温度为28~29℃,相差太大。NTC为10k@3950,望技术大佬帮忙分析问题所在。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:461
  • 最近打卡:2025-05-01 20:05:32

21

主题

168

回帖

1469

积分

金牌会员

积分
1469
发表于 2024-5-9 21:41:46 | 显示全部楼层
梁*** 发表于 2024-5-9 14:34
1、用AVREF给NTC供电,AVREF取值2.5V~AVCC,纹波要小。
2、ADC输入口要设置为高阻。
NTC测温是比例测量, ...

没有专门的AVREF,接VCC的。P10已设为高阻状态:P1M0=0X00,P1M1=0X01

点评

那将NTC拆下,放置半小时后跟室温一致,数字万用表测量电阻,并测量室温,查表核对此温度对应的NTC电阻,看看其误差。12位的ADC在室温能测量0.1度的分辨率,准确度就跟NTC的温度-电阻准确度有关。  详情 回复 发表于 2024-5-9 22:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-5-9 22:44:25 | 显示全部楼层
Tui*** 发表于 2024-5-9 21:41
没有专门的AVREF,接VCC的。P10已设为高阻状态:P1M0=0X00,P1M1=0X01

那将NTC拆下,放置半小时后跟室温一致,数字万用表测量电阻,并测量室温,查表核对此温度对应的NTC电阻,看看其误差。12位的ADC在室温能测量0.1度的分辨率,准确度就跟NTC的温度-电阻准确度有关。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:461
  • 最近打卡:2025-05-01 20:05:32

21

主题

168

回帖

1469

积分

金牌会员

积分
1469
发表于 2024-5-10 12:55:22 | 显示全部楼层
本帖最后由 Tuier 于 2024-5-10 13:03 编辑
梁*** 发表于 2024-5-9 22:44
那将NTC拆下,放置半小时后跟室温一致,数字万用表测量电阻,并测量室温,查表核对此温度对应的NTC电阻, ...

单独测NTC:室温28.6℃,阻值为8.55KΩ,对照表对应温度为28~29℃之间,符合温阻特性,证明NTC正常。程序是官方视频里的,分压电阻R1也是比较稳定的10.04kΩ。有点晕了,一时不知查找问题的方向了。
NTC4.bmp
NTC5.bmp

点评

NTC是好的,再将NTC接在电路中,数字万用表测量NTC电压,NTC电压理论值=RT*VCC/(RT+10K),看看差别大不大。NTC测温很简单,从没遇到过问题。  详情 回复 发表于 2024-5-10 13:16
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-5-10 13:16:55 | 显示全部楼层
Tui*** 发表于 2024-5-10 12:55
单独测NTC:室温28.6℃,阻值为8.55KΩ,对照表对应温度为28~29℃之间,符合温阻特性,证明NTC正常。程序 ...

NTC是好的,再将NTC接在电路中,数字万用表测量NTC电压,NTC电压理论值=RT*VCC/(RT+10K),看看差别大不大。NTC测温很简单,从没遇到过问题。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:461
  • 最近打卡:2025-05-01 20:05:32

21

主题

168

回帖

1469

积分

金牌会员

积分
1469
发表于 2024-5-10 15:42:18 | 显示全部楼层
问题基本解决,原因基本找到,将另外开贴详述过程,给广大爱好者以提示,避免走弯路!

点评

放个链接岂不美哉  详情 回复 发表于 2024-5-10 22:41
可在此贴说明,以便结贴,或者搜到看贴的朋友直接知道原因。  详情 回复 发表于 2024-5-10 17:50
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:233
  • 最近打卡:2025-04-30 16:08:37

61

主题

818

回帖

1490

积分

金牌会员

积分
1490
发表于 2024-5-10 15:53:06 | 显示全部楼层
刚学到adc   我的也是降龙棍  去试试
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:46 , Processed in 0.157396 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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