电容式触摸感应按键技术原理及应用Word格式文档下载.doc
《电容式触摸感应按键技术原理及应用Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《电容式触摸感应按键技术原理及应用Word格式文档下载.doc(7页珍藏版)》请在冰点文库上搜索。
如果不触摸开关,张弛振荡器有一个固定的充电放电周期,频率是可以测量的。
如果我们用手指或者触摸笔接触开关,就会增加电容器的介电常数,充电放电周期就变长,频率就会相应减少。
所以,我们测量周期的变化,就可以侦测触摸动作。
具体测量的方式有二种:
(一)可以测量频率,计算固定时间内张弛振荡器的周期数。
如果在固定时间内测到的周期数较原先校准的为少,则此开关便被视作为被按压。
(二)也可以测量周期,即在固定次数的张弛周期间计算系统时钟周期的总数。
如果开关被按压,则张弛振荡器的频率会减少,则在相同次数周期会测量到更多的系统时钟周期。
SiliconLabs推出的C8051F9xx微控制器(MCU)系列,可通过使用芯片上比较器和定时器实现触摸感应按键功能,连接最多23个感应按键。
而且无须外部器件,通过PCB走线/开关作为电容部分,由内部触摸感应按键电路进行测量以得知电容值的变化。
◆以SiliconLabs的MCU实现触摸感应按键
利用SiliconLabs其它MCU系列,仅需搭配无源器件,即可实现电容式触摸感应按键方案。
与C8051F93x-F92x方案相比,唯一所需的外部器件是(3+N)电阻器,其中N是开关的数目,以及3个提供反馈的额外端口接点。
C8051F93x-F92x之外,SiliconLabs其它MCU系列可直接连接12个开关,或者通过外部模拟多路复用器连接更多开关。
设计触摸感应按键开关
因为我们要侦测电容值的变化,所以希望变化幅度越大越好。
现在,有三个主要因素会影响开关电容及变化幅度。
PCB上开关的大小、形状和配置
PCB走线和使用者手指间的材料种类
连接开关和MCU的走线特性
我们测试了下图中这12种不同开关。
目的是为了发现开关的形状尺寸会如何影响开关的空闲和被接触的状态,还可以发现哪一种开关的空闲电容最大,就不容易被PCB上的寄生电容而影响。
测试结果表明,在特定区域中的开关越大且走线越多,则此开关的闲置电容便越高。
图中的环状开关具有最低的电容,所以当开关动作时,可显现最大的电容相对变化。
◆开关的形状尺寸会如何影响开关的空闲和被接触的状态
由于开关上方的材料种类,会影响闲置电容和电容的变化率。
我们还测试了玻璃、有机玻璃Mylar聚酯薄膜、ABS塑料和FR4玻璃纤维,这几种不同材料。
我们发现,尽可能使用最薄的材料,使电容变化极大化。
而且,建议使用具有高介电常数的材料,例如玻璃,以增加开关的绝对电容。
总结
SiliconLabs的电容式触摸感应按键的优点很多。
首先,只需要很少的微控制器开销(overhead)。
设计一个开关仅需443字节码空间,每多增加一个开关仅需多增加额外的1字节。
硬件资源只需要一个比较器和定时器。
还可以采用高效率算法,让微控制器可以进入低功耗模式,并能定期唤醒以侦测开关动作。
总体只占用低于0.05%的CPU资源。
其次,没有外部硬件开销。
可以将开关走线直接连至MCU端口管脚,无须其它外部的反馈电阻器或电容器。
而且芯片配置也很简单。
无论开关使用为何材料,完成都很容易。
另外,按键的侦测,不易受到噪声和供应电压的影响。
不受50/60Hz噪声的影响,也不需要精密电压源(VDD)。
常见问答(摘自2008年12月SiliconLabs在线座谈中的问答环节)
问题
回答
问:
如何调整触摸灵敏度?
是设计时固定的,还是到现场可以进行调整的?
答:
灵敏度是通过实验来做的,客户可以对不同状况下的值进行记录,然后保存到flash中,这样实际使用时,不同状况下,系统会用不同值来工作,实现适合的灵敏度。
灵敏度是设计时确定的,也可以设计成自学习型的。
一个开关需要一个定时器和一个比较器,多个开关是共用定时器和比较器吗?
对于多个开关,采用一个多路复用器,就可以共同使用一个定时器和比较器了。
如何消除和区分电容触摸的误触摸?
确定触摸式按键是否被按下可以通过检测频率或者周期来实现。
而消除和区别误触摸,则要通过软件上一些校准的算法来实现。
具体的信息,可以登陆下载详细的参考应用。
贵公司的电容式触摸芯片有休眠功能吗?
如何唤醒?
有休眠功能,我们F9xx系列单片机支持sleep、suspend睡眠状态。
可以通过IO、外部中断、比较器等唤醒。
和电阻式触摸按键相比,电容式触摸按键有哪些优点,是否存在不足?
电阻式的要用A/D采样,并且人的电阻很大,采样比较困难,每个人的电阻差异也很大。
抗干方面,电容式的更好一些。
我的手要在按键放多久才能被检测?
人的动作是以百毫秒来计算的,而IC内部检测是否有按键按下的时间通过数千个机器周期就可以确定,时间等级差很多。
因此基本上手一放上去就会被检测到。
电容式触摸按键有没有防水防潮设计,如果使用环境在一些潮湿场所,例如啤酒生产,使用电容式触摸按键是否合适?
你可以在"
电容式触摸按键"
的外面加一层塑料或其他介质进行保护。
另外,当"
按键"
受到污染,"
空闲电容,idlecapactiance"
变大时,你可使用算法来刷新/标定你的检测门限(重新标定时间常数,RC)。
c8051F9xx可以同时监测多少路的按键动作?
处理速度能达到多少?
C8051F9xx最高速度是24.5MHz,电容感应的响应时间是由电容充放电时间决定的,即与时间常数有关。
一般一个周期为1000~2000个系统时间周期/SYSCLK,故响应时间小于为2*2000*1/24.5MHz=160uS。
人的动作为上百mS级的,MCU有足够的时间去处理按键响应。
由于受到I/O口的限制,C8051F9xx最多能做到23个按键。
为了提高按键的抗干扰能力,在绘制PCB图时应注意哪些问题?
按键与单片机IO间走线需要越短越好。
为了提高按键的灵敏度和准确度,编程时应如何如何对其进行处理?
灵敏度和准确度是相反的一组值。
你必须要自己选一个中间值来平衡。
如果我想更多的了解和学习电容式触摸按键技术,请问有无相关书记和资料课提供?
谢谢
有的,我们有电容按键的参考设计,包含软硬件以及源代码。
请到网站上下载应用文档,AN338CapacitiveTouchSenseSolution.pdf,也可以联系我们益登科技相关办事处,获取详细设计资料及指导。
假如我需要开发电容式触摸按键技术,请问我应该买什么开发工具和软件?
可以购买我们提供的C8051F931-basedToolStick与CapacitiveTouchSense,或者C8051F930DK等开发套件,套件中包含设计资料和参考代码。
基于充放电原理的电容式触摸按键设计
2010-12-2010:
41:
20来源:
21ic
关键字:
充放电触摸按键电容式定时计数器终止电压GPIO放电回路触摸键盘频率检测下降沿
与传统的机械式按键相比,电容式触摸感应按键美观、耐用、寿命长。
电容式触摸感应按键实际只是PCB上的一小块“覆铜焊盘”,与四周“地信号”构成一个感应电容,触摸该按键会影响该电容值。
现在检测电容值的方法有很多种,如电流与电压相位差检测、由电容构成的振荡器频率检测、电容桥电荷转换检测。
而这里则是利用感应电容与电阻构成的RC回路,检测充放电时间的变化量,不需要专用检测电路,
成本低廉。
1检测原理
电容式触摸按键电路的原理构成如图1所示,按键即是一个焊盘,与地构成一个感应电容,在周围环境不变的情况下电容值固定为微小值,具有固定的充放电时间,而当有一个导体向电极靠近时,会形成耦合电容,这样就会改变固有的充放电时间,而手指就是这样的导体。
通过测量充放电时间的改变即可检测是否有按键被按下。
充放电时间的计算公式如下:
式中,t,R,C分别为充放电时间,电阻值,电容值;
V1为充放电终止电压值;
V2为充放电起始电压值;
Vt为充放电t时刻电容上的电压值。
首先,开关在断开的状态下该按键被下拉电阻拉低,电势为0V,这时开关闭合开始对按键充电,等充满电稳定后再断开开关,这时按键开始放电,并用定时器记录这段放电时间为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.1MΩ的电阻,MSP430引脚设为输入时的漏电流为50nA,对放电回路可以忽略。
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所示。
如果控制器发现很长时间内没有按键被按下(这里设为60s),就开始启动校正功能,重新扫描键盘,获取新的充放电时间,并作为基准值,这样可以克服环境变化带来的影响。
4PCB设计与布局
键盘可以做成任意形状,但为尽量避免尖端放电效应,应尽可能采用圆弧形作为边缘,对于单个按键一般设计成直径10mm的圆形,尺寸过小会使得检测信号微弱,不利于检测,尺寸过大会使未碰触时和碰触时电容量的差值降低,而设计时尽量使差异值最大化,所以按键既不能过大也不能过小。
对于矩阵按键,应设计成相互交叉的手指状。
各个感应盘的形状、面积应该相同,以保证灵敏度一致。
各触摸按键之间应尽量远一点,以减少相互间的干扰,可用覆地隔开,通常按键与地信号间有O.5mm的间隙,在按键的背面也覆一层地,以减少电磁干扰。
触摸按键的连接线应尽量的细,不要跨越其他的信号线,尤其是高频、强干扰的信号线。
5结束语
触摸式按键的应用越来越广泛,如何有效地降低制造成本是产品研发中必须考虑的问题,而电容式触摸按键的检测方法有多种,本论文中用到的硬件设计利用检测RC电路充放电时间的原理以判别按键是否被按下,不仅可以检测单个按键,还可以检测矩阵按键,检测电路仅由电阻电容构成的充放电回路及单片机组成,替代了专用的检测芯片,这样简单、易用,且有效地降低了硬件成本。