欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

使用TOUCH电容触摸键的简易指南

最编程 2024-02-02 21:21:07
...

一、前言

电容式触摸按键在外形美观和使用寿命等方面都优于传统的机械按键,所以在电子产品上非常受欢迎,这里简单的对触摸按键作简要的介绍。

二、电容触摸按键优点

1、电容式式触摸按键不需要人体直接接触金属,可以彻底消除安全隐患,即使带手套也可以使用,并且不受天气干燥潮湿人体电阻变化等影响,使用更加方便。

2、电容式触摸按键没有任何机械部件,不会磨损,无限寿命,减少后期维护成本。

3、电容式触摸按键感测部分可以放置到任何绝缘层(通常为玻璃或塑料材料)的后面,很容易制成与周围环境相密封的键盘。

4、电容式触摸按键面板图案、按键大小、形状任意设计,字符、商标、透视窗LED透光等任意搭配,外型美观、时尚,不褪色、不变形、经久耐用。从根本上解决了各种金属面板以及各种机械面板无法达到的效果。其可靠性和美观设计随意性。

三、原理简要说明:

电容式触摸按键会涉及到RC电路,如图所示:

开关闭合时,Vt产生压降,电容金属板上电子移动,产生电流,此时为充电状态;当充电完成电子不再移动,此时电流为0。

使用触摸按键时,手指触碰到电容器件,类似于并联电容,这时候总电容增加, 相同条件下充电时间也变长。于是我们采取如下方式检测:相同时间检测电容。假设不并联电容时,1s充电时长电压能够达到2v;并联电容后,1s充电时长电压只能达到1v。因此,我们可以通过ADC采集电压值来区分外界是否有并联电容,从而检测是否有手指按下。

这里可以提供一个简单的公式,由F = 1 / (2π*R*C)简化一下:电容(法拉) * 电阻(欧姆) = 时间(秒),这个在后面会提到。这个公式计算的是RC电路的充放电的时间常数,物理意义是:通过电阻R给电容C充电或者放电快慢的物理量,电容越大充放电越慢。

任何两个导电的物体之间都存在着感应电容,一个按键即一个焊盘与大地也可构成一个感应电容,在周围环境不变的情况下,该感应电容值是固定不变的微小值。当有人体手指靠近触摸按键时,人体手指与大地构成的感应电容并联焊盘与大地构成的感应电容,会使总感应电容值增加。我们所使用的触摸按键也是给电容充电,然后检测电压。

四、具体使用说明

1、579触摸按键:

CH579基于上述原理开发了触摸按键的功能,配合ADC模块使用,可以实现电容类触摸按键检测功能。在CH579EVT包ADC的例程中提供了一个TOUCH的程序,我们在此基础上进行了一些修改。如图可见ADC模块的框图,红色框中为TouchKeyControl简要描述图:

具体使用:

我们接上串口打印,并且在弹簧上加上盖板。这是没有按下时的数据打印:

0, 14, 48, 42, 26

这是手指按下第三个的数据打印:

0, 28, 176, 52, 24

可以清晰的看到,第四个数据的变化非常明显。旁边的数据也会受到一些干扰,这是因为电容式触摸容易与周围环境的元件产生耦合,因此出现了虽然没有触摸到相应的按键,但是键值的检测也会有些许变化。这里的误差为可接受范围内,因为变化明显,变化值与干扰导致误差之间的差距足够让程序区分。

579触摸按键基于ADC程序,因此我们可以看一下原始程序:

GPIOA_ModeCfg(GPIO_Pin_12, GPIO_ModeIN_Floating);
TouchKey_ChSampInit();
ADC_ChannelCfg( 2 );
for(i=0; i<20; i++){
    abcBuff[i] = TouchKey_ExcutSingleConver(0x20);      // 连续采样20次
}
for(i=0; i<20; i++){
    PRINT("%d ", abcBuff[i]);
}PRINT("\n");

程序比较简单,这里有一个参数需要注意一下:TouchKey_ExcutSingleConver(0x20)。这是TouchKey充放电时间配置寄存器(R8_TKEY_CNT)

充电周期数R8_TKEY_CNT = ( Ckey + 5pF 寄生 ) * Vkey / Ikey / Tsys,

(其中,0dB 增益时Vkey建议1.6V,-6dB 增益时Vkey建议2.4V,Ikey 约为35uA)

其基本原理表示通过电阻R给电容C充电或者放电快慢。

2、582触摸按键:

582库提供了三个触摸按键的例程:触摸指示灯;蓝牙库+触摸库。

582基于触摸库demo板如图:

图上杜邦线为TX,可接串口查看打印信息。

具体使用:

①上电后初始化校准1.5S,此时触摸按键背光常亮,校准完成后背光熄灭,触摸按键板进入低功耗睡眠状态;

②初始化完成后按任一触摸按键来唤醒触摸按键板,唤醒成功触摸按键板背光会亮起0.5S,触摸按键功能正常。此时接串口打印,相应的数据会变化。唤醒后如无任何后续操作,则Demo板在20S后进入低功耗模式。

如图我们触摸第2个按键,此时按键板背光亮,串口打印数据变化,如图可见:

③BLE功能。在不唤醒触摸按键,蓝牙不广播;唤醒成功后,蓝牙开始广播,此时通过BLE调试助手可与设备建立连接。连接成功后,触摸Demo板上按键,BLE调试助手的自定义服务通道2会向手机上报当前按下的按键键值。在20s无操作后,Demo板会进入睡眠,同时蓝牙断开连接且关闭广播功能;

④低功耗。BLE_TOUCH低功耗模式的平均功耗可达到24uA,此时蓝牙功能关闭,无按键操作;

五、触摸按键设计注意点

①PCB布板的时候各个触摸按键之间的走线不要靠的太近,走线平行的部分尽可能的短;

②触摸按键到芯片对应管脚的走线尽可能的短;

③板子背面的地也要尽量避开正面的触摸按键走线

图1.手机APP端接受数据

原文地址:https://www.cnblogs.com/gscw/p/16452264.html