电子大赛智能消防车正.docx

上传人:b****8 文档编号:24014364 上传时间:2023-05-23 格式:DOCX 页数:27 大小:101.36KB
下载 相关 举报
电子大赛智能消防车正.docx_第1页
第1页 / 共27页
电子大赛智能消防车正.docx_第2页
第2页 / 共27页
电子大赛智能消防车正.docx_第3页
第3页 / 共27页
电子大赛智能消防车正.docx_第4页
第4页 / 共27页
电子大赛智能消防车正.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

电子大赛智能消防车正.docx

《电子大赛智能消防车正.docx》由会员分享,可在线阅读,更多相关《电子大赛智能消防车正.docx(27页珍藏版)》请在冰豆网上搜索。

电子大赛智能消防车正.docx

电子大赛智能消防车正

电子设计大赛

题目:

智能电动消防车

学校:

黑龙江工业学院

院系:

电气与信息工程系

队员:

翁铭创、王凯歌、周姿茜

时间:

2015.6.11

摘要

本智能电动消防车以单片机为控制核心,配合红外对管的红外循迹模块、L298N电机驱动模块以及火焰传感器,合理的利用了整个芯片以及各个部件的综合性能,采用火焰传感器对蜡烛进行探测,利用风扇能够顺利的将其按要求吹灭。

本系统完成了题目要求的全部基本要求和发挥部分要求,在整体上保证了设计任务的超额完成。

关键字

单片机智能电动消防车灭火

1.引言

1.1设计任务与要求

该任务是让设计制作一个电动消防车,能到消防场地任意地点进行灭火作业。

以蜡烛模拟火源,火源随机分布在场地中,能够达到以下要求:

1、基本要求

(1)在场地中随机放置一只蜡烛。

消防车从车库启动,计时开始,消防车同时发出出库声音提示。

消防车从车库出口驶出车库,自动行走到距离火源10cm以内区域,发出火警声音提示,停车3秒钟。

(2)消防车执行灭火工作,灭火完毕后,发出火灭声音提示。

(3)消防车经由车库出口自动返回到车库,停稳后,发出返库声音提示,计时结束。

(4)上述过程用时尽可能少。

2、发挥部分

(1)在场地中随机放置三只蜡烛。

消防车从车库启动,计时开始,消防车同时发出出库声音提示。

消防车从车库出口驶出车库。

(2)消防车能够找到一个火源,并自动行走到距离火源10cm以内区域,发出火警声音提示,停车3秒钟。

然后消防车执行灭火工作,灭火完毕后,发出火灭声音提示。

(3)再寻找下一个火源,重复过程

(2),直到三个火源都被扑灭。

(4)扑灭三个火源后,消防车经由车库出口自动返回到车库,停稳后,发出返库声音提示,计时结束。

(5)上述过程用时尽可能少。

1.2目的意义

通过这次任务的完成,学生通过努力完成题目的各项要求,使得学生可以得到问题的解决方法和策略,从实践中学习很多知识,能够对待问题多方法处理,多角度处理,不仅增强了动手实践能力和团队协作精神,更懂得了联系实际的重要性,对以后的学习和工作气到了极大地促进作用。

在现实生活中电动消防车除具有火灾扑救的主要功能外,还兼具消防巡逻、消防宣传等功效于一身,其小巧的身形和多样化的功能,为小街道防、灭火工作发挥重要作用,增添了科技含量和技术指标。

更加方便、快捷,保持了救火工作的有效性和持续性。

消防车外观小巧灵活、机动性强。

电动消防车的优点是节能环保,行驶成本低,车型小可以迅速到达一些狭窄的街道,在大的消防车到达之前对火势进行控制可以说是灭火在萌芽状态,这一点相比传统燃油消防车优势十分明显。

电动消防车行驶时噪音小,零排放符合环保要求。

1.3主要方法与工具

主要利用的是单片机控制,结合了电源模块、红外循迹模块、检测火焰模块、电机驱动模块、利用蜂鸣器的声音模块以及灭火模块构成了整个智能电动消防车。

2.方案的设计与论证

系统总体设计框图如图所示:

经过反复论证,我们最终确定了如下方案:

(1)采用AT89C52单片机作为主控制器。

(2)采用专用芯片L298N作为电机驱动芯片。

(3)采用航模锂电池供电,采用7805稳压芯片使电压达到所需电压值,供电给智能消防小车各个部分。

(4)采用五路循迹模块起到红外循迹的作用。

(5)采用火焰传感器实现探测火焰。

(6)采用蜂鸣器及时发出声音。

(7)在检测出火焰之后,用风扇将其吹灭。

3.原理分析与硬件电路图

设计系统流程图如下,车体按照规划好的路线前行,当探测到火源时完成灭火动作,回到原来位置,然后原路回库

3.硬件电路设计

整个智能电动消防小车由控制模块、电机驱动模块、电源模块、红外循迹模块、检测火源模块、声音模块以及灭火模块七个模块组成其硬件电路。

4.系统的测试与误差分析

4.1测试仪器及设备

表2测试仪器设备清单

仪器名称

型号

用途

数量

数字万用表

VICTORVC9801A+

测量各电路工作情况

1

秒表

记录时间

1

蜡烛

火源

3

测试用跑道

进行灭火小车实际测试

2

4.2功能测试方案

1、在仅随机在场地放置一支蜡烛的情况下对小车进行测试,检测小车是否能沿指定路线运动,并找到火源,将之熄灭。

并按竞赛要求发出提示音。

记录完成时间。

2、在场地随机放置三支蜡烛的情况下对小车进行测试,检测小车是否能沿指定路线运动,并依次找到火源,将之熄灭。

并按竞赛要求发出提示音。

记录完成时间。

4.3功能测试结果

1、在场地中随机放置一根蜡烛。

小车从车库启动,发出出库提示音。

之后小车能够顺利循迹行走并且找到蜡烛,此时,蜂鸣器发出找到火源的火警声音提示。

小车按照预定路线将蜡烛熄灭后,蜂鸣器发出灭火声音提示。

测试所用时间。

之后小车循迹返回仓库,停稳后,蜂鸣器发出返库声音提示。

测试整个过程的时间。

2、在场地中随机放置三根蜡烛,小车能够顺利循迹并且依次找到蜡烛且将火熄灭。

找到第一根蜡烛时,蜂鸣器发出找到火源的火警信号。

小车按照预定路线将第一根蜡烛熄灭后,蜂鸣器发出灭火信号。

测试完成这些动作所用时间。

找到第二根蜡烛时,蜂鸣器发出找到火源的火警信号。

小车按照预定路线将第二根蜡烛熄灭后,蜂鸣器发出灭火信号。

测试完成这些动作所用时间。

找到第三根蜡烛时,蜂鸣器发出找到火源的火警信号。

小车按照预定路线将第三根蜡烛熄灭后,蜂鸣器发出灭火信号。

测试完成这些动作所用时间。

之后小车循迹返回仓库,停稳后,蜂鸣器发出返库声音提示。

测试整个过程的时间。

5.结论

测试表明,小车能够较好的完成题目要求的基本要求和部分发挥部分。

在现实生活中电动消防车除具有火灾扑救的主要功能外,还兼具消防巡逻、消防宣传等功效于一身,其小巧的身形和多样化的功能,为小街道防、灭火工作发挥重要作用,增添了科技含量和技术指标。

更加方便、快捷,保持了救火工作的有效性和持续性。

消防车外观小巧灵活、机动性强。

电动消防车的优点是节能环保,行驶成本低,车型小可以迅速到达一些狭窄的街道,在大的消防车到达之前对火势进行控制可以说是灭火在萌芽状态,这一点相比传统燃油消防车优势十分明显。

电动消防车行驶时噪音小,零排放符合环保要求。

参考文献

[1]郭天祥.新概念51单片机C语言教程[M]北京:

电子工业出版社,2009。

[2]谭浩强.C语言程序设计(第三版)[M]北京:

清华大学出版社,2005。

[3]阎石.数字电子技术基础(第五版)[M]北京:

高等教育出版社,2006.10。

[4]华成英.模拟电子技术基础(第四版)[M]北京:

高等教育出版社,2006.06。

[5]邱关源.电路(第五版)[M]北京:

高等教育出版社,2006.05。

附录c语言程序:

#include

#defineuintunsignedint

#defineucharunsignedchar

uinti,xian;

sbitzuojing=P1^0;//控制左电机前进

sbitzuotui=P1^1;//控制左电机后退

sbityoujing=P1^2;//控制右电机前进

sbityoutui=P1^3;//控制右电机后退

sbitzuo=P2^0;//左边寻火传感器

sbitzhong=P1^5;//中间边寻火传感器

sbityou=P1^6;//右边寻火传感器

sbitshang=P1^7;//上边寻火传感器

sbitfengshanzuo=P2^2;//风扇开关

sbitfengshanyou=P2^3;//风扇开关

sbitfengming=P2^4;//蜂鸣器开关

sbitzzuoji=P0^6;//最左边的循迹传感器

sbitzuoji=P0^0;//左中边的循迹传感器

sbitzhongji=P0^7;//中间的循迹传感器

sbityouji=P0^2;//右中边的循迹传感器

sbityyouji=P0^3;//最右边的循迹传感器

voiddelay_50us(uintt)//大约50us的延时

{

ucharj;

for(;t>0;t--)

for(j=19;j>0;j--);

}

voiddelay_50ms(uintt)//大约50ms的延时

{

uintj;

for(;t>0;t--)

for(j=6245;j>0;j--);

}

voidfengshan()//风扇转动

{

fengshanzuo=1;

fengshanyou=0;

}

voidfengshanting()//风扇停止

{

fengshanzuo=1;

fengshanyou=1;

}

voidfengmingqi()//灭火蜂鸣器开

{

fengming=0;

delay_50ms(80);

fengming=1;

delay_50ms(80);

fengming=0;

delay_50ms(80);

fengming=1;

delay_50ms(80);

fengming=0;

delay_50ms(80);

fengming=1;

delay_50ms(80);

}

voidkufengmingqi()//出入库蜂鸣器器开

{

fengming=0;

delay_50ms(80);

fengming=1;

}

voidtingzhi()//小车停止

{

zuojing=1;

zuotui=1;

youjing=1;

youtui=1;

}

voidqianjin()//小车前进

{

zuojing=0;

zuotui=1;

delay_50us(50);

zuojing=1;zuotui=1;

delay_50us(10);

youjing=0;youtui=1;

delay_50us(50);

youjing=1;youtui=1;

delay_50us(10);

}

voidhoutui()//小车后退

{

zuojing=1;zuotui=0;

delay_50us(50);

zuojing=1;zuotui=1;

delay_50us(10);

youjing=1;youtui=0;

delay_50us(50);

youjing=1;youtui=1;

delay_50us(10);

}

voidyouzhuang()//小车右转

{

zuojing=0;

zuotui=1;

youjing=1;

youtui=0;

delay_50us(100);

zuojing=1;

zuotui=1;

youjing=1;

youtui=1;

delay_50us(40);

}

voidzuozhuang()//小车左转

{

zuojing=1;

zuotui=0;

youjing=0;

youtui=1;

delay_50us(100);

zuojing=1;

zuotui=1;

youjing=1;

youtui=1;

delay_50us(40);

}

voidyouguai()//小车右拐

{

zuojing=0;

zuotui=1;

youjing=1;

youtui=0;

delay_50us(20);

zuojing=1;

zuotui=1;

youjing=1;

youtui=1;

delay_50us(20);

}

voidzuoguai()//小车左拐

{

zuojing=1;

zuotui=0;

youjing=0;

youtui=1;

delay_50us(20);

zuojing=1;

zuotui=1;

youjing=1;

youtui=1;

delay_50us(20);

}

voidzuoguai90()//小车左拐90度

{

uinti;

i=400;

while(i>10)

{

i--;

zuozhuang();

}

}

voidyouguai90()//小车右拐90度

{

uinti;

i=400;

while(i>10)

{

i--;

youzhuang();

}

}

voidjiaozheng()//校正小车的方向

{

while((zzuoji==1)&&(yyouji==1))

{

qianjin();

while((zzuoji==1||zuoji==1)&&(yyouji==0||youji==0))

{

i=100;

while(i>0)

{

i--;

houtui();

}

i=150;

while(i>0)

{

i--;

youguai();

}

}

while((zzuoji==0||zuoji==0)&&(yyouji==1||youji==1))

{

i=100;

while(i>0)

{

i--;

houtui();

}

i=150;

while(i>0)

{

i--;

zuoguai();

}

}

}

while((zzuoji==0)&&(yyouji==0))

{

qianjin();

while((zzuoji==0)&&(yyouji==1))

youguai();

while((zzuoji==1)&&(yyouji==0))

zuoguai();

}

}

voidmiehuo()//找到火然后灭火

{

while((shang==1)&&(zhong==1))//没有检测到火

{

qianjin();

while(zuoji==0)

{

//jiaozheng();

qianjin();

while(zuoji==1)

{

xian++;

break;

}

}

if((shang==0)||(zhong==0))//检测到了火

{

tingzhi();

fengmingqi();

fengshan();

delay_50ms(500);

if((shang==1)&&(zhong==1))

break;

while(shang==0||zhong==0)

{

tingzhi();

fengshan();

}

}

}

}

voidmain()

{

xian=0;

i=600;

while(i>0)//出库

{

i--;

qianjin();

while(zuoji==0)

{

kufengmingqi();

i=100;

while(i>0)

{

i--;

qianjin();

}

}

}//出库完成

while(zuoji==1)//走过两条黑线后左拐1

{

qianjin();

if(xian>=2)

break;

while(zuoji==0)

{

qianjin();

if(zuoji==1)

{

xian++;

break;

}

}

}

xian=0;

i=400;//250;

while(i>=1)

{

i--;

qianjin();

}

zuoguai90();

jiaozheng();//左拐校正完

i=300;

while(i>=1)

{

i--;

qianjin();

}

while(zuoji==1)//走过一条黑线后左拐1

{

qianjin();

if(xian>=1)

break;

while(zuoji==0)

{

//jiaozheng();

qianjin();

if(zuoji==1)

{

xian++;

break;

}

}

}

xian=0;

i=430;//300;

while(i>=1)

{

i--;

qianjin();

}

zuoguai90();

jiaozheng();

i=200;//300;

while(i>=1)

{

i--;

qianjin();

}

while(zuoji==1)//巡第一条道

{

qianjin();

if(xian>=2)

break;

while(zuoji==0)

{

//jiaozheng();

qianjin();

if(zuoji==1)

{

xian++;

break;

}

}

}

xian++;

i=450;//300;

while(i>=1)

{

i--;

qianjin();

}

while(zuoji==1)

{

houtui();

if(xian==0)

break;

while(0==zuoji)

{

houtui();

//jiaozheng();

if(zuoji==1)

{

xian--;

break;

}

}

}

i=5;

while(i>=1)

{

i--;

houtui();

}

youguai90();

jiaozheng();

i=550;//250;

while(i>=1)

{

i--;

qianjin();

}

zuoguai90();//巡第二条道

jiaozheng();

i=200;//300;

while(i>=1)

{

i--;

qianjin();

}

miehuo();

fengshanting();

fengmingqi();

xian++;//灭了火之后1

while(zuoji==1)

{

houtui();

if(xian==0)

break;

while(0==zuoji)

{

houtui();

//jiaozheng();

if(zuoji==1)

{

xian--;

break;

}

}

}

i=5;

while(i>=1)

{

i--;

houtui();

}

youguai90();

jiaozheng();//巡第三调道

i=450;//250;

while(i>=1)

{

i--;

qianjin();

}

zuoguai1();

jiaozheng();

i=200;//300;

while(i>=1)

{

i--;

qianjin();

}

miehuo();

fengshanting();//灭了火之后2

fengmingqi();

xian++;

while(zuoji==1)

{

houtui();

if(xian==0)

break;

while(0==zuoji)

{

houtui();

if(zuoji==1)

{

xian--;

break;

}

}

}

i=5;

while(i>=1)

{

i--;

houtui();

}

youguai90();//巡第四条道

jiaozheng();

i=450;

while(i>=1)

{

i--;

qianjin();

}

zuoguai90();

jiaozheng();

i=200;

while(i>=1)

{

i--;

qianjin();

}

miehuo();

fengshanting();

fengmingqi();

xian++;//灭了火之后3

while(zuoji==1)

{

houtui();

if(xian==0)

break;

while(0==zuoji)

{

houtui();

if(zuoji==1)

{

xian--;

break;

}

}

}

i=5;

while(i>=1)

{

i--;

houtui();

}

zuoguai90();

jiaozheng();//回库

i=400;

while(i>=1)

{

i--;

qianjin();

}

while(zuoji==1)

{

qianjin();

if(xian>=4)

break;

while(0==zuoji)

{

qianjin();

if(zuoji==1)

{

xian++;

break;

}

}

}

i=400;

while(i>=1)

{

i--;

qianjin();

}

youguai90();

jiaozheng();

i=200;

while(i>=1)

{

i--;

qianjin();

}

xian=0;

while(zuoji==1)

{

qianjin();

if(xian>=2)

break;

while(0==zuoji)

{

qianjin();

if(zuoji==1)

{

xian++;

break;

}

}

}

kufengmingqi();

i=600;

while(i>=1)

{

i--;

qianjin();

}

while

(1);//回库完成,展示结束,谢谢观看!

}

(本资料素材和资料部分来自网络,仅供参考。

请预览后才下载,期待您的好评与关注!

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

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1