找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13549|回复: 9
收起左侧

STM32F407+FDC2214传感芯片的手势识别设计思路

  [复制链接]
ID:375287 发表于 2018-12-17 16:03 | 显示全部楼层 |阅读模式
本设计主要研究的是基于嵌入式最小系统板与FDC2214传感芯片的手势识别,通过对单片机添加外围电路并编程来达到设计目的。设计最终达到了手势识别功能的目的。包括实际参数的测量及显示、屏幕上的模式设定、手势感应模块设计、显示手势的模块设计、人机交互模块设计。
本手势识别装置由32位MCUSTM32为主控器,通过IIC通信从FDC2214传感芯片读四个通道的电容感应值,利用均值滤波,减少误差,从而判断分辨不同手势所产生的电容变化,并识别手势,针对变化明显的区域进行感应器的布置,提高识别度,最后将结果显示在TFTLCD触摸屏上。经过实验验证,识别率在90%以上,是理想的手势识别装置的解决方案。
一、设计任务与要求

设计一个TI公司传感芯片FDC2214的手势识别装置,配合硬件实现温实现对猜拳游戏和划拳游戏的判决功能。装置具有训练和判决两种工作模式。在判决模式下实验装置能对指定人员进行猜拳游戏和划拳游戏的判决。这里猜拳游戏的判决是指对手势比划“石头”、“剪刀”和“布”的判定,划拳游戏的判定是指手势比划“1”、“2”、“3”、“4”和“5”的判定。在训练模式下能对任意人员进行猜拳游戏和划拳游戏的手势训练,经过有限次训练后,能进行正确的猜拳游戏和划拳游戏的手势判决。

系统设计的基本要求:

1、装置工作在判决模式下,能对参赛者指定人员进行猜拳判决,给出手势“石头”、“剪刀”和“布”的准确判决,要求每一次判决的时间不大于1秒。

2、装置工作在判决模式下,能对参赛者指定人员进行划拳判决,给出手势“1”、“2”、“3”、“4”和“5”的准确判决,要求每一次判决的时间不大于1秒。

3、装置工作在训练模式下,对任意测试者进行猜拳的手势训练,每种动作训练次数不大于3次,总的训练时间不大于1分钟;然后切换工作模式到判决模式,对被训练的人员进行猜拳判决,要求每一次判决的时间不大于1秒。

二、方案设计与论证

本系统主要由主控板模版、感应器模块、人机交互组成,下面分别论证这几个模块的选择。

2.1主控板模版的论证与选择

方案一:采用STC公司的IAP15W4K58S4芯片作为主控芯片,成本较低,对寄存器进行编辑比较方便。

方案二:采用STC公司的STM32F407芯片作为主控芯片,性价比较高的32位机,拥有丰富的外设,优异的实时性能,从外设的兼容性以及响应的实时性。

由响应的实时性为前提,综合考虑选择方案二。

2.2感应器模块的论证与选择

方案一:感应芯片采用TI公司的FDC2214非接触式电容式传感器。应用:接近传感器 、手势识别、液位传感器(包括清洁剂、肥皂液和油墨等导电液体)、碰撞避免、 雨、雾、冰、雪传感器、汽车门及尾门一脚踢开传感器、材料尺寸检测。

方案二:感应芯片采用TI公司的LDC1314非接触式电感式传感器 。应用:按键旋钮,流速计等。

从识别的灵敏度、准确性以及软件实现的难易程度,验证试验后选择方案一。

2.3人机交互模版的论证与选择

方案一:采用按键控制和LED显示实现人机交互,完成不同模式选择和识别结果反馈,结果便于观察,程序简单,操作简单可靠。

方案二:采用3.2寸TFTLCD触摸屏实现人机交互,完成不同模式选择和识别结果的反馈,结果便于观察,操作简单方便。

从识别结果的可观性和操作的方便性考虑,选择方案二。


三、单元模块分析与论证
3.1感应模块电路分析

FDC2214是基于LC谐振电路原理的一个电容检测传感器。在芯片每个检测通道的输入端连接一个电感和电容,组成LC电路,被测电容传感端与LC电路相连接,将产生一个振荡频率,根据该频率值可计算出被测电容值,具体公式如下:

每个通信的数字化传感器测量(DATAx)表示传感器频率与参考频率之比。

FDC2112和FDC2114的数据输出(DATAx)表示为16位结果的12MSBs:

         (1)

FDC2112和FDC2114的数据输出(DATAx)表示为:

         (2)

利用FDC2214的工作原理可实现手势接近和识别的功能,黄色部分称为“FDC2214的传感平面”,该平面为导体材质,当人手接近该导体传感平面时,传感端的电容发生了变化,这就会导致LC电路振荡频率的变化,从而反映出手势接近,以及手势的判定。基于FDC2214实现手势接近和判决的实验中存在如下的特征:传感平面的面积越大、手势与传感平面的距离越小,感应的频率变化越大,系统会越灵敏,但同时也可能引入越多的噪声。


具体电路图如图3-1-1所示:


图3-1-1 FDC2214电路图

3.2最小系统板原理图

  采用 STM32407作为 MCU,该芯片配置非常强大,它拥有的资源包括:集成 FPU 和 DSP 指令,并具有 256KB SRAM、1024KB,FLASH、 12 个 16 位定时器、 2 个 32 位定时器、 2 个 DMA 控制器(共 16 个通道)、 6 个 SPI、2 个全双工 I2S、 1 个 SAI、 3 个 IIC、 8 个串口、 2 个 CAN、3 个 12 位 ADC、 2 个 12 位 DAC、 1 个 RTC、 1 个 SDIO 接口、 1 个 FMC 接口、1 个 TFTLCD 控制器(LTDC)、以及 140 个通用 IO 口等,芯片主频高达 180Mhz,轻松应对各种应用。主控板32F407的具体原理图如图3-2-1所示:

图3-2-1 主控板32F407原理图

3.3人机交互模块电路分析

    STM32F407 开发板板载的 LCD 模块接口电路如图 3-3-1 所示:

图3-3-1 LCD原理图

图中 TFT_LCD 是一个通用的液晶模块接口,采用 16 位 80 并口,也称作 MCU 屏接口, LCD 接口连接在 STM32F429IGT6 的 FSMC总线上面,可以显著提高 LCD 的刷屏速度。
   图中的 T_MISO/T_MOSI/T_PEN/T_CS/T_SCK 连接在 MCU 的PG3/PI3/PH7/PI8/PH6 上,用于实现对液晶触摸屏的控制。 LCD_BL 连接在 MCU 的 PB5 上,用于控制 LCD 的背光。液晶复位信号 RESET 则是直接连接在开发板的复位按钮上,和 MCU 共用一个复位电路。

四、电路与程序设计
4.1感应模块设计

对于铜片的安装方式有以下三种方式:

方案一:感应芯片采用TI公司的FDC2214非接触式电容式传感器,使用FDC2214的一个测量通量外接一个20cm*20cm的铜板作为感应装置。

方案二:感应芯片采用TI公司的FDC2214非接触式电容式传感器,使用FDC2214的四个测量通量外接四个8cm*8cm的铜板田字摆放作为感应装置。  

方案三:感应芯片采用TI公司的FDC2214非接触式电容式传感器,使用FDC2214的四个测量通量外接四个不同形状铜板摆放在不同手势变化明显的区域作为感应装置。

由于本次课题中要进行手势识别,故在对应手指的位置放置铜片作为感应端,用于感应对应手指位置是否有手指伸出,但由于FDC2214只有四个通道,故决定适当修改铜片形状,用一块铜片感应食指与拇指。用感应到的值的大小,识别只有食指伸出的情况还是食指和拇指同时伸出的情况,铜片具体位置如图4-1-1所示。这些铜片充当感应电容,电容的一段,与FDC2214通道相连,实物如图4-1-2所示。当手指靠近铜片时会使电容值发生变化。在程序中设定阈值与变量a,若感应值超过阈值则a++,否者为a=a;其中ch0的阈值设定为两级,超过一级为a++,超过两级为a=a+2,否者a=a。“石头、剪刀、布”判定具体表格如表4-1-4所示,手势“1、2、3、4、5”判定表格如表3-1-5所示。

               

图4-1-1 铜片的具体位置                     图4-1-2 FDC2214实物图


Ch3

Ch2

Ch1

Ch0

合计

剪刀

0

0

1

1

2

石头

0

0

0

0

0

1

1

1

2

5


表4-1-4 “石头、剪刀、布”判定表格


Ch3

Ch2

Ch1

Ch0

合计

手势“1”

0

0

0

1

1

手势“2”

0

1

1

0

2

手势“3”

0

1

1

1

3

手势“4”

1

1

1

1

4

手势“5”

1

1

1

2

5

表4-1-5 手势“1、2、3、4、5”判定表格

本次课题采用TI公司的FTC2214模块和四个自制的感应铜片,其中感应铜片对应手指位置进行摆放固定,四个通道的走线皆是顺着指尖方向走线并尽量分开,减少线与线、线与铜片之间的干扰,以及手掌部分的影响。

4.2主控板模块设计

本次实验设计中采用的是STC公司的STM32F407芯片,通过FDC2214读取各通道的值,并进行处理,把处理后的值传到TFTLCD触摸屏上显示,完成初始值的测定的功能,训练模式的功能,识别模式的功能,并将最终识别结果传到电容屏上显示。具体过程如图4-2-1所示。

                         

图4-2-1 主控板流程图

最后确定程序流程如图4-2-2所示:

图4-2-2 程序流程图

4.3人机交互模块设计

本次实验设计中采用TFTLCD触摸屏,用手触摸触摸屏上不同位置实现各个模式的切换,并在相应位置显示相关数据,将识别结果显示在电容屏上。本设计采用3.2寸TFTLCD触摸屏实现人机交互,由于此次课题进行手势识别过程中有初值感应,实时测量,工作模式选择,以及显示四个通道的处理后的表征值,要给出识别结果,故对3.2寸TFTLCD触摸屏进行分区实现上述功能。实现后如图4-3-1所示。

图4-3-1 TFTLCD触摸屏

最终全系统如图4-3-2所示:

图4-3-2 全系统流程图

4.4均值滤波和快速排序

本次实验设计中采用的是FDC2214,其是一款28位高分辨率的非接触式电容式传感器,十分敏感,会感应到很多噪声,故对四个通道测量值进行快速排序和均值滤波处理,每次测量30次,每次间隔10毫秒,形成一个容量为30的数组,运用快速排序算法,对30次的值进行排序,去除最小5个值和最大的五个值,再取均值作为读取值后进行比较。


五、性能测试与分析
5
.1问题一的测试方案

要求:装置工作在判决模式下,能对参赛者指定人员进行猜拳判决,给出手势“石头”、“剪刀”和“布”的准确判决,要求每一次判决的时间不大于1秒。

实验步骤

  • 在测试环境下点击ready,设定测试环境下的零输入响应。
  • 选择猜拳模式,点击guessing
  • 点击judge就可以变换手势进行判断,识别手势。

实验结果:具体过程如图5-1-1所示。

5.2问题二的测试方案

要求:装置工作在判决模式下,能对参赛者指定人员进行划拳判决,给出手势“1”、“2”、“3”、“4”和“5”的准确判决,要求每一次判决的时间不大于1秒。

实验步骤

  • 在测试环境下点击ready,设定测试环境下的零输入阈值。
  • 选择划拳模式,点击number
  • 点击judge就可以变换手势进行判断,识别手势。

实验结果:具体过程如图5-2-1所示。

5.3问题三的测试方案

要求:装置工作在训练模式下,对任意测试者进行猜拳的手势训练,每种动作训练次数不大于3次,总的训练时间不大于1分钟;然后切换工作模式到判决模式,对被训练的人员进行猜拳判决,要求每一次判决的时间不大于1秒。

实验步骤:

  • 在测试环境下点击ready,设定测试环境下的零输入阈值。
  • 点击training,将测试者的全部手掌放在指定区域,而后点击OK,设定全输入响应阈值,然后点击finish结束训练。
  • 选择猜拳模式,点击guessing
  • 点击judge就可以变换手势进行判断,识别手势。

实验结果:具体过程如图5-3-1所示。

5.4问题四的测试方案

要求:3、装置工作在训练模式下,对任意测试者进行划拳的手势训练,每种动作训练次数不大于3次,总的训练时间不大于1分钟;然后切换工作模式到判决模式,对被训练的人员进行划拳判决,要求每一次判决的时间不大于1秒。

实验步骤

  • 在测试环境下点击ready,设定测试环境下的零输入阈值。
  • 点击training,将测试者的全部手掌放在指定区域,而后点击OK,设定全输入响应阈值,然后点击finish结束训练。
  • 选择划拳模式,点击number
  • 点击judge就可以变换手势进行判断,识别手势。

实验结果:具体过程如图5-3-1所示。


6、结论与心得

经过4天3夜的努力,我组手势传感器成功完成了预想的目标。通过这次比赛,我们对于工程设计有了进一步的理解,动手能力也得到了提升。其实,一个队伍的成功,不仅仅是个人能力的体现,更是小组内人员相互配合支持的结果。这次比赛,教会了我们合作的重要性,提高了我们共同纠错的能力。不管结果如何,我们都收获了许多。提升自我能力,这或许才是比赛的真正目的。不忘初心,方得始终。


以上内容Word格式文档51黑下载地址(源码由于借鉴了别人的,还没有获得授权.暂不分享):
电子设计.docx (1.19 MB, 下载次数: 102)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:581352 发表于 2019-7-18 10:22 | 显示全部楼层
请问有完整的代码吗?
回复

使用道具 举报

ID:375287 发表于 2019-7-18 15:47 | 显示全部楼层
neinein 发表于 2019-7-18 10:22
请问有完整的代码吗?

有啊我记着
回复

使用道具 举报

ID:581352 发表于 2019-7-19 08:16 | 显示全部楼层

能分享给我吗?
回复

使用道具 举报

ID:581352 发表于 2019-7-26 10:47 | 显示全部楼层
请问可以把完整的代码分享出来吗?
回复

使用道具 举报

ID:590895 发表于 2019-7-26 16:23 | 显示全部楼层
有完整的电路原理图吗?
回复

使用道具 举报

ID:383931 发表于 2019-8-8 12:03 | 显示全部楼层

可以发一下源码吗
回复

使用道具 举报

ID:449771 发表于 2023-5-13 10:02 | 显示全部楼层
这个电路图是官网的吧
回复

使用道具 举报

ID:291668 发表于 2023-5-13 17:00 | 显示全部楼层
可以和机器人设计连接起来,控制手臂运动了。
回复

使用道具 举报

ID:449771 发表于 2023-5-17 09:47 | 显示全部楼层
STM32都没和FDCC2214连起来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表