电容触摸按键详解
电容触摸按键详解
一、RC充放电路原理:
Vt = V0+(V1-V0)* [1-exp(-t/RC)]
其中:V0为电容上的初始电压值
V1为电容最终可充到或放到的电压值
Vt为t时刻电容上的电压值
结论:同样的条件下,电容值C跟时间t成正比关系,电容越大,充电到达某个临界值的时间越长。
二、电容触摸按键原理:
- R:外接电容充放电电阻。
- Cs:TPAD和PCB间的杂散电容。
- Cx:手指按下时,手指和TPAD之间的电容。
- 开关:电容放电开关,由STM32 IO口代替。
检测电容触摸按键过程: - MCU引脚设置为推挽输出,输出0,实现电容放电到0。
- MCU引脚设置为浮空输入(IO复位后的状态),电容开始充电。
- 同时开启MCU引脚的输入捕获(定时器的功能)开始捕获。
- 等待充电完成(充电到底Vx,检测到上升沿)。
- 计算充电时间。
原理:没有按下的时候,充电时间为T1(default)。按下触摸按键,电容变大,所以充电时间为T2。我们可以通过检测充放电时间,来判断是否按下。如果T2-T1大于某个值,就可以判断
有按键按下。
程序设计: