完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
该作品是基于STM32F103RCT6单片机制作的一款手势识别装置,该装置的核心器件为TI公司生产的一款非接触式传感芯片FDC2214,STM32单片机通过IIC通信控制FDC2214模块实现对靠近物体进行电容测量,并通过单片机通信,使TM4单片机对接收到的数据利用一阶互补滤波算法进行处理;同时利用一定的硬件设计尽可能得减小该模块受到的外界干扰,实现对猜拳、划拳游戏的准确判决,同时串口屏可用来显示判决结果,并进行模式切换。
该装置包括训练和判决两种工作模式,在判决模式下能进行猜拳和划拳的准确判决;在训练模式下,利用KNN机器学习算法和Visual Scope曲线进行数据采集和处理,进而在规定时间内完成对任意测试者猜拳或划拳的手势训练,当切换工作模式到判决模式时,可实现对被训练的人员猜拳和划拳的准确判决。另外系统通过12V锂电池和LM2596降压模块供电。 关键词:STM32F103RCT6单片机;IIC通信;FDC2214模块;一阶互补滤波算法;串口屏;KNN机器学习算法;Visual Scope;LM2596降压模块 1、设计方案工作原理 1.1、预期实现目标定位 硬件方面:通过搭建合适的硬件结构及在FDC2214各通道之间选择合适的的线间距,尽可能减少该模块受到的外界干扰;软件方面通过TM4单片机和STM32F103RCT6单片机进行IIC通信控制FDC2214模块的2个通道实现对靠近物体的电容测量,完成猜拳游戏和划拳游戏的准确判决。在训练模式下利用KNN机器学习算法和Visual Scope虚拟示波器仿真实现对任意测试者进行数据采集完成猜拳或划拳的手势训练,进而实现准确判决,同时串口屏可用来显示判决结果及进行模式切换。 1.2、技术方案分析比较 (1) 主控制器选用 方案一:采用传统的STC89C51系列单片机。 方案二:采用TI公司的TM4单片机 方案三:采用STM32F103RCT6单片机 结合不同单片机解决问题的能力,通过比较,我们选择同时采用方案二和方案三。 (2) 极板放置位置分析 方案一:放置一整块极板,利用FDC2214的一个通道进行电容检测; 方案二:将一块极板分割成两份,利用FDC2214的两个通道进行电容检测; 经检验,将极板分割成两份时,检测到的电容数值相较于一整块极板稳定性有很大的提高,同时也便于将手掌分成两部分进行分别检测,故选择方案二。 (3) 极板材质选择 方案一:选择铝制材料作为极板; 方案二:采用覆铜板作为极板; 方案三:采用纯铜板作为极板。 经分析,我们发现,当极板的材质不同时,对于相同的物体所检测到的电容数值不同,且稳定性不同,经多次检验不同材料的极板,我们最终选择纯铜板作为极板。 (4) 系统抗干扰分析 由于该传感器精度较高,且当传感平面的面积越大、手势与传感平面的距离越小,感应的频率变化越大,系统会越灵敏,但同时也可能引入越多的噪声。为减少一些不必要因素对检测结果的干扰,我们在设计该装置时决定采取规整的布线、使两块极板平行以及在极板上放置玻璃板来尽可能减小干扰。 (5) 系统数据采集及算法使用分析 系统采用Visual Scope进行数据的采集分析,Visual Scope是一款简单好用的串口数据示波器,可以检测电脑串口的信号,用直观的波形显示出来,还可以任意扩大缩小图形,直观的通过波形来判断串口信号工作状态,加以调试。 采用一阶互补滤波算法对采集到的数据进行滤波处理,由于采集到的原始数据准确度不够高,但其趋势是对的,因此将这些数据将其进行滤波运算,给两部分一个权重得到一个相对准确的值,或者得到一个很好的近似的过程,进而实现对数据更好的利用。 采用KNN机器学习算法在训练模式下进行训练,即K-近邻算法,KNN是通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。在KNN中,通过计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题,在这里距离一般使用欧氏距离或曼哈顿距离: 同时,KNN通过依据k个对象中占优的类别进行决策,而不是单一的对象类别决策。这两点就是KNN算法的优势。 具体的算法步骤如下: ①、根据特征项集合重新描述训练文本向量 ②、在新文本到达后,根据特征词分词新文本,确定新文本的向量表示 ③、在训练文本集中选出与新文本最相似的 K 个文本,计算公式为: ④、在新文本的 K 个邻居中,依次计算每类的权重,计算公式如下: ⑤、比较类的权重,将文本分到权重最大的那个类别中。 经分析算法对该系统的适应性以及其他优势,采用此算法对数据进行处理。 1.3、系统结构工作原理 该系统由TM4单片机、STM32F103RCT6单片机、FDC2214模块、极板、串口屏、LM7805稳压电源模块等构成。 其中TM4单片机、STM32F103RCT6单片机用于整个系统的数据处理、模块控制及通信和显示,采用IIC通信控制FDC2214,通过串口屏实现对手势的显示; FDC2214模块用于对接近极板的物体进行电容检测,可实现手势接近和识别的功能,其传感平面为导体材质,当人手接近该导体传感平面时,传感端的电容发生了变化,这就会导致LC电路振荡频率的变化,从而反映出手势接近,以及手势的判定。 串口屏通过与单片机进行串口通信实现对各个手势的显示,另外可进行该系统对判决模式和训练模式的切换; LM7805稳压电源模块用于给单片机供电,该模块集成整流、滤波原件和稳压芯片,输入8-24V的直流或交流电压,能稳压输出直流电压,且具备过热和过流保护功能。 1.4、功能指标实现方法 对于指标(1)(2),在打开装置后,通过串口屏进行模式选择操作,可选择猜拳判决及划拳判决,同时通过程序设计要求使每一次判决的时间不大于1秒。 对于指标(3)(4),通过串口屏选择训练模式,然后采集几次随机用户的数据,并进行阈值设置,进而实现切换为判决模式时,准确判决。 1.5、测量控制分析处理与计算 通过FDC2214模块可以自动计算出被测电容值,然后通过单片机对其进行一定的处理,进而准确判断出正确的手势。 当前被测电容值为此次模块计算出的容值减去初始值,即“res0-temp0”,其中res0为采集到的数据,temp0为初始值。 2、核心部件电路设计 2.1、关键器件性能分析 (1)单片机模块 TM4C123GH6PM是TI公司生产的一款32位单片机,STM32F103RCT6也是一款32位单片机,该单片机内部资源丰富,有很多空闲I/O口供连接外设,同时内部有多个定时器和串口来进行串口通信,且学习资源丰富,极大地方便了我们进行本次设计。 (2)FDC2214模块 该传感器的传感平面的面积越大、手势与传感平面的距离越小,感应的频率变化越大,系统会越灵敏,但同时也可能引入越多的噪声。 (3)LM7805稳压模块 LM7805为三端稳压芯片,故设计稳压电路来进行给单片机供电,在功率大的时候其热量也是很大的,故在应用7805的时候增加一个散热片来进行散热。 2.2、电路工作机理及设计仿真 该系统供电电路为由锂电池输入12V电压,经LM2596降压模块之后电压稳定到5V,进而给各单片机供电;TM4单片机核心板内置降压电路可引出3.3V电压接口,进而给FDC2214模块供电。 单片机与FDC2214模块的电路连接有VCC、GND、SCL、SDA线,其中VCC、GND用于供电,SCL、SDA用于IIC通信。 两个极板通过引出两根导线连接到FDC2214模块的两个通道上,进而测出电容值。 电路图详见附件。 2.3、电路实现调试 在设计完电路后,经焊接搭建电路并调试,该电路设计可以实现该系统的正常工作。 2.4、关键电路驱动接口 其中LM2596电路模块包括输入接口和输出接口,单片机驱动接口包括VCC、GND、SCL和SDA接口,FDC2214模块包括VCC、GND、SCL、SDA及两个通道采集信号接口。 3、系统软件设计分析 3.1、系统总体工作流程 任务要求装置具有训练和判决两种工作模式,在判决模式下实验装置能对指定人员进行猜拳游戏和划拳游戏的判决。猜拳游戏的判决是指对手势比划“石头”、“剪刀”和“布”的判定,划拳游戏的判定是指手势比划“1”、“2”、“3”、“4”和“5”的判定。在训练模式下对任意人员进行猜拳游戏和划拳游戏的手势训练,经过有限次训练后,能进行正确的猜拳游戏和划拳游戏的手势判决。 模式及操作流程使用串口屏显示,首先进入开始界面,选择需要的工作模式。在判决模式下有猜拳游戏和划拳游戏,选择对应的游戏模式进入,在相应的位置做出不同的手势,装置即可做出准确的判定,并将正确的结果显示在串口屏上。在训练模式下,将任意一位人员的手放在装置的指定位置,选择对应的猜拳游戏“石头、剪刀、布”或者划拳模式“1、2、3、4、5”,进入对应的游戏模式之后,系统对此人员的手势信息进行采集,所有的数据采集完成之后,进行判断和存储。返回模式选择界面,选择判决模式,就可以对此人员的手势进行准确的判决,并将判决结果显示在串口屏上。系统在任意模式下都可以返回,可以循环操作。 流程图如下图: 3.2、主要模块程序设计 FDC2214模块,此模块主要用来获取传感器采集到的电容值。程序将不同的手势采集到的多组不同的电容值进行一系列复杂的处理,以得到正确的判决结果。 串口屏模块,此模块是控制整个装置正常进行的关键,显示整个系统的操作流程,以及当前所在的模式及状态。 4、竞赛工作环境条件 软件环境:Keil软件,CCS 7.0软件主要负责代码编写,MATLAB软件利用神经网络、KNN等算法进行数据分析与检验。 仪器设备硬件平台:在教学楼科协实验室内有示波器、稳压电源、万用表等实验器材,硬件模块包括亚克力板、各类单片机开发板、焊接洞洞板、供腐蚀的覆铜板、纯铜板等相关耗材 配套加工安装条件:实验室内各种实验工具,如焊枪、热熔胶枪、助焊剂、手钻、台钻、老虎钳等工具。 前期设计使用模块:TM4C123GH6PM单片机开发板、STM32开发板、FDC2214模块、LM2596降压模块、覆铜板和纯铜板等材料。 5、作品成效总结分析 系统测试性能指标:在规定时间内能够准确的判决猜拳和划拳手势;可以通过训练,学习不同的猜拳划拳手势,并且准确判决。 成效得失对比分析:判决准确度高,对于猜拳者或划拳者的手势位置要求较低,具有较强的灵活性和适应性,但是对于代码和算法的要求比较高 创新特色总结展望:该作品的创新特色有(1):使用一阶互补滤波算法对采集到的数据进行处理,使采集到的数据更加准确;(2):利用KNN机器学习算法和Visual Scope曲线进行数据采集和处理,将两者结合起来,使在训练模式下效果更好。 6、附件材料 6.1 附件1 作品照片、虚拟示波器数据采集照片以及电路图 6.2 附件2 部分源程序: void TIM4_IRQHandler(void) //TIM4中断 { if(TIM4->SR&0X0001)//20ms定时中断 { old_res0=res0; old_res1=res1; res0 = Cap_Calculate(0)/100;//采集数据 res1 = Cap_Calculate(1)/100; res0=0.9*old_res0+0.1*res0; //一阶互补滤波 res1=0.9*old_res1+0.1*res1; led=~led; } TIM4->SR&=~(1<<0); //中断标志位清0,等待下一次中断 } void panduan() //判决模式 { static int a; a=temp0-res0; if(mode==1) { if(a } if(mode==2) { if(a>mid[0]&&a printf("1rn"); result=1; } if(a>mid[1]&&a printf("2rn"); result=2; } if(a>mid[2]&&a printf("3rn"); result=3; } if(a>mid[3]&&a printf("4rn"); result=4; } if(a>mid[4]) { printf("5rn"); result=5; } } } void save(void) { save_temp[save_flag]=(temp0-res0); save_flag++; if(save_flag==3) { save_flag=0; led=~led;//代表数据采集完毕 if(mode==0)//0训练模式 data[data_num]=(save_temp[0]+save_temp[1]+save_temp[2])/3; printf("save_donen"); save_done_flag++; printf("save %dn",save_done_flag); } if(save_done_flag==6) { save_done_flag=0; printf("save_all_overn"); process_mid(); } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 11:51 , Processed in 0.818144 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号