水质物理参量测量DIS演示虚拟仿真实验

2020-10-19 04:42周科卫梅怡楠赵国汝秦菱泽景培书
物理实验 2020年9期
关键词:参量表面张力溶解氧

周科卫,邓 莉,忻 静,成 琳,梅怡楠,赵国汝,秦菱泽,景培书

(华东师范大学 a.物理与电子科学学院;b.孟宪承书院 物理系,上海 200241)

随着社会的飞速发展,人们对水资源的需求不断增加,引发的生态环境水资源污染问题也愈发严重. 保护水资源,需要对环境生态水质进行实时检测、动态跟踪、综合治理. 随着人们对水资源保护的重视程度越来越高,相关科普推广工作已经在全世界范围有条不紊地开展. 1993年的第47届联合国大会将每年的3月22日定为“世界水日”;不同地区开展丰富多彩的“保护水资源,公益你我行”的公益活动;中小学开设水质检测科普课程. 在水资源保护过程中,生态环境水质的检测发挥着排头兵的重要作用. 水质检测,是检查测定水体中污染物的种类、浓度及变化趋势,评价水质状况的过程. 反映水质状况检测指标有:色度、浊度、pH值、电导率、悬浮物、溶解氧、化学需氧量和生化需氧量等[1]. 目前市场上已经很多商用测量水质物理参量指标的检测仪器,如测定水浊度的浊度仪[2-3],测定色度所用的滤光光度计[4-6],测定电导率用电导率仪[7-8],使用简便、易携带. 从水质物理检测的层面来看,目前商用仪器封装严密,而且测量参量单一,因此需要开发新的技术手段,以便开展更广泛水质物理检测的科普推广工作.

融合数字化信息系统DIS(digital information system)技术的发展,为物理量测量注入了新活力,从传统的人工使用物理器材进行测量、读取、处理数据,转变为利用传感器测量数据,数据采集器将测量结果导入电脑,直观、形象、实时显示被测物理量的变化,并对测量结果进行图像绘制和拟合、求导、积分、平均值等分析处理.

虚拟仿真技术作为一门新兴的综合性信息技术已经被广泛应用于电子、医学、机械制造、教育等领域[9-12]. 基于Python编程语言,融合DIS技术,开发了“水质物理参量测量DIS演示虚拟仿真实验软件”, 展示液体的表面张力系数、浊度、溶解氧、电导率、折射率和pH值水质物理参量的动态测量过程. 该软件形象、生动地展示水质物理测量的物理原理、实验测量和数据分析,交互性强,可以提升使用者的学习兴趣,适用于大学物理理论与实验课教学,也可以作为中小学科普拓展辅助工具.

1 软件的设计思路

1.1 软件整体构架

本软件在系统功能上采用总分结构模式,如图1所示. 在水质物理检测的总框架下,设计了6个物理参量测量虚拟仿真实验模块:液体表面张力系数、浊度、溶解氧、电导率、折射率和pH值. 每个模块包含:实验原理、实验装置、实验公式、数据采集、水质判断等功能,每个功能按键被点击后,可以展示相应内容. 这种分级式的结构设计,模块间关系明确,实验展示逻辑性强设计结构清晰,较好地符合用户的学习认知过程.

图1 软件设计总体构架

1.2 数据处理流程

为了加深用户对水质物理参量测量过程的理解,实现DIS动态、形象、实时数据采集的仿真模拟效果,按照如图2所示的流程图实现数据的调取、处理、展示功能. 首先,建立了实验数据库,用以存储以上6个物理水质物理参量的实验数据,在虚拟仿真实验板块,进行实验数据的调取,根据实验原理,对数据进行处理拟合,根据拟合结果,判断水质的优劣.

图2 数据处理流程

用户使用数据采集功能时,在部分物理参量测量的模块内设置了用户输入功能,以提高软件的人机交互性, 引导使用者输入正确的物理参量,从而获得正确的实验数据. 比如在“表面张力”测量模块,以生活用水中含有的CaCl2成分的浓度作为研究对象,通过测量表面张力获取溶液中CaCl2浓度信息. 数据导入后,用户可以根据提示,输入希望调取的溶液浓度,系统则导入对应CaCl2浓度的溶液表面张力系数的原始实验数据,经过数据表面张力系数的计算,获得不同浓度的表面张力系数的曲线,以获得可视化效果.

2 软件的Python编程实现

“水质物理参量测量DIS演示虚拟仿真实验软件”基于Python程序设计语言编写,主要运用Tkinter库、Matplotlib库、Pandas库分别实现虚拟仿真的创建图形化界面实现人机交互、读取数据、绘制图像功能,如图3所示.

图3 基于Python编程的数据库使用

2.1 首界面的创建

利用Tkinter库中的tk函数创建主窗口,在窗口上放置控件,并合理布局. 用Tkinter库中的canvas函数创建1块幕布控件,其尺寸为整个窗口的横纵像素值,将6个物理参量的图片依此放置在幕布的6个位置,如图4所示. 利用Button函数创建6个大小一致的按钮,按钮文本设置为6个水质物理参量的名称,然后将按钮放置在对应图片位置处. 自定义6个以物理参量名称命名的函数,函数的具体设置步骤为:

1)使用tk.Toplevel( )创建次级窗口,实现该物理参量的仿真功能,其功能子程序则被封装在该函数内部.

2)将首界面里的按钮绑定物理参量对应的具体函数,用户点击时,触发函数响应,进入该物理参量的仿真窗口.

3)在首界面中央放置“水质物理检测DIS虚拟仿真实验”字样的按钮,创建次级窗口,用以对水质物理检测的意义及该软件内容作简要介绍.

4)使用canvas中的create_line函数,在幕布上创建6条直线,将中间的水质检测按钮与6个物理参量按钮相连接,从而完成图形化的创建.

图4 软件首界面

2.2 水质物理参量测量的虚拟仿真实验的实现

“水质物理参量测量DIS演示虚拟仿真实验软件”对液体表面张力系数、浊度、溶解氧、电导率、折射率和pH值6个水质物理参量的测量过程进行了虚拟仿真实验的实现,基于使用者学习规律,对每个实验的原理、装置、数据、模拟进行了详细介绍,并设置水质判断模块,使用者根据物理参量直观获得水质信息.

2.2.1 表面张力测量的虚拟仿真实验

本软件采用拉脱法测量液体的表面张力. 利用tkinter.Toplevel语句创建如图5(a)所示的次级窗口作为表面张力实验的仿真窗口,在窗口左侧创建 “实验原理”、“实验装置”、“数据采集”等按钮,自定义函数绑定各个按钮,其内容显示表面张力实验信息,点击按钮实现原理展示、数据调取、结果处理等功能. 在窗口中右侧创建canvas幕布,放置表面张力实验装置与原理演示的图片和文字元素.

根据图2所示数据处理流程,使用tk.entry语句创建如图5(a)所示的输入框,再用entry.get语句获取用户输入的CaCl2溶液浓度参量,根据该浓度从数据库中调取相应浓度溶液的数据表格文件(Excel文件),采用DIS测量数据呈现模式,动态、实时、直观并对数据进行计算、拟合、绘图等操作,测量结果如图5(b)所示. 根据表面张力系数的公式计算该浓度溶液的表面张力系数α:

(1)

其中,α为表面张力系数,Fmax为拉力最大值,Fmin为拉力最小值,D为圆环外直径,d为圆环内直径.

在数据库中以溶液浓度命名数据文件,将用户输入溶液浓度值与文件名相匹配,使用pandas库中read函数,读取对应文件,将拉力以及时间数据分别存放在2个列表内,分别作为纵坐标和横坐标,利用matplotlib.pyplot模拟DIS实时、动态绘制表面张力系数的拉力随时间变化的数据采集曲线,在拉力列表中找到拉脱前的最大值Fmax和拉脱后的平均值作为最小值Fmin,输入圆环的内、外直径参量D和d,计算得到表面张力系数α,并显示在图像上方,如图5(b)所示. 将不同浓度CaCl2溶液的表面张力绘制成如图5(c)所示的不同浓度CaCl2溶液的表面张力系数变化曲线. 从该图中可以看出,通过表面张力的测量可以获得水质中杂质浓度,也可以同时了解黏度、杂质等性质.

(a)表面张力实验界面

(b)浓度为0的溶液表面张力DIS模拟图

(c)不同浓度CaCl2溶液的表面张力系数曲线图5 表面张力的虚拟仿真实验

2.2.2 浊度测量的虚拟仿真实验

本软件中浊度的测量是通过紫外光光度法实现的,同表面张力模块界面设计相同,使用tkinter.Toplevel创建次级窗口,设置按钮与幕布,放置仿真内容,在界面最右侧添加text文本显示控件,显示实验原理及水质判断的文字内容,如图6(a)所示. 在浊度的数据采集仿真功能中,使用pandas.read函数读取数据库中的吸光度与溶液浓度关系表,用matplotlib.pyplot绘制图像,如图6(b)所示. 可以看出,在液层厚度不变的实验条件下,溶液吸光度与其浓度成正比关系,完全符合朗伯-比尔定律. 通过测量液体浊度,可以反映液体中溶质或杂质的浓度.

(a)浊度实验界面

(b)溶液吸光度与浓度关系曲线图6 浊度测量的虚拟仿真实验

2.2.3 溶解氧测量的虚拟仿真实验

采用荧光淬灭法测量溶解氧浓度,在溶解氧测量界面的实验原理部分,展示了斯特恩-沃尔默公式,

(2)

其中,I0和τ0分别是无氧气的荧光光强和荧光分子寿命,I和τ分别是有氧气情况下的荧光光强和荧光分子寿命,无氧气情况与有氧气情况的荧光光强之比等于荧光分子寿命之比,且与环境中的氧气浓度c成正比,比例系数为K,K由特定的荧光物质所决定. 从(2)式看出荧光猝灭的时间与溶解氧的浓度有关,因此可以通过测量荧光猝灭时间间接测量溶解氧浓度,如图7(a)所示. 图7(b)则展示了实验装置与实验操作步骤,此实验需要利用激光器、光纤探头、分光计完成. 图7(c)为采用DIS模式动态、直观展示了溶解氧随温度变化的实验曲线. 溶解氧反映液体中溶解氧气的多少,可作为水质自净能力的判断依据.

(a)溶解氧实验界面

(b)实验操作步骤

(c)溶解氧浓度随温度变化关系曲线图7 溶解氧测量的虚拟仿真实验

2.2.4 电导率测量的虚拟仿真实验

采用分压法测量液体电导率,其实验界面如图8(a)所示. 点击“电导率与温度关系”按钮,下方显示二级按钮,点击后动态显示电压、电流、电导率与温度的变化. 导电溶液中,液体电阻率和液体绝对温度T的关系[8]为

(3)

其中,A和B为与液体特性有关常量. 根据式(3)拟合出电导率随温度的变化,如图8(b)所示. 点击二级按钮,动态显示电压、电流、电导率与质量分数的变化关系. 溶液电导率σ和溶液质量分数ω关系的理论公式为[8]

σ=Kω,

(4)

当液体温度不变时,K为常量. 根据式(4)拟合了电导率随质量分数的变化,如图8(c)所示. 电导率可以反映液体中导电离子浓度大小.

(a)电导率实验界面

(b)NaCl溶液电导率与温度变化关系与拟合曲线

(c)NaCl溶液电导率随质量分数变化关系与拟合曲线图8 电导率测量的虚拟仿真实验

2.2.5 折射率测量的虚拟仿真实验

本软件介绍了3种测量折射率方法,分别是牛顿环法、最小偏向角法和光速测定仪法. 折射率虚拟仿真实验界面上设置3种测量方法按钮,点击每个按钮,会展示3种测量方法的实验原理、实验仪器、实验步骤、数据拟合,如图9(a)所示. 分别点击“数据拟合”按钮,可动态显示3种方法测量的溶液折射率随质量分数变化关系,如图9(b)、(c)、(d)所示. 从实验曲线可以看出3种不同方法测得的规律一致:溶液的折射率随溶液质量分数的增大而增大.

(a)折射率实验界面

(b)牛顿环法

(c)最小偏向角法

(d)光速测定仪法图9 折射率测量虚拟仿真模拟实验

2.2.6 pH值测量的虚拟仿真实验

本软件采用玻璃电极法测量溶液的pH值. pH值测量虚拟仿真的界面如图10(a)所示,点击相关按钮,可以呈现pH计结构、pH值测量原理、溶液pH值随浓度变化关系. 图10(b)和(c)分别动态显示了碱溶液NaOH和酸溶液HCl的pH值随溶液浓度的变化规律:溶液浓度越大,pH值越高,但酸碱溶液的变化趋势存在本质不同. 利用pH值可以直接反应水质的酸碱度.

(a)pH值测量实验界面

(b)NaOH溶液pH值随溶液浓度的变化

(c)HCl溶液pH值随溶液浓度的变化图10 pH值测量的虚拟仿真实验

3 软件使用满意度调查

邀请华东师范大学环境工程、环境生态工程专业的34名在读学生在完成大学物理理论与实验课程后,试用该软件. 设计了该软件使用满意度调查问卷,就软件的原理、操作、功能等进行调研,如表1所示. 题干描述的内容都是对软件的正面评价,采用赋分方式进行结果调查,每个问题设置5个选项,分别是非常同意、同意、一般、不同意、非常不同意,并对5个选项依次赋分,从5分递减至1分. 问卷得分越高,说明用户对该软件的认可度越高. 调查问卷发放了34份,回收31份有效问卷. 经过问卷的回收统计,各题目得分情况如表1所示,从表1中各题目的得分情况可以看出,各题目普遍得分较高,平均值之和达到39.48,得分率为78.96%,说明用户对该软件使用满意度较高.

表1 “水质物理参量测量DIS演示虚拟仿真实验”软件满意度调查问卷问题列表

4 结束语

基于Python编程语言,设计开发了水质物理参量测量DIS演示虚拟仿真实验软件. 该软件对液体表面张力系数、浊度、溶解氧、电导率、折射率和pH值6个水质物理参量的测量过程进行了虚拟仿真实验的设计与实现,每个物理参量的虚拟仿真实验测量界面分为实验原理、实验装置、计算公式、数据采集、水质判断等模块. 在数据采集模块,采用数字化信息系统采集数据的方式,将数据采集过程形象、直观、动态地进行呈现,提高用户的学习兴趣,加深对实验原理、数据采集、分析处理的理解. 该软件有效实现人机交互,增强了虚拟仿真实验的沉浸感,可以用于大学物理理论与实验教学、中学物理课堂教学与课外拓展,拓展学生视野,激发物理学习兴趣;该软件也可用以环境生态水资源保护的科普宣传,加深大众对水质物理检测的理解. 该软件在环境工程、环境生态工程专业学生中试用,取得了较好满意度评价.

猜你喜欢
参量表面张力溶解氧
东平湖溶解氧及影响因素分析
如何保证精养池塘充足的溶解氧
浅析水中溶解氧的测定
含参量瑕积分的相关性质
基于含时分步积分算法反演单体MgO:APLN多光参量振荡能量场*
神奇的表面张力
神奇的表面张力
光参量振荡原理综述
自然条件下猪只运动参量提取算法
溶解氧测定仪使用方法及改进