电容触摸技术作为一种实用、时尚的人机交互方式,已经被广泛的应用到各种电子产品,小到电灯开关,大到平板电脑、触摸桌等。随之而来的是考验产品设计者如何发挥智慧,在把产品用户界面设计得方便简洁的同时,又能呈现产品绚丽的外观,从而带来良好的用户体验。LED显示由于界面友好,可以实时反映触摸的位置信息,在电容触摸产品设计中得到广泛应用。本设计正是利用了大量的LED来实现呼吸灯、轨迹灯的特效,可以为例如灯光、音量、温度等带有调节功能的产品提供设计参考。
电容触摸实现原理
MSP430根据型号的不同支持多种电容触摸检测方式,有RC震荡、比较器、PIN RO,本设计使用的是PIN Relaxation Oscillator方式,原理如图1,芯片管脚内部检测电路由施密特触发器、反向器,以及一个电阻组成,震荡信号经过施密特触发器变成脉冲信号,再通过反向器反馈回RC电路,通过Timer_A对施密特触发器的输出进行记数,再通过设置测量窗口Gate获得记数的结果。当手指触摸电极,电极上的C产生变化,导致震荡频率改变,这样在定长的测量窗口就能获得不同的记数结果,一旦差值超过门限,结合一定的滤波算法判断就可以触发触摸事件。
图1 PIN RO原理图
LED PWM驱动方案实现
要实现LED呼吸的效果,就要求LED进行PWM调光,而要实现轨迹灯的效果,每一路LED必须是独立的PWM控制。本应用由于使用了24个LED灯,需要24路的PWM输出控制,MSP430G2955有32个IO口,通过IO口配合TIMER定时器,足够支持24路的软件PWM输出。本实例采用德州仪器MSP430G2955,通过6个IO完成电容触摸检测,24个IO驱动24路LED,并预留了通讯口,设计实例如图2。
图2 实例演示图
电路设计
原理图设计如图3,MCU通过一个5V转3.3V的LDO给VCC供电,使用LDO的目的是为了保证电源的稳定,让触摸电路在检测信号时不会因为电源的噪声产生过大的信号偏差。电极上串的电阻作为ESD保护器件,如果在产品结构设计合理的情况下可以省去。电路中预留了UART口与主控系统通讯。
图3 MCU电路
LED驱动部分电路如图4, 由于每一个LED的电流在10mA左右,24个LED如果同时亮就有240mA,无法通过MCU IO口直接驱动,在每个LED上加一个三极管以及限流电阻,实现24路LED的控制。
图4 LED驱动电路
本文介绍了使用MSP430G系列单芯片实现电容触摸转轮和24路独立PWM输出LED控制方案,在一些需要低成本的产品设计,又要对多种LED特效控制的场合,有很大的使用价值。MSP430系列单片机以低功耗和外设模块的丰富性而著称,而针对电容触摸应用,MSP430的PIN RO电容触摸检测方式支持IO口直接连接检测电极,不需要任何外围器件,极大的简化了电路设计,而本设计文档中使用的MSP430G2XX5更支持多达32个IO口,可驱动24个以上的LED灯,达到理想的显示效果。MSP430电容触摸转轮方案通过4个IO口完成4个通道的电容检测,配合特殊的电极图形,就可实现转轮的设计。