《基于单片机的智能避障小车设计》5800字_第1页
《基于单片机的智能避障小车设计》5800字_第2页
《基于单片机的智能避障小车设计》5800字_第3页
《基于单片机的智能避障小车设计》5800字_第4页
《基于单片机的智能避障小车设计》5800字_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

·第1章绪论1.1课题背景随着科学技术的快速发展,智能产品离我们不再遥远,已经遍及交通、购物、电子、机械、宇航,国防等各个领域。各行各业都在紧抓科技的发展,汽车行业也是如此。智能汽车作为机器人的典型代表,己经成为世界车辆工程领域研究的热点。无人驾驶是智能汽车新兴方向之一,它的核心技术包括自动避障、循迹等,不仅可以保障车辆行驶的安全性、高效性,而且在物流运输,探测排险和科学侦探等方面都具有更广阔的发展前景,全国电子大赛几乎每次都有关于智能小车方面的题目,在此背景下,一套更实用更完善的自动避障系统是我们所需要研究的。1.2本设计的主要内容本次设计的自动避障小车要求是让智能小车能够在无人控制的情况下实现自动避障。在小车原有的基础上,添加了超声波传感器,用来实现小车与障碍物的距离检测,然后将信号传给单片机进行处理,由单片机根据检测信号通过驱动芯片实现对小车的控制。系统从硬件设计和软件设计两方面综合设计,硬件设计包含单片机最小系统设计、电源电路设计、超声波检测设计、报警设计和驱动电路设计。软件设计包括主程序设计、电机驱动子程序设计和超声波测距子程序设计。第2章系统总体方案设计本设计的主要任务就是让自动避障小车在行驶过程中,能够自动检测到障碍物,并且能够立即自动避开障碍物。首先设计具体方案进行分析看是否能够完成预期的自动避障功能。2.1方案设计与论证通过翻阅书本和上网搜索相关文献,从单片机控制部分、检测部分、驱动电机和报警四个部分分别进行设计,然后从各方面进行论证,最终选择最适合本设计的方案。2.1.1主控芯片的选择市面上能够实现本系统的主控芯片有很多种,例如AT89C51、AT89C51和ARM等。AT89C52相对于其他主控芯片而言具有以下优势:首先通过AT89C52能够精确的控制小车运行,其次降低了系统软件设计的难度,具有低损耗、操作简单调试方便的优点,关键价格相对其他芯片也便宜,所以本文最终选择了AT89C52单片机来完成本次设计。2.1.2传感器的选择方案一:采用红外传感器避障,其工作原理是利用红外线进行数据处理,红外信号受外界干扰小,容易操作但感应距离太短且无法在阳光下使用,本设计放弃了这个方案。方案二:采用超声波传感器避障,其工作原理是反射声波,用于测量距离。超声波传感器指向性强,传播速度高于红外线避障且不受光照限制,容易实时控制,灵敏度更高在复杂、恶劣的工作环境更能发挥优势所以本设计选择超声波传感器。2.1.3驱动电机的选择方案一:采用交流电机。交流电机结构简单,维护方便但是交流电机不便捷,且自身不能完成调速,需要借助变频器来实现而且启动电流高,因此本设计放弃了这一方案。方案二:采用直流电机,直流电机体积小效率高,可以借助电池供电,能够随着输入的励磁电流或电压连续调速,且调速范围较广。L298N芯片内含两个H桥,可以直接通过电源来调节输出电压配合PWM脉宽调制调速,且电路结构简单稳定,符合本设计的要求,因此采用方案二。2.1.4报警选择方案一:采用语音芯片进行提示,可以自由设定要提示的声音,但操作复杂,需要专门的编程软件,损耗大成本高不便于普及,因此本设计放弃了这一方案。方案二:使用蜂鸣器提示,结构简单损耗小,可靠性高声音频率可控且价格低廉因此采用方案二。2.2直流调速系统单片机可以实现脉宽调速,但单片机的输出电压不足以驱动小车,所以需要借助功率放大器放大电压给电机,来更好的控制直流电机的速度。本设计采用PWM脉宽调制来实现对直流电机的控制,PWM是一种常用的通过改变电枢电压来调速的方法,PWM有以下优点:(1)开关频率较高、过载能力强且电源的输出电压在工作条件变化时能保持恒定,能承受频繁的快速启动和制动等。(2)抗干扰能力强、不会因为其他程序的延时而改变输出频率。2.3总体设计框图根据上述方案的论证,本设计以单片机自动控制系统的核心,单片机最小系统包括电源电路、复位电路、时钟电路。电源电路为系统提供稳定的电源,用超声波距离检测识别障碍物,为单片机提供信息,检测到障碍物时,通过控制高低电平使两个电机执行动作且蜂鸣器报警,如图2-3所示。图2-3总体设计框图硬件设计以单片机为自动控制系统的核心。硬件设计包含单片机最小系统电路设计、电源电路设计、超声波检测设计、报警设计和驱动电路设计。3.1单片机最小系统设计单片机能够控制小车所有运行状态,将计算机系统集成到一个集成电路中,具有高性价比,小尺寸和操作方便的特点。对于AT89C52单片机,内部是由程序储存器、数据信息储存器和少量外部电路组成的单片机最小系统,包含电源电路、复位电路和时钟电路,因为最小系统受到处理速度的限制,所以仅适用于中小型操作模块,且有大量I/O端口供用户使用、内部存储器的开发具有特殊性,主控制最小系统电路图如图3-1-2所示。图3-1-2主控制最小系统电路图3.1.1AT89C52单片机本设计采用的AT89C52单片机为性能卓越的CMOS8位微控制器,它是一个可编程控制器存储器,具有8K字节的闪烁数据,并且可以连续读写。具有损耗较低、低电压高性能的优点,适用于常规编程器。图3-1-1AT89C52引脚图主要功能特性:(1)32个可编程双向I/O线(2)8k字节可反复擦写存储器(3)1000次擦写周期(4)时钟频率:0-24MHz(5)兼容标准MCS-51\t"/item/AT89C52/_blank"指令系统(6)三级加密程序存储器(7)3个16位可编程定时/计数器(8)低功耗空闲模式和掉电模式(9)软件设置睡眠和唤醒功能(10)双数据指针3.1.2复位电路单片机的复位由外部复位电路来完成复位功能,通过RST端子经电阻器与开关电源VCC接通来完成脉冲信号的复位,其主要功能是把PC初始化为0000H,从0000H单元开始执行程序。图3-1-2复位电路3.1.3时钟电路单片机必须提供时钟信号才能运行,时钟电路是系统至关重要的部分。尽管AT89C52有内部谐振电路,但必须添加时钟电路,图3-1-3为内部时钟方式,一个晶振与两个电容组成的并联谐振回路。图3-1-3时钟电路通过振荡器电路在XTAL1、XTAL2引脚上外接定时元件,此时会产生自激振荡,电容C1和电容C2并联连接到放大器的反馈电路,3.2超声波检测设计本设计方案采用了HC-SR04超声波测距控制模块,可显示2cm-400cm的非接触式距离感测,控制模块包括超声波发射器、信号接收器与控制回路。首先选用AT89C52单片机输出单个脉冲,利用超声波信号发射器将超声波信号发射到某个方向,同时开始计时,在空气中传播的超声波遇到障碍物后将会立刻返回,超声波信号接收器接收到回波信号,反馈给单片机并停止计时,再由单片机控制驱动电路完成避障,超声波检测原理如图3-2-1所示。图3-2-1超声波检测原理图在不同介质、温度和压力的情况下,超声波的传播速度也不同。空气密度密度和温度越高,传播速度也会更快。超声波速度与温度之间的关系由下式可求得:V=V0为零度时的声波速度332m/s,T℃为实际温度。根据当前温度下超声波的传播速度v和从超声波发射信号到接收回波信号的时间t(高电平时间),小车与障碍物之间的距离S=vt/2本设计采用超声波在空气中(15℃)中以传播速度为340m/s传播,超声波检测接口电路如图3-2-2所示。图3-2-2超声波检测接口电路3.3直流电机驱动设计本设计采用驱动功率高、驱动能力强的L298N作为直流电机驱动芯片,将AT89C52单片机发出的信号通过L298驱动芯片控制小车动作。3.3.1L298芯片L298N具有高电压大电流的全桥驱动芯片,内部有4个逻辑驱动电路,可以轻松驱动直流电动机和步进电动机。L298N驱动芯片提供驱动电机所需要的电压电流,通过改变加在电动机上的电压的平均值来控制电机的运转。L298N芯片可驱动最高可达到46V的电机。VCC引脚可以接5V电源给芯片供电,VDD可以接5V电源给电机供电,TTL逻辑电平信号VSS可供给L298N芯片。L298N内有两个双全桥式驱动电路,L298N管脚如图3-3-1所示。图3-3-1L298N驱动芯片管脚输出端口OUT1和OUT2、OUT3和OUT4可分别接两个直流电动机,引脚5、引脚7、引脚10和引脚12接入控制信号,控制电机的正转、反转和停止。1脚和15脚与地之间接电阻可检测电流。3.3.2驱动电路两台直流电机分别为M1小车的左驱动和M2小车的右驱动。L298N驱动芯片的IN1和IN2引脚分别与AT89C52单片机的P1.0和P1.1连接,IN3和IN4引脚分别与AT89C52单片机的P1.2和P1.3连接,通过PWM脉宽调制输出不同占空比的脉冲信号调速,通过控制L298N输出端口OUT1和OUT2的高低电平,来控制M1、M2直流电机的正转和反转。当IN1与IN3信号端接高电平时,两台电机进行正转,当IN1接高电平IN2接低电平时,M1正转。当M1停止,M2正转时小车左转。当M1和M2都停止时小车也停止行驶。电机收到相关指令时的运转情况如表3-3-2所示。表3-3-2电机收到相关指令时的运转情况直流电机旋转方式IN1IN2IN3IN4调速PWM信号使能A使能BM1正转10//0/反转01//0/停止00//0/M2正转//10/0反转//01/0停止/////0本设计采用直流电机,由于单片机输出信号功率不足以驱动电机,所以增加驱动芯片以提高功率。利用直流电机常用的PWM脉宽调制方式调节电机速度。PWM信号端A控制M1调速,信号端B控制M2调速,L298N驱动原理图如图3-3-2所示。图3-3-2L298N驱动原理图3.4电源电路设计本次超声波避障小车的设计中,采用7805芯片降压后得到5V供给其他单片机和芯片,它内部具有过电压保护性能、简单可靠,而且完全能够避障小车供电需求。图3-4电源电路3.5报警设计报警设计主要为了在小车遇到障碍物时能够报警提示,根据上面方案选择论证,本设计选择蜂鸣器报警,通过TC89C52单片机给定不同频率的高低电平使蜂鸣器发出报警。通过\t"/item/%E8%9C%82%E9%B8%A3%E5%99%A8/_blank"三极管放大驱动电流使蜂鸣器发出声音,报警电路如图3-5所示。

图3-5报警电路软件设计C语言具有良好的结构性和兼容性,便于程序调试和维护,所以本设计软件部分通过Keil软件采用C语言进行编写,软件设计主要包括主程序、电机驱动子程序设计和超声波测距子程序设计。整个程序的运行首先从主程序开始运行,子程序服从主程序的调用执行赋予的指示做出相应的动作。主程序起到导向和决策的作用,主程序的设计决定着超声波避障小车相关动作,而智能小车则根据主程序给出的指令调用相关的子程序予以回应。4.1主程序设计用流程图可以直观清晰的看出设计思路,便于理解和描述。程序开始,系统初始化,按下开关后,小车蜂鸣器报警,小车前行,定时器计时,超声波发射器发出触发信号,如果前方有障碍物,则超声波接收器会收到回波信号,同时计时结束,通过时间差和超声波传播速度,计算出小车与障碍物之间的距离,若小车与障碍物之间的小于所设定检测距离30cm时,蜂鸣器报警并左转避开障碍物,然后检测是否避开障碍物,若避开障碍物则小车前行,否则继续左转。主程序流程图如下:图4-1主程序流程图4.2超声波测距子程序对于超声波计算障碍物之间的距离,首先利用定时器在主程序运行的同时开始计时,从发射触发信号到收到回波信号,定时结束,计算高电平时间,根据定时时间算出声波的来回路程=声波来回所用的时间*声波速度/2。对超声波智能小车距离计算程序的编写如图4-2所示。图4-2超声波设计距离计算流程4.3电机驱动子程序设定超声波检测距离为30cm,若前方有障碍物,则左侧电机停转右侧电机正转,小车实现左转,然后判断是否避开障碍物,若前方没有障碍物,小车两电机都正转,小车向前行驶,否则,继续执行左转,直到避开障碍物。程序框图如下图4-3所示。图4-3电机工作程序流程图第5章总计与展望通过对本次毕业设计--自动避障小车设计,使我更深刻的了解到实践和理论相结合的重要性。本文分四个章节详细介绍了关于自动避障小车的整体设计,首先介绍了本设计研究背景以及主要内容,阐述了自动避障系统的工作原理及组成,从硬件设计和软件设计共同实现小车避障。在毕业设计过程中,我学到关于单片机,超声波传感器和C语言方面的知识以及独立思考问题的能力。本设计的避障小车还可以从多方面改进,在很多复杂地形时不能够有效动作可以添加多个传感器感测障碍物,利用太阳能供电也更加环保。随着信息技术的不断融合,智能小车将会拥有更广阔的发展前景,不仅能够大大降低车辆事故的发生,同时也减轻了驾驶员的负担,成为更安全更舒适的交通工具。附录附录A:电路原理图附录B:自动避障小车系统源代码自动避障小车源程序:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint //定义L298N端口 sbitin1=P0^0; sbitin2=P0^1; sbitin3=P0^2; sbitin4=P0^3; sbitenA=P0^4; sbitenB=P0^5; //定义蜂鸣器 sbits2=P3^0;sbitbeep=P2^3;voidmain(){while(1){if(!s2)beep=0;elsebeep=1;}}; //定义超声波模块端口 sbitTring=P1^2; sbitEcho=P1^3; unsignedintdistance_cm=0; //距离 unsignedintoverflow_count=0; unsignedintstatus=0; //超声波模块状态 unsignedintdis_count=0; //计数 unsignedchartmp,dat,flat; unsignedintnum,model,c=0; unsignedintspeed=100; voidchaoshengbo_init(void); voidGetDistance(void); voiddelay(unsignedintz) { unsignedintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--) } voiddelay_us(unsignedintaa) { while(aa--); } //小车左转 voidleft(unsignedcharpwm) { enA=1; in1=0; in2=0; in3=1; in4=0; delay_us(pwm); enA=1; in1=0; in2=0; in3=0; in4=0; delay_us(100-pwm); } voidl(void) { enA=1; in1=0; in2=0; in3=1; in4=0; } //小车停止 voidstop(void) { enB=1; in1=0; in2=0; in3=0; in4=0; } voidmain(void) { chaoshengbo_init(); while(1) { b(); GetDistance(); if(distance_cm>0&distance_cm<=30) { f(); delay(800); r(); delay(800); } } } //超声波模块初始化 voidchaoshengbo_init(void) { Trig=0; //TH2=RCAP2H=0; //TL2=RCAP2L=0; TH0=TL0=0; TR0=0; //关闭定时器2 ET0=1; //允许T2中断

温馨提示

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

评论

0/150

提交评论