打印
[DemoCode下载]

【跟我学M4】触摸按键怎么用?

[复制链接]
2968|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
125008301|  楼主 | 2015-12-12 09:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 125008301 于 2015-12-12 09:33 编辑

参考书籍:《ARM Cortex-M4微控制器原理与实践》,作者:温子祺。
一、概述
    对于电子产品设计人员而言,过去机械式开关一直是他们的首选。因为机械式开关提供不少应用优势,如简单、直接、成本低、使用方便,能为用户提供真实的物理反应等等。但同时,机械式开关也存在诸多缺点,如磨损问题导致长期耐用性差,设计灵活性不高,容易受潮湿、水、油污或灰尘的影响,存在系统噪声、反应速度及仅适合低速工作等问题。有鉴于此,设计人员也在探寻其它的设计选择,如触摸传感技术。
    实际上,触摸传感器已经被广泛使用很多年了。但直到近些年来,随着触摸技术在便携设备显示屏应用的爆发性增长,这种技术越来越受关注,由此展开的技术开发及创新也越来越多。设计人员不仅争相利用触摸传感技术来为手机、平板电脑乃至笔记本电脑用户提供更加先进、智能的用户接口如图22.1.1,现在越来越多的触摸传感技术用于数码相框、数码相机、游戏机、安防、汽车仪表盘及白家电等众多应用。
    相较于机械式按键和电阻式触摸按键,电容式触摸按键不仅耐用,造价低廉,机构简单易于安装,防水防污,而且还能提供如滚轮、滑动条的功能。但是电容式触摸按键也存在很多的问题,因为没有机械构造,所有的检测都是电量的微小变化,所以对各种干扰敏感得多。新唐公司针对家电应用特别是电磁炉应用,推出了一个基于M451系列32位通用微控制器平台的电容式触摸感应方案,无需增加专用触摸芯片,仅用简单的外围电路即可实现电容式触摸感应功能,方便客户二次开发。
    电容式触摸感应按键的基本原理是当人体(手指)接触金属感应片的时候,由于人体相当于一个接大地的电容,因此会在感应片和大地之间形成一个电容,感应电容量通常有几pF到几十 pF。利用这个最基本的原理,在外部搭建相关电路,就可以根据这个电容量的变化,检测是否有人体接触金属感应片。




二、常见的解决方案









原理:

一般实际应用时,都是用图22.1.5所示的感应弹簧来加大手指按下的面积。感应弹簧等效一块对地的金属板,对地有一个电容CP,而手指按下后,则再并联一个对地的电容CF,如下图所示。




按正常情况来说,只要具有ADC功能的单片机就可以使用上述的解决方案实现触摸按键的实现,但有一点要注意的是,上述方案无疑是增加了硬件的设计成本,新唐公司的M451系列芯片为我们提供了触摸按键的完整解决方案,触摸按键数目达到16个,硬件设计简单。现在为电路图22.1.3进行说明,CP为金属板和分布电容,CF为手指电容,并联在一起与C1对输入的300KHz方波进行分压,经过D1整流,R2、C2滤波后送给ADC,当手指压上去后,送去给ADC的电压降低,程序就可以检测出按键动作。


三、使用新唐M451实现触摸按键
【实验要求】基于SmartM-M451系列开发板:检测触摸按键的按下与释放,并能够控制Led灯亮灭。


1) 硬件设计


如图22.1.3所示在PCB上构建的电容器,电容式触摸感应按键实际上只是PCB上的一小块“覆铜焊盘”,触摸按键与周围的“地信号”构成一个感应电容,当手指靠近电容上方区域时,它会干扰电场,从而引起电容相应变化。根据这个电容量的变化,可以检测是否有人体接近或接触该触摸按键。接地板通常放置在按键板的下方,用于屏蔽其它电子产品产生的干扰。此类设计受PCB上的寄生电容和温度以及湿度等环境因素的影响,检测系统需持续监控和跟踪此变化并作出基准值调整。基准电容值由特定结构的PCB产生,介质变化时,电容大小亦发生变化。


要点1:
焊盘面积不能过大,过大的焊盘会增加噪声,建议焊盘面积为10mm x 10mm 以上,如下图22.3.1。








要点2:
走线长度不能大于30cm,宽度不小于0.15mm(6mil),如下图22.3.2。




要点3:
选择参考触摸按键时推荐以通道7、通道8或通道16达到更高的灵敏度,如果选择其他通道作为参考,也不影响实际效果。焊盘面积默认2mm x 2mm 就可以了,太大的焊盘会增加噪声,降低灵敏度,参考触摸按键PCB设计如下图22.3.3。






要点4:
触摸按键的焊盘若有过孔,那么该过孔必须贴近焊盘边沿或在焊盘的中心位置如下图22.3.4。同时过孔不能太多,太多的过孔会增加分布电容,影响触摸按键的灵敏度。




触摸按键硬件设计






触摸按键在开发板的位置






2)代码位置:\SmartM-M451\迷你板\入门代码\【TKEY】【控制LED】
【SmartM-M451迷你板】【触摸按键】.rar (375.36 KB)



3)代码分析
a. 设置SYS->GPD_MFPH寄存器,使能PD8引脚用于触摸按键8,使能PD9引脚用于触摸按键9。
b. 调用TK_Open函数使能触摸键功能。
c. 从这里开始重点注意是调用的是新唐公司写好的触摸按键的静态库文件,虽然该库文件没有开源,但是通过tklib.h可以知道这些函数的使用方法。TKLIB_Init用于初始化触摸按键的所有参数,而这些参数需要从Data Flash中0x3F800地址处进行读取;若有正确的触摸按键参数存储在Data Flash中,则调用里面的参数初始化触摸按键,并返回值大于0;如果没有正确的参数存储在Data Flash中,需要在代码进行相关的初始化。
d. TKLIB_SetGlobal设置全局变量值,每个触摸按键的AVCCH电压选择为3/16VDD、触摸按键感应脉冲宽度时间控制为1us、
触摸按键感应时间控制为128us、设置参考全局的触摸按键的电容补偿值为0x40,寄存器为TK_CCBDAT4。
e. TKLIB_SetKeyConfig用于设置触摸按键的属性,重点注意的是,若有触摸按键作为参考对象时,必须加上宏定义为TKLIB_SENMODE_REF,否则加上TKLIB_SENMODE_POL宏定义,作为正常触发的触摸按键。
f. TKLIB_SetParam用于设置触摸按键的流控制功能。
g. 一切设置准备就绪后,就调用TK_ENABLE_SCAN_KEY函数使能对TK8触摸按键进行扫描。
h. 调用TKLIB_AutoCalibration自动计算每个触摸按键电容补偿值。
i. 然后调用TKLIB_DetectKey获取检查哪个触摸按键被触发。



4)下载验证
       通过NuLink仿真下载器将程序下载到SmartM-M451迷你板后,进入单片机多功能调试助手中的串口调试界面,串口打印输出信息结果如下图22.3.8。当用手指按压触摸按键时,输出打印“TK8 is touched”,LED1亮如图22.3.9;当手指离开触摸按键时,输出打印“TK8 is released”,LED1灭如图22.3.10。







沙发
598330983| | 2015-12-12 10:19 | 只看该作者
在PCB上构建的电容器,电容式触摸感应按键实际上只是PCB上的一小块“覆铜焊盘”,触摸按键与周围的“地信号”构成一个感应电容,当手指靠近电容上方区域时,它会干扰电场,从而引起电容相应变化。

使用特权

评论回复
板凳
西门扫雪| | 2015-12-12 16:56 | 只看该作者
那新唐自己生产屏吗

使用特权

评论回复
地板
mintspring| | 2015-12-12 16:59 | 只看该作者
电容式触摸感应按键的基本原理是当人体(手指)接触金属感应片的时候,由于人体相当于一个接大地的电容,因此会在感应片和大地之间形成一个电容,感应电容量通常有几pF到几十 pF。利用这个最基本的原理,在外部搭建相关电路,就可以根据这个电容量的变化,检测是否有人体接触金属感应片。

使用特权

评论回复
5
mintspring| | 2015-12-12 17:06 | 只看该作者
设置SYS->GPD_MFPH寄存器,使能PD8引脚用于触摸按键8,使能PD9引脚用于触摸按键9。 调用TK_Open函数使能触摸键功能

使用特权

评论回复
6
rbyzks| | 2016-2-19 09:49 | 只看该作者
学习学习

使用特权

评论回复
7
neeringstu| | 2016-2-23 23:10 | 只看该作者
用手指触摸按键之后就是PWM改变吧

使用特权

评论回复
8
yiyigirl2014| | 2016-2-24 14:51 | 只看该作者
电容式触摸感应按键的基本原理是当人体(手指)接触金属感应片的时候,由于人体相当于一个接大地的电容,因此会在感应片和大地之间形成一个电容,感应电容量通常有几pF到几十 pF。利用这个最基本的原理,在外部搭建相关电路,就可以根据这个电容量的变化,检测是否有人体接触金属感应片

使用特权

评论回复
9
643757107| | 2016-2-24 20:05 | 只看该作者
相较于机械式按键和电阻式触摸按键,电容式触摸按键不仅耐用,造价低廉,机构简单易于安装,防水防污,而且还能提供如滚轮、滑动条的功能。

使用特权

评论回复
10
598330983| | 2016-2-24 20:51 | 只看该作者
随着触摸技术在便携设备显示屏应用的爆发性增长,这种技术越来越受关注,由此展开的技术开发及创新也越来越多。

使用特权

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

本版积分规则

个人签名:www.smartmcu.com smartmcu.taobao.com

23

主题

69

帖子

6

粉丝