编辑: 阿拉蕾 | 2019-10-19 |
我们通常所说的电容式触摸屏是在玻璃表面贴上一层透明的特殊金属导电物质. 当手指 触摸在金属层上时,触点的电容就会发生变化,使得与之相连的振荡器频率发生变化,通过 测量频率变化可以确定触摸位置获得信息. 现在市场上有很多的触摸屏产品,比如触摸屏手机,学习机等,都是对触摸屏的应用. 但是我们也常常应触摸效果不好带来很多烦恼. 触摸屏手机就是很好的例子, 用触摸屏写短 信是很纠结的事情, 总是要出现与自己要写出来的相差很远的字出来, 有时候还是觉得用按 盘好点. 为此,最近 Sino wealth 开发了一套触摸感应软件,使得任意一款8位的中颖微控制器 都可以作为一个电容式触摸按键控制器使用.通过对由一个电阻和触摸电极电容组成的 RC 充放电时间的控制,该触摸感应软件可以检测到人手的触摸.由于电极电容的改变,导致的 RC 充放电时间的改变,能够被检测出来,然后经过滤波等,最终通过专用的 I/O 端口,或者I2C/SPI 接口发送给主机系统.而且该软件库所需的元器件 BOM 表,成本低廉,因为每个 通道只需要两个电阻就可以实现触摸检测功能. RC 感应原理 RC 采样原理就是通过测量触摸电极电容的微小变化,来感知人体对电容式触摸感应器 (按键、滚轮或者滑条)的触摸. 电极电容(C)通过一个固定的电阻(R)周期性地充放电. 电容值取决于以下几个参 数:电极面积(A) ,绝缘体相对介电常数,空气相对湿度,以及两个电极之间的距离(d) . 电容值可由下列公式得出: 图1:RC 电压检测. 固定电压施加在,的电压随着电容值的变化而相应增加或者降低,如图2所示. 图2:测量充电时间. 通过计算 VOUT 的电压达到阀值 VTH 所需要的充电时间(TC) ,来得到电容值(C) .在触 摸感应应用中,电容值(C)由两部分组成:固定电容(电极电容,CX)和当人手接触或者 靠近电极时,由人手带来的电容(感应电容,CT) .电极电容应该尽可能的小,以保证检测 到人手触摸.因为通常人手触摸与否,带来的电容变化一般就是几个 pF(通常5pF) . 利用 该原理,就可以检测到手指是否触摸了电极. 图3:触摸感应. 这就是用于检测人手触摸的触摸感应软件中感应层所采用的基本原理. 硬件实现 图4显示了一个实现的实例.由R1,R2以及电容电极(CX)和手指电容(CT)并联的电 容(大约5pF) 形成一个 RC 网络,通过对该 RC 网络充放电时间的测量,可以检测到人手的 触摸. 所有电极共享一个 负载 I/O 引脚.电阻 R1和R2尽量靠近 MCU 放置.电容 R1(阻 值在几百欧到几兆欧之间)是主要电容,用于调节触摸检测的灵敏度.电容 R2(10KΩ)是 可选的,用于减少对噪声影响. 图4:电容触摸感应实现实例.
3 软件实现 3.1充电时间测量原理 为了保证健壮的电容触摸感应的应用,充电时间的测量需要足够的精确. 采用一个简单的定时器(无需 IC 功能)和一系列简单的软件操作,即定时地检查感应 I/O 端口上的电压是否达到阀值.这样的话,时间测量的精确度就取决于执行一次完整软件 查询需要的 CPU 周期数. 这种测量方法会由于多次测量带来一些抖动, 但是由于没有硬件限 制,这种方法适用于需要很多电极的场合. 基本测量 使用普通定时器进行充电时间的测量. 对电容充电开始之前, 定时器的计数器数值被记 录下来.当采样 I/O 端口上的电压达到某个阀值(VTH)时,再次记录定时器计数器的值. 二者之差就是 充电或者放电的时间. 图5:定时器计数器值. 过采样 过采样的目的是以 CPU 时钟的精度,对输入电压达到高电平和低电平(VIH 和VIL)的 时间测量. 为了跨越所有的取值范围,每次测量都比上一次测量延迟一个 CPU 时钟周期的 时间. 为了跨越所有的取值范围,测量的次数是和 MCU 核相关的.图6说明了这个概念的应 用情况. 图6:输入电压测量. 输入电压测量的原理 为了提高在电压和温度变动情况下的稳定性, 对电极会进行连续两次的测量: 第一次测 量对电容的充电时间,直到输入电压升至 VIH.第二次测量电容的放电时间,直到输入电压 降至 VIL.下图以及以下的表格详细说明了对感应电极(感应 I/O)和负载 I/O 引脚上的操 作流程. 图7:电容充放电时间测量. 表2 电容充放电测量步骤 触摸的效果 电极的电容值(CX)取决于以下几个主要因素:电极的形状、大小,触摸感应控制器到 电极之间的 布线(尤其是地耦合) ,以及介电面板的材料和厚度.因此,RC 充放电时间直 接和 CX 有关.图8说明了这种 触摸的效果 . 时间(即达到了 VIH 电平的时刻)比长;
同样对于降至 VIL 电平的时间也比长. 图8:触摸效果实例. 多次测量以及高频噪声的去除 为了提高测量的精确度,并去除高频噪声,有必要对 VIH 和VIL 进行多次的测量,然后 再决定是否有按键被有效 触摸 . 图9:测量的种类. 注意:下图说明了去除噪声的实例.如果测量次数(N)设置为4,那么对一个电极的完 整测量将包括4次正确的 连续组测量 (BGs) . 这些实例展示了不同噪声影响下的测量. 绿色线条表示正确的 VIH/VIL 测量;
而红色线 条表示不正确的 VIH/VIL 测量. 图10 显示了没有噪声的影响,所有测量都有效的情况. 这个例子中,每个连续组测量 中的测量都有效,使得一个完整的测量很快就可以完成. 图10:实例1. 图11 显示了有一些噪声使得某些测量无效的情况(即r1和r2) . 在这个例子中,连续 组测量 BG3重复了好几次,直到其中的所有测量都有效,该次组测量才算通过.这样就需要 较多的时间来完成一次完整的测量. 图11:实例2. 图12显示了有很多噪声,使得无效的组测量次数达到了最大限制(比如20) .这样的话, 整个电极测量都无效.这个例子中,达到了无效的组测量次数的最大限制,因此停止对该电 极的测量. 图12:实例3. 结论 通过以上的实例我们可以看出本文提出的基于中颖8位微控制器的电容式触摸按键控制 器.可以有效检测到人手的触摸.触摸效果良好.在应用上有很好的效果.相信在需要很多 触摸屏的产品中会有广泛应用.拥有该控制器的产品会有很好的市场价值.
........