基于物联网的多参数水质监测系统设计

2020-10-09 02:55徐思维
自动化与仪表 2020年9期
关键词:浊度上位串口

徐思维,杨 帆,龙 坤

(武汉工程大学 电气信息学院 湖北省视频图像与高清投影工程技术研究中心,武汉430205)

随着社会的进步与发展,人们对饮用水、生活用水和养殖用水的水体质量都越来越关注。然而近几年来水体污染问题经常发生,这对工农业生产和人民的身体健康都产生了较大威胁[1],因此及时掌握水体的具体情况变得十分必要[2]。

在以往,对水体参数的采集通常使用人工方式测量与记录,该方式耗时费力,且采集到的数据具有偶然性,也不利于对水体水质进行综合分析。故在此设计了一套基于物联网的水质监测系统,该系统能够实时监测水体的温度、浑浊度、溶解性固体总量TDS(total dissolved solids)以及酸碱度(pH),并上传到LabVIEW 上位机生成变化曲线[3-5],同时还通过WiFi 模块将水质信息传输到机智云物联网平台服务器[6],用户可以通过OLED 显示屏、手机App、LabVIEW 上位机等3 种方式查看查看水质参数具体数值。该系统利用物联网技术解决了时间与空间的限制,便于在任何时间地点查看水质情况,具有较高的研究价值。

1 系统总体结构设计

基于物联网的水质监测系统下位机围绕STM32单片机展开工作;温度、浊度、TDS、pH 这4 个传感器模块用于采集水体参数信息;OLED 显示模块用于现场显示水体参数具体数值;USB 转串口模块负责串口与上位机间数据传输;云服务器负责接收和发送WiFi 模块传输过来的数据;手机App 负责远距离监测水质参数;LabVIEW 上位机负责电脑端水质数据监测并提供报警服务。系统总体结构如图1所示。

图1 系统总体结构示意图Fig.1 Diagrammatic sketch of the overall structure of the system

首先,STM32F103C8T6 单片机内部ADC 将pH、浊度和TDS 传感器采集的模拟信号转换为数字信号,由于温度传感器的输出为数字信号,因此无需A/D 转换。MCU 将转化后的数字信号发送至内部数据缓冲区,利用串行数据总线将数据传输到OLED显示屏实时显示,并通过USB 转串口模块将数据传输到LabVIEW 上位机。同时,MCU 通过USART3 把数据发送给WiFi 模块,WiFi 模块再通过TCP/IP 协议把数据发送至机智云物联网平台服务器保存,这时手机App 通过注册登录后绑定设备,就可以从服务器接收数据信息,从而查看水质参数。

2 系统硬件设计

2.1 STM32 单片机

主控模块选用STM32F103C8T6 微处理器,该单片机功耗小、成本低,功能丰富[7]。其内核为基于ARM 架构32 位的Cortex-M3 CPU,最高主频可达72 MHz,其具有64 kB Flash,20 kB 的SRAM,2 个12 位ADC,16 个ADC 采集通道,9 个片上通信接口,37 个快速I/O 端口,因而被广泛应用于各种低成本的嵌入式产品中。

2.2 浊度传感器模块

浊度传感器采用TSW-30 浊度模块。该模块供电电压为5 V,最大工作电流为40 mA,工作温度为-20~90 ℃。因该模块采集到的为模拟信号,需要STM32 单片机内置ADC 转化为数字信号才能被MCU 读取使用,在此选取STM32F103C8T6 的ADC1 的通道1 采集浊度参数,其对应单片机引脚为PA1。浊度传感器与主控模块STM32 单片机接线如图2所示。

图2 浊度传感器接线示意图Fig.2 Turbidity sensor wiring diagrammatic sketch

2.3 pH 值传感器及温度传感器模块

水体pH 值测量的pH 电极型号为E-201-C。该模块供电电压为5 V,测量pH 值范围为0~14,工作温度范围为0~60 ℃,测量精度为±0.1(20 ℃),响应时间小于1 min。由于pH 值受温度的影响较大,通常需要进行温度补偿,因此该模块自带温度传感器连接引脚T0。pH 值传感器与主控模块STM32 单片机接线如图3所示,其中引脚PA0 为STM32 单片机ADC1 的采集通道0。

图3 pH 传感器接线示意图Fig.3 pH sensor wiring diagrammatic sketch

在正常情况下,水体温度不会发生很大变化。若水温发生急剧变化通常是由于水体受到污染,因此水体温度也作为评估水质好坏的一个重要指标。温度传感器采用DS18B20 模块,该模块接3.3 V 供电,可检测温度最高达125 ℃,最低可达-55 ℃,测量精度可达±0.5 ℃。温度传感器与pH 传感器接线如图4所示。

图4 温度传感器接线示意图Fig.4 Temperature sensor wiring diagrammatic sketch

2.4 TDS 传感器模块

水体TDS 值测量采用SEN0244 型模拟TDS 传感器模块。该模块供电电压为5 V,工作电流范围为3~6 mA,模拟信号输出电压范围为0~2.3 V,TDS 测量范围为(0~1000)×10-6,测量精度为±5%。TDS 传感器与主控模块STM32 单片机接线如图5所示,PA2引脚对应为STM32 单片机ADC1 的采集通道2。

图5 TDS 传感器接线示意图Fig.5 TDS sensor wiring diagrammatic sketch

2.5 OLED 显示模块

由于系统需要显示数字、英文以及汉字,因此选用2.4384 cm 的OLED 显示屏。该显示屏采用IIC通信,仅需连接4 个引脚即可使用,非常方便。其与STN32 单片机接线如图6所示。

图6 OLED 显示模块接线示意图Fig.6 OLED display module wiring diagrammatic sketch

2.6 WiFi 及串口通信模块

WiFi 模块采用安信可公司的ESP8266-12F 模块。该模块兼容3.3 V 与5 V 电压输入,在此VCC接3.3 V 供电,GND 接地,GPIO0 接1 kΩ 上拉电阻默认设置为工作模式,TXD 串口发送引脚接单片机USART3 的接收引脚PB10,RXD 串口发送引脚接单片机USART3 的发送引脚PB11,RST 复位引脚默认接1 kΩ 上拉电阻,低电平时有效。WiFi 模块电路如图7所示。

图7 WiFi 模块电路Fig.7 WiFi module circuit

由于上位机与STM32 单片机的通信方式不同,因此需要USB 转串口模块实现两者间的通信功能。该模块TXD 与RXD 引脚与STM32 单片机USART1 的RXD 和TXD 引脚连接,从而实现把MCU内部数据缓冲区中的数据传输至上位机。USB 转串口模块电路如图8所示。V

图8 USB 转串口模块电路Fig.8 Circuit of USB to serial port module

3 系统软件设计

3.1 主控模块软件设计

系统主控模块软件部分的开发工具为Keil μVision5,编程语言为C 语言。主控模块软件主要有系统初始化程序、定时器中断程序、传感器信号采集程序、OLED 显示程序、WiFi 传输程序。当系统通电后首先会对系统各个模块执行初始化操作,即进行硬件驱动初始化,待初始化完毕后再调用传感器模块采集水体数据,采集的数据经MCU 处理后显示在OLED 显示屏和LabVIEW 上位机上。同时,若当前WiFi 连接正常,WiFi 模块会将经MCU 处理并封装的数据点协议报文发送到机智云平台服务器,此时可通过登录机智云手机App 实时查看各项水质信息。系统软件整体流程如图9所示。

图9 系统软件整体流程Fig.9 System software overall process

3.2 上位机软件设计

系统上位机软件基于LabVIEW 开发完成。该上位机显示界面采用图形化的方式展现出所测得的水体数据,操作界面也非常友好、简单,采用串口通信的方式实现与STM32 单片机间的数据传输。系统上位机可分为参数数值显示与参数预警设置2个部分,前者用于显示当前pH、TDS、浑浊度、温度的具体数值和曲线图,便于用户整体掌握水质的具体情况;后者用于设置水质参数上限值和水质数据的保存位置,并提供水体污染报警服务,提醒用户采取措施抑制水体污染。上位机部分程序框图如图10所示。

3.3 云平台及App 的设计与实现

由于自主搭建服务器的成本及难度比较大,因此选用机智云平台作为系统的服务器,机智云为一款致力于物联网、智能硬件云服务的开发平台。此次水质监测系统App 的开发工具为Android Studio。为了使用户更方便地开发手机App 并与云服务器对接,机智云公司提供了一套App 的开源框架,其框架内部已完成App 与云服务器的通信功能,用户只需根据自身功能需求在此框架上进行二次开发。

用户在打开手机App 后,会提示用户进行注册,在完成注册操作后让ESP8266 WiFi 模块进入Air-Link 模式,然后手机App 会搜索并与当前设备绑定,此时系统就会接入无线局域网络与服务器通信。App 显示界面如图11所示。

图10 部分程序框图Fig.10 Partial block diagram

图11 App 显示界面Fig.11 App display interface

4 系统测试结果与分析

为保证水质监测系统采集数据的准确性,需要对系统进行实际测试,下位机运行如图12所示。

测试试验选取PH-100 高精度pH 测试笔作为pH 值的标准检测仪器;选取SGZ-1000BS 便携式浊度仪作为浑浊度的标准检测仪器;选取格力TDS 检测笔作为TDS 与温度的标准检测仪器;选择实验室为试验地点,接取3 杯自来水,然后向这3 杯自来水中由少到多加入pH 值为4.0 的缓冲液、含磷化肥、干燥的泥土及90 ℃开水作为待测溶液,将待测溶液充分搅拌后静置10 s,再分别使用标准检测仪器、本文系统进行检测,得到的试验数据见表1。

图12 下位机运行Fig.12 Operation of lower computer

表1 水质参数测试数据Tab.1 Water quality parameter test data

表中,由标准检测仪器检测的数据为标准值,由本系统测量得到的数据为测量值;每种参数的3个数据自上而下对应于污染程度逐渐增加的待测溶液。

经过试验验证,采用所设计系统测量出来的水质参数与标准值间的误差均在3%以内,且上位机运行显示结果与下位机相同,由此表明该系统可以稳定地检测水质各项参数。上位机运行界面如图13所示。

图13 上位机运行界面Fig.13 Host computer operation interface

5 结语

通过试验验证,所设计的基于物联网多参数水质监控系统能够稳定运行,可以实现多种方式对水质参数的实时监测,且系统造价低,测量精度较高。另外,LabVIEW 上位机人机交互界面操作简单,功能较为丰富,手机App 显示界面较为直观,该系统能够满足用户的绝大部分需求。该系统还可以应用于水产养殖等需要监测水质的领域,具有较强的应用前景[8]。

猜你喜欢
浊度上位串口
高浊度水处理参数优化研究分析
丙烯酰胺强化混凝去除黑河原水浊度的研究
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
《中国药典》四部通则澄清度检查法中可能存在问题的探讨*
基于EM9000工控板高性能双串口通信模型设计与实现
青草沙水库浊度与悬浮颗粒物粒径的分布特征
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
特斯拉 风云之老阿姨上位
船舶电子设备串口数据的软件共享方法
基于ZigBee和VC上位机的教室智能监测管理系统