《电气自动化技术专业毕业设计.doc》由会员分享,可在线阅读,更多相关《电气自动化技术专业毕业设计.doc(38页珍藏版)》请在三一办公上搜索。
1、毕 业 设 计(论文)题 目: 凌阳单片机声控小车 摘 要 在现代社会的生产活动,以及人们的日常生活中,单片机有着广泛的应用。而目前在国内各大专院校的电子相关专业课程中,单片机这门课也越显得重要;然而由于单片机本身的特点,以及其应用存在多学科相结合的特点,我们想熟练掌握、精通单片机技术并不是一件容易的事。目前,各个学校与电相关专业的学生除了在课堂上学习单片机的知识外,还会通过课程设计、实践创新的环节中加强学生的单片机应用知识,而在学生最后环节的毕业设计中也在鼓励采用单片机制作一个具有一定功能的作品。我这次做的就是以凌阳61单片机为基础来语音控制小车的前进、后退、左转、右转等功能的一个毕业设计。
2、在这次毕业设计过程中,我接触到了许多新知识、新伙伴、新环境更重要的是我在这次毕业设计中学到了许多东西关于专业知识的以及许多课堂上学不到的东西,真的是收获颇多!下面我大致给大家介绍一下我的毕业设计的大致内容,主要分为一下几大部分 :第1章:所需硬件的简单介绍第2章 系统设计方案2.1 方案论证方案一: 采用MCS-51 系列单片机实现,由于有语音识别和语音播放功能,所以需要扩展语音识别模块和语音播放模块,这样必然造成端口的资源紧张,所以还必须加入接口扩展芯片。该实现方案结构如图 12.1 所示。图2.1 采用MCS-51系列单片机实现语音控制小车方案二: 采用SPCE061A实现语音控制小车方案
3、,由于SPCE061A内部具有语音识别和语音播放功能,所以只需要扩展基本的MIC 和语音功放即可,该方案结构如图 12.2 所示。图 12.2 基于SPCE061A的语音控制小车实现方案比较以上两个方案,方案二结构简单,易于操作,故选则方案二。2.2 系统硬件方案系统的结构框图如图2.3 示。控制板61板图2.3系统结构框图系统组成主要包括以下两部分:SPCE061A精简开发板、语音小车控制电路板。 图中的语音输入部分MIC_ IN、按键输入KEY、声音输出部分的功率放大环节等已经做到了精简开发板61 板上,为我们使用提供了很大的方便。在电机的驱动方面,采用全桥驱动技术,利用四个I/O端口分为
4、两组分别实现两个电机的正传、反转和停三态运行。2.3 系统功能实现语音控制小车的主要功能: 1. 可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能; 2. 配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能; 3. 可以在行走过程中声控改变小车运动状态; 4. 在超出语音控制范围时能够自动停车。第3章 系统硬件设计3.1 61 板介绍SPCE061A精简开发板(简称 61 板),是以凌阳16 位单片机SPCE061A为核心的精简开发仿真实验板,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的
5、,也可作为单片机项目初期研发使用。 3.1.1 61 板的结构和功能 61 板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含 MIC 输入部分和 DAC 音按键SPCE061芯片IO接口下载接口音频电路复位电路电源电路频输出部分) 、复位电路等,采用电池供电,方便随身携带。61 板上有调试器接口(Probe 接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合 unSP IDE,可方便地在板上实现程序的下载、在线仿真调试。图 1.1 是 61 板(V1.6 版)的实物图。 图 3.1 61板实物图 图 3.2 SPCE061 板硬件框图名称 说
6、明 POWER 5V 和 3.3V 供电电路 S4 复位按键 S5 EZ-PROBE 和 PROBE 切换的 3 pin 排针 EZ-PROBE 下载线的 5 pin 接口 MIC 麦克风输入电路 VRT A/D 转换外部参考电压输入接口 K1K3 扩展的按键,接 IOA0IOA2 PLL 锁相环外部电路 RESET 复位电路 PROBE 在线调试器 5 pin 接口 J3 2 pin 喇叭插针 OSC 32768Hz 晶振电路 PORTA/B 32 个 I/O 口3.1.2 各部分电路的简介(1) SPCE061A 最小系统SPCE061A 最小系统中,包括 SPCE061A 芯片及其外围的
7、基本模块,其中外围的基本模块有:晶振输入模块(OSC) 、锁相环外围电路(PLL) 、复位电路(RESET) 、指示灯(LED)等。如图3.3.图 3.3 SPCE061A最小系统(2) 电源电路电源部分的电路,由电池盒提供的 4.5V直流电压经过 SPY0029 后产生 3.3V给整个系统供电。SPY0029 是凌阳公司设计的电压调整 IC,采用 CMOS 工艺,具有静态电流低、驱动能力强、线性调整出色等特点,如图3.4 图中的 VDDH3 为 SPCE061A的 I/O电平参考,如果该点接 SPCE061A(PLCC84 封装,下面的介绍中当出现 SPCE061A的引脚描述时,均指此封装的
8、芯片)的 51 脚,可使 I/O输出高电平为 3.3V;VDDP为PLL锁相环电源, 接SPCE061A的7脚; VDD和VDDA分别为数字电源与模拟电源, 分别接SPCE061A的15脚和36脚; AVSS1是模拟地, 接SPCE061A的24脚; VSS是数字地, 接SPCE061A的38脚; AVSS2接音频输出电路的 AVSS2。图 3.4 电源电路图 (3) 音频电路音频电路由音频输出和音频输入两部分组成。下图3.5是音频输出电路图。SPCE061A内置 2路10 位精度的 DAC,只需要外接功放电路即可完成语音的播放。图中的 SPY0030 是凌阳的一款音频放大芯片,可以工作在 2
9、.46V范围内,最大输出功率可达 700mW。 SPCE061A 芯片中已经集成了音频输入专用 ADC 以及 AGC 放大电路,因此芯片外部的电路比较简单,61 板的音频输入电路模块见附录。图 3.5 音频电路图 图 2.6 音频输入模块(4) ICE 接口电路SPCE061A芯片内部集成了 ICE(在线仿真)接口,PC 机通过 Probe(在线调试器)或 EZ_Probe(简易下载线)与 61 板相连,就可以方便地完成程序的下载、调试等。61 板为 Probe 和 EZ_Probe 各自提供了一组接口,可通过 S5 跳线来选择使用的接口类型。ICE 接口部分电路见附录。1.1 小车驱动板简介
10、小车的驱动板是根据以下电路图自己焊接的,总共有两块儿分别驱动左右两个电机。该电路主要是通过8550和8050两种三极管来驱动电机的。下面是实物图:1.2 小车车体简介第4章 系统软件设计本方案的软件系统主要包含下列模块:1. 系统的总体程序流程:主控程序负责控制整个系统的工作流程。1) 初始化部分:初始化操作将 IOB8IOB11 设置为输出端,用以控制电机。必要时还要有对应的输入端设置和PWM 端口设置等。2) 训练子程序:3) 语音识别子程序;4) 动作子程序包括:前进、倒车、左拐、右拐、停车子程序。5)中断子程序;4.1 系统的总体程序流程 系统的总体程序流程如图 12.11 所示:图
11、12.11 系统总体程序流程图语音识别小车的主程序流程如图 12.11 所示,分为四大部分:初始化部分、训练部分、识别部分、重训操作。 初始化部分:初始化操作将 IOB8IOB11 设置为输出端,用以控制电机。必要时还要有对应的输入端设置和PWM 端口设置等。 训练部分:训练部分完成的工作就是建立语音模型。程序一开始判断小车是否被训练过,如果没有训练过则要求对其进行训练,并且会在训练成功之后将训练的模型存储到FLASH,在以后使用时不需要重新训练;如果已经训练过会把存储在FLASH 中的模型调出来装载到辨识器中。 识别部分:在识别环节当中,如果辨识结果是名字,停止当前的动作并进入待命状态,然后
12、等待动作命令。如果辨识结果为动作指令小车会语音告知相应动作并执行该动作,在运动过程中可以通过呼叫小车的名字使小车停下来。 重训操作:考虑到有重新训练的需求,设置了重新训练的按键(61 板的KEY3) ,循环扫描该按键,一旦检测到此键按下,则将擦除训练标志位(0xe000 单元) ,并等待复位。复位后,程序重新执行,当检测到训练标志位为0xffff时会要求重新对其进行训练。 下面详细介绍以上提到的子程序。12.5.2 系统子程序设计:训练子程序:当程序检测到训练标志位BS_Flag内容为0xffff,就会要求操作者对它进行训练操作,训练操作的过程如图 12.12 所示:训练采用两次训练获取结果的
13、方式,以训练名字为例:小车首先会提示:给我取个名字吧, 这时你可以告诉它一个名字 (比如Jack) ; 然后它会提示: 请再说一遍, 这时再次告诉它名字 (Jack) ,如果两次的声音差别不大,小车就能够成功的建立模型,名称训练成功;如果没能够成功的建立模型,小车会告知失败的原因并要求重新训练。成功训练名称后会给出下一条待训练指令提示音:前进,参照名称训练方式训练前进指令。依次训练小车的名称前进指令倒车指令左转指令右转指令,全部训练成功子程序返回,训练结束。语音识别子程序: 语音识别流程如图 12.13 所示:首先获取辨识器的辨识结果,判断是否有语音触发,如果有语音触发则会返回识别结果的ID号
14、,ID号对应名称或者对应不同的动作。如果ID号为名称,则结束运动(如果当前在运动状态) ,进入待命状态,等待下一次的指令触发;如果 ID 号为动作,则语音告知将要执行的动作,并执行该动作。图 12.13语音识别部分流程图图 12.13语音识别部分流程图 动作子程序: 动作子程序包括:前进、倒车、左拐、右拐、停车子程序。 前进:由小车的结构原理和驱动电路分析知:只要IOB8 为高电平,IOB9,IOB10,IOB11 全部为低电平即可实现小车的前进。前进子程序包括语音提示、置端口数据、启动定时器操作。 倒车:由小车的结构原理分析和驱动电路分析知:只要IOB9 为高电平,IOB8,IOB10,IO
15、B11全部为低电平即可实现小车的倒退。倒退子程序包括语音提示、置端口数据、启动定时器操作。 左转:由小车的结构原理分析和驱动电路分析知:小车左转需要两个条件:1.前轮左偏2.后轮前进,这时对应的 I/O 状态为:IOB8、IOB10 为高电平,IOB9、IOB11 为低电平。左转子程序包括语音提示、置端口数据、启动定时器操作。 右转:由小车的结构原理分析和驱动电路分析知:小车右转需要两个条件:1.前轮右偏2.后轮前进,这时对应的 I/O 状态为:IOB8、IOB11 为高电平,IOB9、IOB10 为低电平。右转子程序包括语音提示、置端口数据、启动定时器操作。 注:在转弯之前首先让前轮朝目标方
16、向的反方向偏转,然后再让前轮朝目标方向偏转,这样前轮的摆动范围更大,惯性更大,摆幅也最大,能更好实现转弯。中断子程序: 虽然已经有了前进、后退以及停车(通过直接呼叫小车的名字使其停车)等语音控制指令,但是考虑环境的干扰因素,小车运行时的噪音影响和有效距离的限制,小车运行后可能接收不到语音指令而一直运行。为了防止出现这种情况,加入了时间控制,在启动小车运行的同时启动定时器,定时器时间到停止小车的运行,该定时器借助于 2Hz 时基中断完成,图 12.14 所示为该程序的流程图。可以在程序中修改uiTimeset 参数来控制运行时间,当uiTimeset=2 时,运行时间为1s,以此类推。图 12.
17、14 2Hz定时中断子函数第六章 系统调试6.1系统调试6.1.1 是否下载自检程序检查是否下载自检程序检测步骤和现象 拿到 61 板后,为确保 61 板正常,请先进行自检操作,如果自检操作全部通过,那么证明这块 61板完好,便可以用它来制作自己喜爱的东西了。首先便是检查你手中的 61板是否已经下载自检程序,具体的检查步骤如下: 1. 将喇叭的接口插入 61 板上标号为 J3 的 2pin 座上; 2. 将 EZ_PROBE 口和 PROBE 口之间的选择跳线即 S5,用短接子将 1、2 管脚短接; 3. 将电池盒插入 J10 中,打开开关,红色发光二极管点亮; 4. 按下复位键 S4,会听到
18、“欢迎进入自检模式”的语音提示。此时说明 61 板已经下载自检程序。YN按下按键4,听到“欢迎进入自检模式”的语音提示将喇叭接口插入61板J3上将S5的12管脚用短接子短接未下载自检程序,马上下载自将程序将电池盒插入J10中,并打开开关已经下载自检程序,可以进行自检图6.1 检测是否下载自检程序的步骤下载自检程序步骤介绍 1. 需要的工具 IDE 集成开发环境 下载线 电 源 排 线 喇 叭2. 在哪里可以找到自检程序凌阳产品资料光盘 精简开发板-61板文件夹下自检程序文件夹中便可以找到。 凌阳科技大学计划网站 凌阳科技大学计划网站 下载专区 开发工具资料 61 板 就可以看到“SPCE061
19、A精简开发板-61板自检程序” ,路径: 3. 如何下载自检程序 (1) 将喇叭的接口插入61板上标号为J3的2pin座上; (2) 将EZ_PROBE口和PROBE口之间的选择跳线即S5,用短接子将2、3管脚短接; (3) 将下载线的5pin插头与61板上标识为“EZ_PROBE”字样的5pin的插座相连,即J11; (4) 将下载线的25pin插头与PC机25pin并行口相连; (5) 将电池盒插入J10中,打开开关,红色发光二极管点亮; (6) 在IDE集成开发环境中打开自检程序; (7) 下载即可。将喇叭接口插入61板J3上将S5的23管脚用短接子短接未下载自检程序,马上下载自将程序将
20、下载线连接到61板盒PC机已经下载自检程序,可以进行自检未下载自检程序,马上下载自将程序6.1.2 自检过程将自检程序下载完毕后,从 61 板上拔掉下载线,便可以进行脱机自检了。 准备工作 1. 将喇叭的接口插入 61 板上标号为 J3 的 2pin 座上; 2. 将 EZ_PROBE 端口和 PROBE 端口之间的选择跳线即 S5,用短接子将 1、2 管脚短接; 3. 用1 根 10pin 的排线将 IOA 端口的低 8 位与 IOB 端口的低 8 位相接;用另外 1 根 10pin 的排线将 IOA端口的高 8 位与 IOB 端口的高 8 位相接。 注意:IOA端口与 IOB 端口的连接必
21、须一一对应,即 IOA1 与 IOB1 相连,IOA2 与 IOB2 相连等。4. 将电池盒插入 J10 中,打开开关,红色发光二极管点亮; 自检步骤 1. 按下复位键 S4,会听到“欢迎进入自检模式,I/O测试成功”的语音提示; 【现象】会听到“欢迎进入自检模式,I/O测试成功”的语音提示,此时 I/O端口测试已经通过;2. 按 KEY1 键进行睡眠功能测试;【现象】如果测试成功,会看到绿色的发光二极管闪亮一下,并有语音提示“睡眠测试成功” ,否则会提示“睡眠测试失败” ;3. 按下 KEY2 键进行 A/D转换的测试; 【现象】语音提示: “A/D测试成功” ,否则提示“A/D测试失败” ; 4. 拔掉第一步测试时的 2 根排线,并按下 KEY3 键测试 MIC输入及 D/A转换输出是否正常(注:在按下 KEY3 键后,喇叭会发出啸叫声,用手按在 MIC 可消除啸叫声) ; 【现象】可以在 MIC 上轻轻的拍几下,同时听是否有声音输出,如果有,则说明 MIC 输入和 D/A转换输出部分正常。
链接地址:https://www.31ppt.com/p-3989510.html