




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能避障小车设计毕业论文目录1引言11.1课题背景11.2论文的研究任务与内容22方案设计与论证32.1主控系统32.2直流调速系统42.3检测系统52.4电机驱动系统62.5 机械系统82.6电源模块93硬件设计103.1总体设计103.1.189C52单片机硬件结构113.1.2单片机最小系统设计153.2避障模块173.3驱动电路193.4总控制系统234软件设计244.1程序设计244.1.1电机驱动程序244.1.2避障程序254.1.3电机调速程序28 5总结与展望32 致谢33参考文献34外文资料35附录1程序清单40附录2电路图53上海交通大学毕业设计1引言1.1课题背景机器人技术的发展,它应该说是一个科学技术发展共同的一个综合性的结果,同时,为社会经济发展产生了一个重大影响的一门科学技术,它的发展归功于在第二次世界大战中各国加强了经济的投入,就加强了本国的经济的发展。比如说日本,战后以后开始进行汽车的工业,那么这时候由于它人力的缺乏,它迫切需要一种机器人来进行大批量的制造,提高生产效率降低人的劳动强度,这是从社会发展需求本身的一个需求。另一方面它也是生产力发展的需求的必然结果,也是人类自身发展的必然结果。但另一方面,尽管人们有各种各样的好的想法,但是它也归功于电子技术,计算机技术以及制造技术等相关技术的发展而产生了提供了强大的技术保证。机器人经历了三个发展阶段:第一代机器人也叫示教再现型机器人,它是通过一个计算机,来控制一个多自由度的一个机械,通过示教存储程序和信息,工作时把信息读取出来,然后发出指令。第二代机器人,也被称作带感觉的机器人,这种带感觉的机器人是类似人在某种功能的感觉,比如说力觉、触觉、滑觉、视觉、听觉。第三代机器人,也是我们机器人学中一个理想的所追求的最高级的阶段,叫智能机器人,那么只要告诉它做什么,不用告诉它怎么去做,它就能完成运动,感知思维和人机通讯的这种功能和机能。 中国机器人经过“七五”攻关计划、“九五”攻关计划和863计划的支持已经取得了较大进展,工业机器人市场也已经成熟,应用上已经遍及各行各业,但进口机器人占了绝大多数。我国在某些关键技术上有所突破,但还缺乏整体核心技术的突破,具有中国知识产权的工业机器人则很少。目前我国机器人技术相当于国外发达国家20世纪80年代初的水平,特别是在制造工艺与装备方面,不能生产高精密、高速与高效的关键部件。我国目前取得较大进展的机器人技术有:数控机床关键技术与装备、隧道掘进机器人相关技术、工程机械智能化机器人相关技术、装配自动化机器人相关技术。现已开发出金属焊接、喷涂、浇铸装配、搬运、包装、激光加工、检验、真空、自动导引车等的工业机器人产品,主要应用于汽车、摩托车、工程机械、家电等行业。 随着科学技术的发展,智能机器人的应用已经遍及机械、电子、冶金、交通、宇航、国防等领域。并且近年来机器人的智能水平不断提高,人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。在科学探索及紧急抢险中经常要对一些危险或人类不能直接到达的地域进行探测,这就需要用机器人来完成。而机器人在复杂地形行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。自动避障小车就是基于这一系统开发而成的。随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人自动避障功能的研发有了重大意义。自动避障小车就是自动避障机器人中的一类。自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。1.2论文的研究任务与内容该智能小车采用智能避障系统自动寻找路径,可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和。驱动速度,停转。电机采用直流电机,电机控制方式可为单向PWM开环控制。控制核心采用52单片机,控制系统与电路用光耦完全隔离以避免干扰。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用STC89C52单片机,配合软件编程实现。此设计利用STC89C52单片机作为CPU,以MCU为控制中心,通过红外传感器进行信号采集,CPU进行信号处理后,控制L298N电机驱动模块,完成智能小车的各项动作,主要实现智能小车的避障功能。其中本系统的主要研究内容包括硬件电路和软件程序设计两大部分。硬件部分主要包括供电模块、信号采集模块、主控及通讯模块、电机驱动模块;软件部分包括:系统初始化、信号处理、电机驱动子程序。2方案设计与论证根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加红外对管,以此来实现对电动车前方障碍物的实时检测,并将信号传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。2.1主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:方案1:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。但CPLD在控制上较单片机有较大的劣势。同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。若采用该方案,必将在控制上遇到许许多多不必要增加的难题。为此,我们不采用该种方案,进而提出了第二种设想。方案2:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。针对本设计特点多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。根据这些分析,我选定了P89c52RA单片机作为本设计的主控装置,52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是52单片机价格非常低廉。在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。2.2直流调速系统 根据电机中转速的表达式n=(U-I*R)/K其中U为电机两端两端电压,I为电流,R为电阻n为转速,K为常数,可知直流电机调速可以有三种方法:1改变电机两端的电压,2改变磁通量,3串调节电阻,其中后两种方法适合于交流高速传动方面,且比较调速繁琐,本设计采用5V直流电源供电且电机在低速情况下运行所以采用改变电机两端电压来进行调速。其中较为常用的方法是脉冲宽度调制 脉冲宽度调制(PWM)是英文“Pulse Width Modulation”的缩写,简称脉宽调制.其中脉宽调制的理论基础是面积等效原理:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。 图2-2-1电压窄脉冲加在一阶惯性环节 图2-2-2冲量相同的各种窄脉冲的响应波形 分别将如图1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图2-2-2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图2-2-2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,仅在高频段有所不同。 脉宽调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。一种模拟控制方式,根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶 体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。 脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。 通过控制高低电平的输出频率改变占空比,来达到控制电压大小,最会达到控制电机转速的目的。2.3检测系统检测系统主要实现光电检测,即利用传感器对电动车的智能小车前方路况进行实时监测。因为要对路况进行实时监测所以对传感器的要求高,传感器要做到不受外界温度光线等的干扰,同时传感器发射信号频率要满足智能小车避开障碍物的要求,同时在避开障碍物之后能准确返回到原路线。方案1: 采用TCRT5000红外光电传感器,分别置于小车车身,小车前方的两侧当为没有东西在它前面时,out脚为高电平,单片机得到信号控制直流电机继续转动,检测到前方有障碍物时输出低电平,单片机得到信号控制直流电机转动,从而做到避开障碍物的作用。TCRT5000红外光电传感器价格虽然便宜,但是容易受到周围环境光线的影响稳定性不好,且检测距离8mm检测距离太短,智能小车由于惯性来不及避障所以放弃了方案一。方案2: 采用E3F-DS30C4光电开关,分别置于小车车身前端和后身各两只,光电开关通过发射红外线检测前方是否有障碍物并将信号发送至单片机,单片机判断信号然后控制电机转动从而达到避障要求。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便,其实物如图2-3-1。综合以上方案对比选用方案二。 图2-3-1 光电传感器实物图 选用四个光电传感器,然后将光电传感器分别布置在智能小车的前身和尾部四个,能够有效的躲避障碍物。车体前方两个光电传感器感知障碍物,后方光电传感器检测车体完全避开障碍物。 2.4电机驱动系统方案1:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。方案2:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。方案3:用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图2-4-1)。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。综合对比三种方案最终确定方案三作为电机驱动系统 图2-4-1 H桥式电路图2-4-1中所示一对所示因三极管Q13与Q15不能同时导通,Q14与Q16不能同时导通,所以Q13与Q16是可以同时导通,Q14与Q15同时导通。Q13与Q16同时导通时电流从电机左侧到右侧,电机顺时针转动:当Q14与Q15同时导通时,电流从电机右侧到左侧,电机逆时针转动。通过控制四个三极管的导通状态,刚好实现电机的正转和反转。2.5 机械系统 本设计要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。小车电机与车轮安装位置如图2-5-1其实物图如图2-5-2图2-5-1电机与车轮安装 小车的减速电机是有一个普通电机和减速齿轮箱组成,齿轮箱在减速的同时可以增加扭矩。图2-5-2小车车体实物图电机分布在左轮和右轮上,中间的车轮起到支撑车体平衡的作用,两侧轮子的连接电机通过电机的正转和反转来控制车子前进,后退,左转,右转,从而有效地避开障碍物。2.6电源模块 方案1: 采用交流电经直流稳压处理后供电 采用交流电提供直流稳压电源,电流驱动能力及电压稳定性最好,且负载对电源影响也最小。但是采用此方案时会增加一些不必要的电线,极大影响了壁障小车行动的灵活性及地形的适应能力。而且壁障小车极易把拖在地上的电线识别为障碍物,人为增加了不必要的障碍。 方案2:采用蓄电池供电 蓄电池具有较强的电流驱动能力和较好的电压稳定性能,且成本低廉。可采用蓄电池经7812芯片稳压后给电机供电,再经过降压接7805芯片给单片机及其他逻辑单元供电。但蓄电池体积相对庞大,且重量过大。 方案3:采用4节1.5V同时给电机和单片机供电,满足供电要求同时减少了小车的负重。综合以上方案对比故采用方案三。电池安装方案如图2-6-1图2-6-1电池安装位置电池的安装将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。3硬件设计3.1总体设计系统框图如图3-1-1STC89C52时钟电路复位电路电机驱动避障红外传感器图3-1-1智能小车系统框图在本设计中,STC89C52单片机作为控制中心,通过红外传感器进行信号采集,单片机进行信号处理后,控制L298N电机驱动模块,完成智能小车的各项动作,主要实现智能小车的避障功能。其中硬件部分主要包括供电模块、信号采集模块、主控及通讯模块、电机驱动模块。智能小车所需元件如表3-1-1所示。表3-1-1 元件表 元件 数量 元件 数量 元件 数量 直流电机 2只 电阻 若干 集成电路芯片 若干 单片机 1 块 二极管 若干 电容 若干 光电传感器 4只 排针 若干 电位器 若干 12M晶振 1只 杜邦线 若干玩具小车 1个 3.1.189C52单片机硬件结构STC89C52单片机引脚如图3-1-2所示。 图3-1-2 STC89C52单片机引脚Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱(吸收或输出电流)4个TTL逻辑门电路。P3口:P3口时一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE :当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 :程序储存允许()输出是外部程序存储器的读选通信号,当89C5X单片机由外部程序存储器取指令(或数据)时,每个机器周期两次 有效,即输出两个脉冲。在次期间,当访问外部数据存储器,将跳过两次 信号。 /VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFH), 端必须保持低电平(接地)。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端时钟电路:STC单片机STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3-1-3(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时钟电路如图3-1-3(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 (a)内部方式时钟电路 (b)外部方式时钟电路 图3-1-3 时钟电路复位及复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3-1-2所示。表3-1-2一些寄存器的复位状态 寄存器 复位状态 寄存器 复位状态 PC 0000H TCON 00H ACC 00H TL 000H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H P0-P3 FFH SCON 00H IP XX000000B SBUF 不定 IE 0X000000B PCON 0XXX0000B TMOD 00H(2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路逻辑如图3-1-4所示。图3-1-4 复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3-1-5(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3-1-5(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图3-1-5(c)所示。 (a)上电复位 (b)按键电平复位 (c)按键脉冲复位 图3-1-5 复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图3-1-5(b)上电复位方式所示。STC89C52主要功能如表3-1-3所示。 表3-1-3 STC89C52主要功能 兼容MCS51指令系统 8K可反复擦写Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能3.1.2单片机最小系统设计 单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对52 系列单片机来说, 最小系统一般应该包括: 单片机、时钟电路、复位电路、输入/ 输出设备等。如图3-1-5单片机最小系统框图所示。 图3-1-6 单片机最小系统框图 图3-1-7复位电路最终确定的时钟电路如图3-1-8所示图3-1-8时钟电路依据上文的内容,设计52 系列单片机最小系统如图3-1-6所示。图3-1-6 52 单片机最小系统3.2避障模块光电开关(光电传感器)是光电接近开关的简称,它由发光源和受光器两部分组成,利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。物体不限于金属,所有能反射光线的物体均可被检测。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。本设计采用漫反射式光电开关。漫反射式光电开关,它是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时,漫反射式的光电开关是首选的检测模式。它的原理图如 图3-2-1 光电传感器原理图所示。图3-2-1 光电传感器原理图 图3-2-1 中,由振荡回路产生的调制脉冲经反射电路后,由发光管辐射出光脉冲。当被测物体进入受光器作用范围时,被反射回来的光脉冲进入光敏三极管。并在接收电路中将光脉冲解调为电脉冲信号,再经放大器放大和同步选通整形,然后用数字积分或RC积分方式排除干扰,最后经延时(或不延时)触发驱动器输出光电开关控制信号。 光电开关一般都具有良好的回差特性,因而即使被检测物在小范围内晃动也不会影响驱动器的输出状态,从而可使其保持在稳定工作区。同时,自诊断系统还可以显示受光状态和稳定工作区,以随时监视光电开关的工作。光电传感器的驱动电路图如图3-2-2。 图3-2-2 光电传感器的驱动电路 传感器三根线分别接到电源,接地端,单片机。实物连接图中光电传感器在车体前方布置两个后方布置两个,前方两个光电传感器检测前方障碍物,后方的两个光电传感器检测车体能否完全躲避障碍物。具体的位置分布如图3-2-3所示。图3-2-3光电传感器具体布置图3.3驱动电路驱动电路采用L298N来驱动,L298N 是SGS 公司的产品。其内部包含4 通道逻辑驱动电路, 即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TT L 逻辑电平信号,可驱动46V、2A 以下的电机。由L298N 构成的PWM功率放大器的工作形式为单极可逆模式,两个H桥的下侧桥晶体管发射极连在一起,1 脚和15脚可单独引出连接电流采样电阻器, 形成电流传号。L298 可驱动两个电机, OUT l、OUT2 和OUT 3、OUT4 之间分别接两个电动机。5、7、10、12 脚接输入控制电平,控制电机的正反转, ENA、ENB 接控制使能端,控制电机的停转。这些特性使得L298N很适合用作小型直流电机控制芯片。L298N集成了双极性管组成的H桥电路。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H桥电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也很高,是一种广泛采用的调速技术。L298N电机驱动模块,就是通过单片机的四个端口 控制L298从而改变电机的通电电压方向实现电机的正反转的。如图3-3-1所示为其内部结构图。图3-3-1 L298N驱动芯片内部结构图L298N引脚如图 3-3-2所示。图3-3-2 L298N引脚图 本设计用L298N驱动智能小车的两个直流减速电机,1和15和8引脚直接接地,4管脚VS接2.5到46的电压,它是用来驱动电机的,9引脚是用来接4.5到7V的电压的,它是用来驱动L298芯片的,6和11引脚是它的使能端,一个使能端控制一个电机,可以作为总开关,只有当它们都是高电平的时候两个电机才有可能工作,5,7,10,12是298的信号输入端和单片机的IO口相连,2,3,13,14是输出端,输入5和7控制输出2和3, 输入的10,12控制输出的13,14。具体是实物如图3-3-3所示。图3-3-3 L298N实物图L298N电路原理如图 3-3-4所示。图 3-3-4 L298N电路原理图 使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端IN1接高电平输入端2接低电平,电机M1正转。(如果信号端1接低电平, 2接高电平,电机M1反转。)控制另一台电机是同样的方式,输入信号端3接高电平,输入端4接低电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B控制M2调速。具体转动情况如表3-3-1所示。表3-3-1电机转动情况 电机 旋转方式 控制端1控制端2 控制端3 控制端4 调速端A 调速端B M1 正转 高 低 / / 高 / 反转 低 高 / / 高 / 停止 低 低 / / 高 / M2 正转 / / 高 低 / 高 反转 / / 低 高 / 高 停止 低 低 / / / 高3.4总控制系统开关闭合开关后,光电开关按照一定频率发射红外线检测前方障碍物是否存在,在没有发现障碍物的情况下小车前进,如果发现左方有障碍物小车右转,发现右方有障碍物小车左转,正前方有障碍则停车后退右转。智能小车总设计控制系统电路原理如图 3-4-1所示。 图 3-4-1 总电路图 4软件设计4.1程序设计 启动避障避障是否检测到障碍物 是 否继续前进 否 图4.1.1主程序总框图4.1.1电机驱动程序void goahead()s1=1;s2=0;s3=1;s4=0;void goback()s1=0;s2=1;s3=0;s4=1;void turnleft()s3=1;s4=0;void turnright()s1=1;s2=0;void stop()en1=0;en2=0;4.1.2避障程序 启动右轮停转左轮继续转动左轮停转右轮继续转动检测前方是否存在障碍物 是 检测到 障碍物在左侧 障碍物在右侧 车停止后退右转 左右两侧都有电机输入控制,s1和s2控制一个左电机动作,s3和s4控制右电机sbit s1=P10; sbit s2=P11; sbit s3=P12; sbit s4=P13;红外传感器定义,左避障灯输入为P1.4,右避障灯输入为P1.5sbit bzl=P14; /避障左灯 sbit bzr=P15;/避障右灯壁障扫描主程序,利用while语句实现程序无限循环,利用if条件语句嵌套,可以设置不同状态的动作main()while(1) if(bzl=1&bzr=1) goahead(); Delay(100); else if(bzl=0&bzr=1) turnright(); Delay(500); else if(bzl=1&bzr=0) turnleft(); Delay(500); else if(bzl=0&bzr=0) stop(); Delay(100); goback(); Delay(200); stop(); Delay(50); turnright(); Delay(400); 电机控制程序,利用电机的正转,反转、停转,实现小车的前进、后退、左转,右转动作void goahead()/前进,两个电机都工作,正转s1=0;s2=1;s3=0;s4=1;void goback()/后退,两个电机都工作,全反转s1=1;s2=0;s3=1;s4=0;void turnleft()/左转,左电机不工作,右电机正转s1=0;s2=1;s3=0;s4=0;void turnright()/右转,右边电机不工作,左电机正转s1=0;s2=0;s3=0;s4=1;void stop()/停止,两个电机都不工作s1=0; s2=0; s3=0; s4=0;延时1ms子程序,调用作为电机的反应时间,让小车准确的完成动作void Delay(unsigned int k) unsigned int i,j; for(i=0;ik;i+) for(j=0;j120;j+);4.1.3电机调速程序 以下是用两定时器来控制加在两方向控制口的方波占空比,以此来对电机进行调速,而可以利用对两始能端高低电平进行不同延时来实现调速功能。/ICC-AVR application builder : 2012-5-30 16:45:27/ Target : M8515/ Crystal: 4.0000Mhz#include #include unsigned char a;unsigned char p;unsigned char m;unsigned char n;void port_init(void)PORTA = 0x00;DDRA = 0x00;PORTB = 0x00;DDRB = 0x00;PORTC = 0x00;DDRC = 0x00;PORTD = 0x00;DDRD = 0x70;PORTE = 0x00;DDRE = 0x04;/TIMER0 initialize - prescale:64/ WGM: Normal/ desired value: 40Hz/ actual value: Out of rangevoid timer0_init(void)TCCR0 = 0x00; /stop timerTCNT0 = 0xfa /*INVALID SETTING*/; /set count valueTCCR0 = 0x03; /start timer#pragma interrupt_handler timer0_ovf_isr:8void timer0_ovf_isr(void)TCNT0 = 0xfa /*INVALID SETTING*/; /reload counter valueif(m=a)PORTD=0x70;TCCR1B=0x03;TCCR0=0x00;n=1;elsem+;/TIMER1 initialize - prescale:64/ WGM: 0) Normal, TOP=0xFFFF/ desired value: 40Hz/ actual value: 40.013Hz (0.0%)void timer1_init(void)TCCR1B = 0x00; /stopTCNT1H = 0xff; /setupTCNT1L = 0xfa;OCR1AH = 0x06;OCR1AL = 0x1A;OCR1BH = 0x06;OCR1BL = 0x1A;TCCR1A = 0x00;TCCR1B = 0x00;#pragma interrupt_handler timer1_ovf_isr:7void timer1_ovf_isr(void)TCNT1H = 0xff; /reload counter high valueTCNT1L = 0xfa; /reload counter low valueif(n=250-a)PORTD=0x20;TCCR0=0x03;TCCR1B=0x00;m=1;if(p=0)if(a=125)p=1;elsea+;elseif(a=1)p=0;elsea-;elsen+;/call this routine to initialize all peripheralsvoid init_devices(void)/stop errant interrupts until set upCLI(); /disable all interruptsport_init();timer0_init();timer1_init();MCUCR = 0x00;EMCUCR = 0x00;GICR = 0x00;TIMSK = 0x82;SEI(); /re-enable interrupts/all peripherals are now initializedvoid main(void)a=0;p=0;m=1;n=1;init_devices();while(1)PORTE=0x04;5总结与展望本设计是在对智能小车进行了一定的研究的基础上,选择了STC89C52单片机作为该智能小车的控制核心,在查阅相关资料后,比较各自的优缺点,总结思路,确定本次设计的主要功能及硬件系统构成,完成硬件系统的主要元件的选型。完成硬件系统设计,设计系统方框图、电路原理图,最终完成智能小车的设计。尽管所设计的智能小车能实现避障,但是该智能小车处于比较简单基础的阶段,在遇到繁琐的障碍物时该小车不能有效的避障,还需要进一步的拓展与加深。主要的改进方向有:增加多个传感器,多方位感测障碍物,使用更先进的元件,感测远距离的障碍物。同时还可以增加清洁绿色节能的太阳能电池代替电池块,还可以增加测速模块,使小车实现更加智能化,人性化。 致 谢历时三个月的毕业设计已经告一段落。经过自己不断的搜索努力以及王老师的耐心指导和热情帮助,本设计已经基本完成。从最初我对本次设计的不了解到能够整体把握再到比较顺利的完成本次设计,这一步一步的走来,其中都包含了王老师耐心的指引和教导。通过本次设计,我从宏观上把握了智能小车的原理以及结构设计,加深了以往学习的专业知识。王老师的课程和别的老师不太一样,从教学方法上看,王老师是循序渐进,引人入胜。同样在本次设计中老师始终践行着“授人以鱼,不如授之以渔”的原则,他经常教导我们遇到问题先自己解决,自己解决不了再小组讨论,讨论还得不到结论的再找老师一起讨论。这种学习模式的大大提高了学习的自主能动性,发挥了团队合作精神。在此,我向王老师表示我最诚挚的谢意。此外还要感谢我们小组的其他几位成员,在设计的整个过程中,我们相互讨论,也解决了一定的问题,从你们身上我看到了“认真”二字,在无形中也促使我更加用心的完成本次设计。感谢我的父母,对我二十多年来辛勤的养育,他们对我无条件的支持,让我可以去追求自己的梦想,他们的爱是我前行的动力。在设计的过程中,也得到了许多同学宝贵的建议,在此一并致以诚挚的谢意。最后,衷心的感谢机电工程系的每位老师,谢谢你们在学习上、生活中给予我的关心与支持。衷心祝愿唐山学院的明天更加美好!参 考 文 献1 何立民. 单片机应用系统设计,北京:航天航空大学出版社,25,46502 李广弟. 单片机基础,北京:北京航空航天大学出版社,2001,56643 何希才. 新型实用电子电路400例,电子工业出版社,2000年,60654 赵负图. 传感器集成电路手册,第一版,化学工业出版社,2004,5905915 陈伯时. 电力拖动自动控制系统,第二版,北京:机械工业出版社,2000年6月,1271306 张毅刚, 彭喜元. 新编MCS-51单片机应用设计,第一版,哈尔滨工业大学出版社,2003,2527,4114177 潘晓宁. 单片机程序设计实践教程.北京:清华大学大学出版社,20098 江志红. 51单片机技术与应用系统开发案例精选.北京:清华大学大学出版社,20089 清民.传感器与单片机接口及实例.北京:航空航天大学出版社,200810 蔡明文.单片机课程设计.湖北:华中科技大学出版社,200711 刘同法.单片机外围接口电路与工程实践.北京:航空航天大学出版社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国家电控制板行业市场现状分析及竞争格局与投资发展报告
- 2025至2030中国女式马靴行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国增塑溶胶木质素行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国城市商业银行行业市场发展分析及发展潜力与投资机会报告
- 2025至2030中国咖喱粉市场需求潜力分析及投资方向预测报告
- 2025至2030中国合工钢行业发展分析及产业运行态势及投资规划深度研究报告
- 你活在我心里争执200字(9篇)
- 夏日的景色500字15篇
- 家乡的春节作文模板400字(10篇)
- 小动物的节日记事作文10篇
- 江西省吉安市遂川县2024-2025学年数学三下期末达标检测试题含解析
- 卫健系统2025年上半年安全生产工作总结
- EPC项目-总体实施方案
- 第一章体育与健康基础知识 第一节 科学发展体能 课件 2024-2025学年人教版初中体育与健康八年级全一册
- 高三数学复习策略
- 大豆病虫害的综合防治
- 贵州省毕节市2023-2024学年高二下学期期末考试 政治 含答案
- 2025年度智能驾驶技术研发合同4篇
- 医学检验技术专业就业能力展示
- 体育场馆消防控制室操作规范
- 《中国政法大学》课件
评论
0/150
提交评论