ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:559.17KB ,
资源ID:8036414      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8036414.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(语音控制智能小车方向电机控制电路设计毕业综合实践报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

语音控制智能小车方向电机控制电路设计毕业综合实践报告.docx

1、语音控制智能小车方向电机控制电路设计毕业综合实践报告XXXX职业技术学院电子信息系毕业综合实践题 目 语音控制智能小车 方向电机控制电路设计 学生XXXXX学号XXXXXXXXX专 业XXXXX班级XX级班指导教师XXX职称完稿日期: 2008 年 4 月 5 日 毕业综合实践开题报告专业系专业班级学生XX学 号课题题目语音控制智能小车方向电机控制电路设计任务下达时间年 月任务完成期限年 月至 年 月选题的目的和意义。近年来,语音控制已经用于了生活、工作、学习各个领域中,语音控制已经成为了人们生活中的重要组成部分。语音控制的良好功能涉及到芯片的功能、可靠性以及机器在使用过程中是否简单方便、便于

2、编程等一系列的问题。我们经过长期调查研究,从技术上认真分析,认为需满足高级的技术要求,方能实现功能完善、操作方便这两个主要目标。单片机的应用正在不断地走向深入,同时带动语音控制日新月益更新。在语音控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本实验是以单片机的基本语言汇编语言来进行软件设计,使指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。 随着中国经济的蓬勃发展,人们的生活水平日益提高,语音控

3、制的作用和地位显得越来越重要指导教师签字系主任签字工作进度计划(在老师指导下拟定):周次起止日期设计内容备 注12345678内容摘要介绍了语音遥控的电动小车的硬件设计部分和使用软件智能控制部分。语音遥控的电动小车在硬件设计部分采用SPCE061A精简开发板和控制板,在软件智能控制部分,采用语音控制方式,使小车可以“听懂”人的命令,实现小车的前进后退等功能。控制系统采用的是AT89S51单片机,编程语言使用的是汇编语言,动力系统使用的是伺服马达,能源系统使用的是9V电池。关键词:SPCE061A软件智能控制 硬件设计一、 引言语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音

4、的压缩编码和解码,语音的识别等各种处理技术。以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,如ISD 系列、PM50 系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。 SPCE061A 是一款 16 位nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到 49MHz。 SPCE061A 内嵌 32K 字的 FLASH

5、程序存储器以及 2K 的SRAM。同时该 SOC 芯片具有 ADC 和 DAC 功能,其 MIC_ADC 通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路 10 位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。以上介绍的这些硬件资源使得该SPCE061A 能够单芯片实现语音处理功能。 借助于 SPCE061A 的语音特色,“基于单片机技术的语音控制小车设计”实现了对小车前进、后退、左转、右转、停车等语音控制功能.二、设计要求2.1 功能要求:1.可以通过简单的 I/O 操作实现小车的前进、后退、左转、右转功能; 2.配合 SPCE061A 的语音特色,利用系统

6、的语音播放和语音识别资源,实现语音控制的功能; 3.可以在行走过程中声控改变小车运动状态; 4.在超出语音控制X围时能够自动停车。2.2 参数说明车体:双电机两轮驱动 供电:电池(四节 AA:1.2V4 或 1.5V4) 工作电压:DC 4V6V 工作电流:运动时约 200mA三、特性简介SPCE061A是一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的 ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。该单片机具有一套易学易

7、用的指令系统和集成开发环境,在此环境中,它支持标准 C 语言编程,也支持 C 语言与汇编语言的互相调用。另外还提供了语音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。 SPCE061A特性: 16位nSP微处理器; 工作电压:内核工作电压VDD为 3.0V3.6V(CPU),I/O口工作电压VDDH为VDD5.5V(I/O); CPU时钟:0.32MHz49.152MHz; 内置2K 字 SRAM; 内置32K 闪存 ROM; 可编程音频处理; 晶体振荡器; 系统处于备用状态下(时钟处于停止状态),耗电小于 2A3.6V; 2

8、个 16 位可编程定时器/计数器(可自动预置初始计数值); 2 个 10 位 DAC(数-模转换)输出通道; 32 位通用可编程输入/输出端口; 14 个中断源可来自定时器 A / B,时基,2 个外部时钟源输入,键唤醒; 具备触键唤醒的功能; 使用音频编码 SACM_S240 方式(2.4K 位/秒),能容纳 210 秒的语音数据; 锁相环 PLL 振荡器提供系统时钟信号; 32768Hz 实时时钟; 7 通道 10 位电压模-数转换器(ADC)和单通道声音模-数转换器; 声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能; 具备串行设备接口; 低电压复位(LVR)功和低电

9、压监测(LVD)功能; 内置在线仿真板(IC E,In-C ircuitEm ulator)接口。四、方案介绍小车的运动控制采用语音控制和中断定时控制相结合,通过语音触发小车动作,小车动作之后,随时可以通过语音指令改变小车的运动状态。在每一次动作触发的同时启动定时器,如果小车由于某些原因不能正常的接收语音指令,则只要定时时间一到,中断服务程序就会发出指令让小车停下来。 图1 控制系统所需硬件图一五、系统硬件设计系统的硬件方面,由于大部分的功能实现都是在61板上完成的,只有电机控制部分电路另外设计在一块独立的电路板上,我们称之为控制板。下面详细的介绍小车的结构和运行原理以及控制电路板的结构和功能

10、实现。图2 系统硬件框图图3 系统硬件组装效果图5.1 车体介绍语音控制小车为四轮结构。其中前面两个车轮由前轮电机控制,在连杆和支点作用下控制前轮左右摆动,来调节小车的前进方向。在自然状态下,前轮在弹簧作用下保持中间位置。后面两个车轮由后轮电机驱动,为整个小车提供动力。所以又称前面的轮子为方向轮,后面的两个轮子为驱动轮。5.2 小车的行走原理.直走:由小车的结构分析,在自然状态下,前轮在弹簧作用下保持中间状态,这是只要后轮电机正转小车就会前进。倒车:倒车动作和前进动作刚好相反,前轮电机仍然保持中间状态,后轮电机反转,小车就会向后运动。图4 小车前进、后退示意图左转:前轮电机逆时针旋转(规定为正

11、转),后轮电机正转,这时小车就会在前后轮共同作用下朝左侧前进。右转:前轮电机反转,后轮电机正转,这时小车就是会在前后轮共同作用下朝右侧前进。图5 小车转向示意图5.3 控制板原理图控制板主要包括:接口电路、电源电路和两路电机的驱动电路,控制板原理图如下。 接口电路:接口电路负责将61板的I/O接口信号传送给控制电路板,I/O信号主要为控制电机需要的IOB8IOB11这四路信号,同时为了方便后续的开发和完善,预留了IOB12IOB15 以及IOA8IOA15接口,可以在这些接口上添加一些传感器。电源部分:整个小车有4个电源信号:电池电源,控制板工作电源,61板工作电源,61板的I/O输出电源。系

12、统供电由电池提供,控制板直接采用电池供电(VCC),然后经二极管D1后产生61板电源SPCE061A 在语音控制小车中的应用(VCC_61),通过61板的Vio跳线产生61板的端口电源(V1)。 图6 小车控制电路图六、系统软件设计6.1 系统的主程序设计系统的主程序流程如下图所示:图7 主程序流程图共分为四大部分:初始化部分、训练部分、识别部分、重训操作。 初始化部分:初始化操作将 IOB8IOB11 设置为输出端,用以控制电机。必要时还要有对应的输入端设置和 PWM 端口设置等。 训练部分:训练部分完成的工作就是建立语音模型。程序一开始判断小车是否被训练过,如果没有训练过则要求对其进行训练

13、,并且会在训练成功之后将训练的模型存储到 Flash,在以后使用时不需要重新训练;如果已经训练过会把存储在 Flash 中的模型调出来装载到辨识器中。 识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然后等待动作命令。如果辨识结果为动作指令小车会语音告知相应动作并执行该动作,在运动过程中可以通过呼叫小车SPCE061A在语音控制小车中的应用的名字使小车停下来。重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61 板的 KEY3),循环扫描该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000 单元),并等待复位。复位后,程序重新执行,当检测到训练标志位

14、为 0xffff 时会要求重新对其进行训练。6.2 语音识别的原理简介语音识别主要分为“训练”和“识别”两个阶段。在训练阶段,单片机对采集到的语音样本进行分析处理,从中提取出语音特征信息,建立一个特征模型;在识别阶段,单片机对采集到的语音样本也进行类似的分析处理,提取出语音的特征信息,然后将这个特征信息模型与已有的特征模型进行对比,如果二者达到了一定的匹配度,则输入的语音被识别。语音识别的具体流程如下图所示:图8 语音识别流程图七、方向电机控制电路方向控制由前轮驱动实现,包括左转和右转,前轮驱动电路也是一个全桥驱动电路,如图9所示:Q7、Q8、Q9、Q10四个三极管组成四个桥臂,Q7和Q10组

15、成一组,Q11控制Q8、Q9的导通与关断,Q12控制Q7和Q10的导通与关断,而Q11、Q12由IOB10和IOB11控制,这样就可以通过IOB10和IOB11控制前轮电机的正转和反转,进而控制小车的左转和右转图9前轮电机驱动电路当IOB10为高电平、IOB11为低电平时Q8和Q9导通,Q7和Q10截止,前轮电机正转,小车前轮朝左偏转;反之当IOB10为低电平、IOB11为高电平时Q8和Q9截止,Q7和Q10导通,前轮电机反转,小车前轮朝右偏转;而当IOB10、IOB11同为低电平时Q8和Q9截止,Q7和Q10也截止,前轮电机停转,在弹簧作用下前轮被拉回到中间位置,保持直向。注意:IOB10、

16、IOB11不能同时为高电平,这样会造成前轮驱动全桥的桥臂短路。结合以上对前轮和后轮的状态分析,得到小车的运行状态与输入的对照表,如下表所示:(基本的输入与小车运动状态对照表)另外还有一些不常用的运行状态,比如右后转、左后转等,结合以上对前轮和后轮的状态分析,其端口对照如下表所示:(输入与小车的运动状态对照表)注意:为了小车的安全请不要出现以下两种组合情况,如下表所示:(禁止的输入状态列表)八、常见问题Q:为什么安装上电池以后,小车的指示灯不亮?A:这个应该是电源的原因,首先检查小车的电池安装是否正确可靠,正负极有没有接反;如果电池的安装是正确的,那么检测开关是否真正打开,开关上的连接线是否松动

17、,如果电源、开关和连接线都正常小车的指示灯仍然不亮的话,那可能就是 61 板出了问题。Q:为什么程序下载以后听不到提示音?A:首先确认程序已经下载到小车上且下载无误,如果这些都没有问题,请检查 61 板的 DAC 跳线是否正常以及喇叭的连接线是否正常。Q:为什么听到了提示音,但是不能对小车进行训练和控制?A:这种情况应该是小车不能正常的接收语音信号,其原因应该是 61 板的 MIC 坏掉,或者是语音输入电路出了问题Q:为什么小车执行的动作和我的指令不一致?A:这种情况是没有按照顺序来训练小车。小车的训练顺序是固定的“名字、前进、后退、左拐、右拐”。Q:为什么我训练的小车,别人也可以控制?A:这

18、个几率是很小的,因为语音识别本身允许一定的误差,不能保证我们每次说同一句话时都是一样的,这样就要求语音识别留出一定的误差X围,别人之所以能够控制就是他的声音对应的识别结果在这个误差允许X围之内。Q:为什么小车在光滑的地面能够正常的动作,但是在比较粗糙的地面就不行?A:这是因为小车是四驱的,转弯时摩擦力比较大,如果在光滑的地面上它可以靠打滑来减小这个摩擦,但是如果在比较粗糙的地面上就不能够打滑,那么电机就会堵转,所以最好不要再粗糙的地面让小车转弯,以免出现堵转烧坏小车的驱动电路。Q:为什么小车直走正常,但是不能正常的实现转弯?A:这仍然是车体的原因,由于车体是四驱的,而且前轮只能旋转,不能调节方

19、向,所以就靠一侧电机停转,另一侧电机正转或者反转来实现朝一侧旋转的目的。但是有时候虽然电机停转了,但是有动力的轮子会带着停转的轮子一起运动,不能够很好的转弯,有时转弯的半径会很大,不能达到理想的目的。出发,让小车在原地做一定角度的旋转(即一侧的轮子正转,另一侧的轮子反转),然后让小车直行,到 B 点处再重复执行原地旋转动作,然后再直行到达 C 点。如此一直到弧线的终点 H,这样就完成了一定弧度的转弯。图示为左拐的过程,右拐的原理是一样的,只是原地旋转的方向不同而已。九、结束语经过了两个多月的学习和努力,我终于完成了语音控制小车的论文。从开始接到论文题目到系统的实现,再到论文文章的完成,每走一步

20、对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。本设计综合应用了SPCE061A丰富的软硬件资源,成功的实现了语音控制功能。在硬件方面,有较高的执行速度、内置的硬件乘法器、ADC和DAC功能、内置的AGC自动增益环节,这些为语音处理提供了强大基础。在软件方面,标准的C语言编程,丰富的语音资源函数为编程提供了很大的方便。该设计方案结构简单,以单芯片实现了语音播放与识别以及电机控制功能,相当于“语音识别芯片+ 普通单片机”的功能。但是比“语音识别芯片+普通单片机”方案实现起来要简单很多,而且成本也会降低很多。该语音控制小车操作比较简单,训练和识别成功的几率也比较高,是一个典型的

21、语音识别应用方案。最后,我要特别感谢我的指导老师。是他在我毕业的最后关头给了我们巨大的帮助与鼓励,使我能够顺利完成毕业设计,在此表示衷心的感激.指导老师老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。附录 文件名称: PWM.asm 功能描述: PWM设置服务.DEFINE timefosc_2 0x0230; /clkA选择fosc/2Hz.DEFINE timefosc_256 0x0231; /clkA选择fosc/256Hz.DEFINE

22、 timeclk_32768 0x0232; /clkA选择32768Hz.DEFINE timeclk_8192 0x0233; /clkA选择8192Hz.DEFINE timeclk_4096 0x0234; /clkA选择4096Hz.DEFINE timeclk_2048 0x0205; /clkB选择2048Hz.DEFINE timeclk_1024 0x020d; /clkB选择1024Hz.DEFINE timeclk_256 0x0215; /clkB选择256Hz.DEFINE timeclk_4 0x0225; /clkB选择4Hz.DEFINE timeclk_2 0

23、x0065; /clkB选择2HzHz.DEFINE timepwm_1 0x0070; /脉宽选择1/6.DEFINE timepwm_2 0x00b0; /脉宽选择2/6.DEFINE timepwm_3 0x00f0; /脉宽选择3/6.DEFINE timepwm_4 0x0130; /脉宽选择4/6 .DEFINE timepwm_5 0x0170; /脉宽选择5/6 .DEFINE timepwm_6 0x01b0; /脉宽选择6/6 .DEFINE timepwm_7 0x01f0; /脉宽选择7/6 .DEFINE timepwm_8 0x0230; /脉宽选择8/6 .DEF

24、INE timepwm_9 0x0270; /脉宽选择9/6 .DEFINE timepwm_10 0x02b0; /脉宽选择10/6 .DEFINE timepwm_11 0x02f0; /脉宽选择11/6 .DEFINE timepwm_12 0x0330; /脉宽选择12/6 .DEFINE timepwm_13 0x0370; /脉宽选择13/6 .DEFINE timepwm_14 0x03b0; /脉宽选择14/6.DEFINE time_clk timefosc_256; /频率选择.DEFINE time_pwm timepwm_4; /脉宽选择 .DEFINE P_Timer

25、B_Data 0x700C;.DEFINE P_TimerB_Ctrl 0x700D;.DEFINE P_IOB_DATA 0x7005;.DEFINE P_IOB_DIR 0x7007;.DEFINE P_IOB_ATTRI 0x7008;.DEFINE P_Feedback 0x7009;.define p_watchdog_clear 0x7012;.DEFINE P_INT_CTRL 0x7010;.DEFINE P_INT_CLEAR 0x7011;.code.public _F_Pwm; _F_Pwm: push bp to sp; bp=sp+3 r1=bp+1; r1=0x02

26、00; IOB8设置为同相低电平输出口 P_IOB_DIR = r1; P_IOB_ATTRI = r1; r1 = 0x0000; P_IOB_DATA = r1; r1= 0x0030 P_TimerB_Data=r1; r2=bp+2; r2=0x0100; P_TimerB_Ctrl=r2; r1=0x0000; P_Feedback=r1; 设置IOB8口为APWMO端口 pop bp from sp; retf_FIQ:PUSH R1,R4 TO SP R1 = P_INT_Ctrl R1 &= 0x2000 JZ L_notTimerA 当不为TIQ_TMA,则转 R1 = _g

27、IsStopRecog JNZ L_BSR_NotBusy _gIsStopRecog为1则转至放音处理 CALL _BSR_FIQ_Routine 为0,调用辨识子程序 JMP L_BSR_Busy 返回中断L_BSR_NotBusy: 放音处理 R2 = _PlayFlag JNZ L_Play2000 _PlayFlag为1则是播放2000 CALL F_FIQ_Service_SACM_S480; 为0,播放480 JMP L_BSR_Busy 返回中断L_Play2000: 2000播放子程序 CALL F_FIQ_Service_SACM_A2000;L_BSR_Busy: 返回中

28、断 R1 = 0x2000 P_INT_Clear = R1 POP R1,R4 FROM SP; reti;L_notTimerA: R1 = 0x8800; P_INT_Clear = R1; POP R1,R4 FROM SP;RETI;.END参考文献单片机综合应用:XX科技作 者:姜尚坤单片机原理及应用:中国林业作 者:X刚凌阳大学计划.unsp./凌阳大学计划论坛.unsp./dvbbs/XXXX职业技术学院学生毕业综合实践成绩评定表专业班级学生XX学 号毕业综合实践题目指导教师评语:指导教师签字: 年 月 日答辩评语:答辩小组成员: 答辩小组组长签字:年 月 日成绩评定平时成绩(占20分)书面材料评阅成绩(占60分)答辩小组成员编号12345平均成绩答辩评分(百分制)答辩成绩(占20分)总成绩评定等级专业系审核意见:系主任签字(盖章): 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1