一种基于聚类算法的多功能水下水质自动监测系统及监测方法与流程

文档序号:16743149发布日期:2019-01-28 13:12阅读:273来源:国知局
一种基于聚类算法的多功能水下水质自动监测系统及监测方法与流程

本发明涉及水质监测装置和方法,尤其是涉及一种基于聚类算法的多功能水下水质自动监测系统及监测方法。



背景技术:

随着工业的发展,水质污染越来越严重,化学需氧量(cod)与含氮量、ph值均能反映水中受还原性物质污染的程度,是衡量环境质量的重要标准,目前,水质的测定传统方法一般采用化学方法,主要采用重铬酸钾标准法、库仑滴定法,根据水质氯离子浓度的不同其监测方法也不同,淡水一般使用重铬酸钾法、酸性高锰酸钾法,海水使用碱性高锰酸钾法。但这些传统方法都存在试剂用量大,二次污染严重、测试时间长、操作步骤繁杂、测量对象单一、自动化程度低的缺点,已不适应现代化的市场需求。

水质测量的分光光度测量法是在滴定法的测量基础上进行的,使用吸收光谱原理,根据溶液内滴定完成后试剂内离子含量多少,分别采用不同波长的紫外光源测量不同浓度的水质待测溶液的吸光度,因此依据所得吸光度工作曲线,可以表示出水样中化学需氧量、含氮量、ph值。分光光度测量法是滴定法的一种改进,节省试剂,操作方便。但现存的仪器大多只能测量水质的一种参数,而不能完成多参数的统一测量,这也导致了水质测量结果的片面性及不准确性,因此如何研究一种新型的支持多参数同时测量的水质监测仪器迫在眉睫。

市场现存的基于分光光度法的水质监测仪一般需要配套相应生产公司的专用试剂,且必须要人为的滴定试剂,需要人工取样,人工操作完成各个水质监测步骤,因此浪费了大量的人力物力财力,且取得的水样单一,不能体现不同深度的水域环境下的水质情况,监测结果不理想,而且水质监测仪器在不同测量环境下的兼容能力很差,对于水域环境的实际测量片面,测量速度及精度有待提高,且仪器价格昂贵、体积巨大操作步骤复杂不便于实际应用。故如何实现集多功能、价格低廉、数据动态存取与离线处理、现场测量与远距离监测、人工测量与自动化测量、不同水深水质测量、测量简单精确、快速便携于一体是水质监测仪器所面临的迫切问题之一。



技术实现要素:

发明目的:一个目的是提供一种基于聚类算法的多功能水下水质自动监测系统及监测方法,以解决现有技术与应用存在的上述问题,扩展水质监测仪功能,改进水质监测仪对不同水深下的多个参数的自动化测量功能及野外测量功能。

技术方案:为实现上述发明目的,本发明采用以下技术方案:

一种基于聚类算法的多功能水下水质自动监测系统,包括上位机和监测仪,上位机包括labview界面设计部分及python数据处理部分,上位机通过labview设计gui界面,借助内部接口函数调用python函数采用聚类算法完成样本数据处理,监测仪包括可伸缩固定支架、盒体、下位机、滑动模块和电源模块。其中:

可伸缩固定支架下端固定于水中,用于固定整个监测仪;

盒体密封,顶端开有一孔,盒体外部置有一个测量开关,盒体内壁设有防水层,且下位机和电源模块位于防水层里面;

下位机内置于盒体内,用于控制滑动模块和采集水质参数数据,并将采集的水质参数数据上传至上位机;

滑动模块用于连接盒体与可伸缩固定支架;

电源模块内置于盒体内,包括直流电源驱动模块和电压放大模块,直流电源驱动模块输出与电压放大模块输入连接,电压放大模块输出端分别与各模块电源输入端连接,为监测仪各模块供电;

下位机控制滑动模块,使盒体在垂直方向上上下移动,进而采集不同水深的多个水质参数。

可选的,可伸缩固定支架包括上下两节不锈钢铁管,上节为伸缩节,下节为固定节,伸缩节下端带有一个弹簧插销,固定节上分布有多个与弹簧插销配合的固定孔,当把弹簧插销插到不同的固定孔时,整个可伸缩固定支架具有不同的高度,伸缩节和固定节通过弹簧插销和固定孔固定连接。

可选的,下位机包括单片机、多通道分光光度测量水质模块和数据存取模块,多通道分光光度测量水质模块测量水质信息转换为电信号,然后输出至单片机进行处理,单片机处理后将数据输出至数据存取模块,由上位机从数据存取模块读取数据。

可选的,单片机包括控制单元、外部rtc、外部晶振、信号调理放大电路和多通道adc转换模块,多通道分光光度测量水质模块包括固定底座、双通道分光光度器、试管固定装置、硅光电池传感器1、硅光电池传感器2、紫外光源1、紫外光源2、滴定槽和水阀,双通道分光光度器固定在固定底座上,在试管固定装置内壁设有光路通断开关,用于盛放待测试剂的试管放置在试管固定装置内,且试管开口正对盒体顶部开孔,水阀设置于试管固定装置上端,当待测水质灌满至液面在水阀以上时,控制单元控制水阀闭合,打开滴定槽滴定当前试管内的水质;外部rtc和外部晶振均与控制单元连接,控制单元通过输出pwm波控制两个紫外光源发出不同强度及频率的紫外光,紫外光分别经过分光光度器内部通道照射到对应的硅光电池传感器上,然后光信号经过硅光电池传感器转换为电信号,并输入信号调理放大电路对该电信号进行放大处理,最后经过多通道adc转换模块输入控制单元处理。

可选的,数据存取模块包括sd卡数据动态存取模块和eeprom数据缓存模块,sd卡数据动态存取模块分别与控制单元和上位机双向连接,eeprom数据缓存模块与控制单元连接。

可选的,滑动模块包括步进电机、定滑轮与动滑轮,定滑轮固定在可伸缩固定支架的上端,动滑轮固定于盒体靠近可伸缩固定支架一侧的外侧壁上,并与可伸缩固定支架相连接,步进电机固定在盒体上部,由定滑轮引出的牵引线套接在步进电机输出轴上,单片机控制步进电机顺时针或者逆时针转动,带动盒体在垂直方向上上下移动,且动滑轮随盒体上下移动。

本发明另一实施例中,一种基于聚类算法的多功能水下水质自动监测系统的监测方法,包括以下步骤:

(1)开始测量前先调试监测仪:将可伸缩固定支架长度调整到适应当前水位的高度,将可伸缩固定支架插入水下,插稳固定;

(2)判断测量开关是否被打开,若测量开关已打开,则给控制单元输入当前水深及盒体每次下降单位高度值,并执行步骤(3);若否,则继续执行步骤(2);

(3)开始监测前,判断当前已下降高度是否大于等于输入的水深值,若在开始监测前就发现当前已下降高度大于等于输入的水深值,则说明步骤(2)输入有误,需要返回步骤(2)重新输入当前水深及盒体每次下降单位高度值;若否,则执行步骤(4);

(4)控制单元控制步进电机正转,使盒体下降一个单位高度值,并监测当前水深位置的不同水质参数值;

(5)一次测量结束,控制单元重新计算并判断当前已下降高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水底,返回步骤(4)执行;若是,则执行步骤(6);

(6)控制单元控制步进电机反转,使盒体上升一个单位高度值;

(7)控制单元计算并判断当前已上升高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水面以上,返回步骤(6)执行;若是,则表示盒体已经到达水面以上,控制单元将测量结果存入数据存取模块,本次测量结束;

(8)待测量结束后,将数据存取模块连接到上位机上,labview通过内部函数接口读取数据存取模块内部存储的数据作为待处理的样本数据集,labview通过内部接口函数调用python函数采用聚类算法完成样本数据处理,并通过labview设计gui界面进行显示。

进一步的,步骤(4)中监测当前水深位置的多个水质参数值的方法为:

(1)当盒体到达既定位置后,控制单元控制打开水阀,让外界水质顺着盒体上方的进水口流入试管内,若灌入的水质水面到达水阀以上,控制单元控制水阀关闭,达到取水样的目的;

(2)控制单元根据当前需要测量的水质参数控制滴定槽用不同的试剂滴定当前水样,滴定完成后关闭滴定槽;

(3)控制单元输出频率为i的pwm波到紫外光源,使其发出相应频率及强度的紫外光,采用分光光度法测量当前水质参数α,用两个硅光电池传感器分别测n次,去掉最大值及最小值后取其平均值,并将当前水质参数结果分别存储在sd卡内;其中水质参数α为水质的cod浓度、含氮量或ph值,i表示获取到当前水质参数α所需要的pwm波的频率。

进一步的,步骤(8)中上位机采用聚类算法对样本数据进行处理,具体包括:

系统借助labview直接调用python接口函数打开python控制台,借助python内置的scikit-learn包内kmeans函数编码聚类算法程序,当接口正常连接,打开pyhon控制台后,需要先导入通过数据存取模块输入到上位机部分的不同位置、不同水深处的水质监测数据集作为样本数据集d,通过用户输入的k值,从d中随机选择k个样本作为初始均值向量,计算数据集中的每个样本数据与均值向量内的各个子向量之间的距离,距离度量函数采用高斯函数计算:dij=||xj-ui||2,1≤i≤k,1≤j≤m,其中,dij表示样本数据与均值向量之间的高斯距离,xj表示待划分地样本数据,ui表示经过聚类形成的样本簇,将样本xj划分到距离最近的簇中,然后重新计算新的均值向量,并判断与之前的均值向量是否一致,若一致则聚类完成,样本数据集被划分成k个簇,若不一致则重复上面的计算步骤,直到均值向量不再变化为止。

有益效果:与现有技术相比,本发明采用了多通路的分光光度法测量不同水深处的cod、含氮量、ph值,实现仪器自动化、避免二次污染、节约成本、提高水质监测准确度及全面性的同时,节省了大量人力物力财力,同时,仪器支持现场测量、远程监测,尤其适用于野外水质测量;仪器通过采用多通道测量不同水质参数,有效的减少了无关因素对于水质测量的干扰,使测量更加精确快速;引入sd卡数据动态存取功能,使操作更加简单方便。

同时,现存的水质监测仪器只完成了单一的数据采集功能,对于后期的数据处理并没有太多的涉及,且由于水质监测的参数众多,难以对样本数据添加合适的标签以评估水质的好坏,机器学习领域的聚类算法适用于无标签数据集的分类及数据处理工作,通过对无标记训练样本的学习来解释数据内在性质及规律,既可以用于寻找数据内在的分布结构,也可作为分类等其它学习任务的前驱。同时仪器体积小方便携带,且价格低廉,更加贴近于实际应用,一定程度上满足了工业与个人需求,有助于进一步改善环境污染问题,具有很高的社会实用价值与环保价值。

附图说明

图1是本发明监测仪结构示意图;

图2是本发明监测仪电路连接示意图;

图3是本发明的测量流程图;

图4是本发明的测量不同水质参数的方法流程图;

图5是本发明的聚类算法原理图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进行详细的说明。

本发明实施一种基于聚类算法的多功能水下水质自动监测系统及监测方法,能够实现多通道分光光度法测量不同水深处水质cod浓度、含氮量、ph值,自动化完成不同水深处的水质取样、滴定、参数测量、sd卡数据动态存取、现场测量及离线监测与数据处理功能。其中stm32f103rbt6为主芯片(即控制单元,下同),协调各模块有序工作。

一种基于聚类算法的多功能水下水质自动监测系统,包括上位机和监测仪,上位机包括labview界面设计部分及python数据处理部分,上位机通过labview设计gui界面,借助内部接口函数调用python完成样本数据处理,所述样本数据是从数据存取模块读取到上位机的、由多个测量得到的水质参数组成的数据集,并随着新的水质参数的增加,此数据集是动态可变的。监测仪包括可伸缩固定支架、盒体、下位机、滑动模块和电源模块。仪器测量自动化,测量参数全面,测量结果简单精确,尤其适合于离线水质监测与野外不同水深处水质监测。其中,可伸缩固定支架下端固定于水中,用于固定整个监测仪;盒体密封,顶端开有一孔,盒体外部置有一个测量开关,盒体内壁设有防水层,且下位机和电源模块位于防水层里面;下位机内置于盒体内,用于控制滑动模块和采集水质参数数据,并将采集的水质参数数据上传至上位机;滑动模块用于连接盒体与可伸缩固定支架;电源模块内置于盒体内,包括直流电源驱动模块和电压放大模块,直流电源驱动模块输出与电压放大模块输入连接,电压放大模块输出端分别与各模块电源输入端连接,为监测仪各模块供电。

如图1和图2所示,基于聚类算法的多功能水下水质自动监测仪,其中,可伸缩固定支架由两节高度可调节的不锈钢铁管组成,可根据水深调节其长度,所述可伸缩固定支架可调的长度足够长且保证最高点超过水面至少一个盒体高度的距离,从而保证盒体在初始位置时是在水面之上的;可伸缩固定支架分为上下两节,上节为伸缩节,下节为固定节,伸缩节下端带有一个弹簧插销,固定节上每隔相同距离分布有多个固定孔,把弹簧插销插到不同的固定孔时,整个可伸缩固定支架具有不同的高度,需要调节高度时只需要将弹簧插销摁到固定孔内则可以上下移动伸缩节,调节可伸缩固定支架高度。当盒体需要下降时,只需要控制步进电机转动,则盒体会通过定滑轮及动滑轮沿着可伸缩固定支架下降一段距离。

所述盒体只有进水口处有开口,其余四面均密封,且在盒体内置防水层防止仪器进水损坏电路,盒体内设置有下位机和电源模块,盒体上部还设置有测量开关,用于启动和关闭监测仪;盒体通过滑动模块与可调节固定支架相连。

所述下位机包括单片机、多通道分光光度测量水质模块和数据存取模块,单片机作为仪器的核心板,置于盒体底部,分别与其它模块相连,完成数据处理与命令控制,所述单片机包含控制单元、外部rtc、外部晶振、信号调理放大电路和多通道adc转换模块,所述多通道分光光度测量水质模块包括固定底座、双通道分光光度器、试管固定装置、硅光电池传感器1、硅光电池传感器2、紫外光源1、紫外光源2、滴定槽和水阀,双通道分光光度器固定在固定底座上,在试管固定装置内壁设有光路通断开关,用于盛放待测试剂的试管放置在试管固定装置内,且其开口正对盒体进水口,水阀设置于试管固定装置上端,当待测水质灌满至液面在水阀以上时,控制单元控制水阀闭合,打开滴定槽滴定当前试管内的水质;外部rtc和外部晶振均与控制单元连接,控制单元通过输出pwm波控制两个紫外光源发出不同强度及频率的紫外光,双通道分光光度器中部开有两个交叉放置的光通道,光通道的两端分别放置紫外光源以及硅光电池传感器,紫外光分别经过分光光度器内部通道照射到对应的硅光电池传感器上,然后光信号经过硅光电池传感器转换为电信号,然后输入信号调理放大电路对该电信号进行放大处理,最后经过多通道adc转换模块输入控制单元处理;采用两个紫外光源可分别测量不同数据范围的水质参数,滴定槽内放置有不同的足量滴定试剂,用于滴定水质原液形成待测试剂,水阀与控制单元的引脚直接相连并由控制单元直接控制其开闭。所述控制单元采用arm处理芯片stm32f103rbt6,所述信号调理放大电路包括由opa2336ua芯片组成的电压放大电路以及阻容滤波电路,用于模拟信号的放大及滤波;所述多通道adc转换模块搭载了ad7705高精度模数转换芯片,采集精度可达16位,采用spi方式与控制单元通信,并采用dma方式,实现多通道信号同时采集。

所述数据存取模块包括sd卡数据动态存取模块和eeprom数据缓存模块,sd卡数据动态存取模块分别与控制单元和上位机双向连接,所述eeprom数据缓存模块与控制单元连接;完成数据的离线存储。所述电源模块内置于盒体内,包括直流电源驱动模块和电压放大模块,直流电源驱动模块输出与电压放大模块输入连接,电压放大模块输出端分别与各模块电源输入端连接,为仪器各模块供电。所述电压放大模块由直流电源驱动模块供电,根据多个pt1301芯片分别设计放大电路,分别为不同模块提供工作电压。所述直流电源驱动模块由两节1.5v干电池组成。

所述滑动模块包括步进电机、定滑轮与动滑轮,定滑轮固定在可伸缩固定支架的顶端,动滑轮固定于盒体靠近可伸缩固定支架一侧的外侧壁上,并与可伸缩固定支架紧密贴合,步进电机固定在盒体上部,由定滑轮引出的牵引线套接在步进电机输出轴上,若步进电机顺时针或者逆时针旋转则会带动盒体在垂直方向上移动,动滑轮在垂直方向上上下移动,动滑轮在随盒体上下移动的同时,起到润滑盒体移动以及将盒体固定到可伸缩固定支架上的作用。其中,步进电机固定端被焊接在盒体左上方,盒体通过滑动模块与可伸缩固定支架连接,通过控制步进电机转动,达到调整自身高度、测量不同水深处的水质情况的目的。

如图3所示,基于聚类算法的多功能水下水质自动监测仪整体监测水质的方法如下:

(1)开始测量前先调试监测仪:将可伸缩固定支架长度调整到适应当前水位的高度,将可伸缩固定支架插入水下,插稳固定;

(2)判断测量开关是否被打开,若测量开关已打开,则给控制单元输入当前水深及盒体每次下降单位高度值,并执行步骤(3);若否,则继续执行步骤(2);

(3)开始监测前,判断当前已下降高度是否大于等于输入的水深值,若在开始监测前就发现当前已下降高度大于等于输入的水深值,则说明步骤(2)输入有误,需要返回步骤(2)重新输入当前水深及盒体每次下降单位高度值;若否,则执行步骤(4);

(4)控制单元控制步进电机正转,使盒体下降一个单位高度值,并监测当前水深位置的不同水质参数值;

(5)一次测量结束,控制单元重新计算并判断当前已下降高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水底,返回步骤(4)执行;若是,则执行步骤(6);

(6)控制单元控制步进电机反转,使盒体上升一个单位高度值;

(7)控制单元计算并判断当前已上升高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水面以上,返回步骤(6)执行;若是,则表示盒体已经到达水面以上,本次测量结束;

(8)待测量结束后,将数据存取模块连接到上位机上,labview通过内部函数接口读取数据存取模块内部存储的数据作为待处理的样本数据集,labview通过内部接口函数调用python函数采用聚类算法完成样本数据处理,并通过labview设计gui界面进行显示。

参见图4,所述步骤(4)中测量不同水质参数的具体方法及步骤为:

(41)当盒体到达既定位置后,控制单元控制打开水阀,让外界水质顺着盒体上方的进水口流入试管内,若灌入的水质水面到达水阀以上,控制单元控制水阀关闭,达到取水样的目的;

(42)控制单元根据当前需要测量的水质参数控制滴定槽用不同的试剂滴定当前水样,滴定完成后关闭滴定槽;

(43)控制单元输出频率为i的pwm波到紫外光源,使其发出相应频率及强度的紫外光,采用分光光度法测量当前水质参数α,用两个硅光电池传感器分别测n次,去掉最大值及最小值后取其平均值,并将当前水质参数结果分别存储在sd卡内;其中水质参数α为水质的cod浓度、含氮量或ph值,i表示获取到当前水质参数α所需要的pwm波的频率。

参见图5,聚类算法是机器学习领域一种常见的无监督学习算法,适用于训练样本的标记时未知的情况,目标是通过对无标记训练样本的学习来揭示样本数据的内在性质及规律,为进一步的数据分析做准备,其本质是将样本数据集划分为若干互不相交的子集,即样本簇,其聚类结果好坏通过簇内相似度与簇间相似度来评判,在此系统中采用k-means均值算法完成聚类,将样本数据分成若干簇,分类结果通过labview用户界面显示,经过聚类算法处理过后的样本数据,会根据水质内部参数特性自动聚在一起,形成k个样本簇,用户可根据生成的样本簇对不同地点不同深度的水质进行划分,有区别的判断不同水质污染情况,也可以通过对水质较差区域或水深的样本簇进行分析,发现这一区域水质污染主要的影响因素是水质的哪种参数(cod、ph、含氮量等)、水质污染较严重的区域一般存在于水的哪一层深度位置,k值由用户自己输入指定。

上述步骤(8)中,上位机采用聚类算法对样本数据进行处理,具体包括:

系统借助labview直接调用python接口函数打开python控制台,借助python内置的scikit-learn包内kmeans函数编码聚类算法程序,当接口正常连接,打开pyhon控制台后,需要先导入通过数据存取模块输入到上位机部分的不同位置、不同水深处的水质监测数据集作为样本数据集d,通过用户输入的k值,从d中随机选择k个样本作为初始均值向量,计算数据集中的每个样本数据与均值向量内的各个子向量之间的距离,距离度量函数采用高斯函数计算:dij=||xj-ui||2,1≤i≤k,1≤j≤m,其中,dij表示样本数据与均值向量之间的高斯距离,xj表示待划分地样本数据,ui表示经过聚类形成的样本簇,将样本xj划分到距离最近的簇中,然后重新计算新的均值向量,并判断与之前的均值向量是否一致,若一致则聚类完成,样本数据集被划分成k个簇,若不一致则重复上面的计算步骤,直到均值向量不再变化为止,实际操作中直接用kmeans函数可代替上面的计算步骤完成聚类任务。

总之,本发明采用stm32实现了多通路的分光光度法测量不同水深处的cod、含氮量、ph值,实现仪器自动化、避免二次污染、节约成本、提高水质监测准确度及全面性的同时,节省了大量人力物力财力,同时,仪器支持现场测量、远程监测,尤其适用于野外水质测量;仪器通过采用多通道测量不同水质参数,有效的减少了无关因素对于水质测量的干扰,使测量更加精确快速;引入sd卡数据动态存取功能,使操作更加简单方便同时仪器体积小方便携带,且价格低廉,更加贴近于实际应用,一定程度上满足了工业与个人需求,有助于进一步改善环境污染问题,具有很高的社会实用价值与环保价值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1