最近在看原子哥写的电容触摸按键的实验,按照实验例程实现了Tpad功能。但是看文章开始的介绍,可以利用这个功能实现一个电容计,于是开始倒腾了一下。
首先把TPAD和ADC口的跳线帽去掉,相当于TPAD不用了,在ADC和GND之间接一个电容,然后每次程序复位,会得到一个tpad_default_val,即捕获时间t。然后想根据公式Vc=V0*(1-e^(-t/RC))来计算出电容C。电阻R已知,为5.1M。但是根据文章的介绍Vc为电容电压,V0为充电电压,那这两个电压分别是多少呢?
我个人理解这两个电压都为3.3V,那么带入公式3.3=3.3*(1-e^(-t/RC)),那e^(-t/RC)岂不是等于0了?这样怎么计算呢?我按照文章结尾给出的一组数据,tpad_default_val为70,Cs为27pF,计算的结果为Vc=V0*0.399。
还望各位大神点拨点拨啊。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
Vc是达到STM32 IO口能认为是高电平的最小电压,查STM32的数据手册,可知,是:2V
然后你可以通过定时器测得时间,然后还知道电阻,自然可以求出电容C。
一周热门 更多>