基于单片机的多功能智能小车设资料.docx
《基于单片机的多功能智能小车设资料.docx》由会员分享,可在线阅读,更多相关《基于单片机的多功能智能小车设资料.docx(20页珍藏版)》请在冰豆网上搜索。
基于单片机的多功能智能小车设资料
基于单片机的多功能智能小车设(实物制作)
摘要随着社会的发展,智能化越来越受到人们的关注。
本设计通过模拟汽车的自动行驶及避障功能,来实现智能化。
本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。
在此设计中,用STC89C51单片机作为主控芯片,处理接收到的各种信号,并作出相应的反馈;用红外对管来进行黑线检测,从而达到循迹和避障的目的;通过编写的程序,保证了电机的左右转动,从而达到小车设计时预定的目标。
由于小车在设计过程中,采用了模块化的设计思路,所以在进行调试时非常方便。
我们可以分别对每一个功能部分来进行调试,驱动部分调试时,只要给电机向前或者向后的信号,就可以调试出其功能。
循迹部分调试时,只要通过检测到黑线,判断是否沿黑线行驶,即可以调试出。
在进行避障调试中,我们可以把障碍物放在小车前方,然后看小车两个轮子的转向。
这种模块化的设计思想不仅简化了设计过程,而且对我们以后的设计也会有一定启发。
ABSTRACT
Alongwiththedevelopmentofsociety,moreandmoreintelligentattention.Thisdesignbysimulatingacardrivingandautomaticobstacleavoidance,toachieveintelligent.Thisdesignhasthreemainmodulesincludingdrivemodule,signaldetectionmodule,maincontrolmodule,motor.Inthisdesign,withSTC89C51SCMasthemasterchip,processingvarioussignalsreceived,andmakecorrespondingfeedback;usingInfraredtotubetodetecttheblackline,soastoachievethepurposeoftracking;Throughtheprogram,ensurethemotorrotation,soastoachievethedesignofthecarwhenthescheduledtarget.
Asthecarinthedesignprocess,usingamodulardesignconcept,soveryconvenientduringdebugging.Wewerepartofeachfunctionfordebugging,debuggingdrivingpart,aslongasthemotorforwardorbackwardsignal,youcandebugthefunctionality.Whendebuggingtrackingpart,simplybydetectingtheblackline,todeterminewhethertheblacklinerunningalong,thatyoucandebuga.Avoidanceduringcommissioning,wecanputanobstacleinfrontofthecar,andthenlookatthecartwosteeringwheels.Thismodulardesignnotonlysimplifiesthedesign,butalsoforourfuturedesignsalsohavesomeinspiration.
KeyWords:
Intelligent,SCM,Infraredtotube,Obstacleavoidancetracking
目录
一、绪论
1.1智能小车的研究与意义
1.2智能小车的现状
1.3论文研究内容与主要结构
二、方案选型设计
2.1车体设计
2.2电机驱动选择
2.3PWM调速技术
2.4循迹模块技术
2.5避障模块技术
2.6驱动模块
2.7控制系统模块
2.8电源选择
三、硬件设计
3.1总体设计
3.2电源电路设计
3.3驱动电路设计
3.4循迹部分电路
3.5避障部分电路
3.6主控电路设计
四、软件设计
4.1主程序设计概述
4.2主程序流程图
4.3驱动程序流程图
4.4循迹程序流程图
4.5避障程序流程图
五、制作安装与调试
5.1小车的安装
5.2小车运动模式调试
5.3小车循迹调试
5.4小车避障调试
5.5小车的功能
六、结论
七、参考文献
八、致谢
第1章绪论
1.1智能小车的研究意义
随着计算机、微电子、信息技术的快速发展,智能化技术的发展速度也越来越快,智能化与人们生产生活的联系越来越紧密,智能化将是未来社会发展的必然趋势。
在企业生产技术不断提升、对自动化技术要求不断加深的背景下,智能车以及在智能车基础上开发的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。
智能小车是一个集环境感知、规划决策、自动驾驶等功能于一体的综合系统。
它集中的运用了计算机、传感器、信息。
通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。
在我所研究的自动循迹避障系统中,我们可以利用小车来模拟汽车自动避障功能,来避免现实中汽车因与障碍物碰撞而产生的车祸。
因此,自动循迹避障小车对于在进行自动避障的时候,有着非常重要的现实意义。
1.2智能小车的现状
智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活跃,应用日益广泛的领域。
众所周知机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。
因此目前世界各国都在开展对机器人技术的研究。
机器人由于有很高的灵活性、可以帮助人们提高生产率、改进产品质量等优点,在世界各地的生产生活领域得到了广泛的应用。
智能小车正是模仿机器人的一种尝试。
它是一种以汽车电子为背景,涵盖多学科的科技创新性设计,一般主要由路径识别、速度采集、角度控制以及车速控制等模块组成。
这种智能小车能够自动搜寻前进路线,还能爬坡,感知前方的障碍物,并自动寻找前进方向,避开障碍物。
另外如果加入相关声光讯号后,更能体现出智能化和人性化的一面。
首先,国外智能车辆的研究历史较长,始于上世纪50年代。
它的发展历程大体可以分成三个阶段:
第一阶段20世纪50年代是智能车辆研究的初始阶段。
1954年美国BarrettElectronics公司研究开发了世界上第一台自主引导车系统AGVS(AutomatedGuidedVehicleSystem)。
第二阶段从80年代中后期开始,世界主要发达国家对智能车辆开展了卓有成效的研究。
在欧洲,普罗米修斯项目开始在这个领域的探索。
在美洲,美国成立了国家自动高速公路系统联盟(NAHSC)。
在亚洲,日本成立了高速公路先进巡航/辅助驾驶研究会。
第三阶段从90年代开始,智能车辆进入了深入、系统、大规模研究阶段。
最为突出的是,美国卡内基.梅隆大学(CarnegieMellonUniversity)机器人研究所一共完成了Navlab系列的10(Navlab1—Navlab10)的研究,取得了显著的成就。
台自主车
目前,智能车的发展正处第三阶段。
这一阶段的研究成果代表了当前国外智能车的主要发展方向。
其次,国内智能车辆的现状研究相比于国外,我国开展智能车辆技术方面的研究起步较晚,开始于20世纪80年代,而且大多数研究尚处于针对某个单项技术研究的阶段。
虽然我国在智能车辆技术方面的研究总体上落后于发达国家,并且存在一定的技术差距,但使我国也取得了一系列的成果,主要有:
中国第一汽车集团公司和国防科技大学机电工程与自动化学院于2003年研制成功了我国第自主驾驶轿车。
吉林大学设计并制造了一辆用CCD识别地面铺设的条状路标导航的智能车辆,车辆由图像识别、行驶、转向、制动、避障和其他辅助系统组成。
目前,该车可以稳定的跟踪直线、弧线、S型线等轨迹自动行驶,车速可达20km/h。
在国家科工委和国家862计划的资助下,清华大学计算机系智能技术与系统国家重点实验室自1988年开始研制的THMR系列移动机器人取得了很大的成功。
它兼有面向高速公路和一般道路的功能,目前已经能够在校园的非结构化道路环境下,进行道路跟踪和避障自主行驶。
南京理工大学、北京理工大学、浙江大学、国防科技大学、清华大学等多所院校联合研制了7B.8军用室外自主车,该车装有彩色摄像机、激光雷达、陀螺惯导定位等传感器
智能车辆研究也是智能交通系统ITS的关键技术。
目前,国内的许多高校和科研院所都在进行ITS关键技术、设备的研究,随着ITS研究的兴起,我国已形成了一支ITS技术研究开发的专业技术队伍。
并且各个交通、汽车企业越来越加大了对ITS及智能车辆技术研发的投入,整个社会的关注程度在不断提高。
交通部已将ITS研究列入“十五”科技发展计划和2010年长期规划。
相信经过相关领域的共同努力,我国ITS及智能车辆的技术水平一定会得到很大的提高。
可以预计,我国飞速发展的经济实力将为智能车辆的研究提供一个更加广阔的前景。
因此,对智能小车进行深入细致的研究,不但能加深课堂上学到的理论知识,更能将理论转化为实际运用,为将来打下坚实的基础。
1.3论文研究内容与主要结构
论文主要研究的内容就是小车的循迹与避障,因为在实现整个系统时,如何确保小车按照所设定的路线行进,是至关重要的。
在进行避障循迹小车研究时,我们首先要确保电路图的设计合理。
这样的话,在后面进行的硬件调试时,才可以避免因为电路原理的错误,而使得设计达不到预定要求。
论文主要由九部分组成,第一部分:
主要介绍选题的目的意义,以及选题目前在国内外的发展现状。
这样我们在进行课题设计的时候,有很大的参考意义;第二部分:
主要是在论证小车设计方案的优劣,并根据实际情况,例如实现难易程度、生产成本以及后续的维护是否方便来进行筛选,得出最后本小车的设计方案;第三部分:
小车的系统硬件电路设计,我们在实现小车功能时,必须通过构建硬件电路;第四部分:
系统软件设计,这是一个很重要的部分,因为只有通过系统软件的控制,小车才可以按照设定功能进行一系列动作,比如循迹以及避障;第五部分:
小车的测试,这是对小车设计完成后,其功能是否达到最初的设计规划,是设计工作是否准确完成的一个很重要的指标;第六部分:
总结,是对整个小车设计过程中所遇到的一些问题,所付出的努力,还有最后的结果进行一个大致总结;第七部分:
致谢,对于这几个月中,老师以及领导在对本次论文设计编写过程中所给予的帮助;第八部分:
参考文献:
在小车设计及论文编写过程中,所参考的一系列的资料,进行一个归纳整理;第九部分:
附录,最要用来展示小车的整体硬件电路情况以及小车的系统程序,这样便于阅读。
第2章方案选型
2.1车体设计
在本次设计中,所采用的是两轮驱动的车体。
顾名思义,指的是用两个电机来驱动小车的两个轮子,能够使得动力分布的更均匀,可以减少车体滑动。
相对于四轮驱动的安全性、灵活性来说,两轮驱动也比较高。
可以按照行驶路面状态的不同而将发动机输出扭矩分别分布在两个轮子上,提高小车的行驶能力。
而且,两轮驱动在车体结构及元器件分布上,也相较于四轮来说更加密集。
两轮驱动在控制上,相对于四轮驱动也比较容易,在设计时更加便于实现。
2.2电机驱动选择
小车要向前行驶,必须要有动力来驱动轮子,因为我们在控制小车的行进时,并不是每个轮子的转向转速都一样。
在转弯的时候,就必须区别每个轮子的转速快慢和转向,所以就必须用到电机驱动模块来对小车进行驱动。
直流电机在驱动时,只需要合适的直流电压就可以进行驱动。
而且,直流电机可以承受反复冲击,对于小车在急速转弯或者反复前后转动时,有很好的容纳性。
在调速特性方面,直流电机可以很方便的进行调速,且调速范围广。
在控制时只要加上合适的电压就会转,我们并不需要精确的计算其所转的圈数。
步进电机则是靠脉冲信号来进行驱动,对于脉冲信号来说,我们不能直接使用直流电压产生,必须借助于单片机的I/O来产生,这样的话在进行设计时,就会增加I/O的使用数量,使得设计难度增加。
我们在电机选择时,可以选用直流电机。
因为通过对两种电机的综合性能比较,直流电机在控制是更加方便,而步进电机在控制时,相较于直流电机来说,比较困难一点,因此我们不采用步进电机,选择更加简单的直流电机。
电机的驱动电路为“H桥式驱动电路”(如图1所示),整个电路是由四个晶体管和一个电机组成。
在电路中,四个晶体管分别表示H的四个角,分别接上“+”、“-”电压,这样通过四个脚的电压输入,就可以驱动电机.而电机在H型电路中,是表示中间的横杠。
在实际使用的时候,如果我们用单独的元器件来实现H桥式电路的话,是比较困难的。
因此,我们可以采用市面上的已有封装的芯片。
这样的话,我们只要在进行电路设计时,考虑芯片的工作电压范围,功率以及所需的控制信号即可,就不用再通过自己来一个一个搭建电路。
驱动模块采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机。
以下为L298N的引脚图和输入输出关系表。
L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可实现两个直流电机的PWM调速控制。
图2L298N电机驱动电路
2.3PWM调速技术
PWM技术的实现主要有两种方法,一种是硬件调制法,另外一种就是软件生成法。
硬件生成法是把所希望得到的波形作为调制信号,我们可以根据需要的波形来进行改变参数选择。
被调制信号作为载波信号,通过对载波信号的幅频、相频等进行调节,可以得到所需要的PWM信号波形。
由于三角在实现时比较容易,而且其各种参数的调制也方便,因此我们一般将其作为载波信号。
由于各种复杂的信号都可以认为是许多不同的正弦信号叠加而成,我们可以把正弦波作为调制信号,这样我们得到的信号波形就是PWM信号。
软件生成方法是利用计算机软件技术来实现产生PWM波的调制,这种技术产生信号更加容易。
而且在进行PWM波形变换时,只要在软件程序里进行简单的修改,即可以进行实现。
由于硬件调制法电路是属于模拟电路,其结构比较复杂,而且在实现电路设计和搭建时,相比较起来不方便,难以实现精确的控制。
而软件生成法就比较简单,只要在控制程序里加上PWM调制就可以。
因此,我采用软件生成法来实现PWM波形。
2.4循迹模块技术
在小车进行循迹时,我们要考虑小车对循迹黑线检测的灵敏性。
有比较好的灵敏性,而且可以进行路径成像。
红外对管则是由于红外线接收二极管在光线下照明,通过调用产生的光电流。
如果连接到外部电路上的负载,所需的电信号通过负载获得,并且这个电信号会随光的改变而发生相应的变化。
这种获得的信号相对比较模糊,而且受光强度影响较大。
在本次设计中,我们考虑小车对黑线的检测,并在实用、成本等综合因素,我考虑使用红外对管进行循迹。
红外对管是将光信号转换为电信号(如图2所示)的光敏器件或者光电变换装置。
可见光信息源、红外光信息源、紫外光信息源等都直接或者间接地辐射出一定功率的光能,包括含有一定信息量的光能量由红外对管接收后,红外对管能够按一定的规律将光能中所包括的模拟或者数字信息转化成相应的电信号,从而可以以电信号的形式还原出光能中所携带的信息。
图3红外光电传感器工作原理
2.5避障模块技术
小车进行避障时,我们需要提前探知其前方是否存在障碍物,这样就可以在行进过程中,自动选择远离障碍物的路线。
在避障模块的选择时,有两种选择,一种是使用红外避障,还有一种是超声波避障。
采用红外线光电开关。
由于红外线指定性强,在介质传播远,因而红外线经常应用于距离的测量、障碍物的探测等。
红外线探测障碍物并绕过障碍物模块是利用红外线发射器向某一方向红外线,红外线在空气中传播,途中碰到障碍物就立即返回来,红外线接收器收到反射光经相应的电路进行处理,以测定障碍物的方位及距离,并向下车发送控制信号以使小车绕过障碍物。
而采用超声波传感器是利用超声波发送模块向某一方向发射超声波,超声波在空气中传播,在一定距离内遇到测定的障碍物就会立即返回超声波接收模块接受,再有相应电路处理,以测定障碍物的相关方位、距离。
超声波传感器成本相对较高。
以上两种传感器都是可行的,尤其是红外线光电开关,应用相当广泛,但是为了本论文更加的使用和有效,超声波传感器成本相对较高,电路较为复杂,采用红外线光电开关,更加合适与有效,更加有利于发现前方障碍物。
2.6控制系统模块
在本小车设计的控制系统中,我们采用STC公司生产的一款单片机STC89C51。
由于在小车的整个运行过程中,其需要处理的数据比较多,在驱动电机时,就需要通过单片机的I/O口来输出控制信号,使得小车实现前进、后退以及转弯等功能。
在小车运动过程中,还需要接收很多的控制信号,像循迹信号、超声波信号等。
这样就可以实现小车的速度控制、循迹行驶以及躲避障碍物等功能。
图451单片机引脚图
2.7电源选择
在小车电源选择时,我们需要特别注意,因为系统单片机的额定工作电压为5V。
对于电机来说,用5V驱动又不能让小车行驶,而过高的电压可能会使系统芯片烧坏。
因此,我们需要通过计算得到小车的可允许电压电流范围,一般采用9V~12V为好,本小车采用9V供电。
这样既可以保证电机驱动所需电压,又不会因为电压过大而造成元器件的烧坏。
三、硬件电路设计
3.1总体设计
小车的整体系统是以51单片机为CPU,通过红外对管来进行黑线检测循迹行走,通过超声波探测器进行障碍物感知,进行避障功能实现,通过驱动模块来实现电机的驱动,从而达到小车的运动。
系统电路图见附录1:
3.2电源电路设计
在小车的电源系统,采用9V直流供电,为了防止在误操作时接入过高的电流使整个电路烧毁,一般会在电路中接入防击穿电容。
3.3驱动电路设计
图5驱动电路框架图
在驱动电路部分设计时,我们要考虑的是驱动芯片的选择,一般是在L298N和L293D这两款芯片中选择。
对于L298N芯片,是使用的15脚直插式封装模式,具有四通道驱动逻辑电路,可以很方便的驱动两个电机。
而且它的工作电压以及单通道输出电流都比较高,一般可达到46V和2AL293D在功能上和L298N基本一样,但是它的工作电压和通道电流都相比于L298N要小,其采用的是直插式16脚SOIC-20封装模式。
所以,在应用时,一般使用L298N而不采用L293D,从经济方面来考虑,L298N也更具有优势。
L298N输出电压的方式有两种,一种是直接通过电源的调节来进行电压输出;另一种就是直接使用单片机上的输入输出口提供电压信号。
该驱动芯片可驱动2路直流电机,使能端ENA、ENB为高电平时有效,控制方式及直流电机状态表如下所示。
如果PWM直流电机的速度控制,需要设置IN1和IN2,确定电机的旋转方向,并使输出PWM脉冲,可以实现转速控制。
请注意,当使能信号是0,电动机自由停止状态;若使能ENA信号为1,并且IN1和IN2都为00或11时,电机处于制动状态。
3.4循迹避障部分电路
图5循迹模块框架
在进行小车循迹电路设计时,我们要考虑到当红外对管检测到黑线以后,如何进行下一步操作。
首先将红外对管接收的光信号转化为电流信号,再将模拟电流信号转化为数字信号。
红外线探测障碍物并绕过障碍物模块是利用红外线发射器向某一方向红外线,红外线在空气中传播,途中碰到障碍物就立即返回来,红外线接收器收到反射光经相应的电路进行处理,以测定障碍物的方位及距离,并向下车发送控制信号以使小车绕过障碍物。
3.4主控电路设计
小车的主控电路是以51单片机作为控制芯片,结合复位电路、晶振电路来控制整个系统的运行。
在电路中,我们一般使用的晶振位12MHz,这样的话,单片机的每一个机器周期为1uS,这样在利用单片机时钟进行计时时,比较方便。
图6最小单片机系统
四、程序设计
4.1主程序设计概述
在小车整体设计过程中,不仅有着大量的硬件电路设计,更多的是对于系统软件的分析设计。
因为在硬件电路搭建完以后,只有通过软件程序的控制,才可以让小车按照设想的运行路径进行行驶,达到所需要的功能。
由于小车整体功能比较多,如果在最开始程序设计时就进行整体设计的话,无疑会对整个设计工作带来困难,而且在设计完成后进行运行调试时,也会造成困难。
因此,我在设计程序时,采用了模块化设计,即先对每一个部分子功能模块进行设计,在验证各个功能程序的完整性以及正确性以后,再把各个子程序组合成一个完整的程序。
4.2主程序流程图
图7系统程序流程图
4.3驱动程序流程图
图8驱动程序流程图
4.4循迹程序流程图
图9循迹程序流程图
4.5避障程序流程图
图10避障程序流程图
五、制作安装与调试
5.1小车的安装
在小车各个部分的电路焊接完成后,我们就开始对小车进行整体组装。
利用购买的高强度塑料制成的模型作为小车的车体,然后分别将各模块按照功能安装固定好。
红外循迹模块固定在车体底部,因为其作用是来检测地面黑线存在,而且其工作距离也有一定限制,所以不能放在离地面太高的地方。
超声波探测模块则应该置于小车正前方,其目的主要是用来发现前方障碍物,其安装高度要合适。
对于驱动模块和最小单片机系统,安装在小车正中间,因为其要与各模块之间进行连接。
供电电源则放在小车车尾,这样有利于小车整体重量的均匀分布,也可以在进行充电时,更加方便拆装。
5.2小车运动模式调试
对小车的左右转弯进行调试时,可以在程序里给定每个电机引脚信号,看小车的转动是否满足所设定的方向。
通过调试可知,小车的运动方向与初始设置相同,能够实现。
图11小车驱动调试图。
为了便于明确知道小车电机转向的控制信号,表3给出了每个I/O的控制信号,通过对其进行不同的改变,可以选择在不同情况下电机的各种运动状态,从而得到小车行驶的数据。
5.3小车循迹调试
小车的循迹是通过五路红外对管实现,当左侧检测到有黑线时,左侧LED指示灯会亮(图24),当右侧指示灯亮时,那么小车检测到的黑线在右侧(图25),如果当小车在黑线中间是中间指示灯会亮(图26),这时候,小车就会循着黑线一直行进。
1
2
3
在进行循迹测试时,黑线的宽度对我们循迹成功也有一定的影响,因此,我还进行了黑线宽度的测试,其结果如表4:
5.4小车避障调试
在进行小车避障调试时,当把障碍物放置在小车的行驶路线上时,如果被检测到,那么小车会在安全距离内旋转180度进行避障处理。
1
5.3小车的功能
通过对小车的各项功能进行测试,可以发现,在合适的工作条件下,小车基本可以达到设计要求。
因此,本设计完成了预先的设计任务,实现了所有功能。
小车可以进行循迹功能,检测到黑线以后,会沿着黑线进行行进。
可以进行避障功能,在检测到障碍物以后,小车会原地旋转180度进行避障处理,然后继续行驶。
结论
经过几个月的辛苦努力,本设计循迹避障小车通过验证,基本实现了最初的设计目标。
在最开始进行选题时,觉得这个课题比较简单,可是在课题设计过程中,我发现其实并没有想的那么简单。
首先是在硬件电路方面的设计,对于硬件电路设计,并不是说