基于单片机的运料小车控制系统设计_第1页
基于单片机的运料小车控制系统设计_第2页
基于单片机的运料小车控制系统设计_第3页
基于单片机的运料小车控制系统设计_第4页
基于单片机的运料小车控制系统设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的运料小车控制系统设计任务书1.设计的主要任务及目标(1)设计基于单片机的控制系统,对选定运料小车工作流程进行控制;(2)为适应不同工作条件,系统应具备若干种工作方式;(3)完成单片机及其他芯片选择,进行相关电路设计,并绘制电原理路图;(4)进行程序设计及调试;2 .设计的基本要求和内容(1)查阅资料,完成开题报告;(2)熟悉运料小车工作流程,分析被控对象,系统整体设计;(3)系统硬件设计;(4)系统软件设计,完成程序的编制及调试;(5)毕业设计说明书;3 .主要参考文献1谭浩强.C程序设计(第二版)M.北京:清华大学出版社,1999.2韩全力.单片机控制技术及应用M.高等教育出版社

2、,2003.6.3何立民.单片机应用系统设计,北京:航天航空大学出版社,25, 46504姜书政,王桂海.基于AT89S52单片机的电机控制系统设计J.现代电子技术,2010, 138 1404 .进度安排设计各阶段名称起止日期1确定论文选题,毕业论文准备,撰写开题报告2013.122014.032进行系统硬件设计,确定单片机型号2014.032014.043绘制系统流程图和电路图2014.042014.054撰写设计说明书2014.052014.065进行毕业答辩2014.06注:一式4份,系部、指导教师各 1份、学生2份:毕业设计(论文)及答辩评分表各一份基于单片机的运料小车控制系统设计摘

3、要: 随着智能控制和电子技术的飞速发展, 自动控制系统的适应能力逐渐增强, 其中以单片机为核心实现的自动控制装置因其体积小、功能强、可靠性高、简便易行而得到广泛应用。本设计是以STC89C52为核心的运料小车,主要包括以下模块:寻迹模块,避障模块,语音模块及电机驱动模块等。其能够实现自动寻迹、搬运货物, 从而对传统运料方式的智能化和现代化程度进行改善和提升。该系统采用STC89C52 与红外光电传感器结合,利用红外接收,发射传感器检测轨迹,控制运料小车自动寻迹, 以及自动停车;同时具有避障功能和报警功能。关键字:STC89C52单片机,红外线光电传感器,寻迹,避障The material ca

4、r control system design based on single chipmicrocomputerAbstract : With the rapid development of intelligent control and electronic technology, automatic control system of the ability to adapt gradually strengthen, among them with the single chip processor as the core to realize the automatic contr

5、ol device because of its small volume, strong function, high reliability, simple and widely used. This design is based on the material car STC89C52 as the core, mainly includes the following modules: tracing module, obstacle avoidance module, voice module and motor drive module, etc. It can realize

6、automatic tracing and handling the goods, by the traditional delivery method improvement and intellectualization and modernization level of ascension. STC89C52 combined with infrared electric sensor used in this system, the use of infrared receiving and launch the probe sensors track and control the

7、 material car tracing automatically, and automatically stop, At the same time has obstacle avoidance function and alarm function.Key words: STC89C52 microcontroller, infrared photoelectric sensor, tracing,obstacle avoidance1 .绪论 11.1 研究背景及其目的意义 11.2 设计要求 12 .方案论证 32.1 单片机选择论证 32.2 STC89C52 单片机32.2.1

8、 STC89C52单片机的硬件结构42.2.2 STC89C52单片机管脚结构 42.2.3 STC89C52单片机的内部存储结构 42.3 总体设计 82.3.1 循迹模块 82.3.2 避障模块 112.3.3 传感器设计 123 .系统硬件设计 133.1 复位电路 133.2 晶振电路 143.3 传感器电路 153.4 电机驱动模块 173.5 单片机的端口分配 193.6 电源模块 194 .系统软件设计 204.1 系统软件的结构 205 .仿真与调试 235.1 编译环境 235.1.1 Keil C51 介绍 235.1.2 Keil C51 集成工具和用途 235.2 仿真

9、调试24总 结 错误.!未定义书签。参考文献27致 谢 28附录1:程序清 29附录2:电路原理图 36II1 .绪论1.1 研究背景及其目的意义早期运料小车电气控制系统多为“继电器一接触器”组成的复杂系统,这种系统 存在设计周期长、体积大、成本高等缺陷,几乎无数据处理和通信功能,必须有专人 负责操作。后期系统通常把 PLC控制技术与变频器调速相结合,利用 PLC控制变频 器,再通过变频器优良的调速性能,可实现运料小车的自动化控制。在工业快速发展,科技日新月异的今天,由于单片机控制技术、检测技术及电力 电子技术的发展,作为辅助装置的送料机构自动化水平也需越来越高。提高自动化的 水平不仅可以提高

10、效率、产品的质量同时也能保证工人的人身安全。而单片机就是实 现自动控制最重要的一环,它是单片微型计算机的简称;是把微型计算机的各个功能 部件(中央处理CPU、随机存取存储器RAM、只读存储器ROM、I/O接口、定时器、 计算器以及串行通信接口)集成在一块芯片上,构成一个完整的计算机1。单片机具有集成度高,体积小,成本低,控制能力强等诸多优点,因此运料小车将会逐渐向 智能化发展。1.2 设计要求本设计将通过单片机为运料小车的核心,设计一个智能的运料小车。它具有如下 功能:寻迹功能,假设小车的运行路线是 。形,只要在道路上涂上或贴上 O形的黑 线,小车就能沿线运行;避障和语音功能功能,当在运行轨道

11、上遇到障碍物就会停止 并发出警报提醒,没有障碍物就会继续行驶(这是为了避免撞上障碍物并且让小车不 脱离轨道而这样设计的);当小车行驶到有加宽黑线的地方会停下来等待卸料。小车工作原理如图1.123图1.1小车工作原理2 .方案论证2.1 单片机选择论证对于单片机的选择有三种:一种是AT89C51、一种是 AT89S51、另一种是STC89C52。目前AT89C51因为编程功能:AT89C51仅支持并行编程,不支持ISP在 线更新程序,在编程电压方面,AT89C51的编程电压除正常工作的5V外,另外Vpp 需要12V,工作频率更高,AT89C51极限工作频率是24MHZ ,不满足需要所以已经 停产

12、,AT89S51支持ISP在线编程,最高工作频率为33MHZ使计算速度更快,有双 工UART串行通道,内部集成看门狗计时器,双数据指示器,电源关闭标示,全新加 密算法2。STC89C52单片机,兼有89S51的以上功能,在线编程方式通过用口,需 要MAX232芯片做用口通信电路,AT89S51为并行编程方式,需要一个 74HC24来做 并行通信电路,相比来说STC在线编程方式简单点,价格上便宜些,这种单片机对开 发设备的要求很低,开发时间也大大缩短。因此选用STC89C52单片机。2.2 STC89C52 单片机STC89C52作为本次设计的核心芯片如图2.1所示,是一个高性能,低功耗CMOS

13、 8位单片机,兼容标准MCS-51指令系统及80C51引脚结构,ISP(在系统可编程)/ IAP (在应用可编程),无需专用编程器,无需专用仿真器,可以通过串口直接下载用户 程序,数秒即可完成一片功能强大的微型计算机。STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。图2.1 STC89C52单片机2.2.1 STC89C52单片机的硬件结构STC89C52单片机系列的存储器用的是哈弗结构,指将程序和数据存储器截然分开,程序存储器和数据存储器都有自己的寻址方式、寻址空间和控制系统。STC89C52的存储器可以分成五类:程序存储器,内部数据存储器,特殊功能寄存器,位地址空问,外部

14、数据存储器3 o2.2.2 STC89C52单片机管脚结构STC89C52有40弓|脚双歹U直插(DIP)、44引脚(PLCC)、44引脚(TQFP)封装 形式。STC89C52的引脚功能如图2.2所示。具采用了 CMOS技术制造,它集成度高、 速度快、功耗低。pi.0 r pi ,1 匚P1 .2 F1,;匚 户1 .4匚 | P 1 .5 (MISO) P1.B 匚 (SCKk - 1 J 匚FIST (RXD 1 P3.0 C (TXD) P3J 匚 (iNTqi P3,2 匚 (INTI | F<3 3 H(TO| P3.4 匚T1 ) PJ.S 口LWk 1 P3.b(nU)巴

15、3 ; U 二席力Gimp 匚14023933B437r5 曰35704|833当32W30 ISW。13起日142Z15261卷之及17241! 4引脚双歹情 2021D PO 0 (AOOi D po,那口” 1 Pa. 2(aD2 卜 Z) PD T iAnn f Z) PC. 4 jAD4i1 PO. 5 向白S* -1 HU. b (ADfe > ZJ PO. 7 (AD7I zi eAa/pp ZJ ALE/nOGZ1 PS. 7 IIS) ,J F*W. 6 (A14J n P2.-S (AT 3) P2.4 EA12) Z) P2.3 (Ai 1) 府常诚靠圭Zl P2.

16、Q (A©) n a【吐口竹仝匕2.2.3 STC89C52单片机的内部存储结构STC89C52单片机片内总体结构的详细框图如图 2.3所示,主要由9个部分组成, 分别是:1个8位中央处理器;4KBFlash存储器;128B的数据存储器;32条I/O接 口线(P0、P1、P2、P3); 2个定时/计数器;1个具有6个中断源、4个优先级的中 断嵌套结构;用于多处理机通信、I/O扩展或全双工UART的串行口;特殊功能寄存 器(SFR); 1个片内振荡器和时钟电路。外部时钟源TXDRXD图2.3单片机内部结构简图可编程串行口V振荡器和 时序电路程序存储器 三数据存储器两个16位定时 器/计

17、数器STC89C52是一种带8K字节闪烁可编程可擦除只读存储器( FPEROM-Flash Programable and Erasable Read Only Memory)的低电压,高性能 COMOS8 的微处理 器,俗称单片机。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标 准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如下图2.4:ukLZLCh WPLPLPLPLPL(1)时钟电路RXD 和 TXDSTC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。其内部方式的时钟电路如图2.

18、5 (a)所示,在RXD和TXD引脚上外接定时元件,内部振 荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体 振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小 可对频率起微调的作用4。外部方式的时钟电路如图2.5 (b)所示,RXD接地,TXD接外部振荡器。对外 部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于 12MHz的方波信 号。片内时钟发生器把振荡频率两分频, 产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路(b)外部方式时钟电路图2.5时钟电路STC89C52具体介绍如下:主电源引脚(2根)VCC(P

19、in40):电源输入,接+ 5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令, 如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O 口,分别位P0、P1、P2、P3

20、 口,每个 口有8位(8根引脚),共32根。P0 口(Pin39Pin32): 8 位双向 I/O 口线,名称为 P0.0P0.7P1 口(Pin1Pin8): 8位准双向I/O 口线,名称为 P1.0P1.7P2 口(Pin21Pin28): 8位准双向I/O 口线,名称为 P2.0P2.7P3 口(Pin10Pin17): 8位准双向I/O 口线,名称为 P3.0P3.7STC89C52主要功能如表2.1所示。表2.1 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写 Flash ROM32个双向I/O 口256x8bit 内部 RAM3个16位可编程定时/计数器中

21、断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能2.3 总体设计本系统可分为控制部分和信号检测部分。其中控制部分包括:电机驱动模块,声光报警模块。信号检测模块包括:避障模块,寻迹模块。系统模块框图如下图2.6所图2.6系统基本模块方框图2.3.1 循迹模块图2.7光电对管检测电路如上图2.7,这里的循迹是指小车在车间地面上循黑色轨迹行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反 射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色

22、地板 时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收, 小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过15cm。对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。方案一:自制红外探头红外光的发送接收选用型号为RPR220的对管。当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经绿色反射后,被接收管 接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平; 当小车行驶到黑色轨迹线时,红外线信号被黑色吸收后,光敏三极管截止,比较

23、器输 出高电平,从而实现了通过红外线检测信号的功能。将检测到的信号送到单片机I/O口,当I/O 口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表 明小车处在黑色的轨迹线上;同理,当I/O 口检测到的信号为低电平时,表明小车行 驶在白色地面上。此种方法简单,价格便宜,灵敏度可调,而且此电路电池供电的压 降较小5。方案二:集成式红外探头可以采用型号为E3FDS10C4集成断续式光电开关探测器,它具有简单、可靠的工作性能,只要调节探头上的一个旋钮就可以控制探头的 灵敏度。该探头输出端只有三根线(电源线、地线、信号线) ,只要将信号线接在单 片机的I/O 口,然后不停地对该I/O 口进

24、行扫描检测,当其为高电平时则检测到白色, 当为低电平时则检测到黑线。此种探头还能有效地防止普通光源(如日光灯等)的干 扰。其缺点是它对路径的检测是离散值不能连续检测到黑线的位置,而且集成式红外 探头体积比较大,占用了小车有限的空间。考虑到检测路线的及时性,所以选择了方 案一。红外探头的安装:在运料小车具体的循迹过程中,为了能精确测定黑线位置并确 定小车行走的方向,需要同时在底盘装设 3个红外探测头,提高其循迹的可靠性,安 装方式如图2.8。小车行走时,始终保持黑线在中间传感器之下,当小车偏离黑色轨 迹线时,单片机就会按照预先编定的程序发送指令给小车的控制系统,控制系统再对 小车运动方向予以纠正

25、。若小车回到了轨道上,即中间的传感器都只检测到黑线,则 小车会继续行走;当三个传感器同时检测到黑色轨迹时,小车停止等待装料或卸料。 红外线传感器的工作过程具体如下:行车方向向右偏离轨迹线的时候,会有两种情况 发生。第一种:中间和左侧红外线传感器同时接触到地面轨迹线、右侧传感器接触白 色地面;第二种:左侧一个传感器接触地面轨迹线、 中间和右侧传感器接触地面白色部 分。这两种情况都是行车方向右偏移的情况。相似的小车发生左偏移的时候也有两种 情况。所以根据这些不同的状态可以列出小车行车的行进状态6如下表2.2。表2.2光敏传感器状态真值表感器编号小车状态左中右正常行驶0i0轻微右偏ii0严重右偏i0

26、0轻微左偏0ii严重左偏00i脱离引导线000停车iii注:表中“ 1”表示红外传感器检测到黑色,“ 0”表示红外传感器检测到白色主 动 轮图2.8循迹传感器安装示意图光电传感器在使用过程中要注意几个问题。首先,要提高器件的一致性:一是发 射/接收器件两者的波长特性一致;二是发射/接收传感器组对时,各方面性能应尽 量比较接近;三是安装状态一致,如各对传感器的间距、高低、偏角等,因为这些因 素都会影响光的反射和接收;其次,光电传感器应尽量靠近地面,以便减少外界光源 对传感器的干扰。垂直高度为 510 mm为宜,离地面过远,光反射信号差,信号不 强;离地面过近,会导致反射角度太大,加剧光漫射干扰的

27、影响,故应适当,以保证传感器具有最佳的反应。光电传感器检测路线原理如图2.9:图2.9光电传感器检测原理图2.3.2 避障模块避障模块选用红外光电开关 E3F-DS30C4,其电路原理图如图2.10所示。这种光 电二极管应用使用简单,共有三个引脚,即:Vcc、GND以及信号输出端,可直接与单片机某个管脚相连。E3F-DS30C4按照检测方式可分为三种类型,包括: 漫反射型、 反馈反射型以及对射型。本设计采用的是漫反射型 PNP型,当传感器检测到前方存在 障碍物时,会立即将电平信号拉低,并传送至单片机。止匕外,这种传感器的检测距离 一般在0-30cm内可调,对于本次设计的避障功能来说,其检测障碍

28、物范围可以达到 要求。这种外围器件少、操作简单,适用于搬运车的寻迹功能设计。避障传感器还包 括一个蜂鸣器,选用P1.5管脚进行控制。图2.11是单片机触发蜂鸣器的连接电路图。 由于从I/O 口输出电流值很小,不足以驱动蜂鸣器发声,因此设计中在单片机I/O 口 P1.5与蜂鸣器之间添加一个 C8550三极管对驱动信号实现放大,从而驱动蜂鸣器使其 发声。图2.10红外光电开关 E3F-DS30C4图2.11蜂鸣器2.3.3 传感器设计在传感器方案的选择中,有两种方案供参考。方案一:使用CCD传感器来采集路面信息。使用CCD传感器,可以获取大量的图像信息,可以全面完整的掌握路径 信息,可以进行较远距

29、离的预测和识别图像复杂的路面而且抗干扰能力强。但是对于 本设计来说,使用CCD传感器也有其不足之处。首先使用CCD传感器需要有大量图 像处理的工作,需要进行大量数据的存储和计算。因为是以实现小车视觉为目的,实 现起来工作量较大,电路复杂。方案二:使用光电传感器来采集路面信息。使用红外 传感器最大的优点就是结构简明,实现方便,成本低廉,免去了复杂的图像处理工作, 反应灵敏,响应时间低,便于近距离路面情况的检测。但红外传感器的缺点是,它所 获取的信息是不完全的,只能对路面情况作简单的黑白判别,检测距离有限,而且容 易受到诸多扰动的影响,抗干扰能力较差,背景光源,器件之间的差异,传感器高度 位置的差

30、异等都将对其造成干扰7。在本次设计中,轨道为黑色,小车只要能够正确区分黑白色就可以采集到准确的 路面信息。所以经过综合考虑,在本设计中采用红外光电传感器作为信息采集元件。3 .系统硬件设计本设计的小车硬件设计主要是电路设计,主要内容包括对核心单片机、还有复位操作方式、晶振频率、传感器电路设计、电源管理模块、电机驱动模块。这些电路设 计都以简单、实用为原则进行设计。其中复位电路、晶振电路和电源构成了单片机的 最小系统。下面是详细介绍。3.1 复位电路复位是单片机的初始化操作,其主要功能是PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化外,由于程序运行时出错或

31、操 作错误使系统处于死锁状态时,为使单片机正常工作,也需按复位键以从新启动。除 PC之外,复位操作还对其它特殊功能寄存器有影响。复位操作还对单片机的个别引 脚信号有影响。它们的复位状态见表 3.1。例如;在复位期间ALE和PSEN信号变为 无效状态,即 ALE=1 , PSEN=10(1)复位信号及其产生RST引脚是复位信号的输入端,复位信号为高电平有效,其有效时间将会持续24个振荡脉冲周期(即两个机器周期)以上。若使用频率为6MHZ的晶振,则复位信号持续时间在超过4微秒才可以完成复位操作。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送施密特触发器,再由片内复位电路在每个

32、机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。(2)复位操作方式复位操作有上电自动复位、按键电平复位、外部脉冲复位和自动复位四种方式。本次设计采用的是上电复位,上电复位是通过外部复位电路的电容充电来实现 的,只要电源VCC的上升时间不超过1ms,就可以实现自动上电复位,即接通电源 就完成了系统的复位初始化8如图3.1。复位时间计算方式:(R) * (C)=(欧姆)* (法拉)=秒R=8.2K, C=10UF 则延时时间是( 8.2*1000) * (10/1000000)= 0.082 秒图3.1单片机复位电路图表3.1 一些寄存器的复位状态寄存器复位

33、状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXX000000BSUBF不定IE0X000000BPCON0XXX0000BTOMD00H3.2 晶振电路晶振电路是单片机必不可少的部分,这种电路是单片机内部振荡电路,只需要在单片机的XTAL1和XTAL2引脚边接一个晶体振荡器或一个陶瓷振荡器,并通过两个 电容后接地即可,XTAL1和XTAL2分别为单片机片内反相器的输入和输出端口,因为单片机内部工作需要时钟,产生机器周期,振荡电容一般选取10-30PF,振荡电路

34、的频率要满足单片机的工作频率要求,单片机才能正常工作。如图3.2所示stc系列单片机是12分频,如用12M的晶振分频后就是12M/12=1M 一个指令周期就是 1/1M=1us这样使单片机具有良好的抗干扰能力。30pFGNCj-3DpF11.2图3.2单片机晶振电路图3.3 传感器电路寻迹传感器模块的设计是整个运料小车设计中很重要的一部分,其作用就相当于人的眼睛和耳朵,采集外部路面的信息并将其送入单片机进行数据处理,它能否正常 工作直接影响着小车对路面的判断以及小车下一步该怎么走,因而其布局的合理性与有效性对小车稳定而又快速的行驶起着关键的作用。我认为在传感器的布局中,要解 决两个问题:信息检

35、测的精确度和信息检测的前沿性。(1)本设计中选用的传感器如图3.3所示,白色为:红外发射探头(连续的发射 红外光线)。黑色为:红外接收探头(接收反射回来的红外光线)。图3.3红外发射管与红外接收探头3.4所示,详细本设计中安装了三组红外探头,排成三角形。传感器电路图如图 全图见附录图3.4红外发射与接收探头相关的匹配电阻220电阻:红外发射器的降压与限流电阻(完成对红外发射器的保护)。因为单片 机的电源是5V,流过发光二极管的电流小于20MA ,发光二极管的管压降为1.7V2V。 故根据单片机电源减去二极管管压降除以流过二极管的电流,就可以得到所需电阻。15K电阻:红外接收探器的光信号变电信号

36、电阻(完成转换反射回来的光信号)。15K的电阻选择是随意选择的,也可以选择 10K、20K。因为红外接收探头在工作时,就 相当于一个开关,所以电阻是随意的。红外发射与红外接收,V1红外发射器:主要完成对红外线的发射,V2红外接收器:主要将反射回来的红外光线接收到并由电阻 转换为电信号9。(2)寻迹小车的寻迹原理寻迹小车之所以能够寻迹,主要是由小车下方的两对红外发射与接收探头来完成 的。我们知道光有反射特性,所以说当下方的红外发射出来的光线遇到物体时,就会 形成反射的光线,而这个经反射的红外光线刚好被红外接收探头接收到,当红外接收 探头接收到信号后,再将转变成的电信号送到单片机由单片机内部的程序

37、来控制运料 小车的运行。那么如何知道是黑线还是白线呢?原来红外光线有一个反射特性,即对 于不同颜色的物体反射特性是不一样的,那么我们就可以利用这个特性来完成对路面情况的判断。通过电路的合理安装,可以将这种接收到的红外光线变化量转换为电压 值传送到单片机中,返回的电压值为低电平,从而单片机就可以进行各种智能化控制 了。3.4 电机驱动模块L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两 个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机 的正反向运动,具有较大的电流驱动

38、能力,每通道能通过750800mA的持续电流,峰值电流能力可达1.52.0A;同时它具有较低的输出饱和压降;内置的钳位二极管 能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功 率管的使用上安全可靠。L9110被广泛应用于玩具汽车电机驱动、步进电机驱动和开 关功率管等电路上。特点:低静态工作电流;宽电源电压范围:2.5V-12V;每通道具有800mA连续电流输出能力; 较低的饱和压降;TTL/CMOS输出电平兼容,可直接连 CPU; 输出内置钳位二极管,适用于感性负载; 控制和驱动集成于单片机IC之中; 具备管脚高压保护功能; 工作温度:0 c-80C。直流电机的控制一

39、般由单片机的 PWM信号来完成,因为单片机引脚产生的电流 很小,不足以驱动需要大电流的电机,所以在这里我采用电机驱动芯片L9110,让单片机控制他,来间接的驱动电机,他的输入只要一个单片机信号,输出脚可以输出很 大的电流10。电路图示见图3.5,管脚定义见表3.2,管脚波形图如图3.6。vccfi流通巩正转信号匕转广号图3.5电机驱动电路图表3.2管脚定义表序号符号功能1OAA路输出管脚2VCC电源电压3VCC电源电压4OBB路输出管脚5GND地线6IAA路输出管脚7旧B路输出管脚8GND地线九A输g A满出 B图3.6管脚波形图直流减速电机转动力矩大、体积小、重量轻、装配简单、使用方便,运料

40、小车的 电机内部装有减速齿轮组,故并不需要考虑调速功能,很方便的就可以实现通过单片 机对直流减速电机前进、后退、停止等操作。3.5 单片机的端口分配以STC89C52为主芯片,通过这些端口加以信号输入电路,控制电路,执行电路 共同完成运料小车运行。40脚的DIP封装使它拥有32个完全IO(GPIO通用输入 输出)端口,通过对这些端口加以信号输入电路,控制电路,执行电路共同完成小车 的各个功能。P1.0, P1.1, P1.2, P1.3分别通过LG9110电机驱动来驱动电机1和电 机2。由俩电机的正转与反转来完成小车的前进,后退,左转,右转,避障等基本动 作。在小车前进时如果前方有障碍物,由红

41、外发射管发射的红外信号被反射给红外接 收管,红外接管将此信号经过 P0.4传送入AT89S52中,同时主芯片将信号状态通过 P1.5输出给蜂鸣器发出警报。小车行走时会通过P0.1、P0.2和P0.3的红外接收探头来进行检测,从而实现小车对路面情况的采集。3.6 电源模块如图3.7电源供电采用输入为9V电源,经三端稳压器LM7805降压稳压得到5V 电源供其他电路使用。当S2闭合时,LED点亮,说明电路已供电。5 RI2LMW IK“口/1犯 SWSPST图3.7电源电路4 .系统软件设计4.1 系统软件的结构寻迹子程序流程图如图4.1图4.1寻迹子程序流程图寻迹子程序如下:/寻迹子程序/#in

42、clude<reg52.h>#include<Config.h>#include<IOCfg.c>#include<TimeDLY.h>#include<StepMot.h>#include<Follow.h>/寻线函数:Follow()void Follow(void)INT8U temp;temp = Follow_L;temp = (temp<<1)|Follow_M;temp = (temp<<1)|Follow_R;switch(temp&0x07)/没检测到黑线时,停止case

43、0x00: LMotStop();RMotStop();break;/仅右边检测到黑线时,左电机转,右电机停case 0x01: LMotRun(SPEED);RMotStop();break;/仅中间检测到黑线时,正常,左右电机都转case 0x02: LMotRun(SPEED);RMotRun(SPEED);break;/中间以及右边检测到黑线时,左电机转,右电机停case 0x03: LMotRun(SPEED);RMotStop();break;/仅左边检测到黑线时,左电机停,右电机转case 0x04: LMotStop();RMotRun(SPEED);break;case 0x

44、05: break;/不可能出现此情况/中间以及左边检测到黑线时,左电机转,右电机停case 0x06: LMotRun(SPEED);RMotStop();break;/中间,左右边都检测到黑线时,停车case 0x07: LMotStop();RMotStop();break;default: break;主程序流程图如图4.2主程序详见附录15 .仿真与调试5.1 编译环境5.1.1 Keil C51 介绍KeilC51 mVision2 集成开发环境是 KeiSoftwre , Inc/KeilElektronikGmbH 开发的基 于80C51内核的微处理器软件开发平台,内有多种符合

45、当前工业标准的开发工具,可以完成从工和建立、管理、编译、连接及目标代码的生成,软件访真,硬件访真等完 整的开发流程。尤其C编译工具在产生代码的准确性和效率性达到了较高的水平,从而可以附加灵活的控制选项。KeilC 51集成开发环境的主要功能是以下几点:(1) mVision2 for WindowsTM :是一个集成开发环境,它将项目管理,源代码编 辑和程序调试等组合在一个功能强大的Z1环境中。(2) C51国际标准优化C交叉编译器:从C源代码产生可重定位的模块。(3) A51宏汇编器:从80C51汇编冤代码产生可重定位的口标模块。(4) BL51连接/定位器:组合由C51和A51产生的可重定

46、位的目标模块,生成 绝对目标模块。(5) LIB51库管理器:从口际模块生成连接器可以使用的库文件。(6) OH51目标文件至HEX格式的转换器:从绝对目标模块生成IntelHEX 文件。(7) RTX-51实时操作系统:简化了复杂的实时应用软件项口的设计。这个工具套件专为专业软件开发人员设计的,但任何层次的编程人员都可以使 用,并获得80C51微控制器的部分应用。5.1.2 Keil C51集成工具和用途mVision2支持所有的Keil80C51的工具软件,包括C51编译器、宏汇编器、连接 器/定位器和目标文件至Hex格式转换器,mVision2可以自动完成编译、汇编、连接 程序的操作11

47、。(1) C51便宜器和ASI汇编器由mVision21DE创建的文件,可以被 C51编译器或A51汇编器处理,生成可重 定位的object文件。KeilC51以直接支持80C51结构的特性。KeilA51宏汇编器支持 80C51及其派生系列的所有指令集。(2) LIB51库管理器BL51库管理器可以从由汇编器和编译器创建的目标文件建立目标库。这些库是按规定格式排列的目标模块,可在以后被连接器所使用,当连接器处理一个库时,仅 仅使用了库中程序使用的目标模块而不是全部加以引用。此外Vision2还只有极强的软件环境,友好的操作界面和简单快捷的操作方法, 主要表现在以下几点:(1)丰富的菜单栏;(

48、2)可以快速选择命令按钮的工具栏;(3) 一些源代码文件窗口; (4)对话框窗口; (5)直观明了的信息显示窗口。5.2 仿真调试首先要在Keil C51中生成.HEX文件。步骤一:打开keil软件,点击project新建一个项目。步骤二:为项目选择一个 CPU,点击ATMEL选择AT89C52。步骤三:点击file新建一个Text文件编程序然后保存为.c文件。步骤四:通过编译后将.c文件添加到Source Group1重新编译。步骤五:点开Output栏,在Create HEX File前打勾如图5.1,确定后再编译一次 生成HEX文件。图5.1 HEX文件的生成然后将生成的HEX文件加到电

49、路中的单片机进行调试。通过开关代替光电传感器输出高低电平信号给单片机,用红色 LED小灯代替电 机,当P0.1、P0.2和P0.3分别为0、1、0时,俩灯都亮,小车正常直线行驶;当P0.1、 P0.2和P0.3分别为1、1、0时,1灯亮2灯灭表示小车进行左转调整;当P0.1、P0.2和P0.3分别为0、1、1时,1灯灭2灯亮表示小车进行右转调整; 当P0.1、P0.2和P0.3分别为1、1、1时,俩灯都灭表示小车停止等待卸料。33总结通过几个多月的毕业设计,从理论上证实了运料小车的研制与设计的可行性。设 计中首先根据单片机原理设计出单片机系统,此系统的建立给后续的小车的设计奠定 了很大的基础。

50、由于单片机技术已经相当成熟,因此单片机系统的建立是可行的。寻迹模块的核心部件选择了红外光电传感器。红外传感器具有精度高、成本低、体积小、接口简单等优点;另外再加上 STC89C52单片机与电机驱动芯片的结合,实 现了小车的寻迹功能。综上所述,我们可以看出电子设计自动化逐渐成为重要的设计手段,单片机己经 成为当今电子设计应用市场上首选的可编程逻辑器件之一。单片机系统的应用在控制领域中,既降低了系统的成本更是提高了系统的可靠性和稳定性。在指导教师的认真指导下对整个设计进行选型、设计单片机系统、硬件电路图设计,程序设计后实现单片机控制下的寻迹检测与运料。希望通过我们的不断努力,能使单片机这一重要设计

51、手段更好的为我们的工业生 产、科学研究、教育教学服务。最后,在此诚恳地希望老师和同学提出宝贵的批评和 意见。参考文献1韩全力.单片机控制技术及应用M .高等教育出版社,2003.6.2李广弟.单片机基础,北京:北京航空航天大学出版社, 2001, 5664.3朱涛.基于STC89C52单片机的智能循迹小车设计J .电脑知识与技术.2011(31)4何立民.单片机应用系统设计,北京:航天航空大学出版社,25, 4650.5李剑心.基于单片机的红外发射器科技信息,学术版,2006.6安岩.自动循迹智能小车的设计J .苏州科技学院学报,2009. 1, 8(2): 32-35.7赵负图.传感器集成电

52、路手册,第一版,化学工业出版社,2004, 5905918张毅刚,彭喜元.新编MCS-5隼片机应用设计,第一版,哈尔滨工业大学出版社, 2003, 2527, 411 4179赵常德.单片机原理与应用M.北京:机械工业出版社,2001, 1.10姜书,政王桂海.基于AT89S5笄片机的电机5制系统设计J,现代电子技术,2010, 138 14011施大发,王辉.基于Keil C51编译器的程序优化设计J.电脑编程技巧与维护.2010(02)12谭浩强.C程序设计(第二版)M .北京:清华大学出版社,1999.致谢时间飞逝,转眼之间四年的大学生活即将结束,最后的任务一一毕业设计也将要 完成。毕业

53、设计给我的感触很深,这次设计也是对四年所学内容的一次总结,可以说 起到了融会贯通的作用。本课题在选题及研究过程中得到张焕梅老师的悉心指导。张焕梅老师多次询问研究进程,并为本人指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。对张焕梅 老师的感激之情是无法用言语表达的。在论文即将完成之际,向给了本人帮助的所有老师、同学致以诚挚的谢意!附录1:程序清单/*运料小车软件部分*/*软件的主要功能:接收传感器信号,控制小车的状态12*/单片机引脚接口 #include<reg52.h>/*引脚定义*/电机引脚/左边电机sbitRMot_AP= P1A1;sbitRMot_AN= Pi2;/右

54、边电机sbitRMot_BP= PW3;sbitRMot_BN= PW4;/寻线电路引脚sbitFollow_L= P3A1;sbit Follow_M = P3A2;sbitFollow_R= P3A3;障碍物检测引脚sbit Hinder_DTC = P0A4;/语音报警sbit Guide = PW5;/延时子程序Delay/#include<reg52.h>#include<Config.h>#include<TimeDLY.h>/短延时void nNop(INT8U i)for(;i>0;i-);/长延时void LDelay(INT16U i)INT16U j;for(;i>0;i-)for(j=80;j>0;j-);/定时器T0溢出做延时函数:T0_Delay()/void T0_Delay(INT16U temp)INT16U cnt;cnt = 65536 - 100*temp;/ 晶振:12MHzTMOD = TMOD | 0x01 ;/ T1工作在方式1 (16位计数器)TH0 = (INT8U)(cnt >> 8);TL0 = cnt & 0xff;TR0 = 1;while(TF0 !=

温馨提示

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

评论

0/150

提交评论