电子大赛智能消防车正.docx
- 文档编号:24014364
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:27
- 大小:101.36KB
电子大赛智能消防车正.docx
《电子大赛智能消防车正.docx》由会员分享,可在线阅读,更多相关《电子大赛智能消防车正.docx(27页珍藏版)》请在冰豆网上搜索。
电子大赛智能消防车正
电子设计大赛
题目:
智能电动消防车
学校:
黑龙江工业学院
院系:
电气与信息工程系
队员:
翁铭创、王凯歌、周姿茜
时间:
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);//回库完成,展示结束,谢谢观看!
!
}
(本资料素材和资料部分来自网络,仅供参考。
请预览后才下载,期待您的好评与关注!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 大赛 智能 消防车