STM32入门学习笔记之电容触摸实验(上)

发布者:SereneNature7最新更新时间:2024-03-25 来源: elecfans关键字:STM32  电容触摸 手机看文章 扫描二维码
随时随地手机看文章

8.1 电容触摸简介

8.1.1 电容触摸概述

随着科技的发展,传统的机械按键正在逐步从设备上面消失,这个原因主要有机械按键由于是采用机械接触的方式,寿命比较短,从用户体验上看,机械按键也显得操作复杂,对比现在的电容按键,电容按键具有寿命长,因为不存在机械接触,占用空间少,以前的机械按键在设计外壳的时候需要考虑尺寸,现在换成电容按键后这个问题不再需要考虑。

8.1.2 检测原理

常规的检测方式一般是通过计算电容放电时间来判断是否有手指按下,这是因为手指会与线路板的铜箔接触面上产生电容效应,当手指没有放在铜箔上的时候,铜箔与PCB之间存在杂散电容,这两个状态的电容值差别很大,检测原理如下图所示。

图片

在检测之前首先用开关将电容Cs里面的电荷放尽,然后此时CPU开始计算Cs的充电时间,这一部分是采用捕捉信号来测量,尽管单片机属于数字电路,但是数字电路的逻辑电平也是有电压限制的,比如在3.3V供电环境下,当电压大于2.4V则被认为是逻辑电平1,当电压小于0.4V则被认为是逻辑电平0,单片机的输入捕获功能来判断输入信号的电平是否为逻辑电平1,如果检测到逻辑电平1,则认为电容此时充电达到了2.4V以上,将这个时间记录下来,当手指放在铜箔上的时候,相当于增加了Cs的容值,此时我们继续进行输入捕获采样,将这个捕获的时间记录下来,两个时间求差值,这个差值高于某个阈值的时候就可以认为此时手指按下了电容按键,用这种方式就可以实现虚拟按键的使用了。这种检测原理实际是采用了在电路分析中学习到的RC电路的零状态响应来实现的。根据RC电路的零状态响应可以得出电容的充电公式为

图片

其中Vc表示电容的充电电压,VDD为RC电路的输入电压,R为电阻的阻值,C为充电电容的容值,通过这个公式我们可以反推得到充点电容的容值。也就是说我们可以利用这个公式实现电容的测量。

8.1.3 预备知识

首先我们在进行电容触摸检测的时候需要用到STM32的输入捕获功能,从这一章开始,关于寄存器文件的添加,驱动文件的添加不再作为重点,重点开始转为程序的编写及小算法的编写。

输入捕获的工作原理如下图所示。

图片

首先设置定时器的输入通道为上升沿捕获,检测到上升沿之后,将计数寄存器CNT中的数据存储在CCRx1中并清空CNT的数据,然后设置定时器的输入通道为下降沿捕获,检测到下降沿后将计数寄存器CNT中的数据存储在CCRx2中并清空CNT的数据,此时将CCRx2的值与CCRx1的值做差值就可以得到1个波形中高电平的时间,由于这两个数值获取的过程中,会由于高电平时间过长导致定时器产生多次中断,这个多次中断的值记为N,此时高电平的时间计算公式如下所示:

图片

其中M为定时器的计数周期,N为定时器的溢出次数,ARR为自动重装载计数器的值,CCRx2为捕获到的数据。

8.2 常用寄存器

8.2.1 捕获/比较寄存器1:TIMx_CCMR1

1514131211109876543210
IC2F[3:0]IC2PSC[1:0]CC2S[1:0]IC1F[3:0]IC1PSC[1:0]CC1S[1:0]









ICxF[3:0]:输入捕获x滤波器(定义输入采样频率及数字滤波器长度)

图片

ICxPSC[1:0]:输入/捕获x预分频器(一旦CCxE=0,则预分频器复位)


00:每1个事件触发一次捕获


   01:每2个事件触发一次捕获


   10:每4个事件触发一次捕获


   11:每8个事件触发一次捕获

CCxS[1:0]:捕获/比较x选择(用于定义通道x输入还是输出)


复制

00:输出模式


   01:输入模式,映射在TI1上


   10:输入模式,映射在TI2上

8.2.2 捕获/比较使能寄存器:TIMx_CCER

1514131211109876543210
-CC4PCC4E-CC3PCC3E-CC2PCC2E-CC1PCC1E



CCxP:输入/捕获x输入/输出极性


通道在输出模式下


0:高电平有效


   1:低电平有效

通道在输入模式下


0:不反相,上升沿触发


   1:反相,下降沿触发

CCxE:输入/捕获x输入/输出使能


通道在输出模式下


0:关闭输出


   1:开启输出

通道在输入模式下


0:禁止捕获


   1:使能捕获


   11:输入模式,映射在TRC上,此模式引用于内部触发器输入被选中时


关键字:STM32  电容触摸 引用地址:STM32入门学习笔记之电容触摸实验(上)

上一篇:STM32入门学习笔记之看门狗实验(下)
下一篇:STM32F103移植到AT32F403A之MDK(三)

推荐阅读最新更新时间:2026-03-20 00:16

STM32入门学习笔记之电容触摸实验(上)
8.1 电容触摸简介 8.1.1 电容触摸概述 随着科技的发展,传统的机械按键正在逐步从设备上面消失,这个原因主要有机械按键由于是采用机械接触的方式,寿命比较短,从用户体验上看,机械按键也显得操作复杂,对比现在的电容按键,电容按键具有寿命长,因为不存在机械接触,占用空间少,以前的机械按键在设计外壳的时候需要考虑尺寸,现在换成电容按键后这个问题不再需要考虑。 8.1.2 检测原理 常规的检测方式一般是通过计算电容放电时间来判断是否有手指按下,这是因为手指会与线路板的铜箔接触面上产生电容效应,当手指没有放在铜箔上的时候,铜箔与PCB之间存在杂散电容,这两个状态的电容值差别很大,检测原理如下图所示。 在检测之前首先用开关将电容Cs里
[单片机]
<font color='red'>STM32</font>入门学习笔记之<font color='red'>电容</font><font color='red'>触摸</font>实验(上)
STM32学习日志——电容触摸按键实验
这次的代码很有意思,可以学到很多编程的思想。 首先,电容触摸按键是基于模电的RC充放电电路,一开始:R+=v1,R-=0,I1=V1/R;充电过程中:R+=v1,R-=V2,I2=(V1-V2)/R I1;充电完成:R+=V1,R-=V1,I3=0。所以电压与时间的对应关系图如下。 从公式中可以看出,在相同的条件中,充电时间是与电容值成正比的,而且当手触碰电容触摸按键,它的容值就会增加,根据这个原理,我们可以测量充电的时间来判断是否按下了按键。 程序的思路是这样的,1)初始化TIM5的通道2输入捕获,将PA1的模式设为推挽输出,输出0,放电,然后将定时器清零,以等待按下充电。2)捕获上升沿,即充电完成的时间。3)10次捕获
[单片机]
EDAG与现代合作开发触摸方向盘 机械按键换成触摸感应控件
VR技术和最新的HMI概念未来将为汽车内部设计带来革命性的变化,时尚的外观结合简单安全的操作是其发展重点。据外媒报道,工程服务供应商EDAG集团与现代汽车欧洲技术中心(HMETC)合作,共同开发创新虚拟座舱和方向盘。 (图片来源:EDAG官网) EDAG的专家将方向盘上的所有机械按键换成触摸屏形式的触摸感应控件,从而实现无干扰驾驶。驾驶员可以收藏自己喜爱的功能触摸键,进行快速、舒适的操作。驾驶员可以利用该方向盘操作汽车的所有功能,包括收音机音量调节和座椅加热,而不需要松开方向盘。通过方向盘进行的控制操作进程会显示在仪表盘的全屏监测器上,因此驾驶员无需查看方向盘。 由于显示屏的特殊配置,简单的触摸不会立即激活功能,除非
[汽车电子]
EDAG与现代合作开发<font color='red'>触摸</font>方向盘 <font color='red'>机械</font><font color='red'>按键</font>换成<font color='red'>触摸</font>感应控件
分析如何解决大型电容触摸屏输入问题
  移动设备生产商希望为消费者提供自然易用的用户界面,就好像使用纸和笔一样方便自如,同时还要具备电脑的高度灵活性,这样的高级特性可帮助生产商实现产品差异化。带手掌误动作排除功能的小型尖头无源手写笔让制造商能够提供支持手写、编辑、签名捕获、精确导航等各种新应用功能的低成本解决方案。然而,上述功能的实现也面临一些挑战,无源手写笔的开发人员必须满足更大型触摸屏上电容式感应技术的一系列性能要求。具体来说,需要采用高级算法和感应方法来检测手写笔发出的很小的信号,同时还要排除用户手掌造成的较大的无用信号。此外,设备还必须能够动态地在手写笔和多点触摸输入之间来回切换,同时保持一定的速度、精确度和响应性,从而确保理想的用户体验。   随着电容
[嵌入式]
分析如何解决大型<font color='red'>电容</font><font color='red'>触摸</font>屏输入问题
家电中无所不在的电容触摸感应技术
  由于构建系统所需的许多组件现在已经集成在统一的芯片中,因此SoC可显着加速产品上市进程。此外,连接多个器件和用于故障调试所需的时间也可大幅缩短。   图1所示为电磁炉的方框图。这种电器必须提供以下关键功能:   ●保持平锅的温度:需要脉冲宽度调制(PWM)来设置加热线圈的点火持续时间;   ●风扇控制:需要温度传感器和PWM来驱动风扇电机;   ●过电流和过电压保护:需要ADC和比较器;   ●平锅自动检测:需要电感感应功能;   ●基于时间的烹饪功能:需要实时时钟(RTC);   ●用户界面——显示屏:需要LED驱动器或LCD玻璃显示屏;   ●用户界面——按键:需要电容式触摸感应和检测功能。      电容式感应技术
[嵌入式]
家电中无所不在的<font color='red'>电容</font>式<font color='red'>触摸</font>感应技术
在低成本的线路供电LED照明设计中实现电容式接近检测界面和触摸界面
近几个月来,出现了一种将电容式触摸用户界面和电容式接近检测用户界面集成到照明应用中的趋势。界面简单,能使用不规则形状的传感器并且能密封用户界面,这些特性均有利于创建美观且LED维护率低的界面。遗憾的是,照明和触摸传感在技术和工艺上存在差异,这会导致设计时,为达各自目的而产生冲突,尤其是成本有限的建筑照明领域。本文将介绍弥补这一差别的方法和策略。 我们从电容式触摸的基本概念着手。电容本质上是两个由绝缘体分隔的导体。根据绝缘体的类型、导体的面积以及两个导体之间的距离,电容的大小将有所不同。公式1给出了以上各个因数之间的基本关系。C代表电容的值,A代表两个导体的重叠面积,两个物理常数 和 分别代表自由空间的介电常数和绝缘材料的
[嵌入式]
在低成本的线路供电LED照明设计中实现<font color='red'>电容</font>式接近检测界面和<font color='red'>触摸</font>界面
电容触摸按键实验”实例解析
电容触摸按键实验 电容触摸按键的基本原理(原理图层面) 新电容的产生与作用 我们学过模电的同学知道:我们的手其实相当于一块可以存储感应电荷的金属板,当我们的手靠近屏幕时,我们的手与屏幕下的金属板Cx构成了一个平行电容板,这个电容与Cs杂散电容相并联,“并联电容C=C1+C2”。 充放电性能的变化 我们看见“VCC是一定的;电容C越大代表一定电压下,存储的电荷数量越多(Q=CU),反之,充电到U所花费的时间也更多;电阻R的值一定代表着对电荷的阻碍作用是固定的”。 充电到V=Vth,花费时间TA明显小于TB;我们真实情况下的矩形脉冲如下图所示: 脉冲如何被捕获 当电容从0充电到Vth时,就相当于一个上升沿脉冲。其实这
[单片机]
“<font color='red'>电容</font><font color='red'>触摸</font><font color='red'>按键</font>实验”实例解析
使用德州仪器MSP430FR2633构建电容触摸接口
MSP430FR2633是一款低功耗微控制器,带有多个GPIO和电容触摸引脚。本篇文章创建了一个四按钮和带有LED和触觉反馈的四环滑动电容式触摸电路。 在本文中,我们将介绍电路的功能、连接方式和硬件。我还将分享制作定制电路板的复杂性,这对于那些使用DipTrace的人或任何想要更好地理解Gerber文件生成方式的人都有帮助。 让我们开始吧。 关于电路 该设计围绕三个集成电路构建:德州仪器MSP430FR2633IDA是中央微控制器;Silicon Labs CP2102N提供USB到串行接口;德州仪器DRV2605L提供触觉反馈。 上面显示的是控制接口的两个版本。右侧的设计用于说明焊盘设计和布局,但由于对控制IC
[单片机]
使用德州仪器MSP430FR2633构建<font color='red'>电容</font>式<font color='red'>触摸</font>接口
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved