王 兴, 高 菲*, 白 雪, 李彩霞, 崔志强, 董 佳
(1.太原科技大学,山西 太原 030024; 2.山西瑞诺风电子科技有限公司,山西 太原 030043;3.河北省科学院应用数学研究所,河北 石家庄 050081)
金属在人们的日常生活中是重要的物质资源。纯金属元素还可以制作一些合金或高纯金属片、金属棒并在工业上得到应用。高纯金属是电子工业、宇航、通信及高科技尖端产业中的重要基础材料。随着科技的发展,纯金属的需求量越来越大,产量越来越多,然而一些商家在纯金属制造环节混合掺杂以获取更多的利润,出现了金属纯度不足的问题。到目前为止,许多金属特性方面的研究为金属纯度的检测奠定了基础,这些研究使用的方法多种多样,例如用电极电导法测量金属盐溶液的电导率[1]、对金属复合材料通电来研究其特性[2]等,同时也有了许多金属纯度检测技术[3]。在检测数据采集方面,国外对数据在线采集系统的研究比较丰富,例如在一种温度在线监测系统的研究[4]中,采用光纤将温度传感器采集的数据传输给温度在线监测系统,通过RS485串口完成温度在线监测系统与计算机的通信,并已将该系统用于电力变压器的温度在线监测。针对现有的金属纯度检测方法检测准确率低、受人为因素影响较大等问题[5],笔者研究了超稳定恒流源金属检测装置,使用电压、温度传感器将实时检测数据发送到主控电路板,采用串行通信方式接收检测数据并以图像的形式显示在PC端,通过操作PC端实现对检测过程的控制,从而可以便捷、智能、快速、有效地检测金属纯度。以规则体积的金属铜和铝为例进行试验,结果表明所研制的装置可以有效识别铜和铝并且得出纯度,实现了数据的采集与上传,同时也可以实现对其他金属的纯度检测。
金属纯度智能检测装置总体由3个部分组成,分别是检测部分、采集部分、控制部分。检测部分包括两个放置金属待测物的水槽和正负极电极片;采集部分由电压传感器和热电偶进行电压的感知和温度的测量,并由PC端完成对数据的采集和上传;控制部分电路主板通过自身集成的I/O接口接收电压传感器和热电偶的输入信号,通过通信接口与PC端进行通信,PC端与云服务器连接,终端采集数据被存放在云端。
金属纯度智能检测装置基于物联网的三层基本架构[6-7],分别为控制层、感知层和应用层,输入电源为220 V交流电。控制层的主控电路板集成了电压传感器、热电偶模块、电流的输出端口,以及通信接口。感知层包括电压传感器、热电偶。应用层对感知层采集的数据进行处理。首先,PC端通过通信接口向控制层主控电路板发送信号来控制检测部分和采集部分;主控电路板接收到信号后,输出0~2 mA恒定电流到金属检测部分的水槽1和水槽2。其次,对于每个水槽,感知层的电压传感器和热电偶分别采集金属两端的电压和水温,通过输入端口输入到CPU;主控电路板CPU接收到传感器采集的数据信息后,将数据通过通信接口反馈给PC端,PC端将这些信息存储在数据库中并上传到云端,同时通过编程软件将数据以图像的形式呈现出来方便进行比对。数据库中的数据将作为比对时的参考值,云服务器可以对整个装置进行实时监控[8]。设备工作原理图如图1所示,用到的通信接口包括RS232串口、USB接口和以太网口。
图1 设备工作原理图
目前,常用的检测方法有以下3种:① 当有标准金属作为参考时,比较被测金属和标准金属在相同检测环境下的电压曲线偏差;② 当没有标准金属时,以数据库中的数据作为参考,比对在相同温度、相同电流下待测金属电压数据与数据库中该金属电压数据的差距;③ 当数据库中没有可以参考的数据时,被检测金属自建标准曲线,将两个待测金属的实时测量数据进行比对。若两个待测金属的数据接近,那么两个待测金属都合格;如果两个待测金属数据差距较大,那么分别与其他待测金属进行比较。最后将合格的数据在数据库中记录,并上传到云端。检测方法流程如图2所示。
图2 检测方法流程图
主控电路板是整个装置的核心模块,检测模块和PC端通过主控电路板进行数据通信。它集成了CPU、电源、电压传感器、热电偶、I/O单元、串口模块等。主要完成的工作有:主控电路板控制电流输入到检测装置;通过RS232串口、USB接口和以太网接口这3种通信接口与PC端连接,完成数据通信并对采集到的电压、温度数据进行处理。当采用以太网接口进行数据传输时,根据网络协议发送数据包。控制模块功能示意图如图3所示。
图3 控制模块功能示意图
主控电路板上添加了电压传感器和热电偶模块[9]。电压传感器感知到被测金属的电压信号后,利用内部的模数转换器将电压模拟信号转换成方便传输的数字信号,发送给主控电路板。热电偶通过测量由自身的温度梯度形成的热电动势来得到被测金属所在水槽的水温,并将水温数据传送给主控电路板[10]。主控电路板与PC端控制程序通过RS232串口进行通信,将采集到的数据传输到PC端,PC端采用串行通信方式对数据进行处理,在显示屏幕上显示电压传感器单元采集到的两个金属的实时电压数据和热电偶单元传输的两个水槽中水的温度数据。
测量模块由2个水槽、2对电极片、金属待测物组成。控制主板与水槽连接,接收数据,通过RS232串口和PC端的USB接口实现串行通信。利用标准待测金属或数据库中的数据,根据3种测量方法进行检测。
金属纯度智能检测装置采用分布式模块化设计总体架构,实现了各个模块之间的协同运行,实现了电压信号和温度信号的采集、变换、存储和监控。在本设计中采用Visual Basic+SQL Server 为整体架构,结合串口通信技术开发出电压采集上位机系统。该系统包括数据库读写模块、数据参数采集模块、电压曲线显示模块、串口通信模块、历史数据查询模块、用户管理模块和系统帮助模块。系统结构如图4所示。
图4 系统结构图
软件主界面分为数据参数采集区、检测数据分析区、曲线显示区,还有参数设置、用户管理、故障报警、查询打印、系统帮助等功能按钮。其中,两个参数采集区分别显示两个水槽检测过程中的电流电压数据、溶液温度、电路状态;检测数据分析区提供了检测过程中两条曲线电压数据的最大差值、最小差值、平均差值和实时电流与设定电流之间的差值、两个水槽的溶液温度之差;曲线显示区根据下位机发送的数据动态更新电压数据并显示不同颜色的两条曲线,分别表示标准金属电压数据随电流变化的检测曲线和被测金属电压数据随电流变化的检测曲线。“参数设置”按钮用于设置电流的自动取值间隔,还可以对电流大小进行调节。“用户管理”按钮可供用户进行登录操作和完成用户信息的更新与删除,通过数据库读写模块可以完成历史数据的查询、更新、删除。“系统帮助”按钮为用户提供了系统的操作方法和指导,帮助用户学会使用系统软件。软件主监控界面如图5所示。
图5 软件主监控界面图
用户在对PC端屏幕按钮进行操作时,这些操作会转换成指令,主控电路板针对不同的指令做出不同的反馈。通过发送指令申请反馈电流电压数据、申请修改检测电流数据。部分指令发送与反馈设计如表1所示。
表1 指令设计表
其中,电流设置指令值有6位,恒流源电路数据采集反馈信息包括20位,分别是恒流源电路输出电流值6位、恒流源电路输出电压值6位、温度数据4位、恒流源电路状态及故障码4位。
主控电路板与计算机间通过数据信号线按位发送或接收字节数据[7]。计算机的USB接口与RS232串口连接,采用半双工模式与控制主板进行串行通信。串口在发送读取指令和设置指令时需要调用延时指令,停止数据的读取。
计算机编程软件接口采用MSComm控件。为了实现实时数据采集[10],避免因为接收缓冲区的大小限制产生溢出而导致接收数据不完整,造成数据读取的失败,串口接收数据采用事件驱动方式。当接收到事件驱动时,将Input获取到的字符赋值到临时变量S中,并判断是否是起始字符;将临时变量S数据累加保存到SS中,在接收到结束字符后对SS中的数据进行进一步转换处理。根据通信指令的设计区分接收到的数据中每位数据位,并将实时电压、电流、温度数据显示在PC端。串口接收数据指令流程如图6所示。
图6 串口接收数据指令流程图
两个端口进行通信时,端口的波特率、数据位、停止位和奇偶校验位要保持一致。当数据从 CPU 经过串行端口发送出去时,字节数据转换为串行的位数据;在接收数据时,串行的位数据被转换为字节数据。在金属纯度智能检测装置中,通过PC端应用程序接收主控电路板反馈的串口通信数据并显示。PC端应用程序要使用串口进行通信时,必须在使用之前向操作系统申请资源打开串口,在通信完成后关闭串口。主控电路板与PC端进行通信的指令协议如表2所示。
表2 通信指令协议表
为金属纯度智能检测装置设计了一种纯度识别算法,可根据采集到的电压数据有效地识别金属纯度。
进行对比的两个金属电压数据的最大、最小偏差为
(1)
进行对比的两个金属电压数据的平均偏差为
(2)
式中:Umetali和Umetalj分别为参与比对的两个金属在同一电流状态下的电压数据。
该纯度识别算法流程如下。
④ 若当前最大偏差、最小偏差、平均偏差皆小于数据库中的值,则该金属纯度与进行对比的数据库中数据对应的金属纯度相符,可与更高纯度的金属数据进行对比,从而进一步精确判断。为了提高识别精确度及识别效率,若在4个数值点以内最大偏差和最小偏差不满足条件,则提高精度再次测量;否则,该金属纯度低于与之进行比较的数据对应的金属纯度。
⑤ 将数据检测结果添加至数据库中,方便进行测量对比。
上述提高测量精度的方法包括:采用更高精度的电压传感器、热电偶;稳定现场测试的环境,避免由于温度的改变造成数值的波动等。
金属纯度智能检测装置的主要的通信位于PC端与主控电路板之间。PC端对被测金属的数据变化进行实时监测,用户可以在PC端观察到纯度检测模块金属电压数据、输出电流、温度数据的实时变化,也可以通过PC端显示屏对检测电流的大小进行调节。智能检测的检测工作[11-12]分为两种,一种是离线检测,另一种是在线检测。在线检测是在检测过程中实时进行的,离线检测则是等检测过程完成后对采取的样本进行操作。笔者采用智能在线监测和控制技术,将信号检测、数据处理和计算机控制融合在一起,实现检测过程智能化和自动化。
用户通过PC端软件界面可进行电流的参数设置,通过Visual Basic编程设计来控制电流按设定的取值间隔自动变化,主控电路板接收PC端传出的电流值,将电流调节为接收到的电流值,并根据串口通信协议做出反馈,同时将电流输入到金属检测部分。主控电路板将电压数据通过USB接口发送给PC端,PC端通过Visual Basic通信接口接收数据,用Visual Basic程序检测接收到的电压数据是否稳定,待稳定后对数据进行采集,在软件的曲线绘制界面绘制采集到的被检测金属电压数据随电流自动连续取值变化的曲线图。
电压传感器检测到的电压数据模拟信号,需要通过控制单元模数转换器(ADC)转换成计算机能接收的数字信号传给主控电路板,然后通过端口送入计算机[13]。热电偶通过自身的温度梯度形成的热电动势得到被测金属所在水槽的水温,并将水温数据传送给主控电路板[14]。用户设置的电流信号为通过计算机端口输出的数字量信号,通过控制单元数模转换电路(DAC)转换成模拟量信号后输出。模拟信号与数字信号转换原理如图7所示。
图7 模拟信号与数字信号转换原理图
根据PC端呈现的实验数据曲线,同种金属的曲线基本吻合,选取0.6~1.2 mA电流区间的电压数据进行分析,不同铜块偏差不超过2%,不同铝块偏差不超过1%。实验数据如表3所示,电压曲线对比如图8所示。
表3 同种金属数据对比表
图8 电压曲线对比图
如图8所示,上方的两条线表示不同铝块的电压数据曲线,下方的两条线表示不同铜块的电压数据曲线。可以看出,同种金属的曲线重合度较高,不同种金属的曲线差别较大。
选取不同金属之间差距最小的一组数据进行分析,在0.6~1.2 mA的电流区间里,最小偏差为9.94%,最大偏差达19.58%。实验数据如表4所示。
表4 不同金属数据对比表
测量了掺杂铝块的金属电压值曲线,并选取0.6~1.2 mA的电流区间与纯铝块数据进行对比分析。纯度为98%的铝块与纯铝块最小偏差为5.15%,最大偏差为11.17%;纯度为99.5%的铝块与纯铝块最小偏差为3.34%,最大偏差为5.95%。根据同种金属对比实验中结果可得出,同种金属不同个体的最大偏差小于2%,而掺杂之后的金属与纯金属对比时,最小偏差超过了3%,且纯度越低偏差越大。由此,可以识别出掺杂金属与纯金属。实验数据如表5所示,电压曲线对比如图9所示。
表5 纯金属与掺杂金属数据对比表
如图9所示,上、中、下三条线分别表示纯铝、99.5%纯度铝、98%纯度铝的电压数据曲线。因此能够得出结论,金属纯度智能检测装置可以识别纯度98%以上的金属。
图9 掺杂金属电压曲线对比图
随着纯金属需求量的增加,纯金属的产量越来越大,为了避免一些商家在纯金属制造环节混合掺杂导致金属纯度不够,设计了金属纯度智能检测装置。它包括了PC端、金属检测端、控制电路主板这3个主要部分,提供了3种检测金属纯度的方法,通过实验验证了该方法的可行性,通过检测多种金属,保存金属的数据曲线,从而可以建立各种金属的数据库,方便对更多的金属进行检测。利用Visual Basic编程设计软件将控制功能、调度策略集成在PC端的面板上,实现了金属纯度检测过程的智能化、可视化,具有高效性、便携性、实时性、可操作性。