电容触摸原理
RC电路充放电公式
Vt = V0+(V1-V0)* [1-exp(-t/RC)]
V0 为电容上的初始电压值;
V1 为电容最终可充到或放到的电压值;
Vt 为t时刻电容上的电压值。
硬件连接
R:外接电容充放电电阻。
Cs:TPAD和PCB间的杂散电容。
Cx:手指按下时,手指和TPAD之间的电容。
开关:电容放电开关,由STM32 IO口代替。
检测电容触摸按键过程
TPAD引脚设置为推挽输出,输出0,实现电容放电到0。
TPAD引脚设置为浮空输入(IO复位后的状态),电容开始充电。
同时开启TPAD引脚的输入捕获开始捕获。
等待充电完成(充电到底Vx,检测到上升沿)。
计算充电时间。
没有按下的时候,充电时间为T1(default)。按下TPAD,电容变大,所以充电时间为T2。我们可以通过检测充放电时间,来判断是否按下。