基于凌阳SPCE061A的语音控制小车设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语音控制是最为直接的人机对话方式,而小车以其生动、典型、学习形式喜闻乐见、涉及知识面广等特点,可作为电子类专业同学们学习、实践的良好载体。

凌阳SPCE061A单片机,具有简单的语音处理功能,不需要外挂语音处理芯片,因此采用SPCE061A作为主控芯片。

1、智能小车总体结构框图:
智能小车主要由语音接收、语音处理、语音播报和机械控制四大部分组成,如图1所示。

图1智能小车总体结构框图
系统以SPCE061A单片机为核心,实时接收来自控制人的语音命令,提取其特征码,与预先存储在ROM中的特征码比较,若相符则进行如下操作:
(1)通过语音播报电路重复当前命令。

(2)根据命令控制驱动电路及转向电路执行相应操作。

2、语音信号接收模块
SPCE06lA语音单片机片内集成有7通道10位电压A/D转换器和单通道声音A/D转换器,以及2个10位D/A转换输出通道。

声音A/D转换器输入通道内置麦克风放大器并具有自动增益控制(AGC)功能,专门用于对输入的语音信号进行采样,并使进入该通道的模拟信号维持在最佳电平。

因此外围电路可设计的相对简单,如图2所示。

话筒的偏压由SPCE06lA的VMIC、VCM脚提供。

声音输入模块只需外接1个话筒、5个电阻和5个电容。

图2语音接收模块
3、语音播报模块
语音播报由双通道10位D/A输出接口DAC1外接扬声器来实现,采用PNP三极管8550作为功放,具体电路参见图3。

图3语音播报模块
4、机械控制模块结构及工作原理
小车为轮式结构,机械控制模块分为转向机构和驱动机构。

转向机构由步进电机、转向架和两个前轮组成。

单片机接收到转向命令后控制步进电机正向或反向旋转一定角度,电机通过齿轮、齿条系统带动转向架摆动一定角度,最终带动与转向架固定在一起的前轮偏摆一定角度,从而实现精确转向。

考虑到小车在转向时内、外侧车轮的转弯半径不同,所以内外侧驱动轮的转速也应不同。

所以驱动机构采用双电机驱动方案,包括两个电机和两个后轮,如图4所示。

后轮分别由两个电机独立驱动。

小车直行时两个电机转速一致;小车转弯时,控制系统在控制转向电机的同时还需要根据转向角度的大小向两个驱动电机发出控制信号,调节两个驱动电机的转速使之产生特定的转速比,从而使转弯顺利进行。

图4双电机后轮驱动
两个后轮电机分别由SPCE061A的IOB5 ̄IOB10引脚控制。

如图5所示:
图5左后轮驱动电机控制电路
基于凌阳SPCE061A的语音控制小车设计谢辉程
九江学院电子工程学院九江332005中国地质大学在职硕士研究生
[摘要]语音控制技术是目前广泛应用和研究的重要技术,对人机交互的智能系统具有重要价值,本文介绍一种智能小车控制系统的设计方案,该方案以SPCE061A单片机为基础,实现对智能小车的语音控制。

经反复试验,结果表明语音识别准确率高,控制效果好。

[关键词]语音识别、语音控制、智能小车、单片机

引言
随着计算机技术的迅速发展和越来越广泛深入地应用于国民经济和社会生活的各个方面,随着软件系统和规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性后果。

软件质量问题已成为所有使用软件和开发软件的人关注的焦点。

由于软件是人脑的高度智力化的体现这一特殊性,不同于其他科技和生产领域,因此软件与生俱来就有可能存在缺陷。

如何防止和减少这些可能存在的问题呢?当然是进行软件测试了。

测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。

新的测试理论、测试方法、测试技术、自动化测试工具等手段在不断涌现。

1、自动化测试工具的分析
1.1测试工具的优点
在大多数情况下,某些软件的特性都要测试多次,而且还要检查以前发现的缺陷是否修复,以及有没有引入新的缺陷。

如果一个软件有数千个甚至上万个的测试用例要执行,而时间紧迫无法执行多次手工测试,此时测试工具就派上用场了。

采用测试工具进行自动化测试主要有如下的优势:
1)速度快。

自动化测试是手工执行速度的成千上万倍,尤其是在测试B/S结构的Web应用软件时,测试工具可以模拟多个用户同时访问某系统,当用户数需要成千上万个时,就只能借助自动化测试工具了。

2)效率高。

如果采用自动化测试工具来分担测试案例的执行时间,测试人员就会有更多的精力完成其它工作,从而推进整个测试进度。

要完整的测试一个软件工作量是相当巨大的,借助测试工具可以大大提高测试的效率。

3)准确度和精度较高。

测试工具每次执行相同的测试用例时,会毫无差错的按照编写的脚本来检查结果。

同时资源通过测试管理工具来同时访问各种测试。

1.2测试工具的缺点
根据实际中的应用和反馈的情况来看,测试工具的缺点也不少,主要有:
1)软件测试工具的引入需要一定的经济成本。

这里面不仅包括购买成本,还包括后期的培训费用。

因为很多测试工具都是商业性的,而且价格也不便宜。

2)软件测试工具的引入需要一定时间成本。

任何测试工具引入到一个项目中时,都会有一个磨合期,在磨合期间,测试的效率不一定提
软件测试中测试工具的应用分析翟长勇1高建瓴2
1.贵州大学电子科学与信息技术学院
2.贵州大学信息化管理中心贵州贵阳550003
[摘要]介绍软件测试中自动化测试工具的优缺点及其应用,针对软件测试的特点提出了使用工具应注意的问题并结合实际介绍
了目前比较流行的自动化软件测试工具。

[关键词]软件测试;自动化测试;测试工具
IOB8和IOB9控制一个H桥,该H桥输出接左轮电机,所以IOB8、IOB9控制左侧电机的前进和后退;右侧电机的前进和后退则由IOB5、IOB6控制。

改变四路控制信号就可以让小车完成左转、右转、前进、后退、原地转圈等动作。

需要调节左轮转速时改变三极管Q04的基极电压即可,可以通过PWM方式来对电机速度进行控制,右轮转速由IOB7控制。

5、系统软件设计
系统工作模式分为“训练模式”和“识别模式”,由按键k1切换。

流程如图6所示。

图6主程序流程图
小车启动时默认为“识别模式”,按k1键切换到“训练模式”,进入训练模式时首先将RAM中的语音模式擦除,为下面语音训练的存储作准备。

然后播放训练提示音“开始训练”,训练人听到提示音后开始训练。

本系统设置了7条语音命令,分别为“前进”、“后退”、“左转”、“右转”、“加速”、
“减速”和“停止”。

每一条语音命令需要训练两次,当训练人两次发出的语音命令在误差允许的范围内时,系统认为训练成功并播放提示音“训练成功”,同时将训练人的发音特征码存储到系统中。

当训练人两次发出的语音命令超出误差允许范围时,程序返回上一层对该条语音命令再次进行训练,直到训练成功。

7条语音命令训练成功后,将命令特征码存入ROM,避免掉电后丢失。

然后程序进入语音识别阶段。

首先初始化语音识别器,播放提示音,此时控制人可以对小车发出语音命令。

系统将采集的语音进行处理,并与存储器中训练人的语音样本进行比较。

若相符,则根据比较结果产生相应的控制信号,否则不产生控制信号。

语音识别过程循环进行,完成一条语音命令的控制任务后系统等待训练人再次发出语音命令。

如果训练人不再发出语音命令,系统将一直处于等待状态。

6、实验和结论
实验可分为训练和识别两个阶段,硬件连接、程序下载等准备工作就绪后,按k1键后系统提示“开始训练”,可开始进行训练,实验中一共训练7条语音命令,每条命令训练成功后小车会播放提示音“训练成功”若由于各种因素某命令训练2次都失败,则提示“训练失败”,此时必须重新训练。

训练工作完成后,就可以进入特定人识别过程了,用户可随机给出上述7条训练过的命令,小车识别成功后先语音回复,然后执行指定的动作。

实验中识别成功率在95%以上,实验过程中发现影响智能小车进行正确识别的主要因素有现场环境噪声的干扰以及发音者距麦克风的距离等。

在上述因素的干扰不是很强的情况下,系统体现出了较好的抗干扰性能,不会影响到识别的准确性,但在噪声过强或距离过长的情况下,识别效果明显变差,这是其不足之处,有待改进。

参考文献
[1]李晶皎.嵌人式语音技术及凌阳16位单片机应用北京:北京航空航天大学出版社,2003:6-8.
[2]罗亚非.凌阳16位单片机应用基础.北京:北京航空航天大学出版社,2005:9-10.
[3]熊庆国.新型16位单片机SPCE061A及应用展望现代电子技术,2003(8):55-56,59.[4]刘科斌.监控系统的语音识别与语音提示辽宁师专学报,2002,4(3):19-20。

[5]叶新华.SPEC500A在语音遥控器中的应用郑州轻工业学院学报(自然科学版),2002,17(2):62—66.
9。

相关文档
最新文档