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