利用Microchip电容式触摸感应解决方案
扫描二维码
随时随地手机看文章
利用Microchip电容式触摸感应解决方案有两种方式:张驰振荡器方式是通过检测触摸感应电容充放电的频率变化,来检测是否有键按下;或者通过Microchip单片机集成的片上充电时间检测单元(CTMU)实现。
简单RC振荡方式
这种方式比较适合一个按键情况,通过集成模拟比较器的PIC10F204或PIC10F206实现触摸感应功能,用到的硬件资源为模拟比较器和Timer0定时器。图1为电路图,上电时,触摸感应电容Cp没有充电,比较器输出高电平,通过D1给电容迅速充电至接近VDD,之后比较器翻转,输出低电平,Cp通过R1放电,直至低于内部参考电压0.6V,比较器翻转输出高,进入下一个振荡周期。将比较器输出送给Timer0,作为时基,经过固定的软件延时,读出Timer0的值,可以计算出比较器输出频率。当手指接触按键时,电容值改变,随之比较器输出频率改变,读出的Timer0的值发生变化,从而检测到有触摸动作。
容性传感模块(CSM)方式
PIC16F72X系列集成了CSM,如图2所示,这个模块具有恒定的拉灌电流能力,能够直接驱动容性负载(PCB焊盘),在触摸感应电容上形成连续振荡的三角波,CSM输出同频率的方波,方波信号可以提供给Timer0或Timer1做时基,通过Timer2中断读出相对应的计数值,即代表对应频率。这种方式电路非常简单,可以直接将焊盘连接到CSM输入对应的引脚。
充电时间检测单元(CTMU)方式
PIC18F系列和PIC24FJ系列中有一部分单片机具有CTMU功能,如图3所示,CTMU核心为一个恒流源,输出电流大小可以通过软件配置。CTMU通道可以直接与片内ADC相连。系统工作时,只需要将CTMU恒流源打开,设定一个固定时间给触摸感应电容充电,然后利用ADC对电容上电压进行转换。如果有触摸,电容值变大,经过恒定电流固定时间充电后,电容上电压会变小,因此根据ADC转换结果,即可以判断是否有触摸动作。