第15章 电容触摸按键实验.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第15章 电容触摸按键实验

第十五章 电容触摸按键实验 上一章,我们介绍了 STM32 的输入捕获功能及其使用。这一章,我们将向大家介绍如何 通过输入捕获功能,来做一个电容触摸按键。在本章中,我们将用TIM5 的通道2 (PA 1)来做 输入捕获,并实现一个简单的电容触摸按键,通过该按键控制DS1 的亮灭。 15.1 电容触摸按键简介 触摸按键相对于传统的机械按键有寿命长、占用空间少、易于操作等诸多优点。大家看看 如今的手机,触摸屏、触摸按键大行其道,而传统的机械按键,正在逐步从手机上面消失。本 章,我们将给大家介绍一种简单的触摸按键:电容式触摸按键。 我们将利用战舰STM32 开发板上的触摸按键(TPAD ),来实现对DS1 的亮灭控制。这里 TPAD 其实就是战舰STM32 开发板上的一小块覆铜区域,实现原理如图15.1.1 所示: 图15.1.1 电容触摸按键原理 这里我们使用的是检测电容充放电时间的方法来判断是否有触摸,图中R 是外接的电容充 电电阻,Cs 是没有触摸按下时TPAD 与PCB 之间的杂散电容。而Cx 则是有手指按下的时候, 手指与TPAD 之间形成的电容。图中的开关是电容放电开关(由实际使用时,由STM32 的IO 代替)。 先用开关将Cs (或Cs+Cx )上的电放尽,然后断开开关,让R 给Cs (或Cs+Cx )充电, 当没有手指触摸的时候,Cs 的充电曲线如图中的A 曲线。而当有手指触摸的时候,手指和TPAD 之间引入了新的电容 Cx,此时Cs+Cx 的充电曲线如图中的B 曲线。从上图可以看出,A 、B 两种情况下,Vc 达到Vth 的时间分别为Tcs 和Tcs+Tcx 。 其中,除了Cs 和Cx 我们需要计算,其他都是已知的,根据电容充放电公式: Vc=V0*(1-e^(-t/RC)) 其中Vc 为电容电压,V0 为充电电压,R 为充电电阻,C 为电容容值,e 为自然底数,t 为 充电时间。根据这个公式,我们就可以计算出Cs 和Cx 。利用这个公式,我们还可以把战舰开 发板作为一个简单的电容计,直接可以测电容容量了,有兴趣的朋友可以捣鼓下。 在本章中,其实我们只要能够区分 Tcs 和 Tcs+Tcx,就已经可以实现触摸检测了,当充电 时间在Tcs 附近,就可以认为没有触摸,而当充电时间大于Tcs+Tx 时,就认为有触摸按下(Tx 为检测阀值)。 本章,我们使用PA1(TIM5_CH2)来检测TPAD 是否有触摸,在每次检测之前,我们先配置 PA1 为推挽输出,将电容Cs (或Cs+Cx )放电,然后配置PA1 为浮空输入,利用外部上拉电阻 给电容Cs(Cs+Cx)充电,同时开启TIM5_CH2 的输入捕获,检测上升沿,当检测到上升沿的时 候,就认为电容充电完成了,完成一次捕获检测。 182 在MCU 每次复位重启的时候,我们执行一次捕获检测(可以认为没触摸),记录此时的值, 记为tpad_default_val ,作为判断的依据。在后续的捕获检测,我们就通过与tpad_default_val 的 对比,来判断是不是有触摸发生。 关于输入捕获的配置,在上一章我们已经有详细介绍了,这里我们就不再介绍。至此,电 容触摸按键的原理介绍完毕。 15.2 硬件设计 本实验用到的硬件资源有: 1)指示灯DS0 和DS1 2 )定时器TIM5 3 )触摸按键TPAD 前面两个之前均有介绍,我们需要通过 TIM5_CH2 (PA1 )采集TPAD 的信号,所以本实验需 要用跳线帽短接多功能端口(P14 )的TPAD 和ADC ,以实现TPAD 连接到PA1 。如图15.2.1 所示。 图 15.2.1 TPAD 与STM32 连接原理图 硬件设置(用跳线帽短接多功能端口的ADC 和TPAD 即可)好之后,下面我们开始软件设计。 15.3 软件设计 前面讲解过,触摸按键我们是通过输入捕获实现的,所以使用的库函数依然是分布在 stm32f10x_tim.c 和stm32f10x_tim.h 中。同时我们在HARDWARE 组下面增加了tpad.c 和tpad.h

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档