微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 电容触摸传感的理论框架

电容触摸传感的理论框架

时间:08-14 来源:互联网 点击:
复杂解码方案

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

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

  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变量,以及执行除法所需的额外计算量。这是另一种并不仅限用于电容触摸传感">电容触摸传感的技术,但它对于触摸传感的实现非常有用。

  结论

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top