前一段时间,做了一个使用 HT45R35 芯片的触摸按键项目,属于是芯片自带专门应用于触摸键功能的"专用芯片".近日,再次对触摸按键进行实践----使用 AD 转换方式.这样,就不要专门功能的芯片了.同时,调试更加简单方便,也没有了许多限制.
下图是一个该实践的原理图,每一个按键包含了 10P,104 电容器,一只贴片封装的双二极管, 3 个电阻.项目里使用的按键数量没有限制.完全可以根据需要来决定.但是,需要单片机具有相同数量的 AD 输入接口.(----或者使用多路模拟开关反而成本上升,电路复杂,尽量不要这么干.)
不管是哪一种测量方式,都需要有一个参考量.电容量→定时/计数方式的参考值是通过检测没有触摸按键时的计数值来实时得到,而 AD 方式的参考值就是基准电压,它无需任何手段就是天然存在的.
无需追求 AD 的位数,可以使用仅仅 8 位的 AD 转换就足够了.
电路工作原理是: 一个由单片机输出的 PWM 信号(没有 PWM 输出的芯片可以使用一个普通 I/O ,只要能够输出满足要求的频率就可以了.)
这个信号频率与 10P 电容器有关系.频率低了,10P 电容器的容抗就会增大,造成后级二极管整流的电流下降,影响速度.加大电容量是受到人手触摸电容量的限制,这个 10P 电容量必须与人手触摸电容器有一个合适的配置.尽量让人手的触摸电容量与这个 10P 电容器的容量相同是最理想的.(可以更换 10P 电容器的大小来达到.)
例如:
如果使用 1K 对 1K 的电阻去分压一个 1V 的电压,这是最理想的.而如果使用一个 1Ω 的电阻与一个 10MΩ 的电阻去分压,那么,这个分压效果就很差很差了.
由此可以知道:首先是从人手的触摸电容量出发,去决定 10P 电容器的电容量,而后,是根据这些电容量去决定信号频率的高低.这就是为什么不能直接使用 50HZ 交流电频率的原因.
通常,AD 转换有一个基准电压,可以使用与系统供电相同的 +5V 作为基准电压.有些芯片的 AD 还可以改变基准电压的,则可以使用 2.5V 作为基准电压,灵敏度更高一些.
不管是电容量→计数器方式还是电容量→电压方式,都要有一个参考标准,前者是实时测量得到参考值,后者就有一个天然的标准参考--基准电压.这就是使用 AD 方式的好处之一!
对较高频率的信号来说,10P 电容器的容抗约为 30KΩ~50KΩ 左右(取决于信号频率与电容量大小),它经过双二极管 A7 构成的倍压整流之后,可以得到约 2.2~3.5V 的直流电压.这就是没有触摸按键时的输出电压.由于有 AD 基准的约束,每只按键的读数是大致固定的.以基准=5V为例,读数就是 7FH 左右.这个电压可以比较随便的在印刷板上布线,不像电容量→计数器方式的一样麻烦,这是使用 AD 方式的第二大好处!
倍压整流后由一只 104 的电容器进行滤波,得到较为平滑的直流电压.这个直流电压显然可以非常方便的传送.几乎没有什么顾忌.(电容量→定时/计数方式的则不允许乱布线).
这里,需要提及与 104 电容器并联的 3M 电阻,这个电阻是给电容器放电使用的,可以根据对按键的反应速度调整其大小.(具体还得看看实际使用芯片的 AD 输入端口的阻抗大小).当不用这个电阻时(=无穷大),反应速度最慢.而且,如果取值较少,电压就会上不去.----中间如果插入一个运放跟随器就好了!
还要提及的是 AD 转换的速率,尽量使用较快的速率,较高的系统时钟,因为相对于机械式按键来说,处理触摸式按键是比较麻烦的,耗费的指令也多得多.
现在,关键的问题就是进行触摸调试了.试着用手触摸一个按键,使用直流电压表看看它的直流输出电压是否有变化?变化多少?时间快慢?
根据实际测试,在触摸着按键时,输出电压会下降到没有触摸时的 50% 以下,但是时间会达到 2~3S .此时,可以细心调整 3M 电阻或者 104 电容器的大小.一般的,如果能够在 0.25S之内,电压下降到原来数值的 80%~90% 就差不多了.
判断哪一个按键被触摸了是很容易的事情了,就看看 AD 读数吧.它是有方向的,不用理会≥参考值,仅仅看看<参考值多少就是了.根据这个"多少"界线,还可以调整触摸灵敏度呢.灵敏度太高,测量值的波动会引起按键还没有触摸就有效了,灵敏度太小,就是摸了半天也没有反应.
带 AD 的单片机现在已经很多了,例如 SN8P27XXX 系列,HT46XXXX,HT45XXX 系列,都有许多带 AD 的单片机,其中, HT45R54 自带 24 路 AD,HT46R343 自带 16 路 AD .还有 Flash的HT46F25* ,自带 12 路 AD 而且可以反反复复烧写/擦除,做试验是最好的了!
现在市场上有许多专门供货触摸按键芯片的,也有许多技术文章,总之,各师各法,实际处理触摸按键就像电压比较器一样,不需要知道其值的具体大小,仅仅判断有"高"电平还是"低"电平就足够了.----应该属于临界判断.
根据上面所说,接下来,我会使用普通单片机来实践做触摸按键.既不使用专用芯片(电容量→定时/计数),也不使用自带 AD 芯片(电容量→电压→AD 转换),就直接使用普通单片机的端口+电压比较器来做.这样是否会让电路多放置一只比较器芯片?不!就使用自带运算放大器或者自带比较器的芯片.同样简单容易.-----也可能失败啊!欢迎各位指导!
正是有了许许多多的自带 AD 的单片机,因此,那种使用外挂多路模拟开关的方法就不好用了.(多路 AD 实际芯片内部就有了多路模拟开关).在盛扬半导体(上海)的中文网站上,就有使用HT46R47 做触摸按键的示例.
www.holtek.com.cn .
需要了解更多此触摸按键的其它应用信息,欢迎浏览:
www.dfm.bj.cn .
下图是我的 AD 方式试验板,只有 4 个触摸键, 3 只发光管以二进制编码指示按键号码,哪一个按键被触摸了,哪一个对应发光管就点亮 0.5S 时间.使用上,似乎比专用芯片的毫不狲 {MOD}!----还有待实际应用来检验.我想:既然可以处理测量 0.1℃ 的温度,0.1mV的电压,那么,不可能不能处理这种"界限"式的触摸关系.
使用 AD 测量的 电容触摸按键 电路
触摸按键实践(3)
电容式感应按键以其无机械磨损、寿命长、防水防污、易清洁和时尚的特点, 近几年应用 领域和数量迅速增加. 因此, 结合电容感应按键的特点, 设计了一种用A/D 口搭配简单的电路实 现电容感应按键的方法. 经测试, 电路的稳定性较高, 在低成本的电路中适用性较强.
触摸控制技术又可分为触摸屏(Touch Screen) 技术和触摸按键(TouchKey)技术. 在触摸按键技 术方面, 目前主要可分为电阻式触摸按键与电容 式感应按键. 由于电阻式的触摸按键需要在设备 表面贴一张触摸电阻薄膜, 其耐用性较低, 而电容感应按键技术具有在非金属操作面板上无须开 孔处理、防水防污、易清洁、无机械开关磨损而寿 命长等优点. 近几年随着苹果公司将电容触摸感 应技术从笔记本电脑引用到iPod 后, 电容触摸感 应热浪正席卷几乎所有电子产品, 从笔记本电脑、
智能电话、PDA、游戏机等手持设备, 到LCD TV、 DVD 等消费电子产品, 再到洗衣机、空调、冰箱、 热水器、电磁炉以及咖啡壶等大小家电, 无不以加 入电容触摸感应为新的卖点.
目前, 世界知名电 子元件供应商均加大了对电容触摸按键的应用研 究, 并推出众多的专业芯片, 有专用电容感应按键 类的全ASIC, 也有众多基于MCU集成类的IC. 但这些芯片价格较高, 在一些按键数量少、成本要求 低的电路中很难得到运用. 另外, 使用这些集成类 IC, 很难做到所选资源恰好等于使用的情况, 存在资源的浪费情况. 而且对于升级成熟产品的机械 式按键, 还存在变更原MCU 代码的风险. 同时, 目 前, 对于电容式触摸按键的介绍大多也停留在基 于电容量测量的原理上.
结合电容感应按键 的原理, 设计了一种用MCU 的A/D 口实现电容触 摸按键的低成本电路.
1 电容式感应按键原理
平行板电容器具有 2 个极板, 其间隔着1 层介 质, 电容器中的大部分能量直接聚集在2 个极板之 间, 1 个极板电荷数量的变化将引起另外极板电荷 的增减, 从而在电容内部形成电流. 电容式感应按键的原理如图1 所示, 感应按键 的金属电极, 放置于非金属面板内, 并连接交变的 电信号. 如果在非金属面板另一侧与金属电极对 应处放置另外1 块金属板(图2), 那么, 2 个极板就 组成了平行板电容器, 非金属面板成为此平行板 电容器的介质. 由于电场被封闭在2 个金属极板之
间, 所以大部分能量均集中在非金属面板内. 如果在非金属面板外隔着金属, 手指触摸对其能量损失的影响就很小.
图1 电容感应按键示意图
图2 封闭电场示意图
去除外侧的金属板, 电场的能量就会穿过非 金属的密集区, 向外传播(图3).
图3 电容感应电极的电力线
当导体靠近操作 面(即非金属面板表面)后, 电磁场即在导电介质中 传播. 由于导体中存在自由电子, 这些自由电子在 电场作用下就会形成传导电流, 进而产生焦耳热 从而引起电磁波能量损耗. 由于人体组织中充满 了传导电解质(一种有损电介质), 当手指靠近时 同样会引起电磁能量损耗. 因此只要检测流经感 应电极的电能变化, 就可以判断是否有手指靠近 非金属操作面板.
2 电容感应按键取样电路分析
图 4 为电容感应按键取样电路图, 电路由5 个分离元件组成. 其脉冲信号频率为300kHz, 幅度 12 V,占空比为50%. 通过读取电容 C1上的电压值 判别是否有手指靠近操作区域. 其原理分析如下: 二极管1N4148正向导通电压为d V , 在脉冲信 号跳变为高电平(12 V)时, 假定电容 C1上电压为 U0, 电容的充电回路根据 C1电压大小出现如下2 种情况:
(1) 若 , 则充电回路为图5(a), 充电时间常数
电容 C1的充电电压:
(2) 若
则充电回路为图5(b), 充电时间常数
电 容 C1的充电电压为:
在振荡脉冲跳变为低电平时, 根据电容 C1电 压大小, 出现以下2 种放电回路:
(1) 当0 2 d U > V 时, 放电回路为图5(c), 放电 电路的
其放电时的 电容电压为:
图4 电容感应按键取样电路
(2) 当U0≤2Vd 时, 放电回路为图5(d), 放电 电路的
其电容电 压为:
.
由于电路中脉冲占空比为50%, 充放电时间
在该电路中, 充放电电阻大, 流过的充放电电 流小, 二极管1N4148 的导通电压也较小, 若以充 电电路为图5(a)、放电电路为图5(c)来计算, 充电 时间常数τ = 放电时间常数= 0.1s, 而充放电时间 为
假定二极管电压在微弱电流下按0.2 V 计算 根据(1)式和(2)式, 运用迭代可计算出电容电压最 后稳定在5.9 V,而以上计算不考虑由手指触摸等 任何情况引起的能量损耗.
电容 C1充放电如图6 所示. 在实际的充放电 电路中, 电路对金属极板的充放电始终在进行. 当 手指靠近金属极板时, 感应电极处存在的微弱电 磁场被传导至人手指内电解质中, 同时消耗了部 分能量, 电容 C1补充的电荷将减少, 因此电容 C 的电压将下降(图7). 当ΔV 变化量达到最小检测 精度要求时, 系统即可通过计算识别出是否有手 指或其他导电物体靠近操作区.
图6 电容充电时间与电压的关系
图7 手指触摸时的电平变化
A/D 法电容感应按键、读键流程:
将电容电压引入 MCU 通用A/D 口, 即可将电 容 C1上的电压值转换为数字量并通过MCU计算 出电容 C1两端电压的变化大小, 从而判断出是否 有手指或其他导电物体靠近或离开触摸按键, 实 现电容感应按键的识别. 软件流程如图8 所示.
电路参数对感应灵敏度的影响
输入脉冲影响
输入脉冲的幅值决定了 C1上稳态电压, 如果 脉冲幅值不稳定, 就会导致 C1上的电压波动. 如 果该幅值变化引起的电容电压变化量ΔV 超过了 检测的最小检测精度, 即使没有手指靠近, 也会造 成读键的误判, 所以脉冲电压幅度要稳定. 此外, 输入脉冲的频率同样也会影响到 C1电 容的工作状态, 如果输入脉冲的频率过低, 则 C1电压纹波会加大, 感应灵敏度下降; 反之, 输入脉 冲的频率过高, 则线路损耗加大, 而且触摸容易受 到干扰.
充放电电阻值的影响
如果同时改变 R1,R2 的阻值, 例如将阻值改为100KΩ, 充放电时间常数减少10 倍, 因
虽然 C1上电压变化不大, 但此时 C1上的充放 电电流却显著增强, 使得手指触摸的灵敏度下降. 所以, 电路中 R1,R2的阻值一定要选取恰当.
二极管的影响
由于上述电容式感应按键电路工作频率高, 且流经电流小, 所以应当选择结电容小、开关速度 快、正向导通电压低的二极管. 另外, 二极管的工 作可靠性一定要好,D1,D2任一短路、断路都会破 坏充放电回路, 从而使触摸电路失效.
电容感应电极的形式
电容式感应按键的感应电极有很多种, 常用 的感应电极有PCB 板上的电极及弹簧金属片式电 极. 电极形式可以根据外观进行任意设计, 如圆 形、方形、三角形等. 但无论电极以哪种形式出现 其周围都应尽量远离地: PCB 双面板电极对应的另 一面铜箔应当刻蚀去除, 弹簧电极周围的PCB 铜 箔也要刻蚀去除. 否则, 感应电极与金属之间将形 成感应电流, 削弱了手指或外界导电物靠近电极 时电路的灵敏度.
同时, 电极应当与非金属面板紧贴, 如果中间 有空隙, 相当于增加了感应距离, 使感应灵敏度降 低. 感应电极的面积和非金属面板的厚度影响了 感应的灵敏度. 实际应用中, 目前厚8mm 以下的 钢化玻璃, 其圆形金属感应电极直径不小于12 mm.
这种用分离元件组成触摸感应按键用的低成 本电路, 在按键数量不多的情况下应用, 可根据按 键数量多少进行自由组合感应电极数量和最简电 路数量, 充分利用资源. 同时, 对于升级原成熟产 品, 仅需选择原MCU 系列中带A/D 端口的产品, 编写读取触摸按键的程序, 可以很顺利地完成程 序替换. 该电路目前成功运用于油烟机、消毒柜、 微波炉、蒸箱、烤箱等一系列产品上, 顺利通过 EMC 标准的测试要求, 市场质量表现稳定可靠.