灭火机器人程序

灭火机器人程序
灭火机器人程序

红外传感器接法

前红外:数字9

左红外:数字15

左45度角红外:数字10

右45度角红外:数字8

右红外:数字14

火焰传感器接法

左火焰:模拟3

中火焰:模拟5

右火焰:模拟4

(底部)灰度传感器:模拟2

声控传感器:模拟6

程序说明

#define p 120 //定义火焰传感器检测到火焰的返回值int k,j,i=0,n,b=1,c=1; //程序控制变量,不必更改

int m=i;

int pro,end=1;

void main() //主程序

{

while(analog(6)>100) //声控启动

{

}

while(!(analog(2)>100)) //走出白色超始区

{

motor(0,80);

motor(1,80);

}

pro=start_process(test()); //启动地面标志线检测进程

while(1) //灭火与迷宫程序切换

{

if (analog(3) {

fire();

}

else //没有发现火焰,进入迷宫子程序

{

migong();

}

}

void migong() //迷宫子程序

{

if(digital(8)==0 II digital(9)==0) //如果前方或右45度角红外检测到障碍物,左转

{

motor(0,-70); //根据情况,调节功率参数,以下雷同

motor(1,70);

}

else if(digital(14)==0 && digital(9)==1 && digital(8)==1) //如果只右方有障碍物,直行

{

motor(0,100);

motor(1,100);

}

else //如果没有障碍物,右转

{

motor(0,100);

motor(1,-100);

motor(1,10);

motor(0,90);

}

if((i>2)&&(i>m)) //如果标志线数大于2且标志线有变化(针对1、2、3号房间)

{

stop();

while(analog(3)>150 && analog(5)>150 && analog(4)>150) //如果没有检测到火焰

{

motor(0,70); //右转

motor(1,-70);

if(digital(14)==0) //右红外检测到障碍物,停止转动

break;

}

m=i+1; //更改标志线的对比变量

}

if(i==1 && b && (analog(3)>150 && analog(5)>150 && analog(4)>150)) //4号房间,检测到第1条标志线,且没有火焰

{

while(digital(9)==0 II digital(8)==0 II digital(14)==0) //任意右手红外传感器有障碍物,右转

{

motor(0,70);

motor(1,-70);

}

while(digital(9)==1) //前方传感器没有障碍物,右前进

{

motor(0,100);

motor(1,70);

}

b=0; //控制变量

}

}

void fire() //灭火子程序

{

if((i>4 II i<8) && c) //如果在2号房间

{

while(analog(3) {

motor(0,-60);

motor(1,60);

}

motor(0,60); //强制直行一段

motor(1,60); //主要是解决2号房间右手法则灭火时的碰墙的情况

sleep(0.6);

c=0;

}

while(analog(5)<10 && analog(2)<60) //如果火焰距离合适且检测到地面标志线,灭火

{

motor(0,-10); //后退一段

motor(1,-10);

sleep(0.15);

stop();

motor(2,100); //灭火

sleep(2.000);

stop();

motor(0,-70); //灭完火,后退一段

motor(1,-100);

sleep(0.2);

kill_process(pro); //关掉地面标志线检测进程

select(); //进入回家子程序选择子程序

}

while(analog(3)-analog(4)> 3) //向右调整,如果调整较频繁,修改最后的3

{

motor(0,50);

motor(1,-50);

}

while(analog(4)-analog(3)> 3) //向左调整,同上

{

motor(0,-50);

motor(1,50);

}

motor(0,40); //直行

motor(1,40);

}

void test() //地面标志线检测子程序

{

while(1)

{

k=analog(2);

if(k<30 II k>150) //30 和150 分别为底部传感器检测到的的标志线和黑地面

j=k; //的值,请根据实际测试值适当修改

if((j<30) && (n>150)) //如果更改,此处也一并更改

{

i++;

beep();

}

n=j;

}

}

void select() //回家程序选择子程序

{

if(i<3) //如果地面标志线条数小于3(即在4号房间)

gohome_4(); //进入4号房间回家子程序,下同

else if(i<5)

gohome_3();

else if(i<8)

gohome_2();

else

gohome_1();

}

void gohome_4() //4号房间回家子程序

{

start_process(endstop()); //开启终(起)点停止进程序,下同

mg_right(); //右手法则回家

stop(); //停止

sleep(100.0);

}

void gohome_3() //3号房间回家子程序

{

start_process(endstop());

mg_left(); //左手法则回家

stop();

sleep(100.0);

}

void gohome_2() //2号房间的特殊回家程序

{

motor(0,60); //灭完火后右转一段

motor(1,-60);

sleep(0.2);

reset_system_time(); //系统时间复位

while(mseconds()<2100L) //运行左手法则走迷宫2.1秒(时间长短为可以走出房间门口且不到3号房间的走廊)

{

while(digital(9)==0 II digital(10)==0)

{

motor(0,60);

motor(1,-50);

}

while(digital(15)==0 && digital(9)==1 && digital(10)==1)

{

motor(0,50);

motor(1,50);

}

while(digital(15)==1 && digital(9)==1 && digital(10)==1)

{

motor(0,-80);

motor(1,80);

motor(0,45);

motor(1,80);

}

}

stop();

sleep(0.1);

while(digital(9)==0) //如果前方有障碍物,右转(调整姿势)

{

motor(0,60);

motor(1,-60);

}

while(digital(9) == 1) //如果前方没有障碍物,左、右手法则并进,基本上直行到另一端(3号房间旁)

{

if(digital(8)==0 ) //右边45度有障碍物,左转

{

motor(0,-50);

motor(1,50);

}

if(digital(14)==0 && digital(8)==1) //右边有障碍物且右45度角无障碍物,直行

{

motor(0,50);

motor(1,50);

}

if(digital(10)==0) //左边45度有障碍物,右转

{

motor(0,50);

motor(1,-50);

}

if(digital(15)==0 && digital(10)==1) //左边有障碍物且左45度角无障碍物,直行

{

motor(0,50);

motor(1,50);

}

motor(0,50); //直行

motor(1,50);

}

start_process(endstop()); //前方有障碍物时,退出循环,开启终点停止进程

while(end) //左手法则走迷宫

{

if(digital(9)==0 II digital(10)==0)

{

motor(0,60);

motor(1,-50);

}

else if (digital(15)==0 && digital(9)==1 && digital(10)==1)

{

motor(0,70);

motor(1,70);

}

else

{

motor(0,-80);

motor(1,80);

motor(0,40);

motor(1,100);

}

}

motor(0,-100); //终点刹车

motor(1,-100);

sleep(0.1);

stop(); //停止

sleep(100.0);

}

void gohome_1() //1号房间回家

{

start_process(endstop()); //开启终点停止进程

mg_right(); //右手法则走迷宫

stop();

sleep(100.0);

}

void mg_right() //右手法则走迷宫子程序

{

while(end)

{

if(digital(8)==0 II digital(9)==0)

{

motor(0,-70);

motor(1,70);

}

else if(digital(14)==0 && digital(9)==1 && digital(8)==1) {

motor(0,100);

motor(1,100);

}

else

{

motor(0,100);

motor(1,-100);

motor(1,20);

motor(0,100);

}

}

}

void mg_left() //左手法则走迷宫子程序

{

while(end)

{

if(digital(9)==0 II digital(10)==0 )

{

motor(0,60);

motor(1,-50);

}

else if(digital(15)==0 && digital(9)==1 && digital(10)==1)

{

motor(0,70);

motor(1,70);

}

else

{

motor(0,-100);

motor(1,100);

motor(0,30);

motor(1,100);

}

}

}

void endstop() //终点停止进程子程序

{

while(1)

{

k=analog(2); //检测1次

sleep(0.02); //间隔0.02秒,再检测//可适当缩短或延长时间

if(k<50 && analog(2)<50) //如果2次都是白色,终点到,停止

{

end=0;

stop();

sleep(1.0);

}

}

}

//全部程序结束

#include

#include

#define motion_time1 4 #define motion_time2 6

#define time1 100 //转弯时间

#define time2 200 //直行时间

#define adjusttime 10 //灭火中,姿势调整时,动作时间

#define checktime 5 //在传感器检测当中,设置的容错时间

//设定灭火时间

//设定重复灭火次数

#define delay_time1 10

#define delay_time2 20

#define fire_time 100 //设定灭火时间

#define fire_times 3 //设定重复灭火次数

unsigned int size=0;

unsigned int i=0;

unsigned int j=0;

unsigned int h=0;

unsigned int g=0;

unsigned int k=0;

unsigned int cny_times ;

unsigned int cny_in;

unsigned int cny_in1;

unsigned int cny_in2;

unsigned int cny_in3;

unsigned int cny_in4;

unsigned int cny_delayms =0;

unsigned int workstate=1; //工作状态可作为检测是否进入灭火等

unsigned int cny=0;

void port_init(void)

{

PORTB = 0x00;//

DDRB = 0xFF;

PORTC = 0xFF; //m103 output only DDRC = 0x00;

PORTD = 0x0F;

DDRD = 0xF0;

} //呼叫这一个常式设定所有的外围设备初值

void init_devices(void)

{

//停止周游的中断直到再设置

CLI(); //使所有的中断失去能力

port_init();

MCUCR = 0x00;

EICRA = 0x00; //extended ext ints

EIMSK = 0x00;

TIMSK0 = 0x00; //timer 0 interrupt sources TIMSK1 = 0x00; //timer 1 interrupt sources TIMSK2 = 0x00; //timer 2 interrupt sources

PCMSK0 = 0x00; //pin change mask 0 PCMSK1 = 0x00; //pin change mask 1 PCMSK2 = 0x00; //pin change mask 2 PCICR = 0x00; //pin change enable

PRR = 0x00; //开关控制

//SEI(); //re-enable interrupts

//所有的外围设备现在被设定初值

}

/*前行*/

void forward(void)

{

PORTD = 0X60;//0110 0000

}

/*停止*/

void stop(void)

{

PORTD = 0X00;

}

void turn_right_s(void)//右转

{

PORTD = 0x20; //右转//0010 0000

}

void turn_left_s(void)//左转

{

PORTD = 0x40; //左转//0100 0000

}

void turn_right(void) //右转

{

PORTD = 0xa0; //右转//1010 0000

}

void turn_left(void) //左转

{

PORTD = 0x50; //左转//0101 0000

}

void backward(void)//后退

{

PORTD = 0x90; //后退//1001 0000

}

/************************

声控启动程序运行

************************/ void mic_startup(void)

{

unsigned int mic_in;

while(1)

{ //无键按下等待

mic_in=PINC & 0x20; //pc5=0有声音

if(mic_in== 0)

break;

}

}

// 微秒级延时程序

void delay_us(unsigned int time)

{

do

{

time--;

}

while (time>1);

}

/* 毫秒级延时程序

*/

void delay_ms(unsigned int time)

{

while(time!=0)

{

delay_us(1000);

time--;

}

}

//*传感器检测程序*//

void check ()

{

cny_in1=PINC & 0x03; //0000 0011

cny_in2=PINC & 0x08; //0000

1000

cny_in3=PINC & 0x11; //0001 0001

cny_in4=PINC & 0x10; //0001 0000

}

void hd1(void)

{ while(cny_in1 == 0x01||cny_in1 == 0x00||cny_in1 == 0x02)

{

if (cny_in3==0x01)

j++;

}

}

void hd2(void)

{ while(cny!=0)

{

if (cny_in3==0x01)

h++;

}

}

/************************

找房程序

传感器:

PC3:前避障、左避障,接在一起

************************/

void houseseek_module1()//此处是巡房程序,一般调试的时候要修改此处的延时时间//

{

while(1)

{ check ();

if(cny_in2==0x00) //检测到左边或前边障碍物,右转

{

turn_right();

delay_ms(4);

stop();

delay_ms(2);

}

if(cny_in2 == 0x08) //0000 1000小车偏离墙角,前方没有障碍物,可以采取左转的动作

{

turn_left();

delay_ms(5);

stop();

delay_ms(4);

forward();

delay_ms(10);

stop();

delay_ms(4);

}

if(cny_in1 == 0x01||cny_in1 == 0x00||cny_in1 == 0x02) // 发现火焰,跳出break;

}

// seek_fire();

}

/************************

回家

************************/

void cejia (void)

{

check();

if(cny_in4==0x00)//改过

{

forward();

delay_ms(80);

check();

if(cny_in3==0x00)

{

while(1)

{

stop();

}

}

}

}

void huijia(void)//

{while(1)

{ check ();

if(cny_in2==0x00) //检测到左边或前边障碍物,右转

{

turn_right();

delay_ms(10);

stop();

delay_ms(2);

}

if(cny_in2 == 0x08) //0000 1000小车偏离墙角,前方没有障碍物,可以采取左转的动作

{

turn_left();

delay_ms(5);

stop();

delay_ms(4);

forward();

delay_ms(10);

stop();

delay_ms(4);

}

if(cny_in2 == 0x08&&cny_in4== 0x00) {

cejia();

}

}

}

/************************

灭火程序

传感器:

pc0 pc1:左右火焰传感器

pc4:灰度

PB0:风扇

************************/

void fire(void)

{ stop();

while(1)

{

cny++; //设定标记如果灭火超过一定的次数,表明有错误。自动退出

PORTB=0X01;

delay_ms(fire_time);

}

check();

if (cny_in1==0x03||cny==fire_times)

PORTB=0X0; //关闭风扇

}

void fire1(void)

{

while(1)

{

check ();

if(cny_in1 == 0x01||cny_in1 == 0x00||cny_in1 == 0x02) //左边有火焰右边没有

{

PORTB=0x01;

}

check ();

if(cny_in1 == 0x03) // 都没有检测到火焰

PORTB=0X00;

}

}

void fire2(void)

{ stop();

//设定标记如果灭火超过一定的次数,表明有错误。自动退出

PORTB=0X01;

delay_ms(5000);

PORTB=0X00; //关闭风扇

turn_left();

delay_ms(100);

backward();

delay_ms(50);

stop();

delay_ms(50);

}

void fire3(void)

{

while(1)

{check();

if(cny_in1==0x00&&cny_in4==0x00)//

{stop();

fire2(); }//

if (cny_in1==0x03)

huijia();

if(cny_in3==0x00&&cny_in4== 0x00)

stop();

}

}

/************************************ *******

火焰传感器测试程序

火焰传感器接入端口:pc0 pc1

初步实现寻找火焰的功能

************************************* ******/

void seek_fire(void)

//进入火焰寻找路径程序段定义1代表检测到火焰

{

while(1)

{

check ();

//hd1();

if(cny_in1 == 0x01) //0000 0001左边有火焰右边没有cny_in1=PINC & 0x03; //0000 0011

{

turn_left();

delay_ms(2);

stop();

delay_ms(8);

}

if(cny_in1 == 0x00) //左右都检测到火焰

{

forward();

delay_ms(4);}

if(cny_in1==0x00&&cny_in4==0x00)//进入灭火圈

{

stop();

delay_ms(8);

fire3();

}

if(cny_in1 == 0x02) //右边有火焰左边没有火焰

{

turn_right();

delay_ms(2);

stop();

delay_ms(8);

}

if(cny_in1 == 0x03) // 都没有检测到火焰且还未灭火

{

houseseek_module1();

}

// if(cny_in1 == 0x00 ) // 进入灭火圈且检测到火

//{

//fire3();

// }

}

} //*主程序*//

void main()

{

port_init();

init_devices();

delay_ms(50);

mic_startup();

while(1)

{check();

if(cny_in1==0x00||cny_in1==

0x01||cny_in1== 0x02 )

{

forward();

delay_ms(10);

seek_fire();

}

if(cny_in1==0x03)

{

houseseek_module1();

}

if(cny_in3==0x00&&cny_in4== 0x00) stop();

}

//while(cny_in==0x0||cny==fire_timese) //fire();

}

智能消防机器人

智能消防机器人 目录 第一章引言 (2) 1.1课题背景 (2) 1.2 Intelligent Design and manufacture of electric cars Fire..2 1.3 实现功能 (3) 1.4 模拟房子介绍 (3) 第二章系统整体方案设计 (4) 2.1系统硬件设计 (4) 2.2系统软件设计 (4) 第三章硬件设计 (5) 3.1 电源管理模块 (5) 3.11稳压芯片LM7805、7806CV (5) 3.12电源模块电路原理图 (5) 3.2 电机驱动芯BTS7960 (6) 3.21 BTS7960的逻辑功能 (6) 3.22 外形及封装 (6) 3.23BTS7960电路原理图 (7) 3.3地面灰度检测传感器 ST188 (7) 3.3.1 ST188特点 (7) 3.3.2 检测原理 (7) 3.3.3 应用范围 (7) 3.3.4 外形尺寸(单位mm) (7) 3.3.5 ST188原理图 (8) 3.4火焰传感器 (8) 3.4.1火焰传感器使用 (8) 3.5报警电路 (8) 第四章软件设计 (9) 4.1 灭火机器人行进路线分析 (9) 4.2 软件流程图 (11) 4.3软件开发平台介绍 (11) 第五章调试记录及实验心得 (12) 5.1 调试记录 (12) 参考文献 (13) 附录: 程序清单 (13)

第一章引言 1.1课题背景 如今国内外对消防设备的研究越来越重视,投入也越来越多。慢慢趋向于自动化、智能化。实现灭火、火场侦查、危险物品泄露探测、破拆等功能。本文设计主要完成的功能是扑火救人。 本设计是基于STC89C52单片机对电动车进行控制的自动控制系统,研究的内容有:主要方案论证、硬件设计、软件设计、系统实物调试。硬件设计主要有电机驱动电路、热光源采集电路、声音采集电路、电风扇驱动电路、停车信号采集电路、LCD显示电路、电源电路及单片机最小系统。本系统以STC89C52单片机作为控制核心,通过接受到热光源采集电路传送的信号和声音采集电路传送的信号,对电动车电机进行控制,从而实现对电动车的转向控制。当两处着火,一处是物品,另一处是人着火;电动车通过声音识别,优先将人身上的火扑灭。其所实现的功能相当于简易消防机器人。 【关键词】消防车热光源 STM32单片机 LM298 ST178 1.2Intelligent Design and manufacture of electric cars Fire Abstract Today, fire-fighting equipment at home and abroad more and more emphasis on the study, input more and more. Slowly tends to automation and intelligence. To achieve fire fighting, fire detection, hazardous materials leak detection, ripper and other functions. This function is primarily designed to complete fire fighting to save people. The design is based STC89C52 microcontroller to control for electric vehicle control system to study the contents of the following: the main program feasibility studies, hardware design, software design, system debugging in kind. Hardware design, main motor drive circuit, thermal light source acquisition circuit, the sound collection circuit, fan drive circuit, stopping the signal acquisition circuit, LCD display circuit, power circuit and microcontroller minimum system. The system STC89C52 microcomputer as the control core, through the acquisition circuit receives light transmitted thermal signal and voice signal acquisition circuit transmission of electric vehicle motors to be controlled in order to achieve steering control for electric vehicles. When the two fire, one is the items, another is a human on fire; electric vehicle through voice recognition, give priority to the human body fire. They achieve the functional equivalent of simple fire-fighting robot. 【Key words】:fire engine 、hot light、STM32 MCU 、LM298ST178

消防机器人通用技术条件..

前言 本部分的第4、5、6、9章为强制性,其余为推荐性。 GAX X《消防机器人》目前拟分为9个部分: 一一第1部分:消防机器人通用技术条件; 一一第2部分:消防灭火机器人: 一一第3部分:消防侦察机器人; 一一第4部分:消防排烟机器人; 一一第5部分:消防救援机器人; 一一第6部分:消防洗消机器人; 一一第7部分:消防照明机器人; 一一第8部分:防暴机器人; 一一第9部分:排爆机器人: 本部分为GAXX的第1部分。 根据国内目前消防机器人的生产、使用情况以及今后较长时期内我国消防机器人的发展规划,编制了本部分标准。本部分标准首次发布。 本部分由中华人民共和国公安部提出。 本部分由全国消防标准化技术委员会第四分技术委员会(SAC/TCll3/SC4)归口。 本部分负责起草单位:公安部上海消防研究所。 本部分主要起草人

消防机器人通用技术条件 General specification for fire robot GAXX.-XXXX 1 范围 本标准规定了消防机器人的术语、分类、型号编制、功能、性能要求、试验方法、检验规则、标志、包装、运输、贮存等。 本标准适用于在陆地上行走的各类消防机器人,不适用于在空中或水面、水下等执行消防作业的其它特种机器人。 2规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文 件,其最新版本适用于本标准。 GB/T 156—2007 标准电压 GB/T 191—2008 包装储运图示标志 GB/T 699—1999 优质碳素结构钢 GB/T 1173—1995 铸造铝合金 GB/T 1176—1987 铸造铜合金技术条件 GB/T 1348—1988 球墨铸铁件 GB/T 3766—2001 液压系统通用技术条件 GB 3836.1—2000 爆炸性气体环境用电器设备第一部分:通用要求 GB 4208—2007 外壳防护等级(1P代码) GB/T 4237—2007 不锈钢热轧钢板和钢带 GB 5083—1999 生产设备安全卫生设计总则 GB/T 7251.8—2005 低压成套开关设备和控制设备智能型成套设备通用技术要求 GB 7258—2004 机动车运行安全技术条件 GB/T 7932—2003 气动系统通用技术条件 GB/T 9439—1998 灰铸铁件 GB 12325—2003 电能质量供电电压允许偏差 GB 14097—1999 中小功率柴油机噪声限值 GB 15540—2006 陆地移动通信设备电磁兼容技术要求和测量方法 GB 17478—2004 低压直流电源设备的性能特性 GB 18296—2001 汽车燃油箱安全性能要求和试验方法 GB 20891—2007 非道路移动机械用柴油机排气污染物排放限值及测量方法(中国I、II阶段) GB 50171—1992 电气装置安装工程盘、柜及二次回路结线施工及验收规范GB 50257—1996 电气装置安装工程爆炸和火灾危险环境电气装置施工及验收规范 GB/T 13384—1992 机电产品包装通用技术条件 JB/T 9773.2—1999 柴油机起动性能试验方法 3 术语 下列术语适用于本标准: 3.1消防机器人fire robot

消防机器人

消防机器人 摘要:消防机器人在操作人员无线控制下进入火灾现场,通过机器人身上安装的摄像头将火灾现场的画面传入指挥中心,指挥中心具体了解分析火灾现场的情况制定出切实可行的救火方案,并且消防机器人根据热传感器找到火源进行有效控制火势或灭火。如有危险物品,消防机器人利用自身的机械臂将危险物品转移到安全地带。实现操作人员与消防机器人相互协调完成救人灭火人物。它的应用将协助消防部队扑灭火灾,提高救灾效率,减少国家、个人财产损失及尽量减少消防员或救灾人员的人身损坏。关键词:消防机器人;自动控制; 一、消防机器人的意义 数据显示,2012年1至7月全国共发生火灾46653起,死亡399人,受伤258人,消防局后勤装备处副处长王宇介绍,我国每年有近30名消防员在灭火救援战斗中牺牲,消防员已成为高危行业。消防机器人作为特种消防设备可代替消防队员接近火场实施有效的火场侦察和灭火救援。它的应用将协助消防部队扑灭火灾,提高救灾效率,减少国家、个人财产损失及尽量减少消防员或救灾人员的人身损坏。 二、消防机器人的目前现状 (1)消防机器人的市场方向: 一、市场规模 2006-2010年我国消防灭火机器人行业市场增长速度分析(单位:千元) 二、市场集中度 2010年我国消防灭火机器人行业市场集中度

三、行业盈利水平 2007-2010年消防灭火机器人产业利润总额(单位:千元) 2007-2010年消防灭火机器人产业销售利润率(单位:%)

四、2010年我国主要消防灭火机器人生产厂家产量数据统计 2007-2010年消防灭火机器人产业厂家数量统计(单位:个) (2)消防机器人的研究方向:消防机器人在操作人员无线控制下进入火灾现场,通过机器人身上安装的摄像头将火灾现场的画面传入指挥中心,指挥中心具体了解分析火灾现场的情况制定出切实可行的救火方案,并且消防机器人根据热传感器找到火源进行有效控制火势或灭火。如有危险物品,消防机器人利用自身的机械臂将危险物品转移到安全地带。实现操作人员与消防机器人相互协调完成救人灭火人物。 (3)实现消防机器人功能的技术手段:消防机器人以柴油发动机作为动力,配置驱动轮能够作俯仰和左右旋转,喷射一定量的灭火剂,并装有气体检测装置和摄像头,通过无线电控制,无线电控制的最大距离为100~150m。此外,还装有温度传感器、气体检测装置、烟雾浓度检测装置和红外线检测装置等。消防机器人身上安装的所有电器以及线路具有耐高温、抗辐射、防爆炸、防水的措施和功能。行走机构耐高温、

灭火机器人

灭火机器人 机器人这个概念早已家喻户晓,它是自动执行工作的机器装置,可以协助或者取代人类从事多种工作。由机器人来代替人类在危险的工作环境中工作,尤其是特殊紧急险情等危害公共安全时,机器人发挥着越来越重要的作用。本文仅就消防机器人在国内外的发展现状做简要介绍,并对消防机器人在实际中的应用及改进方向做较为详尽的阐述,供广大同仁参考。 “机器人”一词问世以来,一直成为高科技高尖端的代名词。世界发达国家均在机器人的研发上投入大量的人力财力。机器人是自动执行工作的机器装置,可以协助或者取代人类从事多种工作。近年来,机器人已经在很多国家的多个行业逐步代替了手工,是人力资源匮乏国家解决劳动力问题的上佳选择。而由机器人来代替人类在危险的工作环境中工作,尤其是危害公共安全的火灾、毒气、爆炸等特殊紧急险情时,机器人发挥着越来越重要的作用。消防事业直接服务于经济建设,高科技的消防技术直接有利于我国经济的发展,现在消防机器人的诞生把消防工作推向了一个新的局面。 1消防机器人的分类及主要的技术特征 机器人是凭借其本身所产生的动力,以及控制的能力,去达到一种既定的功能,并且能够移动,可以达到对某些特定动作的实现。消防机器人属于特种机器人大家族中的一种,它的应用将大大提高消防部门消防工作能力。为了便于探讨,我们对于消防机器人的种类加以区分和总结,具体如下。 (1)针对控制方式而言,自适应消防机器人,线控消防机器人、无线遥控消防机器人等是其划分的种类。 (2)针对灭火救援功能而言,其可以划分为火场侦察机器人、灭火机器人、排烟机器人、救人机器人、危险物品泄漏探测机器人、破拆机器人及多功能消防机器人。 (3)按照消防的智能化程度,其可以划分为智能化消防机器人、程序化控制消防机器人、具有感觉功能计算机辅助控制消防机器人等。 (4)针对感觉功能来说,其大体可划分为视觉消防机器人、触觉消防机器人、嗅觉消防机器人、温感消防机器人、烟感消防机器人等。

火灾消防机器人设计报告

基于ATmega2560单片机的智能避障灭火小车 一、设计方案: 1、控制系统: Arduino Mega2560是采用USB接口的核心电路板,具有54路数字输入输出,适合需要大量IO接口的设计。处理器核心是ATmega2560,同时具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,4路UART接口,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。Arduino Mega2560也能兼容为Arduino UNO设计的扩展板。 该核心电路板能提供大量IO接口,因此为以后的传感器和功能拓展提供了便捷,同时搭配传感器拓展板,在使用和调试便捷性上优于其它单片机。 Arduino2560原理电路: 2、传感器: 方案一:光电循迹传感器+火焰传感器+红外线测距传感器 光电开关在一般情况下,由三部分构成,它们分为:发送器、接收器和检测电路。

它的检测头里也装有一个发光器和一个收光器,它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光受光器是接收不到的,当有物体通过时挡住了光,并把光反射回来,受光器就接收到了光信号,输出一个开关信号。 当遇到黑色线格的时候,由于黑色吸收了大部分光线,因此光电开光就会输出电平变化,单片机接收到信号以后做出相应的动作。 火焰传感器的基本构成及原理: 火焰传感器由红外线接收管、电平比较电路、灵敏度调节电位器三部分组成。通过红外线接收管探测周围环境,当接收到较强的红外线的时候,由电平比较器反馈给单片机电平变化信号。可通过电位器调节火焰传感器的灵敏度。 红外测距传感器: 红外测距传感器由四部分构成,红外线二极管,红外线接收管,电平比较器,距离调节电位器。 通过红外线二极管发射出红外线,接收管收到物体反射的红外线,通过电平比较器后输出一个变化电平信号。通过电位器调节,可以控制接收管给电平比较器的信号,而达到控制探测距离的目的。但由于红外线测距模块对火焰比较敏感,因此用在消防机器人上面不是很合适。 方案二:光电循迹传感器+火焰传感器+超声波传感器 该方案使用了超声波测距模块,利用超声波发射和接收模组,通过一定频率的超声波并接收该频率的反射波,通过两者的时差进行计算,准确得出障碍距小车的距离,屏蔽了火焰对测距模块的影响,能有效应用于避障机构。 3、动力机构: 方案一、四线二相步进电机*2 该方案中,步进电机能够按照特定的步进角进行运转,设定好步数,电机则运行相应的角度以下图为例: 虽然步进电机能很准确的对小车进行控制,但是由于其功耗和控制电路的因素,该方案未采用。 方案二、直流减速电机*2 使用L298N驱动两个直流电机,L298N驱动电路如下图:

相关主题
相关文档
最新文档