《基于单片机的智能小车设计过关论文》由会员分享,可在线阅读,更多相关《基于单片机的智能小车设计过关论文(17页珍藏版)》请在金锄头文库上搜索。
1、1 绪论1.1 课题背景级意义当今社会越来越趋向智能化的方向发展,车辆的智能化也是如此。他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。目前,国内许多的大学及研究机构都在投入大量的人力财力研究和开发针对特殊条件下的安全检测系统。其中包括研究使用远程、无人的方法来实现,如机器人远程监控等。而智能小车就是机器人中间的典范。一般的智能小车可以分为三大部分组成:控制核心部分,传感器检测部分,驱动部分。这种小车主要实现的是自动避障效用,同时还可以扩展出循迹等效用,感知引导线和障碍物。可以实现小车自动识别线路,选择正确的行进路线,当检测到障碍物的
2、时候能自动进行躲避。单片机的应用领域越来越广泛,无论是在生活上还是在生产上,都可以见到单片机的身影。ATMELA公司的STC86C52可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。STC89C52可以说是单片机领域的主流产品,更是受广大生厂商的亲睐,所以有必要去学习和应用该单片机,以满足实际开发和生产的需要,也是我们适应社会自动化和智能化的趋势。本次小车的用的CPU就是该型号的单片机。通过设计和构建智能小车系统,能够有效地培养设计并实现自动控制的能力。在时间过程中,熟悉以单片机为核心的控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法来实现小
3、车的自动循迹效用。灵活运用电机学,自动控制原理等相关学科的理论知识,联系实际电路设计的具体实现方法,打到理论与实践的统一。并且在制作过程中加深对控制理论的理解和认识。1.2 本课题的章节安排本文一共分为六个章节,分别是绪论、总体方案论证、硬件电路设计、软件设计、调试分析还有结束语。总体方案论证主要包括对小车主控系统、电机的驱动模块、调速模块、循迹模块还有机械模块做出介绍并论证。硬件电路设计主要是对单片机各个引脚的效用以及它的内部效用做一个详细的介绍,并且详细介绍了驱动模块的L298N的用法、效用以及其工作的原理。还有循迹模块模块的组成,工作原理,如何实现对路面的检测从而让小车正确的找到路线行驶
4、下去。软件设计介绍小车的软件程序,软件执行的流程。驱动电机的程序,还有小车正确循迹所依仗的程序。 1.3 本课题的任务内容本课题将要完成以下几个要求的工作:(1) 设计循迹模块电路、单片机控制电路及电机驱动电路。(2) 小车偏离轨道后能及时调整方向,小车具有启动停止效用。(3) 小车具有左转、右转、前进及后退效用。(4) 设计C51程序,画出程序流程图。(5) 设计电路图并制作实物。2 总体方案论证根据设计要求,确定如下方案:自己制作一个小车的模型,并在其上面安装传感检测部分,使其能对小车的速度,运行情况以及位置进行检测,并且将检测到的数据传输给单片机处理,单片机会根据内在的程序还有所测得的数
5、据进行处理,然后控制小车的动作。这种方案能可以灵活地实现对小车的实时控制,而且精度高,能很好的满足该系统的各个要求。2.1 主控系统现在市面上的控制模块有很多,不同的控制模块其编程的难易度,处理速度的快慢以及价格上都有着很多差异,这里我列出两种市面上的主流单片机来进行比较。方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的效用。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高
6、,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就 显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资 源丰富、有较为强大的控制效用及可位寻址操作效用、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机
7、,D/A、A/D效用也不必选用。根据这些分析,我选定了STC89C52单片机作为本设计的主控装置,51单片机具有效用强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机, 充分利用STC89C52单片机的资源。2.2 电机模块电机是小车动作的关键部位,选择适当的电机能很好的控制小车的运行,这次小车的电机我准备在直流电机和步进电机中间选择,下面是对它们做的比较。方案一:采用步进电机作为小车的驱动电机。步进电机具有很多的优点,比如它能很精确的定位转过的角度,这样可以实
8、现对小车在前进路程和位置的精确定位。但是步进电机还是有很多的缺点的,比如它的输出力矩较低,会随着转速的升高而下降,并且在较高转速的情况下会极具下降,其转速较低,不合适这次的设计要求,本次的设计是对小车的速度有一定的要求的。经综合比较考虑,我放弃了此方案。方案二:采用直流电机作为小车的驱动电机。直流电机的控制方法相对于异步电机来说比较简单,只需要给电机的两跟控制线加上适当的电压就可以使电机转动起来,所加的电压越高,电机的转速也会越高。对于直流电机的调速方案,可以采用串电阻调节电压的方案也可采用PWM调速方案。PWM调速方案就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比实现对电机转速
9、的调节。基于以上分析,我选择了方案二,采用直流电机作为小车的驱动电机2.3 电机驱动模块电机驱动模块也是决定小车运行好坏的关键所在,有效可靠的电机驱动模块能是小车运行起来更加流畅,更加容易达到预期的效果。而且能很容易实现小车的转向,前进。这里我列出了两种驱动方案:方案一:采用继电器对电动的开关进行控制,接通不同的开关的时候通过改变接到电机的中间电阻来改变电机的旋转速度来达到调速的目的。此方案的优点是电路较为简单,但是缺点也是很明显的。继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案二:采用电机驱动芯片L298N(如图2.1所示)。L298N为单块集成电路,高电压、高电流、第通道驱动。可直
10、接对电机进行控制,无需隔离电路。该芯片的工作流程是通过改变单片机I/O口对芯片控制端的电平,就可以相应的控制电机的正转,反转以及停止。这种控制即方便,又能满足直流电机对大电流的需求。此外,L298N还搭载了由达林顿管组成的H型桥式电路。单片机通过控制控制达林顿管使之工作在占空比可调的开关条件下,就能够调节电机转速的快慢。由于电子管开关速度很快,同时稳定性也很强,是市面上运用非常普及的PWM调速技术。这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。图2.
11、1 L298N实物图基于以上分析,我选择了方案二,使用L298N来作为电机的驱动芯片。2.4 循迹模块随着科学技术的发展,机器人的视觉传感器也是越来越多,其中有好也有坏,有的能够提供很高质量的图像信息,有的只能采集到很基本的信息,在这里我列出来两种典型的传感器来做比较。方案一:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳 定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现 问题,而且容易因为 该部件造成整个系统的不稳定。故最终未采用该方案。方案二:采用CCD传感器来采集路面信息。CCD传感器能做到自动聚焦,可以全面完整的掌握路径信息,可以进
12、行较远距离的预测和识别图像复杂的路面,而且抗干扰能力强。但是对于本系统来说,CCD传感器的缺点也显而易见,它存在信息处理满,实时性差等缺点。如果采用CCD传感器,无疑会加重单片机的处理负担,不利于实现更好的控制策略,因为是以实现小车视觉为目的,实现起来工作量较大,相当繁琐。再加上CCD传感器的价格、体积个使用方式上并不占优势,因此我舍弃了这种方案。方案三 :采用四路红外线发射和接收管置于车头,其中两只探头置于轨道中间,两只置于轨道之外,当小车左偏或者右偏的时候,其中的一个探头就会出线。探测器就会发出信号,单片机会很快相应。这个方案精度高,能很好的实现循迹效用。考虑到本次设计的要求和可行性,方案
13、一误差太大,顾舍弃。方案二由于CCD传感器费用昂贵,且操作繁琐。反观方案三更加利于实现,已然能实现本次设计的要求和设计理念。所以我采用方案三中的四路传感器来检测路面信息。2.5 机械系统本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴 之间加装了三级减速齿轮。3 硬件设计3.1 总体设计智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,通过控制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。将循迹红
14、外对管分别安装在车头的左右两边。当车体下左侧的传感器检测到黑线的时候,主控芯片控制左轮电机停止,车子向右修正。当车体下右侧的传感器检测到黑线的时候,主控芯片控制右轮电机停止,车子向左修正。主板设计框图如图3.1所示。图3.1 主板设计框图3.2 电机驱动电路从单片机输出的信号功率很弱,即使在没有其他外在负载的情况下依旧无法带动电机,所以在实际电路中我们就要加入一块电机驱动芯片来提高输入电机信号的功率,这样也能根据实际的需要来控制电机的转动。电机驱动一般采用H桥式驱动电路,L298N内部集成了H桥式驱动电路,从而可以采用L298N电路来驱动电机。通过单片机给予L298N电路PWM信号来控制小车的
15、运行速度,同时也能控制小车的启动与停止。L298N芯片输出电压最高可达50V。该芯片是专门的双全桥步进电机驱动芯片,也可以同时驱动两个直流电机。它最高能驱动2A的步进电机或两个1A的直流电机。L298N驱动原理图如图3.2所示。图3.2 电机驱动电路芯片上的ENA与ENB是高电平有效,只有当他们是高电平的时候,电机才会旋转,否则电机是不会转动的,L298N可接受标准的TTL逻辑电平信号。其中ENA是IN1和IN2的使能端,ENB是IN3和IN4的使能端。由于L298N能驱动两个直流电机,所以OUT1,OUT2是接第一个电机,OUT3和OUT4是接第二个电机。表3.1是L298N效用逻辑图。表3.1 L298N效用模块EN AIn 1In 2运转状态0XX停止110正转101反转111刹停100停止IN3,IN4的逻辑图与表3.1相同。由表3.1可知ENA为低电平时,输入电平对电机控制不起作用,当ENA为高电平,输入电平为一高一低,电机正或反转。同为低电平电机停止,同为高电平电机刹停。3.3 信号检测模块循迹电路采用的红外对管,在小车的前端安装了4个红外对管,红外对管检测电路如图3.3所示。由于黑色物体和白色物体的反射系数不用,调节红外对管和被测物体之间的距离,是光敏三极管智能化接受到白色物体反射回来的光束。而对于黑色物体,由于起反射的系数小,几乎所有的光纤都会被黑色的物体所吸收