0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_78858299 来源:滑小稽笔记 作者:电子技术园地 2023-02-16 10:22 次阅读

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

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
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:输入模式,映射在TI110:输入模式,映射在TI211:输入模式,映射在TRC上,此模式引用于内部触发器输入被选中时

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

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CC4P CC4E - CC3P CC3E - CC2P CC2E - CC1P CC1E

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

通道在输出模式下

0:高电平有效

   1:低电平有效

通道在输入模式下

0:不反相,上升沿触发

   1:反相,下降沿触发

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

通道在输出模式下

0:关闭输出

   1:开启输出

通道在输入模式下

0:禁止捕获

   1:使能捕获
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44521

    浏览量

    633126
  • STM32
    +关注

    关注

    2266

    文章

    10873

    浏览量

    354861
  • 电容触摸
    +关注

    关注

    0

    文章

    70

    浏览量

    16447
收藏 人收藏

    评论

    相关推荐

    STM32学习笔记(初学者快速入门)

    本帖最后由 eehome 于 2013-1-5 10:08 编辑 STM32学习笔记(初学者快速入门)
    发表于 08-18 21:35

    STM32学习笔记(初学者快速入门)

    STM32学习笔记(初学者快速入门)资料来自网络资源
    发表于 06-11 20:23

    CubeMX入门STM32 HAL库的学习笔记

    STM32CubeMX是ST官方开发的一款很好用的软件,主要用于STM32系列单片机的硬件驱动层的配置。网上也有一些关于STM32CubeMX的相关教程,对它的相关操作进行说明。从今天起,小柯希望能将自己从CubeMX
    发表于 08-17 06:55

    STM32入门学习笔记 精选资料分享

    STM32入门学习笔记本文为笔者入门学习过程的记录,只是零散的记录了一些个人不太懂得,觉得需要经
    发表于 08-24 07:56

    STM32各模块学习笔记

    STM32个模块学习笔记 目录 STM32笔记之一 中断优先级.......................................
    发表于 11-30 03:32 3146次阅读

    基于STM32触摸学习笔记资料下载

    电子发烧友网为你提供基于STM32触摸学习笔记资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到
    发表于 04-24 08:48 37次下载
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>触摸</b>屏<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>资料下载

    STM32学习笔记1——软硬件基础keil5编程与GPIO开发

    STM32学习笔记1——软硬件基础keil5编程与GPIO开发
    发表于 11-30 12:36 4次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>1——软硬件基础<b class='flag-5'>之</b>keil5编程与GPIO开发

    STM32学习心得十九:电容触摸按键实验及相关代码解读

    记录一下,方便以后翻阅~主要内容:1) 电容触摸按键原理;2)部分实验代码解读。实验内容:手触摸按键后,LED1灯翻转。
    发表于 11-30 12:51 15次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b>心得十九:<b class='flag-5'>电容</b><b class='flag-5'>触摸</b>按键<b class='flag-5'>实验</b>及相关代码解读

    STM32学习——入门小项目

    STM32学习——入门小项目
    发表于 12-07 17:21 72次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b>——<b class='flag-5'>入门</b>小项目

    STM32学习笔记(11)电容触摸按键

    简介通过触摸电容屏幕达到类似触摸按键的作用,相对于传统的机械按键有寿命长、占用空间少、易于操作等诸多优点。原理但未触摸时,触摸系统内仅有一个
    发表于 12-28 19:17 5次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>(11)<b class='flag-5'>电容</b><b class='flag-5'>触摸</b>按键

    STM32入门(二十一)----电容触摸

    电容触摸电容触摸原理硬件连接实验程序程序思路电容触摸
    发表于 01-17 11:25 4次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>入门</b>(二十一)----<b class='flag-5'>电容</b><b class='flag-5'>触摸</b>

    STM32入门学习笔记基础定时器实验

    STM32内部共有8个定时器,其中Timer1和Timer8属于高级定时器,Timer2~Timer5属于通用定时器,8个定时器的资源独立,互不影响。
    的头像 发表于 02-16 10:14 1179次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b>基础定时器<b class='flag-5'>实验</b>(<b class='flag-5'>上</b>)

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

    随着科技的发展,传统的机械按键正在逐步从设备上面消失,这个原因主要有机械按键由于是采用机械接触的方式,寿命比较短,从用户体验看,机械按键也显得操作复杂,对比现在的电容按键,电容按键具有寿命长,因为
    的头像 发表于 02-16 10:22 674次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>入门</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>电容</b><b class='flag-5'>触摸</b><b class='flag-5'>实验</b>(下)

    STM32学习笔记电容触摸1

    随着科技的发展,传统的机械按键正在逐步从设备上面消失,这个原因主要有机械按键由于是采用机械接触的方式,寿命比较短,从用户体验看,机械按键也显得操作复杂,对比现在的电容按键,电容按键具有寿命长,因为
    的头像 发表于 05-26 14:37 859次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>电容</b><b class='flag-5'>触摸</b>1

    STM32学习笔记电容触摸2

    传统的机械按键正在逐步从设备上面消失,这个原因主要有机械按键由于是采用机械接触的方式,寿命比较短,从用户体验看,机械按键也显得操作复杂,对比现在的电容按键,电容按键具有寿命长,因为不存在机械接触,占用空间少,以前的机械按键在设
    的头像 发表于 05-26 14:41 436次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b><b class='flag-5'>之</b><b class='flag-5'>电容</b><b class='flag-5'>触摸</b>2