电容触摸传感的理论框架

发布者:hzx312895379最新更新时间:2017-09-11 来源: eepw关键字:电容  触摸传感  理论框架 手机看文章 扫描二维码
随时随地手机看文章

考虑到美观、整洁和成本效益等方面的因素,在包括消费类电子产品、家用电器等在内的许多电子产品中,触摸传感应用正变得越来越流行。本文将讨论与电容触摸传感">电容触摸传感工作相关的基本概念,以及如何简便地实现电容触摸传感">电容触摸传感功能。

  电容的相关物理性质

  为了更好地理解在电容触摸传感">电容触摸传感应用的硬件、布线和软件开发中需要采取哪些措施,了解它内在的物理性质非常重要。控制它的是两个基本公式和一个常识。第一个公式(见公式1)用于求电容值,它说明如何根据极板模型使用面积、距离和材料属性来定义电容。第二个公式(见公式2)说明电容电压电流的关系,并引入RC电路的充电速率(等于时间常数τ)。第三个公式(见公式3)说明并联电容的总电容值等于两者相加。



  公式1是双极板电容的模型。它适用于触摸传感应用,因为在将手指靠近传感器极板时,手指的作用也类似于一个极板。传感器具有一定的标称电容C1(由于走线、附近的地线等原因而产生)。将手指靠近时,距离“d”下降,而和A上升,并引入了并联的附加电容“C2”。所产生的效果就是传感器线路上的电容上升,上升值等于附加电容C2。然后,软件必须通过硬件(向单片机中输入传感器读数)来检测电容变化。硬件将利用公式2(充电时间公式)的某种形式向单片机传达传感器读数。

  传感器设计

  传感器设计通常很简单。设计布线时,需要注意容性耦合效应及其关联的物理性质。焊盘的面积及覆盖在其上方的材料的厚度是最关键的因素。对于小键盘类型的应用,传感器的大小应当至少为将手指按平时,指尖面积的大小。根据公式1中的面积“A”,传感器较大时,其传感能力通常也较好。此外,人们并不一定能够恰当地控制手指的放置位置(从而控制产生的电容),而不同的两个人也不会具有完全相同的电容。所以,传感器的容限必须尽可能很大,可以处理遇到的各种触摸情况,同时准确地报告按下状态。

  有些时候,指尖大小的传感器并不总是最佳的。作为一条准则,传感器焊盘上方的材料越厚,焊盘就必须越大,才能检测到是否有手指按下。这是因为根据公式1,当传感器焊盘上方的材料厚度增加时,距离“d”就会增大,从而手指的电容就会下降。对于需要非常精确的传感器控制的应用(例如,传感器很小),如果材料覆盖层很厚,则最终会限制传感器检查按下状态的能力。因此,如果传感器非常小,覆盖层必须尽可能薄。此外,如果非常小的传感器相互紧邻,还会产生容性耦合,在传感器之间布置接地电路可以减少这种耦合效应。此外,还可以使用一些软件技巧来辨别相互耦合程度很高的传感器。 

  用于捕捉传感器数据并将其转换为数值(读数)的硬件可采用许多方式开发。在电容触摸传感">电容触摸传感设计中,用硬件区分不同单片机供应商针对此应用推出的产品。根据公式2,可以测量和电流与电压关系有关的3个基本量:

  1. 充电至固定电压需要的时间变化量(Δt,固定V);

  2. 固定充电时间内的电压变化量(ΔV,固定t);

  3. 固定时间周期中的频率变化量(Δf,固定T) 。

  频率测量方案基于充电速率公式(重复许多次),但它对应于较长的周期T,而不是单个充电周期t。所以,充电至固定电压需要的时间变化量(Δt,固定V)和固定充电时间内的电压变化量(ΔV,固定t),定义了检测电容变化的基本方法。根据需要,可以基于这些基本方法来构造新的测量方案。

  对于测量充电至固定电压需要的时间变化量这种方法,手指产生的附加电容会增加充电时间(C上升),所以时间读数会相应地上升。对于测量固定充电时间内的电平变化量这种方法,附加电容会降低相同时间量内所能达到的电压,所以电压读数会下降。最后,对于测量固定时间周期中的频率这种方法,频率会随振荡器RC常数的上升而下降。因此,频率读数会下降。

  本文以频率测量方案为例进行说明,但每个系统都会应用后处理方案。使用一种方案时,电容读数可能会上升,而使用另一种方案时,电容读数可能会下降,但这可以在软件中调整。选择了硬件方案之后,读数将根据请求输入单片机,或按照软件配置指定的其他时间间隔输入单片机。

  单片机软件与后处理

  单片机中的软件负责处理电容触摸传感">电容触摸传感应用中的许多工作,前提是硬件和传感器均正常工作。传感器和整个系统的质量越好,软件的实现就越简单。开发软件之前,需要记住每个传感器都具有一定的固有寄生电容:Cp(或公式3中的C1)。因此,每个传感器都可以检测到某个标称值。通过观察传感器的输出,可以直观方便地确定它,但必须先在软件中设定该标称值,然后才能以此为基准计算相对于它的偏差。实现它的最好方式是创建一个滑动平均值——即,16 点平均值。通过存储先前16个值来计算平均值的效率很低,所以改为使用一种看起来较复杂,但计算较简单、可节省存储空间的求均值方法。

  与具有极强计算能力的较大的计算机处理器相比,单片机通常在这方面受到限制。与实际执行除法相比,使用移位、加法和减法可以降低性能损失。此外,这个求均值程序并不仅限用于电容触摸传感">电容触摸传感——它对于8位单片机的很多应用都非常有用。

  确定了平均值后,接下来必须构造传感器扫描循环,目的是监视相对于平均值的偏差。从一个简单循环开始,如图1流程图所示。扫描循环使用中断来驱动,并使用两个定时器和频率偏移检测方法。Timer0决定固定的时间周期T,在该时间周期内,将测量进入Timer1捕捉模块的正边沿数量,然后它产生一个频率测量值。正边沿数量越多,说明频率越高。准备好获取测量值时,Timer0发生溢出以触发中断,而Timer1会测量正边沿数量。流程图的“捕捉读数”框显示了何时获取读数。



  下一步是确定按钮是否被按下。如果按钮未被按下,则继续对传感器读数求均值。如果按钮被按下,则不对传感器读数求均值,也就是说它将继续一直跟踪读数(通常这不是所期望的)。然后,通过在C代码中使用位标志或通过其他方式,向应用程序代码指示按钮已被按下。不要在中断服务程序(ISR)中调用需要大量进一步计算的程序——较好的做法是设置一个标志,让主循环进行响应。

  此时,如果只有单个按键,则按照基本方法的描述,通过将定时器清零或将电容对地放电来重新开始测量过程。如果存在多个按键,则按顺序扫描每个按键。按照图1中的流程图,基本的系统可以定期扫描按键。

  尚待讨论的是如何确定按键是否被按下。最需要考虑和注意的是图1中的“按键是否被按下?”判断块的细节。这将在下一步讨论。

  为了确定按键是否被按下,需要先确定滑动平均值。确定平均值之后,根据测量值相对于平均值的偏差可以指示按键是否被按下。对于我们的系统,读数下降表示按键按下。因为涉及到一些环境效应和其他因素(例如噪声),所以必须设置一定的容限。但是,该系统未提供迟滞值,若读数在均值与判决门限值之差附近上下变化,就会出现系统在判定按下与未按下之间来回振荡这一糟糕的情形。为了避免这一点,需要包含迟滞值:

  if (reading < average – trip) {

  Buttons.SENSOR0 = PRESSED;

  } else if (reading > average – trip + hyst) {

  Buttons.SENSOR0 = UNPRESSED;

  }

  以上代码在按钮释放中增添了迟滞值,使按钮不会产生振动。这也为电容开关构造了最低程度的消抖功能。机械按钮会在0-VDD之间来回抖动。电容按钮不会产生该问题;但是,通过增添迟滞值,按钮按下的操作与原来无异,只是加强了对按钮释放的判断。这可以产生最低程度的消抖效果,因为单次按下仍然可以触发按键。要进一步增强消抖,可以要求连续几次的传感器读数均有效,才表示按钮确实按下,然后向应用程序指示按钮被按下。这样可以防止虚假的低读数影响系统。

  复杂解码方案

  上面用于确定按钮是否被按下的解码方案是相当简单的。

  对于百分比按下检测,将继续使用前面讨论的求均值方案。但是,读数变量将变换为如下形式:

  unsigned long percent;

  percent = average – (reading*16);

  if (percent < 0) {

  percent = 0; // 忽略电容上升

  } else {

  percent = percent * 1000; // 乘以1000

  percent = percent / average; // 结果使用100.0%的形式

  }

  结果变量percent包含0~1000的值,更具体地说,值的范围约为0~200(代表20.0%)。结果值保持单个小数位,因为更多小数位并不会提高精度。

  更换先前的“if”语句,产生类似于以下语句的“if”语句:

  #define PCT_ON 50 // >5.0%,打开

  #define PCT_OFF 30 // <3.0%,关闭

  if (reading < PCT_ON) {

  Buttons.SENSOR0 = PRESSED;

  } else if (reading > PCT_OFF) {

  Buttons.SENSOR0 = UNPRESSED;

  }

  下一个复杂解码方案称为“多键表决”。如前面所讨论,传感器不仅会与手指和周围的地产生耦合,而且会相互耦合。因此,触摸一个传感器会影响另一个传感器,但影响程度通常会低于其他意外激励。如果即使影响程度较低,影响仍足以触发按下状态,会发生什么情况?

  开发多键表决系统可以帮助解决该问题,以及与小键盘污染关联的其他问题。多键表决系统会选择按下后受影响最大的按键,代价是多次按下动作只能产生单个按键响应。例如,如果触摸会影响两个按键,但手指按下的按键受到的影响最大,该算法将选择受影响最大的按键。

  该算法必须获取来自所有可用传感器的数据。举例来说,假定使用了4个传感器。算法还是使用百分比按下检测方法,因为每个传感器的读数可能会稍有不同,采用相对与原始值的偏差可以起到一些帮助。系统必须扫描全部4个传感器,并在扫描之后执行以下步骤:

  1. 首先,扫描所有传感器;

  2. 在每次扫描期间,记录每个传感器的受影响百分比;

  3. 根据受影响程度进行排序;

  4. 基于步骤3,对索引进行排序;

  5. 位于数组单元0的传感器的受影响程度最高;

  6. 确定是否大于最小门限值;

  7. 指示按下/未按下。

  代码示例1(略)

  最后一个复杂解码方案也是百分比方案。百分比计算会占用8位单片机上可用存储器总空间中大量的程序和RAM存储空间,占用。在可能的情况下,最好降低这种存储器消耗。如果使用较大的数值,并可以承受一定的分辨率损失,则可以使用一种较简单的百分比方法。

  通过使用更多的移位来代替除法(类似于求均值方案),可以用如下方式确定平均值的百分比门限值:

  threshold = average >> 3; // 传感器

  // 门限值现在为1/8,即12.5%

  if (reading < average – threshold)

  {...}

  以下列出了一些有用的百分比。

  threshold = reading >> 1; // 1/2 = 0.500

  threshold = reading >> 2; // 1/4 = 0.250

  threshold = reading >> 3; // 1/8 = 0.125

  threshold = reading >> 4; // 1/16 = 0.063

  threshold = reading >> 5; // 1/32 = 0.031

  threshold = reading >> 6; // 1/64 = 0.016

  threshold = reading >> 7; // 1/128 = 0.008

  对于进行移位的每个位,门限值会损失一定的舍入分辨率。但是,使用较大的16位数值时,对于1/16的百分比(即6.25%),损失4个最低位是可以接受的。现在,对于简单百分比计算,可以省去前面使用的unsigned long percent变量,以及执行除法所需的额外计算量。这是另一种并不仅限用于电容触摸传感">电容触摸传感的技术,但它对于触摸传感的实现非常有用。

  结论

  有许多方法可以实现电容触摸系统,市场上针对此应用推出的各种嵌入式产品充分证明了这一点。关于这些解决方案有趣的一点是它们基于相同的物理原理,具有共同的基础。其中一些解决方案采用了不同的布线方式(将地与传感器组合);许多解决方案涉及到使用专有的材料。但是,电容触摸传感">电容触摸传感背后的概念是相当简单的——关键在于在实现设计时需要理解应用背后隐含的物理原理。基于这种理解,结合对于所用硬件和软件方案的良好理解,就可以简便地实现电容触摸传感">电容触摸传感系统。

关键字:电容  触摸传感  理论框架 引用地址:电容触摸传感的理论框架

上一篇:飞思卡尔触摸传感器实现新的应用
下一篇:基于OMAP3平台的MID(移动互联网设备)解决方案

推荐阅读最新更新时间:2024-05-03 01:39

如何测试电容器质量的好坏
在没有特殊仪表仪器的条件下,电容器的好坏和质量高低可以用万用表电阻档进行检测,并加以判断。容量大(1μF以上)的固定电容器可用万用表的电阻档(R×1000)测量电容器两电极,表针应向阻值小的方向摆动,然后慢慢回摆至∞附近。接着交换测试棒再试一次,看表针的摆动情况,摆幅越大,表明电容器的电容量越大。若测试棒一直碰触电容器引线,表针应指在∞附近,否则,表明该电容器有漏电现象,其电阻值越小,说明漏电量越大,则电容器质量差;如在测量时表针根本不动,表明此电容器已失效或断路;如果表针摆动,但不能回到起始点,则表明电容器漏电量较大,其质量不佳。 压力表对于容量较小的电容器,用万用表来测量往往看不出表针摆动,此时,可以借助一个外加直流电压和用万
[电源管理]
超级电容器产业化受到各国重视 市场前景广阔
超级电容器作为一种新型储能装置,具有显著的特点和优势,可以在某些领域取代传统蓄电池,在节能环保日益成为主题的今天,它的应用越来越引起世界各国的重视。 超级电容器产业化受到各国重视 ●美国、日本、俄罗斯、瑞士、韩国、法国的一些公司凭借多年的研究开发和技术积累,目前处于领先地位 ●国内从事大容量超级电容器研发的厂家共有50多家,能够批量生产并达到实用化水平的厂家只有10多家 在超级电容器的产业化方面,美国、日本、俄罗斯、瑞士、韩国、法国的一些公司凭借多年的研究开发和技术积累,目前处于领先地位。如美国的Maxwel,日本的Nec、松下、Tokin和俄罗斯的Econd公司等,这些公司目前占据着全球大部分市场
[电源管理]
基于Pcap01的电容式液位传感器系统设计
随着汽车工业正向着节能、高速、经济的方向发展,使得现代汽车均采用数字化系统设计。由于汽车油箱大多采用异型结构,所以为了使得油量测量的精度和稳定性得到提高,各大汽车厂商都在致力于解决这一问题。 液位测量常用的方法有滑动电位器法,电感线圈法,数字电容法等。滑动电位器法是目前中低档汽车大多采用的检测方法,但当油垢覆盖电位器后,其阻值会发生变化,造成误差过大,使此类油箱传感器成为易损件。电感线圈法为现在高档汽车多采用的方法,但其结构复杂、成本高、无法广泛使用。数字电容法是相对易实现、设计灵活、成本低、精度高的测量方法,但需解决线性度和补偿校正等问题。 汽油或柴油是具有电气绝缘特性的液体混合物,黏度低、流动性好、蒸发性强,测量对象的这些
[单片机]
基于Pcap01的<font color='red'>电容</font>式液位<font color='red'>传感</font>器系统设计
触控算法仍是电容屏突破大尺寸的瓶颈
目前市场上主流的电容触控方案包括Synaptics、Atmel、赛普拉斯、义隆等都是为小尺寸设计的。随着windows 7的发布,各大厂家纷纷推出带多点触控功能的平板电脑,触控市场逐渐向7-10寸的中型尺寸发展。 Atmel 推出了基于maXTouch技术并支持10寸以上应用的触控方案,它具有完全集成、无限触摸、低功耗等特点。通过Atmel的先进maXTouch算法,可以读取和使用无限量的独特触摸点。它还拥有先进芯片功能,可识别和报告用户的手势,如放大、旋转、拨控和点击,而其片上形状识别能力还可提供其它更复杂的功能。通过独特的耳触、脸触、掌触排除算法,更可检测和拒绝无意的触摸。 随后,Synaptics也针对平板电
[嵌入式]
奇怪,陶瓷电容为什么发出“尖叫”?
随着科技的发展,电子产品已成为人们日常生活不离手的物品了。别的不说,手机可是很重要的,聊天看电视视频打电话打游戏网购支付等功能都集中在一个小小的手机上。就这么一个小小的手机是许多不同的电子元件组成的。其中也包括了今天的主角:陶瓷电容。 一、什么是陶瓷电容? 陶瓷电容 (ceramic capacitor;ceramic condenser) 就是用高介电常数的陶瓷作为电介质,在陶瓷基体两面喷涂银层,然后经高温烧成银质薄膜作为电极,在电极上焊上引出线,外表涂保护磁漆或用环氧树脂包封而制成。它的外形以片式居多,也有管形、圆形等形状。 用于电子领域的陶瓷电容具有小型化、高耐压、频率特性好等优点,随着科技技术的发展和进步,陶瓷电容
[嵌入式]
奇怪,陶瓷<font color='red'>电容</font>为什么发出“尖叫”?
宏达电子:前三季度钽电容增幅超25%,非钽电容增幅超过100%
近日,宏达电子发布投资者调研相关信息时表示,该公司前三季度的业绩增长来自于高可靠性产品和民用产品的共同增长。今年新冠疫情并没有对高可靠行业造成太大的影响,反而整体的需求有所上升,同时民品领域由于贸易争端等因素影响,市场需求逐渐本土化且价格也出现一定程度上涨,因此对业绩有较大的促进作用。从利润角度来看,主要还是高可靠性产品的贡献较多。从产品来看,今年前三季度钽电容增幅超过了25%,非钽电容增幅超过100%,多方面的增长促成公司整体业绩较大的增幅。 目前营业收入占比较大的客户主要是航空、电科和航天集团的客户,公司今年前三季度收入占比最大客户仍然是航空领域的客户,但从收入和订单的角度来看增速最快的是航天领域的客户。 从产品层面来看,公司
[手机便携]
电容式近距传感器应用与考虑因素
要达到高灵敏度的电容式近距感测效果,需要仔细考虑众多因素,包括机械设计、传感器置放位置与设计,以及终端应用的作业环境。仔细*估各项设计考虑因素,有助于避免典型电容式近距传感器设计经常遭遇的建置问题。本文介绍一些近距感测常见应用,以及能大幅增进设计成功机率的考虑要点。 何谓电容式进距传感器? 电容式近距传感器是一种与使用者操作接口互动的有效方法,使用者不必实际触碰到接口控制组件,其根据的是电容式感测技术,以侦测到导电物体的存在。电容式近距传感器为系统与产业研发业者带来许多独特优势,能有效提升组件的使用便利性与设计美感,并可提升需要在唤醒或启动时进行设定的装置之反应速度。 电容式进距传感器应用特性 “灯光导引”概念
[嵌入式]
四种单相交流电机电容的接法
单相交流电机有四种类型,在工作时都离不开电容,以下介绍了四种单相交流电机电容的接法,为了使电容正确的接入电机,必须了解清楚四种电机的结构和工作特点,下面具体来看下。 单相电机电容的接法 第一种:分相启动式电机 如下图: 由启动绕组来辅助启动,其启动转矩不大,运转速率比较稳定,主要用于电风扇、空调、风扇电动机,以及洗衣机脱水电机等。 第二种:正反转控制式电机 为正反转带定时开关的电机接线图,这种电机的启动绕组与运行绕组的线径与线圈数完全一致,一般洗衣机的洗涤电机就是使用这种电机。这种正反转电机的控制方法很简单,只需要加一个换向定时开关就能正常工作,这种电机常用于洗衣机的洗涤电机,如下图: 第三种:带离心开关和启动电容
[嵌入式]
四种单相交流电机<font color='red'>电容</font>的接法
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved