基于Arduino控制器的智能灭火救援机器人的设计与开发
来源:用户上传
作者:
【摘要】近年来火灾事故频频发生,为减少当中的人员伤亡,本文设计一款基于Arduino控制器的智能机器人代替人类实施灭火救援任务。本系统包含Arduino UNO的主控板、超声波模块、红外模块和摄像投等,并配置WiFi模块实现手机无线控制。经测试该系统运行平稳,灵敏度高,实用性强。
【关键词】救援机器人 Arduino 消防控制
引言:由于机器人本身的智能性、灵活性以及可再生性,机器人已经逐渐应用于各行各业。面对无情的火灾,消防官兵无法预测事故现场,贸然进入难免造成人员伤亡。因此,应用智能机器人代替人类实施灭火救援任务是很好的选择。纵观消防救援机器人的发展,从最初的完全由程序控制的反应比较机械的救援机器人到现在的具有感应和反馈功能的消防机器人,消防机器人功能越来越复杂,也越来越智能化。然而当前的消防机器人在自动检测方面还存在一定的缺陷,本文通过PWM的方式控制两个舵机,实现二自由度舵机的控制,利用超声波测距传感器实现对数据的采集,并使用Arduino单片机进行数据采集、分析和车体的控制。整个系统可自动检测到前方一定距离的火源并自行前往实施灭火任务。
一、系统总体设计
本设计以Arduino UNO R3主板和Robot-LinkV4.0 WIFI模块为核心,以智能机器人为运动主体结构来设计的,通过手机、平板等移动设备或者PC端作为控制终端,经过WIFI传输指令来控制机器人的运行,并拥有红外传感器和超声波测距模块来实现机器人在寻迹、测距、灭火,机器人在移动过程中通过摄像头采集画面,由WIFI信道传递到控制端,操作人员可以根据机器人返还的画面来控制机器人的行动。系统主要包括电源模块,电机驱动模块,传感器模块,视频采集模块,WIFI传输模块以及其他模块,如图1所示。
二、系统硬件设计
(一)电源模块
电源所使用的的带大电流保护板的18650锂电池组,使用标准的5.5mm*2.1mm的圆形接口。经过下位机驱动板上的总开关后,给整个系统供电。①经过大电容滤波后,直接电池电压。给电机驱动芯片供电,去驱动小车电机。②经过DC-DC降压为5V,给舵机供电。经过DC-DC降压为5V后,给WIFI模块、摄像头供电。③经过其他稳压芯片后,提供合适电压给芯片、传感器。
(二)WIFI模块
WIFI模块通过采集挂载在USB接口的MJPG格式的摄像头的数据,并编码封装成http协议的视频流,默认推送到8080端口。Android/IOS/PC设备,连接到WIFI模块的热点后,打开控制软件,会自动从8080端口获取MJPG视频流,并进行解码、显示。由此实现了WIFI只能机器人的实时视频传输功能。
此外,XRbot-Link WIFI模块固件内置了ser2net应用程序,在WIFI模块启动后,开启TVP Sever,并开始监听2001端口,等待客户端连接。当Androd/IOS/PC设备连接到WIFI模块的热点后,打开控制软件,开始作为TCP Client,通过2001端口,跟TVP Sever握手。此时,上位机控制软件既可以Write触发的指令到2001端口,经由Ser2net推送到WIFI的TTL硬件串口,再对下位机驱动板进行指令解析、执行;也可以持续Read由下位机驱动板通过串口发给WIFI模块后,被ser2net程序转发到2001端口的数据,并进行显示。
(三)PWM舵机控制
舵机由脉冲宽度调制(Pulse Width Modulatio, PWM)来控制角度,PWM的高电平时间0.5-2.5mms对应舵机的0-180°。脉冲宽度和舵机角度对应关系如图2所示。
舵机分为数字舵机和模拟舵机。模拟舵机需要持续的PWM来驱动,而数字舵机只需要给一次角度就可以稳定在这个角度。
(四)传感器模块
此模块主要有超声波模块和红外传感器。超声波模块采用的时间差测距法,通过超声波发射器向前方发射40KHz超声波,在发射的同时开始计时,超声波在空气中传播时碰到障碍物就立即反射回来,超声波接收器收到反射波就立即停止计时。声音在空气中的传播速度为v,而根据计时器记录的发射和接收回波的时间差Δt,就可以计算出发射点到障碍物的距离s,即:
S=v*Δt/2
以上算出来的距离单位是米,代码中一般使用厘米,所以会在结果上乘以100。
红外传感器部分通过红外线照射到物体表面后发生反射,红外接收头在接收到反射回来的红外光信号后,会改变自身电阻,当反射线强度大到一定程序,电阻低于设定值,会触发比较器状态变化,输出低电平,在我们看来就是检测到障碍物了。
(五)电机模块
电机就是一种将电能与机械能想换转换的电磁机械装置,一般有两种应用形式:
第一种是把电能转换为机械能,称之为电动机;第二种把机械能转换为电能,称之为发电机。直流电机的转动方向和电流方向有关,当电流从正->负时,电机顺时针旋转,反之逆时针旋转;两边同时正转2,前进;同时反转,后退;左正右反,原地右转;反之,原地左转。
三、系統软件设计
(一)开发环境
本程序在Arduino IDE的开发环境下进行开发与调试,采用Arduino代码编写程序。Arduino ide是一款专业的Arduino开发工具,主要用于Arduino程序的编写和开发,拥有开放源代码的电路图设计、支持ISP在线烧,同时支持Flash、Max/Msp、VVVV、PD、C、Processing等多种程序兼容的特点。
(二)整体调试
通电后,程序开始初始化,舵机写入角度,超声波传感器开始运行,当检测到前方出现物体时,会反馈给操作端,并下达指令灭火。
四、总结
本文以Arduino为核心控制板,设计了一种能进行自动灭火救援的智能机器人,完成了硬件和软件的结构设计,经过试验验证,设计的机器人实现了距离判断和进行灭火的功能。试验结果良好。在现代救援过程中具有很高的实用性。
参考文献:
[1]陈伟哲, 黄梦醒, 吴迪,等. 消防辅助救援机器人群设计研究[J]. 软件工程, 2019,(9).
[2]田帅,吴长忠, 宋翔文. 基于STM32的消防救援机器人设计[J]. 科技创新导报, 2018, v.15;No.440(08):132-134.
[3]姜志海,单片机原理及应用[M].北京:电子工业出版社,2005.
[4]倪银堂, 吕迪洋, 王振豪. 消防机器人的研究现状综述与展望[J]. 自动化应用, 2017,(2):28-29.
基金项目:北京联合大学“启明星”大学生科技创新项目(201911417SJ105)
作者简介:闫旭(1997-),男,北京人,主要研究方向电子系统设计;*通讯作者:齐瑞红 (1974-),女,河南周口市人,硕士,高级工程师,主要研究方向为计算机科学技术和智能教学系统管理。
转载注明来源:https://www.xzbu.com/2/view-15149469.htm