版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机系统课程设计轮式移动机器人的设计学院: 通信与电子工程学院班级: 电子131姓名: 初清晨「学号: 2013131013同组成员:孟庆阳张轩指导老师: 王艳春日期: 2015年12月24日程序设计程序设计报告整理仿真测试组员分工1、组长:张轩,实物焊接,报告整理2、组员:孟庆阳,实物焊接,仿真测试3、组员:初清晨,实物焊接,报告整理目录TOC\o"1-5"\h\z\o"CurrentDocument"摘要 1\o"CurrentDocument"第一章绪论 21.1智能小车的意义和作用 21.2智能小车的现状 3\o"CurrentDocument"第二章方案设计与论证 3主控系统 3电机驱动模块 4循迹模块 5避障模块 6机械系统 72.6电源模块 7\o"CurrentDocument"第三章硬件设计 7AT89S52单片机的简介 82总体设计 113驱动电路 124信号检测模块 135主控电路 14\o"CurrentDocument"第四章软件设计 151主程序框图 154.2电机驱动程序 153循迹模块 164避障模块 20结束语 25\o"CurrentDocument"致谢 26附录一循迹加红外避障综合程序 28附录二实物图 32摘要随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等用途。智能电动小车就是其中的一个体现。设计者可以通过软件编程实现它的行进、循迹、停止的精确控制以及检测数据的存储、显示,无需人工干预。因此,智能电动小车具有再编程的特性,是机器人的一种。本设计采用AT89S52单片机加电机驱动电路和红外遥控及循迹模块还有红外接收一体化传感器设计而成,采用模块化的设计方案,运用红外遥控器控制小车的前进、后退、左转、右转、启动和停止。关键词:智能小车;STC89C52单片机;L9110;红外对管Intelligenttrackingandobstacle-avoidcarAbstract:Basedinfrareddetectionofblacklinesandtheroadobstacles,anduseaSTC89C52MCUasthecontrollingcoreforthespeedanddirection,Aelectronicdrived,whichcanautomatictrackandavoidtheobstacle,wasdesignedandfabricated.Inwhich,thecarisdrivedbytheL298Ncircuit,itsspeediscontrolledbytheoutputPWMsignalfromtheSTC89C52.Keywords:SmartCar;STC89C52MCU;L298N;InfraredEmittingDiode第一章绪论智能小车的意义和作用自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AVG—auto-guidevehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用STC89C52单片机,配合软件编程实现。智能小车的现状现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。我此次的设计主要实现循迹避障这两个功能。第二章方案设计与论证2.1主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。根据这些分析,我选定了P89C51RA单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。电机驱动模块采用分立元件组成的平衡式驱动电路,这种电路可以由单片机直接对其进行操作,但由于分立元件占用空间比较大,还要配上两个继电器,考虑到小车的空间问题,此方案不够理想。、*J? > .方案二:采用L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过800mA的持续电流,峰值电流能力可达1.5A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。L9110被广泛应用于玩具汽车电机驱动、脉冲电磁阀门驱动,步进电机驱动和开关功率管等电路上。
88DP后缀塑料封装88DP后缀塑料封装(DIPS)SO后缀塑料封装(SOP8)图2.2L9110循迹模块采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定。故最终未采用该方案。方案二:采用两只红外对管,分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。图2.3红外对管避障模块方案一:采用超声波避障,超声波受环境影响较大,电路复杂,而且地面对超声波的反射,会影响系统对障碍物的判断。方案二:采用红外线避障,利用单片机产生38KHz信号对红外线发射管进行调制发射发射出去的红外线遇到避障物的时候发射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。外界对红外信号的干扰比较小,而且易于实现,价格比较便宜,故采用方案二。红外线接受电路原理图行解调,输出TTL电平。外界对红外信号的干扰比较小,而且易于实现,价格比较便宜,故采用方案二。红外线接受电路原理图1BW侖is机械系统本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。电池的安装:将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。简单,而三轮运动系统具备以上特点。电源模块方案一:采用有线电源通过USB接口供电,其优点是可稳定的提供5V电压,但占用资源比较大。方案二:采用4支1.5V电池单电源供电,但6V的电压太小不能同时给单片机与与电机供电。方案三:采用8支1.5V电池双电源分别给单片机与电机供电可解决方案二的问题且能让小车完成其功能。但是占用空间过大没有采取。所以,我选择了方案一来实现供电。第三章硬件设计AT89S52单片机的简介AT89S52是一种低功耗、高性能CM0S8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。下图为AT89S52引脚图。图3-1AT89S52引脚图(1)主要特性:•与MCS-51兼容8K字节可编程闪烁存储器•寿命:1000写/擦循环•数据保留时间:10年•全静态工作:0Hz-24MHz•三级程序存储器锁定256*8位内部RAM32可编程I/O线•两个16位定时器/计数器•5个中断源•可编程串行通道•低功耗的闲置和掉电模式•片内振荡器和时钟电路(2)管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容°P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如下表3-1所示:表3-1特殊功能引脚对照表引脚号特殊功能P3.0RXD串行通信输入P3.1TXD串行通信输出P3.2INTO外部中断0输入,低电平有效P3.3INT1外部中断1输入,低电平有效P3.4T0计数器0外部事件计数输入端P3.5T1计数器1外部事件计数输入端P3.6WR外部随机存储器的写选通,低电平有效P3.7RD外部随机存储器的读选通,低电平有效P3口同时为闪烁编程和编程校验接收一些控制信号。RST:AT89S52的复位信号输入引脚,高电位工作,当要对芯片复位时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89S52便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:该引脚为低电平时,则读取外部的程序代码(存于外部EPROM中)来执行程序。因此在8031中,EA引脚必须接低电位,因为其内部无程序存储器空间。如果是使用AT89S52或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC值超过片内程序存储器地址(如8051/8751/89C51的PC超过0FFFH)时,将自动转向外部程序存储器继续运行。此外,在将程序代码烧录至8751内部EPROM、89C51内部FALSH时,可以利用此引脚来输入提供编程电压(8751为2LV、AT89S52为12V、8051是由生产厂方一次性加工好)。XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,此引脚应接地。XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。(3) 振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(4) 芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。总体设计智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。将循迹光电对管分别装在车体下的左右。当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。避障的原理和循线一样,在车身右边装一个光电对管,当其检测到障碍物时,主控芯片给出信号报警并控制车子倒退,转向,从而避开障碍物。主板设计框图如图3.2,所需原件清单如表3.2。
元件数量元件数量元件数量直流电机2只电阻若干集成电路芯片若干单片机1块二极管若干电容若干红外对管2只蜂鸣器1只电位器若干12M晶振1只杜邦线若干玩具小车1个排针若干液晶屏1个一体化红外接收头1只表3.2元件清单驱动电路电机驱动一般采用H桥式驱动电路,L9110内部集成了H桥式驱动电路,从而可以采用L9110电路来驱动电机。其引脚图如3.3.1,驱动原理图如图3.3.2。
0A匚11□GNDVCC匚□IBVCC□IAOB匚□GND图3.3.1 L9110引脚图图3.3.2电机驱动电路3.4信号检测模块小车循迹原理是小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过LM393作比较器来采集高低电平,从而实现信号的检测。避障亦是此原理。电路图如图3.4。市面上有很多红外传感器,在这里我选用94型光电对管。
图3.4循迹原理图图3.4循迹原理图3.5主控电路本模块主要是对采集信号进行分析,同时给出PWM波控制电机速度,起停。以及再检测到障碍报警等作用。其电路图如图3.5。图3.5主控电路第四章软件设计4.1主程序框图:4.1主程序图第四章软件设计4.1主程序框图:4.1主程序图4.2电机驱动程序voidgoahead(){s1=1;s2=0;s3=1;s4=0;}voidgoback(){s1=0;s2=1;s3=0;s4=1;}voidturnleft(){s3=1;s4=0;}voidturnright(){s1=1;s2=0;}voidstop(){en1=0;en2=0;}循迹模块循迹框图:开始//定义接收红外数据变量//定义接收红外数据变量//定义红外个数计数变量//定义自增变量//定义闪动频率计数变量//定义接收到数据的高位变量//定义运行标志位//定义指示灯使能位图4.3循迹框图循迹程序:#include<at89x51.h>//包含51相关的头文件typedefunsignedcharuchar; //重定义char数据类型typedefunsignedintuint; //重定义int数据类型#defineShowPortP2 //定义数码管显示端口ucharcodeLedShowData[]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0xlF,0x01,0xl9};//0,l,2,3,4,5,6,7,8,9//定义数码管显示数据staticunsignedintRecvData;staticunsignedcharCountData;staticunsignedcharAddData;staticunsignedintLedFlash;unsignedcharHeardData;bitRunFlag=0;bitEnableLight=0;/***********完成基本数据变量定义**************/
sbitSIState二P「0;位sbitS2State二P「l;位sbitB1State二P「2;位sbitIRState二P「3;位sbitRunStopState二P「4;志位sbitFontIRState二P「5;标志位sbitLeftIRState二P「6;标志位sbitRightIRState二P「7;RightIRState状态标志位/*************完成状态指示灯定义*************/sbitS1=P3"2;sbitS2=P3"4;/*************完成按键端口的定义*************/sbitLeftLed二P2"0;示灯端口sbitRightLed二P0“7;示灯端口/*************完成前方指示灯端口定义*********/sbitLeftIR二P3“5;外探头sbitRightIR二P3飞;外探头sbitFontIR二P3“7;探头//定义S1状态标志//定义//定义S1状态标志//定义S2状态标志//定义B1状态标志//定义IR状态标志//定义运行停止标//定义FontIR状态//定义LeftIR状态//定义//定义S1按键端口//定义S2按键端口//定义前方左侧指//定义前方右侧指//定义前方左侧红//定义前主右侧红//定义正前方红外//定义电机1正向端口sbitM1B二POJ;端口sbitM2A二P0"2;端口sbitM2B=P0^3;端口/*************完成电机端口定义***************/sbitBl二P0"4;端口sbitRL1=P0^5;口sbitSB1二PO飞;/*********完成话筒,光敏电阻,蜂鸣器.端口定义**/sbitIR1二P3"3;口/*********完成红外接收端口的定义*************/voidDelay(){uintDelayTime=3OOOO;量while(DelayTime--);环return;}voidmain(void){while(l){LeftLed=LeftIR;RightLed=RightIR;//定义电机1//定义电机1反向//定义电机2正向//定义电机2反向//定义话筒传感器//定义光敏电阻端//定义蜂鸣端口//定义红外接收端//定义延时子程序//定义延时时间变//开始进行延时循//子程序返回//主程序入口//左边的指示灯状态为左边的红外探头//右边的指示灯状态为右边的红外探头//延时4.4避障模块避障框图:开始 4.4避障模块避障框图:开始 4后退左转6\rr.刖进\rr.刖进sbitRightLedsbitRightLed二P0八7;sbitFontLled二P「7;sbitLeftIR二P3八5;sbitRightlR二P3八6#include<REGX52.H>//包含51单片机相关的头文件sbitLeftLed二P2飞; //定义前方左侧指示灯端口//定义前方右侧指示灯端口//定义前方左侧红外探头端口//定义前方右侧红外探头端口
sbitFontIR二P37;//定义前方正前方红外探头端口sbitM1A二P0P;//定义左侧电机驱动A端sbitM1B二P0J;//定义左侧电机驱动B端sbitM2A二P0八2;//定义右侧电机驱动sbitM2B二P0";//定义右侧电机驱动B端sbitBl二P0八4;sbitSB1二P0飞;voidtingzhi()sbitBl二P0八4;sbitSB1二P0飞;voidtingzhi(){MlA=0;MlB=0;M2A=0;M2B=0;//定义语音识识别传感器端口//定义蜂鸣器端口//将M1电机B端初始化为0//将M2电机A端初始化为0}voidqianjin(){MlA=l;MlB=0;M2A=l;M2B=0;}voidhoutui(){MlA=0;MlB=l;M2A=0;M2B=l;}voidzuozhuan(){MlA=l;M1B=0;M2A=0;M2B=1;}voidyouzhuan(){M1A=0;M1B=1;M2A=1;M2B=0;}voiddelay_nus(unsignedinti)//延时:i〉=12,i的最小延时单12us{i=i/10;while(--i);}voiddelay_nms(unsignedintn)//延时nms{n=n+1;while(--n)delay_nus(900); //延时1ms,同时进行补偿}voidControlCar(unsignedcharConType)//定义电机控制子程序{tingzhi();switch(ConType) //判断用户设定电机形式{case1://前进 //判断用户是否选择形式1
qianjin();break;}qianjin();break;}case2://后退{houtui();break;}case3://左转{zuozhuan();break;}case4://右转{youzhuan();break;}case8://停止{tingzhi();break;}}}voidmain(){bitRunFlag=0;位//RunShow=0;//M2电机反转//判断用户是否选择形式3//M2电机正转//判断用户是否选择形式4//Ml电机正转//M2电机反转//判断用户是否选择形式8//退出当前选择//主程序入口//定义小车运行标志//初始化显示状态
ControlCar(8);态while(1){Start://初始化小车运行状//程序主循环LeftLed=LeftIR;//初始化小车运行状//程序主循环LeftLed=LeftIR;示出前方左侧红外探头状态RightLed=RightIR;示出前方右侧红外探头状态FontLled=FontIR;SB1=FontIR;if(FontIR==0)物{ControlCar(8);delay_nms(300);相电压冲击导致系统复位ControlCar(2);delay_nms(1000);ControlCar(3);delay_nms(1800);gotoNextRun;}//前方右侧指示灯指//如果前面避障传感器检测到障碍//停止//停止300MS 防止电机反//后退//后退1500MS//if(FontIR==1){ControlCar(1);//右侧没有信号时,开始向左转一定的角度delay_nms(10);gotoNextRun;gotoStart;NextRun:ControlCar(1);}}结束语整个系统的设计以单片机为核心,利用了多种传感器,将软件和硬件相结合。本系统能实现如下功能:(1) 自动沿预设轨道行驶小车在行驶过程中,能够自动检测预先设好的轨道,实现直道和弧形轨道的前进。若有偏离,能够自动纠正,返回到预设轨道上来。(2)当小车探测到前进前方的障碍物时,可以躲避障碍物,从无障碍区通过。小车通过障碍区后,能够自动循迹(3)自动检测停车线并自动停车。从运行情况来看避障的效果比较好,循迹的效果不是很好,我认为是由于焊接时没有注意右侧红外灯管没有焊接好,这也是我这次设计最大的误区,没有及时的拆卸和重新焊接。我相信如果实验条件和时间的允许下我肯定能解决这一问题。通过本次设计我掌握了很多以前不熟练的东西,认识了很多以前不熟悉得东西,使我在人生上又进了一步。也认识到很多的不足。致谢本设计能够顺利完成,还承蒙王老师以及身边的很多同学的指导和帮助。在设计过程中,王老师给予了悉心的指导,最重要的是给了我解决问题的思路和方法,并且在设计环境和器材方面给予了大力的帮助和支持,在此我对王老师表示最真挚的感谢!同时感谢所有帮助过我的同学!感些评阅老师百忙之中抽出时间对本论文进行了评阅!参考文献杨永辉.《现代电子技术》J]•智能小车的多传感器数据融合.2005何立民.《单片机与嵌入式系统应用》[J].基于HCS12的小车智能控制系统设计.2007谭浩强.《C程序设计》•北京:清华大学出版社,2005,7张立.《电子世界》[J].电动小车的循迹.2004武庆生,仇梅.单片机原理与应用(M).电子科技大学出版,1998,12徐科军•传感器与检测技术[M].电子工业出版社,2007刘瑞新.单片机原理及应用教程.机械工业出版社,2003,7刘湘涛,江世明•单片机原理与应用[M].电子工业出版社,2006何立民•单片机初级教程[M].北京航空航天大学出版社,1999熊建云.Protel99SE.北京:机械工业出版社,2007郑郁正.单片机原理及应用.四川大学出版杜,2003卢静,陈非凡,张高飞等.基于单片机的无刷直流电动机控制系统设计.北京机械工业学院学报,2002,10张燕,曾光宇•光电式传感器的应用与发展J]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厂房防潮设计方案
- 建设工程项目人员配置与调度方案
- 2025安徽新华图书音像连锁有限公司外包服务人员招聘(第二批)综合及人员笔试历年典型考点题库附带答案详解
- 2026年农村冷链物流“邮快合作”与村级服务站点共建方案
- 2025四川南充市高坪区区管国有企业招聘财务人员笔试历年备考题库附带答案详解
- 2026年云南省临沧市高职单招职业技能考试题库附答案详细解析
- 2025东方电气集团国际合作有限公司社会招聘第二批录用人选笔试历年典型考点题库附带答案详解
- 农村供水工程基础设施建设项目环境影响报告书
- 2026年山西省太原市高职单招综合素质考试题库含答案详细解析
- 2026年陕西省咸阳市高职单招职业适应性测试考试题库含答案详细解析
- 主题13人类面临的主要环境问题课件中华地图版高中地理必修二
- 心电监护仪的使用课件
- 中医药文化进校园活动方案
- 散布图法教学课件
- 知识图谱-第9章-知识推理
- 中国心血管病一级预防指南基层版2023版解读
- 体育管理学(全套课件368P)
- 周三多管理学5版课后答案
- 高校思想政治工作中青年骨干队伍建设项目申报表
- 小米充电宝使用说明书小米充电宝20000说明书
- JJF(石化)037-2020橡胶门尼黏度计校准规范
评论
0/150
提交评论