灭火机器人设计报告Word文档格式.docx
- 文档编号:19403298
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:30
- 大小:790.58KB
灭火机器人设计报告Word文档格式.docx
《灭火机器人设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《灭火机器人设计报告Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
灭火机器人系统软件框图
电机控制模块
转弯程序
前进程序
停止程序
ST188程序
HS0038程序
火焰程序
图2.2系统软件设计框图
第三章硬件设计
3.1电源管理模块
电源是任何一个系统稳定运行的前提条件,为了使机器人运行稳定,单片机和电机的供电系统采用独立供电的方法。
3.1.1稳压芯片LM7805CV、LM7812CV
LM7805CV的技术指标如下表:
表3-1稳压芯片7805参数
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.4HS0038电路
3.4地面灰度检测传感器ST188
3.4.1ST188特点:
1、采用高发射功率红外二极管和高灵敏度光电晶体管组成。
2、检测距离可调整范围大,4--13mm可用。
3、采用非接触方式。
3.4.2检测原理:
ST188是红外收发一体的器件,发射管发射出红外光线,接收管就可以根据接收的红外光线的强弱,感知地面的灰度。
由于此模拟房间的地面被处理成为黑白两种颜色,通过比较器设置灰度的门限值,可以很方便的感知地面的颜色,从而做出相应的决策。
3.4.3应用范围:
1、IC卡电度表脉冲数据采样。
2、集中抄表系统数据采集。
3、传真机纸张检测。
4、地面灰度检测,正反转速测量、行程测量等。
3.4.4外形尺寸(单位mm):
图3.5ST188实物图
3.4.5ST188原理图:
图3-6ST188电路图
3.5火焰传感器
此传感器本品可广泛应用于灭火机器人比赛中测量火焰值、足球比赛时,用于确定足球的方向。
下图为火焰传感器实物图。
图3.7火焰传感器实物图
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
60
原地左转90
右后转180
110
左后转180
⏹电池电压:
5V供电的电压不得低于7.2V,12V供电的电压不得低于14.5V(在15.7V左右电机运行最稳定)。
5.2实验心得
王健:
本次的灭火机器人小车设计主要涉及到单片机开发、机器人组成和原理、电机与驱动、传感器知识及程序算法设计等。
使用最多的是传感器,因为传感器是机器人的眼睛,只有传感器正确的识别道路,机器人才能正确搜寻房间。
所以在硬件设计的时候,遇到的问题比较少,设计也比较顺利,主要是调试过程中遇到的问题比较多。
在智能车的设计中,电源部分可以说是核心的核心,电源设计显得尤为重要,特别是使用电池供电的系统。
电池在充电后,电压会变的很高,额定7.2V电压冲完电电压会达到8.5V,但在使用初,电压降的会很快,对系统的稳定性造成很大威胁,所以必须使用稳压芯片,并且电池电压(正常供电时电压)至少应该比稳压芯片输出电压高2V;
另外,电源部分的滤波电容也是非常重要的,一般采用10uF的电解电容和104瓷片电容构成滤波电路。
稳压芯片的采用虽然能减小电压的波动,但是并不能消除。
所以,电压的变化还是对机器人的运动有一定的影响。
此外,由于地面的摩擦、机器人惯性、机器人电机的转数差、齿轮箱与轮子的摩擦等因素,控制机器人直行和转90度有一定的难度,要经过反复的调试、降低机器人的速度、通过传感器矫正等才能达到比较精确的控制。
所以在做的过程中,选择一个好的、稳定的车模是必须的,经过几个对不同的车模进行对比后,最终选择了牺牲速度来达到其稳定性的要求,因为稳定性也同样重要。
通过这次比赛,我不仅学到的好多知识,而且锻炼了我分析问题和处理问题的能力及组织策划能力。
同时,一个人的能力及思想是有限的,团结就是力量,通过这次合作,进一步加强了我们的团队合作能力。
孙祥勋:
通过灭火机器人的制作,我对机器人的组成和原理,传感器有了全新的认识,我熟悉了整个机器人的制作过程。
在参加灭火机器人比赛前,我们的机器人小车是一个非常成功的作品,在实验室模拟环境下运行相当稳定,表现也非常出色。
下面将主要介绍本次参加比赛的调试经验,以备将来做进一步的改进.
一、在调试时,尽量在自己的比赛场地调试,虽然在现场比赛时,所有的比赛场地采用的都是相同的材料,各个部分看起来都是一样的,但是实际中却会有很大差异。
如果不在自己的比赛场地调试,严格来说,现场调试将没有任何意义。
二、在实际比赛时,可以根据实际情况加上各种模式,比如非推测导航模式实际上是在四号房间边上的巷道加上一个小斜坡,而模糊模式是在起点位置靠左加上两片直径约5,6厘米的镜子,其实这些对小车并没有很大的影响。
三、如有可能,尽量采用相关公司的成品小车,这样小车会更稳定,我们也只需要将主要精力放在程序设计上,这样会增大成功的可能性。
四、在制作小车时,要充分考虑到各种不利情况.这要求制作的机器人的适应能力好,到达现场时需要调整的参数越少越好.
五、在控制机器人小车精确转弯时一定要使用相关硬件器件进行控制,比如指南针或者采用好的算法不需要进行精确转弯。
同时,最好采用高级一点的单片机,因为我们采用的是51单片机,所以在使用上受到了很大的限制,比如,I/O口不够充足、不能产生PWM方波、没有A/D,而且有的还不能在线调试,这些都将会影响你的机器人的性能。
通过本次设计,将我在书本上所学真正应用到实际中,不仅加深了对理论知识的理解,同时还进行了发散、拓展。
同时,我还体会到团队合作的无穷力量。
参考文献
[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<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitST0=P0^0;
sbitST1=P0^1;
sbitHS0=P1^0;
sbitHS1=P1^1;
sbitHS4=P1^2;
sbitHS5=P1^3;
sbitc=P1^5;
sbitb=P1^6;
sbitINT=P2^0;
sbitLED1=P2^1;
sbitIN10=P2^4;
//定义左轮电机
sbitENA=P2^3;
sbitIN11=P2^2;
sbitIN20=P2^7;
//定义右轮电机
sbitENB=P2^6;
sbitIN21=P2^5;
sbitMOTER=P3^6;
sbita=P3^7;
//38khz的方波用于红外接收
charzuolun[45]={10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,
40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,
70,72,74,76,78,80,82,84,86,88,90,92,94,96,100};
charyoulun[45]={10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,
40,42,44,46,48,50,52,54,56,59,61,62,64,66,68,
70,72,74,76,78,80,82,84,86,88,90,89,94,96,100};
dataintN=0,M=0,H=0;
unsignedcharzuo,you,t;
voiddelay(uintk);
voidT_Init();
voidturn_left();
voidturn_right();
voidfront();
voidstop();
voidback();
voidhuo();
voidzhaohuo(uintx);
voidback_fronts();
voidback_room1();
voidback_room2();
voidback_room3();
voidback_room4();
/******************************************************/
voidT_Init()//定时器初始化
{
TMOD=0x22;
//定时器0和定时器1都工作在方式116位定时方式
IP=0X02;
TH0=243;
TL0=243;
TH1=230;
TL1=230;
EA=1;
//开中断
ET0=1;
TR0=1;
//开定时器0
ET1=1;
TR1=1;
}
/*********************38KHZ方波*********************************/
voidpwm0038()interrupt1
{
a=~a;
b=~b;
c=~c;
/***************************PWM方波*****************************/
voidTimer1()interrupt3
{ET1=0;
N++;
M++;
if(N>
100)
N=0;
if(N<
zuo)
{
ENA=1;
}
if(N>
ENA=0;
}
if(M>
M=0;
if(M<
you)
ENB=1;
if(M>
ENB=0;
ET1=1;
/*****************************左转子函数*************************/
voidturn_left()
IN10=0;
IN11=1;
//左轮反转
IN20=1;
IN21=0;
//右轮正转
/**********************右转子函数********************************/
voidturn_right()
IN10=1;
IN11=0;
//左轮正转
IN20=0;
IN21=1;
//右轮反转
/************************前进子函数******************************/
voidfront()
/**************************停止子函数***************************/
voidstop()
//左轮停转
//右轮停转
/***************************右转X度子函数*************************/
voidright(uintx)
inti,j;
for(j=x;
j>
0;
j--)
{
for(i=6;
i>
i--)
turn_right();
stop();
delay(10);
/***************************左转X度函数************************/
voidleft(uintx)
uchari,j;
turn_left();
/************************延时函数***************************/
voiddelay(uintk)
uinti,j;
for(i=0;
i<
k;
i++)
{
for(j=0;
j<
20;
j++)
{;
/***********************调整车身函数**************************/
voidRectify()
charfl=0;
charflag=0;
while(!
ST0)//进门时对车身进行调整
flag=0;
if(!
ST1)front();
else
flag=1;
break;
if(!
flag)
while(!
ST1)
else
ST0)
turn_right();
stop();
while(ST0)//出门时对车身进行调整
if(ST1)front();
fl=1;
fl)
while(ST1)
while(ST0)
/*************************搜寻火焰时走S型路线函数**************************/
voidfronts()
charflag=1;
charm=0;
uintHS23;
while
(1)
flag=1;
m=0;
HS23=P1&
0x1c;
switch(HS23)
case0x00:
front();
zuo=zuolun[5];
you=youlun[44];
break;
case0x04:
zuo=zuolun[44];
you=youlun[10];
case0x08:
case0x0c:
case0x1c:
right(50);
while(!
{
if(ST1)
{
m=1;
break;
if(!
HS4)
delay(10);
if(!
HS4)
{
m=2;
}
}
else{front();
}
}
if(m==2){front();
delay(5);
}//HS4传感器检测到
else{
stop();
if(!
m)//车身调整
{
while(!
turn_left();
}
else
turn_right();
stop();
while(ST0)
{
if(ST1)front();
else
fl=1;
break;
}
{
while(ST1)
while(ST0)
flag=0;
default:
bre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 灭火 机器人 设计 报告