电容式触摸感应按键设计方案
成本低廉。
1 检测原理
电容式触摸按键电路的原理构成如图1所示,按键即是一个焊盘,与地构成一个感应电容,在周围环境不变的情况下电容值固定为微小值,具有固定的充放电时间,而当有一个导体向电极靠近时,会形成耦合电容,这样就会改变固有的充放电时间,而手指就是这样的导体。通过测量充放电时间的改变即可检测是否有按键被按下。充放电时间的计算公式如下:
式中,t,R,C分别为充放电时间,电阻值,电容值;V1为充放电终止电压值;V2为充放电起始电压值;Vt为充放电t时刻电容上的电压值。
首先,开关在断开的状态下该按键被下拉电阻拉低,电势为0 V,这时开关闭合开始对按键充电,等充满电稳定后再断开开关,这时按键开始放电,并用定时器记录这段放电时间为t1,反复该过程。当有手指触碰按键时,放电时间会改变为t2,如图2所示,由此即可判断出手指是否触摸到该按键。
2 检测电路设计
该检测电路由MSP430F1121A作为主控制器,由JTAG接口在线仿真调试,键盘分为单个触摸按键检测和矩阵触摸按键检测两部分,如图3所示。其占用的单片机资源包括带有中断功能的GPIO口和定时计数器。
2.1 单个触摸按键检测
图3中连接单片机P2.5引脚的KeyPad与电阻R5构成一个RC充放电回路,这里由单片机的P2.5引脚控制电容的充放电,其作用相当于图1中的开关。实际的电路板中KeyPad与周围及背面的覆铜构成电容,P2.5置为高电平,给KeyPad充电,等到稳定后将P2.5引脚置为输入,并使能中断功能,且设为下降沿触发,这时KeyPad上的电荷会由R5对地放电,多次测量放电时间,作为基准放电时间。当手指触碰时,放电时间会改变,反复实验测出合理的阈值。以后检测到放电时间超过这一阈值,则说明有按键按下。为精确测量充放电时间,要使充放电电流很小,放电的电阻在兆数量级,这里选用6.1 MΩ的电阻,MSP430引脚设为输入时的漏电流为50 nA,对放电回路可以忽略。
2.2 矩阵触摸按键检测
MSP430的P1.0~P1.3和P2.0~P2.3分别连接到PAD1~PAD4和PAD5~PAD8构成一个4x4的键盘矩阵,按键从A~P,如图3所示。两两焊盘交汇处即是一个按键。在扫描过程中如果PAD2与PAD7的扫描结果超出阈值,则说明其交汇处(即按键G)被按下。需要注意的是其充放电过程有所变化,不再是单一的电容对地放电,而是两个焊盘间互相充放电。例如行扫描的PAD1与PAD2通过R1由引脚P1.0和P1.1互相充放电。对于PAD1的检测过程如下:1)将P1.O设为输出低电平,P1.1设为输出高电平,待稳定;2)将P1.0设置为输入并启动P1.0的上升沿触发中断功能,定时器开始计时;3)待到PAD1充电到达触发电平上限,产生中断,停止计时,算出按键1的充电时间t+;4)将P1.0设为输出高电平,P1.1设为输出低电平,待稳定;5)将P1.1设置为输入并肩动P1.0的下降沿触发中断功能,定时器开始计时;6)待到PAD1放电到达触发电平下限,产生中断,停止计时,算出按键1的放电时间t_;7)利用t+和t_求出按键1的平均充放电时间tbase,并作为基准值;8)按照步骤1)~步骤6)不断检测充放电时间t,并与基准值tbase作比较,如果其差值超出某一阈值,则可以判断有按键被按下;9)用同样的步骤计算PAD2的充放电时间,完成PAD1和PAD2的充放电扫描。10)同理,分别由PAD3和PAD4、PAD5和PAD6、PAD7和PAD8构成充放电电极对,检测其充放电时间。利用这种结构可构成规模较大的低成本触摸键盘矩阵,而不需专用芯片。电路中用充放电时间平均值代替放电时间平均值,更能增强抗干扰性。
3 软件程序设计
软件设计最主要的是基于以上步骤不断对键盘进行扫描,除此之外由于触摸按键的电容值会受环境的影响而变化,尤其是温度和湿度的影响,因此能跟踪环境变化及时校正基本充放电时间tbase很必要,整体软件设计如图4所示。
如果控制器发现很长时间内没有按键被按下(这里设为60 s),就开始启动校正功能,重新扫描键盘,获取新的充放电时间,并作为基准值,这样可以克服环境变化带来的影响。
4 PCB设计与布局
键盘可以做成任意形状,但为尽量避免尖端放电效应,应尽可能采用圆弧形作为边缘,对于单个按键一般设计成直径10
- 如何利用电容式数字隔离器进行设计(01-19)
- 基于电容检测芯片的电容检测系统设计(07-28)
- 基于CAV424的电容式压力传感器测量电路设计(08-21)
- 如何开发性能优异的电容式触摸屏(11-17)
- 触摸产品的关键参数解析(12-09)
- 投射电容屏内部噪声消除措施(06-06)