1、 目录 第 1 章 需求分析 . 1 1.1 设计题目 1 1.2 设计目的 1 1.3 设计任务及要求 1 1.3.1 总体任务 . 1 1.3.2 个人任务 . 1 1.3.3 设计要求 . 1 1.4 硬件设备与开发工具 . 2 1.4.1 硬件设备 . 2 1.4.2 开发工具 . 2 第 2 章 概要设计 . 3 2.1 总体方案设计 . 3 2.2 小车循迹原理 . 3 2.3 主要功能的设计原理及实现方法 . 3 2.3.1 小车前进功能设计 . 3 2.3.2 小车旋转功能设计 . 4 2.3.3 小车偏移修正功能设计 4 第 3 章 详细设计 . 5 3.1 硬件设计与实现
2、5 3.2 系统主程序流程 6 3.3 功能模块详细设计 6 3.3.1 起点到 D 点路线模块设计 6 3.3.2 D 点到终点路线模块设计 . 7 3.3.3 终点到中心点模块设计 8 3.3.4 中心点到起始点路线模块设计 . 8 第 4 章 系统调试与操作说明 10 4.1 系统调试 10 4.1.1 硬件调试 . 10 4.1.2 软件调试 . 10 4.1.3 软硬件联调 . 10 4.2 调试中遇到的问题 10 4.3 操作说明 .11 第 5 章 总结和体会 12 参考文献 12 附录. 14 1 第 1 章 需求分析 1.1 设计题目 小车循迹控制系统设计 1.2 设计目的
3、(1)掌握和巩固所学的 51 单片机知识,加强对相关知识的理解和运用。 (2)学会运用所学的专业知识,提高对实际问题的解决能力。 (3)提高编程能力和加强团队合作。 1.3 设计任务及要求 1.3.1 总体任务 (1)完成硬件设计并连线,以 MCS-51 单片机为控制核心,根据 4 个 QTI 传感器采集的数 据控制舵机的运转,进而控制车轮的速度和方向。 (2)用 C 语言编程实现以下小车行驶线路: 起始点中心点D 点, 旋转 360 度红色点, 旋转 180 度原路返回。小车前行时慢速行驶,小车返回时速度加快。 1.3.2 个人任务 用 C 语言编程实现小车旋转 180 度原路返回这一模块功
4、能设计和总体调试,当小车 原路返回时,速度加快,在小车原理返回时,不断修正小车的行驶路线。 1.3.3 设计要求 完成设计方案论证,硬件原理图设计、电路建构、软件编程、调试、运行以及使用说明 文档的建立等一整套工作任务。控制软件使用 C 语言编程;系统联调,提交一个满足要求的 小车循迹控制系统设计。 2 1.4 硬件设备与开发工具 1.4.1 硬件设备 由 AT89S52 单片机最小系统板、四个 QTI 传感器、两个舵机、两个车轮、一块 7.4V 锂 电池、稳压电路板、ISP 下载线、面包板组成的小车一台,Windows xp 操作系统 PC 机一台。 1.4.2 开发工具 KeilC51 编
5、程软件、progisp 下载器、串口调试小助手等软件。 3 第 2 章 概要设计 2.1 总体方案设计 硬件设计部分,根据设计任务书的要求,小车要根据指定的轨道完成不同的路线的选 择,小车在前进的过程中,需要识别路面信号,故采用四个 QIT 传感器来探测信号,通过不 停的检测与判断来控制小车。小车的运动轨迹需由核心单片机来控制,由 AT89S52 单片机最小系统板来进行设计实现。 软件设计部分,将整个过程分为四个子模块来实现,分别为起点到 D 点,D 点到终点, 终点到中心点, 中心点到起始点。 在运动过程中还需设计旋转 360 度和 180 度的旋转子模块, 当小车偏离轨迹候后,需设计修正子
6、模块。最后为了使小车停到指定区域,还需编写停止子 模块。 2.2 小车循迹原理 小车循迹的原理主要是通过小车上的四个 QIT 传感器不断地来探测信号,当传感器 探测到黑色时,则返回给系统为 1 的信号,反之,则返回给系统 0 的信号,通过传感器探测 的信号,在小车的行驶路线中来进行相应的处理。 小车在循迹时,可能会出现偏移的情况,这时就需要对小车轨迹进行修正处理,当四个 QTI 传感器信号状态为 0110 时,则表明小车为正确为正确行驶路线,继续直线运动;如果 四个 QTI 传感器信号状态为 0100 或 1000 时判定小车右偏时, 对小车路线进行作左修正; 如 果四个QTI传感器信号状态为0010或0001时判定小车位左偏, 对小车前进路线进行做修正, 这样经过不断修正来实现小车的循迹前进。 2.3 主要功能的设计原理及实现方法 2.3.1 小车前进功能设计 此模块原理是向伺服电机输出若干个 PWM 波,波形的占空比可控制小车移动,通过 时间宽度和延时产生信号,作用于电机,从而控制其运动。在本次设计中,向伺服电机 PWM 波过程已经被模块化在头文件中,即 motion(