灭火机器人报告Word文档格式.docx

上传人:b****2 文档编号:1496614 上传时间:2023-04-30 格式:DOCX 页数:34 大小:1.18MB
下载 相关 举报
灭火机器人报告Word文档格式.docx_第1页
第1页 / 共34页
灭火机器人报告Word文档格式.docx_第2页
第2页 / 共34页
灭火机器人报告Word文档格式.docx_第3页
第3页 / 共34页
灭火机器人报告Word文档格式.docx_第4页
第4页 / 共34页
灭火机器人报告Word文档格式.docx_第5页
第5页 / 共34页
灭火机器人报告Word文档格式.docx_第6页
第6页 / 共34页
灭火机器人报告Word文档格式.docx_第7页
第7页 / 共34页
灭火机器人报告Word文档格式.docx_第8页
第8页 / 共34页
灭火机器人报告Word文档格式.docx_第9页
第9页 / 共34页
灭火机器人报告Word文档格式.docx_第10页
第10页 / 共34页
灭火机器人报告Word文档格式.docx_第11页
第11页 / 共34页
灭火机器人报告Word文档格式.docx_第12页
第12页 / 共34页
灭火机器人报告Word文档格式.docx_第13页
第13页 / 共34页
灭火机器人报告Word文档格式.docx_第14页
第14页 / 共34页
灭火机器人报告Word文档格式.docx_第15页
第15页 / 共34页
灭火机器人报告Word文档格式.docx_第16页
第16页 / 共34页
灭火机器人报告Word文档格式.docx_第17页
第17页 / 共34页
灭火机器人报告Word文档格式.docx_第18页
第18页 / 共34页
灭火机器人报告Word文档格式.docx_第19页
第19页 / 共34页
灭火机器人报告Word文档格式.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

灭火机器人报告Word文档格式.docx

《灭火机器人报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《灭火机器人报告Word文档格式.docx(34页珍藏版)》请在冰点文库上搜索。

灭火机器人报告Word文档格式.docx

LM7812CV的技术指标如下表:

表3-2稳压芯片7812参数

3.1.2电源模块电路原理图

由于单片机及所有的传感器系统供电采用的是5V的电源,而车体要良好的运行电机的供电电压应该达到12V,所以在电源的处理上采用了稳压芯片7805CV和7812CV。

图3.1电源部分电路图

3.2电机驱动芯片L298N

L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。

是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。

其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。

L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。

5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。

也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。

3.2.1L298N的逻辑功能:

表3-3SHARPGP2D12实物图

3.2.2外形及封装:

图3.2L298N实物图

3.2.3L298N电路原理图:

由于一片L298N可以直接驱动两个电机,但是为了加大驱动力,我们采用两路并联的方式来驱动电机。

图3.3L298N电路图

3.3避障检测传感器HS0038

3.3.1HS0038简介:

HS0038B-系列微型接收机红外遥控器控制系统。

PIN二极管和前置上组装引线框架,环氧包被设计成红外过滤器。

该解调输出信号可直接解码的微处理器。

HS0038B是标准的红外遥控接收器系列,支持所有主要传输代码。

3.3.2HS0038特点:

1、光检测器和放大器一体封装

2、内部可集成PCM频率过滤器

3、与TTL和CMOS电平兼容

4、改进的屏蔽电场,抗干扰能力强

3.3.3检测原理:

红外发射管发射出经过调制过的38KHZ的红外光,当前方没有障碍物时,接收器收不到红外光,相反当前方有障碍物时,接受器可以收到红外光。

根据此原理,机器人可以感知前方的路况从而决定是否前行。

3.3.4HS0038与单片机连接原理图:

图3.4H0038电路图

HS0038内部集成了红外接收——运放——验波电路——带通滤波(中心频率)——整形电路——驱动电路,通过加入38k的调制信号可使该电路抗干扰能力增强,减少了自然光的影响。

其实在红外发射和VCC之间有一变位器,阻值为2~5欧左右此图没标上.

3.4地面灰度检测传感器ST188

3.4.1ST188特点:

1、采用高发射功率红外二极管和高灵敏度光电晶体管组成。

2、检测距离可调整X围大,4--13mm可用。

3、采用非接触方式。

3.4.2检测原理:

ST188是红外收发一体的器件,发射管发射出红外光线,接收管就可以根据接收的红外光线的强弱,感知地面的灰度。

由于此模拟房间的地面被处理成为黑白两种颜色,通过比较器设置灰度的门限值,可以很方便的感知地面的颜色,从而做出相应的决策。

3.4.3应用X围:

1、IC卡电度表脉冲数据采样。

2、集中抄表系统数据采集。

3、传真机纸X检测。

4、地面灰度检测,正反转速测量、行程测量等。

3.4.4外形尺寸(单位mm):

图3.5ST188实物图

3.4.5ST188原理图:

图3-6ST188电路图

图3-7L324图

LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。

它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。

3.5火焰传感器

此传感器本品可广泛应用于灭火机器人比赛中测量火焰值、足球比赛时,用于确定足球的方向。

下图为火焰传感器实物图。

图3.8火焰传感器实物图

3.5.1火焰传感器使用

此传感器具有优良的火焰探测性能,可根据可见光、红外光强弱变化输出电平的大小。

其输出端口是一个四针的插头,其中黑色线为地线、红色线为电源线(+5V)、黄色线为信号线,用于输出测量的红外光强度电平、棕色线为信号线,用于输出可见光强度电平。

第四章软件设计

4.1灭火机器人行进路线分析

当小车处于起点,小车要开始搜索房间有两种路径可以选择,一是不过台阶,绕着4号房间向外搜索。

二是直接过台阶,然后开始搜索。

显然直接过台阶可以节省很多的时间,路径更短,因为我们制作的小车为履带结构,结合我们小车的特点和前面分析,我们选择过台阶。

过台阶后,小车处于3号和4号房间中间,由图可知,沿着右走的方案比较好,因此我们采用是右手规则,首先搜索的是3号房间,如图中的红色箭头。

当在3号房间发现火源时,小车进入房间并灭火,灭火后按原路返回;

如没有发现火源,小车继续按右手规则搜索房间,直到搜索4号房间,不管有没有搜索到火源,从4号房间出来都绕着4号房间返回起点,因为回家过程中的时间不记入总时间,而绕行比较安全,小车比较好控制。

图4.1灭火机器人行进路线

4.2软件流程图

图4.2灭火小车软件设计流程图

第五章调试记录及实验心得

5.1调试记录

⏹前方传感器检测最佳距离12cm,500R的电位器逆时钟旋转可加大发射管的发射功率,检测距离可变远。

⏹地面灰度传感器:

测试距离2.5cm,黑地面输出电压1.3-1.5V;

白纸输出3.8-4.5V;

⏹前方火焰传感器最远测试距离2.5m,此次使用有效距离0.8m,输出电压0.6V,探测角度+30°

⏹转弯:

动作

延时常数

原地右转90

18

原地左转90

19

右后转180

37

左后转180

⏹电池电压:

5V供电的电压不得低于7.2V。

⏹5.2实验心得

伊超:

本次的灭火机器人小车设计主要涉及驱动模块壁障模块,灰度模块,灭火模块,单片机开发,程序设计等等。

在这次试验中硬件部分和软件部分基本是我一个人完成的。

在硬件焊接时,我遇到了很多问题,比如两个电机不能同时驱动,H0038不能检测,没有A/D转换,单片机引脚不够用等等,通过我解决这些问题,我也学会了实验室的许多仪器的使用,我也体会到一个人的力量是有限的,在软件设计当中,我也遇到了许多问题,比如不能产生38KHZ方波,还有在调车时,不知怎么就是车跑的不稳定,原来是在整个系统当中没有反馈的设计,所以我又令设计了一下传感器位置,加了一个反馈调节,这样系统才能运行的稳定,这时我才知道系统反馈是多么的重要,在程序编程方面,我体会到硬件设计如果比较好的话,软件编程是比较容易的,所以这才启发我如果想搞好硬件,软件必须要懂,要想编出一个比较漂亮的程序,硬件设计也要必须懂,只有软硬兼顾,这才能开发出一个比较好的系统。

在智能车的设计中,电源部分可以说是核心的核心,电源设计显得尤为重要,特别是使用电池供电的系统。

电池在充电后,电压会变的很高,额定7.2V电压冲完电电压会达到8.5V,但在使用初,电压降的会很快,对系统的稳定性造成很大威胁,所以必须使用稳压芯片,而稳压芯片的压差在2V左右;

另外,电源部分的滤波电容也是非常重要的,一般采用10uF的电解电容和104瓷片电容构成滤波电路。

稳压芯片的采用虽然能减小电压的波动,但是并不能消除。

所以,电压的变化还是对机器人的运动有一定的影响。

此外,由于地面的摩擦、机器人惯性、机器人电机的转数差、齿轮箱与轮子的摩擦等因素,控制机器人直行和转90度有一定的难度,要经过反复的调试、降低机器人的速度、通过传感器矫正等才能达到比较精确的控制。

所以在做的过程中,选择一个好的、稳定的车模是必须的。

通过这次比赛,我不仅学到的好多知识,而且锻炼了我分析问题和处理问题的能力及组织策划能力,我编程能力大大的提到了,并且焊接电路我也进一步提高了很多。

同时,一个人的能力及思想是有限的,团结就是力量,通过这次合作,进一步加强了我们的团队合

X少龙:

这次弄灭火机器人,收获真的不小,学到了不少东西,学会了如何去思考问题,如何设计一个比较简洁的方法,去实现机器人的动作,同时兼顾可能出现的一些特殊情况,还有程序执行的复杂度,与小车动作的流畅。

写一个比较完整的程序真的很锻炼思维。

关于硬件电路的设计,我没有从一开始接触,但基本上就是数字电路,51单片机的一个小系统,运行很稳定,倒是红外传感器让人还学了点东西,三极管与滑动变阻器的接法红外接收管与单片机的连接。

这次用的是HS38B20,直接输出数字量。

调试过程中发现灵敏度不好调,可能是提前没有计算好滑动变阻器的阻值吧。

最终采用了特殊方法调试好了。

接继电器时也遇到了一些实际问题,单片机的I/O口电流太小不能驱动NPN三极管。

最终加到了带上拉电阻的P0口上问题解决,其实在其他口上接上适当的上拉电阻问题也应该解决。

关于火焰传感器也是同灰度一样加在了四路集成运放上,做的电压比较器,所以数模转化问题简化了。

调试过程中发现太阳光对火焰传感器的影响很大,所以白天要在传感器上加一个罩子或者通过调节滑动变阻器调节LM324输入引脚的比较电压。

第一次写出一个真正实用程序

梁瑞华:

通过灭火机器人的制作,我对机器人的组成和原理,传感器有了全新的认识。

本次的灭火机器人小车设计主要涉及到单片机开发、机器人组成和原理、电机与驱动、传感器知识及程序算法设计等。

使用最多的是传感器,传感器是机器人的眼睛,只有传感器正确的识别道路,机器人才能正确搜寻房间。

因此传感器的设置很重要,须多次调试得出最佳参数值,如电压值、测试距离、探测角度等。

在整个实验过程中是最关键、最麻烦的就是系统的整体调试,我们要调节各个参数,保证车子能正常完成各个功能。

同时还要考虑出现的各种不良因素,这要求制作的机器人的适应能力好,到达现场时需要调整的参数越少越好。

在控制机器人小车精确转弯时一定要使用相关硬件器件进行控制,比如指南针或者采用好的算法不需要进行精确转弯。

还要考虑机器人的行走路径的选择,因为我们制作的小车为履带结构,结合我们小车的特点和前面分析,我们选择过台阶直接过台阶,然后开始搜索。

显然直接过台阶可以节省很多的时间,路径更短。

需要注意的是在平时调试时尽量在自己的比赛场地调试,虽然在现场比赛时,所有的比赛场地采用的都是相同的材料,各个部分看起来都是一样的,实际中却会有很大差异。

通过本次设计,将我把所学的理论知识真正应用到实际当中,不仅加深了对理论知识的理解,同时还进行了拓展、发散。

在整个过程中,我还体会到团队合作的无穷力量。

参考文献

[1]《国际赛制机器人灭火比赛规则》.PDF

[2]李全利、迟荣强.单片机原理及接口技术.:

高等教育,2004.1

[3]谭浩强.C程序设计(第二版).:

清华大学,1999.12

[4]童诗白、华成英.模拟电子技术基础(第三版).:

高等教育,2003.12

[5]康华光.电子技术基础数字部分(第四版).:

高等教育,1900.1

[6]黄智伟.全国大学生电子设计竞赛电路设计.:

航空航天大学,2006.12

[7]黄智伟.全国大学生电子设计竞赛系统设计.:

航空航天大学,2006.12

[8]文艳、谭鸿.Protel99SE电子电路设计.:

机械工业,2006.8

程序请单附录1:

#include<

reg51.h>

math.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitled1=P1^5;

//红外发射管

sbitled2=P1^6;

//

sbitled3=P3^7;

sbits1=P1^1;

//红外接收管用于壁障检测

sbits2=P1^2;

sbits3=P1^4;

sbitstyou=P0^0;

//灰度

sbitstzuo=P0^1;

sbithuo=P2^0;

//火

sbitfeng=P0^7;

//风

sbiten1=P2^2;

//电机1/*L298的EnableA*/

sbiten2=P2^5;

//电机2

sbitin1_1=P2^3;

/*L298_1的Input1*左**/

sbitin1_2=P2^4;

/*L298_1的Input2*/

sbitin2_1=P2^6;

/*L298_2的Input1*右**/

sbitin2_2=P2^7;

/*L298_2的Input2*/

uchart=0;

/*pwm调速中断计数器*/

ucharsuozuo=100;

/*电机速度值参数:

0~100*/

ucharsuoyou=57;

uchari=0;

uchark=0;

//房间标志变量

ucharh=0;

//火焰标志

ucharm=0;

//寻找灰度标志

ucharz=0;

//回家灰度标志

voidstop();

//停止函数

voidtiaoyou();

//

voidtiaozuo();

//微调右

voidqian()/前进函数

voiddelay(uint);

voidzuo();

//左90

voidyou();

voidsi();

//左60

voidtiaohuo();

//调火

voidpao();

//跑函数

voidinit();

//定时器

voiddus(uchar);

//小延时

voidtiaohui();

//灰度调节

voidxun1();

//房间里寻函数

voidhui1();

//回家函数

voidhui2();

voidhui3();

voidhui4();

voidzhao();

//在房间里找函数

voidqian()//

{

in1_1=1;

in1_2=0;

in2_1=1;

in2_2=0;

}

voidxun1()

in1_1=0;

in1_2=1;

delay(15);

while((m==0)||(m==1)||(m==2)||(m==3))

if((styou==1)||(stzuo==1))

{

if(huo==1)

stop();

delay

(1);

feng=1;

delay(20);

feng=0;

h=1;

si();

}

else

{

m++;

break;

else

if((s1==1)&

&

(s2==1))

qian();

}

elseif((s1==0)&

(s2==1))

tiaozuo();

elseif((s1==1)&

(s2==0))

tiaoyou();

else

voidzhao()

if(((k==2)&

(m==0))||((k==4)&

(m==1))||((k==5)&

(m==2))||((k==7)&

(m==3)))

xun1();

else

pao();

voidsi()

in1_1=1;

in2_1=0;

in2_2=1;

delay(12);

voidtiaohuo()

in1_1=0;

delay

(1);

voidzuo()//90

delay(18);

//更改参数可调节角度

voidyou()//90

delay(19);

voidhui1()

if(stzuo==1)

z++;

delay(5);

if((s1==1)&

(s2==1)&

(s3==0))

{

delay

(2);

elseif((s1==1)&

(s3==1))

delay(7);

you();

delay(50);

tiaoyou();

elseif((s1==0)&

tiaozuo();

voidhui2()

suozuo=100;

suoyou=70;

if((s1==0)&

elseif((s1==1)&

voidhui3()

if(stzuo==1)

qian();

delay();

zuo();

delay(45);

}

voidhui4()

(s3==0))

delay(40);

voidstop()

in1_2=0;

in2_1=0;

in2_2=0;

voidtiaozuo()//微调

in1_2=1;

in2_1=1;

dus(50);

voidtiaoyou()

in2_2=1;

voidinit()

TMOD=0x22;

//设定T0和T1的工作模式为2

IP=0x02;

TH0=243;

//装入定时器的初值

TL0=243;

TH1=0x9b;

TL1=0x9b;

EA=1;

//开中断

ET0=1;

//定时器0允许中断

ET1=1;

TR0=1;

//启动定时器0

TR1=1;

voiddelay(uinti)//大延时

uintiii;

for(;

i>

0;

i--)

for(iii=0;

iii<

100;

iii++);

voiddus(uchars)

for(;

10<

s;

s--)

;

voidtimer0()interrupt3/*T0中断服务程序*/

if(t<

suoyou)

en1=1;

en1=0;

/*产生电机1的PWM信号*/

suozuo)

en2=1;

en2=0;

t++;

if(t>

=100)

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2