1、本科毕业设计设计题目:电脑鼠电路的改进及搜索算法的研究学生姓名:陈昱 学 号 :200600930012 专 业 :应用物理学 指导教师:杨济民 学 院: 物理与电子科学学院 1 2010 年 5 月 5 日毕业设计内容介绍设 计题 目 电脑鼠电路的改进及搜索算法的研究选题时间 2009.12.31 完成时间 2010.5.5 设计字数 11711关 键 词数字 PID 迷宫算法 红外测距 电机控制 RTOS设计题目的来源、理论和实践意义:本论文题目来源于电脑鼠走迷宫竞赛,为了使电脑鼠以更快的速度完成比赛,需对其电路和算法进行研究和改进。本论文应用了电子技术,嵌入式系统,自动控制,动力学等领域
2、的知识,对其算法进行了较深入的研究并提出了一套操作性较强的硬件改进方案。设计的主要内容及创新点:提出了对 Micromouse615 电源电路、传感器电路的改进方案。给出了电机控制算法、用于纠正姿态的数字 PID 算法、传感器驱动算法、连续转弯算法、迷宫信息采集算法以及迷宫搜索与迷宫最短路径算法等算法模块。用基于 RTOS 的多进程架构实现了上述各算法模块,并用无线模块与上位机进行通讯实现了算法的实时跟踪与可视化。本文主要的创新点是将数字 PID 算法应用在姿态修正,用基于 RTOS 的多进程架构实现实现上述算法模块,以及用远程桌面调试算法。附:设计 本人签名: 年 月 日目 录中文摘要 4
3、英文摘要 4一、 引言 5 二、 硬件改进 7(1)电源电路的改进 71、原电路 7(1)电机驱动芯片供电 7(2)系统供电 7(3)传感器供电 72、改进方案 8(2)传感器电路的改进 101、工作原理 102、原电路 10 3、改进方案 113、底层算法的研究 12(1)传感器驱动 12(2)电机控制 14 (3)姿态纠正 17 (4)信息采集 19(5)连续转弯 21 4、迷宫算法的研究 21 (1)传统算法 21 (2)本文的迷宫算法 22 5、算法的实现与调试 24 (1)基于 uC/OS-II 多进程的软件设计 24(2)软件调试 346、总结 347、致谢 35参考文献 35电脑
4、鼠电路的改进及搜索算法的研究陈昱 (山东师范大学 物理与电子科学学院 济南) 摘要: 简要介绍了电脑鼠走迷宫竞赛。分析了 MicroMouse615 中电源系统和红外发射系统的不足,提出了改进方案,并给出了电路图。给出了电机控制算法、用于姿态纠正的数字 PID 算法、传感器驱动算法、连续转弯算法、迷宫信息采集算法以及迷宫搜索与最短路径算法等算法模块。用基于 RTOS 的多进程架构实现了上述各算法模块,并给出了各个算法的流程图。用无线模块与上位机进行通讯实现了算法的实时跟踪与可视化。关键词: 数字 PID 迷宫算法 红外测距 电机控制 RTOS中图分类号: TP242.6Micromouse c
5、ircuit improvements and search algorithmChen yu (Shandong Normal University Colleges of Physics Maze algorithm; Infrared range; Motor Control; RTOSCLASSNO: TP242.6一、引言电脑鼠英文名叫做 MicroMouse,是使用嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置(微型机器人) 。电脑鼠要在指定的迷宫中比赛,在迷宫中探索以找出通往终点的路径,并随时掌握自身的位置信息,准确获取墙壁信息并做记录,最终依靠记忆找出走出迷宫的最佳
6、路径,以最短的时间解开迷宫,赢得比赛。一只优秀的电脑鼠必须具备良好的感知能力,有良好行走能力,优秀的智能算法和强健体魄。国际电工和电子工程学会(IEEE)每年都要举办一次国际性的电脑鼠走迷宫竞赛,自举办以来参加国踊跃,为此许多大学还开设了“电脑鼠原理和制作”选修课程。2007 年和 2008 年,上海市计算机学会率先在国内主办了两次 IEEE 标准电脑鼠走迷宫邀请赛(长三角地区) ,有三十多所院校参加。2009 年广州致远电子有限公司赞助了全国“IEEE 标准电脑鼠走迷宫” 邀请赛,共邀请全国9 个赛区的 52 所高校参赛,反响强烈。如图一所示为电脑鼠,图二所示为比赛迷宫。图一 电脑鼠 图二
7、比赛迷宫为了更好的普及电脑鼠走迷宫竞赛,广州志公远电子设计生产了一款电脑鼠 MicroMouse615,它的元件布局图如图三所示。它的原理图如图四所示。图三 MicroMouse615 元件布局图图四 MicroMouse615 原理图本文以 MicroMouse615 为原始硬件平台,结合 2009 年参加济南赛区电脑鼠走迷宫竞赛中的经验教训,提出了一套硬件改进方案,并对底层算法和迷宫算法进行了一番研究,最后给出了算法的具体实现以及软件调试方法。2、硬件改进(一)电源电路的改进1、原电路MicroMouse615 采取外接锂电池供电,并为整个系统提供三种不同的电压,分别用来驱动电机、给传感器
8、供电和给微控制器供电。(1)电机驱动芯片供电MicroMouse615 装有两个永磁式步进电机,系统中直接把电池的输出电压连接到电机的驱动芯片上。(2)系统供电LM3S615 微控制器需要 3.3V 供电,电路如图五所示,外接电源经过C36、C2 滤波,然后通过 SPX1117M-3.3 将电源稳压至 3.3V。SPX1117M-3.3 是Exar 公司生产的 LDO 芯片,其特点是输出电流大,输出电压精度高,稳定性高。其输入电压范围为 4.7V 到 12V,输出电流可达 800mA。在其输出端的 C3、C4 用来改善瞬态响应和稳定性。图五 3.3V 电源电路(3)传感器供电MicroMous
9、e615 使用的红外传感器的工作电压为 5V,在一般情况下可以把电池的输出电压经过 LDO 稳到 5V。但若电池电压较低或瞬间被拉低时,系统就不能为传感器提供稳定的电源,这将严重影响传感器的灵敏度。所以原电路把系统中已经较为稳定的 3.3V 电压升到 5V。升压芯片采用 Exar 公司的低静态电流、高效率的升压芯片 SP6641A,升压电路如图六所示。图六 5V 升压电路2、改进方案整个系统仍由一个 7.2V 锂电池供电。电脑鼠在行走过程中,由于需要不停的加减速,电机负载会不停的变化,因此电源电压将在很大范围内变化。比如锂电池充足电时的电压为 7.8V,放完电后的电压为 5.0V,如果负载大时
10、会更低。为了保证供电电压稳定不变,系统采用三端稳压器供电。原系统采用常见的SPX1117 芯片把电压稳到 3.3V 给微控制器供电,再用 SP6641A-5V 芯片把 3.3V升到 5V 给传感器接收管供电。由于 SPX1117 的输入输出电压差为 1.4V,因此SPX1117 允许的最小输入电压为 3.3+1.4=4.7V。当某个时刻电机负载较大时电池电压有可能瞬间被拉到很低(尤其是当电池快没电时),甚至会低于 SPX1117的最低工作电压 4.7V,所以 SPX1117 的输出电压可能会不稳定。为了解决这个问题,笔者选择了支持更低压差且微功耗的三端稳压芯片 HT1034,其输出电压为 3.
11、3V,且输入输出压差低。HT1034 的主要参数如表一所示。 表一 HT1034 的主要参数而且将两路供电改成了三路供电,用两片 HT1034 分别供给微控制器和传感器,如图五所示,这样进一步保证了传感器和微控制器工作电压的稳定,同时也减小了每一路的电流。图五 三路供电注意到原红外接收管的工作电压为 4.5V 至 5.5V,HT1034 输出的 3.3V 电压无法提供其工作。因此选择了一块工作电压为 3.3V 的红外接收管从而避免了使用升压芯片,使电路更加简单高效。(2)传感器电路的改进1、工作原理MicroMouse615 使用一体化红外接收头 IRM8601S,它内部集成自动增益控制电路、带通滤波电路、解码电路及输出驱动电路。当连续收到 38KHz 的红外线信号时,将产生脉宽 10ms 左右的低电平,有效电平维持时间 TWL 的范围为400s比较的是优先级的大小):总线进程 姿态纠正进程控制进程决策进程,以及四个中断(比较的是中断优先级的大小):无线 ISR传感器 ISR左电机 ISR右电机 ISR。系统的总体关联图如图十一所示。图十一 系统的总体关联图