资源目录
压缩包内文档预览:(预览前20页/共62页)
编号:751404
类型:共享资源
大小:198.51KB
格式:RAR
上传时间:2016-08-29
上传人:信达机械Q****3512...
IP属地:江苏
19
积分
- 关 键 词:
-
遥控
小汽车
设计
研究
遥控小汽车的设计研究
- 资源描述:
-
遥控小汽车的设计研究【带程序】,遥控,小汽车,设计,研究,遥控小汽车的设计研究
- 内容简介:
-
哈尔滨工程大学本科生毕业论文 哈尔滨工程大学本科生毕业论文 遥控小汽车的设计研究 院 (系 )名 称 : 信息与通信工程学 院 专 业 名 称 : 电子信息工 程 学 生 姓 名 : 指 导 教 师 : 哈尔滨工程大学本科生毕业论文 2 摘 要 根据题目要求,本设计采用 2 片 片机构成主从式的控制系统,双机采用串行口进行通信。红外遥控部分采用遥控车模专用编、解码芯片 高控制的可靠性;同时,在遥控发射端加入了用凌阳 61 板做的语音识别系统,能够完成语音遥控功能。采用红外传感器进行里程检测;超声波传感器进行障碍识别 ;感光电阻辅以步进电机控制的转动机构进行光源方向的检测,并能用软件控制小车行驶到光源附近。采用步进电机对小车的转向进行精确的控制,同时用红外传感器对转向的角度进行校正。此外,采用四位 码管和若干 光二极管显示时间、行进的里程以及小车的各种状态;采用 行 录小车的行驶轨迹,并能按照所记录的轨迹自动行驶。 本次设计基于完备的软硬件系统,很好的实现了小车语音遥控、任意曲线行驶、路线记录与重放、自动查找光源、自动避障,里程统计并发出指示信息等功能。 关键词: 单片机;超声波传感 器;红外遥控;语音识别;凌阳 61 板 哈尔滨工程大学本科生毕业论文 3 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 尔滨工程大学本科生毕业论文 4 目 录 第 1 章 绪论 1 述1 计要求及主要功能介绍1 动控制功能 2 动寻找光源功能 2 声避障功能 2 录路线与重放路线功能 2 控功能 3 他 功能 3 列单片机简介 3 阳 简开发板简介 5 第 2 章 系统总体设计 6 统功能模块的划分 6 片机数目的选定 6 统原理框图 7 统软件主要特色 7 件分层结构 8 任务结构8 息驱动结构 13 章小结 15 哈尔滨工程大学本科生毕业论文 5 第 3章 各模块的详细设计 16 外遥控模块的设计16 控模块的功能需求解码芯片的选型控模块原理图 16 控电路与语音识别模块的连接18 码管、发光二极管显示模块的设计 18 位数码管扫描显示原理作状态指示灯及转向灯的设计19 示模块电原理图示任务的软件设计20 音提示功能的设计轮转向模块的设计21 轮转向的机械结构设计轮转向中点校准功能的设计哈尔滨工程大学本科生毕业论文 6 22 进电机驱动芯片轮转向任务的软件设计轮驱动模块的设计24 流电机驱动芯片 24 轮驱动任务的软件设计25 程检测模块的设计头的选型与安装件消抖与硬件消抖的比较26 程检测任务的软件设计声测距模块的设计27 声测距的理论依据声发射电路声接收电路28 声测距任务的软件设计哈尔滨工程大学本科生毕业论文 7 29 源方向探测模 块的设计30 转机构设计度检测电路的选型与设计31 找光源方向任务的软件设计32 驶路线的记录与重放模块的设计33 模块的功能概述行 绍 33 储记录的格式动模式下 记录行驶路线功能的软件设计33 放行驶路线功能的软件设计34 机串行通信模块的软件设计 35 信方式的选型 35 机串行通信的软件设计 35 音识别功能的设计 36 阳语音压缩算法 37 音识别模块的软件设计 37 章小结 37 哈尔滨工程大学本科生毕业论文 8 第 4 章 系统软件的设计 39 片机的 C 语言程序设计简介 39 统的三种工作模式39 动模式的设计40 动寻找光源模式的设计能分析找光源的策略41 动寻找光源的软件设计 功能模块存在的一些问题数字及路线重放模式的设计44 章小结第 5 章 系统的组装、调试和测试 45 统的组装、调试 45 控距离的测试间显示功能的测试哈尔滨工程大学本科生毕业论文 9 程显示功能的测试 46 声测障碍功能的测试数字功能的测试驶路线记录与重放功能的测试47 动寻找光源功能的测试音识别功能的测试章小结 48 结论 49 致谢 50 参考文献 51 哈尔滨工程大学本科生毕业论文 10 第 1 章 绪论 述 单片机以其强大的控制能力已经被广泛应用于诸多领域,配以各种接口传感器可以实现系统的智能化。无论是在工业控制领域、医疗卫生领域、还是在国防军事领域、航天航空领域,微控制器都起着举足轻重的作用。从最初的 8 位控制器到现在的 16 位、 32 位控制器都还有很大的发展和应用空间。 目前市场上已有很多种用超声波传感器制作的产品,在汽车电子领域,用超声波传感器做的倒车雷达可以提高汽车行驶的安全性。 对汽车驾驶员来说车身后方是一个视线的“死区”,倒车时得非常小心,倒车雷达的出现就解决了这一问题,当车身后方有障碍时能及时发出警告。 语音识别技术也日趋完善,在机器人领域,要想用语言和机器人“交谈”,首先就要解决语音的识别问题。可以用语音识别技术做成电话声控拨号、声控家电、儿童玩具等。语音识别技术还有待于进一步的发展。本设计中采用凌阳 61 板做的声控系统可以用语音控制小车的前进、后退、左转、右转、停止。 计要求及主要功能介绍 根据题目要求,本设计需要完成的以下几项功能: ( 1)红外遥控功能,启停、自动 或手动; ( 2)前或后直线行进; ( 3)任意曲线行进; ( 4)测距避障功能; 哈尔滨工程大学本科生毕业论文 11 ( 5)显示行进距离; ( 6)精确查找光源。 另外,在设计过程中又扩展了一些功能,比如声控功能、记录与重放行驶路线功能等。 动控制功能 在手动控制模式下,可以控制小车的前进、后退、左转、右转、停止、漏粉、显示时间、显示里程,若在行驶过程中遇到障碍小车将自动停止,并发出声光警告信号。同时,在转弯或后退时相应的转向灯和倒车灯会闪烁发光,小车接收到一个按键命令后除了执行相应的动作外蜂鸣器还会响一声,以告知操作者已收到了命令。 在手动控制模式下,还设置了一个记录行驶路线的开关。操作者按下这个开关后,先选择这一次记录的路线的名称,此后对小车的控制命令将被存入 ,直至操作者再按下一次这个开关结束这次路线的记录。记录的路线可在重放路线模式下重放。 动寻找光源功能 在自动寻找光源模式下,小车可以自动查找光源的方向,然后自动行驶到光源的附近。在自动行驶过程中若遇到障碍,小车将自动采取一些避障措施避开障碍。此外在寻找过程中操作者若按下“显示模式切换键”数码管显示的内容将在时间和里程之间切换,若按下“停止”键,小车将 立即停止寻找光源,然后等待切换到其他模式。 声避障功能 在手动模式、自动寻找光源模式、重放路线模式下超声测障模块始终工作。在前进时发现前方有障碍,或在后退时发现后方有障碍小车都将立即停车,并发出声光报警信号告知操作者。障碍检测的距离调整在 20 厘米内,即只有在 20 厘米之内有障碍时小车才会做出避让动作,在这个范围之外的障碍小车不予处理。 录路线与重放路线功能 哈尔滨工程大学本科生毕业论文 12 在手动模式下打开记录路线开关,开始记录路线;在重放路线模式下选择重放的路线,开始重放指定的路线。在重放过程中遇到障碍或操作者按 下“停止”键将结束本条路线的重放,等待选择下一条需要重放的路线或选择另外一种模式。 控功能 本设计采用凌阳 61 板做了声控系统。打开遥控器电源后开始训练语音命令,由于受到单片机内的 量的限制只能录制 5 条语音命令,分别是前进、后退、左转、右转、停止。当识别出某条语音命令时和直接按下相应的按键等价,红外发射电路都会给小车发出相应的命令。操作者在使用声控功能时有语音提示音,所以操作很简便、快捷。 他功能 小车还具有走数字功能,即小车可按照事先由程序设置好的路线行走,并洒下粉末,显 示出一个数字。 除此之外,小车上还有左、右转向灯,倒车灯,障碍指示灯,模式指示灯,蜂鸣器报警电路,小车状态一目了然。 列单片机简介 片机的基本结构如图 示,其基本结构包括: 8 位 片内震荡器及时钟电路; 32 根 I/O 口线; 外部存储器 址范围各为 64 2 个 16 位定时器 /计数器; 5 个中断源, 2 个中断优先级; 哈尔滨工程大学本科生毕业论文 13 全双工串行口; 布尔处理器。 8051 单片机的存储器结构特点之一是程序存储器和数据存储器分开,并有各 自的寻址机构和寻址方式。这种结构的单片机称为哈佛结构单片机。 8051 单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器;片内数据存储器和片外数据存储器。 8051 单片机有 4 个 8 位的并行接口,记作 32 根口线,实际上它们就是 的 4 个。这 4 个接口特性上主要差别是 还有第二功能,而 只能用做 I/O 口。 4 个口的驱动能力也是不相同。 能驱动 3 个 ,并且不需外加上拉电阻就能驱动 路。 驱动 8 个 驱动 路时,若作为地址 /数据总线,则可以直接驱动;而作为 I/O 口时,需外接上拉电阻才能驱动 路。 时钟电路 时器 /计数器 行接口 串行接口 中断系统 00 051 单片机的基本结构 哈尔滨工程大学本科生毕业论文 14 阳 简开发板简介 凌阳 61 板是采用凌阳 16 位单片机为核心的开发系统,具有 用该开发板可方便的实现语音的录、放、识别等功能。 阳 16 位单片机的结构框图如图 示: 作速率为 量为 2K 字;程序存储器容量为 32K 字 用凌 阳音频压缩算法 式( 能容纳 240 秒语音数据;有两个 16位的并行 I/O 接口;还具有 克风放大器和 路等。 由于 带了很多有关语音录放、语音识别的 数,所以采用 61 板来做声控系统比较方便。 图 构框图 哈尔滨工程大学本科生毕业论文 15 第 2 章 系统总体设计 统功能模块的划分 按照设计要求,系统可以分为以下几个基本功能模块:遥控模块、显示模块、前轮转向模块、后轮驱动模块、超声测距避障模块、寻找光源模块、记录与重放路线模块、里程检测模块等。 有些模块的功能是由硬件完成,有些模块的功能由 软、硬件配合完成,有些模块则是由软件、硬件、机械三部分共同完成。 将系统拆分成以上的这些基本功能模块后,再根据各个模块所要完成的功能分别去设计,也就是按照“逐步求精”的思想去设计本系统,这将使设计工作细化,也有助于制定进度安排。 片机数目的选定 由于系统需要完成的功能较多, 负荷也较重,再加之单片机内的定时器 /计数器、中断、 I/O 口等资源有限,如果选用一片单片机必将会给系统的设计带来一些困难。所以可以考虑采用两个单片机构成主从式的结构,各分担一部分控制与运算功能,这样两个单片机可同时工作。所谓 主从式结构是指从单片机片机根据主单片机发出的命令来完成某项功能,并且把结果报告给主单片机,这样的结构在某种程度上可以简化系统。 主单片机负责红外遥控接收、显示、小车的运动以及处理遥控命令等功能;从单片机则主要负责超声测距、检测光源方位这两项比较费时的功能,在探测到障碍或探测到光源时将有关信息报告给主单片机进行处理,并由主单片机来采取相应的措施。 本设计中采用了两片 片机,通过串行接口通信。因为两个单片机之间的距离很近,所以串行口可以工作在较高的波特率上,可以让串行口工作在方式 2,其特点是其波特 率高,并且波特率可以直接从晶振 32 分频、或 64 分频而得到,不需要占用定时器资源。 哈尔滨工程大学本科生毕业论文 16 统原理框图 系统原理框图如图 示: 统软件主要特色 软件在一个智能系统中扮演着举足轻重的作用,软件设计的好坏直接关系着整个系统的性能。目前已经有很多种嵌入式实时多任务操作系统,如: S 等,可以更有效的利用系统的各种资源,简化编程,缩短开发周期。签于本系统采用 片机为控制器,本身的各种资源都很有限,引入一个操作系统代价太大,所 以考虑直接来优化系统的软件结构,同样可以达到“多任务”、“实时”等要求。 件分层结构 为了便于编程,将逻辑控制层和具体的硬件相分离开是很有必要主控单片机 从单片机 遥控接收 显示模块 里程检测 路线记录 漏粉控制 前轮转向 超声探测障碍 光源方向探测 后轮驱动 串行通信 遥控发射 语音识别 图 统原理框图 按键 哈尔滨工程大学本科生毕业论文 17 的。硬件驱动层的软件负责直接操作硬件,并且给上层的软件提供一定的接口,这样有助于上层的软件实现更复杂的功能,并且系统的硬件有所改动时也只需改动相应的驱动模块即可。 本系统中的 示模块、前轮转向模块、后轮驱动模块、 取模块、寻光源转动机构都做成了一些独立的模块,并且给外部提供了一些接口函数,来实现对这些硬件或机械部件的高级操作。 分层结 构如图 示: 软件的分层结构是很多系统中普遍采用的一种软件结构,比如 P 协议就是一种典型的分层结构。 样上层的软件就不必关心硬件的细节,可以调用相应的模块提供的服务即可,这样可把更多的精力放在高级功能的实现上。 任务结构 为了充分利用单片机的 存等资源,本系统中引入了多任务的软件结构,即从宏观上来看单片机同时在做多件事情。分析一般的多任务系统的软件结构,系统的核心是任务调度器,在适当的时候任务调度器将保存当 前任务的现场,并且恢复将要运行的任务的现场,并让其投入运行。简单的说,一般的多任务系统是任务调度器循环的调用各个需要执行的任务,进而可以更有效的利用系统的各种资源。从这里得到启发,可以用定时器每隔一定的时间中断一次,在中断处理函数中依次调用一次各个任务所对应的函数,并且各个函数都逻辑控制层 硬件驱动层 硬件设备 置、取全局变量 图 件分层结构示意图 操作硬件 哈尔滨工程大学本科生毕业论文 18 能在一个较短的时间内返回,这样在某段时间内,各个任务所对应的函数都能够被执行到,就好像多个任务同时运行了。还有一点需要说明,就是各个任务是由一些函数和一些静态变量组成。函数由定时器中断处理函数定期的调用一次,并且有个前提就是这个函数 能够在较短的时间内返回,否则其他任务将不能及时的被调用到,也就达不到“实时”这一要求。静态变量保存该任务的各种状态,并且其他模块和该 任务进行通信也是通过置取这些静态变量来实现的。 本系统中软件的多任务结构如图 示: 可以说定时器中断处理函数就是本设计中多任务的核心,即任务调度器。以下是定时器 0 中断处理函数的程序清单: / /定时器 0 中断处理函数 /每 4 毫秒中断一次 /产生时钟节拍 系统复位 初始化 主 任 务 设计 成 无 限循环结构 定时器0 中断处理函数 任务 1 任务 2 任务 3 任务 n 图 任务结构示意图 哈尔滨工程大学本科生毕业论文 19 /负责维 护一个系统时间变量和任务调度 / #960 /定时器计数初值 /记录时间的结构的定义 ; /100 毫秒数 0-9 /秒数 0 /分钟数, 0 /记录系统时间的全局变量 /重装定时器 0 的计数初值 65536256; 65536256; /维护系统时间 4; if(9) ; +) ; +9) 哈尔滨工程大学本科生毕业论文 20 ; ; /大约每 50 毫秒调用一次蜂鸣器任务 /并且只有在需要发声时才调用 /局变量表示需要发出几声 &(!(2); /每 4 毫秒调用一次显示任务 ; /每 16 毫秒调用一次后轮直流电机驱动程序 (; /每 32 毫秒调用一次里程检测任务 (; /每 16用一次前轮转向电机驱动函数 (; 以上的这段程序代码就是实现了任务的调度,和一般的多任务系统相比较有几点不同: (1) 任务之间的切换是通过函数的调用与返回实现的,当以上的这几个任务全调用一次之后将进入主任务执行,主任务即 函数所对应的任务。 (2) 相应的任务上、下文的保存与恢复也不是由任务调度器实现的,而是由 C 语言编译器在函数调用时自动保存与恢复了主任务的上、下文;其他的任务不 用保存上、下文,每次进入执行都是从相应函数的第一行开始,寄存器值也不用保存。 哈尔滨工程大学本科生毕业论文 21 总之,采用以上这种软件结构,也可以实现多个任务并发运行,在 函数中可以加进更多的任务,只要各个任务都能在一个较段的时间内执行一次并返回到 函数中就可以。此外,关于 个任务一般要用一些全局的静态变量来标识自身状态。 在主控单片机上有以下几个任务: (1) 主任务: 开始的任务,很多功能都要在该任务中完成; (2) 蜂鸣器发声任务: ,全局变量 示需要发出几个“嘀”声; (3) 示任务: ,码管和 光二极管显示任务; (4) 后轮电机驱动任务: ,目前只实现了电机的正、反转和停止功能,以后可以在该任务中加入 速功能; (5) 前轮转向任务: ,控制步进电机让前轮转到指定的角度; (6) 里程检测任务: ,检测小车的行驶里程。 在从单片机上有四个任务: (1) 寻找光源方向任务:该任务作为从单片机的背景任务,由函数调用,然后一直循环的执 行; (2) 前超声测障任务: ,由从单片机的定时器中断处理函数 每隔 64 毫秒调用一次; (3) 后超声测障任务: ,每 64 毫秒调用一次,和的调用相差 32 毫秒; (4) 旋转机构转动任务: ,将寻找光源方向的转动机构旋转到指定的角度。 息驱动结构 考虑到系统中无论是操作者按下一个按键,还是遇到障碍或是寻哈尔滨工程大学本科生毕业论文 22 找到光源,这些事件都有一个共同点,就是系统要对这些事件做出相应的 处理或采取相应的措施。所以为了简化编程,让这些事件在主任务中能得到统一的处理,可以给这些事件编上号,然后由一个消息搜集模块去等待各种消息。一旦某个事件发生,该模块马上给主任务返回该事件的编号,即消息值,让主任务按照消息值分类去处理消息。 在消息搜集模块的头文件中定义了如下若干个消息: /消息的结构为:高三位,消息分类码,可以加快消息处理的速 /度;低五位,消息值。 # /按键消息的定义 #“前进”按键消息 #“后退”按键消息 #“左转”按键消息 #“右转”按键消息 #“停止”按键消息 #“模式选择”按键消息 #“漏粉”按键消息 #“记录路线”按键消息 #“显示切换”按键消息 /超声避障消息 # /发现光源消息 哈尔滨工程大学本科生毕业论文 23 /主从机之间的控制消息 # /停止寻找光源消息 消息搜集模块对外提供了两个接口函数: 函数一直等待到有消息时返回消息值; 函数立即返回按键值,这是为了某些地方使用上的灵活而设置的。 有了这个消息搜集模 块后,主任务执行的大部分时间就会停留在函数内等待消息,当有按键命令或遇到障碍时返回消息值,主任务对其进行相应的处理。 主任务处理消息可以设计成如下结构: ) /消息循环 ) /消息分类处理 /“前进”按键消息处理 /“后退”按键消 息处理 哈尔滨工程大学本科生毕业论文 24 章小结 本章将系统拆分成了若干个功能模块,并且采用两个 片机来各分担一部分功能。在软件方面通过对结构的特殊设计,基本上实现了多任务并发运行,并且通过软件的分层结构将功能实现和具体的硬件分离开,再加上消息驱动的结构,这将给后续的各模块软件的设计带来方便。 哈尔滨工程大学本科生毕业论文 25 第 3 章 各模块的详细设计 外遥控模块的设计 控模块的功能需求 遥控模块 采用红外遥控方式,因为采用红外遥控抗干扰能力强,且不会对周围的无线电设备产生干扰电波,接口简单;但是红外方式遥控的距离比较有限,一般在几米之内。鉴于本设计不需要远距离遥控,所以综合考虑之下采用红外遥控较为合适。 本设计中要求能用遥控器控制小车的前进、后退、左转、右转、停止、记录路线、寻找光源等很多种功能;遥控距离在几米之内即可;并且要在遥控发射模块加入语音识别模块,能够实现声控功能。 解码芯片的选型 由于在遥控端的按键数目有多个,而红外通道传输的只能是由 0、1 组成的串行代码,所以需要在发射端对 按键进行“并 码,在接收端相应的要进行“串 码。码的波特率在收、发两端应该是一致的。 方案一,使用 解码芯片,其特殊的编码方式保证了信息的可靠传输,但是外围器件参数的选定较为烦琐,并且不能利用到其所提供的地址功能,也就是说传输的信息当中地址码部分是多余的,这就降低了信道的利用率。 方案二,采用 台湾瑞昱公司生产的专用于遥控车模的 规模集成电路 编解码芯片具有 5 种控制功能,使用方便,所以本设计中采用了该方案。 控模块原理图 遥控模块发送部分原理如图 示。 11 脚和 12 脚之间接的电阻决定振荡频率; 3 脚接地; 10 脚接 3源; 14 脚、 1 脚、4 脚、 5 脚、 6 脚分别为 5 路发射控制端; 9 脚为发射指示端,当有按哈尔滨工程大学本科生毕业论文 26 键按下时 光提示; 7 脚为带载波的编码信号输出端,即编码信号已经内调制到 38载波上,该脚的信号通过一个 三极管放大后可直接驱动红外发射二极管发射信号; 8 脚为不带载波的编码信号输出端。 控发射端按键数目的扩展 遥控接收电路如图 示。 4 脚和 5 脚之间接的 电阻阻值要和 11 脚、 12 脚间的电阻阻值接近,相差在 20%之内方可正确的解码,本设计中这两个电阻都选用 150 2 脚接地; 13 脚接3源; 3 脚接输入信号,由一体化红外接收头 1838 输出的信号图 控发射原理图 图 控接收电路图 哈尔滨工程大学本科生毕业论文 27 需要加一个反向器才是正确的编码信号; 6 脚、 7 脚、 10 脚、 11 脚、12 脚为 5 路遥控命令的输出端,分别和 5 路输入端的状态相对应。 另外,为了方便操作,将 5 路功能扩展成 9 功能,即在遥控发射端可以接 9 个按键。这是通过对原先的 5 路输入进行组合得到的。 控电路与语音识别模块的连接 语 音识别模块采用凌阳 61 板,可以将 片机的输出引脚直接接到 输入端,与按键实现“线与”功能,这样遥控发射端的按键和凌阳单片机都可以通过遥控电路给小车发送命令。 码管、发光二极管显示模块的设计 位数码管扫描显示原理 码管是常用的显示器件,数码管的结构如图 示。每一段相当于一个发光二极管,各个发光二极管的阳极或阴极接在一起,分别称作共阳极数码管和共阴极数码管。本设计中采用的是共阴极数码管。 对于多个数码管的显示,有静态方式和动态扫描方式。本设计中用 了 4 个共阴极数码管,并采用动态扫描方式显示。扫描显示的原理是将各个数码管的段码端口分别并联在一起,由位选端口轮流选通各个数码管,并让每个数码管分别显示几毫秒,由于人眼的视觉惯性,看到的将是多个数码管同时在显示。 作状态指示灯及转向灯的设计 为了直观的显示出小车的各种状态,设计了若干发光二极管指示图 码管结构 哈尔滨工程大学本科生毕业论文 28 灯,有模式指示灯、漏粉指示灯、记录行驶路线指示灯、障碍指示灯、转向指示灯、倒车指示灯。 示模块电原理图 显示模块原理如图 示: 显示任务由主单片机完成。 别接到 74串行数据输入端和移位脉冲端,产生数码管选通信号。 到 74存 给出的段码数据。在完成锁存后由 直接驱动 8 个 光二极管,作为小车的状态指示。为了在 74存数据时避免状态指示灯的闪烁,用 制状态指示灯的选通。在74存数据期间 高电平,全部熄灭状态指示灯;在锁存结束后, 给出正确的电平后再置 电平。同样在 4 个数码管扫描显示的过程中也应避免数码管的闪烁。 示任务的软件设计 数码管的扫描显示和状态指示灯的显示流程如图 示。由定时器 0 中断处理函数 每隔 4 毫秒调用一次。这样每个数码管图 示模块原理图 哈尔滨工程大学本科生毕业论文 29 轮流显示 4 毫秒,扫描一遍共需 16 毫秒,也就是闪烁的频率大概是60眼看到的就是 4 个数码管同时在显示了。 音提示功能的设计 和状态指示灯的设计目的一样,给小车加入声音提示功能也是为了更直观地显示各种状态。在操作者通过遥控器给小车发出命令后,蜂鸣器将响一声,及时的提示操作者已经收到命令。这是挺有必要的,因为红外遥控方式并不是很可靠,有时操作者发出的遥控命令小车可返回 熄灭状态指示灯 显示模式是? 显示缓冲区置成时间 显示缓冲区置成里程 数码管段码置成 0,消除移位时的闪烁 选通下一个数码管 闪烁处理 锁存段码 显 示 个 状 态指示灯 时间模式 里程模式 用户模式 图 示流程图 哈尔滨工程大学本科生毕业论文 30 能是收 不到的,因此操作者几乎处于“盲操作”状态。加入了声音提示功能后,小车有没有接收到遥控命令很容易就能知道了。此外,当小车遇到障碍时也会给出声音报警信号。 本设计中所采用的蜂鸣器使用很简便,只需给其正负端加上 5其内部已经含有一个振荡电路。工作电流大约 10此可以用 的某一位直接驱动。 声音提示功能被设计成一个单独的任务,原因是为了能让蜂鸣器响若干声,而同时单片机又能做其他的事情。其他模块通过 n)函数设置静态变量 诉声音提示模块需要响 n 声,大约 50毫 秒响一声后自动会将 去 1,一直减到 0 后不再发声。 轮转向模块的设计 轮转向的机械结构设计 前轮的机械结构如图 示。通过步进电机来控制前轮转到一定的角度,并且采用了一个遮挡型的红外对管来检测转向的中点,以便在开机时能自动找到转向的中点。而且在一定程度上可以校准由步进电机的失步带来的角度误差。 轮转向中点校准功能的设计 图 挡校准方案 哈尔滨工程大学本科生毕业论文 31 如图 示,在红外发射管和接收管之间无遮挡时,电压比较器输出低电平;当之间有遮挡时,电压比较器输出高电平。当前轮转到中点时,细杆正好能遮挡住红外对管,此时电压比较器输出一个高电平;当前轮偏离中点时,输出低电平。 进电机驱动芯片 本设计中前轮的转向电机是从废弃的软驱上拆卸下来的步进电机,体积小、性能好、使用方便,并且有专门的驱动芯片。驱动芯片引脚如图 示,输入、输出信号如图 示。当控制信号的周期为 40右时,步进电机工作在最佳状态。 轮转向任务的软件设计 前轮转向设计成一个单独的任务,由定时器 0 中断处理函数每 16毫秒调用一次。其他模块可以调用函数 设置需要转到的角度,然后 由转向任务负责转到所指定的角度,在转向期间,单片机可以做其他的事情;其他模块还可以调用 取得当前转到的角度。 图 外对管检测电路 哈尔滨工程大学本科生毕业论文 32 图 进电机驱动芯片 A B B 进电机控制时序 哈尔滨工程大学本科生毕业论文 33 轮驱动模块的设计 流电机驱动芯片 轮采用直流电机来驱动,和步进电机相比较直流电机驱动力大,电源利用率高。因为直流电机的转速很高,所以必须加入齿轮箱进行减速,减速后驱动力变大,转速降低。小车的行驶速度大概在20cm/s 左右。 为了控制直流电机的正反转来实现小车的前进和后退,采用了直流电机驱动芯片 脚连接如图 示。 前进时 5 脚输入方波占空比为 100%(即持续高电平), 7 脚为低电平;后退时 5 脚为低电平,7 脚输入方波占空比为 100%。另外,改变方波的占空比可以实现对直流电机的调速,由于本设计中小车速度已调整到较低水平,所以无需再调速。 10000 流电机驱动芯片 尔滨工程大学本科生毕业论文 34 轮驱动任务的软件设计 本设计中只需控制后轮的正、反转,无需调速,所以后轮驱动模块的设计要比前轮转向模块简单很多,并且不建立后轮驱动任务也能实现,因为只需要在改变小车的行进状态的时候改变单片机和 。而本设计中将后轮驱动模块也设计成一个单独的任务是考虑到以后功能扩展的方便。以后可以通过 式对后轮直流电机进行调速,那就必须把后轮驱动模块设计成一个单独任务了。 目前本模块对其他模块主要提供了以下几个接口函数。 n), n0 时,小车前进; 240 音识别模块的软件设计 语音识别模块能够预先训练 5 条语音命令,分别是“前进”、“后退”、“左转”、“右转”和“停止”。因为在语音识别模块的使用过程中有语音提示音,所以使用很简便、明了。 每次打开遥控器电源后都会提示“开始训练语音命令”,然后依次提示训练以上所列的 5 条语音命令。全部训练成功后,进入语音命令的识别状态。当识别出某条语音命令后,给出提示音,并且通过红外发射模块向小车发送命令,控制小车动作。 语 音识别模块的程序流程如图 示: 章小结 本章介绍了各模块的功能及软、硬件的设计思路和实现方法。完成一项功能往往有多种实现方式,在这种情况下就要综合考虑诸多因素,权衡利弊,力求找出一种“最优方案”。例如,遥控模块选择哪种编、解码芯片;选择哪种数码管显示方式以及选择哪种光源亮度检测电路等等,都要经过对照比较后才会发现哪种更合适些,当然有时这是很难确定的。 系统的各模块是相对独立的,怎么才能将这诸多没有多大联系的模块组合成一个整体呢?这就是靠下一章将要介绍的系统的软件实现的。 哈尔滨工程大学本科生毕业论文 47 定义存储器为 始化 播放训练提示音 训练“前进”命令 成功? Y N 训练“后退”命令 成功? Y N 训练“左转”命令 成功? Y N 训练“右转”命令 成功? Y N 训练“停止”命令 成功? N 辨识器初始化 启动实时监控 播放识别提示音 获取语音数据 识 别 出 语音命令? 向小车发送相应命令 N Y 图 音识别模块程序流程图 Y 哈尔滨工程大学本科生毕业论文 48 第 4 章 系统软件的设计 片机的 C 语言程序设计简介 单片机的开发语言主要有汇编语言和 C 语言,很多人认为汇编语言易学易用,因为没有太多的语法。但是对于一个较大规模的软件系统使用汇编语言开发将遇到很大的困难。开发周期长、代码可读性差、不易维护。 而 C 语言就克服了汇编语言的很多缺点,和汇编语言相比具有以下几个显著的优点: ( 1) C 语言是一种结构
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。