基于LPC1100系列Cortex-M0微控制器的电容式触摸感应按键方案,采用LPC1100的GPIO口和两个内部定时器,即可实现多达24个独立按键或滑条式电容触摸按键的应用。本方案采用外围RC电路加软件检测技术,集成FIR滤波算法,拥有良好的抗干扰性能,可通过EFT(脉冲群抗干扰度测试)4KV的指标,非常适合由交流电驱动的电子设备。
原理概述
电容式触摸感应按键的基本原理如图1 所示,当人体(手指)接触金属感应片的时候,由于人体相当于一个接大地的电容,因此会在感应片和大地之间形成一个电容,感应电容量通常有几pF到几十pF。利用这个最基本的原理,在外部搭建相关电路,就可以根据这个电容量的变化,检测是否有人体接触金属感应片。
图1 电容式触摸感应原理
基于LPC1100系列Cortex-M0微控制器电容式触摸感应按键原理如图2 所示,利用LPC1100的GPIO中断功能加上内部定时器,可很方便的测量外部电容量变化。处理流程如下:
1、初始化KEY n为GPIO口,必须关闭内部上拉功能,配置为既不上拉也不下拉的模式;
2、使能并配置KEY n的高电平中断;
3、将KEY n设置为输出,并输出低电平,此时电容放电;
4、开启定时器,将KEY n配置为输入,并开启高电平中断,此时电容开始充电,在KEY n的中断服务函数中读取定时器的时间;
5、根据这个充电时间的变化量就可以判断出是否有按键按下。
图2 基于LPC1100触摸按键原理
注:图2中只是示意了2个独立按键连接方案,利用LPC1100内部的GPIO输入可以连接多达24个独立按键或滑条。
RC电路充放电在有无人体触摸时的充放电波形图如图3所示。当使用GPIO配置为输入时电容Cx充电,如果没有人体触摸的时候电容的充放电曲线如图3绿线所示;当有人体触摸的时候,由于人体带来一个感应电容量,这时电容充放电速度变缓,如图3红线所示。利用这个时间的变化,再加GPIO中断的检测功能,就可以判断是否有按键按下。
图3 有无人体触摸时的RC电路充放电示意图
方案特性
1、支持按键、滑块和滚轮触摸界面;
2、硬件资源占用少,占用2个定时器和GPIO口;
3、外围器件少,每个通道只需两个电阻和一个电容,制造成本低;
4、MCU上电自动校准,制造过程简单;
5、灵敏度可调节,具有很高的调节性。
应用场合
电容触摸感应式按键具有不怕磨损、不受温湿度影响、防水保护和成本低廉等优点。因此已经被广泛的应用于手机、VCD、DVD、电磁炉、油烟机、热水器、洗衣机、微波炉、咖啡机、电冰箱、MP3、MP4、DPF数码相框和CAR DVD等。