打印
[STM8]

使用普通I/O口实现电容触摸感应方案

[复制链接]
1039|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Flower1|  楼主 | 2019-10-19 13:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
使用普通I/O口实现电容触摸感应方案

触摸感应解决方案受到越来越多的IC设计厂家的关注,不断有新的技术和IC面世,国内的公司也纷纷上马类似方案。但是目前所有的触摸解决方案都使用专用IC,因而开发成本高,难度大,而本文介绍的基于RC充电检测(RC Acquisition)的方案可以在任何MCU上实现,是触摸感应技术领域革命性的突破。

RC充电检测基本原理

RC充电检测基本原理是对使用如PCB的电极式电容的充电放电时间进行测量,通过比较在人体接触时产生的微小变化来检测是否有“按下”动作产生,可选用于任何单独或多按键、滚轮、滑条。

如图1(a)所示,在RC网络施加周期性充电电压Vin,测量Vout会得到如(b)的时序,通过检测充电开始到Vout到达某一阀值的时间tc的变化,就可以判断出是否有人体接触。


PCB设计注意事项

不论是单按键、多按键、滑条、滚轮设计,还是混合应用,都可以使用一个I/O进行充电,既可减少资源应用,又可以因使用同一定时标准从而简化软件设计。

用于传递按键信号的线一定要足够细,以降低线路造成的电容的影响,信号线间距为两倍线宽,不同组的信号间距应保证3~5mm。同组的信号线长度应尽量保持一致,不同组的信号线不可以交叉。独立按键的形状可设计为圆、三角或正多边形,尺寸以10~15mm为宜。滑条的形状可以是长方形或锯齿形,滚轮可以设计为幅射的扇形或环形,也可以是交错的齿轮,每个部分之间应保持0.2~0.5mm。按键PCB层不应该覆铜,否则会影响感觉的灵敏度,反面应覆铜以减少干扰。

LED经常在感应设计中用来指示按键是否有效按下,注意按键的地或电源线尽量短,线路较长时宜增加1nF的滤波电容。

另外,建议电源电路使用线性电源而不是开关电源,这对提高感应灵敏度很重要。



软件设计流程与实现

ST公司设计了完整的基于RC充电检测的电容式感应触摸方案的完整设计,包括PCB和完整的源程序,以及基于STM8S的标准触摸感应库(Touch Sense Library,TSL)和应用API接口,采用易于移植的C设计,用户可以方便地应用于其他任何MCU系统中。因为RC充电理论涉及的专利已经对公众开放,所以完全没有专利的限制。

ST的TSL内容包括滤波和校正算法,环境变化系统,自动根据环境温度、湿度、电压、灰尘等因素调整配置参数。提供了包括单通道和多通道的感应设计API函数,层次驱动的项目工程。基于STM8Sxxx-TS1-EVAL演示板的软件在STVD开发平台下设计,使用COSMIC-C语言编译器,包括完整的源代码。

对充电时间的测量可以使用MCU中定时器的捕捉功能,对于多个按键一般MCU没有足够的定时器为每个按键分配一个,也可以使用软件计时的方法,这要求能对MCU的时钟精确计数,并且保证每个周期的时钟个数保持一定。这种情况通常要求对按键使用一个独立的MCU,以保证不被其他任务中断。为了提高系统的可靠性和稳定性,改进的测量方法是对Vout进行高和低两个门限进行测量。

使用STM8S的触摸感应方案与Cypress公司的Capsense触摸按键的效果进行了对比,结果证明二者在灵敏度与可靠性方面不相上下,在水浸、增加覆盖物情况下本方案适应性更佳。



使用特权

评论回复
沙发
wakayi| | 2019-11-15 12:11 | 只看该作者
非常不错的资料

使用特权

评论回复
板凳
renzheshengui| | 2019-11-15 12:14 | 只看该作者
感谢楼主分享

使用特权

评论回复
地板
paotangsan| | 2019-11-15 12:43 | 只看该作者
电容屏是现在的主流屏吗

使用特权

评论回复
5
labasi| | 2019-11-15 12:47 | 只看该作者
我们的项目基本上都用电容屏

使用特权

评论回复
6
keaibukelian| | 2019-11-15 12:51 | 只看该作者
电容屏性价比还是很高的

使用特权

评论回复
7
heimaojingzhang| | 2019-11-15 12:54 | 只看该作者
讲解的非常详细

使用特权

评论回复
8
guanjiaer| | 2019-11-15 12:58 | 只看该作者
有很大的参考价值

使用特权

评论回复
9
观海| | 2019-11-15 13:02 | 只看该作者
原理说的很细致

使用特权

评论回复
10
八层楼| | 2019-11-15 13:08 | 只看该作者
非常感谢楼主了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

623

主题

887

帖子

6

粉丝