【毕业学位论文】(Word原稿)智能小车的设计与制作-计算机技术_第1页
【毕业学位论文】(Word原稿)智能小车的设计与制作-计算机技术_第2页
【毕业学位论文】(Word原稿)智能小车的设计与制作-计算机技术_第3页
【毕业学位论文】(Word原稿)智能小车的设计与制作-计算机技术_第4页
【毕业学位论文】(Word原稿)智能小车的设计与制作-计算机技术_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010 届毕业设计说明书 智能小车的设计与制作 系 、 部: 电气与信息工程系 学生姓名: 指导教师: 职称 副高 专 业: 电子信息工程技术 班 级: 电信 0702 班 完成时间: 2010 年 5 月 摘 要 根据任务书要求,本设计采用 2 片 片机构成主从式的控制系统,双机采用串行口进行通信。红外遥控部分采用遥控车模专用编、解码芯片 高控制的可靠性;同时,采用超声波传感器进行障碍识别。采用步进电机对小车的转向进行精确的控制,同时用红外传感器对转向的角度进行校正。此外,采用四位 码管和若干 用 录小车的行驶轨迹,并能按照所记录的轨迹自动行驶。 本次设计基于完备的软硬件系统,很好的实现了小车任意曲线行驶、路线记录与重放、自动避障并发出指示信息等功能。 关键词: 单片机;超声波传感器;红外遥控 to my to to a of CU is to 1 of it to on to in to on of go to of to of is on of of it 目 录 1 绪 论 . 1 述 . 1 计要求及主要功能介绍 . 1 动控制功能 . 2 声避障功能 . 2 录路线与重放路线功能 . 2 控功能 . 2 他功能 . 3 列单片机简介 . 3 2 系统总体设计 . 6 统功能模块的划分 . 6 片机数目的选定 . 6 统原理框图 . 7 章小结 . 7 3 硬件电路的设计 . 8 外遥控模块的设计 . 8 控模块的功能需求 . 8 解码芯片的选型 . 8 控模块电路图 . 8 控电路与语音识别模块的连接 . 10 码管、发光二极管显示模块的设计 . 10 位数码管扫描显示原理 . 10 作状态指示灯及转向灯的设计 . 10 示模块电路图 . 11 音提示功能的设计 . 11 声测距模块的设计 . 12 声测距的理论依据 . 12 声发射电路 . 12 声接收电路 . 13 驶路线的记录与重放模块的设计 . 14 模块的功能概述 . 14 储记录的格式 . 14 音识别功能的设计 . 15 阳语音压缩算法 . 15 动电路的设计 . 15 小系统图 . 16 章小结 . 18 4 系统软件的设计 . 19 片机的 C 语言程序设计简介 . 19 统的两种工作模式 . 19 动模式的设计 . 20 数字及路线重放模式的设计 . 20 音识别模块的软件设计 . 20 机串行通信模块的软件设计 . 22 信方式的选型 . 22 机串行通信的软件设计 . 22 动模式下记录行驶路线功能的软件设计 . 22 放行驶路线功能的软件设计 . 23 声测距任务的软件设计 . 24 章小结 . 25 5 系统的组装、调试和测试 . 26 统的组装、调试 . 26 控距离的测试 . 26 间显示功能的测试 . 26 声测障碍功能的测试 . 27 驶路线记录与重放功能的测试 . 27 音识别功能的测试 . 27 章小结 . 28 结 论 . 29 参考文献 . 30 致 谢 . 31 附录 A . 32 1 1 绪 论 述 随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的。 智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。智能电动车就是其中的一个体现 。 单片机以其强大的控制能力已经被广泛应用于诸多领域,配以各种接口传感器可以实现系统的智能 化。无论是在工业控制领域、医疗卫生领域、还是在国防军事领域、航天航空领域,微控制器都起着举足轻重的作用。从最初的 8 位控制器到现在的 16 位、 32 位控制器都还有很大的发展和应用空间。 语音识别技术也日趋完善,在机器人领域,要想用语言和机器人“交谈”,首先就要解决语音的识别问题。可以用语音识别技术做成电话声控拨号、声控家电、儿童玩具等。语音识别技术还有待于进一步的发展。 计要求及主要功能介绍 根据题目要求,本设计需要完成的以下几项功能: ( 1)红外遥控功能,启停、自动或手动; ( 2)前或后直线行进; ( 3)任意曲线行进; ( 4)测距避障功能; 另外,在设计过程中又扩展了一些功能,比如声控功能、记录与重放行驶路线功能等。 2 动控制功能 在手动控制模式下,可以控制小车的前进、后退、左转、右转、停止、漏粉、显示时间,若在行驶过程中遇到障碍小车将自动停止,并发出声光警告信号。同时,在转弯或后退时相应的转向灯和倒车灯会闪烁发光,小车接收到一个按键命令后除了执行相应的动作外蜂鸣器还会响一声,以告知操作者已收到了命令。 在手动控制模式下,还设置了一个记录行驶路线的开关。操作者按下这个开关后,先选择这一次记录 的路线的名称,此后对小车的控制命令将被存入 ,直至操作者再按下一次这个开关结束这次路线的记录。记录的路线可在重放路线模式下重放。 声避障功能 在手动模式、自动寻找光源模式、重放路线模式下超声测障模块始终工作。在前进时发现前方有障碍,或在后退时发现后方有障碍小车都将立即停车,并发出声光报警信号告知操作者。障碍检测的距离调整在 20 厘米内,即只有在 20 厘米之内有障碍时小车才会做出避让动作,在这个范围之外的障碍小车不予处理。 录路线与重放路线功能 在手动模式下打开记录路线开关 ,开始记录路线;在重放路线模式下选择重放的路线,开始重放指定的路线。在重放过程中遇到障碍或操作者按下“停止”键将结束本条路线的重放,等待选择下一条需要重放的路线或选择另外一种模式。 控功能 本设计采用凌阳 61 板做了声控系统。打开遥控器电源后开始训练语音命令,由于受到单片机内的 量的限制只能录 片机的基本结构如图 示,其基本结构包括: 8 位 3 片内震荡器及时钟电路; 32 根 I/O 口线; 外部存储器 址范围各为 64 2 个 16 位定 时器 /计数器; 5 个中断源, 2 个中断优先级; 小车还具有走数字功能,即小车可按照事先由程序设置好的路线行走,并洒下粉末,显示出一个数字。 除此之外,小车上还有左、右转向灯,倒车灯,障碍指示灯,模式指示灯,蜂鸣器报警电路,小车状态一目了然。 语音命令,分别是前进、后退、左转、右转、停止。当识别出某条语音命令时和直接按下相应的按键等价,红外发射电路都会给小车发出相应的命令。操作者在使用声控功能时有语音提示音,所以操作很简便、快捷。 制 5 条语音命令,分别是前进、后退、左转、右转、停止。当识别出某条语音命令时和 直接按下相应的按键等价,红外发射电路都会给小车发出相应的命令。操作者在使用声控功能时有语音提示音,所以操作很简便、快捷。 他功能 小车还具有走数字功能,即小车可按照事先由程序设置好的路线行走,并洒下粉末,显示出一个数字。 除此之外,小车上还有左、右转向灯,倒车灯,障碍指示灯,模式指示灯,蜂鸣器报警电路,小车状态一目了然。 列单片机简介 片机的基本结构如图 示,其基本结构包括 : 8 位 片内震荡器及时钟电路; 4 32 根 I/O 口线; 外部 存储器 址范围各为 64 2 个 16 位定时器 /计数器; 5 个中断源, 2 个中断优先级; 全双工串行口; 布尔处理器。 8051 单片机的存储器结构特点之一是程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛结构单片机。 8051 单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器;片内数据存储器和片外数据存储器。 8051 单片机有 4 个 8 位的并行接口,记作 32 根口线,实际上它们就是 的 4 个。这 4 个接口特性上主 要差别是 还有第二功能,而 只能用做 I/O 口。 4 个口的驱动能力也是不相同。 能驱动 3 个 ,并且时钟电路 时器 /计数器 行接口 串行接口 中断系统 00 051 单片机的基本结构 5 不需外加上拉电阻就能驱动 路。 驱动 8 个 ,但驱动 路时,若作为地址 /数据总线,则可以直接驱动;而作为I/O 口时,需外接上拉电阻才能驱动 路。 6 2 系统总体设计 统功能模块的划分 按照设计要求,系统可以分为以下几个基本功能模块:遥控模块、显示模块、超声测距避障模块、记录与重放路 线模块、里程检测模块等。 有些模块的功能是由硬件完成,有些模块的功能由软、硬件配合完成,有些模块则是由软件、硬件、机械三部分共同完成。 将系统拆分成以上的这些基本功能模块后,再根据各个模块所要完成的功能分别去设计,也就是按照“逐步求精”的思想去设计本系统,这将使设计工作细化,也有助于制定进度安排。 片机数目的选定 由于系统需要完成的功能较多, 负荷也较重,再加之单片机内的定时器 /计数器、中断、 I/O 口等资源有限,如果选用一片单片机必将会给系统的设计带来一些困难。所以可以考虑采用两个单片机构成主 从式的结构,各分担一部分控制与运算功能,这样两个单片机可同时工作。所谓主从式结构是指从单片机片机根据主单片机发出的命令来完成某项功能,并且把结果报告给主单片机,这样的结构在某种程度上可以简化系统。 主单片机负责红外遥控接收、显示、小车的运动以及处理遥控命令等功能;从单片机则主要负责超声测距、检测光源方位这两项比较费时的功能,在探测到障碍或探测到光源时将有关信息报告给主单片机进行处理,并由主单片机来采取相应的措施。 本设计中采用了两片 片机,通过串行接口通信。因为两个单片机之间的距离很近,所以串 行口可以工作在较高的波特率上,可以让串行口工作在方式 2,其特点是其波特率高,并且波特率 7 可以直接从晶振 32 分频、或 64 分频而得到,不需要占用定时器资源。 统原理框图 系统原理框图如图 示: 章小结 本章将系统拆分成了若干个功能模块,采用两个 片机来各分担一部分功能。在软件方面通过对结构的特殊设计,实现了多任务并发运行,并通过软件的分层结构将功能实现和具体的硬件分离开,再加上消息驱动的结构,给后续的各模块软件的设计带来方便。 主控单片机 从单片机 遥控接收 显示模块 里程检测 路线记录 漏粉控制 前轮转向 超声探测障碍 光源方向探测 后轮驱动 串行通信 遥控发射 语音识别 图 统原理框图 按键 8 3 硬 件电路的设计 外遥控模块的设计 控模块的功能需求 遥控模块采用红外遥控方式,因为采用红外遥控抗干扰能力强,且不会对周围的无线电设备产生干扰电波,接口简单;但是红外方式遥控的距离比较有限,一般在几米之内。鉴于本设计不需要远距离遥控,所以综合考虑之下采用红外遥控较为合适。 本设计中要求能用遥控器控制小车的前进、后退、左转、右转、停止、记录路线等很多种功能;遥控距离在几米之内即可;并且要在遥控发射模块加入语音识别模块,能够实现声控功能。 解码芯片的选型 由于在遥控端的按键数 目有多个,而红外通道传输的只能是由 0、1 组成的串行代码,所以需要在发射端对按键进行“并 码,在接收端相应的要进行“串 码。码的波特率在收、发两端应该是一致的。 方案一,使用 解码芯片,其特殊的编码方式保证了信息的可靠传输,但是外围器件参数的选定较为烦琐,并且不能利用到其所提供的地址功能,也就是说传输的信息当中地址码部分是多余的,这就降低了信道的利用率。 方案二,采用 台湾瑞昱公司生产的专用于遥控车模的 规模集成电路 编解码芯片具有 5 种控 制功能,使用方便,所以本设计中采用了该方案。 控模块电路图 遥控模块发送部分电路如图 示。 11 脚和 12 脚之间 9 接的电阻决定振荡频率; 3 脚接地; 10 脚接 3源; 14 脚、 1 脚、4 脚、 5 脚、 6 脚分别为 5 路发射控制端; 9 脚为发射指示端,当有按键按下时 光提示; 7 脚为带载波的编码信号输出端,即编码信号已经内调制到 38载波上,该脚的信号通过一个 三极管放大后可直接驱动红外发射二极管发射信号; 8 脚为不带载波的编码信号输出端。 控发射端按键数目 的扩展 遥控接收电路如图 示。 4 脚和 5 脚之间接的电阻阻值要和 11 脚、 12 脚间的电阻阻值接近,相差在 20%之内方可图 控发射电路图 图 控接收电路图 10 正确的解码,本设计中这两个电阻都选用 1502 脚接地; 13 脚接3源; 3 脚接输入信号,由一体化红外接收头 1838 输出的信号需要加一个反向器才是正确的编码信号; 6 脚、 7 脚、 10 脚、 11 脚、12 脚为 5 路遥控命令的输出端,分别和 5 路输入端的状态相对应。 另外,为了方便操作,将 5 路功能扩展成 9 功能,即在遥控发射端可以接 9 个按键。这是通过对原 先的 5 路输入进行组合得到的。 控电路与语音识别模块的连接 语音识别模块采用凌阳 61 板,可以将 片机的输出引脚直接接到 输入端,与按键实现“线与”功能,这样遥控发射端的按键和凌阳单片机都可以通过遥控电路给小车发送命令 。 码管、发光二极管显示模块的设计 位数码管扫描显示原理 码管是常用的显示器件,数码管的每一段相当于一个发光二极管,各个发光二极管的阳极或阴极接在一起,分别称作共阳极数码管和共阴极数码管。本设计中采用的是共阴极数码管。 对于多个 数码管的显示,有静态方式和动态扫描方式。本设计中用了 4 个共阴极数码管,并采用动态扫描方式显示。扫描显示的原理是将各个数码管的段码端口分别并联在一起,由位选端口轮流选通各个数码管,并让每个数码管分别显示几毫秒,由于人眼的视觉惯性,看到的将是多个数码管同时在显示。 作状态指示灯及转向灯的设计 为了直观的显示出小车的各种状态,设计了若干发光二极管指示灯,有模式指示灯、漏粉指示灯、记录行驶路线指示灯、障碍指示灯、转向指示灯、倒车指示灯。 11 示模块电路图 显示模块电路如图 示: 显示任务由主单片机完成。 别接到 74串行数据输入端和移位脉冲端,产生数码管选通信号。 到 74存 给出的段码数据。在完成锁存后由 直接驱动 8 个 光二极管,作为小车的状态指示。为了在 74存数据时避免状态指示灯的闪烁,用 制状态指示灯的选通。在74存数据期间 高电平,全部熄灭状态指示灯;在锁存结束后, 给出正确的电平后再置 电平。同样在 4 个数码管扫描显示的过程中也应避免 数码管的闪烁 。 音提示功能的设计 和状态指示灯的设计目的一样,给小车加入声音提示功能也是为了更直观地显示各种状态。在操作者通过遥控器给小车发出命令后,蜂鸣器将响一声,及时的提示操作者已经收到命令。这是挺有必要的,因为红外遥控方式并不是很可靠,有时操作者发出的遥控命令小车可图 示模块电路图 12 能是收不到的,因此操作者几乎处于“盲操作”状态。加入了声音提示功能后,小车有没有接收到遥控命令很容易就能知道了。此外,当小车遇到障碍时也会给出声音报警信号。 本设计中所采用的蜂鸣器使用很简便,只需给其正负端加上 5出声音,在其内部已经含有一个振荡电路。工作电流大约 10此可以用 的某一位直接驱动。 声音提示功能被设计成一个单独的任务,原因是为了能让蜂鸣器响若干声,而同时单片机又能做其他的事情。其他模块通过 n)函数设置静态变量 诉声音提示模块需要响 n 声,大约 50毫秒响一声后自动会将 去 1,一直减到 0 后不再发声。 声测距模块的设计 声测距的理论依据 超声测距的依据是超声波在空气中以一定的速度传播,遇到障碍后声波反射回来,被超声波接收传感器检测到, 根据发射和接收到回波之间的时间差 t 就可以计算出障碍的距离。图 超声测距原理图。 声发射电路 发射电路要求能给出 40方波,可以由硬件电路振荡产生,也可以用软件产生,本设计中采用软件产生的方式。将某个 I/O 口置发射传感器 接收传感器 超声波 回波 障碍 直接耦合 图 声测距原理图 13 成 1 后执行 12 个空指令,再将这个 I/O 口置成 0 后执行 9 个空指令,加上循环结构需要两个时钟周期正好是 25 个时钟周期,采用 125 微秒。每次发 10 个周期的超声波。 由于本设计中超声探测的距离不需要太远,所以可以用单片机的某一位接上拉电阻后直接来驱动超声发射传感 器。 本设计中共有两路超声波传感器,一路探测前方是否有障碍,一路探测后方是否有障碍。为了工作时互不干扰,采取分时工作的方式。 图 声发射原理图 声接收电路 超声接收电路是通过由前后两个超声波接收传感器共用一个接收电路,因为前后两路是分时工作的,所以并不会引起混淆。 在接收回波时要注意一点,应该消除超声发射和接收传感器之间的直接耦合,这可以在每次发射完一个超声波束后设置一个时间门的方法来消除。 14 图 声接收电路 驶路线的记录与重放模块的设计 模块的功 能概述 要求小车在手动控制模式下能具有自动记录行驶路线的功能,并且能够按照记录下来的路线自动行驶。 考虑到单片机内部的 量非常有限,而且在掉电后存储内容也会丢失,所以本设计中采用一片 线接口的串行 反复擦写 100 万次,信息可长期保存。 储记录的格式 在手动控制模式下,操作者可以给小车发出“前进”、“后退”、“左转”、“右转”、“停止”、“漏粉”等命令。小车的行驶路线也完全由以上这些命令和各命令之间的时间间隔决定。由于小车的速度恒定,所以时间的间隔也可转换成行驶里程的间隔。所以,可以用记录命令的类型和两个命令之间的里程差的方法来记录行驶的路线。本设计中只记录以上列出的 6 条命令,需要 3 个二进制位;两个命令之间的里程用 13 个二进制位来记录,也就是最大允许两个命令间的里程差在 81米之内。每个记录共需 2 个字节,具体的记录类型如图 示: 命令类型 和前一个命令发 出时的里程差 15 13 0 12 图 录的类型 15 音识别功能的设计 本设计中采用凌阳 61 板设计语音识别模块, 带了很多 用户编程开发带来很大方便。 语音识别的一般过程如图 示: 阳语音压缩算法 凌阳音频压缩算法根据不同的压缩比分为以下几种: 压缩比为 8:, 8: 8:压缩比为 80:3 , 80: 压缩比为 80:音质排序: 480驱动电路的设计 直流电机控制原理为采用高性能单片机 出可调占空比的波。电机驱动芯片为 流电机驱动就是利用 宽控制流输出大小。其电路图如图 示 : 初始化 调用训练模块 初始化识别器 启动实时监控 识别处理 图 音识别原理框图 16 图 动电路图 小系统图 该系统主要用到的是单片机,所以主要的部分是最小系统图,该最小系统图如图 示: 17 图 小系统图 18 章小结 本章介绍了各模块的功能及软、硬件的设计思路和实现方法。完成一项功能往往有多种实现方式,在这种情况下就要综合考虑诸多因素,权衡利弊, 找出一种“最优方案”。例如,遥控模块选择哪种编、解码芯片;选择哪种数码管显示方式以及选择哪种光源亮度检测电路等等,都要经过对照比较后才会发现哪种更合适些,当然有时这是很难确定的。 系统的各模块是相对独立的,怎样将这诸多没有多大联系的模块组合成一个整体呢?这就是靠下一章将要介绍的系统的软件实现的。 19 4 系统软件的设计 片机的 C 语言程序设计简介 单片机的开发语言主要有汇编语言和 C 语言,很多人认为汇编语言易学易用,因为没有太多的语法。但是对于一个较大规模的软件系统使用汇编语 言开发将遇到很大的困难。开发周期长、代码可读性差、不易维护。 而 C 语言就克服了汇编语言的很多缺点,和汇编语言相比具有以下几个显著的优点: ( 1) C 语言是一种结构化的编程语言,可以减轻程序员的负担,让程序员把更多的精力放在功能的实现上; ( 2)代码的可读性好、容易理解、结构清晰、易于维护; ( 3)可移植性好,因为 C 语言不依赖于任何一种硬件系统。 鉴于以上几点,本系统的软件部分全部采用 C 语言来编写。并且使用 51 编译器可以产生高效、紧凑的代码,执行效率毫不逊色于使用汇编语言编写的程序。 统的 两种工作模式 小车具有 2 种工作模式,分别是手动控制模式和重放路线模式,对应 2 个模式处理函数: 、 。 2 种模式之间可以通过“模式切换”键互相切换。 在手动控制模式下,操作者可以通过遥控器上的按键和语音识别系统控制小车的前进、后退、左转、右转、停止、漏粉等动作。并且可以打开记录路线开关,让小车自动把行驶的路线记录到 储器中。在手动控制的行驶过程中,若小车遇到障碍,将自动停止,并发出声、光报警信号。 在重放路线模式下,小车可以从 读出先前记录的路线 20 信息,并且自动按照所记录的路线行驶。在重放过程中操作者按下“停止”键或小车遇到障碍将结束本次的路线重放,等待选择下一条需要重放的路线或切换到其他模式。 动模式的设计 手动模式的程序处理流程如图 等待一个消息是通过调用 函数完成,该函数返回消息值,然后按照消息值对消息进行分类处理。 在该模式下,若操作者按下“模式切换”键,然后选择需要切换到的模式,手动模式处理函数将返回需要切换到模式值,然后由 函数调用相应的模式处理函数。 数字及路线重放模式的设计 该 模式下主要完成路线的重放和自动走数字功能。 走数字功能是要实现由程序控制小车按照一定的路线行驶并在适当的时候打开或关闭漏粉开关,最终能在地面留下一条由漏下的粉末形成的轨迹,显示出数字“ 2”、“ 3”、“ 5”或“ 8”等。这是靠在程序中按照一定的时序控制小车前进、后退、走弧线等动作实现的。 音识别模块的软件设计 语音识别模块能够预先训练 5 条语音命令,分别是“前进”、“后退”、“左转”、“右转”和“停止”。因为在语音识别模块的使用过程中有语音提示音,所以使用很简便、明了。 每次打开遥控器电源后都会提示“开始训练语音命令”,然后依次提示训练以上所列的 5 条语音命令。全部训练成功后,进入语音命初始化 等待一个消息 消息分类处理 图 动模式处理流程 21 令的识别状态。当识别出某条语音命令后,给出提示音,并且通过红外发射模块向小车发送命令,控制小车动作。 语音识别模块的程序流程如图 示: 定义存储器为 始化 播放训练提示音 训练“前进”命令 成功? Y N 训练“后退”命令 成功? Y N 训练“左转”命令 成功? Y N 训练“右转”命令 成功? Y N 训练“停止”命令 成功? N 辨识器初始化 启动实时监控 播放识别提示音 获取语音数据 识 别 出 语音命令? 向小车发送相应命令 N Y 图 音识别模块程序流程图 Y 22 机串行通信模块的软件设计 信方式的选型 适合于两个单片机之间的通信方式有多种,可以并行通信,串行通信,也可以自己定义一种通信规则。 考虑到主单片机 I/O 口线资源有限,所以不适合采用并行通信方式。单片机都有一个标准的串行接口部 件,所以采用串行口进行双机的通信在软硬件上都很简便。 51 单片机的串行口有多种工作方式,考虑到本设计中主、从单片机之间的距离很近,所以应该尽量采用高波特率的方式。其中方式 2在单片机外接 12振的情况下,波特率可以达到 375由振荡频率 32 分频而得。并且方式 2 不需要占用定时器资源,所以,采用串行口的方式 2 进行双机通信是一种比较理想的方式。 本设计中,串行口工作在 11 位异步收发状态, 该模块中有一些特殊的用途。 机串行通信的软件设计 为了保证双机通信的及时性,而且中断 处理函数比较短不会占用太多的 间,所以把主、从单片机的串行口中断设置成高优先级中断。 在整个系统中程序代码执行的优先级,可以认为关中断时的代码执行优先级是最高的;串行口中断次之;一般的低优先级中断再次之;没关中断时的背景程序代码执行优先级最低。 本设计中,主、从单片机之间的通信是通过串行口传递一些消息和数据完成的。其中 识本次传送的是消息值还是数据, 0表示本次传送的是消息值, 1 只有一种情况,表示找到了方位值。 动模式下记录行驶路线功能的软件设计 占用一个页的存储空间,前两个字节 用来存放本条路线的记录总 23 数,后面的 254 个字节可以存放 127 条记录。 记录路线的程序流程如图 示: 在按下“记录路线”按键时,数码管会显示出当前路线记录在个页,每页有 256个字节。本设计中每条路线固定 时操作者可用前进、后退键改变路线存放的 位置。如果之前在这一页已存放了路线,则之前的的路线将被擦除。 放行驶路线功能的软件设计 路线重放功能就是要将先前记录下来的路线按顺序取出来,并按照命令的类型和里程差值,让小车在适当的时候执行某一个动作。 该功能 的程序流程如图 示。 按下“记录路线”按键 选择本条路线存放位置 打开记录路线开关 记录路线 按下“记录路线”按键 结束记录 图 线记录流程图 进入“重放路线”模式 选择需要重放的路线 取一条记录 执行命令 结束 停车 图 线重放流程图 里程到? 结束重放? N N Y Y 24 每次进入“重放路线”模式后将提示操作者选择一条需要重放的路线。数码管上闪烁显示选择的路线号,操作者可以通过“前进”、“后退”键选择路线,然后按下“停止”键表示确认,小车开始自动沿着记录下来的路线行驶。在自动重放的过程中遇到障碍或操作者按下“停止”键,将结束本条路线的重放,可以选择下一条路线进行重放,或者按下“模式选择”键切换到其他模式。 声测距任务的软件设计 超声测距任务放在从单片机上,由两个任务组成:前超声测距任务和后超声测距任务。分别由从单片机的定时器 0 中断处理函 数每隔64 毫秒调用一次,且前后超声测距任务的调用之间相差 32 毫秒。 以前超声测距任务为例,其软件流程图如图 示: 当探测到前(后)方有障碍时从单片机就通过串口通信报告主单片机前 (后 )方有障碍。主单片机再采取相应措施。 本模块将障碍检测的距离限定在 30 厘米以内,因为太远的地方有无障碍意义不大。 开中断 有回波? 关中断 发射超声波束 延时 秒 开中断 超时? 发送“有障碍”消息 发送“无障碍”消息 返回 Y N Y N 图 声探测流程图 25 章小结 本章中介绍了系统软件部分的设计思路和程序框架。软件是一个智能系统的灵魂,软件设计的好坏直接决定着系统智能化的程度和系统功能的完善程度。 有一些功能用硬件可以实现,用软件也同样可 以实现,只是所花费的代价有所不同,往往用软件来实现更为灵活一点。 一个系统追求的目标应该是用尽可能简单的软件和硬件实现尽可能多、尽可能完善可靠的功能。 26 5 系统的组装、调试和测试 统的组装、调试 系统的调试过程主要分模块调试和系统统调。 其中系统的模块调试在各模块的设计过程中完成,基本上按照“设计 调试 修改”这样的过程反复进行直到能达到设计要求。 系统的统调主要是系统软件的调试。在软件的设计过程中使用了伟福仿真器,用仿真器代替单片机能够及时的看到程序的运行结果,这个 软件的调试带来了很大的方便。 控距离的测试 遥控距离的测试结果如表 示: 表 控距离的测试结果 米 方向 前 后 左 右 距离 以看出操作者在小车的后方,遥控的距离最远,这是因为小车上的红外接收头冲着后方。想提高遥控效果可以再使用一个红外接收头冲着前方,然后两个接收头的输出信号进行与或。 间显示功能的测试 系统显示的时间和实际时间的对比如表 示: 表 间显示功能测试结果 秒 显示时间 180 180 180 实际时间 179 179 180 由表格中的测试数据可以看出,时间显示的比较准确,这是通过不断的调整定时器 0 的计数初值实现的,因为定时器的中断响应过程 27 以及重置计数初值需要花费一定的时间。 声测障碍功能的测试 超声探测障碍功能分别在手动控制模式和自动寻找光源模式下进行了测试,结果如表 示: 表 声测障功能测试结果 序号 1 2 3 4 5 6 手动模式 成功 成功 失败 成功 失败 成功 自动模式 失败 成功 成功 成功 成功 失败 障碍探测功能失效主要原因是,有 些时候小车的行驶方向不是正对着障碍,这样超声发射传感器发射的超声波束经过障碍物反射后就偏离了超声接收传感器,也就探测不到障碍的存在。 经过多次测试发现,当小车的行驶方向和障碍物的反射面之间的夹角小于 45 度左右时就很难再探测到障碍的存在。 驶路线记录与重放功能的测试 路线记录和重放功能的测试结果如表 示: 表 线记录与重放功能测试结果 路线存放位置 第 0 页 第 1 页 第 2 页 第 3 页 结果 成功 成功 成功 成功 该功能可以记录四条行驶路线,分别存放于 四个页面当中,每条 路线最多可记录 127 个命令。 音识别功能的测试 由于受凌阳单片机内部的 量的限制,语音识别模块只能录制 5 条语音命令,分别是“前进”、“后退”、“左转”、“右转”和“停止”。 语音识别模块的识别效果很好,基本上每次都能正确的识别出语 28 音命令。只是“左转”和“右转”命令的语音比较相似,所以在训练这两条语音命令时应注意要加大这两个词发音时的差别,提高识别能力。另外,应该注意的一点是,在环境噪声比较大的场合,语音识别模块会被“误触发”。 章小结 本章对小车的一些主要性能指标进行了测试,并对 测试结果进行了分析,基本实现了预定的性能指标,但是目前系统中也还存在着一些问题。超声测障模块由于超声波本身的特性,在小车行驶方向和障碍物的反射面之间夹角太小的情况下将探测不到障碍;走数字功能由于缺少调试,所以完成的也不是很好。 29 结 论 本设计基本完

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论