电容触摸按键原理 RC电路充放电原理:
R为电阻,CX为电容,按下按钮电容CX开始充电,直至与V1相同。 RC电路充放电公式:Vt=V0+(V1-V0)*[1-exp(-t/RC)] V0为电容上的初始电压值;V1为电容最终可充到或放到的电压值;Vt为t时刻电容上的电压值; 当V0=0,公式简化为:Vt=V1*[1-exp(-t/RC)]
即同样的条件下,电容值C跟时间t成正比关系,电容越大,充电到达某个临界值的时间越长。(零状态响应) 电容触摸按键原理图:
R:外接电容充放电电阻;Cs:TPAD和PCB间的杂散电容;Cx:手指按下时,手指和TPAD之间形成电容。 开关:电容放电开关,由STM32IO口代替; 原理分析:无手指触摸时,电路中只有一个电容Cs,且充放电时间大小固定。当手指触摸到**时,手指与地会形成一个电容Cx,Cx与Cs并联,总电容值增大。根据零状态响应原理(不同电容到达相同电压时,电容越大所需时间越长),与之前未触摸相比,电容到达相同电压时间增长,系统因此检测到触摸。 检测电容触摸按键过程: 1、TPAD引脚设置为推挽输出,输出0,实现电容放电到0。 2、TPAD引脚设置为浮空输入(IO复位后的状态),电容开始放电。 3、同时开启TPAD引脚的输入捕获开始捕获。 4、等待充电完成(充电到底Vx,检测到上升沿)。 5、计算充电时间。 注:没有按下的时候,充电时间为T1(default)。按下TPAD,电容变大,所以充电时间为T2.我们可以通过检测充放电时间来判断是否按下。如果T2-T1大于某个值,就可以判断有按键按下。
|