© 2006 WeBoch.Com.cn 版权所有:深圳市伟博创科技有限公司
地址:深圳市福田区振华路苏发大厦305栋405 电话:0755-83240703 传真:0755-83240724
 
主要产品系列 
Microcontrollers

基于LPC11XX的电容式触摸传感

方案中描述了使用LPC11XX微控制器的ADC(模数转换)输入来实现一个简单的电容式触摸传感器的方法。

方案中使用的电容式触摸传感器位于PCF8883评估板的PCB板上的镀铜区域(见图1)。4个传感器中有一个通过阻容网络(RC)与LPC11XX微控制器ADC输入端连接(见图2)。

基于LPC11XX的电容式触摸传感,NXP 基于LPC11XX的电容式触摸传感,NXP
图1 图2

传感只需要一个PIN脚,ADC输入端或者通用输出端。读的过程只有几个简单的步骤(见图3)。

首先,把I/0 pin脚置高输出状态(high output),向外部的10pF电容和电容板(capactive plate)充电。

然后,I/O pin 脚重置为ADC输入状态(ADC input),这将引发外部电容和电容板通过两个电阻放电(de-charge)。例子中使用的电阻为5K-50K。当手指触摸传感器时,总电容增加,因此放电弧度变小。

之后,ADC转换器启动。手指触摸导致ADC读取量增加。在示例代码中,在无触摸时有一个稳定的平均值,触摸后产生一个能被检测到的误差值。

最后,I/O pin 重新置为“高”输出状态(”high” output),回到第一步。

基于LPC11XX的电容式触摸传感,NXP
图3

    传感步骤(见图3):

  • 1. 驱动传感器置于VDD,作为数字输出
  • 2. 传感器转换为ADC输入,并启动ADC转换器。
  • 3. ADC采样点。采样并保持一个ADC时钟,之后需要至少10个时钟来完成10位ADC转换(完成置位,结果保存在寄存器LPC_ADC->DR[x]中)。
  • 4. 回到步骤1。

LPC1100演示代码使用ADC输入端(PIO1_0)作为传感输入。此外,有两个输出连接到LED上,可以方便的观察到传感器的转换过程。

一个输出(PIO3_2)指示触摸状态(触摸,无触摸)

另一个输出(PIO3_3)指示瞬时转换模式。只要触摸事件持续,输出就会激活,LED点亮。

这个软件示例是用 C语言编写,并使用Keil’s uVision (MDKARM,V4.14)编译器编译。LPC11XX使用标准CMSIS启动代码(startup_LPC11xx.s and system_LPC11xx.c),并设置CCLK = IRC = 12 MHz。

资料下载

基于LPC11XX的电容式触摸传感.pdf