基于Arduino的无人机气体检测装置

2021-07-22 07:07黄景煦莫丽薇于米提江奥布力刘璇王雪茹
电子测试 2021年12期
关键词:空气质量调试单片机

黄景煦,莫丽薇,于米提江·奥布力,刘璇,王雪茹

(北京信息科技大学,北京,100089)

关键字:Arduino;无人机;空气质量监测

0 引言

在二十世纪八十年代初,一些发达国家逐步建立了自动连续的空气质量监测系统还有宏观的生态监测系统,为了有效监管空气质量的动态变化。我国作为一个制造业大国,工业水平位居世界前列,但是我国空气质量检测装置跟不上我国工业水平的发展,在这方面距离发达国家还存在一定的距离,导致监管部门无法有效的监管大量的工厂。本课题主要是设计基于Arduino的无人机空气质量检测装置,通过无人机检测在高空烟囱、管道等周围的有害气体的浓度,通过收集的数据检测该区域的空气质量,从而采取措施改善空气质量,从而改善人们的生存环境[1]。

1 处理系统的相关设计

此空气质量的监测模块由下位机,存储模块以及通信模块构成,对处理系统的相关设计如图1所示。图示中的下位机包括,显示器、传感器模块和Arduino的开发板。存储模块包括Micro SD读写模块和Micro SD卡,将空气质量传感器所采集到的数据保存在Micro SD卡内,而通信模块将收集到的数据实时传输给上位机,譬如我们经常使用手机连接电脑一样。通过上位机软件处理数据,从而绘制出对应的空气中有害气体参数变化的曲线图,本处理系统采用存储模块和通信模块并行使用,完成测量参数的显示。

图1 处理系统整体框架

2 空气质量检测器的硬件设计

2.1 Arduino Mega2560

Arduino是全球最流行的开源硬件,Arduino Mega2560主板是Arduino各型号主板中引脚、串口、储存比较多的一种。Arduino Mega2560采用的核心电路板接口是USB接口,同时它含有五十四路数字输入输出串口,而采用十五路模拟输入,四路UART接口以及一个USB接口等。

2.2 MQ-135空气质量传感器

MQ-135空气质量传感器,使用的材料是二氧化锡,这种材料很容易接收到气体信号且在空气中电导率较低。当传感器身处的环境中有着一定浓度的污染物气体时,传感器的电导率就会随着空气中污染物气体的浓度的改变而随之改变。通过使用简单的电路,传感器电导率的变化可以转换为对应于气体浓度的输出信号。

MQ-135传感器对NH3、硫化物、苯系蒸汽等气体的灵敏度相对其他气体传感器来说较高,气体元件测试浓度的范围为十到一千,对于一些可见度小的污染物的监测效果很好,该空气质量传感器是一个适用范围广且成本还很低的硬件。

2.3 二氧化硫传感器

二氧化硫传感器检测空气中的SO2浓度有非常大的优越性,它尺寸小Φ20×16.5,二氧化硫检测范围0-20ppm,最大检测浓度2000ppm。它的特点为电流的灵敏度比较高、响应时间短、并且受温度及湿度的影响小、稳定性强等特点。

2.4 气体模组测试套件

将二氧化硫传感器安装到气体模组测试套件上,将传感器收集的信号通过气体模组测试套件转化为USB信号,在上位机软件上显示,测试MQ-135空气质量传感器的检测气体数据的准确性,通过气体模组测试套件与MQ-135空气质量检测的数据对比,便于分析MQ-135空气质量传感器检测的气体种类。

2.5 Micro SD卡读写模块

Micro SD卡读写模块采用的SPI接口程序,Arduino IDE 自带SPI库文件和SD卡程序库,通过SPI驱动程序,单片机可对Micro SD卡进行读写,读写模块支持Micro SD卡、Micro SDHC卡(高速卡),读卡模块通信接口为SPI接口。

2.6 无人机

无人机选用F450型号的无人机,该型号的无人机飞行高度可达800-1000m,续航时间可达十五分钟左右,便于操控,性能稳定。

3 软件

3.1 编程语言的选择

对于编程语言的选择,我们选用的是一种较为灵活且特别容易掌握和上手的开发平台——Arduino开发平台,它包含了硬件和软件,对于学过C语言以及Java的人来说会更容易上手一点,因为此编程语言具有和这两种语言类似的开发环境,主控芯片主要是AVR单片机和ARM芯片。同时Arduino平台还具有跨平台的特点,比如电脑上安装了虚拟机,就可以在三大常用的操作系统上运行,然而除此之外大多数只能在Windows上开发;此外Arduino语言比较简单清晰,对于初学者来说极其容易上手,只需要简单学习就可以尝试进行开发;还具有开放性的特点,因为它的一些组件都是开源的,也就是说可以免费下载使用,并且修改其代码。随着科技的发展和进步,互联网时代的迅速发展,越来越多的人开始并喜欢使用Arduino开发语言,特别是在大学里,对于一些软件开发者,无论是计算机、自动化、软件等专业,还是一些相关社团,比如无人机,机器人等,都会用到此开发语言,特别是一些大创或者其他的创新创业类项目,几乎都会用到此Arduino来进行开发。

3.2 下位机软件功能需求

系统软件主要由MQ-135空气质量传感器,存储模块,下位机软件系统根据系统需要实现的功能编辑,主要负责下位机的一些数据采集,传输,存储的接口,以实现数据的采集和储存。

3.3 数据处理

一开始我们对系统进行了初始化,完成后,利用传感器进行数据的采集,采集数据后将数据传输给上述所示的单片机中,通过Micro SD读卡器将收集的数据储存在Micro SD卡内。

4 系统仿真测试

为测试本处理系统的有效性,分别对系统的硬件和软件进行测试。

4.1 系统硬件调试

首先,需要特别详细的检查各模块一些暴露在外界的部分是否存在相互接触的情况,线路和对应的端口是否接错,接下来我们用到的工具是万用表,它可以检查出线路是否存在短路或者是有断路的地方。完成以上操作后,我们则需让电源处于通电状态即可,观察各模块的工作状态是否正常,存不存在一些不正常的发热,闪烁现象,若上述的一切都正常,则模块硬件调试完成[2]。

无人机的调试工作主要包括飞行控制系统参数的调节,检查无人机的连线情况,在不搭载任何物品的情况下进行试飞。多次试飞无异常情况,则无人机调试完成。

4.2 系统软件调试

系统软件部分编辑完成后,我们就可以采用 Arduino 开发平台为我们所提供的一系列工具进行真实的模拟,与此同时再完成最后的调试。在调试期间,我们需要将此和我们的电脑进行连接,并且需要将程序上传到之前所用到的单片机中,通过Micro SD读卡器将存储在卡上的的数据显示在我们所能看到的监视器上,并通过点燃火柴产生气体,观察监视器显示的数据波动情况。需要注意的一点是,我们需要在调试的过程中不断进行修改,使系统实现预期的功能。

5 结论

本运行系统采用气体传感器,单片机和上位机软件的结合,搭建了一个具有完备功能的空气质量检测装置。集单片机,传感器,无人机平台,上位机软件于一体。可在性能方面上对硬件进行改造,增大检测的精度,增大检测数据的准确性。

猜你喜欢
空气质量调试单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
“空气质量发布”APP上线
无线通信中频线路窄带临界调试法及其应用
车内空气质量标准进展
重视车内空气质量工作 制造更环保、更清洁、更健康的汽车
开展“大气污染执法年”行动 加快推动空气质量改善