基于Arduino的家用在线智能水质监测仪设计
2019-10-11许仕海李姮陈千祥李勇华徐凤莲袁以坤
许仕海 李姮 陈千祥 李勇华 徐凤莲 袁以坤
【摘 要】为能实时方便了解家庭饮用水源质量,设计了一个基于Arduino的小型家用水质监测仪。该监测仪利用物联网技术可智能化采集水体的浊度、TDS、硬度、电导率、PH值等关键水质参数数据,并实现云端存储传输。通过此设计,用户能够即时在手机或PC端通过应用程序在线查看实时与历史水质情况,从而实现家庭用户对饮用水质的在线智能监测。此外,本设计对于城市水质监测、相关部门的调研都有着重要辅助作用。
【关键词】Arduino;水质监测;物联网技术
中图分类号: TP216 文献标识码: A 文章编号: 2095-2457(2019)22-0014-002
DOI:10.19694/j.cnki.issn2095-2457.2019.22.005
0 引言
家用净水器中净化水质的滤芯具备一定使用周期,长期使用的滤芯会产生杂质或污垢而造成二次污染,在一定程度上会危害人体健康,故必须及时对滤芯进行维护或更换。对此,净水器厂商大都会依据固定的经验给用户提供更换滤芯的参考时间,而非直接使用除垢与消毒。实际上,滤芯的使用寿命与水质情况、使用时间、用水量及产品维护等均密切相关,更换的时间不能一概而论。因此,当前国内急需一种能够提供可靠水质数据采集、检测的水质检测产品,能为用户提供更好的用水安全保障,同时便于辅助政府布局相关措施。
1 总体设计方案
本项目设计的一种家用在线智能水质监测仪以Arduino开源硬件开发板为基础,可选择手动或定时的方式通过物联网技术实时获取水的浊度、TDS、硬度、电导率、PH值[1]等重要参数,同时采用水流冲刷供电以确保设备的续航,以此实现关键水质参数的实时智能检测;通过无线传输将实时采集的水质数据上传至云端服务器保存,再将其整理分类上传至相应的基础数据库,以便用户能在手机或PC端访问应用程序在线查看实时和历史水质情况。以此工作原理设计的监测仪系统结构如图1所示。
1.1 水流发电电源
本项目设计的家用在线智能监测仪系统整体以锂电池供电为主,同时选用水流发电方式为锂电池充电。监测系统备有充电和放电两组锂电池,一组放电,另一组充电,另外设计了满电提示与自动断电的充电电路。以大多数家庭水用管道的口径和水流速度为参考,对于水流发电电路,通常采用微型管道式直流水力发电机,而发电机输出的电压值主要取决于水压大小,范围较宽泛,不带稳压电路直流输出峰值电压可高达80V;对于锂电池充电电路,以不损坏电池内部结构和确保良好的电池平衡充电为设计原则,则需设计具备恒定电压值和涓流的充电电路,或者给锂电池附加电源管理芯片,确保充电过程不损伤锂电池,达到充电电路能够对锂电池起保护作用以延长使用寿命[2]的目的。通常,为能有效地保护锂电池,需要在水流发电机输出端设计一个稳压电路,将其电压稳定到12V再传递到后级电路。该稳压电路的输入直流电压高于所需充电电池电压3V即可,其包含有满电提示、调压和调流电路。Q3、R4、LED构成充电指示电路,随着被充电锂电池电压逐渐上升,充电电流越来越小,当电池充满后大功率电阻R1上的电压逐渐下降,从而使三极管Q3截止,LED将熄灭以提示用户更换电池。该电路可以空载,两端开路即可。以TL431为中心组成精密调压的电路,选用BD138、滑动变阻器R5和R7构成调流恒流电路。为进一步完善电源电路功能,可在电路后增加设计一个电池充电控制模块,达到满电自动断电或者欠压保护等目的。
1.2 在线水质采样
选用蠕动泵作为水样传输装置完成在线水体采样。蠕动泵的工作原理是在步进电机的带动下,压辊子相继碾过弹性软管,形成交替的挤压和释放动作,挤压作用在软管中产生真空,由压差将液体吸入软管,完成水样泵送样过程。
1.3 主控检测电路
考虑系统的通用性和功能的易拓展性,该监测仪的硬件部分由优化改进设计的Arduino UNO主板、检测模板电路及显示电路3个部分构成。系统使用ATMEGA328P微控制器采集浊度检测电路、TDS各模塊检测电路测量用户所需的水质指标,再通过OLED数字液晶屏显示,最后将数据打包上传至云端服务器。
主控检测电路分为浊度检测模块、TDS检测模块、PH值检测模块电路。其中,浊度检测模块包含中心波长为680nm的LED光源、Nexperia半导体公司的PSSI2021SAY单芯片恒流源、TAOS公司的集成式光电芯片TSL2581。以现行国家标准《水质-浊度的测定》(GB 13200-91)规定的浊度测定方法为参考[3],采用标准曲线法完成浊度测定;TDS检测模块通过检测水的TDS值并输出模拟信号给Arduino处理器处理,经过A/D转换后得出对应值;再通过TDS值与硬度的换算关系式可估算出水的硬度,两者间转换计算公式反映了各个不同的TDS值与水硬度的对应关系;PH值检测模块包含检测PH值和温度的功能,分别采用电极法、热敏电阻法检测出的PH值和温度值,通过串口通讯的方式传送给Arduino处理器,经过处理转换后即可得出相应数值。
显示电路用于显示测量出的水质相关参数值,采用128×32分辨率,SSD1306作为内部驱动控制器,0.91寸大小的OLED点阵图形显示屏完全满足系统显示测量值的要求。
1.4 水质数据分析
在各检测模块电路测量水质参数时,最为关键的一步即是TDS特征值的分析,其与水的硬度和电导率都存在直接的关联。若水质TDS特征值测量误差过大,将会导致无法确定水质的硬度和电导率两项指标。TDS指的是水中总溶解性物质的浓度,主要是反映水中钙离子、镁离子、钠离子、钾离子等浓度,这些离子也与水的硬度、电导率有着对应的关系,然而它们之间的关系并非呈现有线性关系,必须满足在一定的限度内的条件才可采用线性公式表示。因此,对控制芯片处理此浮动值的算法提出了极大要求,既要保证测量准确又要将浮动区间的漂移量回拉。TDS值越小,水中的上述离子的浓度也就越低,导电能力越差,电导率就越小。而TDS值一般用于衡量纯净水的指标,若无法保证水质未受污染的情况,则难以测量到该指标。TDS值越小,并非表示水质越好;TDS值越大,同理并非表示其水质越差,这需视被测水的微生物指标(细菌数)必须符合要求为前提条件。
2 在线监测APP应用
水质数据传输和上位机人机交互部分由Android移动端、基于MQTT协议云服务器、无线传输模块(ESP8266模块、蓝牙模块)组成。利用物联网技术,将采样读取到的各类水质数据打包发送到云端服务器存储后,使用手持设备进行监控及查看。主控Arduino通过相应的检测电路将读取到的水质参数发送给云端服务器处理,客户端(手机)只需将“水质检测仪”APP联网后即可获取云端服务器上存储的各类参数值,从而完成主控到服务器与服务器到客户端三者间的通信。考虑在离线的情况下也能够查看家中水质参数信息,设计了通过蓝牙和主控连接获取水质参数信息的Android移动端APP应用程序,为用户在线提供查看实时及历史水质数据信息的方案,实现通过线上线下的方式收集检测到的数据。该应用程序根据数据绘制不同水质参数检测曲线,直观的反映出横向和纵向的水质变化,如图2所示。随着产品的使用范围扩大,可在后台建立互联网数据库,结合大数据共享与数据再处理分析,获取监测小区、或社区甚至某个城市区域内的水質情况,为如自来水厂、水文监测站等相关部门和公司提供可靠有效水质监测数据。
3 结语
同市面设计的大部分水质监测器不同,本项目设计的基于Arduino的家用智能在线水质监测仪既能稳定准确监测水质的各项指标,还能够将多个参数同步上传至云服务器,汇总作为历史参考数据,后续还可利用互联网的人工智能进行进一步的大数据处理与分析管理。此外,该系统具有良好的拓展性,如需特定场合的使用,更换对应的检测电路模块[4]即可拓展应用到气候监测、企业生产线、物联网家具、水温地理监测等领域中。
【参考文献】
[1]赵军,林瀚刚,西热娜依·白克力.基于ZigBee的水质监测系统研制及复杂环境下在线测试[J].中国测试,2018,44(05):67-70.
[2]胡新福,张源峰,林金亮.一种锂电池组主动均衡充电保护电路的设计[J].电子制作,2018(23):8-10.
[3]国家环境保护局.GB 13200-91水质-浊度的测定[S]. 北京:中国标准出版社,1991.
[4]赵英,莫德清,韩剑.一种水质遥测监控系统硬件的研究[J].桂林电子科技大学学报,2013,33(02):118-121.