基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc

上传人:来看看 文档编号:3921598 上传时间:2019-10-10 格式:DOC 页数:64 大小:2.52MB
返回 下载 相关 举报
基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc_第1页
第1页 / 共64页
基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc_第2页
第2页 / 共64页
基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc_第3页
第3页 / 共64页
基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc_第4页
第4页 / 共64页
基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc》由会员分享,可在线阅读,更多相关《基于STC12C5A08S2单片机履带小车的功率控制 毕业论文.doc(64页珍藏版)》请在三一文库上搜索。

1、 摘摘要要 本文设计是基于 STC12C5A08S2 单片机履带小车的功率控制。利用红外传感器控制 履带车自动避开前方障碍和自动寻迹动作,实现小车的前进、后退、转弯功能。本设 计主要体现小车的自主控制直流电机运行达到智能的目的,综合多个科目知识,从电 系统路到软件系统设计完善,整个系统结构紧凑,硬件制作简易,具有较高的可行性 和可靠性,实验测试结果满足要求。同时该履带小车可以作为玩具的发展方向,为中 国的高端玩具的技术缺乏进行弥补。采用的主要技术有:(1)传感器的有效使用, (2)单片机的应用, (3)对电机的控制。 关键词:关键词:履带小车;单片机;STC12CA60S2;寻迹;避障 Abs

2、tract This design is based on SCM STC12C5A08S2crawler for power control. Use infrared sensors to control of tracked vehicle can automatically avoid obstacles ahead and automatic tracing action, realize the car forward, backward, turning function. This design mainly car of the autonomic control of DC

3、 motor operation to achieve intelligent, integrated many subjects knowledge, from the electrical system to improve the way software system design, the system has the advantages of compact structure, simple hardware manufacture, with high feasibility and reliability, experimental test results meet th

4、e requirements. At the same time the track car can be used as a toy development direction for Chinas high-end toys, the lack of technology to make amends. The main techniques are: (1) sensor is effective use, (2) the application of SCM, (3) for motor control. Key words: crawler; MCU; STC12CA60S2; tr

5、acing; obstacle avoidance 目录目录 第一章第一章 前言前言.1 第二章第二章 系统方案设计系统方案设计.2 2.1 履带车控制设计.2 2.2 控制核心方案设计.2 2.3 控制系统总体设计 3 第三章第三章 履带车电路设计履带车电路设计.4 3.1 主控电路设计 4 3.1.1 单片机最小系统4 3.1.2 复位电路4 3.2 稳压电源模块 5 3.3 LED 显示模块设计 6 3.4 驱动模块设计 7 3.4.1 驱动芯片选型8 3.4.2 驱动电路设计9 3.5 循迹电路设计 10 3.5.1 循迹传感器10 3.5.2 避障传感器设计11 3.6 蜂鸣器驱动模

6、块设计 12 3.7 履带车车体 13 第四章第四章 行驶方案设计行驶方案设计.14 4.1 循迹方案设计.15 4.1.1 循迹流程图16 4.1.2 循迹程序设计17 4.2 避障方案.18 4.2.1 避障流程图19 4.2.2 避障程序设计20 4.3 总体方案 22 第五章第五章 制作与调试制作与调试.24 5.1 PCB 设计与制作.24 5.2 履带车的安装调试 24 5.3 履带车总体调试运行 25 第六章第六章 结论结论.26 结束语结束语.27 致谢致谢.28 参考文献参考文献.29 附录附录.30 1 第一章第一章 前言前言 目前我们能见到各式各样的履带车,其中最为大家熟

7、悉的是坦克。坦克是最早应 用履带的成熟车辆,发展到现在已经有很多功用的车辆使用履带,如:收割机,挖掘 机,玩具车等。履带在特定的路面上有着非常好的机动性、附着性。 随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛 和省内电子大赛几乎每次都有智能小车这方面的题目,我校也有飞思卡尔智能车的项 目,并屡次在全国智能车大赛上获奖。可见其研究意义很大。本设计就是在这样的背 景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课 题。 履带智能车与平常四轮车有着很大的区别,履带车有灵活的转向和强大的通过性, 能适应各种复杂场景,现今很多机器人行动部分也是采用履带的

8、形式,实现行动自如。 本设计是履带车的行动控制研究,是智能车研究领域的重要组成部分,实现多学科综 合研究。 根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加装光电、红外 线实现对履带车位置、运行状况的实时测量,并将测量数据传送至单片机进行处理, 然后由单片机根据所检测的各种数据控制电机的转动实现对履带车的智能控制。这种 方案能实现对履带车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对 系统的各项要求。 本设计采用 STC12CA60S2 系列中的 08S2 单片机。以 08S2 为控制核心,利用红外 传感器检测道路上的障碍,控制电动小汽车的自动避障,以及利用光电传感器检测道

9、 路轨迹自动寻迹功能。08S2 是一款八位单片机,它的易用性和多功能性受到了广大使 用者的好评。 08S2 单片机是高速、低功耗、超强抗干扰的新一代 8051 单片机,内部集成 MAX810 专用复位电路,2 路 PWM,8 路高速 10 位 A/D 转换,针对电机控制,强干扰场 合,正适合履带车的应用1。 2 第二章第二章 系统方案设计系统方案设计 2.1 履带车控制设计履带车控制设计 这里用循迹传感器和避障传感器实现履带小车的控制。这两种传感器是制作智能 车普遍采用的传感器,性能较稳定。红外传感器比光电传感器的探测距离要大很多。 循迹传感器可用于履带车的探测距离较近循迹控制,循迹是指小车在

10、白色地板上 循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光 的强弱来判断“道路” ,没接收到反射光传感器输出低电平,反之输出高电平,经过 单片机数据处理,执行相应的行驶状态。 避障传感器课用于履带车的探测距离较远避障控制,即利用红外线在不同颜色的 物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向前方发射红外光, 当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;反之 小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定 小车是否执行避障。如:当左侧红外传感器检测到障碍,向单片机发送低电平信号, 单片机执行避障程序2

11、。 2.2 控制核心方案设计控制核心方案设计 方案一: 选用一片 CPLD(如 EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功 能。CPLD 具有速度快、编程容易、资源丰富、开发周期短等优点,可利用 VHDL 语言进 行编写开发。但 CPLD 在控制上较单片机有较大的劣势。同时,CPLD 的处理速度非常快, 而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点 上,MCU 就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的 难题。为此,我们不采用该种方案,进而提出了第二种设想。 方案二: 3 采用单片机作为整个系统的核心,用其控制行

12、进中的小车,以实现其既定的性能 指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片 机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发 挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此, 这种方案是一种较为理想的方案。 针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量 的标准单片机,而不能用精简 I/O 口和程序存储器的小体积单片机,D/A、A/D 功能也 不必选用。根据这些分析,我选定了 STC12C5A08S2 单片机作为本设计的主控装置,该 款单片在实验课程中多次使用,性能稳定。该单片机具有功能强大的

13、位操作指令,I/O 口均可按位寻址,程序空间多达 8K,对于本设计也绰绰有余,更可贵的是该单片机价 格非常低廉3。 在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机, 充分利用 STC12C5A08S2 单片机的资源。 2.3 控制系统总体设计控制系统总体设计 智能履带车控制系统由主控模块、稳压电源模块、传感器信号模块、电机及驱动 模块等部分组成,控制系统的结构框图如图2.1 所示4。 稳压电源模块主控模块驱动模块 传感器信号模块 LED 显示模块 减速电机 图 2.1 控制系统的结构 4 第三章第三章 履带车电路设计履带车电路设计 3.1 主控电路设计主控电路设计 主控

14、电路主要包括两部分:单片机最小系统和复位电路。这两部分构成整个系统 的核心控制整体的运转。 3.1.1 单片机最小系统 主控电路只需要连接单片机最小系统即可,引出单片机的 I/O 口,采用 12MHZ 的 外部晶振。具体电路如 3.1 所示5。 图 3.1 单片机最小系统 3.1.2 复位电路 该模块用于单片机的复位以及外部中断时使用。当要把按键 RESET 用作复位功能时, 5 必须把 J7 处的跳帽接在 1、2 上;当要把它做外部中断使用时,必须把 J7 的跳帽接在 2、3 上,这时当按下 RESET 按键时该电路会产生一个单脉冲。电路图如 3.2 所示。 图 3.2 复位电路 3.2 稳

15、压电源模块稳压电源模块 本次设计只需要两种电压供给,一种是 6V12V 的驱动模块供电,一种是单片机 和传感器的+5V 稳压供电。驱动模块可直接用 7.2V 的高容量电池直接供电,这种电池 经过测试实际电压一般在 8V 左右,能个驱动模块提供充足电量。5V 稳压电路采用 MC7805CT 制作,MC7805CT 是一个三角稳压器,最大输入电压 40V,输出电压 5V,电流 1A,完全胜任本次 7.2V 的输入稳压电路。接法如图 3.3 所示。 图 3.3 稳压电源电路图 J4 处接 7.2V 的电池电源,经过 MC7805CT 稳压之后为 5V 的输出,可供单片机和 传感器使用。接上 J3 和

16、 J5 跳帽能给驱动电路供电。 在电源电路中,串联了一个 IN4001 整流器,并联了 2 个电容,这里是用于对电 6 源进行处理,外接电源的性质比较复杂不稳定,而单片机需要一个 5V 稳定的直流电源, 本设计电源用的是 7.2V 的高容量电池,我用 IN4001 整流,得到品质较好的直流电源, 二极管在这里能平稳电压消除毛刺,然后经过 5V 稳压器得到单片机所需要的电压6。 3.3 LED 显示模块设计显示模块设计 本次设计显示数据比较简单主要体现数码管的动态显示方法,显示模块采用共阴 极接法的数码管显示,段码数据线接在单片机 P0 端口,4 个位选分别接在 P20-P23 端 口上。其原理

17、图如 3.4 所示。 图 3.4 数码管显示电路 从上面电路图我们能看出数码管 7 段码输入直接由单片机输出,而 4 位码的控制 没有直接由单片机直接驱动,而是由 4 个三极管作为开关控制选片,当单片机 P20 到 P23 输出高电平时三极管导通,位码管教接地导通,输出低电平时三极管高阻态,相应 的数码管也不会被点亮。单片机作为核心控制器需要稳定的工作环境,单片机的驱动 能力较弱,如果直接有 I/O 控制,增加了单片机的负荷,数码管电阻较小,没有开关 驱动电路,会造成单片机 I/O 口短接,影响单片机工作,导致损坏单片机7。 7 3.4 驱动模块设计驱动模块设计 采用功率三极管作为功率放大器的

18、输出控制直流电机。线性型驱动的电路结构和 原理简单,加速能力强,采用由达林顿管组成的 H 型桥式电路如图 3.5 所示8。 图 3.5 H 桥式电路 用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转 速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H 型桥式电路保证了简 单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采 用的 PWM 调速技术。现市面上有很多此种芯片,我选用了 L298N 如图 3.6 所示。 图 3.6 L298N 实物图 8 这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频 繁的负载冲击,还可以实

19、现频繁的无级快速启动、制动和反转等优点。因此决定采用 使用功率三极管作为功率放大器的输出控制直流电机。 3.4.1 驱动芯片选型 驱动模块采用专用芯片 L298N 作为电机驱动芯片,L298N 是一个具有高电压 大电流的全桥驱动芯片外部引脚图如 3.7 所示。 图 3.7 L298N 外部引脚 其响应频率高,一片 L298N 可以分别控制两个直流电机。以下为 L298N 输入输出关系 如表 1 所示。 表 1 L298N 输入输出关系 ENAIN1IN2 电机运行情况 HHL 正转 HLH 反转 HIN2IN1 快速停止 LXX 停止 9 3.4.2 驱动电路设计 驱动电路如图 3.8 所示

20、,驱动电路 IN1 到 IN4 依次接单片机 P1_0 到 P1_3 端口, IN1 和 IN2 控制电机 1,IN3 和 IN4 控制电机 2。 图 3.8 驱动电路图 电路中除了使用了驱动芯片 L298N,还使用了发光二极管和续流二极管。发光二级 管可以指示电极正反转动的情况,方便设计中观察状态变化,容易调试。电路中还加 装了续流二极管。续流二极管经常和储能元件一起使用,防止电压电流突变,提供通 路,续流二极管不是一个实质的元件,而是在电路中起到续流作用。 本设计中履带车在时间跑动中会控制电机频繁的正反转,直流电机也相当于发电 机电机两级间会产生感应电动势,当电流消失时感应电动势会对电路中

21、其他元件产生 反向电压,当方向电压高于元件的反击穿电压时会损坏一些元器件,如三极管,晶闸 管。这里我分别在量电机极端接上续流二极管作为保护电路。这些续流二极管构成回 路消耗感应电动势产生的能量,从而保护整个电路中其他元件9。 10 3.5 循迹电路设计循迹电路设计 传感器是智能车的“眼睛” ,它能给我提供智能车的周围的信息,在本次设计中采 用两种传感器:循迹传感器和避障传感器。循迹传感器探测距离短,但探测效果较好, 识别黑白色的能力较强,成本低。而避障方面采用红外传感器,探测距离较远,能有 效识别大多数颜色和黑色的差别提供稳定信号,成本稍高点。 3.5.1 循迹传感器 LM324为四运放集成电

22、路,采用14脚双列直插塑料封装。内部有四个运算放大器, 有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源330V,或正负双电 源15V15V工作,其内部电路如图3.9所示10。 图 3.9 LM324 内部电路 在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。 在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合 适的比较电压,单个集成运放如图3.10所示。 图 3.10 集成运放的管脚图 循迹电路图如图 3.11 所示,当 TCRT5000 感光导通的时候 R1 和 R2 接地,3 处的电 11 压接近 0,R3 位滑动电阻,2 处

23、的电压设为 3V,3 处小于 2 处,LM342 的 OUT 端会输出 低电平,供单片机检测。反之 LM324 处输出高电平。 图 3.11 循迹电路图 本次设计采用 3 路循迹模块,依次排在小车前方,左中右 3 路接单片机 P1_4 到 P1_6。循迹对应如表 2 所示。 表 2 循迹端口状态对应表 P1_4P1_5P1_6 左中右 101前进 011左转 110右转 3.5.2 避障传感器设计 该传感器检测距离为 0-80CM,于淘宝购买。该传感器属于市场产品,这里只介绍 用法。实物图如 3.12 所示。 12 图 3.12 避障传感器 使用于本次设计的避障任务,避障模块采用了 2 个传感

24、器分别放于小车前方的左 侧和右侧,调节该传感器的检测距离为 15cm。当遇到障碍时传感器会给出低电平。左 避障传感器接于单片机 P3_5 端口,右避障传感器接于单片机 P3_6 端口。 3.6 蜂鸣器驱动模块设计蜂鸣器驱动模块设计 由于单片机输出电流较小不能驱动蜂鸣器,这里借助 S9013 PNP 型三极管放大电 路驱动蜂鸣器,三极管 Q 起开关作用,其基极的高电平使三极管饱和导通,集电极和 发射极导通,蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。在本设 计中只要 P1.7 输出不同的频率方波信号,蜂鸣器也能发出各种频率声音,电路图如图 3.13 所示。 图 3.13 蜂鸣器驱动电

25、路 在以上电路中我在蜂鸣器上并联一个续流二极管。蜂鸣器本质上是一个感性元件, 其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生 几十伏的尖峰电压,可能损坏驱动三极管11。 13 3.7 履带车车体履带车车体 本题目要求小车的机械系统稳定、灵活、简单,自己手工制作的履带车通常会出 现两侧履带松紧度不一样,跑边,履带脱轮等现象。综合这些因素在网上找到 PR5 小 车底盘符合设计需要,模型如图 3.14 所示。 图 3.14 履带车底盘模型 小车上装有电池、电机、电子器件等,使得电机负担较重。该底盘运动平稳,从 图 3.7 中可以看出在直流电机和轮车轴之间加装了减速齿轮,这

26、样不仅使电机的符合 减轻,也符合我的设计需要。 电池的安装:将电池放置在车体前排车轮的上部位置,使车体的重心靠近前排车 轮,进行大转弯时小车能以前排轮为圆心转弯,排除履带车转弯时侧滑不确定性。 14 第四章第四章 行驶方案设计行驶方案设计 在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每 个生产对象的实际需要设计应用程序。因此,行驶设计在微机控制系统设计中占重要 地位。对于本系统,行驶方案和软件控制更为重要。 在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处 理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定 的方法进行计算,

27、然后再输出,以便控制生产。 本系统中我采用了 5 个传感器,3 路循迹传感器,2 路避障传感器。总体控制方案 如图 4.1 所示。 左避障右避障 左循迹中循迹右循迹 单片机报警显示 电机驱动 左侧前进左侧后退右侧前进右侧后退 图 4.1 总体系统 15 4.1 循迹方案设计循迹方案设计 小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机 I/O 口,一旦检 测到某个 I/O 口有信号,即进入判断处理程序,先确定 3 个探测器中的哪一个探测到 了黑线,如果左面传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此 时应使小车向左转;如果左面和中间传感器同时探测到黑线,此种情况为向左急转

28、弯; 如果是右面传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则 应使小车向右转。如果右面和中间传感器同时探测到黑线,此种情况为向右急转弯。 在经过了方向调整后,如果中间传感器探测黑线,左右没有探测到黑线小车再继续向 前行走,并继续探测黑线重复上述动作,履带车控制如表 3 所示12。 表 3 小车驱动控制对应表 单片机通过电机驱动电路控制小车的运行方法 P1.0P1.1P1.2P1.3 状态 P1.4P1.5P1.6 1001 前进 101 1001 前进 111 1001 前进 000 0110 后退 XXX 1000 左转 011 0001 右转 110 1010 快速左

29、转 001 0101 快速右 转 110 16 4.1.1 循迹流程图 由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。 第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所 以它必须要保证小车回到正确轨迹上来,流程如图 4.2 所示。 检测黑线 进入循迹 是否检测到黑 线 状态判断处理 左急 转 左转右转右急 转 继续前进 N Y 图 4.2 循迹流程图 17 4.1.2 循迹程序设计 循迹方面我使用了 3 个传感器,通过寻黑线实现对履带车的智能控制,本次设计 目的实现对履带车的控制,在这里使用 3 路传感器不仅能达到循迹目的也能显示出对 履带车的

30、控制效果。 void ww()/循迹 if(P14=0P11=0;P12=0;P13=0;P17=0; else if(P14=0P11=0;P12=1;P13=0;P17=0; else if(P14=1P11=0;P12=0;P13=1;P17=0; else if (P14=1P11=1;P12=0;P13=1;P17=0; else if(P14=1P11=0;P12=0;P13=1;P17=0; else if(P14=1P11=0;P12=0;P13=1;P17=0; else P10=1; P11=0; P12=0; P13=1; 以上程序我采用了简单明了的 if 语句将我设计的

31、路线循迹情况和对驱动电路的 控制对应起来,类似查询表格方式。这样设计程序使用 else if 语句我可以很容易添 加运行状态,使程序调试相对容易,减小工作量。 18 4.2 避障方案避障方案 如图 4.3 所示,经过试验测试,本设计使用的红外传感器的探测夹角较小,当小车 与障碍物平行行驶,或者与障碍物的夹角过小时,小车将识别不到障碍,导致小车一 侧于障碍物解除碰撞。 图 4.3 传感器角度示意图 解决这个问题可以再小车左右 2 个方向增加 2 个传感器探测,但这样对传感器的 资源浪费较大,加大了电源的负荷,程序相对复杂。而我采用的方案是在小车前方水 平避障传感器的安装使其约有 10 度的夹角,

32、左右都是向外扩张 10 度,此红外传感器 的探测距离调试约为 15cm,那么斜侧 10 度夹角后前方探测距离变为 14.77cm 约为 15cm 可以认为保持不变,而 2 侧多出了 3cm 的横向安全距离,当横向距离小于 3cm 时候小车也会执行避障程序13。 软件设计上,避障动作是先检测到障碍执行避障程序,小车先后退一小段距离, 在这期间蜂鸣器报警,然后如果是右传感器探测到障碍,小车将向左转向,反之向右 转向,之后再检测障碍,如果有障碍继续循环动作,没有障碍时小车将检测循迹“黑 线”检查道路,如果无道路小车会向前直行。单片机通过传感器控制驱动电路运行方 法如表 4 所示。 表 4 避障状态对

33、应表 左传感器右传感器执行P1.0P1.1P1.2P1.3 第一步0110P3.5=1P3.6=0 第二步1010 第一步0110P3.5=0P3.6=1 第二步0101 19 4.2.1 避障流程图 在整体程序中,小车避障的优先级最高,无论履带车当前是什么行驶状态,检测 到障碍时,就跳入避障环节,避障完成后才执行其他循迹,前进动作。在其他智能设 计中,我们都要考虑各个环节先后循序,使其符合应用场合,流程如图 4.4 所示。 检测障碍 判断是否有 障碍 左避障信 号 右避障信 号 执行右转 避障程序 执行左转 避障程序 前进 开始 YY N 图 4.4 避障流程 20 4.2.2 避障程序设计

34、 整个电路中我采用 12MHZ 的外部晶振电路,在流程图中能简明的看出各个状态执行 步骤,如果按照这个步骤以 12MHZ 的频率执行,程序检测不会出现错误,但实际我们 人眼将看不任何动作,速度太快。所以各个步骤我们需要设定他们的执行时间,比如 避障时履带车会倒退,那么我们需要设定它倒退的时间。在这里我们可以使用定时器 也可以使用软件延时14。 在这里我使用了自己比较熟悉的软件延时,使用软件延时的优点在于非常方便调 试,避障整个程序设计过程中需要进行多次试验,编写 delay()延时函数,可以再程 序任意地方进行调用,如以下避障程序中: P10=0;P11=1;P12=1;P13=0; dela

35、y(5000); 这是小车倒退执行语句,P10P13=0110,这个倒退状态需要执行 delay(5000)这么长 时间。可以改变括号内的数值进行调试,使小车倒退行驶我们需要的距离。该程序优 点在于方便调试也比较简单,适合和我一样初次设计只能车的同学。完整程序如下: void k()/避障后退函数 if(kk=0)/检测右传感器信号 P17=1;m=1;mm=1; xianshi(f);/避障显示 P10=0;P11=1;P12=1;P13=0;/后退 delay(5000);kk=1; delay(5000);P17=0 else if(hh=0) P17=1;n=1;mm=1; xians

36、hi(f); P10=0;P11=1;P12=1;P13=0; delay(5000); hh=1;delay(5000); P17=0; 21 else m=0;n=0;mm=0; 以下是避障第二步程序,当小车执行完后退动作后,将执行相应的左转或者右转, 在以下程序中我们也能看到使用软件延时 delay(5000),使小车转向合适的角度,这里 使用的是履带车原地转向,比如右侧正转左侧反转。 void ff()/左转 P10=1;P11=0;P12=1;P13=0; delay(5000); void yy()/右转 P10=0;P11=1;P12=0;P13=1; delay(5000);

37、避障一直是全世界研究智能的重要课题,这里的避障方式先后退再转向的方式, 这样避免了直接转向碰撞障碍物的情况,这种方式好比先把自己置于安全的地方,然 后去观察情况,执行动作。在设计中模仿自然规律,进行多学科融合,这样设计的东 西在使用的时候才会更稳定的实现设计目的。 22 4.3 总体方案总体方案 总体流程如图 4.5 所示。 检测障碍 开始 判断是否有 障碍 检测黑线 避障 直行判断是否有 黑线 循迹 Y N N Y 图 4.5 总体方案 在主程序设计上我没有安排左右避障 23 的先后顺序,在传感器的安装上采用的外张角放置,实际行驶中两侧几乎不可能同时 探测到障碍物,因此只需要独立设置两种方式

38、的避障行驶方案即可,经过实际行驶测 试,小车运转正常,没有出现死循环状态,实现了自动控制的目的15。 void main() uint y;f=0;P17=0; while(1) xianshi(f); k();/检测障碍 while (m) if(m=1) /进入避障 f+; for(y=0;y #define uint unsigned int #define uchar unsigned char sbit P10=P10; / 控制左电机前进 sbit P11=P11;/控制左电机后退 sbit P12=P12;/控制右电机 sbit P13=P13;/控制右电机 sbit P14=P

39、14;/寻迹左 sbit P15=P15;/寻迹中 sbit P16=P16; /寻迹右 sbit P17=P17;/蜂鸣器 sbit mm=P37; /指示灯 sbit gw=P23; /p20-p23 位码端口 sbit sw=P22; sbit bw=P21; sbit qw=P20; sbit dx=P0;/p0 段码端口 sbit kk=P36;/右红外传感器 sbit hh=P35; /左红外传感器 52 uchar m=0; uchar n=0; uint x,f; uint a3; void k();/避障后退 void ff(); / 避障左转 void yy(); / 避障

40、右转 void delay(uchar num);/ 延时 void ww(); /寻迹 void xianshi(uchar e);/ void tiqu(uchar e); / unsigned char code LEDMAP = /* 八段管显示码 */ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79, 0x71; /共阴 void main()/主函数 uint y; f=0; P17=0; while(1) xianshi(f); k(); while (m) if(m=1) f+

41、; for(y=0;y0;i-) for (j=110;j0;j-); void k() if(kk=0)/(hh=0) P17=1; m=1; mm=1; xianshi(f); P10=0; P11=1; P12=1; P13=0; delay(1000); delay(5000); kk=1; delay(5000); P17=0; else if(hh=0) 55 P17=1; n=1; mm=1; xianshi(f); P10=0; P11=1; P12=1; P13=0; delay(1000); delay(5000); hh=1; delay(5000); P17=0; el

42、se m=0; n=0; mm=0; void ff() P10=1; P11=0; P12=1; P13=0; delay(5000); 56 void yy() P10=0; P11=1; P12=0; P13=1; delay(5000); void ww() if(P14=0 P11=0; P12=0; P13=0; P17=0; else if(P14=0 P11=0; P12=1; P13=0; P17=0; else if(P14=1 P11=0; 57 P12=0; P13=1; P17=0; else if (P14=1 P11=1; P12=0; P13=1; P17=0;

43、 else if(P14=1 P11=0; P12=0; P13=1; P17=0; else if(P14=1 P11=0; P12=0; P13=1; P17=0; else/ P10=1; P11=0; 58 P12=0; P13=1; void tiqu(uchar e) / a3=e/1000; a2=e%1000/100; a1=e%100/10; a0=e%10; void xianshi(uchar e) /显示时间 uint s; delay(10); s=e/1000; /千位 qw=0; P0=LEDMAPs; delay(10); qw=1; s=e%1000/100;

44、 /百位 bw=0; P0=LEDMAPs; delay(10); bw=1; s=e%100/10; /十位 sw=0; P0=LEDMAPs; delay(10); sw=1; 59 s=e%10; /个位 gw=0; P0=LEDMAPs; delay(10); gw=1; 1 李广弟,单片机基础M,北京:北京航空航天大学出版社,2001:56-54. 2 张毅刚,彭喜元,新编 MCS-51 单片机应用设计,第一版M,哈尔滨工业大学出版社, 2003,2527:411-417. 3 何立民,单片机应用系统设计M,北京:航天航空大学出版社:46-50. 4 余锡存,曹国华编著,单片机原理及

45、接口技术M,西安:西安电子科技大学出版社, 2000.7:174-218. 5 王晓明. 电动机的单片机控制J. 学术期刊,2002,13(15):1322-1755. 6 陈伯时,电力拖动自动控制系统,第二版M,北京:机械工业出版社,2000 年 6 月: 127-130. 7 谭建成主编,电机控制专用集成电路M,北京:机械工业出版社,1997.7:15-81. 8 何希才,新型实用电子电路 400 例M,电子工业出版社,2000 年:400-500. 9 赵负图,传感器集成电路手册M,第一版,化学工业出版社,2004:590-591. 10 韩毅,杨天. 基于 HCS12 单片机的智能寻迹

46、模型车的设计与实现J.学术期刊, 2008,29(18):1535-1955. 11 郭惠,吴迅.单片机 C 语言程序设计完全自学手册M.电子工业出版社, 2008.10:1-200. 12 王东锋,王会良,董冠强. 单片机 C 语言应用 100 例M. 电子工业出版社, 2009.3:145-300. 13 CHU Jiangwei;SHI Shuming;WANG Rongben Design of test platform for intelligent vehicle with visionnavigation 2004(02)R:1-200. 14 HOU Dezao Study on vehicle forward collision avoidance system 2004R. 15 CHENG Yuanhui The intelligent vehicle research based on intelligent transportation systems 2004R:15-150. 60

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1