钱 颖,杜 亮,闫 翔
(无锡科技职业学院,江苏 无锡 214028)
随着工业的快速发展,水污染问题日益严重,已引起了大众的关注[1-2]。用水安全问题尤为重要,这就需要开展水质检测工作。传统的人工取样检测方式费时费力,不利于及时发现水质污染[3]。为了实时、准确地监测水体质量,本文设计的水质监测系统采用无线传输方式,解放了人力,实现了手持式监测,符合当前的市场趋势。该水质监测系统可以运用在很多领域,例如可以安装在家中,让用户实时了解家中的水质情况,保证饮水安全。系统采用太阳能供电,能满足用户在室外使用的需求,例如可以用于景观池水质监测、农业灌溉用水监测。
本文设计的水质监测系统主要有5个方面的功能:一是系统能对温度、pH值、浊度等水质参数进行检测,数据在显示屏上动态显示;二是系统搭载蓝牙通信模块,可实现监测数据的无线传输;三是开发了一款手机App,监测数据通过无线模块进行传输后,用户可以通过手机实时监测当前的水质情况;四是系统能满足在室内使用和室外使用的不同需求;五是系统具有可扩展性,能根据用户需求接入其他监测传感器。系统框架见图1。
图1 系统框架
对应系统的功能实现,本设计采用的技术路线如下。
1)主控电路采用STM32F103C8T6作为控制芯片,外围电路包括电源模块、温度检测模块、pH值检测模块、浊度检测模块、蓝牙通信模块、OLED显示模块等;程序开发基于Keil MDK开发环境,可实现数据采集、数据显示、无线通信等功能。
2)手机端App监测软件采用基于易语言的E4A编程软件开发。E4A是面向对象的可视化操作平台,支持界面可视化编辑操作和编程的可视化。用户端手机App操作界面友好,易安装、易使用。
3)供电接口采用USB连接方式。USB接口使用灵活、兼容性强,便于系统在室内和室外工作时供电方式的切换,能满足不同场合的供电需求。
4)该系统的核心部分完成后可根据客户的需求进行定制,预留了扩展口,可以根据客户需求接入更多传感器。
本系统的硬件电路设计采用了模块化设计思路,模块化的设计在系统功能的更新换代方面有很大的优势。如果某一模块功能落后或者损坏,只要摘除相应的模块,整个系统又可以重新使用,也可以更好地实现系统的功能升级和扩展[4]。本系统的硬件电路部分由主控模块、电源模块、温度检测模块、pH值检测模块、浊度检测模块、蓝牙通信模块和OLED显示模块组成。
本系统的软件程序采用C语言编写,为便于程序的修改、维护和扩展,运用模块化设计思想把程序分割成不同的功能模块。根据硬件设计,程序由主程序、显示模块子程序、温度检测模块子程序、pH值检测模块子程序、浊度检测模块子程序、蓝牙模块子程序和存储模块子程序构成。主程序在运行后先进行系统初始化,然后调用相关子程序来实现水质参数采集、检测数据显示、无线通信及数据存储等功能。
2.2.1 主控模块和电源模块
主控器件采用STM32F103C8T6芯片,它控制并维持整个系统的正常运转,在整个系统中处于核心位置。主控模块的电路连接见图2。在图2中,STM32F103C8T6的通信串口PA2和PA3与蓝牙模块相连接,实现监测终端App和主控模块之间的通信;PA11、PA1、PB3端口分别与温度传感器模块、pH值检测模块、浊度检测模块相连接,实现与检测模块的通信;PA5、PA6端口与显示模块相连接,实现对显示屏的控制。
图2 主控模块电路连接图
电路中STM32F103C8T6芯片需要的工作电压为2~3.6 V,其他模块均采用5 V电压供电,所以USB输出的5 V电压要分为两路,一路给需要5 V电压的模块供电,一路经过降压处理给STM32F103C8T6芯片供电。采用的电源降压处理芯片为AMS1117-3.3V,经过降压处理,能使得输出电压为3.3 V,为主控芯片供电。电源模块电路见第32页图3。
图3 电源模块电路连接图
2.2.2 通信模块和显示模块
本系统选用蓝牙通信来实现无线传输功能,模块为HC06。蓝牙通信模块将水质监测硬件电路和终端设备(有蓝牙功能的手机或平板电脑)相连。蓝牙通信模块的TXD、RXD与STM32主控模块的PA2、PA3相连接。用户可以通过蓝牙模块上LED灯的状态得知模块是否已经连接到终端设备上。
显示模块显示传感器检测模块监测到的水质数据,选用OLED显示屏。该模块使用的工作电压为5 V,使用总线通信协议,模块的SCL端和SDA端分别与STM32控制模块的PA6和PA5相连,显示屏显示当前水质参数信息。
2.2.3 传感器检测模块
传感器检测模块由温度检测、pH值检测和浊度检测组成。测温探头采用DS18B20温度传感器芯片,温度范围为-55~+125℃,适合水体测量使用[5]。芯片每个引脚均采用热缩管隔开,防止短路,内部封胶。芯片的I/O口和STM32单片机的PA11引脚连接就可以实现双向通信,需上拉一个10 kΩ电阻保证信号传输的稳定性。pH值传感器采用雷磁E-201-C型,pH值的测量范围为0~14。测试前需取下电极的保护套,观察敏感球泡内是否全部充满液体,如果发现有球泡,则应该将电极轻轻甩动以达到清除气泡的目的,从而提高测量精度。pH值检测模块和STM32模块的PA1引脚相连,实现通信。浊度传感器选用TSW-20MK型。需要注意的是,本模块不能整体放入水中,只能放入透明的部分。浊度检测模块与STM32的PB3引脚相连,实现通信。
系统工作时,STM32单片机将采集到的温度检测模块输出的串行9~12位数字量经过换算得到温度值,将采集到的pH值检测模块输出的电压值经过换算得到pH值,将采集到的浊度检测模块输出的电压值经过换算得到浑浊度值。系统把这些检测结果定时通过蓝牙通信模块发送给终端设备,以此来实现对温度、pH值、浑浊度的实时监测。
本系统在设计时同步开发了一款移动App。易语言是面向对象的可视化全中文编程平台,由于易学易用,被广泛应用于开发各类中小型应用软件,因此本设计采用易语言开发App。在手机端使用基于易语言的E4A安卓编程软件开发了移动监测App,可以通过手持式移动终端实时监测水质情况。
基于本设计焊接制作完成的主控电路及整套可扩展的双电源水质监测系统见图4。
图4 主控电路及整套系统
使用时需要在手机上先下载水质监测App并进行蓝牙配对连接。蓝牙连接成功后可进行数据传输,App界面上显示当前时间和连接状态。将温度传感器、pH值传感器、浊度传感器放入被测水体后,检测结果在OLED屏幕上显示,同时通过蓝牙传输,App上同步显示当前温度、pH值、浊度等参数信息,见图5。
图5 功能测试结果
在测量过程中,App端数据会动态刷新。若在室内对水体进行检测,通过USB供电接口连接稳压电源。若在户外使用该系统,切换太阳能电池供电,并使用太阳能充电控制器实现太阳能独立供电。在室内和室外的多次实验测试显示,该双电源水质监测系统运行可靠、传输稳定、测量准确。
本设计中采用的温度检测、pH值检测、浊度检测适用于大多数场合。对于一些用户特定的需求,通过预留的可配置I/O口可以灵活地扩展所需要的检测模块。例如,可以扩展水流量传感器,用于饮水机、售水机、热水器、智能水表等的水流量检测,扩展后可满足用户进行水质检测与水流量检测的双重需求;可以扩展溶解氧传感器,当水体发生富营养化时,水藻会加快繁殖,悬浮颗粒会增加,水体透明度会下降,溶解氧检测能反映水体富营养化的问题,可结合温度、pH值、浊度检测满足水产养殖水体要求较高的需求。
可扩展的双电源水质监测系统的设计涉及电子技术、通信技术及新能源领域,是一个综合性较强的设计。该系统选用STM32单片机,采用高精度传感器实现多参数的水质检测;搭载蓝牙通信模块,实现监测数据的无线传输;开发了一款移动App,用户能通过移动终端在线监测水质情况;具有双电源供电功能,能满足在室内使用和室外使用的不同需求;采用了模块化设计,可根据用户需求进行功能扩展。该系统运行稳定可靠,具有较好的应用前景和推广价值。