循迹小车毕业论文课件_第1页
循迹小车毕业论文课件_第2页
循迹小车毕业论文课件_第3页
循迹小车毕业论文课件_第4页
循迹小车毕业论文课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要本设计是一种基于单片机控制的简易自动寻迹小车系统,其研究意义涵盖了工业、生活、勘探以及人类关注的探月工程。设计旨在设计出一款可以自主按照人类预设的轨迹行走(或者完全自主行走)并完成指定任务的小车。从设计的功能要求出发,设计包括小车机械构成设计和控制系统的软硬件设计。为了适应复杂的地形我采用稳定性比较高的四轮构架式,用前轮驱动换向的控制模式。控制系统以STC89C52为控制核心, 用单片机产生PWM波,控制小车速度。利用红外光电传感器对路面黑色轨迹进行检测,并确定小车当前的位置状态,再将路面检测信号反馈给单片机。单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能

2、够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。ABSTRACT The design is a simple microcontroller-based control automatically tracing the car system, and its significance covers the industry, life, exploration, and human concern lunar exploration. The design aims to design a can of independent walking in accordance with the

3、trajectory of human default (or completely autonomous walking) and to complete the tasks assigned to the car. The design includes the functional requirements from the design of car mechanical design and control system hardware and software design. Relatively high stability of the four trusses in ord

4、er to adapt to the complex terrain, before the rotation of the rear-wheel drive control mode. Control system to control the core to STC89C52 microcontroller PWM wave to control the car speed. Using infrared photoelectric sensor to detect the black track on the road and to determine the current statu

5、s of the car, and then the road detection signal is fed to the microcontroller. Microcontroller to be collected signal analysis and judgment, and timely control of the drive motor to adjust the steering of the car, so that the car is traveling along the black track to achieve the purpose of the car

6、automatically tracing.Keywords: car tracking;microcontroller;Infrared sensors目录1绪论11.1循迹小车的意义和作用22系统方案设计32.1 主控系统42.2 电机驱动模块42.3 循迹模块52.4 机械系统63 硬件设计73.1 总体设计73.2 2TCRT5000黑色轨迹识别电路83.3LM324电压比较电路103.4 STC89C52单片机控制电路103.4.1 时钟电路113.4.2 复位电路113.4.3 EA/VPP(31 脚)的功能和接法123.4.4 P0 口外接上拉电阻123.5 LG9110马达驱动

7、电路134主要器件介绍144.1 STC89C52的介绍144.2电机驱动的介绍174.2.1电机驱动的引脚功能184.2.2电机驱动的运行参数184.2.3电机驱动的逻辑控制194.3 TCRT5000的介绍194.4 LM324的介绍205程序设计225.1主程序225.2TCRT5000扫描程序245.3调试方案26结束语27参考文献28附 录301绪论1.1循迹小车的意义和作用 本课题研究的背景和意义 随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有循迹小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。近年来机器人的

8、智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。而近几十年来中国在航天领域的发展越来越快,世界各国也从没停止过探索外星的脚步。在外星球恶劣的环境下探索全由人去完成是不可能的。那么可以自动驾驶的小车就发挥了它的作用了。用带有摄像头的小车就可以让我们在地球上看到外星球的地貌。如何让小车自动的准确的按照人预设的路线去进行工作成了人们开始研究的课题,现在也有很多的相关成果。寻迹小车要实现自动导引功能就必须要感知导引线,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AGVauto-guide vehi

9、cle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并做出判断和相应的执行动作。本设计就采用了比较先进的 80C51 为控制核心,80C51 采用 CHOMS 工艺,功耗很低。该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。尤其是 在足球机器人研究方面具有很好的发展前景;在考古方面也应用到了超声波传感器进行检测。所以本设计与实际相结合,现实意义很强。该循迹小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。实现小车自动识别路线,选择正确的行进路线。在传感检测部分想到小车一般不一定要感

10、知到清晰的图像信息,只要求粗略的感知就可以了,所以就舍弃了比较昂贵的CCD传感器从而选择使用价廉物美的红外反射式传感器来代替。循迹小车的执行部分,是由直流电机来实现的,主要完成小车行进方向的操作。实现了小车根据路线自动转向也就可以让小车去完成人预设的任务。随着我国改革开放的深入和社会主义经济建设的可持续、快速的发展,城市的不断扩大与增多,便利的交通需求也在不断增加。据有关报道,1996年我国城市机动车数量为884.5万辆,比1977年增长了将近9倍之多,年均增长量为33.8%,而全国城市自行车数量超过1.8亿辆,占据全国总量的40%,城镇每一百户拥有自行车达到198辆。道路的建设虽然突飞猛进,

11、从1980年至1994年,全国城市道路的总长从大约2.95万公里增长到11.1万公里,年平均增长率大约为9.9%,人均占有道路面积从2.8m2增长到6.6m2,道路面积的增长率为年均11.6%,但这样的速度依然赶不上车辆的增长速度。同时,由于多种原因致使公交车辆运营速度由每小时的12-14公里下降到5-10公里,新增的运输能力被下降的运输效率抵消,公交承担的运量不断在减退,居民的出行方式也渐渐由公交向自行车、机动车等个体交通方式转移,这很显著的加剧了交通的拥挤程度。怎么解决市民出行交通需求的不断增长与公共交通运输发展相对滞后的矛盾是摆在我们面前一项迫切的任务。智能运输系统(Intelligen

12、t Transportation Systems,ITS)。它是在关键基础理论模型研究的前提下,把先进的信息技术、数据通信技术、电子控制技术及计算机处理技术等有效地综合运用于地面交通管理体系,从而建立起一种大范围、全方位发挥作用、实时、准确、高效的交通运输管理系统。它利用无线通讯专网低频段以低成本实现了公交企业运营数据的实时采集、快速传输,自行开发研制了无线通讯系统车载智能终端设备及控制系统,使公交企业能够充分利用无线通讯系统采集和传输的车辆运营数据进行车辆调度和车辆运营管理,且具有数据和话音双重传输功能。具有用户容量大、网络范围覆盖广、调度信息响应速度快、全自动语音报站自动化、信息发布广泛、

13、出行者信息服务智能化、设备自动维护智能化的特点。智能公交系统的提出,必将大大改善公交管理水平,提高公交系统经济效益,减少政府财政补贴。由于采用公交出行的居民增加,相对减少了其它车辆出行,这势必会缓解城市交通压力,减少环境污染,降低交通事故发生率,改善交通环境,带来巨大的社会效益。 2系统方案设计根据要求,确定了以下方案:在现有玩具电动车的基础上,加装光电检测器,实现对小车的位置、运行状态实时的测量,并且把测量数据传送到单片机进行处理,然后再由单片机依据所检测的各项数据实现对小车的智能控制。此方案可以实现对小车的运动状态进行实时的控制,控制比较灵活、可靠,而且较精度高,可以满足系统的各项指标。2

14、.1 主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在此处上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案

15、二:将单片机作为整个系统的核心,用来控制小车,来实现各项指定的性能指标。透彻的分析整个系统,其中最关键的地方在于实现小车的自动控制,而在里,单片机的优势就显现出来了控制简单、方便、快捷。因此,单片机就能够充分发挥它资源丰富、以及较为强大的控制功能和可位寻址操作功能、价格低廉等优点。因此,这个方案是一个比较理想的方案。针对这个设计的特点复杂的多个开关量输入的程序控制系统,需要使用擅长解决多开关量的标准的单片机,而不能使用精简式的I/O口和程序存储器的小体积单片机,D/A、A/D功能也没必要选用。依据这些分析结果,我选定了STC89C52单片机作为这个设计的主控装置,51单片机具有功能强大的位操作

16、指令,I/O口都可以按位寻址,程序空间有8K之多,对于这个设计也是绰绰有余的,更好的是51单片机价格很低廉。在综合分析了两部电机、传感器的驱动等诸多要素以后,我们决定使用单片机一片,充分利用单片机STC89C52的资源。2.2 电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的方向进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案二:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅会降低效

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

18、使用功率三极管作为功率放大器的输出控制直流电机。图1 H桥式电路2.3 循迹模块方案一:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现问题,而且容易因为 该部件造成整个系统的不稳定。故最终未采用该方案。方案二:采用三只红外对管,平均置于小车车头前端,根据三只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好三只光电开关的位置就可以很好的实现循迹的功能。(参考文献3)通过比较,我选取第二种方案来实现循迹。2.4 机械系统本题目要求小车的机械系统稳定、灵活、简单,可选

19、用三轮和四轮式,考虑到现在的汽车多采用四轮式我选用四轮式的设计,使设计更贴近生活需求。驱动和转向方式和现在的汽车一样。驱动部分:采用玩具小车原有的驱动电机,由L298N双通道马达驱动模块驱动前后两个马达,其力矩完全可以达到模拟效果。电池的安装:将电池放置在车体的下面,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。电源模块:采用4支1.5V电池给电机供电,再用稳压芯片对电池电压进行降压给单片机。采用一套电源可减少小车的负重。电压转换电路如图2所示。整体组装效果如图3所示。图2 5V稳压电路图3 小车组装效果3 硬件设计3.1总体设计从智能循迹小车的设计要求出发,经

20、过前面的方案论证我决定用原有的玩具小车作为设计模型。再在小车身上加上轨迹识别和马达驱动装置来完成整个功能。智能小车采用后轮驱动,前轮转换方向。循迹红外发射与接收管分别装在车头下的左中右。当车身下左边的传感器检测到超出黑线时,前轮右转,当车身下右边传感器检测到超出黑线时,车轮左转。直到小车完全回到黑线。如果转向过程中中间传感器也检测到超出黑线则说明小车以这个转向角度不能回到黑线,则改变前轮方向并后退。同样可以起到转向的作用,避免小车离线太远最终回不到黑线上。当小车完全回到黑线再继续向前,在检测到下一次出线后再进行同样的调整。信号流程如图11所示。红外轨迹识别 马达驱动模块 单片机控制系统电压比较

21、 黑线识别模块图11 整体设计框图3.2TCRT5000黑色轨迹识别电路小车循迹原理是小车在画有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”黑线。本次设计规定正常行驶时三个红外探头都在黑色轨迹之内,如果有探头检测到车体开始偏离轨道则由控制系统做出相应响应使车体回到轨道上。此电路模块就是用于检测车体是否超出轨道并反馈给下一级电路。这一方法经常被叫做红外探测法。红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特 图12 轨迹识别电路点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小

22、车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。如图12轨迹识别电路所示,发射管(1、2端)与阻值为330欧姆的电阻串联发射红外线。接收管(3、4)与阻值为47K欧姆的电阻串联。在没有接收到反射光线时接收管截止呈高阻态,TX输出高电平。当接收管接收到反射光线时,接收管被导通,并且电阻远小于47K,TX输出低电平。 3.3LM324电压比较电路电压比较器式在运放的基础上去掉反馈电阻使放大倍数趋于无穷大。此时形成了一个电压比较器。当同相端电压大于反相端电压时比较器输出高电平,当反相端电压高于同相端电压时输出端输出度电平。如图13电压比较电路,用了LM324内部3个单独的

23、运放外接一个可调电阻输入基准电压。基准电压加在反相输入端上,上一级电路反馈过来的电压从电压比较器的同相端输入。当TCRT5000反馈的电压高于基准电压时,比较器输出高电平。当TCRT5000反馈的电压低于基准电压时,比较器输出低电平。这样就使探头把地面的反射光线的程度只分成了两种情况,易于单片机识别。考虑到地面的粗超程度不一样我们可以用可调电位器去调节基准电压,经过轨道实际测量后确定基准电压的值。图13电压比较电路3.4 STC89C52单片机控制电路单片机控制电路由但单片机最小系统组成,主要作用是接受探头传来的电压信号,再通过程序设定的逻辑算法给出下一级马达驱动电路的指令。单片机最小系统包括

24、主控IC,外部时钟电路,复位电路和电源组成。本设计采用如图14所示的单片机最先系统。在此就图14为参照解释一下51单片机最小系统各子电路的特点。图14单片机主控电路3.4.1 时钟电路XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图14 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在1.2 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用

25、的11.0592M 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20 40pF 之间选择(本实验套件使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30 50pF 之间。通常选取33pF 的陶瓷电容就可以了。另外值得一提的是如果在设计单片机系统的印刷电路板(PCB) 时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。检测晶振是否起振的方法可以用示波器可以观察到XTAL2 输出的十分漂亮的正弦波,也可以使用万用表测量( 把挡位打到直流挡,这个时候测得的是有效值)XTAL2 和地之间的电

26、压时,可以看到2V 左右一点的电压。3.4.2 复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。MCS-5l 系列单片机的复位引脚RST( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式:上电自动复位和开关复位。图14 中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等

27、于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。3.4.3 EA/VPP(31 脚)的功能和接法51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管

28、是否有内部程序存储器,只访问外部存储器。对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器。在本实验套件中,EA 管脚接到了VCC 上,只使用内部的程序存储器。3.4.4 P0 口外接上拉电阻51 单片机的P0 端口为开漏输出,内部无上拉电阻(见图15)。所以在当做普通I/O 输出数据时,由于V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻。图15 P0端口的1位结构另外,避免输入时读取数据出错,也需外接上拉电阻。在这里简要的说下其原因:在输入状态下,从锁存器和从引脚上读

29、来的信号一般是一致的,但也有例外。例如,当从内部总线输出低电平后,锁存器Q 0, Q 1,场效应管V1 开通,端口线呈低电平状态。此时无论端口线上外接的信号是低电平还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。又如,当从内部总线输出高电平后,锁存器Q 1, Q 0,场效应管V1 截止。如外接引脚信号为低电平, 从引脚上读入的信号就与从锁存器读入的信号不同。所以当P0 口作为通用I/O 接口输入使用时,在输入数据前,应先向P0 口写“1”,此时锁存器的Q 端为“0”,使输出级的两个场效应管V1、V2 均截止,引脚处于悬浮状态,才可作高阻输入。总结来说:为了能使

30、P0 口在输出时能驱动NMOS 电路和避免输入时读取数据出错,需外接上拉电阻。在设计中采用的是外加一个10K 排阻。此外,51 单片机在对端口P0P3 的输入操作上,为避免读错,应先向电路中的锁存器写入“1”,使场效应管截止,以避免锁存器为“0”状态时对引脚读入的干扰。3.5 LG9110马达驱动电路电机驱动一般采用H桥式驱动电路,LG9100内部集成了H桥式驱动电路,从而可以采用LG9110电路来驱动电机。通过单片机给予LG9110电路PWM信号来控制小车的速度,起停。为了设计方便我采用了市面上已有的L298N电机驱动模块,其特点便宜稳定性高。为了是设计达到更加好的效果我选用了LG9110马

31、达驱动模块。其原理图如图16所示。实物图如图17所示。图16 LG9110引脚图 4 主要器件介绍4.1 STC89C52的介绍该单片机是宏晶公司生产的STC89C52,其片内带有8K字节闪速可编程、可擦除寿命1000次程序存储器。该产品与工业标准8051中单片机完全兼容,并且还可支持两种软件可选的省电模式,工作时钟最高可达到24MHz。使实时控制、实时处理的功能更加完善,简化了硬件配置。与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器 、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全

32、双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符 。STC89C52实物如图4。图4 STC89C52引脚示意图STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8k字节Fla

33、sh,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K字节在系统可编程 FlashP0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。

34、当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体

35、如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在线系统编程用)P1.6 MISO(在线系统编程用)P1.7 SCK(在线系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用1

36、6位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为STC89C52特殊功能(第二功能)使用

37、,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节

38、。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输

39、出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。4.2 电机驱动的介绍LG9110是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,

40、持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。4.2.1 电机驱动的引脚功能特点: 1、低静态工作电流; 2、宽电源电压范围:2.5V-12V; 3、每通道具有800mA连续电流输出能力; 4、较低的饱和压降; 5、TTL/CMOS输出电平兼容,可直接连CPU; 6、控制和驱动集成于单片IC之中; 7、具备管脚高压保护功能; 8

41、、工作温度:0-80。 描述: LG9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电器器件,将分立电路集成在单片IC 之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰 性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750-800mA的持 续电流,峰值电流能力可达1.5-2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载 的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。LG9110被广泛 应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路

42、上。 4.2.2 电机驱动的运行参数4.2.3电机驱动的逻辑控制4.3 TCRT5000的介绍TCRT5000具有结构紧凑建设发光光源和探测器排列在同一方向,以感知对象的存在从对象使用反射红外线光束。工作波长为950毫米。该探测器光电晶体管组成。工作时由蓝色发射管发射红外线,红外线由遮挡物反射回来被接收管接收。接收反射光线后的接收管呈导通状态,与一电阻串联即可主城一个由发射管控制的分压电路,由此可实现对遮挡物反射光线强度的检测。我们经常利用这一特性去实现颜色识别。其实物图如图6,引脚图如图7所示。 图6 TCRT5000实物图 图7 TCRT5000引脚定义4.4 LM324的介绍M324是四

43、运放集成电路,它采用14脚双列直插塑料封装。它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。每一组运算放大器可用图8所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图9。图8 单个运放符号 图9 LM324引脚图下面介绍LM324在电压比较电路中的应用。当去掉运放的反馈电阻时,或者说反馈电阻趋于无穷大时(即开环状态

44、),理论上认为运放的开环放大倍数也为无穷大(实际上是很大,如LM324运放开环放大倍数为100dB,既10万倍)。此时运放便形成一个电压比较器,其输出如不是高电平(V+),就是低电平(V-或接地)。当正输入端电压高于负输入端电压时,运放输出低电平。图10 LM324电压比较电路如图10中使用两个运放组成一个电压上下限比较器,电阻R1、R1组成分压电路,为运放A1设定比较电平U1;电阻R2、R2组成分压电路,为运放A2设定比较电平U2。输入电压U1同时加到A1的正输入端和A2的负输入端之间,当Ui U1时,运放A1输出高电平;当Ui U2,则当输入电压Ui越出U2,U1区间范围时,LED点亮,这

45、便是一个电压双限指示器。若选择U2 U1,则当输入电压在U2,U1区间范围时,LED点亮,这是一个“窗口”电压指示器。此电路与各类传感器配合使用,稍加变通,便可用于各种物理量的双限检测、短路、断路报警等。5程序设计5.1主程序主程序流程图如图18所示。YESNO状态有变化?探头信号扫描程序与定时器初始化开始程序初始化做出逻辑判断 输出驱动指令储存当前状态图18 主程序流程图程序扫描后到的小车位置状态与对应输出的驱动指令对应关系如图21。黑色表示黑色轨迹。图21小车位置与响应动作对照主程序源程序如下:/* 函 数:main();* 功 能: 主函数 */void main (void)TMOD=

46、0x01; /定时器初始化TH0=0xd8;TL0=0xf0;EA=1;ET0=1;P3=0;TR0=1; while(1) /主循环col=collect(); /探头扫描if(col!=sto)switch(col)case 0: P3=0;P3=1;break; /采样无出线,执行向前 case 1: if(P3=10); else P3=0;P3=5;break; /采样为右出线,执行左转case 4: if(P3=6) ; else P3=0;P3=9; break; /采样为左出线,执行右转case 3: P3=0;P3=10;break; /采样车头向右出线一半,执行左倒车cas

47、e 6: P3=0;P3=6;break; /采样车头向左出线一半,执行右倒车case 7: P3=0;P3=2;break; /采样全出线,执行向后default:break;sto=col;5.2TCRT5000扫描程序TCRT500扫描程序流程图如图19所示。P1口程序拉高开始退出返回屏蔽后的值屏蔽平P1后五位读回P1口状态TCRT500扫描程序如下:/* 函 数:collect(); * 功 能: 采集红外探头信息,返回一个值 */char collect()uchar a,b;P1=255;a=P1;b=a&7;/屏蔽后5位return(b);5.3调试方案方案1:购买玩具电动车。购

48、买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。而且这种电动车一般都价格不菲。因此我们放弃了此方案。方案2:自己制作电动车。经过反复考虑论证,我们制定了左右两轮分别驱动,前万向轮转向的方案。即左右轮分别用两个转速和力矩基本完全相同的直流电机进行驱动,车体前部装一个万向轮。在安装时我们保证两个驱动电机同轴。当小车前进时,左右两驱动轮与前万向轮形成了三点结构。这种结构使得小车在前进时比较平稳,为了防止小车重心的偏移,后万向轮起支撑作用。对于车架材料的选择,我们经过比较选择了PCB板

49、。用有PCB板做的车架比塑料车架更加牢固,比铁制小车更轻便,美观,而且可以直接在其上焊接元件。综上所述,选择方案2。5.4传感器数据处理及循迹程序流程我们用一个字节来代表车底的6个光电传感器。用每一个位来代表当前传感器的检测状态。我们把小车直线行进时分成三种状态,当中间四个传感器都检测到白线时,小车在跑道的正上方,这时控制两电机同速度全速运行。当检测到有一个传感器或者同侧的两个传感器偏出白线时,小车处于微偏状态,这时将一个电机速度调慢,另一电机速度调快,完成调整。当检测到有三个电机偏出时,小车处于较大的偏离状态,这时把一个电机的速度调至极低,另一电机全速运行,从而在较短时间内完成路线的调整。用

50、这种三级调速的寻迹算法同单纯的判断检测到对管的位置并作出判断的方法相比,程序思路清晰,程序执行结果较好。该检测传感器子程序的流程图如图8所示:图8 传感器信息处理子程序流程图结束语 整个系统的设计以单片机为核心,利用了多种传感器,将软件和硬件相结合。本系统能实现如下功能:自动沿预设轨道行驶小车在行驶过程中,能够自动检测预先设好的轨道,实现直道和弧形轨道的前进。若有偏离,能够自动纠正,返回到预设轨道上来。自动躲避障碍物。从运行情况来看循迹的效果比较好,避障的效果不是很好,我认为是由于电源不能稳定而是的小车的速度不好控制,这也是我这次设计最大的误区,没有选取稳定的电源。我相信如果实验条件和时间的允

51、许下我肯定能解决这一问题。 通过本次设计我掌握了很多以前不熟练的东西,认识了很多以前不熟悉得东西,使我在人生上又进了一步。也认识到很多的不足。参考文献1郭惠,吴迅.单片机C语言程序设计完全自学手册M.电子工业出版社,2008.10:1-200.2王东锋,王会良,董冠强. 单片机C语言应用100例M. 电子工业出版社,2009.3:145-300.3韩毅,杨天. 基于HCS12单片机的智能寻迹模型车的设计与实现J.学术期刊,2008,29(18):1535-1955.4 王晓明. 电动机的单片机控制J. 学术期刊,2002,13(15):1322-1755.5Yamato I , et al 1 New conversion system for UPS using high fre2quency linkJ 1 IEEE PESC ,1

温馨提示

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

评论

0/150

提交评论