基于单片机的智能跟踪小车1_第1页
基于单片机的智能跟踪小车1_第2页
基于单片机的智能跟踪小车1_第3页
基于单片机的智能跟踪小车1_第4页
基于单片机的智能跟踪小车1_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、 毕 业 设 计( 2016 届)题 目 基于单片机的智能跟踪小车的设计以及实现 学 院 物理电气信息学院 专 业 电气工程与自动化 年 级 2012级 学生学号 12012242019 学生姓名 段春瑞 指导教师 白 娜 2016年5月12日基于单片机的智能跟踪的小车及实现摘 要 智能车辆作为现代社会的新产物,并且在智能车辆开发出来的各种功能如跟踪、循迹、避障、自动停泊等,这些功能让生产工作,日常生活变得更加智能,自动化程度更进一步。目前,关于智能小车的研究越来越成为社会关注的焦点。这次的毕业设计是将STC89C52单片机为核心,由直流电机作为驱动,通过红外线传感器来发出跟踪信号,来实现智能

2、小车的跟踪功能。论文先对自动跟踪功能做了整体的介绍,然后对小车的硬件如单片机,传感器做了介绍。最后在理解硬件的原理的基础上,使用C语言编程和Keil软件与烧写软件实现自动跟踪的功能。关键词:自动跟踪 单片机 红外传感器AbstractIntelligent vehicle as a new product of modern society, and on the basis of intelligent vehicle developed products have become automated logistics transportation,flexible production o

3、rganization system of key equipment,research and development of intelligent car is becoming the focus of attention.This design is based on STC89C52RC single-chip microcomputer as control core, as by DC motor drive,through infrared sensors to signal tracking,to realize the intelligent car tracing.Pap

4、er first made the overall introduction to the automatic tracking function,and then to the car hardware such as single chip microcomputer, sensor is presented.Then on the basis of understanding the principle of hardware,using C language programming and the Keil software and burning software to achiev

5、e the function of automatic tracking.Key words:Automatic trackingSingle chip microcomputerInfrared sensor目 录1. 绪论41.1 课题研究背景41.2 国内外发展状况41.3 智能跟踪小车的研究目的41.4 课题研究的意义52. 小车的功能以及设计62.1 智能跟踪小车的设计要求62.2 小车的主要功能63. 智能跟踪小车的硬件设计83.1 智能跟踪小车的硬件组成83.2 STC89C52RC单片机的电路以及引脚介绍83.3电机驱动模块103.4传感器模块113.5 电源供电系统133.6

6、 LCD1602液晶显示模块144. 自动跟踪系统的软件设计154.1 开发软件KeiluVision5与STC-ISP的介绍154.2跟踪系统主程序分析164.3电机驱动程序174.4红外传感器程序184.5 LCD1602液晶显示程序185.功能测试205.1智能跟踪小车的功能测试205.2 发现问题与解决问题的方案206. 结论和展望216.1 结 论216.2 展望21参考文献22谢 辞23附录一:系统硬件仿真图24附录二:红外遥控程序25附录三:系统实物图32绪论1.1 课题研究背景在当今的社会中,企业的生产技能逐渐提高,在生产过程中对于自动控制技术的要求也在逐渐提高,在高自动化的生

7、产环境下,智能车辆的研究与运用越来成为工业生产的重要设备。许多科研机构都在致力于智能车辆的开发与应用。智能小车是一个集感应,控制,辅助驾驶,智能操控于一体的系统。在功能性上它可以自动识别并避开障碍物,自动刹车,控制与障碍物或被跟踪物体的安全距离,测量车速,自动停泊等功能。与一般的车辆系统相比智能车辆拥有以下特点:1)计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作。2)获得道路路况信息的摄像设备。3)传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。越来越多的科研项目都在关注着智能小车的开发与研究。1.2 国内外发展状况关

8、于国外的智能小车的研究状况可以追溯到20世纪50年代。美国一家电子公司于1954年开发出了世界上第一台无人驾驶的自主引导系统的车辆。虽然这个系统智能在固定的线路上直线行驶,但是这却是智能车辆研究的长足的进步。随后,关于智能车辆的研究成果如雨后春笋般的出现在世人面前。到了1980年左右欧洲以及美国等一些发达国家已经将智能车辆控制系统投入到高速公路的使用中,智能小车的研究有了其实际意义。1990年之后美国卡内基大学研究的Navlab系列智能小车在传感器传输速度,图像处理,以及车辆横向移动等方面都作出了突出的研究成果,这标志着智能车辆即将进入我们的日常生活之中。国内关于智能小车的研究起步相对较晚,在

9、借鉴发达国家先进的研究成果的基础之后,我国的科研项目致力于对智能交通系统ITS(Intelligent Transport System)的研究目前我国的交通运输行业正在向着交通智能化迈进,相信在不久的将来,我们的出行会更加安全,快捷,智能。1.3 智能跟踪小车的研究目的智能小车的一般功能包括自动循迹、传感跟踪、避障、自动停泊等。人们研究智能小车是为了让其代替人类完成一些危险的或者十分枯燥的不适宜人类的工作,通过小车的程序化的工作可以节省物力人力而且可以更高效快捷的完成工作对实现工业系统的自动化有一定的帮助。关于智能自动跟踪小车的研究,它可以帮助工人在工业工作中取料,运料。还可以在机场帮助下飞

10、机的旅客运送行李,甚至还可以在高尔夫球场扮演“球童”的角色等等。总而言之智能跟踪小车将会使我们的生活更加便捷、轻松。1.4 课题研究的意义目前,许多国家的重点大学的理工学院都在致力于智能化与自动化系统的研究,国内外有许许多多关于智能机器人的竞赛,这其中就包括了智能机器人,智能小车的设计与研究。可见智能车辆的研究在全球范围内都被人们所关注着。智能小车作为智能机器人的典型代表,由传感、执行、控制三大部分组成,本次毕业设计所采用的89C52单片机控制,红外传感,L293芯片控制的直流电机执行运动模块都是目前比较先进的器件,通过以C语言为基础的程序编写可实现智能跟踪,智能循迹避障,智能停泊等功能。在生

11、产实践当中智能小车可以运用于工业生产,医疗考古,生活服务等多方面,极大的方便了人们的生产生活,使我们的世界更加自动化。 该毕业设计对于毕业生来说,在硬件的研究与程序的编写过程中,可以培养其自动控制系统的操作能力,熟练掌握STC89C52单片机的知识,在电路的设计过程中对于电机学,电路的相关知识可以做到温故而知新。将实践与理论统一结合起来,进一步熟悉自动控制系统。2. 小车的功能以及设计2.1 智能跟踪小车的设计要求该系统以STC89C52单片机作为系统的核心,通过红外线传感器来检测到被跟踪对象所处的位置,将信号反馈给单片机,单片机根据STC软件下载到其中的程序作出相应的反应,并将指令下达至电机

12、驱动模块然后电机驱动轮胎作出相应的动作实现跟踪的功能。在下载红外避障跟踪程序的hex文件到单片机之前,应当做好充分的准备工作。首先应当安装好开发板的驱动以及STC烧写软件,在设备管理器中查看USB端口的号码如COM6。然后安装KeiluVision4软件为编程做准备。最后在使用红外避障程序之前先将调用函数编译好以备调用,所用的函数有小车左转函数、小车右转函数、电机后退函数、小车前进函数。这样小车的功能函数就不会显得过于冗长,而且不影响跟踪功能的实现。将程序下载到单片机之后,检测小车能否按照要求对目标进行跟踪实现功能,总结实验中发现的不足,进行总结与改进,尽最大可能满足毕业设计的要求。2.2 小

13、车的主要功能自动跟踪小车的主要功能有:1、实现对指定物体的红外感应跟踪。2、延时50msK4确认是按下之后,蜂鸣器发出“滴”声响,然后启动小车。3、超声波测距,测量小车与被跟踪物体之间的距离。4、LCD1602液晶距离显示:在液晶屏上显示测得的距离。5、蜂鸣报警器还可以对危险情况进行报警等。对于智能小车更广泛的更高级的功能来说主要有以下几点:(1)智能家居的控制辅助:在家庭中,可以用智能小车进行家具、远程控制家中的家用电器,控制室温等等。(2)工程安全检测与受损评估:在工程建设领域,可对高速公路自动跟踪,进行道路质量检测和破坏分析检测;对水库堤坝、海岸护岸堤、江河大坝进行质量和安全性检测。在制

14、造领域,可用于工业管道中机械损伤,裂纹等缺陷的探寻,对输油和输气管线的泄漏和破损点的查找和定位等。(3)探测危险与排除险情:在战场上或工程中,常常会遇到各种各样的意外。这时,智能化探测小车就会发挥很好的作用。战场上,可以使用智能车辆扫除路边炸弹、寻找和销毁地雷。民用方面,可以探测化学泄漏物质,可以进行地铁灭火,以及在强烈地震发生后到废墟中寻找被埋人员等。(4)辅助驾驶系统:利用智能感知系统的信息进行决策规划,给驾驶员提出驾驶建议或部分地代替驾驶员进行车辆控制操作。主要包括:巡航控制、车辆跟踪系统、准确泊车系统及精确机动系统。这些高级的智能小车的功能让我们的生活更加的自动化,让人类的工作更为安全

15、。智能跟踪小车虽然比不上它们的功能强大,但是也为我们的生活提供了便利。如商场里的自动追踪购物车、机场的自动行李运输车等。3. 智能跟踪小车的硬件设计3.1 智能跟踪小车的硬件组成本次实验所用到的硬件主要包括:STC89C52RC单片机、HL-1小车底盘、LCD液晶显示模块等。各模块功能为:(1)单片机模块为总控制模块,控制其他模块的工作。(2)HL-1小车底盘包括L293D电机驱动模块、电源供电系统、红外线传感器模块、超声波传感器模块以及传感器指示灯。电机驱动模块控制小车的运动状态,超声波传感器模块负责距离的测量,红外传感器负责光感检测。3.2 STC89C52RC单片机的电路以及引脚介绍图3

16、-1 STC89C52RC引脚图STC89C52是一种耗能较低,性能很强的单片机芯片,相比于传统的单片机芯片89C52在控制上更加灵活1。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。其引脚图如图3-1所示。STC89C52微处理器的主要功能有:1. 8k可反复擦写(大于1000次)FLASH ROM;2. 256x8bit内部RAM;3. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机);4. 工作频率范围:040MHz,相当于普通 8051 的 080MHz,实际工作频率可达48MHz;5. 用户可以获得8k字节

17、的应用程序空间;6. 时钟频率0-24MHz;7. 89C52拥有三十二个I/O口并且为双向,P1P4口为准双向口,当P0作为h.扩展口时,不需要加入上拉电阻;若作为信息传递的I/O接口时需要加入上拉电阻。8. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片;29. EEPROM功能,看门狗功能;10. 有T0、T1、T2、三个定时器,定时器的位数为16位;11. 有八个中断源,其中有两个为外部的中断源;12. 用异步串行口(UART),还可用定时器软件实现多个 UART;13.

18、 工作温度范围:-40+85(工业级)/075(商业级);PDIP封装。14. 空闲模式:典型功耗 2mA;15. 正常工作模式:典型功耗4Ma7mA;STC89C52RC单片机的引脚功能说明:第一类:电源及时钟引脚Vcc,Vss,XTAL1,XTAL2;第二类:控制引脚PSEN,ALE/PROG,EA/Vpp,RESET;第三类:P0,P1,P2,P3引脚(输入输出端引脚)P0 口是一个双功能的八位并行口,字节地址为80H,位地址为80H87H。端口的各位具有完全相同但又相互独立的电路结构。P0口作为双功能口(地址/数据复用口和通用I/O口),当P0口用作地址/数据复用口时,是一个真正的双向

19、口,用作与外部储存器的连接,输出低八位地址和输出/输入8位数据。当P0口作为通用I/O口时,需要在片外接上拉电阻,此时端口不存在高阻抗状态,因此是一个准双向口;当作为通用的I/O口输入时,应先向端口输出锁存器写入1。P0口可驱动8个LS型TTL负载3。P1端口(P1.0P1.7,18引脚):八位,准双向I/O口,在内部具有自带的上拉电阻。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入“1”时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(I)3。P2端口(P2.0P2.7,2128引

20、脚):P2口是一个自带内部上拉电阻的8位双向 I/O 端口当单片机扩展外部储存器及I/O口时,P2口作为高八位地址线总线用,输出高八位地址,P2口也可以当做普通的I/O口使用。当作为普通的I/O口输入时,应先向端口输出锁存器写入1;P2口与P0口输出的低八位地址一起构成16位地址,可以寻址64KB的地址空间,在访问外部程序存储器和16位地址的外部数据存储器时,P2送出高8位地址。在访问8位地址的外部数据存储器时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变3。P3端口为P3.0至P3.7端口(共八个引脚),P3端口为双向的输入输出端口,字长为8位

21、,带有上拉电阻,工作时应当将锁存器置为1。在实际的工作之中,复位时P3端口会自动恢复到1,可以直接进入到第二功能的操作。若不使用第二功能时,则自动进入第一功能的使用。此外P3端口的缓冲器BUF3,BUF2的输出端作为第二,第一功能的输入。3.3电机驱动模块本次毕业设计跟踪小车所用的电机是L293芯片所驱动的电机。该芯片的额定电压高为36伏特,额定电流为1安培左右,有十六个引脚。驱动器为双H桥的高电压,较大电流的全桥驱动器。该芯片可以用来驱动电感负载例如直流电机,电磁继电器等。并且此芯片可以用来驱动两个直流电机,也就是说一个芯片就可以控制电机驱动模块。直流电机具有优越的调速性能,高性能可调速拖动

22、都在采用直流电机。4直流电机驱动模块的参数:输入逻辑电压:5.0V。输入电机电压:5.0V-36.0V。输出驱动电流:1000mA。尺寸:长为34毫米 宽为18毫米 高为8毫米 电机驱动模块引脚图如图3-2所示:图3-2 电机驱动模块引脚图 驱动模块的接线方式:P1:控制M1电机PWM1输入引脚。D1:控制M1电机转向输入引脚。P2:控制M2电机PWM2输入引脚。D2:控制M2电机转向输入引脚。5V:逻辑电源+5V接口。VC:输入电机驱动电压接口。GND:电源地接口。M1+:M1电机驱动输出引脚正极。M1-:M1电机驱动输出引脚负极。M2+:M2电机驱动输出引脚正极。M2-:M2电机驱动输出引

23、脚负极。3.4传感器模块超声波测距是利用超声脉冲回波渡越时间法来实现的。若传感器所发出的脉冲信号至接收的时间为t,传播速度为c(传播介质为空气),则可由D=ct/2公式计算出目标物体与传感器的距离5。这次智能小车毕业设计使用的是HC-SR04超声波测距模块。HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。其主要的功能有:1、距离的测量,2、温度的测量,3光感度测量。超声波传感器时序图如下图3-3所示所示:图3-3 超声波传感器时序图 超声波传感器工作原理图如下图3-4所示:图3-4超声波传感器工作原理图

24、该模块的基本工作原理:1.采用I/O口TRIG触发测距,给最少10us 的高电平信号;2.八个40000Hz的方波由模块发送,并且由模块自动检测是否有信号的反馈;3.若检测到返回信号,ECHO可以通过I/O端口输出高电平信号,此信号持续的时间是超声波信号发出至返回的时间,所以测试的距离为高电平的时间乘以声速除以二(声音在空气中的传播速度为340米每秒)。该模块的基本电气参数:表3-1 超声波模块电气参数表工作电压工作电流工作频率最远射程测量角度输入触发信号输出回响信号输出与射程关系规格尺寸5V15mA40KHz4m1510s TTL脉冲TTL电平反比45*20*15红外线传感器模块采用的是由R

25、PR220红外传感器与LM324芯片配合控制的红外传感器模块,其原理图如图3-5所示:图3-5 红外传感器原理图上图的红外避障模块展示了其基本的工作原理,小车的LM324运算放大器是由四个运放器组成的模块。RPR220发射的红外线经反射回到接受管经放大电路放大后将信号传输给单片机。反应在LED灯上则是左侧有信号L4亮右侧有信号L3亮。模块参数说明:反射率和物体的面积是影响探测的主要因素,黑色的传感器探测的距离比较小反之白色的比较大,在探测中面积较小的物体需要的探测距离比较大,反之则小。这就是红外反射探测的基本原理;传感器模块输出端口OUT 可直接与单片机I/O 口连接即可,也可以直接驱动一个5

26、V继电器。连接方式:VCC-VCC;GND-GND;OUT-I/O;比较器采用LM393,工作稳定;采用两节3.7V的充电电池作为电源,供电时流水灯L1为红色L4为黄色显示红外传感器正常工作;模块接线说明:Vcc端口与单片机电源相连(35V;GND接地;OUT小板数字量输出接口(0和1)。3.5 电源供电系统 电源供电系统的原理图如图3-6所示:图3-6 电源供电系统原理图其中除了一些电容,电阻,二极管,电源电机开关之外还有Header 4X2的八脚DIP将电源,电机,HL-1电路,以及单片机电路连接在一起,使通电后电路能够正常运转。3.6 LCD1602液晶显示模块1602液晶称之为字符型液

27、晶,该模块在液晶屏上显示数字、字母、字符,显示的内容由点阵组成。点阵的组成是由五乘以七或者五乘以十一的点阵组成,字符由每一个点阵所组成,每个字符之间有一个点的距离,每一行之间也有一个点的距离,通过这些距离起到了较好的隔离作用,因为有这些点距的存在所以点阵不能较好的显示图形。但是作为距离测量数据的显示1602已经能为其所用了。液晶显示模块的引脚图如图3-7所示:图3-7 液晶模块引脚图LCD1602模块引脚及其功能介绍:一号GND为接地端;二号VCC接5V电源正极; 三号VL为对比度的调整端口,当VL接电源正极时对比度最小,反之接GND时对比度最大;四号RS作为寄存器当信号为1时进行数据的寄存,

28、当信号为0时进行指令的寄存;五号RW作为读写信号端口当输入1时进行读操作,当输入0时进行写操作;六号E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令;七到十四号D0D7为8位双向数据端。十五、十六号 为空脚或背灯电源。十五脚为背灯正极,十六为负极。LCD的基本操作时序:1、读状态:输入:RS=L, RW=H, E=H 输出:D0D7=状态字;2、写命令:输入:RS=L, RW=L, D0D7=指令码,E=高脉冲 输出:无;3、读数据:输入:RS=H, RW=H, E=H 输出:D0D7=数据;4、写数据:输入:RS=H, RW=L, D0D7=数据,E=高脉冲

29、输出:无。LCD的初始化:1、延时15ms; 2、写命令38H(不检测忙信号);3、延时5ms;4、写命令38H(不检测忙信号);5、延时5ms;6、写命令38H(不检测忙信号);7以后每次命令、读/写数据操作之前均需要检测忙信号;8、写命令38H:显示模式设置;9、写命令08H:显示关闭;10、写命令01H:显示清屏;11、写命令06H:显示光标移动设置;12、写命令0CH:显示开关及光标设置。4. 自动跟踪系统的软件设计4.1 开发软件KeiluVision5与STC-ISP的介绍本次智能小车的程序开发是基于C语言的程序编写,所以采用了KeilC51软件对程序进行编写并且用STC-ISP程

30、序烧写软件对单片机进行程序烧录。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。6Keil软件拥有强大的集成调试功能,其包含C语言编译器、程序管理库、连接功能等通过Vision组合在一起。该软件兼容目前所有的Windows系统。Keil软件最适用于和C语言配合的编程,其强大的集成环境与调试能力都会让毕业设计的制作更加快捷。7Keil C51开发系统基本知识1.系统概述KeilC51拥有强大的集成功能与丰富的函数库,并且与电脑的操作界面完全相同,是目前单片机程序开发的

31、主要编程软件。82.软件开发系统的结构 KeilC51所包含的Vision是C51关于Windows系统的开发环境,在该开发环境之中可以编译、链接、仿真、运行目。我们可以在此开发环境中生成.c文件用来编写我们所需要的程序,并且在Options中创建我们所需要烧写的.hex文件。最后进行编译运行仿真,查找错误。使用独立的Keil仿真器时,注意事项*仿真器的标准的晶振为11兆赫兹,但是在实际操作中可以通过晶振插口换用其他的频率。*使用仿真器的复位键并不能将目标系统进行重置,只能复位仿真器的芯片。* 仿真时只可以使用内部的只读存储器(ROM),片外的存储器无法使用。这是因为仿真芯片的EA引脚已经被置

32、为高电平。KeilC51软件的优点:1.Keil C51中的语句所生成的汇编代码与其他开发软件相比较更容易让人理解。在开发复杂的程序过程中更具有“高效代码”优势。92.C语言功能高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件。10STC-ISP烧写软件介绍:STC_ISP是将Keil软件编写好的程序烧写进入单片机的一款软件,是专门针对STC系列的单片机所设计的一款软件,可下载目前绝大部分系列的STC单片机,因其操作简单易用,现在已经成为主流的烧写软件11。该软件操作界面如下图4-1所示: 图4.1STC-ISP软件界面该软件的使用方法:第一步:选择单

33、片机的型号(选择STC89C52)型号。第二步:在“我的电脑”里的设备管理器的USB端口查看串口号。第三步:点击打开程序文件,将保存好的hex.文件添加到该软件中。(此时不需要给单片机通电。)第四步:点击下载编程,当显示请给MCU上电时,给单片机通电。程序就能够下载到单片机中。4.2跟踪系统主程序分析本次设计的跟踪主程序是对左转函数,右转函数,前进函数,以及红外线传感函数的调用结合起来实现小车的跟踪功能。具体的红外传感跟踪函数见附录二。工作流程:初始化后系统判断K4键是否按下,按下后蜂鸣器发出声音信号小车开始工作。程序调用前进函数小车开始向前走,并且红外线传感器开始检测跟踪目标,判断跟踪目标位

34、置,然后反馈给单片机后判断调用左转或右转函数来进行方向的控制,使小车跟着被跟踪目标的移动而移动,实现跟踪功能。程序流程图如下图4-2所示:开始初始化 否K4键是否按下 是 蜂鸣器发出信号小车前进 否红外检测目标是开始跟踪图4.2主程序流程图4.3电机驱动程序电机驱动模块可以实现小车的5个运动状态,包括小车的停止、前进、后退,左转,右转。12当6个状态引脚IN1,IN2,IN3,IN4,EN1,EN2为逻辑输入端,当接收到高、低电平信号时,执行对应的小车运动状态。IN3高电平时左电机正转,IN4高电平左电机反转,EN1低电平左电机停车。IN1高电平右电机反转,IN2高电平右电机正转,EN2右电机

35、低电平停车。调用左右转函数实现转向13。电机驱动程序见附录二。4.4红外传感器程序在本次设计中,红外模块的作用是对小车的运动状态进行控制。安装在小车车尾左右放置,通过红外跟踪模块对两侧的障碍物进行探测从而控制小车运动状态,同时,蜂鸣器作出报警相应提示,此时应注意车身周围是否存在障碍物。红外模块的功能可以独立完成,只需要给此模块一个高或低的电平即可。当红外模块发射管发射出的的红外线被红外模块的接收管接收时,此段程序开始执行。当左右两侧检测到障碍物时,蜂鸣器进行报警,小车进行停车操作,并打开延时。延迟过后蜂鸣器关闭报警状态。红外传感器工作流程图如下图4-3所示:开始初始化 否红外检测被跟踪物体 是

36、将信号反馈给单片机图4-3红外传感器流程图4.5 LCD1602液晶显示程序LCD1602液晶显示程序中初始化程序部分如下所示:void LcdInitiate(void)delay(15);WriteInstruction(0x38);.delay(5);WriteInstruction(0x01);delay(5);以上代码为使用LCD1206液晶显示屏之前要对其进行初始化。随着液晶屏的初始化操作完成以后,就该对其忙检测来确定LCD液晶屏当前的状态。 LCD1602液晶显示程序中显示程序见附录二 程序代码就是在忙检测和显示设置方面完成的前提下,进行数据的读与写的过程,并且将得到的数据显示在

37、液晶屏上。让使用者能够更加直观的知道所获得的数据14。5.功能测试5.1智能跟踪小车的功能测试小车在测试之前应该先做好充分的准备工作。首先应当将HL-1电路板与电池、电机安装好并且将红色的线接在电机电源上端,黑色的线接在电机电源下端,(注意:不要将电机的螺丝拧的太紧,否则电机会堵转)最后将转向轮,以及轮胎安好。接下来将单片机模块与HL-1模块相连接,按照两块板子上对应引脚的指示,用导线将HL-1模块上的J3、J4、J8、J7、J5与单片机对应的引脚相连接。最后将超声波模块的四个引脚插入J6区域,完成组装。在电脑上安装Keil软件的驱动,驱动安装完成后安装Keil软件后安装STC程序烧写软件。两

38、个软件安装完毕之后开始进行程序的编写,编写完毕并且生成hex.文件之后开始将程序烧写进单片机。若烧写成功,则此时小车以及具备跟踪的功能。拔下USB传输线,按下电源开关,小车则会按照预定的程序工作。5.2 发现问题与解决问题的方案在小车的安装,编程,烧写,运行中发现了不少问题,其中比较主要的问题有:1、在烧写程序时已经编写好的程序无法写进单片机,单片机与电脑连接无响应。2跟踪过程中小车无法准确的跟踪方向变化太快的被跟踪物。3小车速度无法控制容易引起碰撞。解决方案:1、使用最新版本的STC烧写软件与所购买的单片机开发板不兼容,使用低版本的STC烧写软件可以将程序录入单片机。2、红外线感应容易受日光

39、的影响所以在做跟踪实验时应当在阴天或者比较阴暗的房间里进行。3、将红外线遥控程序烧写进单片机可以用遥控器对小车的运动状况进行控制。6. 结论和展望关于本次智能跟踪小车的毕业设计,在硬件部分我将红外传感器模块,单片机模块,电机驱动模块,电源供电模块,用C语言所编写的程序联系起来实现跟踪功能。在程序的编写方面主要运用的是if语句来检测是否给电,小车方向的控制采用的是对函数的调用,通过红外传感器对目标的位置的检测与反馈来调用相应的函数。(采用Whileif来实现反馈信号与调用函数的联系)。例如,当红外信号检测到被跟踪物体在左侧时Left=1 Right=0(有信号时为1)。调用左转函数(小车左电机不

40、转,右电机转动)小车向左运动实现跟踪。6.1 结 论本次毕业设计用到的主要工具是STC89C52RC单片机,关于单片机的知识我们在大四上学期的的课程中已经学习过,所以在小车的程序方面学习的更加快捷一些。智能小车的设计在单片机的相关课题中是属于比较偏向硬件设计的,所以有了实物模型才能更加具体的了解你所做的东西,否则一切都是纸上谈兵罢了。智能小车的功能非常的多,主要包括循迹、避障、跟踪等等在实际生活中的应用在前文中已经阐述,我所做的跟踪功能只不过是其中的一小种,尽管不是什么创新研究,但是这几个月的毕业设计的学习让我明白了理论与实践结合的重要性,通过此次设计,使我把课堂上学到的C语言知识、单片机知识

41、全部应用到实践中去,让理论与实践有了完美的结合,在此结合的过程中让自己的知识得到强化和复习, 温故而知新,学到了不少新的知识。还对Keil C51软件和STC_ISP软件使用方法得到了加固。并且让我感觉到自己的知识面和动手能力等多方面都得到了加强。6.2 展望在测试与实验当中我也发现的小车的一些不足,小车对被跟踪物体方向变化不是很敏感,有时需要物体里小车的传感器很近才能实现跟踪。所以我计划在接下来的学习之中着力于改进小车的红外检测模块,并且对程序进行进一步的研究与完善争取作出更好的智能跟踪小车。参考文献 1张兰红,邹华.单片机原理及应用M.北京:机械工业出版社,2013.2周坚.单片机C语言轻

42、松入门M.北京:北京航空航天大学出版社,2008.3郑佩.基于51单片机智能小车的设计与实现J中国科技博览20144陈伯时.电力拖动自动控制系统(第三版)M.北京:机械工业出版社,2000年.5刘迎春. 传感器原理设计与应用M.长沙:国防科技大学出版社,1992.6谭浩强.C语言程序设计(第三版)M.北京:清华大学出版社,2005.7张旭涛.单片机原理与应用M.北京:北京理工大学出版社,2007.8高海生.单片机应用技术大全M.四川:西南科技出版社,2003.9张红洗.C8051F系列单片机开发与C语言编程J电子产品可靠性与C语言编程2011.10徐惠民,安德宁.单片机微型计算机原理及应用M.

43、北京:北京邮电大学出版社,2001.11李广第.单片机基础M.北京:北京航天航空大学出版社,1999.12陈兴文,刘燕.单片机应用系统硬件调试与技巧J.中国测控网.2006.13夏继强.单片机实验与实践教程M.北京:北京航天航空大学出版社,2001.14陈享成,耿长青.基于单片机的LCD显示终端设计J电力自动化设备2007(09).谢 辞 在本次毕业设计中由于本人知识水平的限制,我在完成毕业设计的时候遇到了许许多多的困难,但是到最后关于智能跟踪小车的实验设计终于顺利完成,这其中少不了同学和指导老师的帮助,是他们的帮助让我克服了重重困难,解决了许多棘手的问题。其中最应当感谢的是我的论文导师白娜老

44、师,白老师给了我许多学习资料,让我不仅仅完成了毕业设计,还对单片机有了系统的了解与学习,将理论与实践结合起来顺利完成了毕业设计。尊敬的老师和同学们,没有你们的帮助我的设计也不能顺利完成,谢谢你们,谢谢!附录一:系统硬件仿真图附录二:红外遥控程序红外遥控程序#include#define Left_moto_go P1_2=0,P1_3=1; /左边电机向前走#define Left_moto_back P1_2=1,P1_3=0; /左边电机向后转#define Left_moto_Stop P1_2=0,P1_3=0; /左边电机停转#define Right_moto_go P1_6=1,

45、P1_7=0;/右边电机向前走#define Right_moto_back P1_6=0,P1_7=1;/右边电机向后走#define Right_moto_Stop P1_6=0,P1_7=0;/右边电机停转#define Imax 14000 /此处为晶振为11.0592时的取值,#define Imin 8000 /如用其它频率的晶振时,#define Inum1 1450 /要改变相应的取值。#define Inum2 700#define Inum3 3000unsigned char f=0;unsigned char Im4=0x00,0x00,0x00,0x00;unsign

46、ed char show2=0,0;unsigned long m,Tc;unsigned char IrOK;/*/延时函数void delay(unsigned int k)unsigned int x,y;for(x=0;xk;x+)for(y=0;yImin)&(TcInum1&Tc1|0x80; m+;if(TcInum2&Tc1; m+; /取码if(m=32)m=0;f=0; if(Im2=Im3)IrOK=1;else IrOK=0; /取码完成后判断读码是否正确/准备读下一码 /*/前速前进void run(void)Left_moto_go ; /左电机往前走Right_m

47、oto_go ; /右电机往前走/前速后退void backrun(void)Left_moto_back ; /左电机后退Right_moto_back ; /右电机后退/右转void rightrun(void)Left_moto_go ; /左电机前进Right_moto_Stop ; /右电机停止/左转void Leftrun(void)Left_moto_Stop ; /左电机停止Right_moto_go ; /右电机前进/停止void stoprun(void)Left_moto_Stop ; /左电机停止Right_moto_Stop ; /右电机停止/*/*-主函数-*/void main(void)m=0;f=0;IT0=1;EX0=1;TMOD=0x11;TH0=0;TL0=0;TR0=1;EA=1;delay

温馨提示

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

评论

0/150

提交评论