![]() |
电容是千万不能去掉的,ADC检测需要给单片机内部的取样电容充电,去掉C8后测出来的数就更不准了。你是有低功耗需求吗,如果没有的话ADC可以一直开着 |
我也遇到过,单片机ADC检测时的IO输入阻抗不够,实在不行你用个放大器做下跟随,或者凑合用做个补偿也问题不大。 |
stm32XXX 这类MCU的ADC 的输入内阻比较小(最大50kΩ, 见下图), 影响了测量结果, 万用表电压档一般在10MΩ, 内阻很大, 所以对测量结果影响很小. 要么, 你的电路自身内阻不能大, NTC最小也10kΩ, 这里不合适. 要么, 你加一个运放跟随器(LMV358,LMV321),降低内阻. 要么, 你用软件修正. ![]() |
你用什么ADC芯片不去查下输入阻抗吗?看上去像是STM32,采样率越高阻抗越小。 |
把电容去掉 |
727742898 发表于 2024-9-13 08:47 看了你的描述。首先我抱歉没仔细看。 然后从硬件角度几个想法和你说下。 第一我公司也是做产品的,也有用到热敏电阻,但是一般情况下做这个电路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口又不是百分百防御墙,他也要接地将电流弄走的,肯定会有压降的,要么你自己弄个补偿压降的算法,要么隔离。 |
黄youhui 发表于 2024-9-12 09:25 你看看我描述的,我没用ntc |
不正常,你要减小采样次数,让电容有时间充电 |
qq475878026 发表于 2024-9-12 09:08 无上下拉 |
把这个电容下掉,两颗电阻换成一样的1k,然后再试一下, |
电容应该并在NTC两端 |
ADC3的引脚是不是设置下拉了? |
1、R10和NTC的取值相等; 2、R10和NTC位置互换,R10和C8构成低通滤波器; 3、C8的容值太大,通常为104,它有两个作用,一是构成低通滤波的功能,二是抑制温度使NTC阻值快速变化; 4、MCU和NTC的供电电压均为5V; 5、NTC测温通常采用两路,一路采集电路板温度,另一路采集被测物体的温度,消除电路板温升引起的温差; 6、C8接一个电压跟随器; 7、软件增加滤波功能,如采集十次,去掉两个最值,再取平均值; 8、5V电源最好由LDO提供。 |