语音识别机器人实验报告.docx

上传人:b****8 文档编号:13080733 上传时间:2023-06-10 格式:DOCX 页数:15 大小:420.53KB
下载 相关 举报
语音识别机器人实验报告.docx_第1页
第1页 / 共15页
语音识别机器人实验报告.docx_第2页
第2页 / 共15页
语音识别机器人实验报告.docx_第3页
第3页 / 共15页
语音识别机器人实验报告.docx_第4页
第4页 / 共15页
语音识别机器人实验报告.docx_第5页
第5页 / 共15页
语音识别机器人实验报告.docx_第6页
第6页 / 共15页
语音识别机器人实验报告.docx_第7页
第7页 / 共15页
语音识别机器人实验报告.docx_第8页
第8页 / 共15页
语音识别机器人实验报告.docx_第9页
第9页 / 共15页
语音识别机器人实验报告.docx_第10页
第10页 / 共15页
语音识别机器人实验报告.docx_第11页
第11页 / 共15页
语音识别机器人实验报告.docx_第12页
第12页 / 共15页
语音识别机器人实验报告.docx_第13页
第13页 / 共15页
语音识别机器人实验报告.docx_第14页
第14页 / 共15页
语音识别机器人实验报告.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

语音识别机器人实验报告.docx

《语音识别机器人实验报告.docx》由会员分享,可在线阅读,更多相关《语音识别机器人实验报告.docx(15页珍藏版)》请在冰点文库上搜索。

语音识别机器人实验报告.docx

语音识别机器人实验报告

开放实验项目报告

 

项目名称:

语音识别机器人

 

专业

学生姓名

班级学号

指导教师

指导单位

2012/2013学年第一学期

一.设计背景

在科学日新月异的今天,电子设备的便捷化,人性化,智能化已成为不可逆转的潮流,而语音控制智能,更是其中研究发展的热点。

凌阳SPCE061以其便捷的操作,可靠的性能,成为了各位电子爱好者的首选。

本实验采用凌阳61板和运动小车(迷你型)模组设计的语音控制小车。

凌阳板嵌入小车模型顶部。

语音处理技术不仅包括语音的录制和播放,还涉及语音的压缩编码和解码、语音的识别等各种处理技术。

本设计的语音控制小车,借助于SPCE061A在语音处理方面的特色,不仅具有前进、后退、左转、右转、停止等基本程序控制功能,而且还具备语音控制功能。

二.总流程图

(硬件)组装小车

分析小车运动方式

 

(软件)编写程序

 

装载语音

声音存储

语音训练

语音识别

终端服务

 

调试与修正

语音模块

运动模块

三.主要模块

1、凌阳SPCE061是继µ’nSP™系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。

与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。

较高的处理速度使µ’nSP™能够非常容易地、快速地处理复杂的数字信号。

因此,与SPCE500A相比,以µ’nSP™为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。

其性能如下:

A、16位µ’nSP™微处理器;

B、工作电压(CPU)VDD为2.4~3.6V(I/O)VDDH为2.4~5.5V

C、CPU时钟:

0.32MHz~49.152MHz;

D、内置2K字SRAM;

E、内置32KFLASH;

F、可编程音频处理;

G、晶体振荡器;

H、系统处于备用状态下(时钟处于停止状态),耗电仅为2µA@3.6V;I、2个16位可编程定时器/计数器(可自动预置初始计数值);

J、2个10位DAC(数-模转换)输出通道;

K、32位通用可编程输入/输出端口;

L、14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;

M、具备触键唤醒的功能;

N、使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;

O、锁相环PLL振荡器提供系统时钟信号;

P、32768Hz实时时钟;

Q、7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;

R、声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;

S、具备串行设备接口;

T、具有低电压复位(LVR)功能和低电压监测(LVD)功能;

U、内置在线仿真电路ICE(In-CircuitEmulator)接口;

V、具有保密能力;

W、具有WatchDog功能。

SPCE061A的结构如下图所示:

SPCE061A的实物图如下:

2、L298N是ST公司生产的一种高电压、大电流电机驱动芯片。

该芯片采用15脚封装。

主要特点是:

工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。

内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。

使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

其性能如下:

A、尺寸:

80mmX45mm;

B、主要芯片:

L298N、光电耦合器;

C、工作电压:

控制信号直流5V;电机电压直流3V~46V(建议使用36伏以下);

D、最大工作电流:

2.5A;

E、额定功率:

25W;

F、具有信号指示;

G、转速可调;

H、抗干扰能力强;

I、具有过电压和过电流保护;

J、可单独控制两台直流电机;

K、可单独控制一台步进电机;

L、PWM脉宽平滑调速;

M、可实现正反转;

N、采用光电隔离.

L298N的结构如下图所示:

L298N的实物图如下:

四、硬件设计

语音控制小车为三轮结构。

其中前轮为万向轮,被动调节小车前进方向。

在自然状态下,前轮保持中间位置并正前方运动。

后面两个车轮由各自的电机驱动,为整个小车提供动力。

  

整个小车分为三大部分:

车体部分、凌阳SPCE061模块、驱动模块。

车体部分:

小车车体主要为两个电机驱动装置,分左轮驱动和右轮驱动。

在车体的中间有一个可以安装3节AA电池的电池盒,整个小车的电源就是由它来提供的。

凌阳SPCE061模块:

凌阳SPCE061模块是小车的核心部分,它负责整个小车控制信号的产生,以及语音的播放和识别功能实现的。

在不使用小车时可以将其从小车上拆下来,它仍然是完整的,可以用来做其它的实验或开发。

驱动模块:

核心驱动电路L289N,通过其驱动左、右两个电机的转动与停止,以实现小车的前进,后退,左转,右转等功能。

硬件框图如下:

五、软件设计

1、各部分流程图

语音识别总流程图:

训练函数流程图:

语音识别函数流程图:

2、部分程序代码:

语音命令训练函数:

intTrainWord(unsignedintWordID,unsignedintSndID)

{

intResult;

PlaySnd(SndID,3);//引导训练,播放指令对应动作

while

(1)

{

Result=BSR_Train(WordID,BSR_TRAIN_TWICE);//训练两次,获得训练结果

if(Result==0)break;

switch(Result)

{

case-1:

PlaySnd(S_NOVOICE,3);//没有检测出声音

return-1;

case-2:

PlaySnd(S_AGAIN,3);//需要训练第二次

break;

case-3:

PlaySnd(S_NOISY,3);//环境太吵

return-3;

case-4:

return-4;//数据库满

case-5:

PlaySnd(S_CMDDIFF,3);//检测出声音不同

return-5;

case-6:

return-6;//序号错误

default:

break;

}

}

return0;

}

前进命令函数:

voidGoAhead()//前进

{

PlaySnd(S_ACT1,3);//提示

*P_IOB_Data=0x0100;//前进

*P_INT_Mask|=0x0004;//以下为中断定时操作

__asm("intfiq,irq");

uiTimecont=0;

}

后退命令函数:

voidBackUp()//倒退

{

PlaySnd(S_DCZY,3);//提示

*P_IOB_Data=0x0200;//倒退

*P_INT_Mask|=0x0004;//以下为中断定时操作

__asm("intfiq,irq");

uiTimecont=0;

}

左转命令函数:

voidTurnLeft()//左转

{

PlaySnd(S_GJG,3);

*P_IOB_Data=0x0900;//右转

Delay();//延时

*P_IOB_Data=0x0500;//左转

*P_INT_Mask|=0x0004;//以下为中断定时操作

__asm("intfiq,irq");

uiTimecont=0;

}

右转命令函数:

voidTurnRight()//右转

{

PlaySnd(S_GJG,3);//语音提示

*P_IOB_Data=0x0500;//左转

Delay();//延时

*P_IOB_Data=0x0900;//右转

*P_INT_Mask|=0x0004;//以下为中断定时操作

__asm("intfiq,irq");

uiTimecont=0;

}

停车命令函数:

voidStop()//停车

{

*P_IOB_Data=0x0000;//停车

PlaySnd(S_RDY,3);//语音提示

}

语音命令辨识函数:

voidBSR(void)

{

intResult;//辨识结果寄存

Result=BSR_GetResult();//获得识别结果

if(Result>0)//有语音触发?

{

*P_IOB_Data=0x0000;//临时停车

switch(Result)

{

caseNAME_ID:

c=1;

BSR_StopRecognizer();

*P_SystemClock=0x0003;

*P_INT_Mask=0x0200;

break;

caseCOMMAND_GO_ID:

GoAhead();

break;

caseCOMMAND_BACK_ID:

BackUp();

break;

caseCOMMAND_LEFT_ID:

TurnLeft();

break;

caseCOMMAND_RIGHT_ID:

TurnRight();

break;

default:

break;

}

}

}

 

六、实验总结

本次实验以凌阳SPCE061A单片机为主体,搭配L298N电机驱动模块,完成了语音控制小车的语音控制功能。

诸如左、右转,前进、后退、停止等。

实现了本次实验的实验目的。

在本次实验中,我学习到了凌阳单片机的一些基础知识。

在硬件方面,较高的执行速度、内置的硬件乘法器、ADC和DAC功能、内置的AGC自动增益环节,这些为语音处理提供了强大基础。

在软件方面,标准的C语言编程,丰富的语音资源函数为编程提供了很大的方便,降低了开发难度,提升了开发效率。

但是本实验也有很多不足,比如凌阳语音识别部分安装在小车上,这样虽然使设计更为简洁、可靠,但同时也可能因语音识别距离过远而使得小车无法正确接收命令,导致控制失败,因此可考虑将语音识别模块与小车控制模块分开,两者之间无线控制。

另外本实验中小车仅能接收前进、后退、左转、右转、停车五种指令,命令过于单调,可考虑增加加速、减速等指令,使设计更为全面,实用。

整个实验中,我们的团队互相帮助,互相学习,共同合作完成了本设计。

在此,我感谢我的团队,也感谢指导老师对我们的帮助,谢谢你们!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2