免费预览已结束,剩余71页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)本科毕业设计(论文)基于脑机接口的智能轮椅原型机的研究燕山大学毕业设计(论文)任务书 题目题目名称基于脑机接口的智能轮椅原型机的研究题目性质1.理工类:工程设计( );工程技术实验研究型( );理论研究型( );计算机软件型();综合型( )。2.管理类( );3.外语类( );4.艺术类( )。题目类别1.毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( ) 主要内容脑机接口(BCI)是在人脑与计算机或其它电子设备之间建立的直接的交流和控制通道,通过这种通道,人就可以直接通过脑来表达想法或操纵设备,而不需要语言或动作,这可以有效增强身体严重残疾的患者与外界交流或控制外部环境的能力,以提高患者的生活质量。设计一台基于Gtec的8通道脑电图EEG脑机接口的智能轮椅原型机,涉及智能轮椅的单片机设计,上位机和单片机的通信,上位机和gtec脑机接口的通信,等等。基本要求1. 设计并实现基于单片机的智能轮椅原型机2. 实现智能轮椅和计算机的无线通信3. gtec脑机接口的操作4. 最终实现gtec脑机接口对智能轮椅的控制参考资料1. gtec脑机接口说明书2. 单片机设计3. 无线通信方式如RF,蓝牙技术等4. 魏庆国,基于运动想象的脑机接口分类算法的研究,清华大学,博士论文周 次14周58周912周1316周1718周应完成的内容查阅文献资料、了解和掌握基本知识设计系统编程实现完善系统完成论文摘要脑机接口(BCI Brain-Computer Interface)系统包含三大模块,脑电信号采集,信号处理以及设备控制,其中脑电信号的采集作为系统的第一步,对后续的影响是非常大的。设备控制作为脑机接口(BCI)技术的最终目的,在BCI系统中扮演着很重要的角色。本文在查阅大量国内外文献的基础上,吸收现有的BCI技术,制作出完整的基于脑机接口技术的智能轮椅的原型机,主要工作如下:充分阅读国内外文献,了解BCI系统的实现模式,同时紧密跟随国际上BCI软件发展,了解软件功能;研究开源软件BCI2000,结合g.tec公司的脑电信号放大器g.MOBllab+(8通道的EEG版本)建立脑电信号的采集环境,获取EEG信号;建立信号处理系统,对脑电信号进行处理;制作模拟轮椅系统;实现BCI系统各个模块之间的联调。关键词脑机接口;轮椅;无线传输;通信 I 燕山大学本科生毕业设计(论文)AbstractBrain-Computer Interface system is consist of three modules,which are EEG acquisition,signal processing and equipment control.Among the three modules,EEG aquipment,as the first step of the system,has a great effect on other modules.To control equipments is the final purpose of BCI system,and it plays avery important role.I have read many relative documents and make a reference to nowadays technology to write this paper,and a wheelchair based on BCI technology will be shown by the text.The main work of the paper is as the following:reading as many documents as enogh to study nowadays BCI system,at the same time, following the step closely of the BCI software,studying the fuction of the software;to study BCI2000,an open source software,and establishing the module of data acquisition with the EEG amplifier g.MOBllab+,which has eight channels, produced by g.tec;to set up signal preocessing system to process the EEG signal;to manufacture the model of wheelchair;to implement uniting and adjustment of every module of BCI system.Keywords Brain-computer Interface; wheelchair; wireless transmission; communicationI 目 录摘要IAbstractII第1章 绪论11.1 课题背景及意义11.2 本文主要工作及结构安排5第2章 系统整体设计方案62.1 系统方案62.2 硬件的选型72.3 本章小结7第3章 系统硬件设计83.1 数据获取83.2 数据处理与控制输出103.3 模拟轮椅123.4 本章小结14第4章 系统软件设计154.1 Borland C+ Builder简介154.2 BCI2000164.2.1BCI2000简介164.2.2BCI2000源代码结构184.3 g.MOBIlab+获取脑电信号的软件设计194.4 数据处理以及控制命令输出的软件设计204.4.1 上位机部分204.4.2 下位机部分214.5 模拟轮椅的软件设计254.5.1 命令的无线接收254.5.2 模拟轮椅的控制274.6 本章小结27第5章 系统测试295.1 系统参数的设定295.2 系统测试方案以及结果分析295.3 本章小结30结论31参考文献32致谢34附录135附录241附录345附录44967本科生毕业设计(论文)第1章 绪论1.1 课题背景及意义智能轮椅是将智能机器人技术应用于电动轮椅,融合多种领域的研究,包括机器人导航和定位、模式识别、多传感器融合及人-机接口等,涉及机械、控制、传感器、人工智能、通讯等技术,也称智能轮椅式移动机器人。它对于行走能力弱的人来说是极大的进步,在无需别人照顾的条件下可以自由出入需要的空间,解决了普通轮椅移动要大空间的难题。同时如果在轮椅上设计出更多健康增进功能实现人工智能化这种轮椅将有更广阔的前景1。研制智能轮椅不能简单照搬传统机器人的设计方法和理论,必须真正做到以“人”为中心,重点研究智能人机交互问题。与工业机器人不同,智能轮椅不是执行特定生产任务的电动机械,它的所有服务行为必须通过与人的交互来实现,“人机感知接口”使轮椅能看、能听,能融合多种通道的信息实现对外界环境的认知;也使人能以更方便自然的方式如面部姿态、表情、手势和语音等与轮椅智能交互,将自身的知识和感受传达给轮椅。勿庸置疑,人机交互问题如果解决不好,将会成为制约智能轮椅发展的瓶颈。大脑是人身体中的高级神经活动中枢,控制着人体这个复杂而精密的系统,对人脑高级功能及其神经机制进行多学科,多层次的综合研究已经成为当代脑科学发展的热点方向之一。人的感知、思维、语言以及运动能力,均是通过大脑对人体器官和相应的肌肉群的有效控制来实现。现实生活中有不少运动功能缺失的残障人士,其中的全身瘫痪者,虽有完整的意识,但已丧失了通过语言或肢体与外界沟通的能力。脑机接口研究旨在帮助这些残障人士。自七十年代起,研究人员就尝试构建通过脑波与外界交流的系统。随着电子和信息技术的发展,脑机接口研究在近十年取得了长足的进步。目前,脑机接口的应用已由医疗康复领域迅速延展到社会生活的诸多方面。鉴于脑电信号的复杂性,目前所展示的脑机接口系统均远未成熟,但人们从来就没有放弃利用大脑直接控制外部设备(如轮椅)。第一次BCI国际会议给出的BCI定义是:“脑-计算机接口(Brain-Computer Interface)”是一种不依赖于正常的由外围神经和肌肉组成的输出通路的通讯系统2。BCI是一种连接大脑和外部设备的实时通信系统,它可以把大脑发出的信息直接转换成能够驱动外部设备的命令,并代替人的肢体或语言器官实现人与外界的交流以及对外部环境的控制。换言之,BCI系统可以代替正常外围神经和肌肉组织,实现人与计算机之间或人与外部环境之间的通信。脑电是通过电极在头皮或颅内记录下来的脑细胞群的节律性电活动,是Berger在1929年发现的3。自发现以来,脑电的主要应用有:(1)脑功能研究;(2)疾病诊断;(3)生物反馈治疗;(4)推断人的想法或目的,从而构造脑机接口。脑机接口是脑电的第四种应用4。脑机接口的出现,使得用人脑信号直接控制外部设备的想法成为可能。基于脑机接口原理设计的装置有望帮助神经肌肉系统瘫痪的病人实现与外界的交流(例如环境控制、轮椅控制、操作计算机等)。BCI的出现,使得用人脑信号直接控制外部设备的想法成为可能。要想实现脑一机接口,必须有一种能够可靠反映人脑不同状态的信号,并且这种信号能够实时(或短时)被提取和分类。目前可用于BCI的人脑信号的观测方法和工具有:脑电图(EEG)、脑磁图(MEG)和功能核磁共振成像(fMRI) 5等。由于采集EEG相对简便等原因,因此大多数的BCI研究机构采用的是脑电信号。人体在接受外界刺激或在自主行为及意识的控制下,所产生的神经电活动信号表现出不同的时空变化模式,将测量到的这些大脑神经系统的电活动信号传送给计算机或相关装置,再经过有效的信号处理与模式识别后,计算机就能识别出使用者的状态,并完成所希望的控制行为。各个机构的研究思路和方法各不相同,从信号采集的电极位置来看,是入侵式和非入侵时两种。入侵式是将电极置于颅内,直接从大脑皮层上提取皮层脑电(EcoG)。这种方法空间分辨率高、位置稳定性好、特异性强、信噪比高、后期处理简单,但是技术困难、有创伤,而且电极植入后还会出现心里和伦理问题,因此不适合广泛的临床应用。非入侵式是将电极置于头皮上来提取脑电,它具有无创性和灵活性,是目前研究的热点。从采集的脑电信号的类型上可分为自发脑电和诱发脑电两种。自发脑电是脑细胞的自发性电活动,是人体在自然状态下就可以记录到的。脑机接口中使用的自发脑电包括 节律、 节律、准备电位、皮层慢电位和ERDERS (eventrelated desynchronizationevent related synchronization,事件相关去同步事件相关同步)法等。诱发脑电是指神经系统接受内、外界刺激所产生的特定电活动。诱发电位有其空间、时间和相位特征,即必须在特定的部位才能检测出来,有特定的波形和电位分布,与刺激有较严格的锁时关系。脑机接口中主要使用P300 法和视觉诱发电位(VisualEvoked Potential,VEP)。根据刺激信号频率的不同,VEP 又可以分为瞬态诱发电位和稳态诱发电位(Steady State VEP,SSVEP)。瞬态诱发电位的刺激频率一般不超过2Hz,在新的刺激到来前,上一次刺激的响应已经结束。如果刺激的频率大于每秒6 次,各次刺激引起的VEP 在时间上发生重叠,就形成了SSVEP。SSVEP 经专门的信号处理可以提取出稳健的信号特征,适合作为脑机接口的输入信号。信号处理和模式识别方法涉及如何从EEG中提取出少量的有用的信息并分类。BCI转换算法把信号特征(如节律幅值或神经元放电率)转换为具体的控制命令。分别利用这些信息进行不同脑状态的区分,常用的特征提取算法如:FFT(Fast Fourier Transform Algorithm)、自相关AR(Autoregression)、参数估计、CSP(Common Spatial Patterns) 、Butterworth低通滤波、遗传算法(Genetic Algohthm,GA)、WELCH周期图。算法的选择与所利用的信号特征及电极位置有关。信号处理的目标是最终从信号中识别使用者的意图并执行,系统的首要任务就是最大化。信噪比,尤其当噪声和信号极为相似时就显得更为重要提高信噪比的技术有很多。具体有空间及时间滤波方法、信号平均、以及单次识别方法。特征信号分类是基于脑电信号根据不同的运动或意识能使脑电活动产生不同响应的特性,确定运动或意识的类型与特征信号之间的关系。信号分类结果的好坏取决于两个方面的因素:一是要进行分类的特征信号是否具有明显的特征,即特征信号的性质;二是分类方法是否有效。几种具有代表性的BCI特征信号分类综述如下:人工神经网络、贝叶斯分类器、线性分类器、支持向量机等。在完成了脑电信号的获取、特征识别和分类之后,即可根据这种体现人的意念的特征向量,按照人的意图通过计算机实现对外部环境的控制。随着神经生物学、临床医学、材料科学和计算机科学的发展,脑机接口技术诶神经系统和周围环境的信息通信提供了一个崭新的交互界面,并广泛应用于神经科学,医学康复和军事等领域。BCI应用的最初定位的是医疗康复,通过BCI系统给高度瘫痪或者行动不便的病人提供一个新的交流、控制手段。病人可以通过BCI系统在计算机上进行打字或者控制轮椅行动,甚至控制假肢帮助移动和抓取在过去10年里,BCI技术的研究发展十分迅速,1995年全世界只有约6个研究小组专门从事BC的研究,1999年则超过了20个,到2 002年则有近40个6,他们在BCI的基础研究和应用研究都取得了丰硕的成果。并且先后于1999年6月、2002年6月和2006年在美 国召开了三次有关BCI的国际学术会议7。又先后在2001、2003、2005、2008组织了四次BCI的信号处理和模式识别竞赛活动。国外研究者主要来自美国WadsWorth中心、德国Tubingen大学、奥地利Graz理工大学、意大利等,国内研究机构目前有报导的有清华大学、重庆大学、上海交通大学、华中科技大学、中南民族大学、电子科技大学,其中清华大学研究最为深入。BCI的研究涉及多个学科:神经科学、生物医学、计算机科学、康复医学等。作为年轻的研究领域,大量复杂的问题有待于解决。将BCI用于实际还面临很多挑战,主要可归纳为以下4类。(1)信息传输率(带宽):即使是有经验的测试者操作最快的BCI系统,目前的最大传输率也才50bits/min,相当于每分钟6个字符,这对正常的对话与交流仍然太慢。(2)高误差率:这是影响信息传输率的重要因素。(3)自动化程度:理论上,对运动功能严重失常的病人,BCI系统应该由他完全控制。然而事实上现有的BCI系统都需要照顾者的参与,如系统的安装、启动、初始化、关闭等,即使可以由病人自己关闭,但重新启动存在困难。(4)环境适应性:大多数BCI系统还只是在安静的实验室环境中进行测试,实际应用可能面临更复杂的环境,包括任务本身的认识程度、情绪反应、注意力、安全因素等。要使BCI系统真正实用,除了解决以上问题外,还必须在以下各方面开展更深入的研究:(1)BCI系统的临床测试研究。(2)BCI的训练。为了提高BCI的实用性,必须考虑用户的接受程度与训练方法,减少电极的数量,缩短训练时间。(3)信号处理及分类算法。提高BCI的信息传输率,减少分类误差,在很大程度上取决于信号处理与分类算法。(4)BCI系统应该轻便、兼容性好,以便在医院或家里能方便地使用;系统的使用与操作应尽量简单,电极易放置;BCI设备的价格应适中。(5)国内对BCI的研究还处于起步探索阶段,适合中国国情的BCI系统尚有许多工作要开展。以拼写汉字进行交流为例,由于汉字拼写比英语更复杂,因此要帮助病人实现正常的交流,难度将更大。1.2 本文主要工作及结构安排本论文的选题在脑机接口日益成为研究热门的情况下,主要研究基于BCI的智能轮椅原型机,内容包含如何获取脑电信号,脑电信号的处理方法的选取,控制命令的输出以及轮椅原型机的控制。本文分别从硬件和软件两个方面上对BCI的各个模块进行介绍。以下是本文的内容安排:第1章总述了脑-机接的口研究背景,分析了目前国内外脑-机接口的研究状况,提出了当前脑-机接口状况存在的主要问题。第2章主要介绍系统的整体设计方案,并从数据获取、数据处理、控制输出以及设备控制几个方面介绍了硬件的选型。第3章和第4章主分别从硬件和软件方面介绍了各个模块。控制命令的输出通过计算机串口传输至无线发射模块nRF905,再通过无线方式传输至模拟轮椅。第5章着重点介绍系统的测试以及参数的确定。燕山大学本科生毕业设计(论文)第2章 系统整体设计方案2.1 系统方案总的来说,BCI的结构可以分为:数据采集,数据处理,控制输出以及设备控制几个部分,如图2-1所示。图2-1 BCI系统示意图数据采集可分为入侵式和非入侵式。入侵式的数据采集是将电极置于颅内,直接从大脑皮层上提取皮层脑电(ECoG)。这种方法空间分辨率高、位置稳定性好、特异性强、信噪比高、后期处理简单,但是技术困难、有创伤,而且电极植入后还会出现心里和伦理问题,因此不适合广泛的临床应用。一次本文所用的采集方式微非入侵式的,通过分立的电极来获取。数据处理可分为预处理,特征提取,特征分类。其中与处理包括信号的放大、对EEG信号的初步滤波以及A/D转换;特征提取阶段是从经过了预处理和数字化处理的EEG信号中提取出特定的特征,可以利用FFT或者是小波变换等方法,降低特征的维数,使各个特征之间具有很小的相关性;特征提取得到的信号交给分类器进行分类,不同的BCI的分类不同,通常分为25类;分类器的输出通过控制接口作为设备控制器的输入。控制接口用来输出控制命令,本文的命令输出方式主要采用RS232接口。为了设备控制的方便以及节省经费,本文所做的轮椅用履带小车来模拟。控制命令的传输采用无线形式传输至履带想小车。履带小车采用电池供电,将控制命令执行为实际的动作。2.2 硬件的选型一般情况下生物电信号都是非常微弱的,正常的脑电信号的幅度只有微伏级,因此放大器需要有非常大的放大倍数。因此我们选取了奥地利g.tec公司生产的g.MOBIlab+脑电信号放大器。脑电信号的采集所用的电极接触电阻应该在20k一下,而且越小越好因此我们采用了金质电极。本文选取笔记本电脑进行脑电信号处理,来减少工频干扰。控制命令采用nRF905进行无线传输。履带小车采用德国生产的RP5底盘为基础,采用STC52RC单片机和两片L9110进行控制。2.3 本章小结本章简略的从数据采集、数据处理、控制输出以及设备的控制几个方面介绍了整个系统的研究方案,并从这几个方面对主要硬件进行选型。燕山大学本科生毕业设计(论文)第3章 系统硬件设计3.1 数据获取BCI系统中常用EEG信号作为源信号,EEG信号啊是由大量神经细胞放电活动中突触后的电位引起的细胞外电场电位的总和。头皮脑电信号的频率范围是0.1100Hz,正常承认的脑电信号的主要成分频率为830Hz。脑电信号是大脑半球的生物电活动,是大脑皮层椎体细胞以及其顶树突突触后电位同步综合波,并由丘脑中线部位非特异性核团起调节作用。大脑皮层的生物电活动有两种类型:一种是在无明显的外界刺激的情况下,大脑皮层经常具有持续的、节律性的电位变化,称为自发脑电活动;另一种是在感觉传入的情况下,大脑皮层的某一区域产生较为局限的电位变化,称为诱发电位。自发脑电与诱发脑电的区别在于:(1)诱发电位具有相对稳定的潜伏期,而神经系统无时不在产生自发电位;(2)在同一感觉系统中,诱发电位的反映形式相同或相似,而自发电位则不固定;(3)诱发电位在脑内的某一部位有一定的空间分布,而自发脑电可在脑的任何部位记录到。从EEG的产生看它应该是大脑活动的一种直接表示,在不同条件下,它的波形频率的快慢会有显著的差别。正常人的EEG波形是很不规则的,其频率范围主要在130Hz,人们习惯上将这个频率范围分为四个波段,分别为:节律:813Hz;节律:1430Hz;节律:0.53.5Hz ;节律:47Hz。下面我们对各个类型的EEG信号进行简要介绍。节律振幅为20100uV,是正常人脑电信号的基本节律。如果没有外部刺激影响,它是非常稳定的。头部的任何位置都可以产生波,但是在枕区以及顶区后部最为明显。波在安静闭目时出现,在睁眼或者接受其他刺激时消失,当受试者再次闭眼时,波又会出现。波振幅为520uV,安静闭目时只在额区出现,睁眼或者突然受到声音刺激或者进行思考时,在其他区域也会出现。波振幅为20200uV,一般情况下,成人只在深睡的情况下才能产生。波振幅为100150uV,和波类似,在清醒的正常成人身上一般观察不到波。当人们感觉到有睡意或者早期睡眠状态时,波才可能会出现。同时,不管我们采用哪种波形,由于EEG信号幅度很小,会受到各种各样的干扰,包括工频干扰,眨眼电位的干扰,眼动电位的干扰以及肌电干扰,图3-1是我们采集的一段EEG信号。信号经过陷波已经把50Hz工频干扰滤掉了。图3-1 实际采集的脑电信号,带有明显的眨眼干扰上图中的一个明显峰值是一个眨眼干扰,同时EEG信号中还会存在其他肌电干扰,比如咬牙,如图3-2高频部分所示。图3-2 实际采集的脑电信号,高频部分为明显的咬牙干扰通过图3-1和图3-2我们可以看到,不管是咬牙还是眨眼都会产生非常明显的干扰,而咬牙又是可控的,因此我们可以将其作为一种特征来提取呢,并利用这个特征来控制设备。经过以上对脑电信号的简单介绍,我们可以看到脑电信信号的幅度很小,因此放大器需要用专门的生物电信号放大器。本文所采用的脑电信号放大器是奥地利g.tec公司生产的g.MOBIlab+脑电信号放大器。g.MOBIlab+有8个信号输入通道,另外还有一个参考通道,一个接地通道,采用四节5号电池供电。其通带为0.5100 Hz 。该放大器每个通道拥有一个16位的ADC,每个通道的最高采样率为256Hz。采集的数据通过RS232串行接口以蓝牙形式进行传至笔记本电脑,作为下一步数据处理的输入。3.2 数据处理与控制输出我们数据处理的核心是联想公司旭日C467m笔记本电脑,CPU为intel T2330,内存2G, 能够满足数据处理的要求。数据处理将脑电信号的模式特征翻译成控制命令。控制输出通过计算机串口输出至无线发射模块,再经过无线发射模块传给模拟轮椅。图3-3为控制输出系统硬件框图。STC52RC模块MAX232模块计算机nRF905模块图3-3 控制发送系统硬件框图由于STC52RC的输入、输出电平是TTL 电平, 而PC 机配置的是RS- 232 标准串行接口, 两者的电气规范不一致, 因此要完成单片机与PC 机的数据通信, 必须对单片机输出的TTL电平进行电平转换。美信生产的MAX232即可完成这一转换。MAX232具有功耗低、工作单电源(5V)供电,外围电路较少的优点,而且有DIP封装的系列,使用比较方便。下位机的核心控制模块是STC52RC单片机。STC52RC是与其他8051系列单片机兼容的以款国产单片机,与Atmel的产品相比价格相对便宜,而且计数参数要求相对宽松,有较大的电压幅度范围,对电压抖动具有较强的适应性。其工作温度范围为-4085。为了方便的计算机波率,本系统所选取的晶振为11.0592M,通信波特率为9600B。计算机通过串行接口将控制命令发送给单片机,单片机进一步将命令通过nRF905以无线方式发送出去。 单片机系统板原理图如图3-4所示。图3-4 单片机最小系统板 系统板的复位设计采用了上电复位形式,这样的设计在系统上电后通过电容可以直接复位,而免去了手动按键复位。为了减少电路板对无线射频部分的通信干扰,本系统中所用的nRF905将构成一个最小系统作为一个功能模块,直接以功能模块的形式引出与单片机的接口。这样既敬爱年少了电路板对无线通信的干扰,又方便了无线模块的更换。nRF905芯片内部集成了电源管理、晶振、低噪放大器、频率合成器、功放等模块,可以自动完成处理字头和CRC(循环冗余码校验)的工作,片内硬件自动完成曼彻斯特编码/解码。本系统所选取的以NRF905为核心的无线通信模块采用的频率为433MHz,最大数据传输率(曼彻斯特编码)为100kbps,工作温度范围为-4085,调制方式为GFSK。单片机将数据以SPI协议写入nRF905后,nRF905自动将数据加前导打包发送。nRF905模块与STC52RC连接如表3-1。表3-1 nRF905与STC52RC的连接单片机管脚nRF905管脚功能描述方向P1_1MOSISPI输入IP1_2CD载波检测OP1_3PWRPOWER DOWN模式IP1_4TXEN1:发射模式,0:接收模式IP1_5SCKSPI时钟IP1_6MISOSPI输出OP1_7AM地址匹配输出OP1_0CSNSPI使能,低电平有效IP3_2TXRX_CE使能发射/接收IP3_3DR数据准备就绪输出OnRF905的工作电压为1.93.6V,STC52RC单片机工作的典型电压为5V,由于51系列单片机的I/O口的输出电流比较小(灌电流最大值为10mA),故数据引脚可以不作任何处理直接连接。但是nRF905的供电电压必须保证不能超过 3.6V,否则将烧毁。本系统的设计采用了ASM1117的电源芯片。nRF905的电源电路图如图3-5图3-5 nRF905电源设计3.3 模拟轮椅在本次设计中,我们用RP5履带小车来模拟轮椅。RP5小车为双电机驱动,每一个电机通过四级减速齿轮组输出,减速比例为30:1。具有很大扭力,可以负重7.5kg而轻松自如的转弯,爬坡能力大于30。单个电机工作电流为160180mA(空载),堵转电流最大可达1000mA。单片机最小系统板以及nRF905接口电路与设备控制命令输出一致,在这里我们不再详细介绍,我们主要介绍一下小车的控制。由于电机为感性负载,具有很大的启动电流以及相对较高的工作电流。如果直接与单片机相连的话会对其他部分造成非常大的干扰,使之不能正常工作,电机的反向电流甚至会烧毁其他的模块。因此在控制感性负载的时必须加以隔离,隔离可以通过很多方式实现,有光电隔离,甚至通过三极管和二极管电路即可实现。本系统采用了专用的H桥芯片L9110。图3-6 L9110引脚图L9110是为控制和驱动电机设计的两通道推挽式功率放大集成电路器件,将分立电路集成在单片IC之中,是外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平输入,具有良好的抗干扰性;两个输出端能够直接驱动电机的正反转,具有较大的电流驱动能力,每个通道能通过800mA的持续电流,峰值电流可达1500mA;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110 被广泛应用于玩具汽车电机驱动、脉冲电磁阀门驱动,步进电机驱动和开关功率管等电路上。其控制逻辑如表3-2。表3-2 L9110控制逻辑IAIBOAOB00低低01低高10高低11低低由于履带小车驱动电流较大,需要较大的供电电压,因此本系统采用双电源供电。单片机系统板和电机的电源是相互独立的,因此也减少小了相互干扰的机会。对于L9110的两个输入引脚IA和IB,在与单片机连接时需要接入两个10K放入上拉电阻。这是因为L9110为高电平驱动,51系列单片机的输出电流非常小,若不加上拉电阻的话单片机在输出高电平时,将被拉低,导致L9110的输出逻辑错误。另外本系统的L9110采用912V供电,故其与单片机的供电系统应该分开,二者的参考地必须连接在一起,否则将无法控制。其连接图如图3-8.图3-7 L9110连接图3.4 本章小结本章从数据获取,数据处理、控制输出以及设备控制几个方面详细介绍了硬件的设计方法以及设计过程。数据获取选用分立的金质电极以及gMOBlIab+放大器,数据分析采用笔记本电脑进行分析,控制命令通过将数据串行口将数据发送至无线发送模块,再以无线方式送至模拟轮椅。燕山大学本科生毕业设计(论文)第4章 系统软件设计4.1 Borland C+ Builder简介 本文所介绍的所有上位机程序均利用Borland C+Builder 6.0编写,BCI2000也是应用Borland C+Builder编写的。C+ Builder是由Borland公司 继Delphi之后又推出的一款高性能可视化集成开发工具8。C+ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C+ Builder内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;C+ Builder具有一个专业C+开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,CPU透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(C+)的完美结合C+ Builder优化的32位原码(Native Code)编译器建立在Borland公司久经考验的编译技术基础之上,提供了高度安全性、可靠性、快速性的编译优化方法,完全编译出原始机器码而非中间码,软件执行速度大大提高。在编译和连接过程中,C+ Builder自动忽略未被修改的原代码和没有使用的函数,从而大大提高了编译和连接速度。C+ Builder的CPU透视工具包括五个独立的小面板9,可以对正在运行程序从内部进行深层次的了解。另外C+ Builder还提供了一个专业开发环境所必需的命令行工具,以帮助建立C+程序或者准备编译和连接的程序进行更精细的控制。C+ Builder可以编译所有符合ANSI/ISO标准的原代码,支持最新ANSI C+/C语言特征:模板(Templates)、例外(Exceptions)、运行类型信息(Runtime Type Information)、Namespaces等,另外它还可以使用标准C+库且支持标准模板库(STL),以前的所有C+/C原代码可以不经过修改,直接移植到C+ Builder环境下来。C+ Builder完全支持32位长文件名、多线程程序设计,且允许程序员直接调用任何Win95和NT API函数。C+ Builder的集成开发环境(IDE)提供了可视化窗体设计器、对象观察器、控件板、工程管理器、集成编辑器和调试器等一系列可视化快速应用程序开发(RAD)工具,让程序员可以很轻松地建立和管理自己的程序和资源。4.2 BCI2000 4.2.1 BCI2000简介数据获取是以BCI2000为基础的。BCI2000是基于模块的10 11 。包括四个基本模块,他们之间是可以通信的的,其中数据源模块就是脑电采集模块,此外还有脑电信号处理模块,用户应用模块和操作协议模块。这些模块之间的通信都是基于TCP/IP协议实现的。因此每个模块都可以用任何计算机语言实现,他们之间相互独立,并可以运行在任何基于网络的计算机上。数据源模块数据源模块完成脑电信号数字化并存储,之后完成数据传输的功能。其中不进行任何预先设定的信号处理动作。它由信号采集组建和数据存储组建完成。存储时关系到采样频率等系统参数,数据储存组件记录采集来的脑电数据的相关信息,比如信号通道数即采集电极数量、每个通道的名称、数据采样频率和每个记录的通道样本数等,接着是二进制的采集样本数据以及事件标志值。并将这些信息存储在文件中,标准的文件格式应该设计成可以适应于任何通道数量、系统参数和事件标志的。脑电信号处理模块脑电信号处理模块是将采集来的脑电信号转化成为可用于控制外部设备的控制信号。这种转化主要有两个阶段:特征提取和特征转换。在第一个阶段,在来自数据源的数字化脑电信号中提取出脑电特征。在第二阶段,转换算法解释这些特征数据并转换为用户可使用的控制信号,并且这些控制信号也将传入用户应用程序模块。这两个信号处理过程都包括一系列的信号处理操作,单个的信号处理操作包括空域滤波、时域滤波、线性分类器等。每个操作都只是将输入信号转化为相应的输出信号,它们自己之间保持独立性。因此,它们能结合或者是交互使用,而不会影响其它操作。用户应用程序模块用户应用程序模块接受来自脑电信号处理模块的控制信号,使用这个信号驱动应用程序。在已有的BCI系统中,用户的应用程序通常是在计算机屏幕上有可视的界面,包含目标选择、字母和图标12。用户的反馈提示可以是听觉或是触觉上的。选择性提示往往是以多种方式实现的,有些BCI系统会有一些暂时的输出,比如在实际选择之前光标会向某方向移动。应用程序功能多种多样,比如用于词首增添字母或控制外设14。操作模块操作模块是其它模块的主控制地,它定义系统参数(包括在用户应用程序中的一次训练长度,特殊的信号处理变量,脑电信号采样频率,脑电数据储存格式以及执行什么样应用程序模块等),以及开/关/重设操作等。操作模块也叫主控制模块,用来控制系统的系统变量包括系统相关参数、事件标志和数据信号。系统参数是指在整个数据文件中都不改变的一些变量。相反,事件标志记录在实验操作期间的事件,它能在下个数据样本采样到来以前改变。在数据文件中储存的事件标志,代表着操作期间的事件发生的时间点以及事件类型和持续时间,所以通过此事件标志记录,可以在离线分析时重构完整的实验情况并提供全面的数据分析。每一个模块都可存取这些事件标志,也可以更改或者简单地跟踪它们。而这些模块的行为都受到操作模块的控制和限制。数据信号是用于产生输出控制量的真正数据,它被模块接受和更改。它的传递方向和如何传递都是由操作模块决定的。每个模块都可以要求操作模块产生任何数量的变量参数和一定数量的系统参数或事件标志(如每个 16 比特),例如,数据源模块要求定义采样频率,这个参数在系统操作过程中不再改变,除非实验重新开始。类似地,脑电信号处理模块要求事件标志,用它来标记感兴趣的脑电数据片段和一些在脑电信号中的伪迹等。但是操作模块并不能具体指定所有的系统参数是怎么样定义的,有些必须根据相关知识提前制定。另外,操作模块也可以显示任何接受自其它模块的数据信息而不用事前了解这些数据信息的本来面目。总的来说,操作模块就是控制其它模块或组件的数据流和控制流,它构架了整个软件系统。如果开发出标准的操作模块,那么它将大大提高 BCI 系统软件的扩展能力,研究人员可以用此来组合多种其它模块,以使软件适应不同的场合。4.2.2 BCI2000源代码结构将BCI2000的完整代码下载下来之后,包含7个文件夹。“batch”目录下是在线系统分析的启动脚本,采用windows下的命令行模式。“data”目录为在线数据输出目录。“doc”目录下为一下基本的信息以及一些帮助的网页,这些网页链接着BCI2000的官方地址。“parms”目录下为BCI2000软件在进行在线分析处理过程中的系统参数文件。“prog”目录下是源代码编译后的应用程序输出,所有经过编译所生成的在线应用程序都会默认的在这个文件夹生成。“tools”文件夹下是一些离线分析用的工具,与“prog”目录相似,只不过这个目录下生成的程序都是离线分析工具,比如脑电波形图查看等。“src”目录下即为BCI2000的源代码。“src”目录里是BCI2000源代码中最核心的内容,下面我们对其目录下的各个部分进行介绍。“src/buildutils”里面有许多有用的小程序用来进行代码维护。“src/buildutils/tests”里面有在程序创建阶段所需要用的脚本以及数据,用来做测试用。“src/contrib”中为各个不同的研究单位所发布的与BCI2000其他模块相互兼容的解决方案的源代码。“src/core” 中的内容是BCI2000核心内容的源代码和工程文件,在这个目录下,分别又包含着“Operator module”、“core modules”以及 “tools” 子目录。“src/shared”目录下有许多模块都要用到的文件。在“Core”和“Contrib”目录下只包含工程文件以及一些只有这些工程才能用到的源代码。整个BCI2000软件所需要的源代码被安排在了这个目录下。在“shared”目录中,源代码又分成了几个不同的目录。下面对其进行一一介绍。“accessors”里面是一些与环境变量相关的代码。“bcistream”包含bcierr、bciout、bcidbg输出流以及错误处理的源代码。“config”包含组成头文件的配置和版本信息。“fileio”包含处理数据输入输出格式的源代码。“gui”提供了一个用来绘图的接口,是一个非常基础的平台。“modules”其所包含的代码与“core modules”相似,其中的每一个功能模块都组成一个子目录,包括信号处理、数据源模块、应用程序模块。大部分BCI2000滤波器都在这些子目录下。“obj”里面为预编译的头文件,在编译生成程序过程中调用。“types”包含BCI2000特有的数据类型,比如信号、参数、状态等等,这些数据通过BCI2000 messages 发送。“utils”为其他的一些有用的类以及函数。“src/extlib”,和“shared”目录不同,这个目录包括一些类库或者和类库的接口,因为BCI2000会用到一些类库,而这些类库并不是BCI2000的小组所开发的,涉及到了一些知识产权以及商业利益的问题,例如早期的BCI2000 支持gMOBIlab+放大器,但是该放大器的API并不是公开的,其产权属于g.tec公司,是在市场上按照商业方式出售的,因此BCI2000对其进行调用时会进行程序的加密。4.3 g.MOBIlab+获取脑电信号的软件设计 经过前面的介绍,我们知道有些设备的API厂家是不公开的,而要对其进行开发必须要用到其API。我们所用的脑电信号放大器g.MOBIlab+的读取数据的 API市场报价需要几千个欧元。由于节约经费,我们从BCI2000的数据源模块入手。早期的BCI2000版本是可以完整的支持g.MOBIlab+放大器的。但读取的的脑电数据是经过加密的,我们比需通过特定的软件才能读取其波形,而且无法进行操作,更无法进行后期处理。通过对BCI2000的源代码的详细研究,我们得到了读取数据的API。并将其应用的我们自己的程序中去,数据读取的输出作为数据处理部分的输入,进行进一步处理。同时,我们对采集的脑电信号进行存储,以便进行离线分析,确定系统各个参数等。数据默认存储在将数据的D盘根目录下,以TXT格式存储,每个通道单独存储成一个文件,文件之间是相互独立的,互不影响。4.4 数据处理以及控制命令输出的软件设计4.4.1 上位机部分不论数据获取还是数据的处理,我们所用到的上位机程序都是通过Borland C+ Builder 6.0编写的。数据读进来后我们首先进行一下降低采样,平滑一下。我们所用的数据块大小(存储深度)为64Byte。首先对采样率为256Hz的原始数据进行存储。存储后进行低采样,同时进行一下简单滤波。低采样所用的参数可以是164中的任意值,但最好是能被64整除,否则会造成数据块的丢失。数据处理中我们必须通过训练进行阈值设定,当检测到的信号超过阈值时,程序输出一个开关量,该开关量结合屏幕提示组成一个控制字通过串口进行输出。控制字的输出是由信号处理输出的开关量和屏幕提示程序所给的提示共同组成的,屏幕提示界面如图4-1所示。图4-1 屏幕提示程序界面当程序开始运行后前/后/左/右/停止将轮流闪烁,闪烁频率是可以任意设定的,通过参数“获取延时”设定,单位为毫秒。控制字通过串口发送。只有当KEY=1时串口才能打开。串口的发送程序是通过Microsoft Communications Control 控件编写的。Microsoft公司在WINDOWS中提供了一个串口通讯控件13,用它,我们可以很简单的利用串口进行通讯。Borland C+ Builder6.0在使用它之前,要首先安装改控件。安装完成后将控件加在应用程序的对话框上,就可以使用它了。该控件有很多属性需要设置,下面我们来简单介绍一下。SetCommPort:指定使用的串口。GetCommPort:得到当前使用的串口。SetSettings:指定串口的参数。一般设为默认参数9600,N,8,1。这样方便与其他串口进行通讯。GetSettings:取得串口参数。SetPortOpen:打开或关闭串口,当一个程序打开串口时,另外的程序将无法使用该串口。GetPortOpen:取得串口状态。GetInBufferCount:输入缓冲区中接受到的字符数。SetInPutLen:一次读取输入缓冲区的字符数。设置为0时,程序将读取缓冲区的全部字符。GetInPut:读取输入缓冲区。GetOutBufferCount:输出缓冲区中待发送的字符数。SetOutPut:写入输出缓冲区。这些属性都是可以通过程序来设定的。串口号可通过下拉菜单设定,采用固定波特率9600B向外发送数据。图4-2为发送左拐的控制字,其他控制字发送的流程基本相同。4.4.2 下位机部分控制字通过串口发送给STC52RC单片机,STC52RC与常用的8051系列单片机是兼容的。8051单片机内部有一个功能强大的全双工的异步串行口。要发送的数据是以帧形式一帧一帧地发送。通过传输线由接收数据设备打开串口KEY=1?N“左”高亮cmmd=L发送命令Y图4-2“左拐”命令发送流程一帧帧的接收15。控制8051单片机穿行接口的控制寄存器共有两个:特殊功能寄存器SCON和PCON。其格式如表4-1。表4-1 8051串行口两个特殊功能寄存器D7D6D5D4D3D2D1D0SCONSM0SM1SM2RENTB8RB8TIRIPCONSMOD下面对51系列单片机串行接口特殊功能寄存器进行详细介绍。SM0、SM1 串行口四种工作方式的选择位,如表4-2SM2 多机通信控制位因为多机通信是在方式2和方式3下进行的,因此SM2位主要用于方式2或者方式3中。当串行口以方式2或者方式3接收时,如果SM2=1,则只有当接收到第9位数据(RB8)时,才将接收到的8位数据送入SBUF,并置“1”RI,产生中断请求;当将诶受到的第9位数据(RB8)为“0”时,串表4-2 串行口的四种工作方式SM0SM1方式功能说明000同步一位寄存器方式(用于扩展I/O口)0118位异步收发,波特率可变(由定时器控制)1029位异步收发,波特率位fosc/64或者fosc/321139位异步收发,波特率可变(由定时器控制)行口则将接收到的8位数据丢弃。而当SM2=0时,则不论第9为数据是“1”还是“0”都将前8位数据送入SBUF中,并置“1”RI,产生终端请求。在方式1时入伏哦SM2=1,则智有受到有效的停止位时才激活RI,在方式0时,SM2必须为0。REN 允许串行接收有软件置“1”或者清“0”。REN=1 允许串行接收REN=0 禁止串行接收TB8发送的第9位数据在方式2和方式3时,TB8是要发送的第9位数据。其值有软件置“1”或者清“0”。在双机通信时,TB8一般作奇偶校验位使用;在多机通讯中用来表示主机发送的是地址帧还是数据帧。TB8=1为地址帧,TB8=0为数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年民宿短租管理合同协议
- 2025年洛阳市老城区保安员招聘考试题库附答案解析
- 2025年门禁系统技术支持补充合同协议
- 电工过级考试题库及答案
- 2025年城市空中交通解决方案可行性分析
- 安全生产管理人员理论考试笔试试题(100题)含答案
- 2025年量子计算技术保密合同
- 2025年旅游产业数字化升级项目可行性研究报告及总结分析
- 2025年无人机快递服务扩展项目可行性研究报告及总结分析
- 2025年快递运输服务补充协议
- 加装电梯的可行性方案
- 我的家乡邢台内丘县宣传介绍
- 智能制造工程生涯人物访谈
- 大学英语四级作文
- 交通管理扣留车辆拖移、保管项目 投标方案(技术标)
- 气相色谱-质谱联用法测定鱼腥草挥发油中4种成分的含量
- 国际贸易理论与实务(英文版)PPT完整全套教学课件
- 故意杀人上诉状范文两篇
- 小工具批量处理邻区脚本实用操作
- 三年级科学下册《谁在水中溶解得多》实验报告单
- 高中数学 数列 4.4数学归纳法第1课时
评论
0/150
提交评论