RC充放电检测温度

当我们在项目为了节约成本,在mcu没有AD模块的情况下,想要获取外界温度,可以利用RC充放电的特性获取外界温度(对温度精度要求不高的情况下)。

实现原理

在RC电路进行充电或放电时,若电压、电容的值不发生改变,且RC的时间常数足够大,那么我们可以认为电阻之比等于电容充电/放电时间之比。

K = 参考电阻值 n t c 电阻值 = 参考电阻对电容充 / 放电时间 n t c 电阻对电容充 / 放电时间 K= \frac{参考电阻值}{ntc电阻值}= \frac{参考电阻对电容充/放电时间}{ntc电阻对电容充/放电时间} K=ntc电阻值参考电阻值=ntc电阻对电容充/放电时间参考电阻对电容充/放电时间
在这里插入图片描述

P13对电容进行充电

P10端口设置为输入态。
P11端口设置为输入态。
P13端口设置为输出态,输出低电平,此时C1两端的压差近似等于5V,电容以极短的时间充满电。

电容C1通过R1进行放电

P13端口设置为输入态。
P11端口设置为输入态。
P10端口设置为输出态,输出高电平,此时C1两端的电荷通过P10进行泄放。使能定时器进行计数,当P13端口采样到高电平时(建议外部中断触发采样),视为电容C1通过R1放电结束,获取定时器的计数值,该值为电容C1通过参考电阻R1的放电时间。

电容C1通过NTC电阻进行放电

P13端口设置为输入态。
P10端口设置为输入态。
P11端口设置为输出态,输出高电平,此时C1两端的电荷通过P11进行泄放。使能定时器进行计数,当P13端口采样到高电平时(建议外部中断触发采样),视为电容C1通过Rntc放电结束,获取定时器的计数值,该值为电容C1通过Rntc的放电时间。

通过上述操作,我们可以得到电容C1通过R1和Rntc的放电时间。R1是以知值,由此可以计算出在当前温度下Rntc的阻值,通过查表的方式可以获得当前的温度。

示波器抓取P13端口的波形
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值