欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

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

  • 资源ID:36861701       资源大小:2.52MB        全文页数:64页
  • 资源格式: DOC        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

摘摘要要本文设计是基于 STC12C5A08S2 单片机履带小车的功率控制。利用红外传感器控制履带车自动避开前方障碍和自动寻迹动作,实现小车的前进、后退、转弯功能。本设计主要体现小车的自主控制直流电机运行达到智能的目的,综合多个科目知识,从电系统路到软件系统设计完善,整个系统结构紧凑,硬件制作简易,具有较高的可行性和可靠性,实验测试结果满足要求。同时该履带小车可以作为玩具的发展方向,为中国的高端玩具的技术缺乏进行弥补。采用的主要技术有:(1)传感器的有效使用,(2)单片机的应用, (3)对电机的控制。关键词:关键词:履带小车;单片机;STC12CA60S2;寻迹;避障 AbstractThis 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 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 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; tracing; obstacle avoidance 目录目录第一章第一章 前言前言.1第二章第二章 系统方案设计系统方案设计.22.1 履带车控制设计.22.2 控制核心方案设计.22.3 控制系统总体设计 .3第三章第三章 履带车电路设计履带车电路设计.43.1 主控电路设计 .43.1.1 单片机最小系统.43.1.2 复位电路.43.2 稳压电源模块 .53.3 LED 显示模块设计 .63.4 驱动模块设计 .73.4.1 驱动芯片选型.83.4.2 驱动电路设计.93.5 循迹电路设计 .103.5.1 循迹传感器.103.5.2 避障传感器设计.113.6 蜂鸣器驱动模块设计 .123.7 履带车车体 .13第四章第四章 行驶方案设计行驶方案设计.144.1 循迹方案设计.154.1.1 循迹流程图.164.1.2 循迹程序设计.174.2 避障方案.184.2.1 避障流程图.19 4.2.2 避障程序设计.204.3 总体方案 .22第五章第五章 制作与调试制作与调试.245.1 PCB 设计与制作.245.2 履带车的安装调试 .245.3 履带车总体调试运行 .25第六章第六章 结论结论.26结束语结束语.27致谢致谢.28参考文献参考文献.29附录附录.30 1 第一章第一章 前言前言目前我们能见到各式各样的履带车,其中最为大家熟悉的是坦克。坦克是最早应用履带的成熟车辆,发展到现在已经有很多功用的车辆使用履带,如:收割机,挖掘机,玩具车等。履带在特定的路面上有着非常好的机动性、附着性。随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,我校也有飞思卡尔智能车的项目,并屡次在全国智能车大赛上获奖。可见其研究意义很大。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。履带智能车与平常四轮车有着很大的区别,履带车有灵活的转向和强大的通过性,能适应各种复杂场景,现今很多机器人行动部分也是采用履带的形式,实现行动自如。本设计是履带车的行动控制研究,是智能车研究领域的重要组成部分,实现多学科综合研究。根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加装光电、红外线实现对履带车位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据控制电机的转动实现对履带车的智能控制。这种方案能实现对履带车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用 STC12CA60S2 系列中的 08S2 单片机。以 08S2 为控制核心,利用红外传感器检测道路上的障碍,控制电动小汽车的自动避障,以及利用光电传感器检测道路轨迹自动寻迹功能。08S2 是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。08S2 单片机是高速、低功耗、超强抗干扰的新一代 8051 单片机,内部集成MAX810 专用复位电路,2 路 PWM,8 路高速 10 位 A/D 转换,针对电机控制,强干扰场合,正适合履带车的应用1。 2第二章第二章 系统方案设计系统方案设计2.1 履带车控制设计履带车控制设计这里用循迹传感器和避障传感器实现履带小车的控制。这两种传感器是制作智能车普遍采用的传感器,性能较稳定。红外传感器比光电传感器的探测距离要大很多。循迹传感器可用于履带车的探测距离较近循迹控制,循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路” ,没接收到反射光传感器输出低电平,反之输出高电平,经过单片机数据处理,执行相应的行驶状态。避障传感器课用于履带车的探测距离较远避障控制,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向前方发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;反之小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定小车是否执行避障。如:当左侧红外传感器检测到障碍,向单片机发送低电平信号,单片机执行避障程序2。2.2 控制核心方案设计控制核心方案设计 方案一:选用一片 CPLD(如 EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD 具有速度快、编程容易、资源丰富、开发周期短等优点,可利用 VHDL 语言进行编写开发。但 CPLD 在控制上较单片机有较大的劣势。同时,CPLD 的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU 就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案二: 3采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简 I/O 口和程序存储器的小体积单片机,D/A、A/D 功能也不必选用。根据这些分析,我选定了 STC12C5A08S2 单片机作为本设计的主控装置,该款单片在实验课程中多次使用,性能稳定。该单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达 8K,对于本设计也绰绰有余,更可贵的是该单片机价格非常低廉3。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用 STC12C5A08S2 单片机的资源。2.3 控制系统总体设计控制系统总体设计智能履带车控制系统由主控模块、稳压电源模块、传感器信号模块、电机及驱动模块等部分组成,控制系统的结构框图如图2.1 所示4。稳压电源模块主控模块驱动模块传感器信号模块LED 显示模块减速电机图 2.1 控制系统的结构 4第三章第三章 履带车电路设计履带车电路设计3.1 主控电路设计主控电路设计主控电路主要包括两部分:单片机最小系统和复位电路。这两部分构成整个系统的核心控制整体的运转。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 稳压电源模块稳压电源模块本次设计只需要两种电压供给,一种是 6V12V 的驱动模块供电,一种是单片机和传感器的+5V 稳压供电。驱动模块可直接用 7.2V 的高容量电池直接供电,这种电池经过测试实际电压一般在 8V 左右,能个驱动模块提供充足电量。5V 稳压电路采用MC7805CT 制作,MC7805CT 是一个三角稳压器,最大输入电压 40V,输出电压 5V,电流1A,完全胜任本次 7.2V 的输入稳压电路。接法如图 3.3 所示。图 3.3 稳压电源电路图 J4 处接 7.2V 的电池电源,经过 MC7805CT 稳压之后为 5V 的输出,可供单片机和传感器使用。接上 J3 和 J5 跳帽能给驱动电路供电。 在电源电路中,串联了一个 IN4001 整流器,并联了 2 个电容,这里是用于对电 6源进行处理,外接电源的性质比较复杂不稳定,而单片机需要一个 5V 稳定的直流电源,本设计电源用的是 7.2V 的高容量电池,我用 IN4001 整流,得到品质较好的直流电源,二极管在这里能平稳电压消除毛刺,然后经过 5V 稳压器得到单片机所需要的电压6。3.3 LED 显示模块设计显示模块设计本次设计显示数据比较简单主要体现数码管的动态显示方法,显示模块采用共阴极接法的数码管显示,段码数据线接在单片机 P0 端口,4 个位选分别接在 P20-P23 端口上。其原理图如 3.4 所示。图 3.4 数码管显示电路从上面电路图我们能看出数码管 7 段码输入直接由单片机输出,而 4 位码的控制没有直接由单片机直接驱动,而是由 4 个三极管作为开关控制选片,当单片机 P20 到P23 输出高电平时三极管导通,位码管教接地导通,输出低电平时三极管高阻态,相应的数码管也不会被点亮。单片机作为核心控制器需要稳定的工作环境,单片机的驱动能力较弱,如果直接有 I/O 控制,增加了单片机的负荷,数码管电阻较小,没有开关驱动电路,会造成单片机 I/O 口短接,影响单片机工作,导致损坏单片机7。 73.4 驱动模块设计驱动模块设计采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H 型桥式电路如图 3.5 所示8。图 3.5 H 桥式电路用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H 型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM 调速技术。现市面上有很多此种芯片,我选用了 L298N 如图 3.6 所示。图 3.6 L298N 实物图 8这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。3.4.1 驱动芯片选型驱动模块采用专用芯片 L298N 作为电机驱动芯片,L298N 是一个具有高电压大电流的全桥驱动芯片外部引脚图如 3.7 所示。图 3.7 L298N 外部引脚其响应频率高,一片 L298N 可以分别控制两个直流电机。以下为 L298N 输入输出关系如表 1 所示。表 1 L298N 输入输出关系ENAIN1IN2电机运行情况HHL正转HLH反转HIN2IN1快速停止LXX停止 93.4.2 驱动电路设计驱动电路如图 3.8 所示 ,驱动电路 IN1 到 IN4 依次接单片机 P1_0 到 P1_3 端口,IN1 和 IN2 控制电机 1,IN3 和 IN4 控制电机 2。图 3.8 驱动电路图电路中除了使用了驱动芯片 L298N,还使用了发光二极管和续流二极管。发光二级管可以指示电极正反转动的情况,方便设计中观察状态变化,容易调试。电路中还加装了续流二极管。续流二极管经常和储能元件一起使用,防止电压电流突变,提供通路,续流二极管不是一个实质的元件,而是在电路中起到续流作用。本设计中履带车在时间跑动中会控制电机频繁的正反转,直流电机也相当于发电机电机两级间会产生感应电动势,当电流消失时感应电动势会对电路中其他元件产生反向电压,当方向电压高于元件的反击穿电压时会损坏一些元器件,如三极管,晶闸管。这里我分别在量电机极端接上续流二极管作为保护电路。这些续流二极管构成回路消耗感应电动势产生的能量,从而保护整个电路中其他元件9。 103.5 循迹电路设计循迹电路设计 传感器是智能车的“眼睛” ,它能给我提供智能车的周围的信息,在本次设计中采用两种传感器:循迹传感器和避障传感器。循迹传感器探测距离短,但探测效果较好,识别黑白色的能力较强,成本低。而避障方面采用红外传感器,探测距离较远,能有效识别大多数颜色和黑色的差别提供稳定信号,成本稍高点。3.5.1 循迹传感器LM324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源330V,或正负双电源15V15V工作,其内部电路如图3.9所示10。图 3.9 LM324 内部电路在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压,单个集成运放如图3.10所示。图 3.10 集成运放的管脚图循迹电路图如图 3.11 所示,当 TCRT5000 感光导通的时候 R1 和 R2 接地,3 处的电 11压接近 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 所示。 12图 3.12 避障传感器使用于本次设计的避障任务,避障模块采用了 2 个传感器分别放于小车前方的左侧和右侧,调节该传感器的检测距离为 15cm。当遇到障碍时传感器会给出低电平。左避障传感器接于单片机 P3_5 端口,右避障传感器接于单片机 P3_6 端口。3.6 蜂鸣器驱动模块设计蜂鸣器驱动模块设计由于单片机输出电流较小不能驱动蜂鸣器,这里借助 S9013 PNP 型三极管放大电路驱动蜂鸣器,三极管 Q 起开关作用,其基极的高电平使三极管饱和导通,集电极和发射极导通,蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。在本设计中只要 P1.7 输出不同的频率方波信号,蜂鸣器也能发出各种频率声音,电路图如图3.13 所示。图 3.13 蜂鸣器驱动电路在以上电路中我在蜂鸣器上并联一个续流二极管。蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管11。 133.7 履带车车体履带车车体本题目要求小车的机械系统稳定、灵活、简单,自己手工制作的履带车通常会出现两侧履带松紧度不一样,跑边,履带脱轮等现象。综合这些因素在网上找到 PR5 小车底盘符合设计需要,模型如图 3.14 所示。图 3.14 履带车底盘模型小车上装有电池、电机、电子器件等,使得电机负担较重。该底盘运动平稳,从图 3.7 中可以看出在直流电机和轮车轴之间加装了减速齿轮,这样不仅使电机的符合减轻,也符合我的设计需要。电池的安装:将电池放置在车体前排车轮的上部位置,使车体的重心靠近前排车轮,进行大转弯时小车能以前排轮为圆心转弯,排除履带车转弯时侧滑不确定性。 14第四章第四章 行驶方案设计行驶方案设计在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,行驶设计在微机控制系统设计中占重要地位。对于本系统,行驶方案和软件控制更为重要。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。本系统中我采用了 5 个传感器,3 路循迹传感器,2 路避障传感器。总体控制方案如图 4.1 所示。 左避障右避障左循迹中循迹右循迹单片机报警显示电机驱动左侧前进左侧后退右侧前进右侧后退图 4.1 总体系统 154.1 循迹方案设计循迹方案设计小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机 I/O 口,一旦检测到某个 I/O 口有信号,即进入判断处理程序,先确定 3 个探测器中的哪一个探测到了黑线,如果左面传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;如果左面和中间传感器同时探测到黑线,此种情况为向左急转弯;如果是右面传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。如果右面和中间传感器同时探测到黑线,此种情况为向右急转弯。在经过了方向调整后,如果中间传感器探测黑线,左右没有探测到黑线小车再继续向前行走,并继续探测黑线重复上述动作,履带车控制如表 3 所示12。表 3 小车驱动控制对应表单片机通过电机驱动电路控制小车的运行方法P1.0P1.1P1.2P1.3状态P1.4P1.5P1.61001前进1011001前进1111001前进0000110后退XXX1000左转0110001右转1101010快速左转0010101快速右转110 164.1.1 循迹流程图由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,流程如图 4.2 所示。检测黑线进入循迹是否检测到黑线状态判断处理左急转左转右转右急转继续前进NY图 4.2 循迹流程图 174.1.2 循迹程序设计循迹方面我使用了 3 个传感器,通过寻黑线实现对履带车的智能控制,本次设计目的实现对履带车的控制,在这里使用 3 路传感器不仅能达到循迹目的也能显示出对履带车的控制效果。void ww()/循迹if(P14=0&P15=1&P16=1)/右转 P10=1;P11=0;P12=0;P13=0;P17=0; else if(P14=0&P15=0&P16=1)/右急转 P10=1;P11=0;P12=1;P13=0;P17=0; else if(P14=1&P15=1&P16=0)左转 P10=0;P11=0;P12=0;P13=1;P17=0;else if (P14=1&P15=0&P16=0)/左急转 P10=0;P11=1;P12=0;P13=1;P17=0; else if(P14=1&P15=0&P16=1) /中寻黑前进 P10=1;P11=0;P12=0;P13=1;P17=0; else if(P14=1&P15=1&P16=1)/不寻黑前进 P10=1;P11=0;P12=0;P13=1;P17=0;elseP10=1;P11=0; P12=0; P13=1; 以上程序我采用了简单明了的 if 语句将我设计的路线循迹情况和对驱动电路的控制对应起来,类似查询表格方式。这样设计程序使用 else if 语句我可以很容易添加运行状态,使程序调试相对容易,减小工作量。 184.2 避障方案避障方案如图 4.3 所示,经过试验测试,本设计使用的红外传感器的探测夹角较小,当小车与障碍物平行行驶,或者与障碍物的夹角过小时,小车将识别不到障碍,导致小车一侧于障碍物解除碰撞。 图 4.3 传感器角度示意图解决这个问题可以再小车左右 2 个方向增加 2 个传感器探测,但这样对传感器的资源浪费较大,加大了电源的负荷,程序相对复杂。而我采用的方案是在小车前方水平避障传感器的安装使其约有 10 度的夹角,左右都是向外扩张 10 度,此红外传感器的探测距离调试约为 15cm,那么斜侧 10 度夹角后前方探测距离变为 14.77cm 约为15cm 可以认为保持不变,而 2 侧多出了 3cm 的横向安全距离,当横向距离小于 3cm时候小车也会执行避障程序13。软件设计上,避障动作是先检测到障碍执行避障程序,小车先后退一小段距离,在这期间蜂鸣器报警,然后如果是右传感器探测到障碍,小车将向左转向,反之向右转向,之后再检测障碍,如果有障碍继续循环动作,没有障碍时小车将检测循迹“黑线”检查道路,如果无道路小车会向前直行。单片机通过传感器控制驱动电路运行方法如表 4 所示。表 4 避障状态对应表左传感器右传感器执行P1.0P1.1P1.2P1.3第一步0110P3.5=1P3.6=0第二步1010第一步0110P3.5=0P3.6=1第二步0101 194.2.1 避障流程图在整体程序中,小车避障的优先级最高,无论履带车当前是什么行驶状态,检测到障碍时,就跳入避障环节,避障完成后才执行其他循迹,前进动作。在其他智能设计中,我们都要考虑各个环节先后循序,使其符合应用场合,流程如图 4.4 所示。检测障碍判断是否有障碍左避障信号右避障信号执行右转避障程序执行左转避障程序前进开始YYN图 4.4 避障流程 204.2.2 避障程序设计 整个电路中我采用 12MHZ 的外部晶振电路,在流程图中能简明的看出各个状态执行步骤,如果按照这个步骤以 12MHZ 的频率执行,程序检测不会出现错误,但实际我们人眼将看不任何动作,速度太快。所以各个步骤我们需要设定他们的执行时间,比如避障时履带车会倒退,那么我们需要设定它倒退的时间。在这里我们可以使用定时器也可以使用软件延时14。在这里我使用了自己比较熟悉的软件延时,使用软件延时的优点在于非常方便调试,避障整个程序设计过程中需要进行多次试验,编写 delay()延时函数,可以再程序任意地方进行调用,如以下避障程序中:P10=0;P11=1;P12=1;P13=0;delay(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;xianshi(f);P10=0;P11=1;P12=1;P13=0;delay(5000);hh=1;delay(5000);P17=0; 21else 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); 避障一直是全世界研究智能的重要课题,这里的避障方式先后退再转向的方式,这样避免了直接转向碰撞障碍物的情况,这种方式好比先把自己置于安全的地方,然后去观察情况,执行动作。在设计中模仿自然规律,进行多学科融合,这样设计的东西在使用的时候才会更稳定的实现设计目的。 224.3 总体方案总体方案总体流程如图 4.5 所示。检测障碍开始判断是否有障碍检测黑线避障直行判断是否有黑线循迹YNNY图 4.5 总体方案在主程序设计上我没有安排左右避障 23的先后顺序,在传感器的安装上采用的外张角放置,实际行驶中两侧几乎不可能同时探测到障碍物,因此只需要独立设置两种方式的避障行驶方案即可,经过实际行驶测试,小车运转正常,没有出现死循环状态,实现了自动控制的目的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); 24第五章第五章 制作与调试制作与调试5.1 PCB 设计与制作设计与制作本次履带车设计主控电路由单片机最小系统构成,所采用的单片机为 51 内核单片机,电路板使用上在可以直接采用学校 51 单片机最小系统实验板,该板由湖北汽车工业学院实验室制作。PCB 板如图 5.1 所示。图 5.1 单片机最小系统实验板从 PCB 能很容易找出单片机的安装位置和 I/O 口的引出位置,只需要安装单片机和数码管即可。最小系统电路结构简单,这样避免单独制作 PCB 板,极大节约设计成本。5.2 履带车的安装调试履带车的安装调试该 PCB 板四角有螺柱孔,用四根螺柱安装在小车前方,与传感器靠近,减少传感器传送距离。而驱动电路置于小车尾部, 25电机上方。通过调节传感器后方的变阻器的大小来调节红外传感器的探测距离,通过修改延时程序调整履带车行驶状态。最终履带车制作成功,其实物如图 5.2 所示。图 5.2 履带车5.3 履带车总体调试运行履带车总体调试运行将所有部件全部组装成功后,烧写好程序放在预定轨道上行驶,反复几次后发现小车循迹避障个模块功能变弱,探测距离变短,导致偏离跑道,最后出现小车行驶断断续续。刚开始以为程序问题。通过查找一些制作智能车常出现的故障,发现电量不足时单片机会出现程序烧写较慢,甚至无法擦除烧写,断续工作等故障。之后采用7.2V 锂电池代替 6 节 9V 干电池,这些故障都得到排除。但小车在直角弯时候,有时转向不足,有待提高,现实精确控制,表 6 为实际小车运行情况。表 6 小车运行情况履带车运行次数成功循迹次数成功避障次数111212333434545 26第六章第六章 结论结论设计中所用到的外设有 5 个红外传感器,两个直流电机,实现对履带车的功率控制。剖开来说也就是对电机的控制。从网上查找智能车制作经验,基本都由单片机为内核实现对小车的控制。而 80C51 为我们已经学习过的单片机,从而确定整个设计围绕单片控制来做,为减少硬件设计带来的问题,采用课程试验单片机 STC12C5A08S2,该单片功能强大完全满足本次设计需要。 整个设计初期有老师知道,由于初次制作智能车,我大量搜集了相关制作经验,并了解履带车独有的行驶模式,与老师答疑确定控制方案。主要由三路控制,传感器、单片机、电机驱动。硬件上在电机传动系统中加装了减速齿轮,行驶速度约为20cm/s。由电机驱动分别控制左右电机,解决转弯时单片机控制小车左右不同转向的问题。 在转弯设计中,最大的难题是直角弯。小车很容易冲出跑道,这里利用履带车原地转弯的模式能解决这个问题,该功能是普通 4 轮车所难实现的。但实际测试中也会出行速度问题原地转向过慢冲出跑道问题。需要通过跟精准的控制完全实现,在以后设计还有很大提升空间。 电源选择方面,开始使用了和履带车底盘配套的 6 节干电池盒 9V 电源,但实际调试中只有十几分钟就出现单片机和驱动电路工作不稳定,出现断续行驶的情况,刚开始以为程序问题。通过查找一些制作智能车常出现的故障,发现电量不足时单片机会出现程序烧写较慢,甚至无法擦除烧写,断续工作等故障。将电源换为高容量的锂电池,整个小车比以前动力强劲,不在出现行驶“发虚”的情况。程序的编写采用了 C 语言,使用 Keil 软件进行调试。该软件同时也支持汇编语言,但汇编相对逻辑更严密。整个编程过程中得到老师和同学的极大帮助,让我感受到“旁观者清”的概念,很多时候自己一个思路做下去很难发现问题,但有多个思路看问题时就能发现许多不足,所以团队合作也很重要。最后整个设计圆满结束,实现对履带车的功率控制。 27结束语结束语从开始与指导老师协商选定课题到整个课题思路的设计对于我来说是个巨大的项目,本设计持续 3 个月,从对智能车一窍不通到最后圆满完成设计效果,感觉到自己有极大的提高。此次设计主要应用到 C 语言编程,数字电路,模拟电路等知识,用到Keil 和 protel99se 两个软件,设计中很好的将这些知识统一联系起来,融会贯通。解决了平时理论学习中很少遇到的实际问题,在履带车设计中不仅要查找硬件问题,还要查找软件问题。例如电源问题。虽然最后得到解决,但这个排障的过程让我收获不少。本系统通过对履带车功率控制的目的实现了循迹、避障的控制,能自主纠正行驶方向,当遇到障碍能报警,并记录障碍,发出报警声。尽管这次设计做的不是很完美,但通过这次设计任务我觉得自己有很大提高,能把很多知识结合使用,体会到所学有用之处,相信在以后工作和学习中能做的更好。 28致谢致谢历时三个月的毕业设计已经告一段落。经过自己不断的搜索努力以及老师和校外指导老师罗五四的耐心指导和曹智同学的帮助下,本设计已经基本完成。在这段时间里,老师给予了悉心的指导,最重要的是给了我解决问题的思路和方法,并且在设计环境和器材方面给予了大力的帮助和支持,他的指导使我受益非浅,同时也得到曹智同学的大力帮助。通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这三个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。设计中一定存在很多不足之处,敬请各位老师批评指正。在此,我对 老师表示最真挚的感谢!同时感谢所有帮助过我的同学! 29参考文献参考文献1 李广弟,单片机基础M,北京:北京航空航天大学出版社,2001:56-54.第二章第二章 系统方案设计系统方案设计2.1 履带车控制设计履带车控制设计这里用循迹传感器和避障传感器实现履带小车的控制。这两种传感器是制作智能车普遍采用的传感器,性能较稳定。红外传感器比光电传感器的探测距离要大很多。循迹传感器可用于履带车的探测距离较近循迹控制,循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路” ,没接收到反射光传感器输出低电平,反之输出高电平,经过单片机数据处理,执行相应的行驶状态。避障传感器课用于履带车的探测距离较远避障控制,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向前方发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;反之小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定小车是否执行避障。如:当左侧红外传感器检测到障碍,向单片机发送低电平信号,单片机执行避障程序。 302.2 控制核心方案设计控制核心方案设计 方案一:选用一片 CPLD(如 EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD 具有速度快、编程容易、资源丰富、开发周期短等优点,可利用 VHDL 语言进行编写开发。但 CPLD 在控制上较单片机有较大的劣势。同时,CPLD 的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU 就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简 I/O 口和程序存储器的小体积单片机,D/A、A/D 功能也不必选用。根据这些分析,我选定了 STC12C5A08S2 单片机作为本设计的主控装置,该款单片在实验课程中多次使用,性能稳定。该单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达 8K,对于本设计也绰绰有余,更可贵的是该单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用 STC12C5A08S2 单片机的资源。2.3 控制系统总体设计控制系统总体设计智能履带车控制系统由主控模块、稳压电源模块、传感器信号模块、电机及驱动模块等部分组成,控制系统的结构框图如图2.1 所示。 31稳压电源模块主控模块驱动模块传感器信号模块LED 显示模块减速电机图 2.1 控制系统的结构第三章第三章 履带车电路设计履带车电路设计3.1 主控电路设计主控电路设计主控电路主要包括两部分:单片机最小系统和复位电路。这两部分构成整个系统的核心控制整体的运转。3.1.1 单片机最小系统主控电路只需要连接单片机最小系统即可,引出单片机的 I/O 口,采用 12MHZ 的外部晶振。具体电路如 3.1 所示。 32图 3.1 单片机最小系统3.1.2 复位电路 该模块用于单片机的复位以及外部中断时使用。当要把按键 RESET 用作复位功能时,必须把 J7 处的跳帽接在 1、2 上;当要把它做外部中断使用时,必须把 J7 的跳帽接在2、3 上,这时当按下 RESET 按键时该电路会产生一个单脉冲。电路图如 3.2 所示。图 3.2 复位电路 333.2 稳压电源模块稳压电源模块本次设计只需要两种电压供给,一种是 6V12V 的驱动模块供电,一种是单片机和传感器的+5V 稳压供电。驱动模块可直接用 7.2V 的高容量电池直接供电,这种电池经过测试实际电压一般在 8V 左右,能个驱动模块提供充足电量。5V 稳压电路采用MC7805CT 制作,MC7805CT 是一个三角稳压器,最大输入电压 40V,输出电压 5V,电流1A,完全胜任本次 7.2V 的输入稳压电路。接法如图 3.3 所示。图 3.3 稳压电源电路图 J4 处接 7.2V 的电池电源,经过 MC7805CT 稳压之后为 5V 的输出,可供单片机和传感器使用。接上 J3 和 J5 跳帽能给驱动电路供电。 在电源电路中,串联了一个 IN4001 整流器,并联了 2 个电容,这里是用于对电源进行处理,外接电源的性质比较复杂不稳定,而单片机需要一个 5V 稳定的直流电源,本设计电源用的是 7.2V 的高容量电池,我用 IN4001 整流,得到品质较好的直流电源,二极管在这里能平稳电压消除毛刺,然后经过 5V 稳压器得到单片机所需要的电压。3.3 LED 显示模块设计显示模块设计本次设计显示数据比较简单主要体现数码管的动态显示方法,显示模块采用共阴极接法的数码管显示,段码数据线接在单片机 P0 端口,4 个位选分别接在 P20-P23 端口上。其原理图如 3.4 所示。 34图 3.4 数码管显示电路从上面电路图我们能看出数码管 7 段码输入直接由单片机输出,而 4 位码的控制没有直接由单片机直接驱动,而是由 4 个三极管作为开关控制选片,当单片机 P20 到P23 输出高电平时三极管导通,位码管教接地导通,输出低电平时三极管高阻态,相应的数码管也不会被点亮。单片机作为核心控制器需要稳定的工作环境,单片机的驱动能力较弱,如果直接有 I/O 控制,增加了单片机的负荷,数码管电阻较小,没有开关驱动电路,会造成单片机 I/O 口短接,影响单片机工作,导致损坏单片机。3.4 驱动模块设计驱动模块设计采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H 型桥式电路如图 3.5 所示。 35图 3.5 H 桥式电路用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H 型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM 调速技术。现市面上有很多此种芯片,我选用了 L298N 如图 3.6 所示。图 3.6 L298N 实物图这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。 363.4.1 驱动芯片选型驱动模块采用专用芯片 L298N 作为电机驱动芯片,L298N 是一个具有高电压大电流的全桥驱动芯片外部引脚图如 3.7 所示。图 3.7 L298N 外部引脚其响应频率高,一片 L298N 可以分别控制两个直流电机。以下为 L298N 输入输出关系如表 1 所示。表 1 L298N 输入输出关系ENAIN1IN2电机运行情况HHL正转HLH反转HIN2IN1快速停止LXX停止3.4.2 驱动电路设计驱动电路如图 3.8 所示 ,驱动电路 IN1 到 IN4 依次接单片机 P1_0 到 P1_3 端口, 37IN1 和 IN2 控制电机 1,IN3 和 IN4 控制电机 2。图 3.8 驱动电路图电路中除了使用了驱动芯片 L298N,还使用了发光二极管和续流二极管。发光二级管可以指示电极正反转动的情况,方便设计中观察状态变化,容易调试。电路中还加装了续流二极管。续流二极管经常和储能元件一起使用,防止电压电流突变,提供通路,续流二极管不是一个实质的元件,而是在电路中起到续流作用。本设计中履带车在时间跑动中会控制电机频繁的正反转,直流电机也相当于发电机电机两级间会产生感应电动势,当电流消失时感应电动势会对电路中其他元件产生反向电压,当方向电压高于元件的反击穿电压时会损坏一些元器件,如三极管,晶闸管。这里我分别在量电机极端接上续流二极管作为保护电路。这些续流二极管构成回路消耗感应电动势产生的能量,从而保护整个电路中其他元件。3.5 循迹电路设计循迹电路设计 传感器是智能车的“眼睛” ,它能给我提供智能车的周围的信息,在本次设计中采用两种传感器:循迹传感器和避障传感器。循迹传感器探测距离短,但探测效果较好, 38识别黑白色的能力较强,成本低。而避障方面采用红外传感器,探测距离较远,能有效识别大多数颜色和黑色的差别提供稳定信号,成本稍高点。3.5.1 循迹传感器LM324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源330V,或正负双电源15V15V工作,其内部电路如图3.9所示。图 3.9 LM324 内部电路在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压,单个集成运放如图3.10所示。图 3.10 集成运放的管脚图循迹电路图如图 3.11 所示,当 TCRT5000 感光导通的时候 R1 和 R2 接地,3 处的电压接近 0,R3 位滑动电阻,2 处的电压设为 3V,3 处小于 2 处,LM342 的 OUT 端会输出低电平,供单片机检测。反之 LM324 处输出高电平。 39图 3.11 循迹电路图本次设计采用 3 路循迹模块,依次排在小车前方,左中右 3 路接单片机 P1_4 到P1_6。循迹对应如表 2 所示。表 2 循迹端口状态对应表P1_4P1_5P1_6左中右101前进011左转110右转3.5.2 避障传感器设计该传感器检测距离为 0-80CM,于淘宝购买。该传感器属于市场产品,这里只介绍用法。实物图如 3.12 所示。 40图 3.12 避障传感器使用于本次设计的避障任务,避障模块采用了 2 个传感器分别放于小车前方的左侧和右侧,调节该传感器的检测距离为 15cm。当遇到障碍时传感器会给出低电平。左避障传感器接于单片机 P3_5 端口,右避障传感器接于单片机 P3_6 端口。3.6 蜂鸣器驱动模块设计蜂鸣器驱动模块设计由于单片机输出电流较小不能驱动蜂鸣器,这里借助 S9013 PNP 型三极管放大电路驱动蜂鸣器,三极管 Q 起开关作用,其基极的高电平使三极管饱和导通,集电极和发射极导通,蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。在本设计中只要 P1.7 输出不同的频率方波信号,蜂鸣器也能发出各种频率声音,电路图如图3.13 所示。图 3.13 蜂鸣器驱动电路在以上电路中我在蜂鸣器上并联一个续流二极管。蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管。 413.7 履带车车体履带车车体本题目要求小车的机械系统稳定、灵活、简单,自己手工制作的履带车通常会出现两侧履带松紧度不一样,跑边,履带脱轮等现象。综合这些因素在网上找到 PR5 小车底盘符合设计需要,模型如图 3.14 所示。图 3.14 履带车底盘模型小车上装有电池、电机、电子器件等,使得电机负担较重。该底盘运动平稳,从图 3.7 中可以看出在直流电机和轮车轴之间加装了减速齿轮,这样不仅使电机的符合减轻,也符合我的设计需要。电池的安装:将电池放置在车体前排车轮的上部位置,使车体的重心靠近前排车轮,进行大转弯时小车能以前排轮为圆心转弯,排除履带车转弯时侧滑不确定性。 42第四章第四章 行驶方案设计行驶方案设计在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,行驶设计在微机控制系统设计中占重要地位。对于本系统,行驶方案和软件控制更为重要。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。本系统中我采用了 5 个传感器,3 路循迹传感器,2 路避障传感器。总体控制方案如图 4.1 所示。 左避障右避障左循迹中循迹右循迹单片机报警显示电机驱动左侧前进左侧后退右侧前进右侧后退图 4.1 总体系统 434.1 循迹方案设计循迹方案设计小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机 I/O 口,一旦检测到某个 I/O 口有信号,即进入判断处理程序,先确定 3 个探测器中的哪一个探测到了黑线,如果左面传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向左转;如果左面和中间传感器同时探测到黑线,此种情况为向左急转弯;如果是右面传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。如果右面和中间传感器同时探测到黑线,此种情况为向右急转弯。在经过了方向调整后,如果中间传感器探测黑线,左右没有探测到黑线小车再继续向前行走,并继续探测黑线重复上述动作,履带车控制如表 3 所示。表 3 小车驱动控制对应表单片机通过电机驱动电路控制小车的运行方法P1.0P1.1P1.2P1.3状态P1.4P1.5P1.61001前进1011001前进1111001前进0000110后退XXX1000左转0110001右转1101010快速左转0010101快速右转110 444.1.1 循迹流程图由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,流程如图 4.2 所示。检测黑线进入循迹是否检测到黑线状态判断处理左急转左转右转右急转继续前进NY图 4.2 循迹流程图 454.1.2 循迹程序设计循迹方面我使用了 3 个传感器,通过寻黑线实现对履带车的智能控制,本次设计目的实现对履带车的控制,在这里使用 3 路传感器不仅能达到循迹目的也能显示出对履带车的控制效果。void ww()/循迹if(P14=0&P15=1&P16=1)/右转 P10=1;P11=0;P12=0;P13=0;P17=0; else if(P14=0&P15=0&P16=1)/右急转 P10=1;P11=0;P12=1;P13=0;P17=0; else if(P14=1&P15=1&P16=0)左转 P10=0;P11=0;P12=0;P13=1;P17=0;else if (P14=1&P15=0&P16=0)/左急转 P10=0;P11=1;P12=0;P13=1;P17=0; else if(P14=1&P15=0&P16=1) /中寻黑前进 P10=1;P11=0;P12=0;P13=1;P17=0; else if(P14=1&P15=1&P16=1)/不寻黑前进 P10=1;P11=0;P12=0;P13=1;P17=0;elseP10=1;P11=0; P12=0; P13=1; 以上程序我采用了简单明了的 if 语句将我设计的路线循迹情况和对驱动电路的控制对应起来,类似查询表格方式。这样设计程序使用 else if 语句我可以很容易添加运行状态,使程序调试相对容易,减小工作量。 464.2 避障方案避障方案如图 4.3 所示,经过试验测试,本设计使用的红外传感器的探测夹角较小,当小车与障碍物平行行驶,或者与障碍物的夹角过小时,小车将识别不到障碍,导致小车一侧于障碍物解除碰撞。 图 4.3 传感器角度示意图解决这个问题可以再小车左右 2 个方向增加 2

注意事项

本文(基于STC12C5A08S2单片机履带小车的功率控制毕业论文)为本站会员(1777****777)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!