查看: 688|回复: 0
打印 上一主题 下一主题

轻轻松松实现电容感应按键

[复制链接]
跳转到指定楼层
沙发
发表于 2015-10-29 07:59:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RC充放电原理电容感应按键

(原文件名:图形1.jpg) 看过PIC的电容按键方案,实际上仅仅是一个充放电过程,可以不用比较器吗?
答案是肯定的。一般双向I/O单片机都可以做RC电容感应按键。
这里我们用M48的端口PD0来做一个RC的电容感应按键。

(原文件名:图形2.jpg)
C1是分布电容,C2这里作为按键感应电容。
工作过程:
1:首先要禁止上拉电阻。
2:PD0输出高电平,向C1,C2充电。
3:PD0设置为输入,判断C1.C2向R1放电完毕的时间。
4:对比有C2和没有C2的放电时间,判断是否有键感应。
如图在只有C1的时候放电波形,放电时间测量为4.1us

(原文件名:图形3.jpg)
如图在有C2感应的时候放电波形,放电时间测量为5.58us

(原文件名:图形4.jpg)
可见有按键感应比无按键感应的放电时间要多1.48us。
下面关键的是怎样测量放电时间:
通常我们设置一个变量d,通过循环等待判断PD0是否=0来使变量d递增。判断完毕后,放电时间的短d最终值就小(无按键感应),放电时间长的d最终值就大(有按键感应)。
判断代码:
while(PIND_0==0)d++;
对应汇编代码:
main_0:
SBIC    0x09, 0x00
RJMP    main_1
INC     R18
RJMP   main_0
main_1:
通过汇编代码发现运行判断一次要5T时钟,
当时钟频率为1M时候,运行判断一次要5T时钟5us。
1.48/5=0.296   不足1个字。判断不出来。
当时钟频率为8M时候,运行判断一次要5T时钟0.625us。
1.48/0.625=2.368  约2-3个字。这个差值还是太小
当然这里的感应电容是1p,如果感应电容值变大也许能够识别出来。
这也许就是PIC的方案为什么采用比较器的缘故,硬件判别嘛,肯定要小于5T时钟。
我们可以采用定时器来代替变量d,这样运行判断一次就只需要3T时钟了(每次判断前开启定时器,每次判断完成后读取定时器值),判断代码如下:

//开定时器
while(PIND_0==0);
//读定时器值
对应汇编代码:
main_0:
SBIS    0x09, 0x00
RJMP    main_1
main_1:
通过汇编代码发现运行判断一次要3T时钟,
当时钟频率为1M时候,运行判断一次要3T时钟3us。
1.48/3=0.50  不足1个字。判断不出来。
当时钟频率为8M时候,运行判断一次要3T时钟0.375us。
1.48/0.375=3.95  约3-4个字。这个差值基本可以了。
可见这里要保证的是时钟频率要高。
采用8M频率,每次差值3-4,采样100次求和作为1次总采样。差值就相差300-400,就可以准确判断感应按键了。当然采样10次或者更多次总采样后采用求平均值等软件滤波方法来消除干扰或者误差更好。
另一种方法就是在10ms时间内求得判断的次数,有按键感应的判断次数比无按键感应次数少。基本和PIC的方案差不多。
以上方法笔者都试验过(见图),具体的程序,以及温漂,校准等这里就不详细讲解。

(原文件名:图形5.jpg)

(原文件名:图形6.jpg)

电荷转移(QT)原理电容感应按键
如图:
(原文件名:sensor072946m3.gif)
“电荷转移”或叫“QT”的原理是这样的:传感电极上的电荷会转移到一个较大的参考取样电容器上,电荷 在该电容器上积累,持续多个开关周期,将参考电容器上的电压积累到参考电压的水平,然后控制 逻辑电路会记录到达该电压值所需要的周期数目,并对参考电容器进行放电。
如图用M48的PD0和PD1端口来实现。

(原文件名:图形7.jpg)
C1是分布电容,C2这里作为按键感应电容。C3是参考电容。
工作过程:
1:首先要禁止上拉电阻。
2:PD0=0,PD1为高阻或者为0输出,放掉C3上电荷。
3:PD1输入(高阻断开)PD0输出高电平,向C1,C2充电。
4:PD0输入(高阻断开),PD1输出低电平C1.C2上的电荷向C3转移。
5:判断PD0是否为高电平。
6:循环3-5步骤。
比较:有按键感应比无按键感应的开关次数少。
这种原理是测量C3上的电压,因此对频率要求不是很高,但要求I/O脚漏电流越小越好,同时I/O内部的二极管漏电流也有影响。
该方法笔者试验过,具体的程序,以及温漂,校准,焊盘影响等这里就不详细讲解。
估计有很多电容感应IC就是以上原理做的,仅仅是估计呀,不过懂了原理后你也可以自己做。转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表