基于STC12C5A08S2单片机履带小车的功率控制毕业论文_第1页
基于STC12C5A08S2单片机履带小车的功率控制毕业论文_第2页
基于STC12C5A08S2单片机履带小车的功率控制毕业论文_第3页
基于STC12C5A08S2单片机履带小车的功率控制毕业论文_第4页
基于STC12C5A08S2单片机履带小车的功率控制毕业论文_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

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

2、ract 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 the

4、 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; tra

5、cing; 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

6、 3.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 第一章第一章 前言前言 目前我们能

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

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

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

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

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

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

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

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

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

16、使用。接上 j3 和 j5 跳帽能给驱动电路供电。 在电源电路中,串联了一个 in4001 整流器,并联了 2 个电容,这里是用于对电 源进行处理,外接电源的性质比较复杂不稳定,而单片机需要一个 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。 3.4 驱动模块设计驱动模块设计 采用功率三极管作为

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

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

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

21、路中其他元件产生 反向电压,当方向电压高于元件的反击穿电压时会损坏一些元器件,如三极管,晶闸 管。这里我分别在量电机极端接上续流二极管作为保护电路。这些续流二极管构成回 路消耗感应电动势产生的能量,从而保护整个电路中其他元件9。 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 处的电 压接近 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 所示。 图 3.12 避障传感器 使用于本次设计的避障任务,避障模块采用了 2 个传感器分别放于小车

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

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

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

27、 本系统中我采用了 5 个传感器,3 路循迹传感器,2 路避障传感器。总体控制方案 如图 4.1 所示。 左避障右避障 左循迹中循迹右循迹 单片机报警显示 电机驱动 左侧前进左侧后退右侧前进右侧后退 图 4.1 总体系统 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 快速左 转 001 0101 快速右 转

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

30、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 语句我可以很容易添 加运行状态,使程序调试相对容易,减小工作量。 4.2 避障方案避障方案 如图 4.3 所示,经过试验测试,本设计使用的红外传感器的探测夹角较小,当小车 与障碍物平行行驶,或者与障碍物的夹角过小时,小车将识别不到障碍,导致小车一 侧于障碍物解除碰撞。 图 4.3 传感器角度示意图 解决这个问题可以再小车左右 2 个方向增加 2 个传感器探测,但这样对传感器的 资源浪费较大,加大了电源的负荷,程序相对复杂。而我采用的方案是在小车前方水 平避障传感器的安装使其约有 10 度的夹角,左右都是向外扩张 10 度,此红外传感器 的探测距

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

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

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

35、,这个倒退状态需要执行 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; xianshi(f); p10=0;p11=1;p12=1;p13=0;

36、 delay(5000); hh=1;delay(5000); p17=0; 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、, 这样避免了直接转向碰撞障碍物的情况,这种方式好比先把自己置于安全的地方,然 后去观察情况,执行动作。在设计中模仿自然规律,进行多学科融合,这样设计的东 西在使用的时候才会更稳定的实现设计目的。 4.3 总体方案总体方案 总体流程如图 4.5 所示。 检测障碍 开始 判断是否有 障碍 检测黑线 避障 直行判断是否有 黑线 循迹 y n n y 图 4.5 总体方案 在主程序设计上我没有安排左右避障的先后顺序,在传感器的安装上采用的外张 角放置,实际行驶中两侧几乎不可能同时探测到障碍物,因此只需要独立设置两种方 式的避障行驶方案即可,经过实际行驶测试,小车运转正常,没有出现死循环状态, 实现了

38、自动控制的目的15。 void main() uint y;f=0;p17=0; while(1) xianshi(f); k();/检测障碍 while (m) if(m=1) /进入避障 f+; for(y=0;y50;y+) delay(100);k(); for(y=0;y50;y+) delay(100);ff(); while (n) if(n=1) /进入避障 f+; for(y=0;y50;y+) delay(100);k(); for(y=0;y50;y+) delay(100);yy(); ww();/进入循迹 delay(5000); 第五章第五章 制作与调试制作与调试

39、5.1 pcb 设计与制作设计与制作 本次履带车设计主控电路由单片机最小系统构成,所采用的单片机为 51 内核单片 机,电路板使用上在可以直接采用学校 51 单片机最小系统实验板,该板由湖北汽车工 业学院实验室制作。pcb 板如图 5.1 所示。 图 5.1 单片机最小系统实验板 从 pcb 能很容易找出单片机的安装位置和 i/o 口的引出位置,只需要安装单片机 和数码管即可。最小系统电路结构简单,这样避免单独制作 pcb 板,极大节约设计成 本。 5.2 履带车的安装调试履带车的安装调试 该 pcb 板四角有螺柱孔,用四根螺柱安装在小车前方,与传感器靠近,减少传感 器传送距离。而驱动电路置于

40、小车尾部,电机上方。通过调节传感器后方的变阻器的 大小来调节红外传感器的探测距离,通过修改延时程序调整履带车行驶状态。最终履 带车制作成功,其实物如图 5.2 所示。 图 5.2 履带车 5.3 履带车总体调试运行履带车总体调试运行 将所有部件全部组装成功后,烧写好程序放在预定轨道上行驶,反复几次后发现 小车循迹避障个模块功能变弱,探测距离变短,导致偏离跑道,最后出现小车行驶断 断续续。刚开始以为程序问题。通过查找一些制作智能车常出现的故障,发现电量不 足时单片机会出现程序烧写较慢,甚至无法擦除烧写,断续工作等故障。之后采用 7.2v 锂电池代替 6 节 9v 干电池,这些故障都得到排除。但小

41、车在直角弯时候,有时转 向不足,有待提高,现实精确控制,表 6 为实际小车运行情况。 表 6 小车运行情况 履带车运行次数成功循迹次数成功避障次数 111 212 333 434 545 第六章第六章 结论结论 设计中所用到的外设有 5 个红外传感器,两个直流电机,实现对履带车的功率控 制。剖开来说也就是对电机的控制。从网上查找智能车制作经验,基本都由单片机为 内核实现对小车的控制。而 80c51 为我们已经学习过的单片机,从而确定整个设计围 绕单片控制来做,为减少硬件设计带来的问题,采用课程试验单片机 stc12c5a08s2, 该单片功能强大完全满足本次设计需要。 整个设计初期有老师知道,

42、由于初次制作智能车,我大量搜集了相关制作经验, 并了解履带车独有的行驶模式,与老师答疑确定控制方案。主要由三路控制,传感器、 单片机、电机驱动。硬件上在电机传动系统中加装了减速齿轮,行驶速度约为 20cm/s。由电机驱动分别控制左右电机,解决转弯时单片机控制小车左右不同转向的 问题。 在转弯设计中,最大的难题是直角弯。小车很容易冲出跑道,这里利用履带车原 地转弯的模式能解决这个问题,该功能是普通 4 轮车所难实现的。但实际测试中也会 出行速度问题原地转向过慢冲出跑道问题。需要通过跟精准的控制完全实现,在以后 设计还有很大提升空间。 电源选择方面,开始使用了和履带车底盘配套的 6 节干电池盒 9

43、v 电源,但实际调 试中只有十几分钟就出现单片机和驱动电路工作不稳定,出现断续行驶的情况,刚开 始以为程序问题。通过查找一些制作智能车常出现的故障,发现电量不足时单片机会 出现程序烧写较慢,甚至无法擦除烧写,断续工作等故障。将电源换为高容量的锂电 池,整个小车比以前动力强劲,不在出现行驶“发虚”的情况。 程序的编写采用了 c 语言,使用 keil 软件进行调试。该软件同时也支持汇编语言, 但汇编相对逻辑更严密。整个编程过程中得到老师和同学的极大帮助,让我感受到 “旁观者清”的概念,很多时候自己一个思路做下去很难发现问题,但有多个思路看 问题时就能发现许多不足,所以团队合作也很重要。最后整个设计

44、圆满结束,实现对 履带车的功率控制。 结束语结束语 从开始与指导老师协商选定课题到整个课题思路的设计对于我来说是个巨大的项 目,本设计持续 3 个月,从对智能车一窍不通到最后圆满完成设计效果,感觉到自己 有极大的提高。此次设计主要应用到 c 语言编程,数字电路,模拟电路等知识,用到 keil 和 protel99se 两个软件,设计中很好的将这些知识统一联系起来,融会贯通。解决 了平时理论学习中很少遇到的实际问题,在履带车设计中不仅要查找硬件问题,还要 查找软件问题。例如电源问题。虽然最后得到解决,但这个排障的过程让我收获不少。 本系统通过对履带车功率控制的目的实现了循迹、避障的控制,能自主纠

45、正行驶 方向,当遇到障碍能报警,并记录障碍,发出报警声。尽管这次设计做的不是很完美, 但通过这次设计任务我觉得自己有很大提高,能把很多知识结合使用,体会到所学有 用之处,相信在以后工作和学习中能做的更好。 致谢致谢 历时三个月的毕业设计已经告一段落。经过自己不断的搜索努力以及老师和校外 指导老师罗五四的耐心指导和曹智同学的帮助下,本设计已经基本完成。在这段时间 里,老师给予了悉心的指导,最重要的是给了我解决问题的思路和方法,并且在设 计环境和器材方面给予了大力的帮助和支持,他的指导使我受益非浅,同时也得到 曹智同学的大力帮助。 通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理

46、论联 系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用 和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这三个月 的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。 设计中一定存在很多不足之处,敬请各位老师批评指正。在此,我对 老师表示最 真挚的感谢!同时感谢所有帮助过我的同学! 参考文献参考文献 1 李广弟,单片机基础m,北京:北京航空航天大学出版社,2001:56-54. 第二章第二章 系统方案设计系统方案设计 2.1 履带车控制设计履带车控制设计 这里用循迹传感器和避障传感器实现履带小车的控制。这两种传感器是制作智能

47、车普遍采用的传感器,性能较稳定。红外传感器比光电传感器的探测距离要大很多。 循迹传感器可用于履带车的探测距离较近循迹控制,循迹是指小车在白色地板上 循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光 的强弱来判断“道路” ,没接收到反射光传感器输出低电平,反之输出高电平,经过 单片机数据处理,执行相应的行驶状态。 避障传感器课用于履带车的探测距离较远避障控制,即利用红外线在不同颜色的 物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向前方发射红外光, 当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;反之 小车上的接收管接收不到红外光。单片机

48、就是否收到反射回来的红外光为依据来确定 小车是否执行避障。如:当左侧红外传感器检测到障碍,向单片机发送低电平信号, 单片机执行避障程序。 2.2 控制核心方案设计控制核心方案设计 方案一: 选用一片 cpld(如 epm7128lc84-15)作为系统的核心部件,实现控制与处理的功 能。cpld 具有速度快、编程容易、资源丰富、开发周期短等优点,可利用 vhdl 语言进 行编写开发。但 cpld 在控制上较单片机有较大的劣势。同时,cpld 的处理速度非常快, 而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点 上,mcu 就已经可以胜任了。若采用该方案,必将在控制上遇

49、到许许多多不必要增加的 难题。为此,我们不采用该种方案,进而提出了第二种设想。 方案二: 采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能 指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片 机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发 挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此, 这种方案是一种较为理想的方案。 针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量 的标准单片机,而不能用精简 i/o 口和程序存储器的小体积单片机,d/a、a/d 功能也 不必选用。根据这些分析

50、,我选定了 stc12c5a08s2 单片机作为本设计的主控装置,该 款单片在实验课程中多次使用,性能稳定。该单片机具有功能强大的位操作指令,i/o 口均可按位寻址,程序空间多达 8k,对于本设计也绰绰有余,更可贵的是该单片机价 格非常低廉。 在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机, 充分利用 stc12c5a08s2 单片机的资源。 2.3 控制系统总体设计控制系统总体设计 智能履带车控制系统由主控模块、稳压电源模块、传感器信号模块、电机及驱动 模块等部分组成,控制系统的结构框图如图2.1 所示。 稳压电源模块主控模块驱动模块 传感器信号模块 led 显示模块

51、 减速电机 图 2.1 控制系统的结构 第三章第三章 履带车电路设计履带车电路设计 3.1 主控电路设计主控电路设计 主控电路主要包括两部分:单片机最小系统和复位电路。这两部分构成整个系统 的核心控制整体的运转。 3.1.1 单片机最小系统 主控电路只需要连接单片机最小系统即可,引出单片机的 i/o 口,采用 12mhz 的 外部晶振。具体电路如 3.1 所示。 图 3.1 单片机最小系统 3.1.2 复位电路 该模块用于单片机的复位以及外部中断时使用。当要把按键 reset 用作复位功能时, 必须把 j7 处的跳帽接在 1、2 上;当要把它做外部中断使用时,必须把 j7 的跳帽接在 2、3

52、上,这时当按下 reset 按键时该电路会产生一个单脉冲。电路图如 3.2 所示。 图 3.2 复位电路 3.2 稳压电源模块稳压电源模块 本次设计只需要两种电压供给,一种是 6v12v 的驱动模块供电,一种是单片机 和传感器的+5v 稳压供电。驱动模块可直接用 7.2v 的高容量电池直接供电,这种电池 经过测试实际电压一般在 8v 左右,能个驱动模块提供充足电量。5v 稳压电路采用 mc7805ct 制作,mc7805ct 是一个三角稳压器,最大输入电压 40v,输出电压 5v,电流 1a,完全胜任本次 7.2v 的输入稳压电路。接法如图 3.3 所示。 图 3.3 稳压电源电路图 j4 处

53、接 7.2v 的电池电源,经过 mc7805ct 稳压之后为 5v 的输出,可供单片机和 传感器使用。接上 j3 和 j5 跳帽能给驱动电路供电。 在电源电路中,串联了一个 in4001 整流器,并联了 2 个电容,这里是用于对电 源进行处理,外接电源的性质比较复杂不稳定,而单片机需要一个 5v 稳定的直流电源, 本设计电源用的是 7.2v 的高容量电池,我用 in4001 整流,得到品质较好的直流电源, 二极管在这里能平稳电压消除毛刺,然后经过 5v 稳压器得到单片机所需要的电压。 3.3 led 显示模块设计显示模块设计 本次设计显示数据比较简单主要体现数码管的动态显示方法,显示模块采用共

54、阴 极接法的数码管显示,段码数据线接在单片机 p0 端口,4 个位选分别接在 p20-p23 端 口上。其原理图如 3.4 所示。 图 3.4 数码管显示电路 从上面电路图我们能看出数码管 7 段码输入直接由单片机输出,而 4 位码的控制 没有直接由单片机直接驱动,而是由 4 个三极管作为开关控制选片,当单片机 p20 到 p23 输出高电平时三极管导通,位码管教接地导通,输出低电平时三极管高阻态,相应 的数码管也不会被点亮。单片机作为核心控制器需要稳定的工作环境,单片机的驱动 能力较弱,如果直接有 i/o 控制,增加了单片机的负荷,数码管电阻较小,没有开关 驱动电路,会造成单片机 i/o 口

55、短接,影响单片机工作,导致损坏单片机。 3.4 驱动模块设计驱动模块设计 采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和 原理简单,加速能力强,采用由达林顿管组成的 h 型桥式电路如图 3.5 所示。 图 3.5 h 桥式电路 用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转 速。这种电路由于工作在管子的饱和截止模式下,效率非常高,h 型桥式电路保证了简 单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采 用的 pwm 调速技术。现市面上有很多此种芯片,我选用了 l298n 如图 3.6 所示。 图 3.6 l298n 实物

56、图 这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频 繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用 使用功率三极管作为功率放大器的输出控制直流电机。 3.4.1 驱动芯片选型 驱动模块采用专用芯片 l298n 作为电机驱动芯片,l298n 是一个具有高电压 大电流的全桥驱动芯片外部引脚图如 3.7 所示。 图 3.7 l298n 外部引脚 其响应频率高,一片 l298n 可以分别控制两个直流电机。以下为 l298n 输入输出关系 如表 1 所示。 表 1 l298n 输入输出关系 enain1in2 电机运行情况 hhl 正转 hlh 反转

57、hin2in1 快速停止 lxx 停止 3.4.2 驱动电路设计 驱动电路如图 3.8 所示 ,驱动电路 in1 到 in4 依次接单片机 p1_0 到 p1_3 端口, in1 和 in2 控制电机 1,in3 和 in4 控制电机 2。 图 3.8 驱动电路图 电路中除了使用了驱动芯片 l298n,还使用了发光二极管和续流二极管。发光二级 管可以指示电极正反转动的情况,方便设计中观察状态变化,容易调试。电路中还加 装了续流二极管。续流二极管经常和储能元件一起使用,防止电压电流突变,提供通 路,续流二极管不是一个实质的元件,而是在电路中起到续流作用。 本设计中履带车在时间跑动中会控制电机频繁

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

59、黑色的差别提供稳定信号,成本稍高点。 3.5.1 循迹传感器 lm324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器, 有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源330v,或正负双电 源15v15v工作,其内部电路如图3.9所示。 图 3.9 lm324 内部电路 在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。 在电路中,lm324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合 适的比较电压,单个集成运放如图3.10所示。 图 3.10 集成运放的管脚图 循迹电路图如图 3.11 所示,当 tcrt5000 感光导通的

60、时候 r1 和 r2 接地,3 处的电 压接近 0,r3 位滑动电阻,2 处的电压设为 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 所示。 图 3.

温馨提示

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

评论

0/150

提交评论