自动追光避障小车.doc

上传人:夺命阿水 文档编号:15251 上传时间:2022-06-29 格式:DOC 页数:16 大小:1.91MB
返回 下载 相关 举报
自动追光避障小车.doc_第1页
第1页 / 共16页
自动追光避障小车.doc_第2页
第2页 / 共16页
自动追光避障小车.doc_第3页
第3页 / 共16页
自动追光避障小车.doc_第4页
第4页 / 共16页
自动追光避障小车.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《自动追光避障小车.doc》由会员分享,可在线阅读,更多相关《自动追光避障小车.doc(16页珍藏版)》请在课桌文档上搜索。

1、自动追光自动避障电动小车 摘 要 本设计基于STC89C52单片机为控制器,设计实现了一个带有自动寻光、自动避障、自动追光太阳能充电系统的电动小车。本系统包含控制器、步进电机与驱动、小车寻光、超声波避障、太阳能板充电以与太阳能板自动追光等模块。该自动追光自动避障电动小车能够在2m*2m的场地自动寻找光源前进,在无白炽光光源情况下,小车可沿自然光源方向前进;利用超声波检测前方多个障碍物并能绕道前行;在到达光源一定位置后,小车能够停止前进;车上太阳能板能够自动追光并始终对准光源并给锂电池充电,且有LED灯显示充电状态;小车能在规定的时间跑完全程并能自行停止。整个系统实现了全部功能要求,运行稳定。关

2、键词:STC89C52 步进电机 寻光 避障 太阳能板1引言随着生产自动化、环保的开展需要,电动车、太阳能已经越来越广泛地应用到实际中。随着科学技术的开展,电动车的传感器种类也越来越多,其中红外传感器、超声波传感器已经成为自动行走和避障的重要部件;太阳能技术也渐渐地进入人类的生活。设计小车必须能够在2m2m的场地自动寻找光源前进;能够检测前方多个障碍物并能绕道前行;车上太阳能板能够自动追光始终对准光源并给锂电池充电,且有显示充电状态;小车能在规定的时间跑完全程并能自行停止。为实现设计要求,电动小车必须由多种多个传感器控制完成,寻光、避障传感器的选择与电路设计是本设计的关键,而实际的检测对此类的

3、传感器的要求较高,怎样防止和解决上述问题也是本次设计的难点。因此,本设计将围绕这些方面展开。系统的设计框图如图1所示。电机驱动避障电路寻光电路控制器太阳能充电电路太阳能追光电路AD采样电路图1 电动小车系统框图本设计电动小车由直流电机驱动后轮前行,通过车头两侧的光敏电阻寻找光源,在遇到路障时通过超声波传感器电路能够检测障碍并绕道继续寻光前进。在小车行进过程中,由车前侧的两个光敏电阻追踪光源,通过转动步进电机控制太阳能板旋转,并面对光源给蓄电池充电。在整个过程中,控制器控制各模块的协调运行。2方案的设计2.1.1下车寻光、太阳能板追光模块方案一:采用发光二极管方案。该方案在实际使用时,容易受到外

4、界光源的干扰,有时甚至检测不到。主要是因为可见光的反射效果跟地表的平坦程度、地表材料的反射情况都有直接关系。虽然可采取超高亮度发光二极管降低一定的干扰,但这又增加额外的功率损耗。方案二:采用光敏电阻追光,该设计采用的光源是白炽灯,白炽灯是在照明的时候能够产生大量的热量,我们可以利用该特性,采用热敏电阻制作一个停车模块。热敏电阻的阻值能够随着周围热的不同而改变,然后通过比拟器控制小车靠近光源时自动停车。考虑到光敏电阻的灵敏度较高,价格廉价,电路较简单,结合实际的应用环境,因此我们采用方案二。方案一:用超声波传感器进展避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射

5、回来,再被超声波传感器接收。超声波传感器在避障的设计中应用广泛。方案二:用漫反射式光电开关进展避障。光电开关的工作原理是根据光线发射头发出的光束,被物体反射,其接收电路据此做出判断反响,物体对红外光由同步回路选通而检测物体的有无。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。考虑到本系统需要迎光检测障碍物,环境复杂。白炽灯对光电开关的接收干扰较大,为了使用方便,便于操作和调试,系统最终选择了方案一。方案一:采用直流电机。直流电机具有优良的调速特性,调速平滑、方便,调整围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转;能满足生产自动化系统各种不同的

6、特殊运行要求。方案二:采用步进电机。采用步进电机作为该系统的驱动电机。由于其转过的角度可以准确的定位,可以实现小车前进路程和位置的准确定位。但是,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适合于小车等有一定速度要求的系统。基于以上分析,选择方案一。为了达到准确的寻找光源,电路采用光敏电阻来寻光。当小车在行进中,我们考虑到光源的固定位置,且有障碍物的影响,进而在小车的头部位置左、右、两侧放置两个光敏电阻。光敏电阻接收到光源发出的光源时,单片机可直接对接收到的信号进展判断是否检测到光源,并通过对检测到的信号进展处理来决定小车的运动方向。超声波传感器有发送器

7、和接收器,它是利用压电效应的原理将电能和超声波相互转化。超声波测距的原理一般采用渡越时间法,首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物的距离。超声波传感器具有测量一定的测量围,一般从几厘米到几米不等。本系统采用专门的超声波传感器集成模块实物图见附录图1,通过设定一定的距离来进展避障,在设计过程中,采用两个该超声波传感器来进展较大围的避障,从而保障小车正常行驶。 本设计太阳能板由两块小规格太阳能板并联而成。该电路由步进电机、太阳能板、光敏电阻电路组成,电路框图如图2所示。光敏电阻控制器步进电机光源太阳能板图2 太阳能板追光电路框图通过固定在太阳能

8、板上的光敏电阻电路寻找光源,反响信息给单片机,由控制器控制太阳能板下面的步进电机并利用ULN2003A驱动从而带动太阳能板来跟踪光源原理图见附录3。该电路设计由太阳能板接收光源后通过充电控制器给单节锂电池3.7V 750mA充电,电路框图如图3所示。太阳能板充电控制电路锂电池图3太阳能板充电电路框图在充电过程中,锂电池自身具有过冲过放保护,因此电路在充电控制局部增加了反接、短路等保护模块,原理图见附录2。采用PCF8591采集太阳能板给锂电池提供的电压值原理图见附录4,反响单片机控制实现小车停止前进、显示蓄电池充电状态以与小车沿自然光源方向前进等功能,其工作原理框图如图4所示,太阳能板AD采样

9、控制器电机LED图4采样电路原理图本设计使用的直流电机供电,用LM298N驱动芯片驱动,其中单片机STC89C52通过I/O口向LM298N的IN1,IN2,IN3,IN4发送驱动控制信号,从而控制步进电机的速度与正反转。LM298N是具有高电压大电流的全桥驱动芯片,它相应频率高,且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。电路图如附录3所示:电动小车的电机驱动电源采用8V 8A的开关电源原理图见附录4。而单片机与各电路模块所需电源均由5V电源提供,该电路由开关电源作输入,由三端稳压芯片7805、LM317起稳压作用,2200uf电解电容、100uf和瓷片电容起滤除

10、纹波作用,输出+5V电源。23系统软件设计 本系统软件主要流程图如图5所示:图5系统软件流程图3设计实现 1、小车自动寻光与太阳能板追光。设计在实际的小车寻光过程中,对光敏电阻的灵敏度要相当高的,在测试时光敏电阻很容易接收不到光源,此外障碍物与光源之间的高度差产生了一段盲区,影响对光敏电阻的工作,因此在调试接光敏电阻的高度与灵敏度是关键的。2、小车自动避障。设计避障的方法较多,在开始阶段设计尝试了红外对管避障,但很容易发现光源的红外管会影响对管的工作,此后方案便选择了超声波避障的方法,虽然超声波传感器对环境的要求也较高,但相比红外对管在白炽灯照射的情况下,超声波避障还是很好实现的。通过避障电路

11、的测距原理,通过限定一定的距离围,当超声波检测到该段围便认定为有障碍物,另通过安置左右两个传感器可以更有效地完成避障任务。系统容易受到光源除测试光源的干扰,测试时必须在无其他光源干扰的条件下进展,并要确保供电电源的稳定性,测试使用的仪器设备如下表1所示。表1 测试使用的仪器设备序号名称数量备注规格、作用1白炽灯1100W以下2障碍物5个以上不小于15cm*15cm*15cm3秒表1测试时间4米尺1测量场地大小1用小于100W的白炽灯做引导光源,高度不高于25cm,场地不小于2m*2m,且场地中放置5个障碍物。2小车寻光。在场地,随意将光源放置在小车前方2米的不同的位置,测试记录如表2所示。表2

12、 测试寻光光源位置次数备注正前方33次均能寻光前行左前方33次均能寻光前行右前方3次均能寻光前行测试结果:小车能够寻到光源并追踪光源,比拟稳定。3小车避障。在尺寸为2m*2m的场地,随意将障碍物放置在场地不同的位置,测试记录如表3所示。表3 测试避障障碍物个数形状时间31字形48S3品字形 53S3 任意形 54S5一字形59S5任意形 64S 测试结果:小车根本能在规定时间走完全程,但有时不稳定。4太阳能板追光。将光源固定在场地边,通过改变太阳能板的位置来追寻光源,测试记录如表4所示。表4 测试太阳能板追光光源位置次数备注直射太阳能板3太阳能板能直射光源并小车寻光前进左偏太阳能板3太阳能板左

13、偏且小车左转右偏太阳能板 3太阳能板右偏且小车右转背对太阳能板32次太阳能板能自动寻找到光源测试结果:太阳能板追光完全能够实现自动追光。5太阳能板给锂电池充电供电状态显示。 通过AD采样电压值,假如太阳能板与锂电池之间的电压发生变化,单片机便控制外部LED点亮。测试结果:LED灯在太阳能板迎光时点亮,不迎光时灭掉。6小车逆光前进,并绕过障碍物。将太阳能板背对白炽灯光源,小车正对光源。测试结果:在自然光状态下,让太阳能板自检周围环境,通过AD0809采集太阳能板之间的电压,根据电压的大小来判断自然光的强弱。“四天三夜对于参加电子设计大赛的参赛者来说,它的含义就是将大家所学的知识发挥到极致,做出最

14、优秀的电子作品!逆水行舟,仍需坚持到最后一秒!根据大赛的时间期限,设计小组在最终完成了小车的制作和程序的编写。小车能以一定速度追着光源行进,太阳能板始终能面对光源给蓄电池充电。小车行进过程中如果遇到路障,小车能避开路障绕道找到光源并继续追光前进。制作过程中,成员们克制了许多困难,完成了小车主体的器件分布规划和焊接。期间出现了很多错误,但都被与时发现并纠正了。从中受益最深的是步进电机驱动电路、超声波避障使用、光敏电阻寻光等。在这次的故障排查中,大家体会到前期规划的重要性,在焊之前考虑一下器件的焊接顺序和可能出现的问题,这样在焊的时候才会比拟流畅,布线也比拟清楚,查错也很容易。对于这次比赛,设计小

15、组深刻的理解了“信念这个词,坚持到最后一秒,也是大赛里所要学的最终的道理!通过实际操作加深了大家对理论知识的理解和运用能力,相信本组的努力会取得好的成绩。参考文献1建领.51系列单片机开发宝典.:电子工业,2007年.2余锡存,曹国华著,单片机原理与接口技术,:电子科技大学,2003年。3田良,黄正谨,综合电子设计与实践,:东南大学,2003年。4亮,侯国锐,单片机C语言编程与实例,:人民邮电,2004年。5黄智伟,王彦,全国大学生电子设计竞赛训练教程,:电子工业,2005年。附录1:超声波避障实物图附录2:主控制电路原理图附录3:步进电机驱动电路图附录4:太阳能板采样电路原理图附录5:小车实

16、物图1附录6:小车实物图2附录7:主要程序清单#include#include#include#includevoid main(void)initTimer();TR1=1;ET1=1; EA=1;while(1) if(flag= 6) flag=0; timer+; if(timer = 6) timer=0;Step_motor () ; if(flag =0) leftdistance();/ display(S1); else if(flag = 1) rightdistance() ;/ display2(S2); elseif(flag = 2) stop_car(); con

17、trol( ); else if(flag = 3) get_right_light();elseif(flag = 4) get_left_light(); else if(flag = 5) zhuiguang(); void timer1(void) interrupt 3 TH1=0x4c; TL1=0x00; flag +; #include #include #define uchar unsigned char#define uint unsigned intuchar flag = 0;static uint S1=0,S2=0;int time;uchar timeL;uch

18、ar timeH;sbit leftTrig=P10;sbit leftEcho=P32;sbit rightTrig=P11;sbit rightEcho=P33;/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f;/uchar code table1=0,1,2,3,4,5,6,7;/void delay(uint z)/ uint x,y;/ for(x=z;x0;x-)/ for(y=110;y0;y-);/void delay_20us() uchar a ; for(a=0;a100;a+); /

19、*/显示数据转换程序数码管显示 /*void display(uint temp) uchar ge,shi,bai; bai=temp/100; shi=(temp%100)/10; ge=temp%10; P2=table12; P0=tablege; delay(1); P2=table11; P0=tableshi; delay(1); P2=table10; P0=tablebai; delay(1); void display2(uint temp) uchar ge,shi,bai; bai=temp/100; shi=(temp%100)/10; ge=temp%10; P2=

20、table15; P0=tablege; delay(1); P2=table14; P0=tableshi; delay(1); P2=table13; P0=tablebai; delay(1); */ /*void leftdistance() leftTrig=0; leftTrig=1; delay_20us(); leftTrig=0; while(!leftEcho); TH0=0; TL0=0; TF0=0; TR0=1; while(leftEcho); TR0=0; timeH =TH0; timeL =TL0; time=timeH*256+timeL; S1=time*

21、0.0172; / / S1= leftdistance; /display(leftdistance); void rightdistance() / uint rightdistance; rightTrig=0; rightTrig=1; delay_20us(); rightTrig=0; while(!rightEcho); TH0=0; TL0=0; TF0=0; TR0=1; while(rightEcho); TR0=0; timeH =TH0; timeL =TL0; time=timeH*256+timeL; S2=time*0.0172; / S2= rightdista

22、nce; /display2(rightdistance); void timer0(void) interrupt 1 /超声波计数 TH0=0x00; TL0=0x00;void Step_left_run() unsigned char i,j; for(j=0;j8;j+) for(i=0;i8;i+) P2=B_Rotationi; Step_Delay(250); /*步进机左转函数*/void Step_right_run() unsigned char i,j; for(j=0;j10;j+) for(i=0;i30) Step_right_run(); else if(old_Step-new_Step)30) Step_lift_run(); void stop_car() if(liftphotocell=240)&(rightphotocell=240)moto_Stop;while(1) Step_motor () ;if(new_Step=250)P2 =0;while(1);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号