电容式触摸(TOUCH)按键(一)
前言
电容式触摸按键在外形美观和使用寿命等方面都优于传统的机械按键,所以在电子产品上非常受欢迎,这里简单的对触摸按键作简要的介绍。
一、电容触摸按键优点
- 电容式式触摸按键不需要人体直接接触金属,可以彻底消除安全隐患,即使带手套也可以使用,并且不受天气干燥潮湿人体电阻变化等影响,使用更加方便。
- 电容式触摸按键没有任何机械部件,不会磨损,无限寿命,减少后期维护成本。
- 电容式触摸按键感测部分可以放置到任何绝缘层(通常为玻璃或塑料材料)的后面,很容易制成与周围环境相密封的键盘。
- 电容式触摸按键面板图案、按键大小、形状任意设计,字符、商标、透视窗LED透光等任意搭配,外型美观、时尚,不褪色、不变形、经久耐用。从根本上解决了各种金属面板以及各种机械面板无法达到的效果。其可靠性和美观设计随意性。
二、原理说明
1、电容式触摸按键会涉及到RC电路,如图所示:
开关闭合时,Vt产生压降,电容金属板上电子移动,产生电流,此时为充电状态;当充电完成电子不再移动,此时电流为0。
使用触摸按键时,手指触碰到电容器件,类似于并联电容,这时候等效电容增加, 相同条件下充电时间也变长,充放电周期就变长,频率则相应降低。
2、任何两个导电的物体之间都存在着感应电容,一个按键即一个焊盘与地表也可构成一个感应电容,在周围环境不变的情况下,该感应电容值是固定不变的微小值。当有人体手指靠近触摸按键时,人体手指与大地构成的感应电容并联焊盘与大地构成的感应电容,会使总感应电容值增加。我们所使用的触摸按键也是给电容充电,然后检测电压。
CH58x触摸按键原理:
前提:
- 手指在不触摸按键时等效容值为Ca,手指触摸按键后等效容值为Cb。触摸按键类似并联电容,总容值增大。可推导出Cb > Ca。线性关系如图;
- 容值越大,达到特定电压的充电时间越慢。
结论:电容式触摸按键采用相同时间检测电压的方式判断是否按键。假设在未触摸时充电时间相同情况下电压可达到2V;在触摸时充电时间相同情况下电压可达到1.5V。具有0.5V的差值,可以作为判断按键是否按下。
这里可以提供一个简单的公式,由F = 1 / (2π*R*C)简化一下:电容(法拉) * 电阻(欧姆) = 时间(秒),这个在后面会提到。这个公式计算的是RC电路的充放电的时间常数,物理意义是:通过电阻R给电容C充电或者放电快慢的物理量,电容越大充放电越慢。
实际在电流源电容式触摸按键中表现为:触摸变化率=ΔC/Cbase > 5%,因此ΔC越大越好,Cbase尽量小。这两个参数是电容触摸最基本的原理,主要是涉及到硬件设计,在接下来的章节或博客会提供硬件的建议。
三、具体使用说明
1、579触摸按键:
CH579基于上述原理开发了触摸按键的功能,配合ADC模块使用,可以实现电容类触摸按键检测功能。在CH579EVT包ADC的例程中提供了一个TOUCH的程序,在此基础上进行修改。如图可见ADC模块的框图,红色框中为TouchKeyControl简要描述图:
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个按键,此时按键板背光亮,串口打印数据变化。这里的基线值是3000左右,一般需要在3000-3600之间(调整充放电时间);测量值(基线值与采样值的做差):未触摸时为0,代表基线值=采样值,触摸后会变化,如变化100,代表采样值与基线值的差值为100,这时候需要设置向上的阈值设置为差值的75%,向下设置为差值的50%。
- BLE功能。在不唤醒触摸按键,蓝牙不广播;唤醒成功后,蓝牙开始广播,此时通过BLE调试助手可与设备建立连接。连接成功后,触摸Demo板上按键,BLE调试助手的自定义服务通道2会向手机上报当前按下的按键键值。在20s无操作后,Demo板会进入睡眠,同时蓝牙断开连接且关闭广播功能;
- 低功耗。BLE_TOUCH低功耗模式的平均功耗可达到24uA,此时蓝牙功能关闭,无按键操作;
四、触摸按键设计注意点
- PCB布板的时候各个触摸按键之间的走线不要靠的太近,走线平行的部分尽可能的短;
- 触摸按键到芯片对应管脚的走线尽可能的短;
- 板子背面的地也要尽量避开正面的触摸按键走线
附1
图1.手机APP端接受数据
附2
实际触摸按键调节可以参考该博客: