搜索
bottom↓
回复: 15

根据microchip AN1298介绍的原理搞的单键电容触摸

[复制链接]

出0入0汤圆

发表于 2011-3-17 13:19:30 | 显示全部楼层 |阅读模式
根据AN1298介绍的原理搞的单键电容触摸。原理介绍如下文:

To perform the sensing, do the following:
1. Drive secondary channel to VDD as digital
output.
2. Point ADC to the secondary VDD pin (charges
CHOLD to VDD).
3. Ground sensor line.
4. Turn sensor line as input (TRISx = 1).
5. Point ADC to sensor channel (voltage divider
from sensor to CHOLD).
6. Begin ADC conversion.
7. Reading is in ADRESH:ADRESL.

实际测试采用的平台是pic16f883,使用其an0(ra0)作为传感器,连接一个3*2cm的单面覆铜板作为感应键。另外用其an1(ra1)作为充电的电源,采用5V供电的Vdd。
AN1作为模拟输入,用个电阻电容连接正电源;AN0作为感应电容的输入端。程序中ad_key是全局变量。
程序功能已经实现,可以视感应金属片的大小设置响应动作的门限电平,在灵敏度和稳定性方面取得综合平衡。

//************AD keying**************
unsigned int ADkey(void)
{

ANSEL=2;                         //AN0转为数字口
TRISA0=0;                        //给an0外电路放电
RA0=0;                             //防止该口残留影响
ANSEL=3;                         //AN0转为模拟口
TRISA1=1;                        //对an1进行ad
ADCON0=0X85;                 //让电容Chold在an1口充电
GODONE=1;                      //启动AD
while (GODONE);                //等待转换结束
TRISA0=1;                        //转换该口为模拟输入
ADCON0=0X81;                 //让电容Chold转向an0
GODONE=1;                      //启动AD
while (GODONE);                //等待转换结束
ad_key=ADRESH*256+ADRESL;
return ad_key;
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-3-19 18:40:18 | 显示全部楼层
在实际电路应用中,发现地线悬浮时感应信号过强,开关一直处于“压低”态的问题。经过试验,在触摸板和AN0引脚之间插入一个单T高通滤波器解决。883平台12MHz晶体,取的电容为10pf,电阻可调,约3k时达到稳态,灵敏度尚可。

出0入0汤圆

发表于 2011-3-28 16:57:51 | 显示全部楼层
MARK!果然够简便,回头再细看

出0入0汤圆

发表于 2011-4-12 15:34:04 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-7-31 01:38:50 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-9-6 15:43:31 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-9-14 15:17:07 | 显示全部楼层
这东西做出来简单,难度在于怎么抗干扰,例如环境值的变化,有水引起的误操作等,都需要强大的算法支持。

出0入0汤圆

发表于 2011-9-21 11:50:53 | 显示全部楼层
能贴一下硬件图吗?

出0入0汤圆

发表于 2011-9-27 14:56:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-9 15:31:32 | 显示全部楼层
回复【6楼】wxyijian
-----------------------------------------------------------------------
深有体感,抗干扰很重要!!!

出0入0汤圆

发表于 2011-12-6 08:49:14 | 显示全部楼层
2 comments:
1. 在外部sensor和internal cap进行电荷平衡后最好加几个nop(3-5个左右,太短没有完全平衡,灵敏度可能下降;太长的话,噪声会进入系统),保证电荷完全平衡,再进行ADC采样。
2. 按照我的理解,用AN1对internal cap充电的时候不需要设置go/done,只要改变adc的mux就可以。

出0入0汤圆

发表于 2015-7-18 15:25:14 | 显示全部楼层
留个脚印,以后再学

出0入0汤圆

发表于 2015-7-18 16:09:51 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2016-7-2 00:48:13 | 显示全部楼层
mark下,以后学习

出0入0汤圆

发表于 2016-7-2 08:50:58 | 显示全部楼层
虽然用了PIC16F684,而且需要触摸功能,但是还是采用了专用芯片的方案,抗干扰用PIC没有搞定。

出0入0汤圆

发表于 2016-11-27 22:32:42 | 显示全部楼层
标记一下,以后用到时候看
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 16:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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