单片机控制自动避障小车讲解学习.docx
- 文档编号:9961955
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:43
- 大小:581.22KB
单片机控制自动避障小车讲解学习.docx
《单片机控制自动避障小车讲解学习.docx》由会员分享,可在线阅读,更多相关《单片机控制自动避障小车讲解学习.docx(43页珍藏版)》请在冰点文库上搜索。
单片机控制自动避障小车讲解学习
单片机控制自动避障小车
单片机控制自动避障小车设计
摘要:
本论文介绍的是具有自动避障功能的智能小车的设计与制作,论文对智能小车的设计的方案选择,设计的思路与过程,以及软件与硬件的功能和工作原理进行了详细的分析和论述。
硬件部分采用了MSP430F149芯片作为主控芯片,利用超声波传感器检测障碍的方位与距离,并用LCD1602显示出来,软件在KeilC51环境下编程。
经过软件原理设计与实践验收测试,该智能小车的电路结构简单,调试方便,系统反映快速、灵活,设计方案可行,正确,各项指标稳定、可靠。
关键词:
单片机;智能小车;避障;超声波测距
AutomaticObstacleAvoidanceCarDesignBasedonSCM
Abstract:
Thispaperdescribesanautomaticobstacleavoidancefunctionisthedesignandproductionofthesmartcar,intelligentcardesignthesisprogramselection,designideasandprocesses,aswellasthefunctionsandworkingprincipleofsoftwareandhardwareforadetailedanalysisanddiscussion.ThehardwareusestheMSP430F149chipasthemainchip,usingtheorientationanddistancefromtheultrasonicsensortodetectobstacles,anduseLCD5110displays,softwareprogramminginKeilC51environment.Afterthesoftwaredesignprinciplesandpracticeofacceptancetesting,thecircuitstructureofthesmartcarissimple,easytodebug,systemreflectsrapid,flexibledesignisfeasibleandcorrect,theindicatorsstableandreliable.
Keywords:
SCM;intelligentcar;obstacleavoidance;ultrasonicranging
1.引言
1.1小车避障系统设计的意义
现代智能小车的发展非常迅速并且功能也越来越趋向于多样化,基本上可以实现循迹、避障、检测贴片,寻光入库、避崖等基本功能,有向声控系统发展的趋势。
比较出名的飞思卡尔智能小车更是走在前列,此次的设计主要实现避障这一个功能,首先通过传感设备要感知障碍物,并作出判断和相应的执行动作。
智能小车设计与开发涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科。
它可以分为三大部分:
传感器检测部分,执行部分,CPU。
开展自主避障智能小车的研究工作,对进一步巩固已学知识加深已学知识可以起到促进作用,引导和激励学生实事求是、刻苦钻研、勇于创新、多出成果、提高素质,发现和培养一批在学术科技上有作为、有潜力的优秀人才的作用。
以前从来没接触过智能小车方面的知识,这对于我来说是一个巨大挑战,整个研究的过程,都是摸着石头过河的。
由于知识和经验的缺乏,经常会遭到失败,有时一个小小的因素,就会影响到设计,所以步伐前进得很慢。
研究的进程大概可能分为:
资料收集及整理阶段、硬件制作阶段和调试阶段。
公欲善其事,必先利其器,在做每件事之前都要先经过思考,在制作之前会先从网上、书上及请教老师来收集资料,把资料经整理理解透了之后,做出设计。
接着就是制作硬件,工具和电子元件都需要购买,途径可以是网购或是商店,由于设计不可能是完美的,不能做到一次就把需要的元件都列出来,一次性购买,所以分了好几次去商店买元件;因为方案没有最终确定,若是直接焊接电路板,设计如果不成功,整个电路板就没用了,这样就增加了制作的成本,所以需要用面包板制作硬件,在调试阶段完成最终确立设计之后,才做出电路板。
调试阶段就是要测试设计是否成功、合理,当然经常会失败,但要在每次的失败中吸取经验、改正错误,取得最后的成功。
整个过程是漫长的,但在无数的挫败之后终于成功制作出了智能避障小车系统。
1.2智能小车技术发展
电子技术及计算机智能控制技术的快速发展导致智能小车也高速的发展,各种玩具电子产品的小型化和智能化越来越成受到人们的关注。
智能小车更是其中的主流。
在现代化的生活中,智能小车玩具非常广泛的受到人们的喜爱。
伴随着电子技术的发展,以及现代控制理论的应用,智能小车控制技术也得到了很大的发展。
直流电动机的调速性能较好,且起动转距较大,能在很宽的范围内平滑调速,调速比大,起制动性能好,定位精度高。
因此常用于调速控制系统,称之为直流传动系统。
因而在智能小车中应用的比较多的就是直流电机控制的智能小车。
在直流电机的调速控制[1]系统中,速度调节主要通过改变电枢电压大小来实现,经常采用晶闸管相控整流调速或大功率晶体管脉宽调制调速两种方法,后者就是PWM。
PWM常见于中小功率系统,其工作原理是:
通过改变接通脉冲的宽度,改变直流电机电枢上电压的占空比,即方波高低电平的时间比,从而改变电枢电压的平均值,控制电机的转速。
智能小车作为现代社会的产物可以应用于多个方面,例如玩具,科学勘探,智能环境检测等。
无需人为控制便可以达到目标而且更容易的适应各种苛刻环境,可以及智能和多功能于一体达到各种科学研究,危险探索,也可以应用于交通运输多个方面,因此受到多方面关注。
1.3设计任务及要求
以单片机作为主控芯片,通过超声波测距来获取小车距离障碍物的距离,并且用LED显示出来。
控制系统要求:
1.小车前方没有障碍物时,左右轮速度同时不断增加,小车全速前进;
有障碍物且距离小于30cm时,小车减速并控制小车右转弯避开障碍物;
2.当小车右前方有障碍物,且距离小于30cm时,小车减速并控制小车左转弯并避开障碍物;
3.当小车左前方有障碍物,且距离小于30cm时,控小车减速并制小车右转弯并避开障碍物。
在避开障碍物后,小车沿直线前进。
小车方向控制:
左轮减速实现左转弯,右轮减速实现右转弯。
2.方案设计
2.1小车避障系统
控制系统可以分为三大组成部分:
传感器检测部分、执行部分、CPU。
智能小车要实现自动避障功能,感知障碍物并自动躲避。
基于上述要求,传感检测部分考虑到小车只需要粗略感知障碍物大概位置因而使用超声波测距,用直流电机来让智能小车执行动作,控制小车的前进的速度与方向。
用单片机驱动直流电机一般有两种方案:
第一种方案,不需要占用单片机内部资源,直接选择有PWM功能的单片机,如此可以实现电机的精准调速;第二种方案,用软件模拟PWM输出方式,需要占用单片机内部资源,不容易实现精准速度调节,但是所选择的单片机型号比较多。
考虑到实际情况的需要,本实验选择了第二种方案。
CPU使用单片机MSP430F149,配合软件编程实现。
还有显示部分通过软件可以显示障碍物距离与两个电机转速。
2.2主控系统
方案一:
仅采用CPLD作为核心部件的方案
如图1所示:
选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。
CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。
但CPLD在控制上较单片机有较大的劣势。
同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
为此,不采用该种方案,进而提出了第二种设想。
图1CPLD主控系统
方案二:
采用单片机作为系统核心部件的方案
如图2所示:
使用单片机作为整个系统的核心,用单片机去控制运动中的小车的方向与速度,来达到系统即定的性能指标。
充分分析系统,系统的关键在于如何让小车实现自动控制,而在这上面,单片机具有它独特的优势——控制简单方便、敏捷迅速。
这样,单片机就能够充分发挥其资源丰富、有强大的控制功能与操作功能、价格低廉、使用方便简单等优点。
因而,这种方案是一种比较理想的实现方案。
图2单片机主控系统
本设计要求多个开关量输入的复杂程序控制系统,需要非常容易处理多个开关量的单片机,运行处理速度要敏捷迅速,而不可以是用简单的I/O口和程序存储器比较小的单片机,D/A、A/D功能也不必选用。
根据这些分析,选定了MSP430F149单片机作为本设计的主控装置,MSP430F149单片机具有功能强大的运算处理能力,I/O口都可以按位寻址操作,程序存储空间也比较大,对于该实验设计也足够使用。
在综合考虑了超声波测距、两部电机的驱动、显示等诸多因素后,决定采用一片单片机,充分利用MSP430F149单片机的资源。
2.3机械系统
本题目要求小车的机械系统稳定、简单,而四轮运动系统具备以上特点。
驱动部分:
由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。
为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。
显示部分:
将显示模块放置小车前部上方,利于观察。
电池的安装:
将电池放置在车体的正下方,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。
2.4电机驱动模块
方案一:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。
方案二:
采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。
但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。
方案三:
三极管作为功率放大器的输出去控制直流电机运转。
使用线性驱动电路,该电路原理简单,结构简便,成本也比较低,,或者使用由达林顿管组成的H型PWM电路。
使用单片机去控制达林顿管使之工作在可调节占空比的状态,用来准确调节电动机转动快慢。
这种电路由于管子工作在截止饱和状态下,效率比较高;H型电路简单的实现电机的转速和方向控制;电子管的开关速度非常快,稳定性比较强,是比较常用的PWM调速技术。
方案四:
采用电机驱动L298N芯片驱动,这是一款电机驱动的专用芯片,可以同时驱动两个电机,方便快捷,这种调速方式有调节速度特性快捷准确、调节平缓、调节速度的范围宽、过载的能力大,可以承载多次反复负载冲击,制动和反转比较迅速等优点。
因此决定采用使用L298N芯片调速。
2.5传感器系统
方案一:
反射式红外发射—接收装置,只有物体反射红外光时才有信号输入,其反射信号强度与小车距离障碍物的距离成正比。
因此可利用信号强度作为避障依据。
红外探测器具有较强的抗干扰能力,在工业生产中得到了广泛的应用,红外探测器的操作模式大致可分为主动和被动的,主动红外探测器的光通过闭塞,反射,折射和其他光源的光学装置,可以对被检测对象完成位置的确定。
被动红外探测器本身并不发光,对象被接收的辐射测量的检测对象,光谱特征位置检测的温度,或红外成像。
直流驱动系统是简单但探测距离和干扰比穷人;交流调制由于交换耦合可以解决直流漂移放大器可大大提高检测距离问题,但由于环境光在大多数情况下,直流或低频分量的信号产生的干扰可以通过过滤分离,所以交易调试模式相对抗干扰能力强,缺点是一个比较复杂的系统。
我们要利用远程红外探测器探测到障碍物,显然选择更合适的主动式红外传感器,可降低成本更可以提高系统的可靠性。
主动式红外传感器[9]可分为离散型,透射式和反射快门式,分立元件型发光管和接收管之间是相互独立的,使用者用可灵活使用电弧管的设置、接收管的位置,并使用棱镜,透镜等,完成一个特殊的目的,其缺点也意味着麻烦。
阻断传播和反射的塑料模具的球包与接收管是非常好的,在这个设计中的障碍物检测我使用反射式。
图3红外探测器的形式
主动红外探测器共同的驱动方式可分为直流直接驱动模式和AC调制,直流直接驱动型器件是简单的,但该检测距离和抗干扰能力相对较差;交流调制由于AC耦合模式可以用来解决直流漂移放大器的问题,这可大大提高检测距离,同时作为环境光的在大多数情况下,干扰信号的直流或低频成分可通过分离过滤器,所以抗干扰能力的通信调试方法越强,缺点是比较复杂的系统。
方案二:
采用反射式超声波测距[6],只有物体反射超声波时才有信号输入,测量发射接收信号间的时间差T2-T1,这样就可以得到障碍物距离小车的距离,将这个信息送达至单片机,单片机发出控制信号使小车转向或调速,让小车不触碰到障碍物。
该方法远近障碍物距离检测都合适,测试准确,反应迅速快捷,易于检测障碍的距离。
因此采用超声波测距传感器。
2.6电源电路的选型
方案一:
所有器件采用单一电源。
这样供电比较简单方便;但是电动机在启动瞬间的启动电流非常大,并且PWM驱动电动机电流波动较大,容易造成电压不稳定、有大量干扰信号,造成单片机掉电不能运转,导致系统不能正常工作,有很大的缺陷。
如图4所示。
图4稳压电源电路
方案二:
直接使用直流稳压电源供电。
简单方便,不需要去单独设计稳压电源电路,可以完全消除大部分电路复杂所造成的干扰,可以提高系统的稳定性,这是一种非常好的方案,因而采用直流电源供电。
2.7显示模块
方案一:
通过单片机,直接驱动LED,通过8个I/O口驱动八个LED,8个I/O口驱动LED的八段发光二级管,此方法占用大量的I/O口,单片机资源大量浪费。
方案二:
使用LCD1602液晶显示,清晰方便,占用I/O口少,方便编程,电路清晰简单,不易出错,便于检查电路。
因此选用方案二。
这次设计智能小车,可以直线前行遭遇障碍物自行转弯,在轨道上根据障碍距离可以自行调速。
主要是以MSP430F149单片机为核心,采用超声波测距检测障碍物距离,进行目标识别与避障,使智能小车准确躲避障碍物;采用直流电机对小车的转向进行控制,由软件实现了小车自动行驶、自动避障,速度调节,距离,速度显示,并发出指示信息等功能。
3.硬件电路设计
经过方案论证的过程之后,选定了仅采用单片机作为核心主控制部件的设计方案,其系统总方框图如图5所示。
图5系统总原理框图
具体的功能设置通过原理图做出了非常直观的说明。
通过主控芯片控制各个传感器输入的信号,控制方式由软件设计来实现,其中包括2个超声波测距传感器用来检测障碍物距离以及方位。
除了处理这些信号单片机还通过I/O口控制电机驱动芯片控制电机和液晶的显示。
3.1主控制部分CPU介绍
MSP430F149系列单片机是美国TI(TI)于1996年开始向市场推出了16超低MSP430MCU。
这是一个小的功耗,精简指令集(RISC)的混合信号处理器(混合信号处理器)。
称为由于其实际应用的需求,将多个模拟电路,数字电路模块和微处理器集成在一个芯片上的不同的功能,以混合信号处理器,以提供一个“芯片”解决方案。
该系列单片机用于MSP430F149微控制器系列便携式仪器需要电池是16位单片机,采用精简指令集(RISC)结构,具有丰富的(7种源操作数的寻址模式寻址,4目的操作数寻址),27内核的命令和大量的模拟指令的大量片上数据存储器可以参加各种操作;高效的查找表处理指令。
这些特征确保产生源的高效率。
快速的运算速度,MSP430F149系列单片机驱动器25MHz晶振,实现40ns的指令周期。
该16位的数据宽度,40ns的指令周期和多功能的硬件乘法器匹配(可以乘法实现),可以实现数字信号处理的一些算法(例如FFT)。
超低功耗。
MSP430F149MCU具有功耗低,是因为它有其独到之处在降低芯片的电源电压和灵活可控操作时钟。
首先,MSP430F149系列单片机的电源电压用于1.8-3.6V电压。
因此,运行在1MHz时钟芯片电流条件下,最低165A,RAM仍是最低功耗模式仅为0.1A。
时钟系统设计独特。
有两个不同的时钟系统中的MSP430系列:
基本时钟系统,锁频环(FLL和FLL)和时钟系统和DCO数字振荡器时钟系统。
可以简单地使用晶体振荡器(的32.768kHz)DT-26或DT-38,可以使用两个晶体振荡器。
由CPU的系统时钟系统和每个所需功能的时钟产生。
和时钟可以在命令开闭的控制之下,以实现整体功耗的控制。
由于运行期系统的功能模块的所述开口是不同的,具有不同的工作模式下,芯片的功率消耗是显著不同。
有五种低功耗模式(LPM0〜LPM4)的系统模式。
丰富的片上资源,MSP430F149系列单片机系列中集成了丰富的外设。
它们分别是看门狗(WDT)和A模拟比较器,定时器A0定时器(Timer_A0),A1(Timer_A1),定时器B0(Timer_B0),UART,SPI,I2C,硬件乘法器,LCD驱动器,10位/12ADC,16位Σ-ΔADC,DMA,I/O端口,基本定时器(基本定时器),不同的组合,USB控制器的几个外围模块的实时时钟(RTC)。
其中,看门狗可以使程序失控迅速复位;模拟电压的模拟比较器与定时器比较,可以设计一个A/D转换器;16位定时器(定时器A和和Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数,计时,PWM等;有些设备有更多的可实现异步,同步和多址接入串行通信接口,可实现多机通信应用;更多的I/O端口,P0,P1,P2口可接收外部上升沿或下降沿的中断输入;10/12硬件A/D转换器具有高转换率,高达200kbps的,能够满足大多数数据采集应用;可以直接驱动液晶多达160;12位D/A,以实现双向转换;硬件I2C串行总线接口实现存储器串行扩展;并且,为了提高数据的传输速度,并且使用DMA模块的。
提供这些外围设备的系统解决方案MSP430系列单芯片解决方案的便利。
此外,MSP430系列微控制器中断源较多,并且可以任意嵌套的,灵活和方便的使用。
当系统处于低功耗状态,省电,中断仅需5秒。
开发环境MSP430系列与OTP型,FLASH型和ROM型三种类型的便捷,高效的设备,这些设备的开发手段不同。
装置,用于OTP类型和ROM型,利用模拟器开发的成功写入或掩模芯片之后;对于调试一个开发环境,便于型的FLASH,由于JTAG调试接口内的器件芯片,并且可以是电可擦除闪存存储器,所以使用第一下载程序到FLASH,则该设备运行该软件控制程序,通过JTAG接口来读取信息为设计人员使用片上调试方法的发展。
这种方式只需要一台PC机和一个JTAG调试器,而不模拟器和程序员的需要。
3.2MSP430F149单片机引脚图
图6MSP430F149单片机引脚图
3.3硬件资源分配
在设计中,将MCU资源分配如下:
P4.3-P4.4作为L298N的2个PWM信号控制端口,设计中采用直接控制。
P3.4-P3.5作为超声波传感器信号的接入口,2个超声波传感器用于障碍物检测,检测到的超声波避障信号由P3口输入,再通过软件分析,通过P4口输出相应的电机驱动信号控制小车,实现相应的动作来达到避开障碍物的目的,通过程序计算出小车距离障碍物的距离,并由小液晶显示出来。
3.4直流电机的驱动电路
L298N是高压,大电流电机驱动芯片。
该芯片采用15引脚封装。
其主要特点是:
高电压,最大工作电压可达46V;输出电流,L298N电机驱动模块峰值电流达3A,连续工作电流2A;包含两个H桥的高电压大电流的全桥驱动器,可用于驱动直流电机与步进电机,继电器,线圈等感性负载;采用标准逻辑电平信号控制;有两个使能控制端,有一个逻辑电源输入,使用L298N驱动电机,该芯片可以驱动两相电机也可驱动一四相电机,输出电压可以通过调整电源去调整也可以直接用单片机的I/O端口提供信号;电路实现简单,使用更方便。
L298N主要引脚连接如下图7所示:
芯片电压VCC:
5VGND:
常见的接地连接。
VS:
12V,ISENA和ISEN2都接地,EN1和EN2为使能端接5V。
IN1和IN2,IN3和IN4为PWM信号控制端,其中IN2,IN4接地。
OUT1-OUT4为电机连接端。
图7直流电机驱动电路
3.5CPU相关电路
时钟信号输入方式:
图8时钟输入电路图
MSP430的时钟信号的应用有两种方式[1]:
内部方式和外部方式。
原理图如上图所示,在设计中采用的是内部方式。
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,电容取30PF左右。
MSP430F149中DVcc,AVcc分别接100PF,10000PF电容后接地,DVSS,AVSS则直接接地保证芯片正常工作。
3.6避障传感器电路
避障电路部分有2个传感器,2个可以检测障碍物的超声波传感器,检测到的信号送入到单片机的P3.4-P3.5口,然后由单片机处理检测出障碍物的距离并且控制PWM信号,控制电机的运转状态。
(1)US-100超声波测距:
US-100超声波测距模块可实现2cm-4.5m的非接触测距功能,拥有2.4-5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。
主要技术参数:
表1:
US-100主要技术参数
电气参数
US-100超声波测距模块
工作电压
DC2.4V-5.5V
静态电流
2mA
工作温度
-20-+70度
输出方式
电平或UART(跳线帽选择)
感应角度
小于15度
探测距离
2cm-450cm
探测精度
0.3cm+1%
UART模式下串口配置
波特率9600,起始位1位,停止位1位,数据位8位,无奇偶校验,无流控制。
本模块实物图:
图9US-100正面图
从左到右依次编号1,2,3,4,5。
它们的接口定义如下:
1号Pin:
接VCC电源(供电范围2.4V~5.5V)。
2号Pin:
当为UART模式时,接外部电路UART的TX端;当为电平触发模式时,接外部电路的Trig端。
3号Pin:
当为UART模式时,接外部电路UART的RX端;当为电平触发模式时,接外部电路的Echo端。
4号Pin:
接外部电路的地。
5号Pin:
接外部电路的地。
(2)障碍物测距系统:
使用超声波传感器是探测障碍的比较简单的方法,它是利用向探测目标发射超声波脉冲,计算其往返时间来判定目标距离的。
算法简单,价格合理。
所以我们选择超声波传感器。
首先利用单片机输出一个触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计时。
。
由于超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:
S=VT/2,通过单片机来算出距离。
(3)躲避障碍物的方法
小车前行,检测P2口,如果前方或左前方有障碍物,其避障
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 自动 小车 讲解 学习
![提示](https://static.bingdoc.com/images/bang_tan.gif)