智能灭火小车 大学生科研立项申请报告.doc_第1页
智能灭火小车 大学生科研立项申请报告.doc_第2页
智能灭火小车 大学生科研立项申请报告.doc_第3页
智能灭火小车 大学生科研立项申请报告.doc_第4页
智能灭火小车 大学生科研立项申请报告.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

申请类别:a、b、c、d、e项目编号: (此处不填)哈尔滨工程大学2012年第二批大学生科研立项申请书项目名称: 智能灭火小车 申报院系: 水声工程学院 申报者姓名: 秦祥照 1申报者应在认真阅读此说明各项内容后按要求详细填写。2申请类别请用标出,项目编号由校学生科协填写。3普通型申请书须按要求由各院系统一报送,只需交电子版。4普通型立项必须撰写研究论文,论文要求与大学生科创学刊要求相同。 5所有申请书必须按规定时间报送,相关要求见“启航网”通知。共青团哈尔滨工程大学委员会二一二年制申报者情况负责人情况姓 名秦祥照性别男年龄21学号2011053218身份证寓寝室12公寓132寝联系方子邮箱361000726从事科技创新经历(包括获奖)省级电子大赛二等奖主要成员情况姓 名性别学号身份证号联系方式负责工作曹策男201105320123010419930618311618746063667硬件李玥男201105321323060419930131441件秦祥照 男201105321823022719900906113918657197552编写程序项目情况项目名称智能灭火小车指导教师苏龙滨依托院系/实验室水声创新实验室教师基本情况介绍 副指导教师(在校研究生)副指导教师学号项目目的和意义目的:该小车能自动寻找火源,熄灭火源,自动返回车库意义:适用于生活中对危险火源的熄灭,在生活中有很大的实用价值。项目主要实施的内容(包含理论依据、主要流程)整体思路根据智能灭火小车功能所需,将智能灭火小车分为以下模块:检偏模块、电机驱动模块、电源模块、传感器模块、控制模块及灭火模块。1.电源模块小车以12v蓄电池作为电源,用7805将12v电压降至5v供其他模块使用。2.检偏模块小车采用反射型光电探测器rpr220作为主要的检偏传感器。rpr220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,接收器是一个高灵敏度硅平面光电三极管。主要应用在游戏机、复印机及办公自动化等设备之中。rpr220特点:(1)体积小结构紧凑。(2)使用塑料透镜以提高灵敏度。(3)内置可见光过滤器以减小离散光的影响。放大器采用lm324芯片对rpr220的信号进行处理。lm324内部包括有两个独立的、高增益、内部频率补偿的运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。lm324与rpr220连接的电路图如下:一片lm324提供4组独立的放大器,本次小车使用了其中的三组。3.传感器模块智能灭火小车采用火焰传感器与光电开关相结合的方法来探测火源。只有光电开关与火焰传感器同时发现目标,小车才进行灭火动作。即:小车遍历全场的过程中,若传感器模块发现火源,则实施灭火动作。4.控制模块智能灭火小车以stc89c52单片机为核心进行整车的控制。stc89c52是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,max810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。5.电机驱动模块智能灭火小车采用l298n作为电机驱动芯片。l298n是一种高电压,大电流电机驱动芯片,可同时驱动2个直流电机或单独驱动一个步进电机;l298n具有2个使能控制端,在不受信号源影响的情况下,可控制电机是否运转。智能灭火小车使用步进电机提供动力,故使用2个l298n驱动模块。6.灭火模块智能灭火小车使用12v直流风扇执行灭火动作。其电源由蓄电池提供,风扇由l298n及单片机一同控制。7.软件设计(1)小车功能实现的框图如下:(2)小车功能实现的详细过程:小车接通电源发出出库提示音,电机开始工作,此时小车遍历全场,进行全局搜索;搜索过程中,检偏模块间歇工作,若发现小车偏离预期轨道(即车头与场地的黑线不水平),则令2个步进电机执行差速旋转的动作,直至小车回到预期轨道(即车头与场地的黑线水平)。在小车进行全局搜索的过程中,若传感器发现火源,则暂停全局搜索,进入灭火阶段;此时进行判断:若小车正前方发现火源,则立即发出发现火源提示音并令风扇转动,扑灭火源,发出火灭提示音,然后继续进行全局搜索;若小车两侧发现火源,则先发出发现火源提示音,然后执行步进电机差速旋转,待火源处于小车正前方后,进行灭火,发出火灭提示音并将小车方向调成发现火源之前的位置,之后继续进行全局搜索。当小车遍历全场后,小车会返回车库并发出回库提示音。此时灭火任务完成。项目实施时间进度10月1日-10月31日:购买所需元器件,做好硬件部分11月1日-11月30日:编写对应程序12月1日-12月31日:准备论文,组织材料项目结题指标(作品性能介绍、论文及专利等)结题指标:基于51单片机,利用c语言,实现寻找火源,灭火,自动返库的功能论文:题目要求设计制作一个电动消防车,以蜡烛模拟火源,能到消防场地任意地点进行灭火作业。本智能灭火小车由检偏模块、电机驱动模块、电源模块、传感器模块、控制模块及灭火模块组成。本设计采用stc89c52作为小车的控制核心,实现对各个模块的通信与控制。电机驱动部分采用l298n作为电机的驱动芯片。灭火由风扇完成。该小车具有按指定线路巡逻,发现火源并灭火的功能。基于稳定的硬件电路以及精确可靠地软件算法,小车预期功能得以实现。关键字:智能,灭火。一设计任务障碍物黑色线条蜡烛车库出口180cm120cm30cm30cm车库车库 设计制作一个电动消防车,能到消防场地任意地点进行灭火作业。以蜡烛模拟火源,火源随机分布在场地中,消防场地如图1所示。 1. 基本要求(1)在场地中随机放置一只蜡烛。消防车从车库启动,计时开始,消防车同时发出出库声音提示。消防车从车库出口驶出车库,自动行走到距离火源10cm以内区域,发出火警声音提示,停车3秒钟。(2)消防车执行灭火工作,灭火完毕后,发出火灭声音提示。(3)消防车经由车库出口自动返回到车库,停稳后,发出返库声音提示,计时结束。(4)上述过程用时尽可能少。2. 发挥部分(1)在场地中随机放置三只蜡烛。消防车从车库启动,计时开始,消防车同时发出出库声音提示。消防车从车库出口驶出车库。(2)消防车能够找到一个火源,并自动行走到距离火源10cm以内区域,发出火警声音提示,停车3秒钟。然后消防车执行灭火工作,灭火完毕后,发出火灭声音提示。(3)再寻找下一个火源,重复过程(2),直到三个火源都被扑灭。(4)扑灭三个火源后,消防车经由车库出口自动返回到车库,停稳后,发出返库声音提示,计时结束。(5)上述过程用时尽可能少。(6)其他。二.方案论证1.购买玩具小车进行改装采用玩具车改装,加入自己设计的控制模块及灭火模块即可。此方案的优势是不用自己设计小车主体框架,且小车自身布局已十分完善,可以较好地完成任务。但是,市场上的玩具小车形态各异,质量参差不齐。选购质量较好的小车所需资金偏高;选购质量稍差的小车容易在改装、调试时损坏。2.自己设计小车主体框架自己设计并制作小车主体结构的优点是可以按照预期设计方案随意布局各个模块。可以确保硬件电路的全面协调,以及合理地安排各个传感器的位置。此方案成本低廉,不过费时费力,作品难免粗糙、难看。综合各方面因素,我们选择自己设计并制作小车的主体结构三.分析与计算整体思路根据智能灭火小车功能所需,将智能灭火小车分为以下模块:检偏模块、电机驱动模块、电源模块、传感器模块、控制模块及灭火模块。1.电源模块小车以12v蓄电池作为电源,用7805将12v电压降至5v供其他模块使用。2.检偏模块小车采用反射型光电探测器rpr220作为主要的检偏传感器。rpr220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,接收器是一个高灵敏度硅平面光电三极管。主要应用在游戏机、复印机及办公自动化等设备之中。rpr220特点:(1)体积小结构紧凑。(2)使用塑料透镜以提高灵敏度。(3)内置可见光过滤器以减小离散光的影响。放大器采用lm324芯片对rpr220的信号进行处理。lm324内部包括有两个独立的、高增益、内部频率补偿的运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。lm324与rpr220连接的电路图如下:一片lm324提供4组独立的放大器,本次小车使用了其中的三组。3.传感器模块智能灭火小车采用火焰传感器与光电开关相结合的方法来探测火源。只有光电开关与火焰传感器同时发现目标,小车才进行灭火动作。即:小车遍历全场的过程中,若传感器模块发现火源,则实施灭火动作。4.控制模块智能灭火小车以stc89c52单片机为核心进行整车的控制。stc89c52是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节flash,512字节ram, 32 位i/o 口线,看门狗定时器,内置4kb eeprom,max810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。5.电机驱动模块智能灭火小车采用l298n作为电机驱动芯片。l298n是一种高电压,大电流电机驱动芯片,可同时驱动2个直流电机或单独驱动一个步进电机;l298n具有2个使能控制端,在不受信号源影响的情况下,可控制电机是否运转。智能灭火小车使用步进电机提供动力,故使用2个l298n驱动模块。6.灭火模块智能灭火小车使用12v直流风扇执行灭火动作。其电源由蓄电池提供,风扇由l298n及单片机一同控制。7.软件设计(1)小车功能实现的框图如下:(2)小车功能实现的详细过程:小车接通电源发出出库提示音,电机开始工作,此时小车遍历全场,进行全局搜索;搜索过程中,检偏模块间歇工作,若发现小车偏离预期轨道(即车头与场地的黑线不水平),则令2个步进电机执行差速旋转的动作,直至小车回到预期轨道(即车头与场地的黑线水平)。在小车进行全局搜索的过程中,若传感器发现火源,则暂停全局搜索,进入灭火阶段;此时进行判断:若小车正前方发现火源,则立即发出发现火源提示音并令风扇转动,扑灭火源,发出火灭提示音,然后继续进行全局搜索;若小车两侧发现火源,则先发出发现火源提示音,然后执行步进电机差速旋转,待火源处于小车正前方后,进行灭火,发出火灭提示音并将小车方向调成发现火源之前的位置,之后继续进行全局搜索。当小车遍历全场后,小车会返回车库并发出回库提示音。此时灭火任务完成。四.测试测试方法:分模块测试。1.电源模块(1)用电压表测量充满电的蓄电池,检查其电压是否正常。(2)用电压表测量12v输出端和5v输出端电压是否正常。测试结果:(1)满电蓄电池电压在13v左右,属正常电压。(2)12v,5v输出端电压分别为11.7v,4.9v,属正常电压。2.控制模块(1)检测20脚与40脚之间的电压。(2)烧录流水灯程序,观察各io口工作情况。测试结果:(1)电压维持在4.8v左右。(2)程序正常工作。3.检偏模块在浅色桌子上贴一条黑色胶带,将小车放置在桌子上以各种角度经过黑色胶带,观察小车是否能自动矫正至车头与胶带水平并顺利通过。测试结果:达到预期效果。4.电机驱动模块断开除检偏模块、电源模块以外的所有模块,令小车执行遍历全场的动作。观察其是否能完成搜索任务,是否能准确返回车库。测试结果:达到预期效果。5.传感器模块及灭火模块断开检偏模块与单片机的连接,让小车直线行走,并在其周围各个位置放置蜡烛,观察其是否能完成灭火动作。测试结果:达到预期效果。五.结论、心得与体会智能灭火小车能够完成预期任务。此次比赛极大地提高了小组内各成员在电子设计方面的诸项技能,让各成员了解并掌握了有关数字电路、模拟电路、pcb设计、程序设计、单片机、传感器等知识的梗概。同时此次大赛还培养了各成员的动手实践的能力,以及小组成员间深厚的友谊。 参考文献:【1】郭天祥. 新概念51单片机c语言教程. 北京:电子工业出版社, 2011【2】求是科技. 8051系列单片机c程序设计完全手册. 北京:人民邮电出版社, 2006【3】高海宾. altium designer 10从入门到精通. 北京: 机械工业出版社, 2012附件1.元器件表名称数量名称数量车底盘x1电阻若干步进电机x2电容若干风扇x1拨动开关x1蓄电池x2三极管若干单片机x1lm324x1l298nx3排针若干火焰传感器x4排线若干光电对管x3螺母若干光敏二极管x2串口x1红外开关x2max232x174hc32x2铜柱若干7805.00 x1晶振x1排阻若干2.电路图(1)电源模块(2)检偏模块(3)控制模块(4)电机驱动模块3.源程序#include #define uchar unsigned char#define uint unsigned intsbit en1=p10; /定义四个使能端sbit en2=p11;sbit en3=p12;sbit en4=p13;sbit m=p14; /定义风扇使能端sbit hongwai=p15;sbit led1 = p16; /后侧红外sbit led2 = p22; /右侧红外sbit led3 = p23; /左侧红外sbit led5=p24; /定义三个火焰传感器sbit led6=p25;sbit led7=p26;sbit beep=p27; /定义蜂鸣器static uchar num=0,num=0;uchar map46=00,01,02,03,04,05,10,11,12,13,14,15,20,21,22,23,24,25,30,31,32,33,34,35;uchar mypoint;uchar controll=0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9; /左侧电机前转uchar controlr=0x8f,0xcf,0x4f,0x6f,0x2f,0x3f,0x1f,0x9f; /右侧电机前转uchar controll1=0xf9,0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8; /左侧电机后转uchar controlr1=0x9f,0x1f,0x3f,0x2f,0x6f,0x4f,0xcf,0x8f; /右侧电机后转uchar controll2=0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0; /左侧电机停uchar controlr2=0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f; /右侧电机停char x2;char a2;uchar scancounter;char total_left, total_right;const uchar speed = 3;uchar scancounter;void delay1(unsigned int x) /延迟函数 char y=110; while(x-) while(y-);void delay(unsigned int x) /延迟函数 char y=110;if( scancounter 250)scancounter += 1; while(x-) while(y-);void forward(uchar m) /小车前进 uchar n; for(n=0;n8;n+) p0=controlln&controlrn; delay(m); void left_forward(uchar m) /小车差速左转 uchar n;for(n=0;n8;n+) p0=controll1n&controlrn; delay(m); void right_forward(uchar m) /小车差动右转 uchar n;for(n=0;n8;n+) p0=controlln&controlr1n; delay(m); void back_forward(uchar m) /小车后退 uchar n; for(n=0;n 5| total_left5 ) forward(speed); break; if( (led2=1)&(led3=0) ) right_forward(speed); total_right = total_right + 1; else if(led2=0)&(led3=1) left_forward(speed); total_left = total_left + 1; else forward(speed); forward(speed); break; if( (led2=1)&(led3=1) )scancounter = 0; void main() /主函数 uchar flag1=0,flag2=0,flag3=1; uchar counter=0; uchar counter1=0; uchar a; uchar x; uchar y; uchar k=7; uchar l=15; x=0; y=0; scancounter = 0; total_left = 0; total_right = 0; m=0; louder1( ); while(1) forward(speed); /前进 / if(led2=1)&(led3=1) / total_right = 0; total_left = 0; / if(led1=1)&(flag3=1) /记录小车格数 flag3=0; flag1=1; flag2=0; delay(1); if(flag1=1) if(flag2=0) /确保小车在黑线上 if(led1=1)/在黑线上 flag2=1; /代表已在黑线上 else flag1=0; flag3=1; if(flag2=1) if(led1=0) /有所led均已离开黑线 counter=counter+1; /计数器加一 flag1=0; flag3=1; switch (counter) /定位自己的坐标 case 1: x=x+1,y=y; break; case 2: x=x+1,y=y; break; case 3: x=x+1,y=y; for(a=40;a0;a-) forward(speed); turn_left(speed); break; case 4: y=y+1,x=x; break; case 5: y=y+1,x=x; break; case 6: y=y+1,x=x; for(a=40;a0;a-) forward(speed); turn_left(speed); break; case 7:x=x-1,y=y; break; case 8:x=x-1,y=y; break; case 9: x=x-1,y=y; for(a=40;a0;a-) forward(speed); turn_total(speed); case 10:x=x+1,y=y; break; case 11:x=x+1,y=y; break; case 12: x=x+1,y=y; for(a=40;a0;a-) forward(speed); turn_left(speed); break; case 13: x=x,y=y+1; for(a=40;a0;a-) forward(speed); turn_left(speed); break; case 14:x=x-1,y=y; break; case 15:x=x-1,y=y; break; case 16: x=x-1,y=y; for(a=40;a0;a-) forward(speed); turn_total(speed); case 17:x=x+1,y=y; break; case 18:x=x+1,y=y; break; case 19: x=x+1,y=y; for(a=40;a0;a-) forward(speed); turn_left(speed); break; case 20: x=x,y=y+1; for(a=40;a0;a-) forward(speed); turn_left(speed); break; case 21: x=x-1,y=y; break; case 22: x=x-1,y=y;break; case 23: x=x-1,y=y; for(a=40;a0;a-) forward(speed); turn_total(speed); case 24:x=x+1,y=y; break; case 25:x=x+1,y=y; break; case 26: x=x+1,y=y; for(a=40;a0;a-) forward(speed); turn_right(speed); break; case 27: x=x,y=y-1; break; case 28: x=x,y=y-1; break; case 29: x=x,y=y-1; break; case 30: x=x,y=y-1; break; case 31: x=x,y=y-1; for(a=40;a0;a-) forward(speed); turn_right(speed); break; case 32:x=x-1,y=y; break; case 33:x=x-1,y=y;break; case 34:x=x-1,y=y; break;

温馨提示

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

评论

0/150

提交评论