找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1913|回复: 16
打印 上一主题 下一主题
收起左侧

stm32单片机adc测NTC异常

  [复制链接]
跳转到指定楼层
楼主
50黑币
大佬们请教个问题,如图中的电路,测NTC时发现电压不太稳定,于是我把NTC换成100k电阻,上电万用表测adc脚电压为0.85v,软件打开adc后,电压变低了变为0.78v,我换成10k,5.。1k后,同样的操作,电压由0.85v变为0.82v左右。这种现象正常吗?2.5va很稳的,没变化,因为每500ms就要打开关闭一次adc,就造成了采出来的值不停波动。读出来的ad值能和实际的电压对应的上。芯片是stm32g071gbu6,12位adc,过采样到16位,开启DMA转换完成中断,用的hal库。只要软件里打开adc就有压降,软件关闭adc后就恢复了。

425439e5acf.png (16.39 KB, 下载次数: 6)

425439e5acf.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:344848 发表于 2024-9-12 07:32 | 只看该作者
1、R10和NTC的取值相等;
2、R10和NTC位置互换,R10和C8构成低通滤波器;
3、C8的容值太大,通常为104,它有两个作用,一是构成低通滤波的功能,二是抑制温度使NTC阻值快速变化;
4、MCU和NTC的供电电压均为5V;
5、NTC测温通常采用两路,一路采集电路板温度,另一路采集被测物体的温度,消除电路板温升引起的温差;
6、C8接一个电压跟随器;
7、软件增加滤波功能,如采集十次,去掉两个最值,再取平均值;
8、5V电源最好由LDO提供。

回复

使用道具 举报

板凳
ID:192020 发表于 2024-9-12 09:08 | 只看该作者
ADC3的引脚是不是设置下拉了?
回复

使用道具 举报

地板
ID:592807 发表于 2024-9-12 09:25 | 只看该作者
电容应该并在NTC两端
回复

使用道具 举报

5#
ID:925236 发表于 2024-9-12 09:41 | 只看该作者
把这个电容下掉,两颗电阻换成一样的1k,然后再试一下,
回复

使用道具 举报

6#
ID:326430 发表于 2024-9-12 14:30 | 只看该作者
qq475878026 发表于 2024-9-12 09:08
ADC3的引脚是不是设置下拉了?

无上下拉
回复

使用道具 举报

7#
ID:879348 发表于 2024-9-12 16:21 | 只看该作者
不正常,你要减小采样次数,让电容有时间充电
回复

使用道具 举报

8#
ID:326430 发表于 2024-9-13 08:47 | 只看该作者
黄youhui 发表于 2024-9-12 09:25
电容应该并在NTC两端

你看看我描述的,我没用ntc
回复

使用道具 举报

9#
ID:592807 发表于 2024-9-13 15:54 | 只看该作者
727742898 发表于 2024-9-13 08:47
你看看我描述的,我没用ntc

看了你的描述。首先我抱歉没仔细看。
然后从硬件角度几个想法和你说下。
第一我公司也是做产品的,也有用到热敏电阻,但是一般情况下做这个电路VRFE必须(不说必须,尽可能)和单片机的VCC一致,因为部分垫片机有ADC-VREF标准电压输入引脚,如果没有那单片机内部会直接用它的VCC电平作为ADC标准电压,也就是如果我的单片机因为压降导致它的VCC是2.5V(vcc标准应该是5V),那它测你2.5V电压也会显示是5V(因为ADC底层逻辑就是所测电压等于VCC它就是5V),这里你不能保证你的单片机的ADC标准电压固定的话你和我说2.5V稳定不变对于ADC采集没有任何意义.你要保证的是VCC稳定或者说单片机的ADC-VREF电压稳定。
第二就是电压跟随电路,你可以搜下这个电路的功能,他就是隔离前后级电路的,防止前后级电路相互影响的,你这里要么在单片机IO前面加个电阻,要么加个电压跟随电路。你这个电路是粗略的ADC测算,你就不要想精度了,你都直接怼单片机IO口,IO口又不是百分百防御墙,他也要接地将电流弄走的,肯定会有压降的,要么你自己弄个补偿压降的算法,要么隔离。
回复

使用道具 举报

10#
ID:384109 发表于 2024-9-13 16:45 | 只看该作者
把电容去掉
回复

使用道具 举报

11#
ID:879809 发表于 2025-3-19 10:36 | 只看该作者
你用什么ADC芯片不去查下输入阻抗吗?看上去像是STM32,采样率越高阻抗越小。
回复

使用道具 举报

12#
ID:1079566 发表于 2025-3-19 15:13 | 只看该作者
stm32XXX 这类MCU的ADC 的输入内阻比较小(最大50kΩ, 见下图), 影响了测量结果, 万用表电压档一般在10MΩ, 内阻很大, 所以对测量结果影响很小.

要么, 你的电路自身内阻不能大, NTC最小也10kΩ, 这里不合适.
要么, 你加一个运放跟随器(LMV358,LMV321),降低内阻.
要么, 你用软件修正.




回复

使用道具 举报

13#
ID:446156 发表于 2025-3-19 16:06 | 只看该作者
我也遇到过,单片机ADC检测时的IO输入阻抗不够,实在不行你用个放大器做下跟随,或者凑合用做个补偿也问题不大。
回复

使用道具 举报

14#
ID:446156 发表于 2025-3-19 16:10 | 只看该作者
电容是千万不能去掉的,ADC检测需要给单片机内部的取样电容充电,去掉C8后测出来的数就更不准了。你是有低功耗需求吗,如果没有的话ADC可以一直开着
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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