范文一:消防机器人设计
龙源期刊网 http://www.qikan.com.cn
消防机器人设计
作者:
来源:《工业设计》2012年第12期
[引言]
可以攀爬楼梯,进入危险火场执行消防作业:排出浓烟、喷洒水雾降温、喷射水柱、泡沫灭火,甚至可以排除障碍,救出被困人员;这一段描述的不是科幻电影的场景,而是今天正在消防部队服役的真实的产品——消防机器人
消防机器人是一种用于消防作战的消防车辆,它可以经遥控进入消防员无法靠近的危险场所:如高温、浓烟、毒气、易爆等恶劣环境中进行消防作业,有效保护消防员的人身安全,提高了消防作战效率;其消防功能主要有:在远距离遥控模式下进入火灾现场向火场喷洒水雾,排除烟尘,喷射水柱或泡沫灭火等;它可以前后行进,原地自转,跨越障碍,翻陡坡、爬楼梯等灵活动作;消防机器人的诞生是科技与人性化产品设计理念的发展成果。
[缘起]
我们看到的这款由海伦哲企业生产销售,上海轱辘轩工业设计有限公司进行工业设计的产品在今年刚揭晓的2012年中国创新设计红星奖中摘得至尊金奖,评委对其功能化的产品设计语义形态给出很高的评价,这是对该产品在研发中导入工业设计,提升产品综合价值的肯定和鼓励。
关于消防机器人的设计故事是追溯到2011年10月,这家以创新精神闻名行业的企业实施了消防产品科研战略,其中一项目标是希望将其新研发的消防机器人能够以一种前卫的面貌打入市场,打破了现有消防产品的同质化状态,并以此构建优秀品质的企业产品形象体系。海伦哲企业委托轱辘轩工业设计团队为其新研发的消防机器人进行产品的全新概念设计;经过沟通,工业设计团队明确了海伦哲企业对该产品的工业设计要求:一种颠覆传统、全新面貌的消防机器人;并通过工业设计以及相关技术从外观形态、色彩视觉、人机工程以及材料工艺等全方面对产品优化,让消防作战变得更安全、更迅捷、更有效。
[设计前沟通学习]
轱辘轩对工业设计工作的理解是工业设计一定要融入企业产品研发体系,而不应当是所谓的技术外包,独自蒙头做方案,因为工业设计的每个细节必然会关乎生产企业内对应的生产环节或研发、销售部门;工业设计师的工作内容更恰当的说是以产品形态创新为目标的综合协调与策划。在工作开始之前,工业设计团队先深入企业生产车间,了解消防产品生产的一般流程,常用材料、工艺,同时不时的向一线生产人员请教各种疑问和即时的设想;同时,与研发人员沟通了解其功能原理以及模块组合关系,探讨各种变更的可能,明确可变动结构与不可变
范文二:消防机器人设计报告
基于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驱动电路如下图:
该驱动电路可两路直流电机或一路步进电机,控制直流电机时,IN1、IN2、IN3、IN4分别接单片机数字IO口,通过IO口控制电机的转动方向,ENA、ENB接单片机PWM输出口,控制电机的转速。该方案电路简单,控制方便,故采用该方案。
4、灭火风扇:
方案一:采用模块化设计,在调试和安装上方便快捷。用两个直流小电机作为灭火装置,由单片机IO口控制,并通过三极管扩流,由L7805将12V锂电池电压稳压为5V,供全部系统使用,在测试过程中发现,当火焰传感器探测到火焰,电机转动时使得系统板电压骤降,导致单片机不断复位,达不到灭火的效果。
方案二:通过给单片机系统单独供电,用IO口控制两个继电器来间接控制灭火小电机,电机电源采用电机驱动板上的5V电源接口。该方案解决了单片机因电压不足而无限重启的现象,使得单片机系统能够稳定运作。因此我采用该方案。
5、电源模块:
现有2200mah航模锂电池一块,输出电压11.1V,最大放电能力30C,完全满足小车需要。采用两路L7805单独给单片机系统和电机驱动系统供电,传感器由单片机系统电源供电,灭火风扇由电机驱动系统供电。电源模块电路原理图如下:
6、数据交互模块:
传感器的数据除了传递给小车系统之外,还需要通过显示屏呈现出来,同样的,有两套方案,
方案一:系统接收到数据之后直接处理,然后显示到LCD1602。该方案使用到1602液晶,在arduino上使用液晶来显示数据参数不是很困难,但是由于小车所使用到的单片机系统为8位单片机,虽然已经有很丰富的IO接口,但数据处理能力着实一般,在使用液晶和单总线的DIS18B20温度传感器时,会使得系统的操作显得很慢,导致程序不能够正常运行。而且1602液晶只能显示两行、16个字符,对于该小车来说着实有点紧张。
方案二:单片机在处理传感器数据的同时,将数据通过串口转发给另一单片机,在另一单片机进行处理后,将参数显示到2004液晶上面,将控制信号反馈给主控单片机,最大限度的使主控单片机的速度不受影响。由于本系统采用集成串口的mega2560单片机与mega328p单片机,只需要通过TXD和RXD两根线进行通信。而且能将部分控制指令直接分配给mega328p,因此,提高了系统的稳定性和工作效率。因此我采用方案二。
二、 小车结构:
三、 程序设计:
小车从安全位置出发,无固定路线,在火焰传感器的引导下自行选择靠近火源的路线行走,距离火源一定距离时停下,进行灭火操作。灭火完成后继续前往下一个火源。途中遇到障碍物时能够自行避开障碍物,寻找离火源最近的路线前进。小车能够自行判断自己在场地中的位置,防止走出场地,其位置判断与火源计数以及报警部分由mega328p进行。
部分程序:
//mega2560部分//
int Motor_L=4;
int Motor_R=5;
int Track_L=30;
int Track_0=31;
int Track_1=A4;
int Track_R=32;
int Flame_L_D=40;
int Flame_R_D=41;
int Flame_L_A=A0;
int Flame_R_A=A1;
int Relay_L=A10;
int Relay_R=A11;
int F_L_A=0;
int F_R_A=0;
char D;
void setup()
{
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(22,OUTPUT);
pinMode(23,OUTPUT);
pinMode(24,OUTPUT);
pinMode(25,OUTPUT);//Motor_L&&Motor_R.
pinMode(30,INPUT);
pinMode(31,INPUT);
pinMode(A4,INPUT);
pinMode(32,INPUT);//Track_L&&Track_0&&Track_R
pinMode(40,INPUT);
pinMode(41,INPUT);
pinMode(A0,INPUT);
pinMode(A1,INPUT);//Flame Digital&&Analog Input
pinMode(A10,OUTPUT);
pinMode(A11,OUTPUT);//Relay L&R
Serial.begin(9600);
}
void loop()
{
F_L_A=analogRead(A0);
F_R_A=analogRead(A1);
while(1)
{ //**********Flame******//
if(digitalRead(40)==0)
{
stop();
relay_L_H();
}
else
{
straight();
relay_L_K();
}
if(digitalRead(41)==0)
{
stop();
relay_R_H();
}
else
{
straight();
relay_R_K();
}
//***********Track Start**********//
if(analogRead(A4)>500&&digitalRead(31)==1&&analogRead(A0)<870)>870)>
left();
straight();
Serial.print("A");
}
else
{
straight();
}
if(digitalRead(31)==1&&analogRead(A4)>500&&analogRead(A1)<870)>870)>
right();
straight();
Serial.print("B");
}
else
{
straight();
}
}
} //*******************Main End***********************//
//*******************************************************// //********************Motor Control**********************//
//*******************************************************//
//***********Straight**********//
void straight(void)
{
if(digitalRead(30)==1&&digitalRead(32)==1)
{
digitalWrite(22,HIGH);
digitalWrite(23,LOW);
digitalWrite(24,HIGH);
digitalWrite(25,LOW);
analogWrite(4,255);
analogWrite(5,240);
}
else if(digitalRead(30)==0)
{
digitalWrite(22,HIGH);
digitalWrite(23,LOW);
digitalWrite(24,HIGH);
digitalWrite(25,LOW);
analogWrite(4,255);
analogWrite(5,0);
}
else if(digitalRead(32)==0)
{
digitalWrite(22,HIGH);
digitalWrite(23,LOW);
digitalWrite(24,HIGH);
digitalWrite(25,LOW);
analogWrite(4,0);
analogWrite(5,240);
}
}
//************Stop*************//
void stop(void)
{
digitalWrite(22,HIGH);
digitalWrite(23,LOW);
digitalWrite(24,HIGH);
digitalWrite(25,LOW);
analogWrite(4,0);
analogWrite(5,0);
}
//************Back***************//
void back(void)
{
digitalWrite(22,LOW);
digitalWrite(23,HIGH);
digitalWrite(24,LOW);
digitalWrite(25,HIGH);
analogWrite(4,250);
analogWrite(5,230);
}
//***********Left**************//
void left(void)
{
digitalWrite(22,LOW);
digitalWrite(23,HIGH);
digitalWrite(24,HIGH);
digitalWrite(25,LOW);
analogWrite(4,240);
analogWrite(5,255);
delay(700);
}
//**********Right*************//
void right(void)
{
digitalWrite(22,HIGH);
digitalWrite(23,LOW);
digitalWrite(24,LOW);
digitalWrite(25,HIGH);
analogWrite(4,255);
analogWrite(5,255);
delay(600);
}
//***************************************************//
//********************Relay**************************//
//***************************************************//
//*****************Relay_L***********************//
void relay_L_H(void)
{
digitalWrite(A10,HIGH);
delay(600);
}
void relay_L_K(void)
{
digitalWrite(A10,LOW);
}
//*******************Realay_R***********************//
void relay_R_H(void)
{
digitalWrite(A11,HIGH);
delay(600);
}
void relay_R_K(void)
{
digitalWrite(A11,LOW);
}
//mega328p串口通讯及LCD测试程序//
#include #include char D; LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display void setup() { lcd.init(); // initialize the lcd lcd.backlight(); lcd.print("X="); lcd.setCursor(0,1); lcd.print("Y="); Serial.begin(9600); } void loop() { D=Serial.read(); lcd.setCursor(3,0); if(Serial.read()=='A') { lcd.print("X"); } lcd.setCursor(3,1); if(Serial.read()=='B') { lcd.print("Y"); } } 沈阳理工大学学士学位论文 第一章 绪 论 1.1 项目概述 本文介绍的是一种履带式消防机器人设计, 结构简单、制造方便、性能可靠、成本低廉。履带式行走机构, 使机器人具有更出色的越障能力。两条履带均设置有正反转,且可无级调速,使机器人行走、转弯更加灵活。整机共七个自由度,可实现物体的夹持、搬运、码放。在消防领域,此机器人可在加装声像传输设备等辅助设备的情况下,完成火场侦察、勘测、救援、灭火等任务。此设计为实物制造设计,在加工能力有限的情况下,如何选选择更为合理可行的设计方案和加工方法来避开技术瓶颈,且相对提高精度成为匠心之处。论文在这方面具有一定意义。 1.2 目的及意义 本题目研制开发一种制造简单,使用方便的消防机器人。 常言道水火无情,这其中道出了水火对人类的威胁及人们对水火的无奈。提起火灾,人们会联想起一起起悲剧。据有关部门统计,仅1995年一年我国就发生火灾38000起,死亡2233人,受伤3770人,直接经济损失10.8亿多元。1997年发生火灾14万余起,死亡2722人,伤4930人,造成财产损失15.4亿元。多么触目惊心的数字啊~ 近年来,我国石化等基础工业有了飞速的发展,在生产过程中的易燃易爆和剧毒化学制品急剧增长,由于设备和管理方面的原因,导致化学危险品和放射性物质泄漏、燃烧爆炸的事故增多。消防机器人作为特种消防设备可代替消防队员接近火场实施有效的灭火救援、化学检验和火场侦察。它的应用将提高消防部队扑灭特大恶性火灾的实战能力,对减少国家财产损失和灭火救援人员的伤亡将产生重要的作用。在深圳清水河火爆炸、南京金陵石化火灾、北京东方化工厂罐区火灾等事件发生后,国内消防部队要求研制、配备消防机器人的呼声越来越高。消防机器人的研制,对我国21世纪的消防装备的发展以及消防部队的技战术的拓展将产生重要的影响。 为了能够尽快地扑灭火灾,防止火灾的进一步蔓延,寻找火灾根源,采取近距离作战的灭火方法是提高灭火效能的最佳途径,但是,凶猛的火灾往往使勇敢的消防队员无法靠近。 1 沈阳理工大学学士学位论文 在化学灾害的处置过程中,由于事故现场的情况十分复杂,泄漏物的毒性、腐蚀性、易燃易爆特性或放射性等物质会使消防队员处于更加危险的境地。 谁能够帮助我们可爱的消防队员把灭火、救人和消灭化学灾害事故的处置工作做得更好,谁能够代替他们去承受死亡的威胁,答案是:消防机器人。 消防机器人往往需要在高温、强热辐射、浓烟、地形复杂、障碍物多、化学腐蚀、易燃易爆等恶劣环境中进行火场侦察,化学危险品探测、灭火、冷却、洗消、破拆、救人、启闭阀门、搬移物品、堵漏等作业,因此,作为某种特定功能的消防机器人应该具备以下某项或几项行走和自卫功能: a.登爬坡、登梯及障碍物跨越功能; b.耐高温和抗热辐射功能; c.防雨淋功能;d.防爆(隔爆)功能; e.防化学腐蚀功能; f.防电磁干扰功能; g.遥控功能等。 1.3 国内外发展概况 图1.1救援机器人 图1.2灭火机器人 最近几十年中,大量的高层、地下建筑与大型的石化企业不断涌现。由于这些建筑的特殊性,发生火灾时,不能快速高效的灭火。为了解决这一问题,尽快救助火灾中的受害者,最大限度的保证消防人员的安全,消防机器人研究被提到了议事日程。而机器人技术的发展也为这一要求的实现提供了技术上的保证,使得消防机器人应运而生。 我国从八十年代末期开始消防机器人的研究,公安部上海消防研究所等单位在消防机器人的研究中取得了大量的成果,"自行式消防炮"已经投入市场,"履带轮式消防灭 2 沈阳理工大学学士学位论文 火侦察机器人"也于2000年6月通过了国家验收。但是,我国消防机器人的研究还处在初级阶段,还有许多有待研究的问题。比如,高层建筑发生火灾时,消防人员不可能在短时间内到达高处的火灾发生地点,在地下建筑中,由于环境比较潮湿,烟气不易扩散,消防人员不容易快速的判定火源位置;而在石化企业发生火灾时,将产生大量的毒气,消防人员在灭火时极易中毒。研制能够用于这些场合的侦察灭火机器人,协助消防人员进行火灾的定位和灭火,将有极大的社会意义。 不仅在我国,在世界上消防工作也是一个大难题,各国政府都千方百计地将火灾的损失降到最低点。从二十世纪八十年代开始,世界许多国家都进行了消防机器人的研究。美国和苏联最早进行消防机器人的研究,而后日本、英国、法国等国家都纷纷开展了消防机器人的研究,目前已有多种不同类型的消防机器人用于各种火灾场合。 从功能上划分,目前的消防机器人有下列几类:灭火机器人、侦察机器人、攀登营救机器人和救护机器人。从控制方式来分,消防机器人可分为遥控消防机器人和自主消防机器人。 1984年11月,在日本东京的一个电缆隧道内发生了一起火灾,消防队员不得不在浓烟和高温的危险环境下在隧道内灭火。这次火灾之后,东京消防部开始对能在恶劣条件下工作的消防机器人进行研究,目前已有五种用途的消防机器人投入使用。 遥控消防机器人 1986年第一次使用了这种机器人。当消防人员难于接近火灾现场灭火时,或有爆炸危险时,便可使用这种机器人。这种机器人装有履带,最大行驶速度可达10公里/小时,每分钟能喷出5吨水或3吨泡沫。 喷射灭火机器人 这种机器人于1989年研制成功,属于遥控消防机器人的一种,用于在狭窄的通道和地下区域进行灭火。机器人高45厘米,宽74厘米,长120厘米。它由喷气式发动机或普通发动机驱动行驶。当机器人到达火灾现场时,为了扑灭火焰,喷嘴将水流转变成高压水雾喷向火焰。 消防侦察机器人 消防侦察机器人诞生于1991年,用于收集火灾现场周围的各种信息,并在有浓烟或有毒气体的情况下,支援消防人员。机器人有4条履带,一只操作臂和9种采集数据用的采集装置,包括摄像机、热分布指示器和气体浓度测量仪。 3 沈阳理工大学学士学位论文 攀登营救机器人 攀登营救机器人于1993年第一次使用。当高层建筑物的上层突然发生火灾时,机器人能够攀登建筑物的外墙壁去调查火情,并进行营救和灭火工作。该机器人能沿着从建筑物顶部放下来的钢丝绳自己用绞车向上提升,然后它可以利用负压吸盘在建筑物上自由移动。这种机器人可以爬70米高的建筑物。 救护机器人 救护机器人于1994年第一次投入使用。这种机器人能够将受伤人员转移到安全地带。机器人长4米,宽1.74米,高1.89米,重3860公斤。它装有橡胶履带,最高速度为4公里/小时。它不仅有信息收集装置,如电视摄像机、易燃气体检测仪、超声波探测器等;还有2只机械手,最大抓力为90公斤。机械手可将受伤人员举起送到救护平台上,在那里可以为他们提供新鲜空气。 2000年11月,奥地利雪山缆车在隧道中发生火灾,死亡160余人。由于隧道中黑暗、阴冷、浓烟密布,灭火和清理现场工作十分艰难。这再次说明了特种消防设备的重要。 1.4 主要研究内容 本题目主要研究的内容是设计行走底盘和四自由度手臂,本题目研制开发一种消防机器人基础级载体。对机器人的局部受力情况作了具体的分析。 4 沈阳理工大学学士学位论文 第二章 方案比较与方案选择 2.1 行走机构方案比较 机器人在地面上移动的方式通常有三种:车轮式、履带式和步行式。 步行移动方式是模仿人类或动物的行走机理,用腿脚走路,对环境适应性好。根据调查,在地球上近一半的地面不适合于传统的轮式或履带式车辆行走, 但是一般多足动物却能在这些地方行动自如,显然足式与轮式及履带式行走方式相比具有独特的优势. 足式行走对崎岖路面具有很好的适应能力,足式运动方式的立足点是离散的点,可以在可能到达的地面上选择最优的支撑点。但是步行移动方式的智能程度也相对较高。正因如此,步行移动方式在机构和控制上是最复杂的,技术上也还不成熟,不适于在要求灵活和可靠性高的工作环境中。 车轮式移动是最常见的一种地面行进方式。车轮式移动的优点是:能高速稳定的移动,能量利用效率高,机构和控制简单,而且技术比较成熟。驱动与转弯机构可分以下几种形式: 1.驱动、转向轮一体径向转向,如同前驱动式轿车 2.驱动轮、转向轮分置,如同后驱动式卡车 3.两侧驱动轮异速转弯,如同轮椅 前两种驱动转弯形式不单要设计有合理的驱动机构,还要有较好的转向机构,增加了自由度的同时又要考虑为这个自由度提供动力单元,以及转向差速系统,使得整机复杂程 5 沈阳理工大学学士学位论文 度大大提升,机构繁琐,稳定性降低。第三种形式仅用一套差速系统和一组跟踪轮就可实现转向,可是跟踪轮通常采用万向轮,无规则定向,在路面情况复杂下行驶极其不稳定,且在停止和启动时遵循前一运动状态轨迹,缺乏应急灵活性。而其车轮式移动共有的缺点就是对路面要求较高,适于平整硬质路面。越障性能严重缺失。 履带式实际是一种自己为自己铺路的轮式车辆。它是将环状循环轨道履带卷绕在若干滚轮外,使车轮不直接与地面接触。履带式的的优点是着地面积比车轮式大,所以着地压强小;另外与路面黏着力强,能吸收较小的凸凹不平,适于松软不平的地面。因此,履带式广泛用在各类建筑机械及军用车辆上。并且履带式结构是通过两条履带差速实现转弯。不但可以实现超小半径转弯,还可以实现原地转弯。灵活性极佳。 6 沈阳理工大学学士学位论文 2.2手臂机构方案比较 对于整体行走机器人载具而言,行走机构只是用来完成大空间内整体移动和工作头部分在平面内大幅度间接调整。其运动轨迹和幅度难以充分满足三维空间运动和精度要求。为了能使工作头部分能够在三维空间触及工作点工作面并且能够精确完成工作任务引入了连接在行走机构与工作头之间的,较行走机构传动更精准、运动更平稳的机械臂机构。机械臂按其运动机理可分为以下三种: (1) 蠕动式机械臂 这种机械臂源自仿生学中对虫子蠕动的模仿。通过沿径向布置的很多个旋转关节或扭转关节机构的联动来实现工作头空间内多组相邻圆心圆截面上各点工作。这种机械臂绝对是各种机械臂中自由度最高的一类。但因其要求每个旋,扭转关节机构都要求有独立动力,且联动的位移是由多个关节机构非等值分担,这就对动力部分、传动精度、控制精度提出了极高要求。不但设计制造极其困难,通过使用机械控制简单电路控制是极难完成的控制的。 所以只出现在高端机器人领域具处于设计试制阶段。对于基础层次机械设计制造这相当于不可完成的任务。 7 沈阳理工大学学士学位论文 (2) 沿X、Y、Z坐标轴直线移动机械臂 在三维立体空间内分别沿X、Y、Z轴做直线运动就可以到达一个立方体内的各个点进行工作,这是一种撒网式的搜罗。在三轴分动时工作头位移轨迹是沿空间内沿X、Y、Z方向线段的连接,当三轴联动时,工作头运动轨迹便是空间内的一条曲线。完成工作动作直接快捷,且只有三个轴线位移,整机运动平稳可靠,精度颇高。所以多用于机床加工中心等机械上,但其机体必须含有沿X、Y、Z轴方向,长度至少等于三轴位移长度一半的三个相连的空间垂直架体。 这种就有相对较大的非工作状态机构所占空间和整体体积,但对于行走式机器人载具而言,对体积和自重的限制是极其严格的,要求尽量减小自身负载体积,以适应工作环境。 (3) 放人类手臂式机械臂 这种结构的手臂有旋转机构、大臂摇动机构、小臂摇动机构和手腕机构四部分组成在同一平面内三个旋转自由度被安装在一个垂直此平面的旋转盘上,手腕、小臂、大笔的须按转是工作头触点在三个自由度连线平面内。形成了一个平面工作区域,通过旋转盘的带动,是这个平面工作区域绕Z轴须按转,形成了一个立体工作空间。这种手臂机构在工作中状态下可以收缩减小空间,传动距离较短,结构可靠性能好,能够出色的完成工作空间内一点到另一点的最有运动轨迹位移。 8 沈阳理工大学学士学位论文 2.3 消防机器人整体机构选定 在本次履带式消防机器人的设计中,工作环境定位在障碍物不明,空间狭小的情况下。且加工能力及工艺有限,机构不易过于复杂。所以行走机构选择履带式结构是最为合理的。而手臂机构选用放人类手臂式机械臂更为合理。 9 沈阳理工大学学士学位论文 第三章 整体机构设计 3.1 爬楼梯的力学原理 基于遥控电动小车爬越一定高台的原理,对具有摆臂结构的移动车体爬越楼梯进行了相关的力学分析. 整个爬越过程可以分成两个阶段:第一阶段,先将两侧摆臂搭在台阶上,然后同时驱动三台电机,使车体在行走机构和摆动机构的共同作用下,顺利地爬到第二个台阶,此时车体实现了地面、第一、二台阶处的三点接触;第二个阶段,小车只需在行走机构的作用下如同上坡地一样缓缓地向上爬.由此可以看出,只要保证行走机构在结构设计上至少能够同时与两个台阶点接触,就能实现第二阶段运行的平稳性和可靠性,故在此不再赘述,仅对第一阶段进行分析.假设台阶是光滑的(这样便于分析讨论),摆臂的重心处于摆臂中心轴线上距大轮点1/3处,整个车体的重心位于车体几何中心处.由于摆臂末端的小带轮呈圆弧形而且它与台阶之间为线接触,为避免发生打滑,应至少保证小带轮的几何中心处于接触点的正上方.在爬越高度为H0的台阶时,即前轮刚离开地面的瞬间,整车和摆臂的受力情况分别见图6、图7. 3.5回转盘机 构设计机电动机选择 由于整个臂部机构和预设负载重量(约为9 kg)较大,且重心极限位置旋转半径(约为400mm)较大,所以在转盘设计时必须考虑机构较大的旋转惯性力。所以选带传动方式。 带传动传动平稳能缓冲吸振,且可大传动臂设计,将从动带轮设计较大半径,以减小传动带拉力,正符合此机构要求。 10 沈阳理工大学学士学位论文 从动大带轮直径d1为50mm设计,转速n1应尽量小,设在0.1转/秒 主动带轮选用成套机构,带轮直径d0为10mm 则主动带轮转速n0 为 n0 / n1 = d1 / d0 即 n0 = n1 * (d1 / d0 ) = 0.1 * (50 / 10) = 0.5转/秒 物品清单中,符合此要求的电动机只有一种。 即12ZYJ-60J系列永磁直流减速电机 转速30转/分钟 功率10W 验算证明满足机构力学要求。 3.6履带驱动轮机构设计机电动机选择 驱动轮设计减速电机输出轴直接安装链轮。链轮上加挂自制履带。设计履带摩擦 面到链轮回转中心的旋转半径为25mm 设计直线行走最大速度为150mm/s 则驱动电功转速为6转/秒 预设整机与负载总重30 kg最大爬坡角为45?,则履带最大拉力F为 11 沈阳理工大学学士学位论文 F = F重 / sinθ = 30 * 10 / 0.707 = 404.328N 取高整值为430N,两条履带驱动,单根受力为 F单 = F / 2 = 430 / 2 = 150N 直线行走最大速度V为150mm/s 单根履带受力F为150N 则功率为 P = F * V = 150 * 150 * 0.001 = 22.5W 考虑技术要求及功率损失选用62KTYJ系列单相可逆永磁同步电机 转速36转/分钟 功率30W 3.7 部分校核 采用铰制孔用螺栓链接, 各螺栓的工作剪力与其中心到地板旋转中心的连线垂直。根据地板的力矩平衡条件 得: Fs1r1 + Fs2r2 + ? + Fszrz = T 根据螺栓变形协调条件:个螺栓的剪切变形与其中心到地板旋转中心的距离成正 12 沈阳理工大学学士学位论文 比,即 Fs1/r1 = Fs2/r2 = ? = Fsz/rz = Fsmax/rmax 联立可解得受力最大螺栓所受的工作剪力 Fsmax=Trmax/r1^2+r2^2+??+rz^2=Trmax/ z 2?ri^2 i=1 式中 rmax——受力最大螺栓中心至底板旋转中心的距离。 受翻转力矩的螺栓组联接 设作用在对称轴线上的个螺栓的工作载荷为 Fi(i=1,2,??,z/2) (它的反作用力作用在底板),根据力矩平衡条件得: 2( F1L1 + F2L2 + ?? + Fz/2Lz/2) = z/2 2?FiLi = M i=1 根据变形协调条件:各螺栓的拉伸变形量与螺栓轴线到底板对称轴线的距离成正比,即 F1/L1 = F2/L2 = ?? = Fmax/Lmax 联立得 Fmax = MLmax/ z/2 2?Li^2 i=1 13 沈阳理工大学学士学位论文 式中 Fmax——螺栓所受的最大工作载荷,N Li——对称轴线左侧个螺栓轴线到对称轴线的距离,mm Lmax——Li中的最大值,mm。 为了防止接合面受压最大处被压碎或受力最小处出现间隙,应使受载后地基接合面挤压应力的最大值部超过底板与地基两者中最弱材料的需用之,最小值不小于零。即 δPmax =δP + δPmax?[δP] δPmin =δP + δPmax > 0 式中 δP——接合面在受载前由于预紧力而差速的挤压应力,δP=zQp/A 2 A——接合面的有效面积,mm δPmax——由于加载而在地基接合面上差速是附加挤压应力的最大值,δPmax=(CF/CL+CF)*M/W; 通过使用校核原理进行校核,以及试制、实验结果表明,机构设计是满足强度要求的。 3.8 本章小结 14 沈阳理工大学学士学位论文 机械产品设计除了应满足产品使用性能外,还应满足制造工艺要求,否则就有可能影响产品生产效率和生产成本,严重时甚至无法生产。一个工艺性评价低劣的产品,在激烈竞争的市场经济环境中是站不住脚的。一个好的产品设计必须同时是一个好的工艺师。 机械产品设计的工艺性评价实际是评价所设计的产品在满足使用要求的前提下,制造、维修可行性和经济性。这里所说的经济性是一个含意宽广的术语,它应是材料消耗要少、制造劳动要少、生产效率要高和生产成本要低的综合。 评价机械产品设计的机械加工工艺性可以从以下几个方面进行评价: 1. 零件结构要素必须符合标准规定 2. 尽量采用标准件和普通件 3. 在满足产品使用性能的条件下,零件图上标注的尺寸精度等级好表面粗糙度要求应取经济值 4. 尽量选用切削加工性好的材料 5. 有便于装夹的定位基准和夹紧表面 6. 保证能以较高的生产率加工 7. 保证刀具正常工作 8. 加工时工件应有足够的刚性 机械产品设计的装配工艺性评价 1. 机器结构应能划分成几个独立的装配单元 2. 尽量减少装配过程中的修配劳动量和机械加工劳动量 3. 机器结构应便于装配和拆卸 机械产品设计的最初环节,是先要针对该产品的主要功能提出一些原理性的构思。这种针对主要功能的原理性设计,可以简称为“功能原理设计”。 功能原理设计的重点在于提出创新构思,是思维尽量“发散”,力求提出较多的解法供比较选优。对构件的具体结构、材料和制造工艺等则不一定要有成熟的考虑,因此常只需用简图或示意图来表示所构思的内容。 功能原理设计是对产品的成败起决定性作用的工作。 15 沈阳理工大学学士学位论文 结构设计的基本原则 1. 明确 2. 简单 在机构设计中,在同样可以完成功能的条件下,应优先选择结构较简单的方案。机构简单体现为结构中包含的零件数量较少,零部件的种类较少,零件的形状简单。 结构简单通常有利于加工和装配,有利于缩短制造周期,有利于降低制造与运行成本;简单的结构还有利于提高装置的可靠性,有利于提高工作精度。 3. 安全可靠 我的设计实体制造性设计,这就要求在设计中更要联系实际,进行设计制造。本次设计正是本着这样的原则进行的。同时实际操作给了我成功。 16 沈阳理工大学学士学位论文 第四章 控制电路及控制器设计 4.1控制电路设计 控制电路的设计,取决于机器人的控制机理。大部分的机器人采用无线可编程控制。这样的控制形式使机器人更加智能化。通过利用红外线电磁波等无线数据传输设备,机器人的工作空间大小扩展,而且通过编程器的使用,使机器人有了一定的工作自主能力。但是这样控制电路过于精密复杂。 在本次设计中,主要任务是机械结构的设计和制造。对于这种简单机器人载具的设计试制工作,控制电路不宜过于复杂,所以选择了简单的开关控制和变阻器调速。在这个电路中每个电动机都必须有三个状态,即正转、反转及停机。且在正反转时均可调速。它们都是独立工作,且可同时运转,这就要求每个直流电机都必须配备一套独立的换向开关和调速变阻器。在工作过程中想要避免同一电机正反转电流同时供电,如果采用两个单独开关,在手动控制过程中,难免会出现一种工作状态并未逝电,就启动了另一种工作状态,这样就相当于电源反接,避免此种情况的发生更好实现控制器的人性化设计,电路中运用了中间断开的双向触点多极开关,在总电路中设置总开关,是整个电路的启停更方便,处理紧急情况时关闭所有电动机电源更快捷。总电路和各个电机分电路中可以并联入小灯泡,以起到电源指示作用。 基本控制电路图 17 沈阳理工大学学士学位论文 在各个电动机上并联入两组发光二极管与适值电阻的串联电路(两组串联电路中发光二极管分别采用正接与反接),利用发光二极管的单向导通特性,来指示电动机的正反转。 加装指示电路的控制电路 4.2 开关元件选用 电路中的主要负载部分及电源电动机已经确定,下面对开关、变阻器选用指示电路部分的发光二极管电阻进行选择。 开关、变阻器这类元器件都有外露的受控部分,必须考虑手动的合理性和开关自身的可安装性,由于在我们现有加工能力条件下钻圆孔最为容易实现。所以均选用螺纹紧定式元件。换向开关选用ds037-01d 三位两通按钮,总开关选用XN-19按钮,变阻器选用 SA-198旋钮式变阻器,发光二极管选用圆柱头发光二极管。 4.3 控制器设计 控制器设计上,为使整个控制过程更加自如方便可靠,更加人性化,所以采用了与整个机械机构同形式布局的方法,开关起停形式与机器人各机构运动方向相同,使得控制更加得心应手。 18 沈阳理工大学学士学位论文 4.4 本章小结 在现代化的生产中,生产机械的自动化成都反映了工业生产发展的水平。现代化的生产设备与系统已不再是传统意义上的单纯的机械系统,而是机电一体化的综合系统,电气传动与控制系统已经成为现代生产机械的重要组成部分。机与电、传动与控制已经成为不可分割的整体。 所谓电气传动,是指以电动机为原动机驱动生产机械的系统的总称,它的目的是将电能转变为机械能,实现生产机械的启动、停止以及速度调节,完成各种生产工艺要求,保证生产过程的正常进行。 在现代工业中,为了实现生产过程自动化要求,机电传动不仅包括拖动生产机械的电动机,而且包含控制电动机的一整套控制系统,也就是说,现代机电传动是和由各种控制元件组成的自动控制系统紧密联系在一起的。 虽然在本次设计中最终选用了24V直流电动机,采用换向开关控制,但在试制过程中进行了使用单片机驱动步进电机实现智能控制的探索。进行了单片机控制电路的试制。虽未完全成功,但是获得了一定既定成果,拓展了知识面。为最终的设计和试制奠定了坚实基础。 直流电动机的控制虽然相对简单,但要求与总体设计效果相匹配。工作过程安全可 19 沈阳理工大学学士学位论文 靠。如果需要对控制系统加以自动化改进,可以在接头部分方便的加入智能模块。也可 添加外挂型附属设备。 本次设计取得成功。 20 沈阳理工大学学士学位论文 参考文献 [1] 《机械设计》第八版 西北工业大学机械原理及机械零件教研室 著 高等教育出版 社 北京 2006.5 [2] 《机械制图》第五版 大连理工大学工程画教研室 著 高等教育出版社 北京 2002.12 [3] 《机械设计课程设计》 巩云鹏 田万禄 等 著 东北大学出版社 沈阳 2000.12 [4] 《机械原理》第六版 西北工业大学机械原理及机械零件教研室 著 高等教育出版 社 北京2002.5 [5] 《机械设计学》第三版 黄靖远 高志 陈祝林 著 机械工业出版社 [6] 《机械制造技术基础》 第二版 卢秉恒 主编 机械工业出版社 [7] 《机械制造基础》(综合册) 范文雄 等编 兵器工业出版社 [8] 《机电传动控制》 陈白宁 段志敏 刘文波 主编 东北大学出版社 [9] 基于虚拟样机技术的四足机器人仿真研究 张锦荣(西北工业大学 10699)2007.3 [10] 仿蝗虫四足跳跃机器人的机构设计和运动性能分析 余杭杞(哈尔滨工业大学 哈 尔滨621.51)2006.6 [11] 混联搬运机器人方案确定及虚拟样机仿真分析 贺庆强 西安理工大学学位论文 2004.3 [12] Siddique, Z., and Rosen, D. W., 1996, ‘‘Ass An Approach to Virtual Prototypingfor Productembly,’’InProceedingsof1996ASMEdesignengineeringtechnicalconferenceandcomputers in engineering, DETC/CIE-1345, Irvine,California, August 18–22. [13]Mehta,B.V.,Gunasekera,J.S.,andBanga,R.,1999,‘‘VirtualMaterialProcessing~VMP!ontheWorldWideWeb:ColdRolling,’’Proceedings of the1999 ASME Design Technical Conference and Computers in Engineering Conference,DETC99/CIE-9028, Las Vegas, Nevada, September 11–15. [14] Definition and Review of VirtualPrototyping G. Gary Wang AssistantProfessor Dept. of Mechanical and IndustrialEngineering, University of Manitoba, Winnipeg,MB, R3T 5V6 Canadae-mail: gary–wang@umanitoba.ca [15] Lews M A,Simo L S.A model of visually triggered gait daptation [A]. [16] 《机器人制作入门》美〕David Cook著 崔维娜 王巍 高玉苹 郑静 译 北京航空 21 沈阳理工大学学士学位论文 航天大学出版社 22 沈阳理工大学学士学位论文 致 谢 论文完成之际,我要特别感谢我的指导老师刘增龙老师的热情关怀和悉心指导。在我撰写论文的过程中,刘老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了刘老师悉心细致的教诲和无私的帮助,特别是他广博的学识、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢和深深的谢意。 光阴似箭,大学已经即将走完四年,在毕业之前我们经历了大学最后一次严峻考验-毕业设计,大家都知道,我们大学学到的知识是实用的知识,而不是浮于理论浮于表面的知识,为的是在以后将大学所学的知识应用到实践工作当中去,最大限度地为将来的工作服务,但是由于我们大学学的知识大部分都是在课堂上完成的,加之整个体系的不重视,难免使我们疏于动手。我们的毕业设计是经历四年的专业知识系统学习后,经过沉淀,厚积薄发的过程,是理论联系实际的桥梁,毕业设计是我们掌握基本知识后在指导老师的指导下,进行专业性有代表性的工程设计,它主要培养了我们独立思考,将理论知识转化成实际操作的能力,并能培养我们不畏艰难勇于进取的精神,百折不挠的精神,展现了当代大学生的素质。 这次毕业设计我设计的是履带式消防机器人,并进行实物制造。这个过程具备相当的难度。它主要涉及了机械原理、机械设计、机械制造、金属工艺学、电工技术、现代加工方法以及加工实践等方面知识。涵盖大学四年的所学知识,这不仅是对四年专业知识的温故而知新的过程,更是将所学知识根据具体情况在现实工作中的应用,将理论知识上升到实际的高度,而不是简单的纸上谈兵,全面考核了大学期间所学的专业知识及专业技能。通过本次设计,我学到了很多知识,在拟定方案,进行结构分析,结构设计尤其是解决实际加工问题方面都得到了极大锻炼,初步掌握了设计的基本方法和步骤 ,而且在工程技术人员所必须具备的基本技能方面也得到了训练,如计算、绘图、查阅设计资料和手册、熟悉国家标准和规范等,在编写有关技术文件方面也得到了进一步训练。毕业设计使我扩展了设计思路,提高了我的思维能力、创造能力,为我将来从事社会工作打下了良好的基础。 设计过程中虽然遇到了很多困难,但在指导教师刘增龙老师的指导下,经过不懈努力,终于克服了种种困难,圆满地完成了本次设计任务。 由于本次设计限于本人能力有限、缺乏经验以及加工能力限制,设计难免会有一些 23 沈阳理工大学学士学位论文 缺陷,尽管努力,误漏之处再所难免,希望各位老师,各位专家给以批评指正。 最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位专家表示衷心地感谢~ 24 智能消防机器人 目录 第一章 引言……………………………………………………………………..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.23 BTS7960电路原理图…………………………………………………….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.2 Intelligent 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 、 LM298 ST178 1.3 实现功能 制造一个自主控制的机器人在一间平面结构房子模型里运动,找到一根蜡烛并尽快将它熄灭,这个工作受地面摩擦、机器人惯性、机器人电机的转数差、齿轮箱与轮子的摩擦、电压变化等多个因素影响,它模拟了现实家庭中机器人处理火警的过程,蜡烛代表家里燃起的火源,机器人必须找到并熄灭它。 1.4 模拟房子介绍 模拟房子平面图单位: mm 比赛场地的墙壁22cm 高,由KT 板做成。墙壁为白色。比赛场地的地板将是贴有导航黑线的KT 板。所有的房间和走廊的地板上都是光滑的。场地中所有的门口并没有门,而是一个适当宽度的开口。 第二章 系统整体方案设计 2.1 系统硬件设计 本次设计的目的是设计一个在规定区域能自主搜索火源并实施灭火的智能机器人小车,本次设计使用的主控芯片使用了STC89C52单片机,所以设计重点在传感器和电机驱动上。系统总体设计框图如图2.1: 图2.1 系统总体设计框图 2.2 系统软件设计 软件设计方案是以上述硬件电路为基础的,包括电机控制模块、传感器模块的程序设计与实现。程序设计采用C 语言编写,编程环境是集成Keil STM32编 所示。 图2.2 系统软件设计框图 第三章 硬件设计 3.1电源管理模块 电源是任何一个系统稳定运行的前提条件,为了使机器人运行稳定,单片机和电机的供电系统采用独立供电的方法。 3.1.1稳压芯片LM7805CV 、LM7806CV LM7805CV 的技术指标如下表: 表3-1 稳压芯片7805参数 LM7806CV 的技术指标如下表: 表3-2 稳压芯片7806参数 3.1.2电源模块电路原理图 由于单片机及所有的传感器系统供电采用的是5V 和6V 的电源, 所以在电源的处理上采用了稳压芯片7805CV 和7806CV 。 ON 3 3.2电机驱动芯片 BTS7960 BTS7960是NovalithIC 家族三个独立的芯片的一部分:一是p 型通道的高电位场效应晶体管,二是一个n 型通道的低电位场效应晶体管,结合一个驱动晶片, 形成一个完全整合的高电流半桥。所有三个芯片是安装在一个共同的引线框, 利用芯片对芯片和芯片芯片技术。电源开关应用垂直场效应管技术来确保最佳的阻态。由于p 型通道的高电位开关,需要一个电荷泵消除电磁干扰。通过驱动集成技术,逻辑电平输入、电流取样诊断、转换速率调整器,失效发生时间、防止欠电压、过电流、短路结构轻易地连接到一个微处理器上。BTS7960可结合其他的BTS7960形成全桥和三相驱动结构。 3.2.2外形及引脚结构: 3.2.3 BTS7960电路原理图: 电机驱动部分 3.3地面灰度检测传感器ST178 3.3.1 ST178简介: ST178H 红外光电传感器模块是基于ST178H 传感器设计的一款红外反射式光 电开关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。 3.3.2 ST178特点: 1、采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。 2、检测距离可调整范围大,4-10mm 可用。 3、采用非接触检测方式。 3.3.3 检测原理: 传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来 或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内是,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平,指示二极管被点亮。 3.3.4 外形尺寸(单位mm ): 图3.5 ST188实物图 3.3.5 ST178与单片机连接原理图: V CC C 1105C 2105 图3.4 ST178电路图 3.4火焰传感器: 此传感器本品可广泛应用于灭火机器人比赛中测量火焰值、足球比赛时,用于确定足球的方向。下图为火焰传感器实物图。 图3.8 火焰传感器实物图 3.5报警电路: 当单片机的P1.0 I/O口输出一个高电平时,通过非门后使三极管基级为低电平,此时三极管处于截止状态,蜂鸣器不工作;当单片机的P1.0 I/O口输出一个低电平,通过非门后使三极管基级变为高电平,三极管处于放大工作状态,驱动蜂鸣器发出报警声音。声音报警电路如图3.11所示。 第四章 软件设计 4.1 灭火机器人行进路线分析 结合我们小车的特点和前面分析,我们选择3—2—1—4的遍历顺序。 开始时,小车处于3号和4号房间中间,由图可知,沿着右走的方案比较好,因此我们采用是右手规则,首先搜索的是3号房间,如图。当在3号房间发现火源时,小车进入房间并灭火,灭火后按原路返回;如没有发现火源,小车继续按右手规则搜索房间,直到搜索4号房间,不管有没有搜索到火源,从4号房间出来都绕着4号房间返回起点,因为回家过程中的时间不记入总时间,而绕行比较安全,小车比较好控制。 4.2 软件流程图 图4.2 灭火小车软件设计流程图 4.3 软件开发平台介绍 本次设计软件的开发主要采用Keil uVision4软件编写。使用Keil uVision4工 具时,项目开发流程和其它软件开发项目的流程极其相似: 1、创建一个项目,从器件库中选择目标器件,配置工具设置; 2、用C 语言或汇编语言创建源程序; 3、用项目管理器生成你的应用; 4、修改源程序中的错误; 5、测试,连接应用。 编程语言选用C 语言。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,并且C 语言以其结构化,容易维护,编写不依赖计算机硬件的应用程序,容易移植的优势满足开发的需要。而汇编语言作为传统的嵌入式系统的编程语言,具有执行效率高的优点,但其本身是低级语言,编程效率较低,可移植性和可读性差,维护极不方便。而Keil STM32编译器完全遵照ANSI C语言标准,支持C 语言的所有标准特性。另外,直接支持STM32结构的几个特性被添加到里面。Keil 宏汇编器支持STM32及其派生系列的全部指令集。 第五章 调试记录 5.1 调试记录 ? 地面灰度传感器:测试距离2.5cm, 黑地面输出电压1.3-1.5V ;白纸输出 3.8-4.5V ; ? 前方火焰传感器最远测试距离2.5m ,此次使用有效距离0.8m ,输出电压 0.6V ,探测角度+30°。 ? 热光源信号采集电路调试:热光源采集电路分为四路,对四个方向的光强进 行采集。根据光强电压转换原理:光越强,则电压越高;光强越弱,电压越低。将热光源信号采集模块中的灵敏度调节到最佳状态。将蜡烛火焰靠近红外接收二极管,调节对应的参考电压的可调电位器,使对应输出指示灯变亮(即接收到了热光源信号,输出低电平)。再不断改变蜡烛与红外接收二极管之间的距离,将检测距离调节到最远时,达2.1米。此时灵敏度也最佳。但是在外界环境光比较强的地方,热光源信号采集电路常出现错误判断。数 表一 根据分析,外界光也有近红外,当红外接收二极管暴露在外时,受外界红外光的影响,产生错误判断。解决的办法是,将红外接收二极管用直纸筒卷起来,防止外界环境影响。其它模块电路出现的小问题比较容易解决,因为电路相对来说简单,方便调试。整体电路连接调试后,比较成功,系统工作稳定。 从实验调试结果分析可得,系统基本实现了热光源信号的采集和电动车运动方向的控制。 参考文献 [1] 《国际赛制机器人灭火比赛规则》.PDF [2] 李全利、迟荣强. 单片机原理及接口技术. 北京:高等教育出版社,2004.1 [3] 谭浩强. C程序设计(第二版). 北京:清华大学出版社,1999.12 [4] 童诗白、华成英. 模拟电子技术基础(第三版). 北京:高等教育出版社,2003.12 [5] 康华光. 电子技术基础 数字部分(第四版). 北京: 高等教育出版社,1900.1 [6] 黄智伟. 全国大学生电子设计竞赛电路设计. 北京:北京航空航天大学出版社,2006.12 [7] 黄智伟. 全国大学生电子设计竞赛系统设计. 北京:北京航空航天大学出版社,2006.12 [8] 文艳、谭鸿. Protel 99 SE电子电路设计. 北京:机械工业出版社,2006.8 程序请单附录1: #include "stm32f10x_lib.h" #include "public.h" u8 time_3ms = 0; u8 depart=0; u8 restart=0; u8 room=0; u8 gangway=0; u8 white=0; u8 room0=0; u8 room1=0; u8 room2=0; u8 gangway3=0; u8 gangway4=0; u8 sensor_temp_ahead=0; u8 sensor_temp_ahead0=0; u8 sensor_temp_back=0; u8 sensor_temp_back0=0; u8 proceed=0; s8 memory=0; int main(void) { system_init(); while(1) { if(time_3ms >= 3) { time_3ms = 0; // smokecheck(); if(depart==0) { Encoder_Total=0; handle(-10); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<1050); memory="">1050);> Encoder_Total=0; handle(-17); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<3600); memory="0;" room="1;" depart="1;" }="" if(room="=1)">3600);> sensor_temp_ahead = sensor_ahead(); if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case 1: handle(-10); motor_speed(AHEAD_TURN,2); break; case 2: handle(-5); motor_speed(AHEAD,1); break; case 3: handle(0); motor_speed(AHEAD,1); break; case 4: handle(5); motor_speed(AHEAD,1); break; case 5: handle(10); motor_speed(AHEAD_TURN,2); break; case 0: if(white==0) { white=1; Encoder_Total=0; handle(19); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<3000); memory="">3000);> Encoder_Total=0; handle(20); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<2500); memory="0;" secure="0;" dispose();="" proceed="1;">2500);> else { handle(-18); motor_speed(AHEAD_TURN,2); } break; case 6: //全黑 handle(0); motor_speed(0,0); secure=0; dispose(); gangway=1; room=0; break; } } } if(gangway==1) { sensor_temp_back = sensor_back(); if(sensor_temp_back!=sensor_temp_back0||proceed==1) { proceed=0; sensor_temp_back0=sensor_temp_back; switch(sensor_temp_back) { case 1: handle(16); motor_speed(BACK,-1); break; case 2: handle(13); motor_speed(BACK,-1); break; case 3: handle(10); motor_speed(BACK,-1); break; case 4: handle(7); motor_speed(BACK,-1); break; case 5: handle(0); motor_speed(BACK,-1); break; case 6: handle(-5); motor_speed(BACK,-1); break; case 7: handle(-10); motor_speed(BACK,-1); break; case 8: handle(-15); motor_speed(BACK,-1); break; case 9: //全黑 handle(0); motor_speed(0,0); room=2; gangway=0; Encoder_Total=0; break; case 0: //全白 handle(17); motor_speed(BACK_TURN,-1); break; } } } if(room==2) { sensor_temp_ahead = sensor_ahead(); if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case 1: handle(-15); motor_speed(AHEAD_TURN,2); break; case 2: handle(-8); motor_speed(AHEAD,1); break; case 3: handle(0); motor_speed(AHEAD,1); break; case 4: handle(8); motor_speed(AHEAD,1); break; case 5: handle(15); motor_speed(AHEAD_TURN,2); break; case 0: //全白 if(room1==0&&Encoder_Total<1400)>1400)> handle(15); motor_speed(AHEAD,1); } if(room1==0&&Encoder_Total>=1400) { handle(-1); motor_speed(AHEAD,1); room1=1; } else { handle(18); motor_speed(AHEAD,1); } break; case 6: //全黑 secure=0; dispose(); room=0; gangway=2; break; } } } if(gangway==2) { sensor_temp_back = sensor_back(); if(sensor_temp_back!=sensor_temp_back0||proceed==1) { proceed=0; sensor_temp_back0=sensor_temp_back; switch(sensor_temp_back) { case 1: handle(18); motor_speed(BACK_TURN,-2); break; case 2: handle(15); motor_speed(BACK_TURN,-2); break; case 3: handle(10); motor_speed(BACK,-1); break; case 4: handle(8); motor_speed(BACK,-1); break; case 5: handle(0); motor_speed(BACK,-1); break; case 6: handle(-10); motor_speed(BACK,-1); break; case 7: handle(-16); motor_speed(BACK_TURN,-1); break; case 8: handle(-19); motor_speed(BACK_TURN,-2); break; case 9: //全黑 Encoder_Total=0; handle(-2); motor_speed(AHEAD,1); memory=1; while(Encoder_Total<2200); memory="">2200);> gangway=0; room=3; break; case 0: //全白 if(room2==0) { Encoder_Total=0; handle(0); motor_speed(BACK,-1); memory=-1; while(Encoder_Total<100); memory="">100);> Encoder_Total=0; room2=1; } else if(Encoder_Total<=8000)>=8000)> handle(16); motor_speed(BACK,-1); } if(Encoder_Total>8000&&Encoder_Total<=18000)>=18000)> handle(-20); motor_speed(BACK_TURN,-2); } else { handle(20); motor_speed(BACK,-1); } break; } } } if(room==3) { sensor_temp_ahead = sensor_ahead(); if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) case 1: handle(-10); motor_speed(AHEAD_TURN,2); break; case 2: handle(-3); motor_speed(AHEAD,1); break; case 3: handle(0); motor_speed(AHEAD,1); break; case 4: handle(3); motor_speed(AHEAD,1); break; case 5: handle(10); motor_speed(AHEAD_TURN,2); break; case 0: //全白 handle(18); motor_speed(AHEAD_TURN,2); break; case 6: room=0; gangway=3; break; } } } if(gangway==3) { { Encoder_Total=0; handle(-2); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<1800); memory="0;" encoder_total="0;" handle(-20);="" motor_speed(ahead_turn,2);="" memory="2;">1800);><2200); handle(0);="" motor_speed(ahead_turn,2);="" memory="0;" gangway3="1;" }="" sensor_temp_ahead="sensor_ahead();" if(sensor_temp_ahead!="6)" {="" handle(0);="" motor_speed(ahead_turn,2);="" }="" else="" {="" room="4;" gangway="0;" }="" }="" if(room="=4)" {="" sensor_temp_ahead="">2200);> if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case 0: //全白 handle(-19); motor_speed(AHEAD,1); break; case 6: secure=0; dispose(); room=0; gangway=4; break; } } } if(gangway==4) { if(gangway4==0) { Encoder_Total=0; handle(-19); motor_speed(BACK_TURN,-1); memory=-1; while(Encoder_Total<> memory=0; Encoder_Total=0; handle(0); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<> memory=0; gangway4=1; } sensor_temp_ahead = sensor_ahead(); if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case 1: handle(-10); motor_speed(AHEAD_TURN,2); break; case 2: handle(-4); motor_speed(AHEAD_TURN,2); break; case 3: handle(0); motor_speed(AHEAD_TURN,2); break; case 4: handle(3); motor_speed(AHEAD_TURN,2); break; case 5: handle(8); motor_speed(AHEAD_TURN,2); break; case 0: //全白 handle(-19); motor_speed(AHEAD_TURN,2); break; case 6: handle(0); motor_speed(AHEAD_TURN,2); break; } } sensor_temp_back = sensor_back(); if(sensor_temp_back==9) { handle(0); motor_speed(0,0); gangway=0; restart=1; } } if(restart==1) { delayms(300); white=0; room0=0; room1=0; room2=0; gangway3=0; gangway4=0; sensor_temp_ahead0=0; depart=0; restart=0; } } } } 基于单片机的简易消防机器人 摘 要 从人类创造第一台机器人以后,在几十年间,机器人技术得到迅速的发展。 电子技术和计算机技术的迅速发展推动了各类机械向智能化方向的发展。随着社 会与国家的发展,在经济迅速增长的同时,各种危险场所不可避免的火灾频繁出 现,给社会安全造成了很对隐患,于是现代火灾及时扑救已成为迫在眉睫的问题。 消防机器人能够替代消防救援人员进入危险灾害现场, 从而确保了消防人员的人身安 全。为对专业知识的进一步巩固加深,综合运用其他先修课程的理论知识,力求 创新、突破。本设计通过制作小车式机器人,硬件上采用了 STC89C51单片机作为 系统的控制核心,加以电源电路、电机驱动、光敏传感电路、遇障检测电路、灭火风 扇以及其它电路构成。利用 NE5532芯控制继电器驱动直流电动机,驱动电机控制小 车的前进以及转向。本设计实现了机器人的智能控制,包括寻找火源、接近火源、遇 障报警, 启用风扇灭火等功能, 并以寻光运动为基础, 超声波检测遇障报警为突破, 实现机器人灭火功能的方法,模拟在夜间无人或人们在睡眠低警惕状态发生火灾 时的特殊环境,代替消防人员进行灭火并报警。 关键词:AT89C51控制芯片;超声波传感器;光敏电阻;直流电机;继电器 1绪论 1 绪 论 本章将介绍机器人的发展背景和灭火机器人在现代灭火消防中的作用,以及机 器人技术特别是灭火机器人技术在国内外的发展现状。 1.1 前言 从人类创造第一台机器人以后,机器人就显示出它极大的生命力,在几十年 间,机器人技术得到迅速的发展。电子技术和计算机技术的迅速发展推动了各类 机械向智能化方向的发展。随着社会与国家的发展,在经济迅速增长的同时,各 种危险场所不可避免的火灾频繁出现,给社会安全造成了很对隐患,于是现代火 灾及时扑救已成为迫在眉睫需要解决的问题。灭火机器人作为移动机器人技术与 灭火技术有机融合的产物,可以实现现在危险厂房、库房及加油站等环境比较特 殊,出现火灾难度较大的地区进行自动灭火。机器人是融合了光学、机械、电子、 计算机、人工智能等多学科知识的成果。 从 20世纪 80年代初开始, 我国国民经济迅速而稳步增长, 各类工业得到了迅速 发展,大量的高层、地下建筑与大型的石化企业不断涌现。由于这些建筑的特殊性, 发生火灾时,不能快速高效的灭火。为了解决这一问题,尽快救助火灾中的受害者, 最大限度的保证消防人员的安全, 消防机器人研究被提到了议事日程。 而机器人技术 的发展也为这一要求的实现提供了技术上的保证,使得消防机器人应运而生。 消防机器人能替代消防救援人员遥控进入有毒、 有害、 易坍塌建筑物、 大型仓库 堆垛、缺氧、浓烟、放射性等室内外危险灾害现场进行探测,来解决有关消防人员人 身安全、时间限制、数据采集量不足和不能实时反馈等问题。 1.2 概述 近年来, 随着科学技术的迅速发展, 智能化也提出了进一步的要求, 智能机器人 的研究在实际应用中就有了很大的发展空间。 灭火机器人作为移动机器人技术与灭火 技术有机融合的产物, 可以实现在危险厂房、 库房及加油站等环境比较特殊, 出现火 灾灭火难度较大的地区进行自动灭火。智能机器人技术应用了信息技术中的感测技 术、 传感技术、 控制技术等 , 是信息技术课程和相关科技活动的良好载体。 一些发达 国家已经看好智能机器人教育对未来高科技社会的作用和影响 , 在中小学的信息技 术教育中都不同程度地对学生进行智能机器人知识的教育。 从二十世纪八十年代开始, 世界许多国家都进行了消防机器人的研究。 美国和苏 联最早进行消防机器人的研究, 而后日本、 英国、 法国等国家都纷纷开展了消防机器 人的研究, 目前已有多种不同类型的消防机器人用于各种火灾场合。 研制侦察灭火机 器人,协助消防人员进行火灾的定位和灭火,将有极大的社会意义。在我国 ,2003年 2月国家教育部正式颁布了“普通高中技术课程标志” , 确定将“简易机器人制作” 作为一个教学模块 , 列为通用技术范畴的一门选修课 , 并对课程的基本理念、设计思 路、课程目标和内容标准做了规定 , 还提出了活动建议。在北京、上海、广州等大城 市 , 机器人技术基础教育起步较早 , 已经举办了多届机器人足球和灭火比赛。 1.3 机器人的发展 机器人作为 20世纪人类最伟大的发明之一,美国是机器人的诞生地,于 1962年研制出世界上第一台工业机器人, 但美国政府从 60年代到 70年代中的十几年期间, 并没有把工业机器人列入重点发展项目。 80年代之后,美国政府重新提高投资,增 加研究经费,机器人再次迅速发展。 80年代中后期,随着各大厂家应用机器人的技 术日臻成熟, 第一代机器人的技术性能越来越满足不了实际需要, 带有视觉、 力觉的 第二代机器人,并很快占领了机器人市场。 1绪论 但如今日本的拥有量远超于美国, 被称为”机器人王国”, 其实早在西周时期我 国的能工巧匠偃师就研制出了能歌善舞的伶人, 这是我国最早记载的机器人, 鲁班曾 制造过一只木鸟, 能在空中飞行“三日不下”。 近百年来发展起来的机器人, 大致经 历了三个成长阶段。 第一代是示教再现型机器人 2005年,我国服务机器人市场开始初具规模,同年,发展服务机器人被列为国 家 863计划先进制造与自动化技术领域重点项目 2006年,发展智能服务机器人被列 为《国家中长期科学和技术发展规划纲要(2006— 2020年)》。 2008年,科技部将 北京四季青模范敬老院和上海徐家汇福利院列为服务机器人应用示范区。 1.4 灭火机器人的发展 消防救援机器人的研究开发及应用, 日本最为领先, 其次是美国、 意大利和英国 等发达国家。 国际上对消防救援机器人的研究, 在控制技术上可分为三个阶段:第一 代是遥控消防救援机器人,第二代是具有感觉功能的计算机辅助遥控消防救援机器 人, 第三代是自适应智能化消防救援机器人。 第一代和部分第二代消防救援机器人已 开始服役, 但其结构和功能在各个国家都各有特点和独到之处。 目前发达国家正在加 快开发不同功能的第二代实用型消防救援机器人, 而第三代智能型消防救援机器人尚 在探索之中,日本、美国和意大利已开始进入预研和论证阶段。 2002年 9月 8日,灭火机器人参加公安消防部队北京协作区反恐演习,受到公 安部消防局陈家强局长的高度评价; 2002年我国云南、湖北省相继配备灭火机器人; 2003年 9月,灭火机器人在湖北省首次投入实战。 2003年 10月,我国江苏省、香港 地区、 马来西亚开始大规模配备消防灭火机器人。 我国灭火机器人科研事业从实验室 走向生产车间最终战斗在火场一线, 为我国消防装备的发展注入了新鲜血液, 填补了 国内空白。 消防的社会意义在于它将对人类生存安全作为终极关怀, 消防装备作为一 种重要的火灾扑救手段, 已经在消防灭火救援中显示越来越重要的作用。 消防装备科 研应始终贯彻 1.5 本设计所做的主要工作 本论文设计了以 AT89C51单片机作为主控制器,用 HC-SR04超声波进行测距后 进行报警,光敏电阻作为小车的寻光导向传感器, NE5532芯片控制继电器驱动直流 电动机。所做工作和确定的成果如下: 1、以单片机 AT89C51为核心拟定了系统组成方案,完成了系统的电路硬件总 体设计,包括供电模块,单片机系统,寻光系统,电机驱动系统,测距系统,报 警系统,灭火系统及各个模块的衔接整机调试。 2、完成主要功能模块的程序设计,分别完成对各个功能模块的程序进行调试工 作。 2系统设计及方案比较 2 系统设计及方案比较 根据设计的要求和目标,制定出了系统的设计方案,并通过比较论证,选择合适的器 件。最终确定手工制作小车,采用 AT89C51单片机作为主控制器,用光敏电阻作为小车的 寻光导向传感器, 用 HC-SR04超声波进行测距后进行报警, NE5532芯片控制继电器驱动直 流电动机。 2.1 设计要求 2.1.1 设计要求和目标 1、要求设计制作一个简易移动灭火机器人小车模型。 2、研究设计相关硬件系统。灭火机器人小车循着光源运动,有超声波传感器探测小 车与着火点的距离,准确移动到火源处,同时发出预警,将火扑灭。 3、确定机器人驱动方式,选择适当的单片机。 4、选择合适的传感器,并设计电路原理图。 5、对系统设计和程序进行调试。 2.1.2 整体设计方案 根据要求,本系统主要由控制器模块、电源模块、直流电机及其驱动模块、避障传感 器模块、避障模块、火焰传感器、灭火系统及其驱动模块等模块构成,本系统的方框图如 图 2.1所示。 图 2.1 系统方框图 2.2模块方案比较与论证 为较好的实现各模块的功能,分别设计了几种方案并分别进行了论证。 2.2.1车体设计 经过反复的研究讨论和与指导老师的交流,最后本设计决定自己制作电动车。经过反 复考虑论证,小车包括:车体框架、主动轮(驱动轮)、万向轮、电动机等。小车左右两 边安装主动轮和驱动电机,前后个安装一个万向轮,万向轮以一个平滑螺帽和螺柱组成, 因此小车可以零半径旋转、并且多个方向都可以运动,这样的布置使得小车具有高度的灵 活性。 综上考虑为了节约设计成本,采用购买小车车架。小车整个的安装和器件的布置是:小车左右各有一个主动轮和电机,后中央装上万向轮,在车体前面处分别安装:左右两个 2系统设计及方案比较 光敏电阻, 中间安装超声波传感器, 超声波传感器上方安装灭火风扇。 这种设计结构简单、 运动平稳、转弯性能好,易于控制,灵活性高,适用于小功率的行走驱动,且更易于控制。 2.2.2微控制器的选择 随着高科技技术的发展和半导体工艺技术的发展及系统设计水平的提高,单片机还会 不断产生新的变化和进步,单片机应用技术也得到迅猛发展,为智能装置的开发设计带来 了很大的便利。但为开发设计中选择合适的微控制器却至关重要。 在选用微控制器时主要把常用并较熟悉的 STC89C51和 AT89C51芯片进行了比较, 最后采用 AT89C51作为微控制器。 AT89C51,功能更强,速度更快,寿命更长,价格更低。有 40个引脚,双列直插 DIP-40。将程序直接烧录 AT89C51。 ATEML 推出的系列 51单片机芯片是全面兼容其 它 51单片机的,而 51单片机是主流大军,每一个高等院校、普通学校、网站、业余单 片机培训都是以 51单片机为入门教材的,所以,教材最多,例子最多。 2.2.3 电机方案 本系统设计的是智能电动小车,对于电动车来说驱动轮的驱动电机是非常重要的。我 综合考虑分析了以下几种方案。 方案一,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载 的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化 的影响,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机由于 其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。虽然采用步进 电机有诸多优点,但步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会 急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。 方案二,直流减速电机其功率密度大、尺寸小、控制相对简单、不需要交流电,且由 于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生大扭力,还有 体积小, 重量轻, 装配简单, 使用方便等优点, 因此直流电机能够较好的满足系统的要求, 变得更加平稳,控制方便,因此选择以直流电机做为小车行进驱动电机。本设计采用的是 标准配备的直流电机(带行星齿轮减速器)。参数如下表 2-2所示。 表 2.1 直流电机参数 2.2.4 光源(火焰)传感器模块 传感器技术是现代科技的前沿技术,是现代信息技术的三大支柱之一,因此传感器的 种类也繁多。用于检测火焰的传感器如有红外传感器、烟雾传感器、温度传感器、紫外传 感器、光敏电阻以及 CCD 图像传感器等等。我综合论证了一下几种传感器,制定了如下几 种方案。 方案 1:温度传感器如热电偶,热电偶是工业上最常用的温度检测元件之一。测量精 度高,构造简单,使用方便,但是热电偶感应的范围太广,而且由于火焰只是周围温度稍 高且范围较窄。试验验证用热电偶检测火焰精度不高,因此我放弃了此方案。 方案 2:用光敏电阻作为传感器。利用半导体的光电效应制成的一种电阻值随入射光 的强弱而改变的电阻器。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物 等半导体。光敏电阻在光照条件下电阻值随外界光照强弱(明暗)变化而变化的组件,入 2系统设计及方案比较 射光强,电阻减小,入射光弱,电阻增大。 CDS 光敏电阻,灵敏度高,反应速度快,光谱 特性一致性好等特点,并且在高温、多湿的恶劣环境下,仍能保持其高度的稳定性和可靠 性,广泛应用于光探测和光自控领域中。从经济和方便的角度考虑,我选择了方案 3。 2.2.5 遇障报警传感器模块 方案 1:用超声波传感器进行测距。超声波传感器的原理是:超声波由压电陶瓷超声 波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。然后将这信号放大后 送入单片机。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超 声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单。 方案 2:用红外光电开关进行避障。光电开关的工作原理是根据投光器发出的光束, 被物体阻断或部分反射,受光器最终据此做出判断反应,是利用被检测物体对红外光束的 遮光或反射,当检测到有障碍物的时候,光电对管就能够接收到物体反射的红外光。但有 些红外光电开关精度较低、接触检测容易损坏被检测物及寿命短不能直接检测非金属 材料,且有时响应速度慢、检测距离远较短以及较不抗光、电、磁干扰。 考虑到本系统只需要检测简单的障碍物,没有十分复杂的环境。为了使用方便,便于 操作和调试,我最终选择了方案 1。并选择了 HC-SR04超声波测距模块,它可提供 2cm — 400cm 的非接触式距离感测功能,包括超声波发射器、接收器与控制电路。其基 本工作原理为给予此超声波测距模块一触发信号后发射超声波, 当超声波投射到物体而 反射回来时,模块输出一回响信号,以触发信号和回响信号间的时间差,来判定物体的 距离。 2.2.6电机驱动控制方案 电机驱动控制主要由光敏电阻、 NE5532运算放大芯片、继电器来控制,光敏电阻 R1、 R2相当于小车的眼睛,分别接到运算放大器 NE5532的输入端作比较放大,经放大比 较后的信号分别出发三极管 VT1、 VT3, 驱动继电器 K1、 K3使小电机换向, 三极管 VT2和继电器 K2控制电机的电源开关。从而实现通过光照控制“机器人”的运动方向。 NE5532是一种运放高性能低噪声运放大器。相比较大多数标准运算放大器,它显 示出更好的噪声性能,提高输出驱动能力和相当高的小信号及电源带宽。这使该器件特 性特别适合应用在控制电路和电话通话放大器等。 NE5532芯片集成了两个比较器其中 2、 6脚为反向输入端, 3、 5脚为正向输入端, 1、 7脚为输出端。 N E5532的引脚见图 2.2。 图 2.2 NE5532引脚图 NE5532特点: ?小信号带宽:10MHZ ?输出驱动能力:600Ω, 10V 有效值 ?输入噪声电压:5nV/√ Hz(典型值 ) ?直流 电压增益:50000 ?交流电压增益:2200-10KHZ ?功率带宽:140KHZ ?转换速率:9V/μs ?大的电源电压范围:±3V-±20V 2系统设计及方案比较 ?单位增益补偿 本设计采用 HRS2H-S-DV5V 小型继电器(单触点控制一路开关) 控制电机的供电。 同时还利用了双触点继电器 HK4001F-DC5V 来控制两路开关,也就控制了电机的运转 方向。 2.3 硬件设计总体方案 经过反复比较论证,最终确定的方案如下,系统的结构框图如图 2.3所示。 1、手工制作车体; 2、采用 AT89C51单片机作为主控制器; 3、用 US_100超声波测距模块进行测距报警; 4、用光敏电阻作为本系统的光源(火焰)传感器; 5、 NE5532运放芯片和继电器设置直流电机的驱动电路; 6、使用蜂鸣器进行灭火报警。 图 2.3 系统结构框图 3 硬件单元电路设计 3.1 微控制器模块的设计 3.1.1 AT89C51单片机介绍 单片机的核心部分是中央处理器 CPU , 它是单片机的大脑, 由它统一指挥 和协调各部分的工作。时钟电路用于给单片机提供工作时所需要的时钟信号。 中断系统用于处理系统工作时出现的突发事件。定时 /计数器用于对时间定时 或对外部事件计数。输入 /输出接口(I/O接口)是计算机与输入 /输出设备之 间的接口。 AT89C51是一种带 4K 字节闪烁可编程可擦除只读存储器 (FPEROM — Falsh Programmable and Erasable Read Only Memory)的低电压, 高性能 CMOS8位微处理器,俗称单片机。图 3.1是单片机的封装和内部结构框 图。 图 3.1 封装及管脚功能 3.1.2 程序设计的主要管脚功能说明 3硬件单元电路设计 P0口:P0口为一个 8位漏级开路双向 I/O口,每脚可吸收 8TTL 门电流。当 P1口的管脚第一次写 1时,被定义为高阻输入。 P0能够用于外部程序数据存储 器,它可以被定义为数据 /地址的低八位。在 FIASH 编程时, P0口作为原码输 入口,当 FIASH 进行校验时, P0输出原码,此时 P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的 8位双向 I/O口, P1口缓冲器能接 收输出 4TTL 门电流。 P1口管脚写入 1后,被内部上拉为高,可用作输入, P1口被外部下拉为低电平时, 将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的 8位双向 I/O口, P2口缓冲器可接收, 输出 4个 TTL 门电流,当 P2口被写“ 1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时, P2口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。 P2口当用于外部程序存储器或 16位地址外部数据存储器进行 存取时, P2口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内 容。 P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个 TTL 门电流。当 P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为 输入,由于外部下拉为低电平, P3口将输出电流(ILL )这是由于上拉的缘故。 P3口也可作为 STC89C51的一些特殊功能口,如下所示: P3口管脚 备选功能如下: P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(计时器 0外部输入) P3.5 T1(计时器 1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST :复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高 电平时间。 3.1.3 电源电路 本系统采用的单片机 AT89C51需要 5V 左右稳定的直流电压、 150mA 的峰值电流。 同时考虑到其它外围芯片的所需电压和一些功耗, 特别是继电器较耗电, 若单片机和 继电器共用一个电源, 将使单片机不能工作在一个较稳定的电压、 电流范围, 会导致 单片机工作不正常或输出不稳定使超声波测距模块不精准。最终选择 7805三端稳压 集成电路单独为单片机供电。而电路总电源使用的是四节 1.5V 的 5号电池供电,因 为小车是大范围移动的, 所以电源必须采用电池是供电, 且不宜过重。 电源电路如图 3.2所示。 图 3.2 电源电路 3硬件单元电路设计 3.2 电机驱动电路的设计 图 3.3 小车机械部分电路原理图 如图 3.3光敏电阻 R1和 R2是小车的眼睛,用来决定小车的运动方向,两只 光敏电阻分别接到运算放大器 NE5532的输入端作比较放大, 经放大后的信号分别 触发三极管 VT1和 VT3, 驱动 K1和 K3两个继电器使行驶电机换向, 三极管 VT2和继电器 K2起电机开关作用。当光线同时照射到光敏电阻 R1和 R2上时,两个 运算放大器的反向输入端 6、 3脚的电压,两运放的输入端 7、 1脚分别输出高电 平,使三极管 VT1和 VT3导通,并驱动继电器 K1和 K3。由于 VD1、 VD2的存 在促使 VT2导通、 继电器 K2吸合, 是两个电机 M1和 M2都正转, 小车向前运动。 当光线只照射到 R1上时, IC6脚电压降低,其 7脚输出高电平, VT1、 VT2导通, 使 K1、 K2吸合,右电机 M1正转、左电机 M2反转使小车向左转。同样,当光线 只照射到 R2上时, IC2脚的电压将降低, 1脚输出高电平, VT2、 VT3导通, K2、 K3吸合,左电机 M2正转、右电机 M1反转,小车便向右转。如果 R1、 R2都接 收不到光线的照射,则 IC7、 1脚都为低电平, VT1~VT3都不导通, M1、 M2断 电,两电机都不转动,小车停止不动。电路中 RP1是用来调整 R1、 R2的平衡值 的,而 RP2可用来调整 IC 中两个运算放大器的增益。两个发光二极管作为小车的 工作指示灯,在超声波模块检测障碍物不在报警灭火距离时:当指示灯 1亮时, 小车右转;当指示灯 2亮时,小车左转。当两灯同时亮时,小车向前运动。当超 声波模块检测到障碍物在报警灭火范围内时, 单片机控制图中继电器 K1~K3断开, 两直流电机不工作小车停止,故此时指示灯无效。 3.3 光源(火焰)检测电路的设计 光敏电阻是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的 电阻器; 入射光强, 电阻减小, 入射光弱, 电阻增大。 光敏电阻器一般用于光的测量、 光的控制和光电转换(将光的变化转换为电的变化)。通常,光敏电阻器都制成薄片 结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内就激发出 电子—空穴对,参与导电,使电路中电流增强。一般光敏电阻器结构如图 3.4所示。 3硬件单元电路设计 图 3.4 光敏电阻器结构图和实物图 用于制造光敏电阻的材料主要是金属的硫化物、 硒化物和碲化物等半导体。 在黑 暗环境里, 它的电阻值很高, 当受到光照时, 只要光子能量大于半导体材料的禁带宽 度, 则价带中的电子吸收一个光子的能量后可跃迁到导带, 并在价带中产生一个带正 电荷的空穴, 这种由光照产生的电子—空穴对增加了半导体材料中载流子的数目, 使 其电阻率变小,从而造成光敏电阻阻值下降。光照愈强,阻值愈低。入射光消失后, 由光子激发产生的电子—空穴对将逐渐复合, 光敏电阻的阻值也就逐渐恢复原值 【 11】 。 在它两端的金属电极之间加上电压, 其中便有电流通过, 受到适当波长的光线照射时, 电流就会随光强的增加而变大,从而实现光电转换。没有极性,纯粹是个电阻器件, 使用时可加直流也可以加交流。 本设计采用 2个光敏电阻作为传感器检测光源强度,将其安装在小车前部的 左右两边。两个光敏电阻可接受光范围小于 120度,在这个范围内,当小车附近 有火源时,两个光敏电阻都测出一个光敏强度值,比较这些光敏强度值,总有一 个值比较大,然后小车就向较大值那个光敏传感器转动。接着小车前进接近火源, 同时传感器不断检测光强度,随时调整车体位置,不断靠近火源。当超声波测距 模块检测到的发光源距离达到阀值时小车就停止前进,进行报警、灭火。图 3.5是灭火场景的模拟图。 3.5图 灭火场景模拟图 3.4 超声波测距模块 考虑到本系统只需要检测简单的障碍物,没有十分复杂的环境。为了使用方便, 便于操作和调试,选择了超声波测距的方案。 3.4.1 US-100超声波测距模块的特点 US-100 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能, 测距精度可达高到 3mm ;模块包括超声波发射器、接收器与控制电路。 基本工作原理: (1)采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号 ; (2)模块自动发送 8个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声 波从发射到返回的时间。测试距离 =(高电平时间 *声速 (340M/S))/2。 3硬件单元电路设计 3.4.2 实物图 如右图接线, VCC 供 5V 电源, GND 为地线, TRIG 触发控制信号输入, ECHO 回响 信号输出等四支线。如图 3.6所示。 图 3.6 超声波测距模块实物图 3.4.3 超声波时序图 图 3.7 超声波时序图 图 3.7超声波时序图表明只需要提供一个 10uS 以上脉冲触发信号, 该模块内部 将发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。 回响信号的脉冲宽度与所测的距离成正比。 由此通过发射信号到收到的回响信号时间 间隔可以计算得到距离。公式:uS/58=厘米或者 uS/148=英寸;或是:距离 =高电平 时间 *声速 (340M/S) /2;但要求测量周期为 60ms 以上,以防止发射信号对回响信 号的影响。 本设计软件编程设计时用的公式是距离 =高电平时间 *声速 (340M/S) /2。 使用模块上还需注意:不宜带电连接,若要带电连接,则先让模块的 GND 端先 连接,否则会影响模块的正常工作;测距时,被测物体的面积不少于 0.5 平方米且 平面尽量要求平整,否则影响测量的结果。 3.4.4 实物规格图 图 3.8 实物规格 3.4.5 电气参数 表 3.1 电气参数 3硬件单元电路设计 3.4.6 检测角度 图 3.9为超声波测距模块检 测角度范围,在大约 30 o 宽的 角度里可得到最佳的距离感 测离。 图 3.9超声波测距角度范围 图 3.9 超声波检测角度范围 3.4.7 模块工作原理 使用模块时,需占用单片机的两个 IO 口,一个 IO 口做为触发端。一个 IO 口做 为回波 PWM 信号捕捉引脚。写程序时,先在 TRIG 引脚端为一个大约 10US 的高电 平触发模块,同时模块内部将发出 8个 40kHz 周期电平并检测回波。并在内部程序 处理变换成一个 PWM 的信号从 Echo 引脚输出,一旦检测到有回波信号则输出回响 信号 , 供我们方便使用。我们使用时,只需读出 PWM 信号高电平的时间(T )。回响 信号是一个脉冲的宽度成正比的距离对象。 可通过发射信号到收到的回响信号时间间 隔可以计算得到距离。公式 : uS/58=厘米或者 uS/148=英寸。 也可以通过声波在空气 中传播公式 L =340T/2。就可以求出 L (测量的距离)。如果没有检测到回响信号, 模块回响信号脚将输出约 140uS 的电平,以防止发射信号对回响信号的影响 . 3.5 各模块电路电路 3.5.1 灭火驱动电路 当超声波测距模块检测到障碍物在报警灭火范围内时, 单片机的 P1.2 I/O口输 出一个低电平,通过一个非门后变为高电平,此时三极管处于放大工作状态,驱 动灭火风扇进行灭火。如图 3.10所示。 图 3.10 灭火驱动电路 3.5.2 报警电路 当单片机的 P1.0 I/O口输出一个高电平时, 通过非门后使三极管基级为低电平, 此时三极管处于截止状态, 蜂鸣器不工作; 当单片机的 P1.0 I/O口输出一个低电平, 通过非门后使三极管基级变为高电平, 三极管处于放大工作状态, 驱动蜂鸣器发出报 警声音。声音报警电路如图 3.11所示。 3硬件单元电路设计 图 3.11 声音报警电路 3.5.3 机械部分继电器电源控制 此部分是控制小车的运动状态的,通过 P1.1 I/O口控制继电器的 K5,进而控 制小车机械部分继电器 K1~K3的工作状态, 当单片机的 P1.1 I/O口输出低电平时, 三极管处于放大状态,继电器 K1~K3处于正常工作状态,小车正常运动;当单片 机的 P1.1 I/O口输出低高平时,三极管的基极为低电平,处于截止状态,继电器 K5不工作导致继电器 K1~K3没接工作电源而不工作,使小车处于停止状态。机 械部分继电器电源控制图 3.12所示。 图 3.12 继电器 K1~K3电源控制电路 3.5.4 超声波测距模块电路 模块 TRIG 是接收引脚, TRIG 接 P2.7 I/O口, ECH0是发射引脚, ECH0 接 P2.7 I/O口,需注意的是超声波测距模块的第四脚所接电源需稳定的工作电压,故第四脚 接的是三端稳压后输出的电压。如图 3.13所示。 图 3.13 超声波测距模块 3.6 本章小结 本章主要讲述了以 AT89C51为主控制器, 设计相关的硬件电路。 主要有控制器模 块、电源模块、直流电机及其驱动模块、避障传感器模块、避障模块、光源(火焰) 传感模块、 灭火系统及其驱动模块等模块构成, 为后续的系统设计和调试做好了必要 的准备。 第 1章 绪论 4 软件实现 4.1 软件开发平台介绍 本次设计软件的开发主要采用 Keil uVision2软件编写。使用 Keil uVision2工具 时,项目开发流程和其它软件开发项目的流程极其相似: 1、创建一个项目,从器件库中选择目标器件,配置工具设置; 2、用 C 语言或汇编语言创建源程序; 3、用项目管理器生成你的应用; 4、修改源程序中的错误; 5、测试,连接应用。 编程语言选用 C 语言。它可以作为工作系统设计语言,编写系统应用程序, 也可以作为应用程序设计语言,并且 C 语言以其结构化,容易维护,编写不依赖 计算机硬件的应用程序,容易移植的优势满足开发的需要。而汇编语言作为传统 的嵌入式系统的编程语言,具有执行效率高的优点,但其本身是低级语言,编程 效率较低, 可移植性和可读性差, 维护极不方便。 而 Keil C51编译器完全遵照 ANSI C 语言标准,支持 C 语言的所有标准特性。另外,直接支持 8051结构的几个特性 被添加到里面。 Keil A51宏汇编器支持 8051及其派生系列的全部指令集。图 4.1是软件开发环境。 图 4.1 软件开发环境 在对编写完的程序进行编译请要对目标选项进行选取,要选取生成 .HEX 执行文件,如图 4.2所示。 4软件实现 图 4.2 软件的目标属性 程序的烧录通过单片机开发板烧录,开发板试图如图 4.3所示。 图 4.3 单片机开发板 4.2 软件的调试 软件调试主要采用在编写软件上的程序调试和实物调试。 在编写环境上对所编写的程序进行调试可以清晰知道程序的运行状况以 及其运行的每一步所处的位置。 采用该调试方式可以避免直接在实物上调试因 程序错误所导致硬件的烧毁等事故。调试视图如图 4.4所示。 图 4.4 软件调试 同过软件对程序的调试后,可以把已调好的程序烧录到芯片中通过实物 作业的现象, 对程序再加以细化的改动, 一次来把整个系统的作业情况与预想 的更贴近。 4.3 主程序流程图 首先,超声波测距模块的工作原理是:一个 10uS 以上脉冲触发信号,该模块 内部将发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信 号。 回响信号的脉冲宽度与所测的距离成正比。 再根据有信号返回, 通过 IO 口 ECHO 4软件实现 输出一个高电平,高电平持续的时间就是超声 波 从发射到返回的时间,即测试距离 (S ) =(高电平时间 *声速 (340M/S))/2。主流程图如图 4.5所示。 图 4.5主程序流程图 void main( void ) { TMOD=0x11; //设 T0为方式 1, GATE=1; TH0=0; //设定定时器 1初值 TL0=0; TH1=0xf8; //定时器 3设定 2MS 定时 TL1=0x30; ET0=1; //允许 T0中断 ET1=1; //允许 T1中断 TR1=1; //开启定时器 3 EA=1; //开启总中断 while(1){ while(!RX); //当 RX 为零时等待 TR0=1; //开启计数器 1 while(RX); //当 RX 为 1计数并等待 TR0=0; //关闭计数器 0 Conut(); //计算 } } 4.4子程序介绍 4.4.1中断 3 单片机的一个 IO 口做为触发端, 一个 IO 口做为回波 PWM 信号捕捉引脚。 由于需在在触发 TRIG 引脚端为一个大约 10US 的高电平触发模块,同时模块 4软件实现 内部将发出 8个 40kHz 周期电平并检测回波,且测量周期要在 60ms 以上,以 防止发射信号对回响信号的影响,这些要求条件则由中断 3完成。 void zd3() interrupt 3 //启动 { TH1=0xf8; TL1=0x30; timer++; if(timer>=100) // 测量周期为 60ms 以上,以防止发射信号对回响信号 { //影响,现设定 200MS 启动一次模块 timer=0; TX=1; _nop_(); //采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; } } 4.4.2中断 1 中断 1是计数器溢出标志,告知超出距离检测范围。 void zd1() interrupt 1 //T0中断用来计数器溢出 , 超过测距范围 { flag=1; //中断溢出标志 } 4.4.3 Count函数 Count 函数是测距和判断报警、停车、灭火相关动作,其中报警灭火距离范围为 n , n 可自行设置, n 的理论取值范围为 3cm-400cm 。本设计的报警灭火距离阈值 为 6cm 。 4软件实现 void Conut(void) //计数测距模块 { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/100; //时间转换为距离,算出来的单位是 CM if((S<=15)||flag==0)>=15)||flag==0)> { OUT1=0; //开蜂鸣器报警 OUT2=0; //开继电器 K1— K3控制电源 OUT3=0; //开灭火风扇 } else { OUT1=1; //关闭蜂鸣器报警 OUT2=1; //关闭继电器 K1— K3控制电源 OUT3=1; //关闭灭火风扇 } } 4.5本章小结 本章节详细的介绍了主程序设计思路与流程图, 用 C 语言编制了相关调试程 序,为下一章做系统调试工作打下了基础。需注意的是,通电后首先超声波测距 模块初始化然后检查周围环境是否在报警范围内的障碍物, 一旦发现火焰则通过 光敏传感器寻找火源、检测火焰位置,当在灭火报警范围内时,准确定位并启动 风扇灭火同时报警。在此过程,当小车检测到火焰时,小车要随时向光电强度值 较大的那个光敏传感器转动, 要让小车的正前方是光敏电阻值较大的传感器的方 向,才能正对准着火源。由于设计中使用一个风扇,安装在小车的正前方,没有 使用舵机的方案,风扇只能朝前方吹风。为了提高灭火的准确度,最好要做到让 机器人正面对准火焰,否则,可能会出现长时间灭不了火的现象。 结 论 5 系统功能调试 为了确定系统与设计符合设计要求, 保证系统能正常运作, 小车能正常准确的调 用各模块的程序, 实现各模块的功能。 我们对系统进行了编译和调试。 并且对系统中 的关键数据部分进行了实际的重复测试, 以求得比较准确的值, 所以本章节介绍了系 统调试所做的工作以及心得体会。 5.1 测试仪器及设备 表 5-1 测试仪器设备清单 5.2 功能测试 将写好的程序在 Keil C51编译器环境下进行编译, 刚开始由于写程序时范了一些 常识性的错误,编译出现很多错误,然后改正后,完全正常编译。但是将调好的程序 烧录到单片机, 单片机输出一个高电平, 并认为能驱动继电器控制各模块, 但最后调 试发现电压虽够,但由于电流太小不能,打开放大三极管,继电器无法工作,最后修 改程序, 当超声波测距检测到一定距离时到让单片机电机输出低电平, 因为单片机的 低电平输出电流较大, 在输出口加上反相器, 最后能驱动继电器并控制各模块。 总结 是:单片机高电平输出的电流较小往往不能驱动负载, 由于单片机的低电平输出电流 比较大,所以这时可以让单片机低电平输出,再加一个反相器;或者增大输出电流, 就是在输出口加上拉电阻。 首先想到是不是单片机没工作, 没起振, 电路连线没连好 或者虚焊等原因, 用万用表和示波器检测后排除了此可能性。 单片机是有输出的, 但 为什么继电器不工作, 蜂鸣器为什么不报警, 灭火风扇为什么不工作, 最后接了反相 器后, 各模块才达到预期的工作效果。 接着考虑是不是单片机芯片被烧坏了, 然后就 换了一张控制卡进行调试, 结果小车还是不运动。 最后又重新调节了电机的转速和转 角,和修改程序的逻辑,小车正常运动,也启动了各模块的功能,小车能按照设定的 程序扑灭模拟火源。 5.2.1 电机电路部分 调试中遇到的问题和经验:在车体机械部分的整个设计过程中, 要注意两个电机 和万向轮之间保持平衡。车轮的摩擦问题等等。 5.2.2 遇障报警部分 测量好运放的正向输入端的电压后,在光敏电阻不同光照强度的情况下测量 运放的反向输入端的电压,最后再测量运放输出端的最高和最低输出电压,即高 电平电压和低电平电压。在调试测量时,发现运放的两输出端的最低电压一直处 在 1.1V 左右,不属于低电平,故三极管一直处于导通状态,导致继电器一直没换 向,控制不了机器人的运动方向。最后在三极管前加上发光二极管,因为发光二 极管的嵌压是 0.7V 左右,这样三极管在运放输出端 1.1V 时就导通不了,而在高 电平 2.7V 处于导通状态,实现对继电器的控制。另外除此之外还可以通过提高三 极管前的限流电阻的方法, 达到让三极管的 PN 节不导通。 这样不仅解决了问题而 且、通过发光二极管的亮灭可以比较直观的看出三极管的导通状态和继电器是否 换向。下表 5-2是两光敏在三种不同受光程度运放 NE5532各引脚的输出电压。 结 论 表 5-2 NE5532各引脚的输出电压 5.2.3 火源检测部分 在整个调试工作中, 对火源的检测和准确定位是一个比较困难的问题。 所以通过 不断改变超声波测距模块的报警阈值; 调节 RP1使两光敏电阻的受光程度平衡:光敏 电阻可以从 RP1分压,故调节可调电阻 RP1至中点可使两光敏电阻在同等光照强 度下分压相同,并实现把相等的所得分压送到运放的反向输入端。因此调节 RP1相当于调节 R1和 R2的平衡值,这样可以让光敏电阻在同等光照强度下控制继电 器,让小车的机械部分更加协调; 调节 RP2控制增益:运放两正向输入端从电位器 RP2分压,所得的电压一样, 根据运算放大器的原理可知,降低或升高正向输入端的电压,在输出一样的高低 电平时,反向输入端的电压也会跟着变化,故调节电位器 RP2可以使光敏电阻在 不同光照的情况下,让运放的输出端输出高低电平。因此,调节电位器可以调节 运放的增益,可间接的控制光敏电阻的灵敏度。根据实际情况分析可得本设计采用 离火源 60cm 处就设为有火源,小车能检测到火源然后开始寻找火源,当小车到达距 离火源位置 15cm 的距离时就表示已经靠近火源,不能再前进而开始灭火,否则被火 湮灭,不能达到灭火的目的。 6 结 论 本论文设计了以 AT89C51为主控制器的寻光灭火机器人,通过制作小车式机器 人以单片机 AT89C51为核心拟定了系统组成方案,完成了系统的电路硬件总体设计, 包括供电模块、 单片机系统、 电机驱动系统、 火焰检测系统以及灭火系统和各个模块 间接口。 接着完成了各个功能模块的程序设计, 和完成主要功能模块的调试软件设计, 分别完成对各个功能模块的调试工作。 设计展望:若实现下面一些改进, 可能可以节约灭火时间, 达到更好的灭火效果, 是作品更趋完善。 首先, 改进小车的机械部分, 通过减小小车运动时受到的摩擦阻力, 可使小车运行更加平稳, 最终准确高效的实施灭火, 可以达到节约时间的效果; 其次, 增加或换用其他传感器,是小车定位更加精准;再加上使用“复眼 ” 技术。缩短传感 器的检测距离, 在检测火焰的时候先远距离搜索火焰的大致位置, 然后近距离定位火 焰, 可以更有效的寻找火焰并能缩短时间, 但是需要更多的硬件成本开销; 最后风扇 增加舵机方案。 将灭火风扇安装在可以旋转的舵机上, 在检测到火焰的大致位置的情 况下, 可以不用调节车体位置而通过舵机的旋转就可以轻松灭火, 可以达到节约时间 的效果。 参 考 文 献 7 参考文献 [1] 江世明 . 基于 Proteus 的单片机应用技术 . 北京:电子工业出版社 ,2009 [2] 杨欣 . 电子设计从零开始 . 清华大学出版社 ,2008 [3] 马忠梅 . 单片机的 C 语言应用程序设计(第四版) . 北京航空航天大学 出版 ,2008 [4] 周 兴华 . 手把 手 教你学 单 片机(第二版 ) . 北京航空航天大学出版 社 ,2007 [5] 陈 春 俊 . 单 片 机 原 理 与 机 器 人 控 制 实 验 教 程 . 西 南 交 通 大 学 出 版 社 ,2007 [6] 林以敏 . 机器人制作 . 北京 :机械工业出版社, 2008 [7] 刘极峰 , 易际明 . 机器人技术基础 . 北京 :高等教育出版社 ,2008 [8] 衲延年 . 机器人技术及其应用 . 北京 :化学工业出版社 ,2008 [9] 秦志强 .C51单片机应用与 C 语言程序设计 -基于机器人人工对象的项目 实践 . 北京 :电子工业出版社 ,2007 [10] 张毅 . 移动机器人技术及其应用 . 北京 :电子工业出版社 ,2007 [11] 张继荣 . 智能电子创新制作 -机器人制作入门 . 北京科学出版社 ,2007 [12] 王志良 . 竞赛机器人制作技术 . 北京 :机械工业出版社 ,2007 [13] 刘广瑞 . 机器人创新制作 . 西北工业大学出版社 ,2007 [14] 李团结 . 机器人技术 . 北京 :电子出版社 ,2009范文三:履带式消防机器人设计
范文四:智能消防机器人
范文五:简易消防机器人