避障语音控制小车系统毕业论文.doc
《避障语音控制小车系统毕业论文.doc》由会员分享,可在线阅读,更多相关《避障语音控制小车系统毕业论文.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 绪论当今社会,科学技术日新月异,时代前进的步伐越迈越宽,应用自动化设备,计算机处理,现代化通讯,数字化信息,现代化显示设备等高新技术而建立的现代化智能,监控等系统已经得到充分的发展与应用,智能机器人也就应运而生。同时,在建设以人为本的和谐社会的过程中,智能服务机器人能够完成多种危险作业,以保证人身安全。因此,重点研究低成本的自组织网络,个性化的智能机器人成为主要方向。此外随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义也很适应了当今智能机器人研究方向。本设计就是在这样的
2、背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。设计的智能电动小车应该能够实时显示时间、速度,具有语音识别、避障功能,可程控行驶速度。根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加装光电、红外线,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠、精度高,可满足对系统的各项要求。本设计采用凌阳系列中的SPCE061A单片机为控制核心,利用红外线传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以
3、及自动停车,并可以自动记录时间和速度,语音识别功能。SPCE061A是一款16位单片机,它的易用性和多功能性受到了广大使用者的好评。它是第三代单片机的代表。新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,将一些外部接口功能单元如A/DPWMPCA(可编程计数器阵列)WDT(监视定时器)高速I/O口计数器的捕获/比较逻辑等。这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。凌阳公司还为这一代单片机SPCE061A系列单片机引入了具有较强功能语音识别。新一代单片机为外部提供了
4、相当完善的总线结构,为系统的扩展与配置打下了良好的基础。 本设计就采用了比较先进的SPCE061A为控制核心,SPCE061A采用CHOMS工艺,功耗很低。该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。尤其是在足球机器人研究方面具有很好的发展前景。所以本设计与实际相结合,现实意义很强。 第2章 硬件电路设计2.1 硬件框图避障语音控制小车系统构成框图如图2-1所示。主要由61板、电机驱动板、车体(含前后轮电机)和显示板等部分构成。图2-1 控制系统构成框图硬件连接如图2-2所示。图2-2 硬件连接图2.2 硬件原理图硬件电路包括外部电机驱动电路如图2-3所示,外扩显示板如图2
5、-4和2-5所示。图2-3 电机驱动电路图电机前后轮驱动模块驱动采用分立元件组成的H桥控电路,内部定时器产生的PWM波经IOB9输入H桥电路驱动电机前进,同时IOB8为低电平;反之,车辆倒车;IOB10输入H桥高电平,IOB11为低电平时车左转,反之,车辆右转。(注意H桥两臂不能同时出现高电平信号。)为了便于单片机的引脚有效利用,所以对此电路PCB的设计还扩了多个引脚插槽,彼此都为并联,这样设计主要两方面的好处,其一是使单片机的引脚利用率,其二是便于各模块的连接,即插即用,便于固定,并且稳定性高。在设计中还把电源引脚也集成到插槽内,这样外扩模块供电方式也解决了,这也为本硬件设计的一大特色。图2
6、-4 外扩显示板电路图图2-5 显示测速板丝网图此模块中用四段八段数码管作为显示器,并具有双重功能,在小车行驶时能显示倒计时,又能通过按键的切换来显示小车的当前速度,此外在四位数码管的两侧分别有四个LED灯用以显示小车的运行状态。在显示板的右侧为测速装置,它由一组红外对管以及两个三极管配合而成的比较器组成,当检测到白线后,就会产生高电平,进行中断触发。而在车轮上贴有白色胶带,所以要想检测车速,只要判断单位时间内产生的中断数即可。2.3 硬件资源利用2.3.1 微控制器电路控制器采用凌阳科技公司的SPCE061A,其硬件资源分配见表2-3所示。表2-3 硬件资源分配表资源名称具体分类作用初始化I
7、O口分配IOA0IOA2IOA0IOA2,采用61板集成按键根据需要采用复用模式IOA0: 时间调整设置键IOA1: 时间加、速度时间显示切换键IOA2: 时间减、重训练键带下拉的输入端IOB7用于控制避障电路的工作与否(TX)低电平输出IOA8IOA15数码管数据端ah低电平输出IOB0、IOB1 IOB4IOB6四位数码管与8个LED的位选段,用于动态扫描低电平输出IOB2外部中断EXT1,用于避障电路(RX)带上拉的输入端IOB3外部中断EXT2,用于测速电路(RX)带上拉的输入端IOB8IOB11IOB8IOB11电机控制端8,9为后轮低电平输出ADC选择MIC-IN模式用于声音的输入
8、DAC用作声音输出功能单声道FLASH存储器用于存储语音特征要素中断源的使用FIQ-TMA用于语音播放、识别FIQ-TMBPWM调速输出IRQ3_EXT1用于避障子程序IRQ3_EXT2用于测速子程序IRQ4_1KHz用于时间与速度的显示扫描IRQ5_2HZ用于产生倒计时时间发生信号IRQ5_4HZ用于小车前后左右行驶时间的设定IRQ5_8HZ用于产生测速门控信号,1秒钟测速2.3.2 电源板电路模块分析4节AA的电池给61板提供6V的输入电压,经61板上电源稳压块SPY0029的作用下产生3.3V的电压供给SPCE061A。外部显示模块由61板提供电源,电机驱动由电池直接供电。图2-4所示电
9、源电路图中的VDDH3为SPCE061A的I/O电平参考,接SPCE061A的51脚,这种接法使得I/O输入输出高电平为3.3V,VDDP为PLL锁相环电源,接SPCE061A的7脚,VDD和VDDA为数字电源,分别接SPCE061A的15脚和36脚,AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚;AVSS2接音频输出电路的AVSS2。图2-4 电源电路图2.3.3 键盘输入电路键盘输入电路如图2-5键盘输入电路所示,当有键按下时,对应的I/O口被拉到高电平,CPU响应按键信号,进行相应的信号处理。图2-5 键盘输入电路2.3.4 麦克风输入电路麦克
10、采来的语音信号经AGC(自动增益控制放大)后进入MIC-IN通道进行A/D转换。音频录入部分:主要由Microphone、AGC电路、ADC电路构成。 图2-6是音频录入电路。因为SPCE061A内置了AGC电路和ADC电路,所以实现音频录入的外围电路变得如此简单。这部分电路与SPCE061A的连接是这样的:AGC 接音频录入AGC引脚(25脚),OPI接Microphone的第二运放输入脚(26脚),MICOUT接Microphone的第一运放输出脚(27脚),MICN接Microphone的负向输入脚(28脚),MICP接Microphone正向输入脚(33脚),VCM接ADC参考电压输出
11、脚(34脚),VMIC接Microphone电源(37脚)。语音信号经Microphone转换成电信号,由隔直电容隔掉直流成分,然后输入至SPCE061A内部前置放大器。SPCE061A内部自动增益控制电路AGC能随时跟踪、监视前置放大器输出的音频信号电平,当输入信号增大时,AGC电路自动减小放大器的增益;当输入信号减小时,AGC电路自动增大放大器的增益,以便使进入A/D的信号保持在最佳电平,又可使削波减至最小。图2-6 麦克输入电路2.3.5 CPU语音输出电路SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。图2-7是音频输出电路图。可以接耳机,也可以直接听
12、喇叭输出的声音。图2-7 CPU语音输出电路2.3.6 指示电路指示灯实际排列如图2-8所示;当车准备就绪的时候,车显示板的1号,5号,3号,7号四个灯亮起。当遇到障碍物和显示速度的时候,车的八个灯全部点亮。当车进入设置模式后,加数时1号,5号灯亮,减数的时2号,6号灯亮;图2-8 指示灯排列图2.3.7 避障电路如图2-9所示,避障光电接收管采集的电流信号经三极管放大,在集电极将电流信号变成电压信号。当检测到障碍物后TX就会发生电平变化,产生外部中断。图2-9 指示灯硬件电路原理图2.4 本章小结此章主要为小车的硬件结构,在设计中本着稳定性强,结构紧凑,便于扩展的原则,进行的电路原理图的设计
13、以及PCB图的排版。在安全性上也进行了改进,比如在电机控制部分中为了防止短路,在设计中进行了优化。第3章 凌阳音频函数在系统中的应用3.1 本系统中凌阳音频的使用语音处理大致可以分为A/D转换、编码处理、语音存储、语音解码处理以及D/A转换几大模块;SPCE061A针对以上的各大要素进行的解决方案为:将A/D、编码算法、解码算法、存储及D/A作成相应的模块,对于每个模块都有其应用程序接口API,用户只需了解每个模块所要实现的功能及其参数的内容,然后调用该API函数即可实现语音处理功能。3.1.1 语音资源格式的选取表3-1所列出的是凌阳音频的几种算法:表3-1 SACM-lib库中模块及其算法
14、类型模块名称语音压缩编码率类型资料采样率SCAM_A200016Kbit/s,20Kbit/s,24Kbit/s16KHzSCAM_S480/S7204.8Kbit/s,7.2Kbit/s16KHzSCAM_S2402.4Kbit/s24KHzSCAM_MS01音乐合成(16Kbit/s,20 Kbit/s,24 Kbit/s)16KHzSCAM_DVR(A2000)16Kbit/s的资料率,8K的采样率,用于ADC通道录音功能16KHz麦克风输入所生成的WAVE文件,其占用的存储空间很大,对于单片机来说想要存储大量的信息显然是不可能的,而凌阳的SPCE061A提出了解决的方法,即SACM-L
15、IB,该库将A/D、编码、解码、存储及D/A作成相应的模块,对于每个模块都有其应用程序接口API,只需了解每个模块所要实现的功能及其参数的内容,然后调用该API函数即可实现该功能,例如在程序中插入语音提示,或连续播放一段语音或音乐,也可以根据自己需要的空间或使用范围选择适合自己的算法如表3-2所示表3-2 单片机对语音处理过程SACM-S480压缩算法压缩比较大,为80:3,存储容量大,音质介于A2000和S240之间,适用于语音播放。本系统采用S480格式语音资源。3.1.2 S480语音资源的制作系统所用语音素材采用录音软件录制成WAV语音文件,其文件格式要求为单声道、16位、8K采样率。
16、然后通过凌阳提供的语音压缩工具转换为S480格式文件。3.1.3 凌阳语音辨识 对于语音辨识主要有以下两种: (1) 特定发音人识别SD(Speaker Dependent):是指语音样板由单个人训练,也只能识别训练人的语音命令,而他人的命令识别率较低或几乎不能识别。在本产品中采用特定人的语音识别。 (2) 非特定发音人识别SI(Speaker Independent):是指语音样板由不同年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令。本系统采用特定发音人识别。语音辨识库已被集成在凌阳的单片机开发环境unSP IDE 2.0.0软件安装包内,安装该软件后,可在其子目录下查找到。语音
17、识别基本流程:(1) 语音信号数字化。(2) 特征提取:抽取反应语音本质的特征参数,形成特征矢量序列。(3) 语音模型库:从一个或多个讲话者多次重复讲话中提取的语音参数模板。(4) 模式匹配:把输入语音的特征参数与语音模型库进行比较分析,得到识别结果。3.1.4 S480语音的应用程序接口API的功能介绍及应用 以下就SACM-S480算法具体介绍其API函数的格式、功能、参数、返回值、备注。 其相关API函数如下所示: int SACM_S480_Initial(int Init_Index) void SACM_S480_ServiceLoop(void) void SACM_S480_P
18、lay(int Speech_Index, int Channel, int Ramp_Set) void SACM_S480_Stop(void) void SACM_S480_Pause(void) void SACM_S480_Resume(void) void SACM_S480_Volume(Volume_Index) unsigned int SACM_S480_Status(void) Call F_FIQ_Service_SACM_S480 各函数具体内容如下: (1)【API格式】C:int SACM_S480_Initial(int Init_Index) ASM:R1=I
19、nit_Index Call F_SACM_S480_Initial 【功能说明】SACM_S480语音播放之前的初始化。 【参数】Init_Index=0 表示手动方式;Init_Index=1 则表示自动方式。 【返回值】0:代表语音模块初始化失败 1:代表初始化成功。 【备注】该函数用于对定时器、中断和DAC等的初始化。 (2)【API格式】C:void SACM_S480_ServiceLoop(void) ASM:Call F_SACM_S480_ServiceLoop【功能说明】从资源中获取SACM_S480语音资料,并将其填入解码队列中。【参数】无。【返回值】无。【备注】播放语音
20、文件中数据,当出现FF FF FFH数据时便停止播放。 (3)【API格式】C:int SACM_S480_Play(int Speech_Index, int Channel, int Ramp_Set);ASM:R1=Speech_Index R2=Channel R3=Ramp_Set Call SACM_S480_Play【功能说明】播放资源中SACM_S480语音。【参数】Speech_Index 表示语音索引号。 Channel:1.通过DAC1通道播放; 2.通过DAC2通道播放; 3.通过DAC1和DAC2双通道播放。 Ramp_Set:0.禁止音量增/减调节; 1.仅允许音量
21、增调节; 2.仅允许音量减调节; 3.允许音量增/减调节。【返回值】无。 【备注】 SACM_S480的数据率有4.8Kbps7.2Kbps三种,可在同一模块的几种算法中自动选择一种。 Speech_Index是定义在resource.inc文件中资源表(T_SACM_S480_Speech Table)的偏移地址。中断服务子程序中F_FIQ_Service_SACM_S480必须放在TMA_FIQ中断向量上(参见SPCE的中断系统)。 函数允许TimerA以所选的的数据采样率(计数溢出)中断。 (4)【API格式】C:void SACM_S480_Stop(void); ASM:Call F
22、_ SACM_S480_Stop 【功能说明】停止播放SACM_S480语音。【参数】无。 【返回值】无。 (5)【API格式】C:void SACM_S480_Pause (void); ASM:Call F_ SACM_S480_Pause 【功能说明】暂停播放SACM_S480语音。 【参数】无。 【返回值】无。 (6)【API格式】C:void SACM_S480_Resume(void);ASM:Call F_ SACM_S480_Resume【功能说明】恢复暂停播放的SACM_S480语音。 【参数】无。 【返回值】无。 (7)【API格式】C:void SACM_S480_Vol
23、ume(Volume_Index); ASM:R1= Volume_Index Call F_Model-Index_Volume【功能说明】在播放SACM_S480语音时改变主音量。 【参数】Volume_Index为音量数,音量从最小到最大可在015之间选择。 【返回值】无。 (8)【API格式】C:unsigned int SACM_S480_Status(void);ASM:Call F_SACM_S480_Status【返回值】=R1。【功能说明】获取SACM_S480语音播放的状态。 【参数】无。【返回值】当R1的值bit0=0,表示语音播放结束;bit0=1,表示语音在播放中。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 避障语音控制小车系统 毕业论文 语音 控制 小车 系统
限制150内