基于电容式触摸按键技术的七彩灯设计
扫描二维码
随时随地手机看文章
摘 要:随着电子科学技术的不断发展,电容式触摸按键已经越来越多地应用于各种电子产品设计中。
传统机械按键输入方式的电路复杂,并且容易磨损、使用寿命短。而电容式触摸按键技术电路简单、操作方便,并且灵敏准确,很好的弥补了机械按键的缺点和不足。文章采用BF6911AS10电容式触摸按键控制芯片,利用电池供电,通过GPIO口模拟PWM输出控制RGB三色LED灯头实现七彩灯功能。利用不同的触摸按键结合软件设计完成开关机、颜色循环、颜色改变等功能。研究结果表明,所设计的电容式触摸按键响应速度快、抗干扰能力强、检测精度准确,具有很大的应用价值与市场前景。
0 引言
随着电子科学技术的不断发展,触摸输入方式已经在众多领域得到了应用。传统的普通机械按键使用寿命只有十几万次,相比之下,由于触摸输入方式采用非接触式按键技术,其使用寿命远远超过机械按键,可靠性也不会随着时间的增加而降低。
另外,触摸按键的外观简洁、操作方便、灵敏准确等优点,也使得触摸按键输入方式具有很高的实用性和操控性,以及很好的发展前景。
触摸输入方式可以根据选用的触摸传感器类型的不同而分为电阻式、电波式、电磁式、光学式、电感式和电容式。以上每种触摸方式都有着其独特的性能优点,从而可以适用于不同场合。而电容式触摸输入方式的制造工艺成本低廉、检测便捷准确,并且硬件免维护,因此作为最主要的触摸输入方式。本文利用芯片的GPIO口模拟PWM输出控制RGB三色LED灯头配比出七种颜色的灯光效果,并采用电容式触摸按键技术实现开关机、颜色循环和颜色改变的功能,很好地将电容式触摸按键技术与实际应用结合为一体。
1 硬件电路设计
1.1 主控模块。
按照本设计的特点及需求,选用BF6911AS10电容式触摸按键控制芯片。该芯片共有16个引脚,内含10个电容式触摸感应通道,每个触摸按键都能独立运行,通过芯片内置的升压电路,可方便地调节触摸按键灵敏度,其中有8个通道可复用为GPIO口。
该芯片内置主频为24MHz的单片机内核以及用于使外部的输入信号与内部的振荡信号同步的PLL(锁相环)模块;并带有LDO(低压差线性稳压器)模块,可提高电源的信噪比。
电容式触摸是利用人体电流感应进行工作的。
当给触摸工作面通上很低电压时,由于人是零电势体,手指在触摸工作面时,手指的电场会和工作面形成耦合电容,而电容在高频电流中变为导通,因此手指会从接触点吸走很小的电流,电容式触摸控制电路则可检测到微弱的电流变化,从而实现按键检测。该芯片内置防水和基线更新算法,可以很好地适应环境变化,从而使得耦合电容较为稳定。
因此BF6911AS10是一款适用于需准确而稳定地检测按键信息的芯片。其芯片结构及功能原理框图如图1所示。
图1 BF6911AS10功能原理框图
1.2 外围硬件模块
系统以BF6911AS10电容式触摸按键控制芯片作为主控,外接6个触摸按键、RGB三色LED灯模块、5V锂电池以及带锂电池充电保护功能的充电电路。
1.2.1 电源模块
电源模块包括锂电池充电电路及锂电池保护电路。充电电路采用QX4054锂电池充电管理控制芯片。该芯片内含高精度比较器、恒流控制电路、充电状态指示电路以及过充过热保护电路。QX4054具有电路集成度高、功能齐全、外接元件少、可靠性高等优点,非常适合便携式设备使用。锂电池保护电路采用DW01芯片,该芯片内置高精度的电压检测与时间延迟电路,可以避免锂电池因过度充放电、电流过大导致电池寿命缩短或电池被破坏。系统采用5V锂电池供电,由于系统整体功耗非常低,因此可保持长时间工作。当电池电压不足时,便可通过DC座插孔对电池进行充电,并配有LED作为充电指示灯。
1.2.2 灯源模块
根据设计所需产生七种不同颜色的彩光,灯源模块采用5V供电的RGB三色LED灯头。RGB灯是以三原色共同交集成像,可以根据需要进行配比混色。
由于BF6911AS10不具备三个PWM(脉宽调制)功能的通道,因此只能采用主控的三个GPIO口配合软件编程模拟PWM输出控制RGB三色灯。通过三路模拟PWM功能分别控制红、绿、蓝三种颜色LED灯接通的时间,改变它们的占空比,从而配比成所需的彩虹七色,占空比最高设置为50%.三色灯通道分别由三极管进行驱动并串有限流电阻保护LED灯,灯源模块电路图如图2所示。
图2 灯源模块电路图。
1.2.3 触摸按键模块
本设计采用6个触摸按键,集成于一块触摸滑条上。其中1个按键作为多功能点动按键,短按时开关机,长按时则颜色循环渐变。其余5个按键同时支持点动与滑动用于改变灯光颜色。主控通过检测触摸按键信息完成开关机、颜色循环、颜色改变的功能。当主控检测到改变颜色的功能按键被触发时,会调整RBG三色灯各自占空比从而配比输出相对应的颜色。为了使按键检测更加精准,需要在每个触摸通道与主控之间串上2k电阻以减小干扰,同时应尽量保持每个触摸通道与主控距离相等[6].
2 系统软件设计
系统软件使用C语言编写,采用前后台方式构建和运行。主函数实现了系统前台中电流源自适应调节、按键循环扫描、判断触摸通道、执行通道功能的大循环,流程图如图3所示。
图3 系统前台主流程图。
系统初始化包括了Timer 0初始化、I/O口初始化以及触摸通道初始化等。Timer 0初始化中,将其设定为16位定时器,并给定时器0赋以初值。I/O口初始化中设定3个通道为GPIO口用于模拟输出PWM功能,另有6个通道作为触摸按键使用。触摸通道初始化中执行电流源的初始化以及触摸基线初始化。
电流源初始化后,通过电流源自适应的调节,可将由环境或噪声等因素对触摸通道扫描造成的干扰进行一定程度的抵消和降低,提高了触摸扫描的精度和稳定性。触摸基线初始化中提供了基线的参考值与误差范围,用于计算并判断被触摸的通道。主循环中将看门狗定时器设定为2.3s定时,需进行喂狗以防程序跑飞或死循环等错误,若未及时喂狗,则系统自动复位。
另有函数用于实现系统后台中断服务功能,包含定时器0中断和按键中断。定时器0中断通过调用其服务子程序调整RGB三色灯各自占空比,控制高低电平时长,配比出相应的颜色;按键中断通过调用其服务子程序进行按键的循环扫描,在扫描过程中,通过程序计算手指触摸值与基线的差值来判断被触摸的通道,从而根据被触摸的不同通道执行其相应的功能。
在6个触摸按键中,1个按键作为多功能点动按键,通过计数方式判断长短按。判断为短按时,程序将Switch变量取反,进行开关机;判断为长按时,程序执行Color变量的累加,进行颜色循环。其余5个触摸按键将其对应的整体触摸通道分配为七份,通过点动或滑动分别实现按顺序排列的彩虹七色。
所有功能均需要在开机情况下执行,在颜色循环功能执行过程中,只需触摸任意通道便可退出循环。
为了使灯光变化效果更好,程序采用计数方式执行占空比的改变,从而可实现颜色的渐变效果。
3 结语
随着科学技术的不断发展,电容式触摸按键技术已经在众多领域中得到了应用并体现出了其独特的优势,正在逐步替代传统的机械式按键。本文将该技术与实际设计相结合,利用电容式触摸按键完成了七彩灯的多种功能。在实际应用中,触摸按键的精确性决定着它是否能够准确地执行与其相对应的功能,因此该指标非常重要。本系统通过电流源自适应以及设定基线误差范围等方法确保了按键的稳定与准确。同时,不同的触摸面板材质与厚度会对触摸灵敏度造成影响。若触摸灵敏度控制不当,当灵敏度过低时,会造成操作不便甚至操作无效;相反,若灵敏度过高,会造成很多误操作导致系统不受控,所以触摸按键的灵敏度也需要控制。经试用表明,系统可长时间工作、灯光效果优美、颜色渐变效果明显。同时,触摸按键精度准确、稳定性强、灵敏度高,且具有抗环境因素和噪声干扰的能力。