苏继恒 刘 翼 党舒俊 张 旭 冉 涛
(1.绥化学院电气工程学院 黑龙江绥化 152061;2.国网河南省电力公司郑州供电公司 河南郑州 450000;3.招商银行股份有限公司哈尔滨分行 黑龙江哈尔滨 150010)
我国现阶段环境数据监测一般采用有线的数据传输形式,其线路投资较大,而且不利于工作人员维护,特别在面对农村复杂多变的地理环境时,这种缺点尤为突出[1]。本装置设计通过ZigBee技术传输所采集的数据,其不仅克服了有线通信的缺点,还具有低功耗、成本低、可靠性高的优点,能够很好监测地表环境[2]。
本装置采用Arduino Mega2560作为下位机的核心控制器来处理温湿度传感器、光照传感器、粉尘传感器所采集到的物理量,并将其显示ST7735S驱动的TFTLCD(薄膜晶体管液晶显示屏)屏上,相比较于LED显示屏还具备保护眼睛、高可靠性、不易损坏的优点。
而ZigBee技术作为整个设计的核心,其终端以无线的方式接收以Arduino Mega2560为核心的下位机所发送的数据,再打包发送至ZigBee协调器,协调器经串口将数据发给上位机PC[3],上位机合理化解析串行数据,将下位机采集的物理量保存在PC中,方便使用者通过上位机软件分析环境物理量的变化情况。
上位机软件采用LabVIEW作为开发工具,设计了用户登录界面、终端选择界面、数据展示界面等部分。用户登录界面非设定的使用者不能登陆,保证了采集信息的安全;数据展示界面采用各种仪表和曲线图显示数据,使数据简单便于用户理解,方便用户的使用。此外,该界面还具有生成Excel报表的功能,方便维修调试人员对装置进行分析。
(一)本装置的设计目标。针对传统环境监测装置布线繁琐、不易扩充、功能单一等缺点,本团队提出了一种采用无线通信方式,用于监测环境相关物理信息的小型装置。要求该装置全天候自动采集所在环境的湿度、温度、粉尘浓度、光照等4个物理信息;用户可以通过上位机监控软件实时查看各个监测装置的信息采集情况,为用户生产生活提供实时准确的环境数据。并且所有数据均可生成电子报表,用户可以依据监测信息,合理调整生产生活计划,保证其效率的最大化。
(二)各部分方案的选择。
1.无线通信技术的选择。ZigBee技术是一种节点体积小、结构简单、低速率、低功耗的无线通信技术,底层采用的是IEEE 802.15.4协议[4]。根据不同的工作频率,数据传输距离在200到1500米之间[5]。相较于Bluetooth,ZigBee更简单、功耗及设备成本更低、长距离数据传输速率却更快。而相比于2.4GHz无线通信,ZigBee技术数据传输方式更为多样,传输频率范围更广,距离也更广。因此,本装置的无线通信方式选取为ZigBee技术。
2.ZigBee控制核心的选择。ZigBee的控制核心采用的是CC2530F256芯片,该芯片芯片结合了性能优良的射频收发器、增强型的8051单片机内核、系统内可编程闪存、8KBRAM和许多其它强大的功能于一体,因其可以满足不同的功耗需求,而且运行模式的切换速度较快,能够完美的实现数据的收发功能[6]。
3.下位机控制器的选择。Arduino Mega2560是一块以ATmega2560为核心的微控制器开发板,本身具有54路数字I/O端,14组可做PWM输出,16路模拟输入端,6路外部中断,一个USB接口,具有256K Flash Memory,同时还有8KB SRAM和4KB EEPROM[7]。支持I2C、UART、SPI等众多通信接口。特别适合需要多种传感器接口和各种通信方式的装置设计。因此,选用Arduino Mega2560为本装置的下位机控制器。
4.传感器的选择。
(1)温湿度传感器。DHT22是一款数字式的温湿度传感器,包括一个电容式测湿部件和一个NTC测温部件,采用1-Wire接口与控制器进行通信,信号输送距离可至20米。此外该传感器具备超快响应、抗干扰能力强、性价比极高等优点,故本装置用其采集多变的环境温度和湿度。
(2)光照强度传感器。BH1750FVI是一种光谱灵敏特性近于人体眼球的数字式光强度传感器。其的视觉灵敏度。其输入光范围广泛,受红外线影响很小,通过自带的降噪功能,可以实现稳定的光强测量。采用I2C协议与控制器进行通信,且功耗低、抗干扰能力强,因此,用其探测较大范围的环境光强变化。
而发生在全国各地的物流公司跑路案件也常见诸报端。河南省物流商协会的一位负责人在接受记者采访时称,曾是河南省重点物流建设项目的某物流园正在悄悄转让。“现在物流企业的日子不好过啊。”河南省达发物流有限公司副总经理韩铁强称,物流企业的利润已从几年前的20%降至目前的5%左右,而物流公司越来越多,线路不全、收货量下降,房租、人员工资一路上涨都会导致物流企业生存压力加大。“竞争压力太大,要么倒闭,要么合并,抱团取暖总比跑路强。”
(3)粉尘传感器。DSL-03是一款数字式粉尘传感器。内置激光发射元件和光电接收元件,利用光散射原理,激光在粉尘颗粒上发生散射光现象,接收元件接受光信号,并将其转化为电信号,再通过算法计算出粉尘浓度[8]。该传感器采用UART通信,其波特率为9600bps。当控制器向DSL-03发送请求,传感器应答回复后才开始传输数据,因此,特别适用于要求数值稳定准确、抗干扰能力强的PM2.5浓度测量。
5.上位机开发工具的选择。本设计采用LabVIEW作为上位机软件的开发工具。之所以采用LabVIEW,是因为LabVIEW的编程语言是图形化编程的G语言,这样的编程方式更加灵活方便,大大地缩短了系统的开发周期。同时LabVIEW又具有丰富的开发模块和高兼容性,非常方便与下位机的结合,因此选用LabVIEW作为上位机软件的开发工具。
(三)装置的方案设计。如图1所示,本装置主要由上位机监测软件、ZigBee网络和下位机控制器组成。ZigBee网络由协调器和多个数据终端构成,其中协调器节点主要用于组建网络,终端节点主要用于接受下位机控制器所发送的数据[9]。下位机控制器负责采集环境信息,上位机负责把ZigBee网络发送来的环境数据用直观简易的方式显示出来,方便用户分析。
图1 装置的设计方案
(一)装置的总体硬件结构。如图2所示,本装置由下位机数据处理部分、ZigBee网络部分和上位机通信部分组成。下位机数据处理部分是以Arduino Mega2560为控制核心利用DHT22、BH1750FVI、DSL-03这三种不同的传感器来获取所在环境的湿度、温度、光度、粉尘浓度等物理信息,再将采到的物理信息通过ZigBee网络传给上位机PC,而上位机PC则通过CH340G芯片实现串口转USB的功能,进而接受ZigBee协调器中的数据,以监测所处环境的物理信息[7]。
图2 装置硬件结构图
(二)数据处理部分的硬件设计。
1.温湿度传感器的硬件电路。图3所示为DHT22的电路原理图,由于传感器内部含有放大和抗干扰电路,故在设计其电路图时,只需在数据输出引脚接一个上拉电阻,即可保证其输出信号的可靠性。
图3 DHT22电路原理图
2.光照传感器的硬件电路。图4所示为BH1750FVI电路原理图,由于BH1750FVI的供电电压最大为3.6V,故选取662K3V3电压转化芯片,将5V电压转变成3.3V电压为BH1750FVI供电,DVI为内部寄存器的异步重制端,采用这种接法是为了保证芯片供电以后,DVI有至少1μs为低电平。而I2C端口采用上拉电阻与串联电阻混接的方法,是为了保证3.3V与5V通信的可靠性[10]。
图4 BH1750FVI电路原理图
3.粉尘传感器的硬件电路。图5所示为粉尘传感器的电路原理图,由于DSL-03为集成式传感器,不需要额外的电子原件,只需5V供电,再将传感器的通用异步收发传输器引脚与下位机控制器相连即可。
图5 DSL-03电路原理图
(三)ZigBee控制器的硬件设计。如图6所示,ZigBee协调器与终端电路基本相同,故不作区分,均采用CC2530F256芯片为核心的控制器电路。CC2530F256芯片包含5路DMA、基于IEEE802.5.4协议的MAC定时器和通用定时器、8路可配置分辨率的12位ADC、21个通用I/O端口、IEEE802.15.4兼容无线收发器等部分,能够很好完成网络的数据交互[10]。
图6 ZigBee控制器电路原理图
(四)通信部分的硬件设计。图7所示为CH340G电路原理图。现行个人电脑已不配备COM接口,ZigBee协调器与个人电脑进行通信,可以通过串行接口转USB电路来实现,故本文以CH340G芯片为核心设计了串行接口转USB电路。CH340G支持USB 2.0接口,与微软系统的驱动程序完全兼容,波特率范围是50bps~2Mbps。其电路设计十分简单,通过晶体和电容即可完成[7]。
图7 CH340G电路原理图
(一)软件程序的总体设计。图8所示为装置程序的总体流程图。首先,对下位机控制器进行初始化设置;其次,检查DHT22、BH1750FVI、DSL-03这三种不同的传感器是否正常,如果有传感器未响应或工作不正常,系统将重新设置工作参数;当再次确认故障发生时,下位机控制器将信息通过ZigBee网络输送到上位机;如果系统正常,Arduino Mega 2560将采集温度、适度、光照强度和粉尘浓度等物理量,统一处理打包后,经ZigBee网络传输至上位机。
图8 装置程序总体流程图
(二)ZigBee数据收发子程序的设计。图9(a)所示为ZigBee协调器子程序流程图。首先对协调器进行初始化设置,之后开始尝试建立网络,由于本装置采用一个协调器对应多个终端的组网形式,因此ZigBee模块之间以广播方式进行通信。在尝试建网后,需要等待其他设备的反馈以检查网络的状态,若建网成功,则监测上位机的命令,得到命令后尝试与终端通信数据,得到数据后通过串口发送给上位机。
图9(a) ZigBee协调器子程序流程图
图9(b)所示为ZigBee终端子程序流程图。首先对终端进行初始化设置,之后开始尝试加入网络,在尝试入网后,需要等待其他设备的反馈以检查入网的状态,若入网成功,则监测协调器的命令,得到命令后尝试与下位机控制器通信数据,之后通过ZigBee网络以无线的方式发送给协调器。
图9(b) ZigBee终端子程序流程图
(一)登录界面的设计。登录界面如图10所示,在登录界面中用输入正确的用户名和密码后,点击确定显示正在登陆进度条,之后跳入终端选择界面;如图11所示,若输入错误信息,则弹出对话框提示信息错误。
图10 登录成功
图11 用户名错误
(二)数据监测界面的设计。用户通过终端选择界面点击想要查看终端序号后,则进入数据监测界面,如图12所示。在选定COM接口后,可以查看装置测量的温湿度和光强等信息,除仪表显示之外,粉尘浓度还支持波形显示,利于详细观察。此外上位机软件还支持数据Excel格式保存,利于用户事后详细分析[11]。
图12 数据监测界面
(一)装置测试。为了验证本装置测量的温度、湿度、光照强度、粉尘浓度的准确性,在某蔬菜温室对本装置进行了为期30天的实地测试。得到了如表1所示的测量效果表。实验表明,上位机与下位机之间能够有效地进行ZigBee无线通信来获取环境信息数据。
表1 装置的测量效果表
(二)误差分析。本装置以温度、湿度、光照强度、粉尘浓度的准确度,以及ZigBee模块的传输速率作为性能的衡量标准,经过多次测试,发现上述数据与实际值相比存在部分误差,其误差率均在2%以下。由于本设计主要应用在农业种植、居民庭院等对环境物理信息要求不严格的场景,误差率控制2%以内即可满足要求,故本设计实验误差在允许范围内,具体误差产生的原因包括以下几点:
1.传感器存在零点漂移和随机误差的影响,短时间内可以忽略,但长时内会影响数据的准确度。
2.软件上采用算术平均法虽在一定程度降低了数据误差,但只减少了错误数据的比重,并没有彻底消除,仍对精度产生影响。
3.在测量光照强度和粉尘浓度时,因光照传感器安装位置的变化和粉尘传感器风扇的旋转振动,也对装置的误差产生了一定影响。
4.ZigBee模块的传输距离和传输速率之间,以及上位机接收数据的准确性间存在矛盾关系,为了确保数据的准确性,ZigBee模块的传输速率与理论相比会存在的一定误差。
本文提出的基于ZigBee技术的小型环境监测装置主要用于监测温度、湿度和光照强等物理环境信息,其ZigBee网络中,单个协调器对应多个终端,协调器对各终端的采集环境信息进行收集与管理后发送至PC端,PC端通过USB转串口的形式连接协调器,与ZigBee终端通信并获取相关环境数据,并将其显示在通过Labview编写的软件上,通过上位机软件即可远端获得装置所在地的物理环境信息,从而方便用户对当地环境信息进行分析。