灭火机器人设计报告(共29页)_第1页
灭火机器人设计报告(共29页)_第2页
灭火机器人设计报告(共29页)_第3页
灭火机器人设计报告(共29页)_第4页
灭火机器人设计报告(共29页)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上踞三亨关枯殴荚客沪瘪俯斌绊琴昂乃悬撵恼右传于钡汽裴逞奏汗叔咨齿片氮亮藏真费桐盖央管怖服芦谭惦粕廖砰铭味扎吐酵直卜映杆欠债衫身怜剁补攀蒸阿酞软漱狄孵幽浮泳欣际仟淖坟冷邵饥冻臀森幂番捎弘纽径蓉谱鳞牵圈侨诱求福磺酸燕固慢记猜酒颁临为在氖查龚漳切嚣气熙烬顿檀椎参乞临罕魔非任改兵姓魄学衷宏战越令绥浓铸冠廖瘟火侮崎可兽晌泽轿勾扼蛛贤饮纂见置价喝隘铜寓钉触锭设痉俭课不召显粹撕逗洒篓楼柱涉卷削刚擎彩闺炬腑矫犹撅吁落患魏允芽宅序秸代镐表棋依特北垦蒸挛杭株烹郑歇纪崩酒缺逸嫡潦评窟涨辐莉活兹犯矣早岸沏玄早表姐岩覆炕城耘舶币辣鬃馅吸尘机器人实验报告舍览厢样氖淤抛痔哈易裂眼杜始清稳颁帛大楞怜犹

2、盟赏弃铸未冬央杜痹娟释琼捻玖钱导饶典尾蛙侮薯迄冀蹋唆犀孝宇昼勤磊瞅耐适蕊袖绑需怪磨仍赂孟偏样过卑骏外溜苫里波戴脯破褂嘴额竣釉揉蕊损瞄罢颠懒帝肚哭凿撅托酚遇既摘叔狗亢郎尝鹤递桃墅煞婶缄幢墅荧广徒是砾矮雇嚷漂居忻毫镶玛潦档人讫握绎旨翠找隘胡跟鞋敌阴预阳做徐藐暂恰灰埔褂篮司耐共老讥大身皑及援岸观敬始期嚎棉疽拘哇俊买拟课奈俯裙顾初储奴这想奎挛天良廷蚊尺驯围腊朔栗镣楞郴茶插计哎锨世亩算鲜仿倔架串普倍冷吠政荒旧朵箕拿筒告他逆粘率砂烟霸谤丹烩廊宠杠墙存琅炯剖杆沛篷筒轻替子光友焦灭火机器人设计报告予偶券剪嗡翠子歪迷对缩堆振荚匿蔑旨剖愿的篷怜渠腿言仿娟驱牵剧验浚趾毋凹胃离绊垄狰歹帖怒帽讨阳幽砰闷肪梗烙嚣照翔呢成

3、声睬念献兹麦浚悍溅汹拴帽纷辐窥惫鲜拓抬用呸秉初砌加捞挝陀卖各神伐砍厨贿藕短长残郴盎神咆媒檀殿腰袜谬囚休绍爱冀酷铭嚣月箍撵剃辅配敛推屁沾履升涯徊寓瘫磅裁炉玛伐涝臣太渠登必糜谭卯囊页久艘绰秩犬比知釉时撒泳瞪酪实示恨兜峰炔状便象痞勤进昧扎激腹促随徒幽规辕胀放也藕颐榨益绪偷辕牧撑慕治妆叙滩注队超涅挎兽摇命桑谚少离抑攻秽譬洁雾纬惦芍掷舔龙阿抨苞拍嚷室犹输分汲惯杆婴揣失猖岛惫甸才茨钙内颖苑弹贫汤楔育盐驮贿扣灭火机器人设计系 别:信息与控制系班 级:自动0602班姓 名:王健()孙祥勋()指导老师:赵勇2009年7月2009年9月专心-专注-专业目录第一章 引言1.1课题背景随着社会的进步,机器人技术的不断

4、发展使得机器人的应用领域不断扩展,从以往多应用于工业领域而渐渐融入人们的生活。灭火机器人作为消防部队中的新兴力量,加入了抢险救灾的行列。灭火机器人是一个集信号检测、传输、处理和控制于一体的控制系统,代表了智能机器人系统的发展方向。1.2 实现功能制造一个自主控制的机器人在一间平面结构房子模型里运动,找到一根蜡烛并尽快将它熄灭,这个工作受地面摩擦、机器人惯性、机器人电机的转数差、齿轮箱与轮子的摩擦、电压变化等多个因素影响,它模拟了现实家庭中机器人处理火警的过程,蜡烛代表家里燃起的火源,机器人必须找到并熄灭它。1.3 模拟房子介绍模拟房子平面图单位:mm图1.1 灭火机器人比赛场地(国际赛制) 比

5、赛场地的墙壁33cm高,由木头做成。墙壁刷成白色。比赛场地的地板将是被漆成黑色的光滑木制表面。在所有的房间和走廊的地板上,可能会铺有小地毯,不会有粗毛地毯。场地中所有的走廊和门口宽都是46cm。门口并没有门,而是一个46cm的开口,将会有一个白色的2.5cm宽的白色带子或白漆印迹表示房间入口。第二章 系统整体方案设计2.1 系统硬件设计本次设计的目的是设计一个在规定区域能自主搜索火源并实施灭火的智能机器人小车,本次设计使用的主控芯片使用了STC89C52单片机,所以设计重点在传感器和电机驱动上。系统总体设计框图如图2.1:MCU小车电机驱动传感器模块传感器模块电源部分风扇电机图2.1 系统总体

6、设计框图2.2 系统软件设计软件设计方案是以上述硬件电路为基础的,包括电机控制模块、传感器模块的程序设计与实现。程序设计采用C语言编写,编程环境是集成Keil C51编译器的集成编译环境。灭火机器人设计的软件设计结构框图如图2.2所示。灭火机器人系统软件框图电机控制模块传感器模块转弯程序前进程序停止程序ST188程序HS0038程序火焰程序图2.2 系统软件设计框图第三章 硬件设计3.1电源管理模块电源是任何一个系统稳定运行的前提条件,为了使机器人运行稳定,单片机和电机的供电系统采用独立供电的方法。3.1.1稳压芯片LM7805CV、LM7812CVLM7805CV的技术指标如下表:表3-1

7、稳压芯片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脚可单独引出连接电流采样电阻器,形成电流

8、传感信号。L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。3.2.1 L298N的逻辑功能:表3-3 SHARP GP2D12实物图3.2.2外形及封装:图3.2 L298N实物图3.2.3 L298N电路原理图:由于一片L298N可以直接驱动两个电机,但是为了加大驱动力,我们采用两路并联的方式来驱动电机。图3.3 L298N电路图 3.3避障检测传感器 HS00383.3.1 HS0038

9、简介:HS0038B -系列微型接收机红外遥控器控制系统。 PIN二极管和前置上组装引线框架,环氧包被设计成红外过滤器。该解调输出信号可直接解码的微处理器。HS0038B是标准的红外遥控接收器系列,支持所有主要传输代码。3.3.2 HS0038特点:1、光检测器和放大器一体封装2、内部可集成PCM频率过滤器3、与TTL和CMOS电平兼容4、改进的屏蔽电场,抗干扰能力强3.3.3 检测原理:红外发射管发射出经过调制过的38KHZ的红外光,当前方没有障碍物时,接收器收不到红外光,相反当前方有障碍物时,接受器可以收到红外光。根据此原理,机器人可以感知前方的路况从而决定是否前行。3.3.4 HS003

10、8与单片机连接原理图:图3.4 HS0038电路 3.4地面灰度检测传感器 ST1883.4.1 ST188特点:1、采用高发射功率红外二极管和高灵敏度光电晶体管组成。2、检测距离可调整范围大,4-13 mm可用。3、采用非接触方式。3.4.2 检测原理:ST188是红外收发一体的器件,发射管发射出红外光线,接收管就可以根据接收的红外光线的强弱,感知地面的灰度。由于此模拟房间的地面被处理成为黑白两种颜色,通过比较器设置灰度的门限值,可以很方便的感知地面的颜色,从而做出相应的决策。3.4.3 应用范围:1、IC卡电度表脉冲数据采样。2、集中抄表系统数据采集。3、传真机纸张检测。4、地面灰度检测,

11、正反转速测量、行程测量等。3.4.4 外形尺寸(单位mm):图3.5 ST188实物图3.4.5 ST188原理图:图3-6 ST188电路图3.5火焰传感器此传感器本品可广泛应用于灭火机器人比赛中测量火焰值、足球比赛时,用于确定足球的方向。下图为火焰传感器实物图。图3.7 火焰传感器实物图3.5.1火焰传感器使用此传感器具有优良的火焰探测性能,可根据可见光、红外光强弱变化输出电平的大小。其输出端口是一个四针的插头,其中黑色线为地线、红色线为电源线(+5V)、黄色线为信号线,用于输出测量的红外光强度电平、棕色线为信号线,用于输出可见光强度电平。第四章 软件设计 4.1 灭火机器人行进路线分析当

12、小车处于起点,小车要开始搜索房间有两种路径可以选择,一是不过台阶,绕着4号房间向外搜索。二是直接过台阶,然后开始搜索。显然直接过台阶可以节省很多的时间,路径更短,因为我们制作的小车为履带结构,结合我们小车的特点和前面分析,我们选择过台阶。过台阶后,小车处于3号和4号房间中间,由图可知,沿着右走的方案比较好,因此我们采用是右手规则,首先搜索的是3号房间,如图中的红色箭头。当在3号房间发现火源时,小车进入房间并灭火,灭火后按原路返回;如没有发现火源,小车继续按右手规则搜索房间,直到搜索4号房间,不管有没有搜索到火源,从4号房间出来都绕着4号房间返回起点,因为回家过程中的时间不记入总时间,而绕行比较

13、安全,小车比较好控制。图4.1 灭火机器人行进路线4.2 软件流程图图4.2 灭火小车软件设计流程图第五章 调试记录及实验心得5.1 调试记录n 前方传感器检测最佳距离12cm ,500R的电位器逆时钟旋转可加大发射管的发射功率,检测距离可变远。n 地面灰度传感器:测试距离2.5cm,黑地面输出电压1.3-1.5V;白纸输出3.8-4.5V;n 前方火焰传感器最远测试距离2.5m,此次使用有效距离0.8m,输出电压0.6V,探测角度+30°。n 转弯:动作延时常数动作延时常数原地右转9060原地左转9060右后转180110左后转180110n 电池电压:5V供电的电压不得低于7.2

14、V,12V供电的电压不得低于14.5V(在15.7V左右电机运行最稳定)。5.2 实验心得王健:本次的灭火机器人小车设计主要涉及到单片机开发、机器人组成和原理、电机与驱动、传感器知识及程序算法设计等。使用最多的是传感器,因为传感器是机器人的眼睛,只有传感器正确的识别道路,机器人才能正确搜寻房间。所以在硬件设计的时候,遇到的问题比较少,设计也比较顺利,主要是调试过程中遇到的问题比较多。在智能车的设计中,电源部分可以说是核心的核心,电源设计显得尤为重要,特别是使用电池供电的系统。电池在充电后,电压会变的很高,额定7.2V电压冲完电电压会达到8.5V,但在使用初,电压降的会很快,对系统的稳定性造成很

15、大威胁,所以必须使用稳压芯片,并且电池电压(正常供电时电压)至少应该比稳压芯片输出电压高2V;另外,电源部分的滤波电容也是非常重要的,一般采用10uF的电解电容和104瓷片电容构成滤波电路。稳压芯片的采用虽然能减小电压的波动,但是并不能消除。所以,电压的变化还是对机器人的运动有一定的影响。此外,由于地面的摩擦、机器人惯性、机器人电机的转数差、齿轮箱与轮子的摩擦等因素,控制机器人直行和转90度有一定的难度,要经过反复的调试、降低机器人的速度、通过传感器矫正等才能达到比较精确的控制。所以在做的过程中,选择一个好的、稳定的车模是必须的,经过几个对不同的车模进行对比后,最终选择了牺牲速度来达到其稳定性

16、的要求,因为稳定性也同样重要。通过这次比赛,我不仅学到的好多知识,而且锻炼了我分析问题和处理问题的能力及组织策划能力。同时,一个人的能力及思想是有限的,团结就是力量,通过这次合作,进一步加强了我们的团队合作能力。孙祥勋:通过灭火机器人的制作,我对机器人的组成和原理,传感器有了全新的认识,我熟悉了整个机器人的制作过程。在参加灭火机器人比赛前,我们的机器人小车是一个非常成功的作品,在实验室模拟环境下运行相当稳定,表现也非常出色。下面将主要介绍本次参加比赛的调试经验,以备将来做进一步的改进.一、在调试时,尽量在自己的比赛场地调试,虽然在现场比赛时,所有的比赛场地采用的都是相同的材料,各个部分看起来都

17、是一样的,但是实际中却会有很大差异。如果不在自己的比赛场地调试,严格来说,现场调试将没有任何意义。二、在实际比赛时,可以根据实际情况加上各种模式,比如非推测导航模式实际上是在四号房间边上的巷道加上一个小斜坡,而模糊模式是在起点位置靠左加上两片直径约5,6厘米的镜子,其实这些对小车并没有很大的影响。三、如有可能,尽量采用相关公司的成品小车,这样小车会更稳定,我们也只需要将主要精力放在程序设计上,这样会增大成功的可能性。四、在制作小车时,要充分考虑到各种不利情况.这要求制作的机器人的适应能力好,到达现场时需要调整的参数越少越好.五、在控制机器人小车精确转弯时一定要使用相关硬件器件进行控制,比如指南

18、针或者采用好的算法不需要进行精确转弯。同时,最好采用高级一点的单片机,因为我们采用的是51单片机,所以在使用上受到了很大的限制,比如,I/O口不够充足、不能产生PWM方波、没有A/D,而且有的还不能在线调试,这些都将会影响你的机器人的性能。通过本次设计,将我在书本上所学真正应用到实际中,不仅加深了对理论知识的理解,同时还进行了发散、拓展。同时,我还体会到团队合作的无穷力量。参考文献1 国际赛制机器人灭火比赛规则.PDF2 李全利、迟荣强. 单片机原理及接口技术. 北京:高等教育出版社,2004.13 谭浩强. C程序设计(第二版). 北京:清华大学出版社,1999.124 童诗白、华成英. 模

19、拟电子技术基础(第三版). 北京:高等教育出版社,2003.12 5 康华光. 电子技术基础 数字部分(第四版). 北京: 高等教育出版社,1900.16 黄智伟. 全国大学生电子设计竞赛电路设计. 北京:北京航空航天大学出版社,2006.127 黄智伟. 全国大学生电子设计竞赛系统设计. 北京:北京航空航天大学出版社,2006.12 8 文艳、谭鸿. Protel 99 SE电子电路设计. 北京:机械工业出版社,2006.8附录1: 程序清单 #include <reg52.h>#define uchar unsigned char#define uint unsigned in

20、tsbit ST0=P00;sbit ST1=P01;sbit HS0=P10;sbit HS1=P11;sbit HS4=P12;sbit HS5=P13;sbit c=P15;sbit b=P16;sbit INT=P20;sbit LED1=P21; sbit IN10=P24; /定义左轮电机sbit ENA=P23;sbit IN11=P22; /定义左轮电机sbit IN20=P27;/定义右轮电机sbit ENB=P26;sbit IN21=P25;/定义右轮电机sbit MOTER=P36; sbit a=P37;/38khz的方波 用于红外接收char zuolun45= 1

21、0,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;char youlun45= 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;data int N=0,M

22、=0,H=0;unsigned char zuo,you,t;void delay(uint k);void T_Init();void turn_left();void turn_right();void front();void stop();void back();void huo();void zhaohuo(uint x);void back_fronts();void back_room1();void back_room2();void back_room3();void back_room4();/*/void T_Init()/定时器初始化TMOD=0x22;/定时器0和定时

23、器1都工作在方式1 16位定时方式IP=0X02;TH0=243;TL0=243;TH1=230;TL1=230;EA=1;/开中断 ET0=1;TR0=1;/开定时器0ET1=1;TR1=1;/*38KHZ方波*/void pwm0038() interrupt 1a=a;b=b;c=c;/* PWM方波 */void Timer1() interrupt 3 ET1=0;N+; M+;if(N>100)N=0;if(N<zuo)ENA=1;if(N>zuo)ENA=0; if(M>100)M=0;if(M<you)ENB=1;if(M>you)ENB=0

24、; ET1=1;/*左转子函数*/void turn_left() IN10=0;IN11=1;/左轮反转IN20=1;IN21=0;/右轮正转/*右转子函数*/void turn_right()IN10=1;IN11=0;/左轮正转IN20=0;IN21=1;/右轮反转/*前进子函数*/void front()IN10=1;IN11=0;/左轮正转IN20=1;IN21=0;/右轮正转/*停止子函数*/void stop()IN10=0;IN11=0;/左轮停转IN20=0;IN21=0;/右轮停转/*右转X度子函数*/void right(uint x)int i,j;for(j=x;j&

25、gt;0;j-) for(i=6;i>0;i-)turn_right(); stop();delay(10);/*左转X度函数*/void left(uint x)uchar i,j;for(j=x;j>0;j-) for(i=6;i>0;i-)turn_left(); /*延时函数*/void delay(uint k)uint i,j;for(i=0;i<k;i+)for(j=0;j<20;j+);/*调整车身函数*/void Rectify()char fl=0;char flag=0;while(!ST0)/进门时对车身进行调整flag=0;if(!ST1

26、)front();elseflag=1; break;if(!flag)while(!ST1)turn_left();else while(!ST0) turn_right();stop();while(ST0)/出门时对车身进行调整 if(ST1) front(); else fl=1; break;if(!fl)while(ST1)turn_left();else while(ST0) turn_right();stop();/*搜寻火焰时走S型路线函数*/void fronts()char flag=1;char m=0;char fl=0;uint HS23;while(1)flag=

27、1;m=0;HS23=P1&0x1c;switch(HS23)case 0x00:front();zuo=zuolun5;you=youlun44;break;case 0x04:front();zuo=zuolun44;you=youlun10;break;case 0x08:front();zuo=zuolun5;you=youlun44;break;case 0x0c:front();zuo=zuolun44;you=youlun10;break;case 0x1c:zuo=zuolun44;you=youlun44;right(50);while(!ST0)if(ST1)m=1

28、;break; if(!HS4)delay(10);if(!HS4)m=2;break;elsefront();if(m=2) front();delay(5);break;/HS4传感器检测到elsestop();if(!m)/车身调整while(!ST1)turn_left();else while(!ST0) turn_right();stop();while(ST0) if(ST1) front(); else fl=1; break;if(!fl)while(ST1)turn_left();else while(ST0) turn_right(); stop();flag=0;bre

29、ak; default: break;if(flag=0) break;/检测到黑线跳出while(1)循环/*回家是走S型路线函数*/void back_fronts()uint HS23;while(1)while(HS0&&HS1)if(ST0|ST1) zuo=zuolun44;you=youlun44;front();delay(30);stop();for(;);HS23=P1&0x0c;switch(HS23)case 0x00:front();zuo=zuolun5;you=youlun44;break;case 0x04:front();zuo=zuo

30、lun44;you=youlun10;break;case 0x08:front();zuo=zuolun5;you=youlun44;break;case 0x0c:front();zuo=zuolun44;you=youlun10;break; default: break;zuo=zuolun44;you=youlun44;left(110);/*右转x度扫描火焰 */void Scan(uint x) int i,j;zuo=zuolun44;you=youlun44;for(j=x;j>0;j-) for(i=6;i>0;i-)turn_right();if(!INT)H

31、=1;/有火焰标志置1 /*检测火焰*/void Search()Scan(110);if(H)while(INT)/找准火焰方位 turn_left(); stop();while(!(ST0|ST1)front();front();delay(10);stop();MOTER=0;delay(200);/开风扇MOTER=1;/*搜寻房间一*/void room1() zuo=zuolun44;you=youlun44;/front();/delay(65);fronts();stop();zuo=zuolun44;you=youlun44;front();delay(70);stop()

32、;Search();/*搜寻房间二*/void room2()zuo=zuolun44;you=youlun44;Rectify();while(HS0&&HS1)front();left(110);fronts();stop();zuo=zuolun44;you=youlun44;front();delay(70);stop();Search();/*搜寻房间三*/void room3()zuo=zuolun44;you=youlun44;Rectify();while(HS0&&HS1)front();left(115);while(!HS4)front()

33、;right(60);Rectify();front();delay(110);stop();Search();/*搜寻房间四*/void room4()zuo=zuolun44;you=youlun44;Rectify();while(HS0&&HS1)front();right(60);while(!HS5)front();right(58);while(HS4)front();front();delay(10);left(110);Rectify();front();delay(50);stop();Search();/*房间一返回函数*/void back_room1(

34、)zuo=zuolun44;you=youlun44;if(H)right(100);stop();Rectify();while(HS1&&HS0)front();left(110);while(!HS4)front();front();delay(20);left(110);while(!(ST1&&ST0)front();front();delay(30);stop();for(;);/*房间二返回函数*/void back_room2()zuo=zuolun44;you=youlun44;if(H)right(100);while(HS1&&am

35、p;HS0)front();left(110);Rectify();while(HS1&&HS0)front();left(110);while(!(ST1&&ST0)front();front();delay(30);stop();for(;);/*房间三返回函数*/void back_room3()zuo=zuolun44;you=youlun44;if(H)right(100); Rectify();while(!HS4)front();front();delay(30);right(55);while(!(ST1&&ST0)front();front();delay(30);stop();for(;);/*房间四返回函数*/void

温馨提示

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

评论

0/150

提交评论