论文自动避障·追光小车_第1页
论文自动避障·追光小车_第2页
论文自动避障·追光小车_第3页
论文自动避障·追光小车_第4页
论文自动避障·追光小车_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、 华侨大学 自动追光避障电动小车论文学校: 华侨大学学院: 信息科学与工程学院 班级:10级 集成电路设计与集成系统组员: 熊梓淋、项传煜、崔冰目录摘要3一、 设计要求41.1基本要求.41.2发挥部分.4二、系统方案设计52.1系统功能概述.52.2系统方案概括.52.3系统结构图.5三、模块设计方案选择.63.1、电源模块的设计.63.2、自动避障模块的设计.63.3、感光模块的设计.73.4、自动停车模块的设计.73.5、稳压模块的设计.73.6、步进电机驱动模块的设计.73.7、直流电机驱动模块的设计.83.8、太阳能电池板模块的设计.8四、系统各模块电路图附件.94.1、中央控制模块

2、94.2、太阳能电池板模块.94.3、感光模块.94.4、稳压电路.104.5、步进电机驱动电路.114.6、直流驱动电路.114.7、超声波模块原理图.114.8、超声波使能模块原理图.12五、软件设计.125.1 超声波控制125.2感光模块程序.145.3 步进电机驱动程序16六、电路调试.176.1追光系统调试.176.2避障系统调试.176.3太阳能电池板充电系统调试.186.4整体电路调试.18七、总结.18附录2:程序18摘要随着汽车自动化、智能化程序的提高,新一代智能汽车的研发在国内外受到越来越多的重视。目前,国内比较先进的智能车辆通过观测前方的路况,将路况信息输入到车内的电脑

3、中,通过计算机控制方向盘的运动实现自动避障的目的。然而随着汽车产业的快速发展,汽车产业目前已经进入调整期,目前,全球石油资源紧缺,且油价不断上涨,冲击了各个行业,尤其是汽车产业,同时人类面对着全球变暖、水平面上升等世界性问题。因此未来的汽车必将趋于电气化、智能化。众所周知太阳能是目前最为清洁的能源,对人类来说无疑是一种新型的能源。此次设计的简易电动小车的动力来自于太阳能转换的电能,是基于单片机控制及传感器技术,实现的功能是小汽车可自动寻光,并且能够利用超声波传感器检测道路上的障碍,以及电动小车的自动停车。电动小车由单片机stc89c52控制电动小汽车的自动寻光、自动避障、及自动停车。关键字:太

4、阳能电池板;单片机;超声波传感器;光敏二极管一、任务要求设计制作一套自动追光太阳能充电系统放置在电动小车上。小车以一定速度追着光源行进,太阳能板始终能面对光源给蓄电池充电。小车行进过程中会遇到路障,小车必须能避开路障绕道找到光源并继续追光前进。1.1基本要求(1)光源用不大于100w的白炽灯,场地不小于1.5m1.5m,障碍物不小于15cm15cm15cm。可以对光源进行聚光。(2)光源在离小车大于1.5m的固定位置摆放,放置高度不高于25cm。小车发现光源后沿光源方向前进。(3)小车前进方向上至少随机放置三个障碍物。遇到障碍物,小车应绕道前进。(4)在小车绕道过程中,太阳能板应始终对准光源。

5、(5)到达离光源一定位置后,小车应停止前进。(6)小车前进直线距离应大于1.2米,时间不大于2分钟。(7)能显示太阳能为蓄电池供电状态。1.2发挥部分(1)场地尺寸2m2m,光源离小车2米以上。(2)障碍物5个以上。(3)能逆着光源前进,并绕过障碍物。但太阳能板始终对准光源。(4)完成时间不大于1分钟。(5)在无白炽灯光源情况下,小车可以沿自然光源方向前进。(6)其它。二、系统方案设计2.1 系统功能概述初始时刻小车置于起点,打开电源,启动小车。小车会通过感光模块进行追光并检测前方障碍情况,太阳能板也能根据自己的感光模块自动正对光源。当在前进过程中遇到障碍物时,小车会根据避障系统来选择左转或右

6、转,以便避开障碍物。在避开障碍物后,小车趋光前进。同时太阳能板也时刻都正对光源,并能时刻显示充电状态。到达终点时,小车自动停车。 2.2 系统方案概括 主控制系统: 在此次设计中,涉及到一个外部中断,三个定时中断,所以采用常用的单片机stc89c52作为小车的主控制器,通过单片机来接收指令并发出指令,使小车的各项功能得以顺利完成。(1).感光系统:设计中不仅要求小车能够朝着光源前进,而且还要求太阳能板也要正对光源。通过各方面的了解,比较,最终我们决定采用了两套独立感光系统,来完成小车追光与太阳能电池板对光。这两个模块分别放在小车车头和太阳能板的左右两端,通过比较两边光敏电阻的电压,以此来判断是

7、否正对这光源。(2).避障系统:设计中采用三个避障模块。分别装在左,中,右,这样便可使小车顺利避障。(3).能源系统:使用一片lm2596-5(稳定5v输出)和lm2596_adj(可调输出)分别给芯片和电机供电。(4).动力系统:这次采用的是直接驱动两个直流电机的方式来解决小车动力问题。通过分别控制两个直流电机的转速使小车前进、后退、转向、停止等功能。2.3系统结构图充电状态显示 太阳能电池板蓄电池升压模块 主控制 cpu stc89c52稳压模块避障模块寻光模块电机驱动驱动小车系统总流程图:nynynyyny开始停车是否靠近光源对光太能板是否正对光源避障前方是否有障碍太能板是否正对光源充电

8、小车是否正对光源前进寻光三、模块设计方案选择3.1、电源模块的设计方案一:所有元器件采用单一电源。它供电简单,方便灵活,减小了车载重量和摩擦阻力。但是电机启动瞬间电流很大,会造成电压不稳定、有毛刺干扰等,不适用于要求电源稳压的cpu,严重时可能造成系统掉电。方案二:单片机必须与大电流器件分开供电,避免大电流器件对单片机造成干扰,采用两路供电,这样可以使用其中一路单独为单片、指示灯供电,另外一路提供l298n驱动直流电机使用。介于设计稳定性考虑,采用方案二。3.2、自动避障模块的设计方案一:采用超声波。由于超声波指向性强,能量消耗缓慢,在介质中传播距离远且具有频率高、波长短、绕射现象小等诸多优点

9、故而超声波已经广泛应用于现代社会之中。超声波传感器主要采用直接反射式的检测模式。位于传感器前面的被检测物通过将发射的声波部分地发射回传感器的接收器,从而使传感器检测到被测物。还有部分超声波传感器采用对射式的检测模式。一套对射式超声波传感器包括一个发射器和一个接收器,两者之间不断进行信息的传递。位于接收器和发射器之间的被检测物将会阻断接收器接收发射的声波,从而传感器将产生高低电平的跳变进而由单片机对其进行相关处理。方案二:使用红外传感器,它是一种集发射与接收于一体的光电传感器,检测距离可以根据要求进行调节。该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点。红外发射管发出

10、红外线,当发出的红外线照射到白色的平面后反射,发出的红外线照射到黑色的平面后红外线被吸收。若红外接收管能接收到反射回的红外线则检测出白线继而输出低电平,若接收不到红外线则检测出黑线继而输出高电平。由于测试中使用的是白炽灯,产生的光中,红外光占有比例较大,如使用红外传感器,会有较大的干扰。所以考虑到设计中对障碍物中尺寸和颜色上的要求以及使用的方便性、稳定性和检测具体的可调性,选择方案一,即使用超声波进行避障,在使用时可以方便的对最小避障距离进行调节,使得更好地实现小车避障功能而顺利趋光行驶。3.3、感光模块的设计方案一:使用光敏二极管和a/d转换电路来实现自动寻光。光敏二极管与半导体二极管在结构

11、上是类似的,其内部是一个具有光敏特征的pn结,具有单向导电性,因此工作时需加上反向电压。无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止;当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。输出经过adc0832进行a/d转换后得到的电压变化量反馈给单片机进行处理,进而控制小车寻找光源。因此可以利用此特性进行自动寻找光源。方案二:采用光敏电阻和a/d转换电路来实现自动寻光。由于光敏电阻的阻值会随着光照强度的增加而迅速减小,我们可以应用此原理,通过一个a/d转换出来的电压变化量经过单片机的处理来实现自动寻光功能。测试发现光敏二极管在对着光源移动时反应过于灵

12、敏,在距离光源较近的位置会出现一个跳变,且在离光源较近时(大约70cm至100cm)对光源及其不敏感,而且a/d读书不稳定,波动较大,从而影响小车的前进。光敏电阻虽然不如光敏二极管灵敏,但经过实际测试发现,其稳定性比光敏二极管好很多,经a/d转换后的数据线性性好,而且价格相对较低基本可以满足设计要求。因而选择方案二。3.4、自动停车模块的设计:方案一:采用热敏电阻, 该设计采用的光源是白炽灯,白炽灯是在照明的时候能够产生大量的热量,我们可以利用该特性,采用热敏电阻制作一个停车模块。热敏电阻的阻值能够随着周围热的不同而改变。然后通过比较器控制小车靠近光源时自动停车。方案二:利用感光模块上光敏电阻

13、的感光效应,当小车离光源越近时,经a/d转换后的电压值就会越小。因此可以利用此原理,给a/d设置一个初值,当达到这一初值时小车自动停止。经过实践,我们利用热敏电阻制作的停车模块对热不是很敏感,而且我们已有四个感光模块,效果也不亚于适应热敏电阻。因此我们选用了利用感光系统来进行停车。3.5、稳压模块的设计方案一:采用lm2596稳压芯片对干电池输出电压进行稳压。lm2596具有很好的线性和负载可调性。有固定输出和可调输出,其固定输出有3.3v、5v、12v,可调可以输出1.237v的各种电压。方案二:采用lm7805三端稳压器件进行稳压。其可固定输出5v稳定电压而且内部有过热保护和安全工作保护电

14、路。虽然lm7805器件是按照固定电压值来设计的,但当加载一些外部器件后,同样可以输出可变电压。综合考虑上述两种方案,由于lm2596输出电压1.237v稳定可调内部有过热保护和限流保护电路,外围电路简单,仅需4位外接元件,且使用的电感是比较容易购买的标准电感,输出电压可调性好。而lm7805是按固定输出5v电压值来设计的,常用于单片机的供电电路的设计。虽可输出可变电压值,但是其输出电压可调性差,更主要的是其效率低,只能达到60%75%,而lm2596最高效率可达90%。相比之下我们选择了方案一。3.6、步进电机驱动模块的设计方案一:采用uln2003步进电机驱动驱动芯片。uln2003多用于

15、单片机、智能仪表、plc、数字量输出卡等控制电路中。通常芯片采用dip封装。方案二:采用l298驱动芯片。l298既可以驱动直流电机又可以驱动步进电机,常用于打字机、数字机床、复印机等控制电路中。综合考虑上述步进电机的驱动芯片,uln2003具有电流增益高、工作电压高、温度范围宽、带负载能力强、工作效率高、外围电路设计简单、价格较低、易于购买等优点。所以本次设计中我们采用uln2003作为步进电机的驱动芯片。3.7、直流电机驱动模块的设计直流电机驱动采用l298驱动芯片。l298是sgs公司的产品,比较常见的是15脚multiwatt封装的l298n,内部同样包含4通道逻辑驱动电路。l298n

16、芯片可以驱动两个直流电机,也可以驱动两个二相步进电机或一个四相步进电机,输出电压最高可达46v。l298n可接受标准ttl逻辑电平信号vss,vss可接457 v电压。4脚vs接电源电压,vs电压范围vih为2546 v,输出电流可达25 a,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。l298n可驱动2个电动机,out1,out2和out3,out4之间可分别接电动机。5、7、10、12脚接输入控制电平,控制电机的正反转。ena,enb接控制使能端,控制电机的停转,也可用于控制pwm调速。3.8、太阳能电池板模块的设计本次设计采用两块太阳能电

17、池板并联的方式,通过吸收白炽灯散发的光能并随之转换成电能来供给蓄电池充。经测试一块太阳能电池板距离100w白炽灯约1.5-2米的时候电压约为3v,且而两块串联时约有6v。但是本次设计需要对太阳能电池板的输出电压进行升压处理,以供蓄电池充电。而串联时电流很小,即使离光源很近也无法进行升压。故采用两块太阳能电池板新并联的方式进行升压。进而给蓄电池充电。升压电路有如下两种设计:方案一:使用lm2577升压电路,输入电压,输出电压以通过电阻r1和电阻r2的比值进行调节(vout=1.23(1+r1/r2))。输入电压约5v,输出电压可达10v以上。方案二:使用tps61200 dc/dc升压电路,输入

18、电压的范围为0.3-5.5v,输出的电压稳定在6v左右,测试发现,两块太阳能电板并联在距离光源2米处可以达到5v,均满足两种芯片输入电压的要求,但由于方案二中的tps61200的价格较高、不易购买,封装为贴片式,不易使用,且输出电压较低。lm2577所需的最低电压为3v,但电流要求较高,在光强不够时,不能进行升压,但在离光源较近时可以将电压升至11v左右,以完成对8节电池充电,并能显示充电状态。综合考虑上述两种方案选用lm2577升压模块较为合理。四、系统各模块电路图附件4.1、中央控制模块: 该模块由单片机最小系统、外加5组电源构成。4.2 太阳能电池板模块太阳能电池板收集的光能转换成电能,

19、由于电压较低,因此需要升压电路,给蓄电池充电。升压电路原理图:4.3、感光模块感光电路采用光敏电阻和adc0832组合电路。通过a/d转换后的电压变换量反馈到单片机里进行寻光处理。原理图: 4.4、稳压电路本实验中的稳压电路采用两组lm2596芯片组合而成的稳压电路。一组固定输出5v电压(上图),供芯片使用。另外一组输出电压可调(下图),供电机使用。原理图:4.5 步进电机驱动电路本次设计中的步进电机驱动电路采用uln2003芯片组合而成的驱动电路,原理图:4.6、直流驱动电路直流电机驱动电路,采用l298直流电机驱动芯片,具体电路如图:4.7 超声波模块原理图5.8超声波使能模块五、软件设计

20、5.1 超声波控制本系统利用单片机控制超声波的发射和对超声波自发射至接受往返时间的计时,接受电路的输出端接单片机的外部中断源输入口。系统定时发射超声波,在启动发射电路的同时启动单片机内部定时器,利用定时器的计数功能记录超声波发射的时间和接受到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部中断子程序,读取时间差,计算距离。结构图如下部分程序代码:void barrier_detection(void) uchar i;barrier_flag=0; detector=4;time_0_count

21、=0;/定时器0工作在15cm障碍物检测while(detector)ex0 = 0;/关外部中断ie0 = 0; /清除外部中断0标志位tr0 = 0;/关闭定时器0 th0=0xfc; tl0=0x18; lefttx=1;middletx=1;righttx=1;switch(detector) case 4: leftcontrol=1;middlecontrol=0;rightcontrol=0; for(i=0;i16;i+) lefttx=!lefttx; break;/左侧超声波发波 case 2: leftcontrol=0;middlecontrol=1;rightcont

22、rol=0; for(i=0;i16;i+) middletx=!middletx; break;/中间超声波发波 case 1: leftcontrol=0;middlecontrol=0;rightcontrol=1; for(i=0;i=1;delay1ms(10); ex0 = 0;/关闭外部中断 tr0 = 0;/关闭定时器1 th0=0x3c; tl0=0xb0;time_0_count=1; /定时器0工作在定时50ms障碍物检测 tr0 = 1; /打开计数器1,65ms检测障碍 leftcontrol=0; middlecontrol=0; rightcontrol=0; 超

23、声波程序流程图:5.2感光模块程序感光模块主要有adc0832和光敏电阻组成。正常情况下adc0832 与单片机的接口应为4条数据线,分别是cs、clk、do、di。但由于do端与di端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将do和di 并联在一根数据线上使用。当adc0832未工作时其cs输入端应为高电平,此时芯片禁用,clk 和do/di 的电平可任意。当要进行a/d转换时,须先将cs使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端clk 输入时钟脉冲,do/di端则使用di端输入通道功能选择的数据信号。在第1 个

24、时钟脉冲的下沉之前di端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前di端应输入2 位数据用于选择通道功能 ,当此2 位数据为“1”、“0”时,只对ch0 进行单通道转换。当2位数据为“1”、“1”时,只对ch1进行单通道转换。当2 位数据为“0”、“0”时,将ch0作为正输入端in+,ch1作为负输入端in-进行输入。当2 位数据为“0”、“1”时,将ch0作为负输入端in-,ch1 作为正输入端in+进行输入。到第3 个脉冲的下沉之后di端的输入电平就失去输入作用,此后do/di端则开始利用数据输出do进行转换数据的读取。从第4个脉冲下沉开始由do端输出转换数据最高位data7,随

25、后每一个脉冲下沉do端输出下一位数据。直到第11个脉冲时发出最低位数据data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出data0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次a/d转换的结束。最后将cs置高电平禁用芯片,直接将转换后的数据进行处理就可以了。时序图如下:部分程序代码:uchar ad0832_2(void ) /太阳能充电板感光模块 uchar data_f,i,data_f1,i1,k1; d1=1; cs1=1; cs2=1; cs3=1; cs4=1; _nop_(); _nop_(); _nop_(

26、); cs4=0; d1=1; /芯片使能之前的初始化。第一个下降沿 clk=1; _nop_(); _nop_(); _nop_(); clk=0; / 确定通道模式、第2个下降沿 _nop_(); _nop_(); _nop_(); clk=1; d1=1; /设定通道初始化 _nop_(); _nop_(); _nop_(); clk=0; _nop_(); _nop_(); _nop_(); clk=1; d1=1; /设定通道初始化 .第3个下降沿 _nop_(); _nop_(); _nop_(); clk=0; /ad转化的初始化完成。 for(i1=0;i18;i1+) /得到

27、一个正常排序的8位数据 clk=1; _nop_(); _nop_(); clk=0; _nop_(); _nop_(); data_f1=1; data_f1|=d0; cs4=1; a4=data_f1; /将第二个ad值存储在a2中 k1=abs(a4-a3); return k1; 5.3 步进电机驱动程序步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的

28、。步进电机28byj48型四相八拍电机,电压为dc5vdc12v。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(a-b-c-d-a。),双(双相绕组通电)四拍(ab-bc-cd-da-ab-。),八拍(a-ab-b-bc-c-cd-d-da-a。)部分程序代码如下:void left2(uchar step3) uchar i; while(

29、step3) for(i=0;i4;i+) p0=taiyannengzhengi; delay1us(400); step3-; 六、电路调试6.1追光系统调试 首先是把两个感光模块分别固定在小车头的左右两端,在距离小车1.5米外的地方放置100w的白炽灯做光源。通过显示经a/d转换后的光敏电阻的电压来判断对光的强弱变化。当小车距离光源较远时,读数较大;靠近时,读数减小。小车是否是正对光源通过比较两个感光模块传出来的数据。当数据差不多相等时,小车正对光源,当小车偏离光源越大时时,差值会增大。 在刚开始测试时,因为读数的错误,出现了读出来的数据会有一个跳变,即数据刚开始时会随着光强的变亮而减小

30、,当减小到最小时会突然变大,然后在依次减小。而我们对于该种错误的读法采用了给光敏电阻加上一个外罩,使得在一定距离内不会出现跳变,且会随着光强的增强而线性减小。该种方法虽然能过寻到光源,但在某些环境下会出现差错。后来经过仔细排查并请教他人。发现程序中a/d读数的方式错误,漏掉了其中一位。经改正和测试,发现该种方法能够顺利完成寻光。6.2避障系统调试 避障系统采用的超声波避障。在刚开始时,我们采用的一个超声波模块配合一个步进电机进行避障,即在小车前进过程中,通过摆动超声波模块及时检测小车的左右和前面是否有障碍物,如有障碍物时,小车进行避障。在开始测试时,发现我们购买的是减速电机,速度不能满足在前进

31、过程中左右摇摆并进行避障。经改进,我们采用三个超声波模块组成的一个避障系统进行避障。分别装在小车车头的正前方和左右两边。当超声波只检测到左边或者右边有障碍物时,小车转向前进一个角度进行避障。当检测到左中后、右中、左中右都有障碍物时,小车先是进行后退转向,然后是前进一段距离进行避障。该种方法需要在测试时,不断的进行调试转向的角度,以达到顺利避障的目的。6.3太阳能电池板充电系统调试 充电系统采用两块太阳能电池板并联(以提高输出电流)的方式,再通过一个升压模块给8节电池进行充电。采用一个发光二极管来显示电池的充电状态。即:当电池满电时,由于发光二极管两端电势差较小,因而不足以点亮发光二极管。随着干电池电能

温馨提示

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

评论

0/150

提交评论