《计算机科学与技术毕业论文智能小车运动控制技术研究.doc》由会员分享,可在线阅读,更多相关《计算机科学与技术毕业论文智能小车运动控制技术研究.doc(27页珍藏版)》请在三一文库上搜索。
1、河南科技学院新科学院2012届本科毕业论文智能小车运动控制技术研究学生姓名: xxx 所在院系: 新科学院信工系 所学专业:计算机科学与技术导师姓名: xxx 完成时间:2012年 5 月5日智能小车运动控制技术研究摘 要本系统采用STC89C52单片机为控制核心,利用超声波传感器检测道路上的障碍,然后把数据传送给单片机,当超声波检测到距离小车前方20CM有障碍物时单片机就发出指令让小车左转一定角度,然后停止运行继续探测.如果前方20CM没有障碍物就直走,否则继续左转一定角度。如此通过超声波不断的循环检测周边环境的情况进行自动避障。该系统在驱动方面采用L298驱动4个直流电机带动小车运行。并且
2、,用PWM系统调速,控制小车前进的速度。关键词: STC89C52,PWM调速,电动小车,超声波SMART CAR MOTION CONTROL TECHNOLOGYAbstractThe system uses STC89C52 single chip to control the core,The use of ultrasonic sensors to detect road obstacles,Then send data to the microcontroller,When ultrasonic testing to distance the car in front of 20C
3、M there is an obstacle, the microcontroller issued a directive to allow the car to turn left at an angle,Then stop the run to continue detection,If the front 20CM there are no obstructions on the straight,Otherwise, continue to turn left at an angle,So by the ultrasonic continuous loop to detect the
4、 surrounding environment, the automatic obstacle avoidance,This system L298 drive 4 DC motors to drive the car running in the drive,And speed control of the PWM system to control the forward speed of the car.Keywords:STC89C52;PWM control;electric car; ultrasonic目 录1绪论11.1项目研究背景及意义11.2项目主要研究内容12总体设计方
5、案及论证22.1 系统组成原理22.2功能需求43硬件设计53.1系统设计框图53.2电源设计63.3电机驱动设计63.4超声波测距设计63.5数码管显示设计73.6主控系统设计74软件设计84.1软件设计流程84.2超声波探测模块94.3数码管显示程序114.4直流电机驱动部分软件设计124.5 pwm脉宽调速设计135软件与硬件的整合145.1调试超声波模块145.2电机调试145.3系统调试146总结14参考文献16致谢17附 录18III1绪论1.1项目研究背景及意义智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完
6、成预期所要达到的或是更高的目标。本设计主要体现多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。超声波作为智能车避障的一种重要手段,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应
7、用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。本智能小车系统最诱人的前景就是可用于未来的智能汽车上了,当驾驶员因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离车道或距障碍物小于安全距离时,汽车就会发出警报,提醒驾驶员注意,如果驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边。这样的小车还可以用于月球探测等的无人探月车,帮助我们传达月球上更多的信息,让我们更加的了解月球,为将来登月做好充分准备。这样的小车在科学考察探测车上也有广阔的应用前景,在科学考察中,有很多危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在它上面装
8、上摄像机,代替人们进行许多无法进行的工作。1.2项目主要研究内容本设计题目为智能避障小车设计,主要研究小车的避障功能,小车遇到障碍物时,当距离障碍物大于50CM以较快速度前进,当小于50CM时慢速前进,当小于20CM时小车应采取避障共能。这里探测装置必不可少,因为超声波在距离检测方面的较准确定位。所以采用超声波传感器作为探测装置,由于超声波遇到障碍物时发生像光一样的反射和散射,在经过多次发射之后再回到超声波检测端口会产生较严重的路程差,从而影响对距离的检测进而影响对障碍物的较准确定位。通过软件内部校准优化消除外部物理条件造成的误差从而达到对障碍物的较准确定位。2总体设计方案及论证2.1 系统组
9、成原理根据题目的要求,确定如下方案:在现有玩具车底盘的基础上,加装超声波模块检测小车周边障碍物的实时情况。然后,超声波把数据返回给单片机,单片机发送相应的指令实现对电动小车的自动避障、运行状况的实时测量,从而达到利用单片机对小车智能控制,自动避障的目的。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。(1)STC89C52作为主控芯片常用的AT89C51/52、STC89C51单片机都采用DIP40封装。图2-1为DIP40单片机封装外形引脚的分布。40个引脚按功能分为4个部分,即电源引脚(Vcc和Vss)、时钟引脚(XTAL1和XTAL2)、控制
10、信号引脚(RST、和ALE)以及I/O口引脚(P0P3)。 图2-1单片机原理图(2)直流电机驱动芯片对于直流电机驱动芯片的选择首先我要考虑它的输出功率能不能很好的驱动小车的四个直流电机。然后,考虑它的外围电路是否简单。还有就是考虑它的价格是否相对比较便宜。综合这些我最终选择以前用过的大家都比较熟悉的电机驱动芯片L298。电机驱动部分主要采用一片L298N和主控芯片AT89C52直接相连够成驱动电路。L298N芯片直插式的15个引脚,其中有两个使能端ENA和ENB,两个反馈端SA和SB,四个输入端IN1、IN2、IN3和IN4,四个输出端OUT1、OUT2、OUT3和OUT4,一个接地端GND
11、,一个VSS(5V时性能最好)逻辑电源电压输入端和一个VS(最大承载电压46V,鉴于7805和电机电压,选取12电源供电)功率电源电压输入端。L298N可同时驱动两个电机,最大输出电流为2A,鉴于它的良好性能和价格,选取L298N作为电机驱动芯片,L298N芯片如图2-2。AT89C52的P1.6端口作为pwm脉冲输出,同时与L298N的两个使能端ENA、ENB相连,达到控制小车速度目的。P12P15端口分别与L298N的引脚IN1、IN2、IN3、IN4相连通过电平变化控制电机在持续高速状态下的转向。L298N的四个输出端直接与两个电机相连驱动电机。 图2-2 L298N芯片实物图和引脚图(
12、3)超声波传感器超声波测距原理:超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2这就是所谓的时间差测距法。超声波传感器结构如图2-3所示。 图2-3超声波传感器结构超声波在本设计中的原理分析:由于自己用分立元器件焊接比较麻烦,所以本设计采用现成的US100超声波模块,US-100 超声波测距模块可实现 04.5m 的非接触测距功能, 拥有 2.45.5V 的宽电压输入范围,静态功耗低
13、于 2mA,自带温度传感器对测距结果进行校正,同时具有 GPIO,串口等多种通 信方式,内带看门狗,工作稳定可靠。US-100模块如图2-4所示。 US-100正面图 US-100背面图图2-4超声波实物图超声波探测模块US-100的使用方法为:IO口触发,给Trig口至少10us的高电平,启动测量;模块自动发送8个40Khz的方波,自动检测是否有信号返回;有信号返回,通过IO口Echo输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*340)/ 2,单位为m。程序中测试功能主要由两个函数完成,即measure()负责计算一次测量小车障碍物的距离,然后sho
14、uldTurn()确定前方有障碍物采取避障措施,根据车体大小及系统的反应,经过测试,取20cm的反应距离效果较为明显。另外,US-100超声波探测模块探测的间隔周期推荐值是64ms(图2-5),但经过试验,我们发现在我们的小系统中取800ms较为适宜,使主程序有足够的时间来驱动小车前进,而不至于出现前进不流畅的现象。 图2-5 超声波检测原理2.2功能需求在做本设计前首先要做好功能需求分析,即该小车要实现什么功能,需要什么材料,如何去实现,只有做到胸有成竹才能达到自己的目标,少走弯路。本设计为智能避障小车,这里重点就是小车的避障功能,首先要选择一个适合的探测障碍物模块,目前常用的测距方式主要有
15、雷达测距、红外测距,激光测距和超声波测距4种:1.雷达测距受恶劣天气的影响比较大,且成本比较高,雷达还必须满足电磁兼容要求;2.红外测距安全,但测量范围比较窄,若精度要求高的话成本也会更高;3.激光测距速度快,精度高,量程大,抗光、电干扰能力强,但制作难度大,成本较高,而且光学系统需要保持干净,否则将影响测量;4.与上述测距方式比较,超声波测距有几大优点:超声波测距对色彩和光照不敏感,可用于识别透明及漫反射性的物体,可在黑暗、有灰尘或烟雾的环境当中使用;超声波测距对电磁场及其他电磁干扰不敏感,可用于电磁干扰强、有毒、有害等恶劣环境中;超声波传感器结构简单、体积小、成本低、技术难度小、信息处理简
16、单可靠、易于小型化和集成化。当然超声波测距也有一定的缺点,比如受温度、气流、材质的影响,综上所述,再结合我们的设计目标,采用超声波测距最符合设计要求。其次要选择一款适合的主控芯片,考虑到适用性、经济性,本设计采用STC89C52作为主控芯片,并且我手中就有现成的芯片,取材容易。再次就要考虑驱动4个直流电机了,考虑到输出功率要驱动4个电机,我选择电路简单、能够满足需要、价格便宜的L298为驱动芯片。3硬件设计3.1系统设计框图本系统采用89C52单片机进行智能控制。按下开始键启动小车,当小车上的超声波检测到前方20CM处有障碍物的时候就开始左转一定度角。然后停止,800MS后超声波传感器再次进行
17、探测,如果20CM内仍有障碍物,继续左转一定角度,直到20CM内无障碍物,小车开始前进。通过单片机控制小车避障、转弯、调速等一系列动作;系统的自动避障功能通过超声波传感器正前方检测,由单片机控制实现;在小车行进过程中,采用单片机驱动L298实施PWM脉宽调制技术,以提高系统的静动态性能。系统原理图如图3-1所示。 图3-1系统总体方框图3.2电源设计电源部分的设计主要采用7805芯片,使用7805芯片搭建的电路的优点是简单、实用,并且完全能够满足壁障小车单片机控制系统和L298N芯片的逻辑供电的供电需要。7805芯片有3个引脚,分别为输入IN端、输出OUT端和接地GND端,通常情况下可以提供1
18、.5A的电流,在散热足够的情况下可以提供大于1.5A的电流。7805芯片的输入电压可以为9V、12V、15V不等,输出电压稳定在5V,正负误差不超过0.2V。7805芯片如图3-2。基于这样的情况再结合电机的工作电压,选取了12电源作为7805的输入电源。 图3-2 7805芯片3.3电机驱动设计由于一个L298只有2路输出,可以带2个直流电机,因为本设计所用小车为4轮驱动,为简化设计,一个L298输出带动2个直流电机,原理图如图3-3所示。3.4超声波测距设计本设计采用市场上热卖的US100超声波模块,该模块有5个引脚,从左到右依次编号 1,2,3,4,5。它们的定义如下:1 号 Pin:接
19、 VCC 电源(供电范围 2.4V5.5V); 2 号 Pin:当为 UART 模式时,接外部电路 UART 的 TX 端; 当为电平触发模式时,接外部电路的 Trig 端; 3 号 Pin:当为 UART 模式时,接外部电路 UART 的 RX 端; 当为电平触发模式时,接外部电路的 Echo 端;4 号 Pin:接外部电路的地;5 号 Pin:接外部电路的地。根据引脚定义,本设计2、3号引脚分别接单片机的P10和P11; 图3-3 电机驱动电路3.5数码管显示设计数码管有一位、双位、四位等几种,而不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光的,数码
20、管的内部结构如图3-4所示,从图3-4(a)可看出,一位数码管的引脚是10个,显示一个8字要7个小段,另外还有一个小数点,所以内部共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚,而他们的公共端分为共阳极和共阴极,如图3-4(b)所示。 图3-4 数码管显示原理图本小车用的开发板是6位共阳极数码管,所谓“共阳”就是指其内部的8个发光二极管的阳极全部连在一起,而他们的阴极是独立的,通常在设计电路时一般把阳极接VCC,当我们给数码管的任一个阴极加低电平时,对应的那个发光二极管就点亮了。当使用多位一体数码管时,它内部的公共端是独立的,而负责显示什么数字的段线
21、全部都是连在一起的,独立的公共端可以控制多位数码管中哪一位点亮,通常我们把公共端叫做“位选线”,连在一起的段线叫做“段选线”。本设计所用开发板的数码管共阴端与P0口连接,共阳端经过一个反相器与P2口相连,其硬件连接图如图3-5所示。3.6主控系统设计 AT89C52片内有ROM/EPROM的单片机,其硬件结构具有功能部件种类全,功能强等特点。特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;而8位机在数据采集,运算处理方面有明显的长处。MCS-51单片机
22、中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也 图3-5 数码管连接图是MCS-51单片机在设计的精美之处。因此,这种芯片构成的最小系统简单、可靠。用89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,89C52单片机最小系统如图3-6所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:(1) 有可供用户使用的大量I/O口线。(2) 内部存储器容量有限。(3) 应用系统开发具有特殊性。图3-6 89C52单片机最小系统4软件设计4.1软件设计流程本设计系统软件采用模块化结构,由主程序、定时子程序、电机驱动子程
23、序、中断子程序、显示子程序、算法子程序构成。定时器完成对超声波探测器发出的超声波在小车和障碍物之间往返运行的时间,然后在算法子程序中计算出小车距障碍物的距离,小车根据距障碍物的距离决定是继续前进还是转弯,主程序流程图如图4-1所示4.2超声波探测模块实现中采用定时器1进行定时测量,计算公式为(单位:ms):T = TH0*256 + TL0,超声波探测程序流程图如图4-2所示。超声波测距部分程序分析:在while循环中不断的对前方数据扫描检测周边障碍物。其中给TRIG脚先置高电平,这样超声波发出8个40HZ的方波信号,稍作延时,再把TRIG脚置低电平。当检测有信号返回时IO口就输出高电平。这样
24、就可以通过公式计算出障碍物距小车的距离。部分程序如下: 图4-1 主程序流程图void zd3() interrupt 3 /T1中断用来扫描数码管和计800MS启 动超声波探测模块 TH1=0xf8; TL1=0x30; pwmFlag +;if(pwmFlag pwm) pwmFlag = 0; 图4-2 超声波探测流程图if(pwmFlag = pwm) & (pwm != 0) /脉宽控制pwmOut = pwmOut;pwmFlag = 0; display(); timer+; if(timer = 400) timer=0; TX=1; /800MS 启动一次模块 for(i =
25、 0;i 50) /pwm控制车速,大于50CM全速前进 pwm = 0; else /小于50CM慢速前进 pwm = 10; if(S = 20)|(flag = 1) flag = 0; startRun(); else shouldTurn(); if(S 700) /超出测量范围显示“-” a = 0xbf; b = 0xbf; c = 0xbf; else a = S % 1000 / 100; b = S % 1000 % 100 / 10; c = S % 1000 % 100 % 10; 4.3数码管显示程序本小车所用开发板采用6位共阳极数码管,段选线接在P0口,位选线经过一
26、个反相器接P2口,根据电路连接图写出数字09的16进制数的编码,通过选中某一个数码管动态的实现数字,动态显示子程序如下void display()switch(i)case 0:P2 = bit_ser0;P0 = seven_segc;break;case 1:P2 = bit_ser1;P0 =seven_segb;break;case 2:P2 = bit_ser2;P0 =seven_sega;break;default:break; i+;if(i = 3) i = 0;4.4直流电机驱动部分软件设计直流电机控制部分程序分析将直流电机的端口定义如下sbit moA_1 = P12;s
27、bit moA_2 = P13;sbit moB_1 = P14;sbit moB_2 = P15;unsigned int pwm;/控制车速脉宽,只要在程序中根据距离设置pwm值 即可控制车速控制小车前进的程序如下所示,moA_1 = 1;moA_2 = 0;moB_1 = 1;moB_2 = 0;小车转弯程序如下:void shouldTurn()moA_1 = 0;moA_2 = 0;moB_1 = 1;moB_2 = 0;delay(600); /延时转过一定角度后,小车停止,根据下次超声波探测 结果决定下次动作moA_1 = 0;moA_2 = 0;moB_1 = 0;moB_2
28、= 0;4.5 pwm脉宽调速设计为了很好的控制直流电机的速度,本系统采用脉冲宽度调制信号(PWM信号)实现对直流电机的精确控制。其实,PWM脉宽调制,是靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。而输出频率的变化可通过改变此脉冲的调制周期来实现。这样,使调压和调频两个作用配合一致,且于中间直流环节无关,因而加快了调节速度,改善了动态性能。而PWM信号可以用单片机模拟,可以通过单片机精确的控制脉宽的变化。在本实验中用pwm信号控制L298的EN引脚即可控制小车车速,以下程序片段摘自measure()函数。if(S 50) /pwm控制车速,大于50CM全速前进pwm = 0;
29、else /小于50CM慢速前进 pwm = 10; 5软件与硬件的整合在本次设计过程中,考虑到各个模块之间的控制复杂性,我们将电机控制,超声波测距分开调试,当两个模块都可以正常工作之后,再将它们结合起来调试,采取了“分而治之”的思想。5.1调试超声波模块在调试超声波的时候,主要思想是用定时器检测超声波回送信号维持高电平的时间,在超声波探测器前放一障碍物,将计算得到的距离显示在数码管上,根据显示的结果和实际测量结果对比,确定超声波模块的准确性。5.2电机调试在电机调试的过程中,我们首先将STC89C52的PWM输出在示波器上反映出来,确保PWM波的输出正常,并且能够根据用户设定的比较值产生不同
30、形式的输出,在比较匹配发生之后,调节其占空比,实现电机的速度控制,在控制电机转动的时候,采用直接控制LM298芯片的方式,实现左转,右转,后退等功能。5.3系统调试由于US-100对于障碍物的反射面有一定要求,即不能凹凸不平,应尽量平滑,否则测量不会很准确。针对障碍物表面的平整与不平整,我们分别测试了小车的运行情况。当障碍物表面较平整时,除非是极端的拐角处小车无法退出外(考虑到编程的复杂度以及仅仅是示意模型小车,程序中未记录小车转弯路径),小车能很好的避障;当障碍物表面不是很平整时,结果不能预测,有时小车能较好的转弯,而有时不能,这主要取决于探测模块的探测灵敏度,因为超声波和普通声波一样,有可
31、能经过多次反射后回来的信号已出现偏差,而这程序很难实现辨别。总的说来,小车的运行结果基本达到了预期的效果,实现了演示性的避障功能。6总结小车经过测试,运行结果良好。硬件上没有错误,主要瓶颈在于探测模块的灵敏度,因为软件完全靠探测模块返回的信号作为依据进行下一步控制的操作,无法确认该信号是否准确。为使小车转弯更加准确与智能,可以有以下改进:(1)增加对小车转弯次数和每次转弯时前面所经过的时间的记录,这样可以进行回退,使小车显得更智能一些,不过这会增加开发难度,也会要求更多的存储空间及数据处理时间,如果处理器速度不是很快,效果不会太明显;(2)增加探测模块的个数,如左右各增加一个探测器,这样同时检
32、测多个方向,明显改进避障的效果,特别是针对墙角、三面均有障碍物的情况。该超声波避障小车还存在着许多的不足,比如说只能对正前方一定角度内进行探测,使用的是一路超声波而不是多路超声波探测,并且为了简化,默认的只是向同一个方向转弯等,这些都是有待进一步发展和提高的。参考文献1 邵贝贝. 单片机嵌入式应用的在线开发方法M北京清华大学出社20042 王晓明. 电动机的单片机控制M北京. 北京航空航天大学出版社2002 3 臧杰,阎岩. 汽车构造M. 北京. 机械工业出版社2005 4 安鹏,马伟S12单片机模块应用及程序调试J. 电子产品世界. 2006第211期 162-1635 童诗白,华成英模拟电
33、子技术基础M北京. 高等教育出版社2000 6 沈长生常用电子元器件使用一读通M北京. 人民邮电出版社2004 7 宗光华机器人的创意设计与实践M北京. 北京航空航天大学出社2004 8 张伟等Protel DXP高级应用M北京. 人民邮电出版社2002 9 张文春. 汽车理论M北京机械工业出版社2005 10 袁新娜,与红英编著.超声波传感器在智能小车避障系统中的应用.A中北大学 (2009)08-0085-0411 刘同法.单片机外围接口电路 与工程实践.北京:航空航天大学出版社,200912 朱清民.传感器与单片机接口及实例.北京:航空航天大学出版社.2008致谢本毕业设计的完成,首先得感谢我的指导教师的悉心指导,在做毕业设计这段时间,为我创造了良好的工作和学习环境,提供了很多发展机会,教会我很多的专业技能。尤其是在多次修改论文的过程中他以极大的耐心帮助进行修改我的论文,使我深受感动。同时感谢所有曾经教导过我、帮助过我的老师,正是因为他们多年来孜孜不倦的教诲才使得我的专业技能有很大的提高。同时,感谢同学们在毕业设计中给予我的帮助。附 录本附录展示了小车运行中的图片,图一演示了小车正常运行图片,图二演示了小车遇到障碍物的情况,从数码管的数字可以看出小车距障碍物的距离。图一图二19
链接地址:https://www.31doc.com/p-3971373.html