儿童智能陪伴机器人设计_第1页
儿童智能陪伴机器人设计_第2页
儿童智能陪伴机器人设计_第3页
儿童智能陪伴机器人设计_第4页
儿童智能陪伴机器人设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-1-计的方向,从而了解到了父母们在孩子们的心理层次上对儿童陪同机器人的需要。[3]2021年,AhmadYaserAlhaddad;John-JohnCabibihan在《InfluenceofReactionTimeintheEmotionalResponseofaCompanionRobottoaChild’sAggressiveInteraction》文章中讲到目前儿童机器人产品主要功能大致分为教育、娱乐与陪伴三种。[11]2020年,AndreaBonarini在《emotixLaunchesNextGenerationEmotionallyIntelligentCompanionRobotforChildrenintheU.S.Market》多指标、多因子的综合评估是当前评估方法研究的主流方向。[12]AHP方法通过对问题进行分解,找出每一个构成要素,然后按照不同的层次进行展开,从而得到一个多层次的层次。2021年,JordiAlbo-Canals、DanielleFeerst在《ACloudRoboticSystembasedonRobotCompanionsforChildrenwithAutismSpectrumDisorderstoPerformEvaluationsduringLEGOEngineeringWorkshops》文章论述了产品的外观设计,提出了产品的材料,颜色搭配,外观造型三大元素;在用户的使用感受方面,提出了三大元素:坚固耐用,按一下唤醒,智能关闭;在功能方面,本文提出了三个元素:语音互动、早期教育资源和应用程序远程监控。[13]1.3研究内容系统以单片机技术、无线传输技术、电机控制技术、安卓应用技术等为基础,设计出了一款基于单片机的语音声控蓝牙机器人。该系统以STM32F103C8T6为控制核心,以HC-05蓝牙通讯模块为主要功能,以L293为驱动单元,以L293D为驱动单元,完成对机器人的控制;利用LD3320汉语识别模块,对用户发出的人类声音指令进行采集,这样就能用声音对机器人下达前进,后退,左右转弯的命令,机器人能向前,能向后,能向左,能向右,还能向右转弯。该系统应完成的主要功能有:1.可发送下位机指令完成拟生表情;2.可发送下位机指令完成移动功能;下位机:1.机器人可与儿童语音对话;2.机器人可完成早教问答;3.机器人可接收语音控制;4.机器人可接收上位机指令完成移动;5.机器人可接收上位机指令完成拟生表情;6.机器人具备防撞功能;第2章系统整体方案设计2.1系统整体方案设计本次儿童智能陪伴机器人设计的核心思想是交互,所以我选择使用语音模块来进行实现。当孩童向机器人发送语音命令的时候,机器人可以相应的做出一系列语音回复及动作反应。机器人的移动方案通过L293D电机驱动芯片实现机器人的驱动控制。系统上位机和下位机的通信使用HC-05蓝牙模块负责实现控制指令的接收与发送。机器人用传感器进行障碍物检测,当机器人前有障碍物,可以有效识别,实现防撞功能。该系统以STM32F103C8T6为控制核心,以HC-05蓝牙通讯模块为主要功能,以L293为驱动单元,以L293为驱动单元,完成对机器人的控制;利用LD3320汉语识别模块,对用户发出的人类声音指令进行采集,这样就能用声音对机器人下达前进,后退,左右转弯的命令,机器人能向前,能向后,能向左,能向右,还能向右转弯,同时系统利用LCD12864显示屏显示表情来实现机器人完成拟生表情模拟的功能,利用HC-SR04超声波传感器进行检测障碍物,当机器人遇到障碍物,可以有效识别障碍物,实现防撞功能。系统整体框图如下图2.1系统整体方案框图

2.2系统元件选型2.2.1主控芯片的选择方案一:采用了AVR单片机.AVR系列单片机系统是在上个世纪九十年代中期由ATMEL公司生产的,通过对单片机系列技术的扩展,开发出了一套增强型、稳定、高效地内置三维动画系列的单片机系统,该单片机通过使用高速8位指令集系列参数进行研发。在微电脑微创、医疗、军事、精密仪器与装备等领域有广泛的应用。然而,这种单片机系统在编程方面与其他C语言有很大区别,而且对C使用者也不太友好。方案二:以STC89C52为核心的单片机作为控制核心;STC89C52是本文研究的第一个目标。STC89C52是一款很简单的单片机,是很多新手都会从这里开始,也是最容易上手的单片机。8位处理器虽然具有更高的处理速率,但因为它只有一套串行端口,因此只好舍弃这个单片机。方案三:提出了一种以STM32F103C8T6为核心的传感器。可以实现对传感器回传数据进行采集和处理的功能,STM32具有多种功能,具有丰富的接口,技术成熟,应用场景广泛,而且处理速度快。因此STM32具有很高性价比在对上述三个选择进行了认真的分析之后,我们在综合考虑了项目的优势和劣势之后,选择了第三个选择。2.2.2语音模块的选择对于语音模块的选择,设计思路是选择两种语音模块进行设计,一个用来实现接收语音信号实现机器人的控制,一个用来实现机器人的智能答复。1.语音控制方案选择方法一:使用陵阳公司的SP61软件开发平台。陵阳公司的SP61是一款具有代表性的声音控制面板。在此学习板上整合了MIC,能够收集说话生硬,并通过收集识别出的语音并提取出关键信息,最后用算法与其中的语音词汇进行比较,来判定是否成功。最后由MCU输出输入输出信号。本发明所述的学习板所提供的语言指示,是固定于学习板中,仅能实现简单的语言控制。无法更改条目,限制很多。方案二:采用LD3320语音识别模块。该系统采用了M-LD3320汉语识别模组,采用话筒感应空气中的震动,并对其进行信号去噪,以获取有效的声音讯息。在此基础上,将语音输入到语音模块中,再将语音输入到语音模块中,实现了语音识别,并将其输出。通过以上的分析可以看出,陵阳科技公司的单音节不能自行进行修改,因此使用起来较为困难,而智能仅能满足基础的辨识;LD3320语音识别模块能够对所要识别的语音进行任意设置,并且能够对所要识别的语音进行任意修改,所以它更符合我们的实际需求。所以选择方案二。语音答复方案的选择WT588D是一种具有可擦写功能的语音微控制器,它使语音微控制器无需再去寻找相应的外设电路。WT588D本身就有足够的高集成度的处理器来取代复杂的环境控制电路。对WT588D语音晶片上的个人电脑进行软件操控。通过这种方法,我们可以在WT588D芯片上实现对其控制的任何修改。此外,WT588D语音芯片所需的软件操作也十分简单,容易理解,可以利用语音组合技术,来极大地降低语音的合成编辑时间。WT588D话音芯片具备三线串行控制方式,可根据传输的资料,转换成三线串行控制方式,扩展输出方式。在话音结束后,也将立刻进入睡眠模式,其内部的程序将会彻底的关闭。它的编程也采用了单片机编程的方法,无需进行以前繁琐的汇编思考。2.2.3电机驱动模块的选择方案一:采用S8550三极管驱动。三极管价格便宜,通常是用来放大小信号的。因此,三极管的驱动力很小,对机器人手臂来说,能提供足够和稳定的扭矩输出是十分有限的。虽然使用了由多个三极晶体管组成的H形驱动速度调节回路,但并不是仅有一台速度调节电机来完成速度的正向传递和自动反转,而是需要一台速度调节电机来完成速度的正向传递和自动反转,并且这将增加驱动回路的复杂性,增加发生故障的几率。方案二:采用L293D模块。L293D是一款16引脚的集成电路,用于电机的驱动,一般用于电机负载。在实际应用中我们发现,与多数芯片相比,电机在正常工作时所需要的电流是很大的,而为了驱动较大的负载,L293D内部集成了两个H桥,这种设计使得它能够为机器人的电机提供澎湃的动力。其接线简便、可靠性高。对比两个方案,根据实际情况,我们选择了后者。2.2.4蓝牙模块的选择方案一:HC05蓝牙通信模块。HC05模块既可以作为从机也能作为主机,它的工作模式是:主、从、回环三种,通过AT指令,我们可以对蓝牙模块进行控制,在工作状态之间进行切换、改变波特率和匹配口令等等,它的使用非常便捷,而且它的电源电压和波特率范围都比较广泛。支持Bluetooth4.0,具有下行兼容性,其传输频率是2.4GHz,更多人使用。而且,他已经用过这一招了,对这一招还算得心应手。方案二:JDY-31蓝牙通信模块。虽然JDY-31蓝牙模组具有AT指令,但是T指令没有HC05那么多样,所以它只能起到一个从属的作用。这款手机是以蓝牙3.0为基础的,与HC05相比,这款手机显得有些过时了,并且在1.8到3.6V之间提供了更多的选择。经过以上的分析,这样就更符合我们的实际需求了。所以选择方案一。2.2.5显示模块的选择系统使用显示屏模块显示图形来完成机器人完成拟生表情模拟的功能。方案一:LCD1602显示屏LCD1602是一种点阵型LCD组件,多用于显示字母,符号等。它是由5X7、5X11等多个点阵构成的,每一个点阵都能显示出一个文字,每一个文字与每一个文字之间都有一个点与行之间的空隙,这也是为什么这个文字并不是很好的原因。方案二:LCD12864显示屏128x64是一种点阵图形LCD,中文显示,4位/8位并行,2行或3行串行,内建有国家标准一二级简体中文LCD。该软件分辨率128x64,包括8192个16x16字符和128个16x8ASCII字符集,使用方便,使用简便,能构造一个全中文的人机交互式界面可实现8×4线路,16×16格汉字,并具有图形化功能,且具有低功耗、低功耗等显著特性。与同类型的图形点阵LCD模块相比,采用该方法制作的LCD在硬件结构和显示程序方面都要简单,同时其成本也要低于相同类型的图形点阵LCD模块。经上述分析,因此比较适合我们的实际需要。我们选择方案二。

第3章系统硬件电路设计3.1STM32最小系统设计智能声控蓝牙机器人的控制核心电路是以STM32系列单片机系统为核心电路,结合外部设定的时钟电路、供电信号电路、复位电路等信号,对合成模块进行控制,完成键盘扫描、模块信号的处理以及电机驱动等工作。其中,微型单片机系统是以微型单片机为核心,承担着探测、处理和控制数据的重要作用。3.1.1STM32F103内部结构STM32F103系列微控制器采用ARM-7核,由于其具有32位指令系统,所以具有很高的运算速度。32单片机的时钟桥接器的最高速率可达72兆赫,并且32具有更大的内存,可储存一万多行程序。此外,32单片机有许多的引脚,多数应用场景它都可以承受,且这些引脚都有八种模式,在使用中可以根据实际需要调整模式以获得较好的扩展功能。STM32F103系列微处理器内部结如下所示:图3.1STM32F103内部结构图从上图可以看出,STM32处理器系统包含两大单元,分别为四个被动控制系统单元和四个驱动系统化单元,这两大单元相辅相成,构成了常有的处理器系统。除了图中的32单片机,还有丰富的外设,比如:Can总线,数模模数转换,定时器,SPI,IIC等等。3.1.2STM32最小系统电路设计IC设计中最少系统的工作结构原则和它的方块图,如下图本表3.2所示:图3.2最小系统电路原理图由上图我们可以得到如下信息:STM32最小系统不只有一个单片机,它的时钟电路,复位电路和串口也是它的重要组成部分。其它的外接装置可与其余的输入输出端口相连。(1).晶振时钟电路系统时钟电路的主要功能是提供节拍,单片机是在严格的时序下进行工作的,假如晶振电路不能精确地进行操作,而使单片机不能正常地工作,所以,系统时钟对单片机的重要性不言而喻。系统时钟的电路设计如图3.3所示:图3.3系统时钟电路图在时钟电路中,我们选用8M的晶振。(2).复位电路复位电路的设计如图3.4所示:图3.4复位电路图在本实验中,我们采用的自发式调整法,即在低电平时,对其进行自动复位。从图中可以看出,当一个新的按键自动悬挂时,其rst脚引脚上的输入为一个高,当一个新的按键自动关闭时,rst引脚被拉低,这时单片机即已复位。3.2LD3320语音识别模块电路设计3.2.1LD3320语音识别模块介绍在本系统中,采用LD3320语音控制模块来完成语音控制功能。本模块内有一个语音采集MIC,它在采集到一个声音信号后,将其放大,从而得到一个最有可能被获取的有效信号,然后和MCU储存的声音信号相比较,最后识别出一个除音结果。本模块采用3.3V供电,也可采用外部5V控制电路供电,通过2*20上的数据排针,可实现对LD3320控制芯片连接管脚的快速引出。LD3320语音模块实物图如下图3.5所示图3.5LD3320语音识别模块实物图3.2.2LD3320模块主要特征有:(1)LD3320通过一个芯片,实现了对控制音频和远程视频线之间的数据传输,便于数据系统进行信号的输入和输出,通过一个与相应设置相匹配的外部大容量电容,结合电路中的实际电阻和其他阻抗参数,实现了对一个输入和输出的控制。(2)按照适应性需求,LD3320系统组件设置了声音及声音控制频率的各种参量,并将外界的信息经由一个数据输出声音端口与之相连,从而将mic的外界声音讯号及mispeaker的声音讯号以一种读法直接从读出的方法中提取出来。用户可以在任何时候,按照需要,通过带有话筒的手持耳机来进行确认和声音的回放,非常方便。(3)m-ld3320模组上方没有DC功率电路控制输出晶片,相应的DC功率输出管脚是从模组的排线头上引出来的,在模组开发人员的联络下,获得3.3V的DC功率管脚。(4)在M-LD3320系统话音校准组件上,对引脚的协调输入与输出是由CLK输入组件完成的,而在此过程中,由排针器系统线将晶体振荡模拟电信号控制模式输入至预先设置好的LD3320对应的数据传送引脚中。使用者按照所需的电路数目,自己对晶体振子进行焊接,此模块上会按照使用者的不同需要,预留出许多具有各种功能的晶体振子预留的空间以及数据的焊接连接点。3.2.3LD3320语音识别模与单片机接口电路本设计中LD3320的语音模块的输出与单片机的PB13PB14PB15接口相连接。电路图如下图3.6所示。图3.6LD3320语音模块接口电路图3.3WT588D语音模块电路设计在WT588D中,MCU与WT588D的话音处理芯片只需少量的连线线路。P3.7连接到用于对WT588D进行门控或不控的芯片选择引脚RESET,P3.5连接到用于读取来自WT588D的用于对输出声音进行定位的串行输入引脚VSDA。P3.3与WT588D的串行时钟管脚VSCL相连,WT588D芯片所需的另一种连接方式是:AUDOUT,它经由一个滤波器电容器与扬声器相连,AMCAP是一个自动消音端,在使用时经由一个电容器与地面相连。另外,因为WT588D的工作电压是3V,而MCU对电源的要求是5V,所以就必须通过一个变压电路来获得3V的电源电压。语音芯片模块电路原理图如图3.7所示:图3.7语音芯片模块电路原理图3.4L293D电机移动模块L293D是目前应用最广泛的一款马达驱动芯片。大家都知道,马达对晶片的负荷很大。也就是说,在这块晶片里,有两个高功率的H桥。在这个方向上,有四对三极管,两对组成一个H型桥接器。这种结构使得这种装置能够给机器人的马达带来巨大的能量。在线路上也更简洁,更稳定。在与单片机相连时,仅需要六条线路相连。两个用于启动的管脚ENA和ENB;其余四条线路是由IN1至IN4之间的逻辑控制管脚组成。L293D芯片的电路内部结构图如下图3.8所示。图3.3.1L293D内部原理图从上图可以看出,在这一次的设计中,两个H桥分别驱动两组电机,ENA与ENB是两组H桥的使能端口,它们可以访问PWM信号来进行速度的调节。IN1至IN4是用于对电动机的正向和反向进行控制的逻辑控制端。OUT1至OUT4分别为与马达相连的驱动针脚。芯片实际接线如图所示。图3.9电机驱动模块原理图机器人可以向前、向后、向左、向右、向右,也可以向右、右转身、停下来,L293的内部有两个H桥,可以对两个电机进行驱动,这样,就可以在两个不同的电机之间进行不同的速度、不同的转向方式来进行结合,从而完成机器人的动作。3.5超声波避障模块电路设计本模组是HC-SR04型,用于测距。当所得到的数据比原来的设置值要小时,所要做的就是让汽车停下来,然后再进行转弯,反之,则保持原来的方向和速度。在距离的测定中,被测对象的表面至少要有0.5平米的大小,并且要尽可能的平坦,不然会对测定的结果产生不利的影响。这个组件的工作时间曲线就像图3.10中所显示的那样,比如设定10uS(优选40uS/50uS,这样更有效),这个组件就会自动地发出8个40kHz的方波,并会自动地探测到有没有回讯。如果出现了回传,就经输入输出端口ECHO输出高电平,这一高电平所维持的时间即为超声从发出到回传的时刻。在该方案中,当系统启动后,超声模组便可进行对目标位置的检测。当接收到Bluetooth的指令之后,处理器会基于传递回来的距离,来决定是否要进行躲避,如果没有必要,那么就会继续前行,躲避障碍的方法就是向左转。模块化布线:除GND和VCC之外,Out引脚在距离测量中不能用,另外2个引脚。触发器是一个控制终端,该终端将启动讯号与上层研发电路板上的PA8管脚相连。Echo是一个接受终端,它是一个与主板上保留的PC9管脚相连的、用于输出一个反射信号,都在前面的图3.10上,具体接线如图3.11所示。图3.10超声波工作时序图图3.11超声波模块接线图3.6LCD12864显示模块电路设计目前在业界使用的字符型LCD能够达到128x64同步输出8192比特字符。为了方便显示,后文都以1代表高等级,0代表低等级。LCD12864液晶,也可以被称为12864文字显示液晶,它是一种尤其适合于屏上显示具有字母、数码、符号等文字特点的彩色点阵文字液晶模块。由多个字符点数所共同形成的多个字符比特进行拼接而成,每一个小数点所共同组合而成的小型数字符点位,能够在一块屏幕上呈现出一个以上的小数点,并且,在每一块小数点之间,都有一个以上的小数点的每一行的间距,在每一行的每一行中,都有至少一条以上的间距,用于实现每一块小数点的间距和每一块以上的间距的作用。LCD12864是一种数字液晶组件,其各自被用来代表128个字符,也就是,它们各自以两条线显示128个字符。插头特性:LCD12864使用20针的标准插头。第1针:电压源为负电极,电压源为VSS。第2针:电压互感器与5伏的阳极供电相联接。第3个插头:V0为控制插头,用于调整LCD屏幕上字符的色彩亮度。DB0-DB7是一个具有两个方向的数据总线。第15-20针:使用无支撑或背光源供电。特点:电压+3.3伏,反差可调节.内建重置回路,可实现各种操作,如:删除文字、显示文字、调整指针的亮度及运动等。80个字节的数组能够一次显示的字资料,其内存是DDRAM。内含5x7个字符类型的192个字符产生单元CGROM。8位新使用者均能自行设定5x7英文文字,并将其用于生成工具。由于其具有功耗小、重量轻等优点,因此常被应用在小仪器和低耗电量的线路中。(这意味着产生了一个高水平,)LCD液晶显示模块电路原理图如图3.12所示:图3.12LCD液晶显示模块电路原理图3.7按键控制模块设计我们所要采用的这种自动独立式数控键盘,实际上就是最简便、最简单的一种键盘自动控制电路,各个键盘按键之间彼此相互独立,每个键盘按键都是单独的与一根键盘数据线和输入输出线相互联系。当一个单独的电动按键被他人按下时,完全通过电动阀门控制电路的中断子程序,都会向一个CPU电动终端用户发出中断请求,对其进行电动中断,并在该CPU电动终端的中断服务程序中,读入一个与其按键的按下次数相应的数值,以正确地确定被他人按下的是哪个单独的电动按键。在我们进行各种数据输入查询时,一般情况下,所有的输出信号和输入数据线和输入输出线都是由一个上拉的降压电阻互相连接,这样就形成了一个新的高电平;当任何一个按钮受到外力作用时,连接到它的数据输入线和输入线将会自动降低到新的低位,从而实现只需要一台处理器输入一条命令,就能快速、准确地完成数据查询。按键控制模块电路原理图如图3.13所示。图3.13按键控制模块电路原理图3.8HC-05蓝牙模块电路设计从图3.14可以看出,“REDLED”是一个带有2K阻抗的电阻器的方式切换指示灯,该电阻器与PIO8管脚一起相连,该电阻器的背面与地面相连。当LED灯连续闪烁了几次之后,就说明它已经可以和其它的装置相连了,而不会受到AT指令的影响。若此发光二极管每秒闪光两次,则表示其处于应答指令的状态,则AT指令即可被收到。这时就可以在USB-TTL模块中利用AT命令来设定蓝牙了。这个Bluetooth模组有36种不同的AT指令。Bluetooth角色可以根据指示设定。Bluetooth角色在没有做任何设定的情况下默认为从属角色。玩家可以将其转化为主要颜色,也可以将其转化为回环颜色。在此次设计中,蓝牙模块将充当从设备,接受从手机发送过来的十六位指令,并且不需要将数据返回到手机,因此在模块的角色上不需要进行任何的改动。当您忘记您的Bluetooth名字和匹配代码时,您可以采用命令“AT+PSWD?”“AT+NAME?”可以用命令进行名字/密码的搜索,也可以用命令进行重置。从图3.14可以看出,有一个按键S1,3.3V电源,以及10K电阻地,均与PIO11管脚相连,按照指令组文件的描述,该按键用于开关操作方式。在该组件被供电而此键S1被悬挂的情况下,PIO11管脚为Low-level,该组件将进入一个接受指令的状态;在组件上电并在同一时间压下钥匙S1,此管脚的逻辑水平处于高水平时,组件可以接受AT命令。该模块有6个I/O接口,在图3.14的J1上,除去电源与接地,还有STATE、RXD、TXD和EN接口,STATE与EN可以悬空,RXD与TXD分别接到开发板上的PB10和PB11,具体接线如图3.14所示。图3.14蓝牙模块接线图保定理工学院本科毕业设计第4章系统软件设计该设计以2V-3.6V工作电压的STM32F103C8T6为控制的单片机芯片,该芯片中使用了32位的微控制器,具有64KB的程序存储能力。而嵌入式MCU,则是对现有的MCU技术进行改进和改进,最后达到了数字控制的程度。在此基础上,采用程序编写的方法,完成了对该系统的控制。该方案采用了单片计算机编程,实现了对各元件的控制。根据毕设需要完成的基础功能、所使用的设备、引出的引出、引出的引出和作用,把正确的程序编码写入硬件,然后再执行这个程序,看看它的性能和我们的设计相匹配。在实际应用中,单片机充当数据采集单元,将采集到的数据传输到计算机上,然后再经过对数据的分析和处理,从而达到系统自动化控制的目的。4.1程序开发软件应用KeiluVision5,它既可以用C,也可以用汇编。该系统不仅包含了大量的类库功能,还能实现整个系统的编辑,编译,连接,测试,模拟等功能。当编程结束后,就可以产生对应的汇编代码,这样就可以更加直观地了解编程过程。KeiluVision5界面图,如图2.1所示。图4.1KeiluVision5界面图4.2程序流程设计4.2.1主程序流程图该系统采用了使用较多的STM32F103C8T6单片机为主要控制芯片,以下是对其进行编程的思想:第一,在系统开始后,就开始了程序的循环执行。机器人对串口模块进行扫描,查看是否已经接收到了蓝牙APP发出的控制命令,在接收到数据之后,首先进行存储,再分析出具体的命令,之后再按照命令对小车进行相应的操作;接着,对LD3320的声音识别模块进行了检测,确定了正确的声音指示,并对其进行了相应的控制。机器人小车控制主流程图如下:图4.1系统主程序流程图4.2.2电机调速程序设计马达传动与速度调节的程式是一项很有系统性的程式。其核心的控制思想是:先调用计时器生成一个PWM波,PWM波的占空比是可变的,在此用来调整车辆的速度,占空比高,速度就快,反之,速度就慢。由于该机械臂的结构是利用了差速,因而要使用两套驱动轮,就必须要有两个PWM波来对机械臂进行控制,而轮子的正反反向则可以由l293来完成。在两个轮子一起旋转的情况下,可以使两个轮子向前移动,从而达到推进的目的。两台车的车轮在同一时刻作向后转动,即完成了两台车的向左转动,一台车的车轮在前一台车的向后转动,即完成了两台车的向左转动。具体的控制流程图如下图4.2所示。图4.2电机调速流程图4.2.3语音识别子程序设计为了实现“前进”、“后退”、“左转”、“右转”等动作的声音控制,必须在软件中预先设定好声音,并通过编译器将声音输入到LD3320声音模组中。在这个系统中,语音识别模块的输出是由三条IO口线与单片机连接起来的,三条IO口结合不同的代码,然后,单片机的IO口也会随之发生改变,从而来判定机器人应该进行哪一个动作。最后,将指令转化为io口的电平变换,并利用io口的电平变化,来控制一台机器人进行相应的动作。最后,将所得到的命令转化为输入输出端口的电平时换,再由输入端口的电平时换,使机械臂完成相应的动作。语音识别控制的程序流程图如下图4.3所示:图4.3LD3320语音模块程序设计4.2.4蓝牙通信子程序设计在这个系统中,使用了HC-05蓝牙模块来与手机进行匹配,在此过程中,蓝牙助手可以将密码发送到模块,在此过程中,蓝牙将其接收到之后,再经过串口传送到单片机,再由单片机会对数据展开分析。最后通过对操作命令序列的分割,实现了操作机器人的操作。下图为MCU分析控制命令的流程。如图4.4所示:图4.4蓝牙通信子程序流程图4.2.5超声波避障程序设计基于规避原理,移动机器人按照某一特定的速率进行运动。当感应器侦测到的这个间距小于一个预先设定的阈值时,这个机械手就会从栅栏上移开。当机器人在穿孔时,若碰到障碍,则其超声测距系统可即时推算出机器人与障碍的间距d。如果d<dc(避障的临界距离,这里dc为程序的预设值),由电动机进行左右转向控制,就能实现对障碍物的回避。程序流程图如图4.5所示。图4.5小车避障设计4.2.6键盘扫描模块的工作流程图在本毕业设计中,首先,本毕业设计采用的是独立按键,来确定键盘中有无按键按下,当按下时,就能判断,并找出是哪个独立按键。当我们的应用程序自动地检测到有人按下了一个单独的按钮之后,为了及时地消除这个单独的按钮的抖动,我们需要延迟一段时间,来进行下一阶段的抖动检测和分析,从而可以准确地判断到底是哪个单独的按钮被关掉了。扫描操作过程如图4.6所示:图4.6键盘扫描流程图4.2.7显示程序设计用户也可以通过显示屏或上位机界面,来帮助用户得到相关数据。显示屏功能流程图,如图4.7所示。图4.7显示屏功能流程图第5章系统调试5.1硬件调试本文介绍了一种以STM32芯片为核心,实现了一种声音控制的智能机器人。该系统的测试包括以下几个部分:首先,测试和测试硬件的电路。另外,在硬件线路的调整上也要稳健,以保证各个模块的运转顺畅。然后就是软件调试了,按照硬件的运行状态,并与串口调试助手、蓝牙助手和调试器一起,一步一步地对程序进行检测。然后就是对整个系统进行集成和集成的测试。5.1.1蓝牙模块调试在实验过程中,我们发现了一些问题,比如:无法接受来自于蓝牙的命令。在对其进行了检测之后,结果显示,这是因为蓝牙模块的TXDRXD与单片机的TXDRXD接反了,并且在其处在配对状态之后,对其接线方式进行了校正,蓝牙发送管脚与单片机接收管脚相连,在与手机进行配对后,其功能可以正常运行。此外,我们也需要对串行端口的速率进行检测,标准速率为9600bPS。图5.1蓝牙调试图5.1.2语音模块调试LD3320语音识别调试的第一步就是要保证电源的稳定性,在该系统中,为了确保电源的稳定,使用了3.3V的电源。其次,要利用语言控制,必须在软件中设定语言命令,如“前进”、“后退”、“左转”、“右转”等,所以必须先设定语言命令,然后由编译器将语言命令输入到LD3320语言控制模块中。接下来,就是对声音识别的代码进行编辑,将声音识别的代码转换成三个数字。STM32编程必须以程式查询的形式来侦测声音辨识模组所输出之讯息,然后才能控制机械臂。图5.2LD3302调试5.1.3小车运行调试对推车进行了调试,只需对推车进行PWM控制即可。在进行调试时,要在程序中设置各种PWM值。利用PWM调制信号中高、低电压的比率,实现了对电动机速度的调节。其次为机械手的运动调整,前轮和后轮均需朝前旋转;倒车的两个车轮在同一时间倒车;左边的车轮向左边的车轮方向旋转;右边的车轮方向正好相反。5.1.4电源调试为机械人设计的体系。电力供应是很关键的一环。电力不足时,电动机无法旋转,会造成MCU重置等现象。所以,对电池的容量要求相对较高,动力也就更大。这台机器一开始是以干电池为动力的,后来他意识到自己无法移动,于是增加了电量,让它停止了运转。后来换上大容量的电池,这些问题都迎刃而解了。5.2软件调试采用了KEILMDK5软件进行了系统的开发。系统调试的过程大致可以分成以下几个步骤:首先,首先要进行的是代码的编写,所以基本上选择了C语言作为开发语言,逐步地将各个部分的功能代码进行合并,在程序结束之后进行编译,并对其进行排除。在编译完毕之后,首先要对硬件电路进行确认,确认其构建的可靠性。之后,将程序的hex文件烧录到单片机中,上电运转,看看其功能是否正常。如果不正常,那么就可以从这种情况来推测该程序有什么问题,并与模拟器相结合,逐步进行调查。总的来说,这个项目的软件调试需要和硬件相配合,在经过调试之后,我们发现键盘并不好用,经过我们的调查,我们才知道这是因为在气候比较干燥的时候,我们的身体会受到静电的影响。后来他在键盘的扫描功能中加入了去颤动的功能,这种情况就得到了很大的改善。5.3系统调试结果在通过了一系列严格的软体与硬体的联合调试与测试之后,我终于完成了儿童智能陪伴机器人设计的功能,满足了设计的需求,并完成了对蓝牙的无线控制,在课题上做出了扩展。

第6章结论该系统以STM32f103单片机驱动芯片为主要的控制单元,使用HC-05蓝牙模块,可以直接进行控制命令的收发,使用l293马达驱动芯片,可以直接进行对机械臂的驱动与控制;通过ld3320语音识别模块,能够实现对语音说话指令的识别,并通过一条控制指令对机器人进行"前进、后退、左转、右转"等自动化控制。该系统主要完成以下几个技术要点:(1)通过LD3320汉语识别模块来实现对语音命令的接收、转换和发送,它能够对向前,向后,向左右转,以及对加快和减缓的命令进行识别。(2)采用Bluetooth模组,对移动台进行无线遥控。在蓝牙应用程序中,要求STM32单片机对16进制的1234进行分析和辨识。(3)系统的开关和调速等功能设定是由一个按钮回路来完成的。(4)利用L293D马达辨识功能,完成了对台架马达的驱动工作。(5)对于Bluetooth串行命令的分析,是经由STM32的串行端口来实现的,以获得一个有效的控制命令。经过这个项目的研究,我们已经完成了项目所需要的功能,但也有一些缺陷。想要在今后的工作和研究中,对这一点通过对问题的分析,得出了以下结论:(1)LD3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论