APP下载

基于单片机的工业微尘检测系统的设计

2020-02-02王娟洪铭皓张尔东于广艳

电子技术与软件工程 2020年18期
关键词:微尘开发板湿度

王娟 洪铭皓 张尔东 于广艳

(1.哈尔滨石油学院信息工程学院系 黑龙江省哈尔滨市 150027 2.鸡西市矿业集团通信公司 黑龙江省鸡西市 158100)

1 序言

在我国,工业微尘颗粒监测技术还是不太全面,尤其在监测仪器的精确度以及自动化方面都低于国外制造的设备,在价格方面,由于技术不太成熟导致造价偏高,使得大规模的监测成本过高。本设计就是重在用于研究工业微尘浓度测量的设计,根据现在已经有的国产监测仪器,设计出用于监测工业微尘参数的测量系统。该系统最大的优点是对工业微尘浓度进行实时检测和远程测量。

2 系统设计

Arduino UNO 开发板被用做了数据采集端的基本电路。在实际的工业生产环境中,工业微尘颗粒直径大小和在空气中的分布不均匀,必然要导致GP2Y1014AU 传感器的误差大,应用的时候需要使用多个GP2Y1014AU 传感器来减小误差。对于空气的温度和湿度,也是有可能影响工业微尘浓度的,因而装上了DHT11 温湿度传感器,它监测空气的温度和湿度还是十分灵敏的。本设计还使用了无线传输进行远距离测量。

本设计的服务器操作系统将使用Ubuntu 系统,服务器的框架则选择了Django 框架,MySQL 数据库将用于数据存储,对于计算本设计将使用卡尔曼滤波算法进行实现,这样的选择将会使得服务器更加稳定的执行。

Arduino UNO 开发板也将被作为信号接收端的基本电路,对于数据的接收,本设计采用的是W5100 网络扩展模块,LCD 显示屏用于当前环境的工业微尘温度和湿度以及浓度的显示,将使用语音提示的报警。

综合以上叙述,本设计为了准确的实时监测工业微尘的浓湿度,再利用ESP8266 做成的无线传输模块传输至服务器,在服务器接收到信息时候,对这些数据处理,最后利用W5100 网络通信模块的通信功能,将数据送到Arduino UNO 开发板判断分类整理,进而实现显示数据和报警等功能。

工业微尘浓度的检测流程:将设备搭建在适合与测试的工业环境下,测量环境中的微尘颗粒浓度和温度,测试的工业微尘浓度要满足设定好的工业微尘浓度值,若测量粉尘浓度环境未至期待值时,将重新启动机器。会将粉尘浓度、温度和湿度收集并上传,如果环境粉尘粒子的浓度达到设定的值时,会通过ESP8266 把收集的数据发送给服务器进行一系列分析处理,还会将处理好的数据上传到数据输入端,还会在屏幕上显示出来,还会对粉尘浓度与用户设定值进行比较,如果超出用户设定范围,报警模块就会被处罚同时提醒用户。反之系统不会出现异常。本次设计的整体框图如图1所示。

2.1 各模块实现的功能

图1:整体设计框图

图2:硬件实物图

GP2Y1014AU 传感器通过多个模块的协调运行来进行对外界数据的处理。常用的模块主要有DHT11 温度传感器模块以及ESP8266 无线传输模块、Arduino UNO 开发板构成。由上述模块共同组成的该传感器通过光散射将散射光转换为信号,从而作为灰尘粒子浓度的输出值,实现灰尘粒子浓度的收集。其中,温度传感器可以获知所处当前环境的温度及空气湿度等信息,而这部分功能是由电阻湿度传感器和NTC 温度测量工具来完成的。Arduino UNO板作为间接数据传输站,向ESP 8266 发送由GP 2Y1014AU 传感器和DHT11 温度及湿度传感器测量的数据。ESP 8266 无线发送模块负责从Arduino UNO 开发板向服务器发送数据测量系统的数据采集端。

图3:总体流程图

数据传输与处理主要是由众多模块如Ubuntu 操作系统、Django 物联服务器、卡尔曼滤波算法以及MySQL 数据库共同完成的。Ubuntu 在运行云服务框架的同时,有图形化界面对数据库表、系统后台进行管理操作的作用,可以作为服务端操作系统平台使用,设计中采用Django 得益于Django 可以使代码重用,而且多个组件可以同时使用,并计算出平均值。MySQL 数据库是考虑到数据和实时数据的安全性而选择的数据存储库。

信号接收端包括W5100 网络通信模块、TFT-LCD 显示模块、警示信息设备以及Arduino UNO 开发板。而在这其中,网络通信模块可以通过互联网接口从服务器中收集相关信息,使其可以兼具可快速访问的服务器以及作为用户使用软件的作用;Arduino UNO板作为数据中间转接站,通过对W5100 网络通信模块发布的数据执行逻辑分析,向TFT-LCD 显示模块和报警模块发送请求,TFTLCD 显示模块的主要功能是显示环境中工业灰尘的浓度、温度和湿度各个值;报警模块主要用于报警音乐的播放,如果灰尘浓度发到设定值时,Arduino 开发板给出音频的输出,提示人们要做好措施。

3 硬件电路设计

电路往往是设备开发中设计的难点,本研究主要对各个模块及组成硬件内的电路进行规划,同时解释该电路系统的功能。其中硬件电路系统主要由包括Arduino 单片机、GP2Y1014AU 光学传感器、ESP8266 无线传输模块、DHT11 温度和湿度检测模块、W5100 网络通信模块、TFT-LCD 显示模块、警告信息模块组成。实物图如图2所示。

4 软件系统设计

Arduino IDE 软件用于编写硬件代码。作为Atmel 公司为Ardunio 开发环境特别开发软件,Arduinio 产品不下载代码就无法运行。此模块使用的CPU 是Arduino,创建和写入Arduino 的程序时,使用Arduino IDE。Arduino IDE 有一个简单的编译接口。编译的启动加载器固件将通过USB 下载线直接写入Arduino 的AVR 中。总体程序硬件设备初始化,然后传感器开始检测,然后底下写微尘浓度传感器开始检测,然后底下写是否为尘浓度超过阈值,就是超过设定值是的话就开始报警,什么开始报警语音模块或者蜂鸣器都可以,然后再往下纸否的话,直接拉下来,然后再往下就是开放版收集信息上传数据总体流程图如图3所示。

4.1 服务器端系统设计

基于作为服务器的Untu 操作系统,服务器侧系统的构建过程、作为服务器的框架的Django、作为数据存储系统的MySQL 数据库以及用于计算的卡尔曼滤波算法。

5 结论

工业微尘不单会影响工业生产,其废气排放是世界性的灾害问题,对气候、环境、人类健康造成严重影响,因此受到广泛关注。为了实现工业用灰尘浓度的实时监控,本文将讨论工业用灰尘浓度测定系统的设计和实施。设计实现了测量系统整体的部分组成部分,如数据获取端、服务器端、信号接收端和其他系统等。硬件选择上,Arduino UNO 被用作测量系统的主控制芯片。可基于Arduino 的优势来根据需要添加额外的扩展插件来满足用户的需要。服务器端基于Ununtu 操作系统设计、采用Django、MySQL 数据库作为数据存储系统。实现工业粉尘浓度的实时监视、显示、报警功能,通过比较温度和湿度与工业粉尘浓度,调查温度和湿度对工业粉尘浓度的影响。工业粉尘浓度测定系统的设计和安装已经完成。使用基于Arduino 平台的工业用灰尘浓度测定系统,可以实时监视检测环境中工业用尘埃的浓度,进行有效的数据分析。

猜你喜欢

微尘开发板湿度
植物有话说(十七) 松果:开与合,看湿度
世界最小电池 有望让“智能微尘”相伴我们左右
工业锅炉饱和蒸汽湿度的运行控制
光下微尘
基于湿度控制的室内空气净化器高压电源设计
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
跟踪导练(二)(2)
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板