自动追光自动避障电动小车Word格式文档下载.docx
《自动追光自动避障电动小车Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《自动追光自动避障电动小车Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
2.2、总体设计方案:
电动小车采用太阳能收集光源,然后通过升压电路给蓄电池供电,由蓄电池给电动小车提供动力,实验中使用100W的白炽灯作为光源。
自动避障使用红外传感器,红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,发出的红外线照射到黑色的平面后红外线被吸收。
若红外接收管能接收到反射回的红外线则检测出白线继而输出低电平,若接收不到红外线则检测出黑线继而输出高电平。
寻光采用的光电传感器光敏二极管,其工作原理是光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。
无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止;
当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。
自动停车是利用热敏电阻距离光源远近不同而电阻阻值不同,利用此原理使电动小车停止。
系统结构图如图1所示:
充电状态显示
太阳能板收集
蓄电池
主控制
CPU
STC89C52
自动避障
步进电机驱动
自动寻光
电动小车
自动停止
图1系统结构图
2.3、单元模块电路设计:
(1)电源模块:
太阳能电板收集由白炽灯散发的光能,随之转换为电能,每一块太阳能电板的电压随着距离光源的远近而不同,使用四块太阳能电板串联以提高电压。
但在给蓄电池充电时需要升压电路,给太阳能的输出电压进行升压,然后给蓄电池供电。
升压电路有如下两种设计:
方案一:
使用MC34063DC/DC升压电路,此芯片能在3.0v-40V的输入电压下工作,短路电流受到限制,在无外接三极管输出的情况下,输出开关电流可达1.5A,输出电压可调,工作振荡频率从100HZ到100KHZ。
方案二:
使用TPS61200DC/DC升压电路,输入电压的范围为0.3-5.5V,输出的电压稳定在6V左右,
测试发现,四块太阳能电板串联在距离较远时仍达不到3V,由于方案一种的MC34063的输入电压最小在3V,而方案二中的升压电路可以满足,因此选择方案二。
(2)自动避障模块的设计:
利用超声波传感器进行检测,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点,超声波传感器主要采用直接反射式的检测模式。
位于传感器前面的被检测物通过将发射的声波部分地发射回传感器的接收器,从而使传感器检测到被测物。
还有部分超声波传感器采用对射式的检测模式。
一套对射式超声波传感器包括一个发射器和一个接收器,两者之间持续保持“收听”。
位于接收器和发射器之间的被检测物将会阻断接收器接收发射的声波,从而传感器将产生开关信号。
使用红外传感器,它是一种集发射与接收于一体的光电传感器,检测距离可以根据要求进行调节。
该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点。
红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,发出的红外线照射到黑色的平面后红外线被吸收。
考虑使用的方便性、稳定性和检测具体的可调性,选择方案二,该小车使用红外避障传感器,在使用的时候可根据要求自行的调节检测距离,更好地实现小车避开障碍物而继续行驶的功能。
(3)自动寻光模块的设计:
方案:
寻光主要也是由光电传感器来完成,使用的是光敏二极管。
光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。
输出经LM393电压比较器,然后将LM324输出的波形输入单片机STC89C52中,进而控制小车寻找光源。
因此可以利用此特性进行自动寻找光源。
(4)太阳能电池板旋转模块的设计:
在小车行驶时,遇到障碍物时,若小车向左避开障碍物,则由步进机旋转带动太阳能电池板向右旋转一定的角度;
若小车向右旋转一定的角度,则由步进机旋转带动太阳能电池板向左旋转一定的角度。
这样就可以确保太阳能电池板始终正对着光源。
在太阳能电池板正对着光源时,此时太阳能电池板的采光面最大,如果太阳能电池板不正对着光源,此时采光面减小,因此可以利用此原理,在行驶过程中,对太阳能电池板是否正对光源进行判断,然后通过单片机进行控制。
综合可知,方案二实现比较困难,而且成本较高,因此选用方案一。
(5)自动停车模块的设计:
利用超声波传感器测距技术,当小车行驶到一定的距离后,若满足要求即可停车。
超声波测距技术是一种有源非接触测距技术,是利用超声波在空气中的定向传播和固体反射特性,通过接收自身发射的超声波反射信号,根据超声波发出及回波接收时间差和传播速度,计算出传播距离,从而得到障碍物到研究平台的距离。
利用太阳能电池板的电池电压随距离光源的远近而不同,设定一定距离后,当太阳能电池板的电压达到设定电压,利用电压比较器LM324与参考电位进行比较,然后输入单片机STC89C52进行控制电动小车的行驶。
方案三:
使用热敏电阻,当电动小车到达距离光源一定距离后,光敏电阻感热,阻值发生变化,因此可以使用此原理控制电动小车自动停车。
综合考虑方案三,电路简单,容易搭建,且成本不高,易于控制,选择方案三。
3、硬件电路设计
太阳能电池板收集的光能转换为电能,由于其电压较低,因此需要升压电路进行升压后,方能使用,电路图如图二所示,使用升压芯片TPS61200,使输出电压升高,供蓄电池充电。
电路原理如图2所示:
图2蓄电池充电的升压电路
主要参数计算:
R1=R2*(Vout/Vbf-1);
R3=R4*(Vinmin/Vuvlo-1);
Lmin=Vun*0.5;
Lmax=(Vout*Iout/0.8Vin)+[Vin*(Vout-VIN)]/(2Vout*f*L)
由使用手册得知:
R4理论不超过250K、Vuvlo取典型值250mv、Vbf=0.5V。
自动寻光电路:
此电路中LM324由单电源供电,R1和R2的阻值实现了分压,光敏二极管根据是否检测到光源而电压不同,光敏二极管上的分压与R2上的分压进行比较,然后输入单片机STC89C52中判断,以至控制电动小车的行驶方向。
电路图如图3所示:
图3自动寻光电路
4、硬件的功能调试与测试结果:
设计所用的主要仪器如表一所示:
表一:
主要仪器
仪器名称
用途
数量
单片机
调试及下载程序
1
数字万用表
测量各电路工作情况
直流稳压电源
提供动力
秒表
测量小车运行时间
卷尺
测量小车运行距离
100W白炽灯
提供光源
硬件的功能调试如表二所示:
表二:
硬件的功能调试
测试项目
测试过程
测试结果
备注
电源模块
太阳能电池板四块串联,通过升压电路给蓄电池充电,充电状态用一个发光二极管显示。
蓄电池充电过程中,二极管正常发光。
正常
小车放置在光源的不同方向,测试小车的寻光功能。
小车可以在光线范围内寻到光源
自动壁障
小车如果左边发现障碍物,小车右转避开障碍;
小车如果右边发现障碍物,小车左转避开障碍。
电动小车能够自动避开,避开以后继续沿光源方向行驶。
自动停车
电动小车到达一定位置,电动小车自动停车。
太阳能电池板正对光源
在避障的过程中,若小车左转,太阳能电池板向右旋转一定的角度;
若小车右转,太阳能电池板向左旋转一定的角度。
基本可以实现太阳能电池板与光源正对,但有一定的偏差。
系统调试:
太阳能电板可以显示给蓄电池充电的状态,小车可以自动寻光、自动避障,电动小车的直线行驶距离大于1.2米,行驶时间小于120秒。
到达一定的位置时,电动小车能够自动停车。
测试结果分析:
经过调试测试后,使用光敏二极管可以使小车能够寻找光源,如果使用光敏三极管的话,可以使的寻找光源更加精确。
电动小车沿光源方向运动时,红外传感器进行障碍物检测,实现自动避障,太阳能电池板可以在壁障的时候,太阳能电池板不能对准光源,使用步进电机,调整太阳能电池板使它始终对准光源。
使用热敏电阻控制小车自动停车,到达距离光源一定位置时,热敏电阻工作,控制电动小车自动停止。
各个模块工作正常,单片机也能正确控制电动小车的运动,系统比较稳定。
5、结论
经过几天的努力,完成了模块的设计与制作,完成了整个系统的编程、组装与调试。
基本上满足竞赛的要求,使用模块时,综合考虑电路的简单、电路的成本、以及电路的性能。
此次设计仍有一些问题没有得到完全解决,对一些器件的应用还不是很熟悉,因此在今后的学习中,更要好好学习知识,增加技能训练。
通过这一次竞赛学习了很多知识,比如红外传感器的原理与应用的知识,光敏二极管的原理与应用电路等,当我们遇到不懂不会的问题时,我们能通过图书馆、网络等各种渠道学习想要知道的知识,有时候虽然只是一个很简单的小车模块,但使我们认识到自己所学的专业知识在实践中所出现的很大的不足。
在实际的设计当中也应注意到的许多问题,如在焊接时应提前布线、制图,以免在调试过程时无从下手。
虽然在这次设计中对于知识的运用和衔接还不够熟练,但是我们将在以后的工作和学习中继续努力、不断完善。
学习自己的专业知识,加强自己的动手实践,努力提高自己的专业技能,能在今后的生活学习中更好的应用。
在这次竞赛中,团队合作精神起到了关键性的作用,队员之间合理分工,共同配合,不仅可以发挥每个人的不同优点,而且更可以锻炼各个队员之间的配合,提高了效率。
不仅在比赛中学到了知识,而且学到了不同的学习方法,尤其在方案讨论中,队员提出不同的方案,经过论证之后,可以取得更好的方案,也在竞赛中彼此的学习。
参考文献:
张毅刚《单片机原理与应用设计》电子工业出版社
姜志海赵艳雷《单片机的C语言程序设计与应用》电子工业出版社
康华光《电子技术基础模拟部分》高等数学出版社
康华光《电子技术基础数字部分》高等数学出版社
附录
附录A:
总电路系统图:
图四
图四:
总电路系统图
附录B:
1、检测光源程序流程图:
图五
左转正转
左转反转
否否
检测光源
寻光
是是
图五:
光源程序流程图
2.、总程序流程图:
图六
初始化
是否探测到光源
检测光源
否
是
前进
左转
右转
光源位置检测
偏左偏右
中断中断
左边有避障
右边有避障
是否停车
太阳能电板正对光源
停车
图六:
程序总流程图
附录C:
程序清单
#include<
REG51.H>
sbitLEDL=P3^5;
sbitLEDM=P3^6;
sbitLEDR=P3^7;
sbitSTOOP=P3^1;
sbitZHONGDUAN=P3^0;
sbitENA=P1^0;
sbitIN1=P1^1;
sbitIN2=P1^2;
sbitENB=P1^3;
sbitIN3=P1^4;
sbitIN4=P1^5;
#defineuintunsignedint
#defineucharunsignedchar
voidDelayMS(uintms)
{
uchari;
while(ms--)
{
for(i=0;
i<
120;
i++);
}
}voiddianchil(uchars)
{
while(s--)
{P2=0x08;
DelayMS(40);
P2=0x04;
P2=0x02;
P2=0x01;
}
voiddianchir(ucharp)
while(p--)
{P2=0x01;
P2=0x05;
voidturn1(uchara)
{P1=0x03;
DelayMS(90*a);
P1=0x1b;
voidturn2(ucharb)
{P1=0x18;
DelayMS(90*b);
voidscan(void)
if(LEDL==1&
&
LEDM==0&
LEDR==0)
{turn2(4);
}
LEDM==1&
{turn2
(2);
if(LEDL==0&
LEDR==1)
{turn1(4);
{turn1
(2);
{P1=0x1b;
voidchushi(void)
DelayMS(400);
P1=0X00;
DelayMS
(1);
{P1=0x03;
DelayMS(300);
DelayMS
(2);
{P1=0x05;
DelayMS(1180);
P1=0X00;
DelayMS
(1);
DelayMS(360);
DelayMS
(1);
}
scan();
voidINT0_ISR()interrupt0
{if(ZHONGDUAN==0)
{P1=0X00;
while
(1);
P1=0x03;
dianchir(5);
dianchil
(2);
P1=0x18;
dianchil(3);
voidINT1_ISR()interrupt2
{if(ZHONGDUAN==0)
}
main()
{EA=1;
EX0=1;
EX1=1;
IT0=0;
IT1=0;
{chushi();
while
(1)
{P1=0x1b;
if(ZHONGDUAN==0&
STOOP==0)
DelayMS(1000);