聂 朋, 麻永林, 邢淑清, 姜 涛, 孙彬彬
(内蒙古科技大学 材料与冶金学院,内蒙古 包头 014010)
基于LabVIEW的电磁波峰焊非接触液位测量系统*
聂朋, 麻永林, 邢淑清, 姜涛, 孙彬彬
(内蒙古科技大学 材料与冶金学院,内蒙古 包头 014010)
在电磁波峰焊接过程中,液位波动大小是一个非常重要的参数,如果锡液液位波动大,易造成虚焊等问题,对电磁波峰焊液位波动的实时监控显得尤为重要。通过使用液位测量模块、Arduino控制器及计算机组成的非接触液位测量系统对电磁波峰焊的锡液液位波动进行测量,结合虚拟仪器软件LabVIEW将液位波动数值和液位波动曲线可以形象地显示出来,同时对液位波动范围进行预先设置,当超出液位波动设置的最大值或者低于液位波动设置的最小值就会给出警报并及时反馈,从而提高焊接质量。通过实验测量与验证,实验测量的液位波动程度与预期值相符合,且很平稳。
液位波动检测; Arduino控制器; LabVIEW; 上位机
液位波动大小对工业生产影响很大,因此,对液位测量[1,2]也显得尤为重要。例如:在进行脱硫时,脱硫塔液位高就容易产生吸收塔溢流、降低脱硫效率、设备耗能增加等问题。同样水位的波动对生产锅炉的影响也很大,所以,在生产过程中液位波动的检测方法也越来越多。传统的液位检测方法主要以人工进行直接测量并读取数值,易产生误差,同时对于一些环境比较恶劣的场所还不能进行人工测量,美国国家仪器的软件产品LabVIEW在工业生产中得到越来越广泛的应用,可以通过软件来实现硬件的功能,也可以通过与硬件相结合实现物理世界与虚拟世界的通信,实现实时测量与控制[3],与传统测量相比有很大的优势。
本文使用液位测量模块、Arduino控制器及计算机组成的非接触液位测量系统对电磁波峰焊接过程中的锡液液位波动进行测量,可以实现液位波动的实时监控,从而提高焊接质量。
本电磁波峰焊锡液的非接触液位测量系统中,Arduino控制器通过预先编写的程序控制液位测距模块进行液位的测量,然后Arduino通过USB串口与计算机进行串口通信[4],通过上位机LabVIEW软件发送液位波动采集命令,Arduino执行上位机的命令进行相应数据采集,然后通过串口发给上位机软件LabVIEW。对相关数据进行处理,可以将液位波动数据以曲线形式实时显示出来,液位测量系统框图如图1所示。
图1 液位测量系统框图Fig 1 Block diagram of liqurd level measurement system
硬件电路主要包括液位测量模块、数据采集及数据处理等电路。液位测量主要通过液位测量模块与Arduino[5]控制器来完成,将液位测距模块固定于电磁波峰焊锡液上方的某一位置进行液位测量。通过Arduino程序控制数据的采集,然后通过上位机对采集的数据进行处理。测距系统的硬件电路结构如图2所示。
图2 液位测量控制硬件系统Fig 2 Hardware system of liquid level measurement and control
2.1测距模块的选择
本实验选择了HC—SR04超声波测距模块,该模块可以提供2~400 cm的非接触距离测量,测距距离可以达到3 mm,模块包括超声波发射器、超声波接收器及控制电路等组成。图3为超声波发射电路图。VCC供+5 V电源,GND为地线,Trig为触发控制信号输入,Echo为回响信号输出。由图3中超声波发射电路与图4脉冲时序图可知,控制器Arduino只需要提供一个10 μs以上的脉冲触发信号,该模块内部将发射8个40 kHz的周期电平并进行检测回波。
图3 触发电路Fig 3 Trigger circuit
图4 时序图Fig 4 Timing chart
使用时将HC—SR04超声波测距模块上的Trig,Echo 分别接上Arduino对应IO 端口;检查上述接线是否有误,确认接线正确后,将VCC,GND 分别接上DC+5 V,GND。
2.2控制器Arduino
Arduino主要通过程序进行温度数据的采集,本设计选用的是Arduino Mega 2560型号, Arduino Mega是一块以ATmega 2560为核心的微控制器开发板,本身具有54组数字I/O input/output端(其中14组可做PWM输出),16组模拟比输入端,4组UART(hardware serial ports),使用16 MHz晶振。由于具有bootloader,因此,能够通过USB直接下载程序而不需经过其他外部烧写器。供电部份可选择由USB直接提供电源,或者使用AC-to-DC adapter及电池作为外部供电。
软件部分主要包括两部分,一部分是通过Arduino进行液位数据变化采集的程序编写,另一部分是编写上位机LabVIEW的程序,它包括LabVIEW[6]前面板与程序框图的编写。然后将Arduino与LabVIEW通过串口进行通信。
3.1Arduino液位采集程序框图
数据采集框图如图5。
图5 数据采集框图Fig 5 Block diagram of data collection
通过Arduino控制器控制超声波模块进行工作,首先Arduino数字端口给Trig引脚一个触发信号,触发其测距功能。模块被触发后就自动发射超声波脉冲并自动检测是否有信号返回。如果有信号,Echo就输出高电平,从而可以计算超声波往返需要的时间,最后根据公式(1)计算出距离
s=vt/2
(1)
式中s为要测的距离;v为声速;t为超声波往返时间。
3.2LabVIEW程序设计
LabVIEW前面板分别配置数值控件[7,8]、波形控件及布尔控件,其中数值控件用来显示具体的液位数值,同时也可以在输入数值控件里设置液位变化的最大值与最小值,波形控件用来显示液位变化曲线的,布尔控件主要用来当液位变化超过预设值时就进行警告提醒。通过采用While循环可以实现液位数据的连续采集,并利用定时器控制数据采集的时间间隔。
在系统进行测量前,首先对系统进行调试,以确保其精确度,表1、表2、表3为在不同高度测量的不同液位高度。
表1 52 cm处测量数据
表1为探头在52 cm高度进行测量的不同液位高度的数据,在液位1初始高度为10.60 cm时,理论测量高度应为41.40 cm。而实际测量的平均值为40.87 cm,根据误差公式进行计算,误差为1.28 %;然后改变液位进行测量,即当液位2初始高度为12.40 cm时,理论测量高度39.60 cm。而实际测量液位的平均高度为39.38 cm,根据误差公式进行计算,误差为0.5 %。
表2 72 cm处测量数据
表2为探头在72 cm高度进行测量的不同液位高度的数据,在液位1初始高度为9.6 cm时,理论测量高度应为62.40 cm。而实际测量的平均值为62.07 cm,根据误差公式进行计算,误差为0.53 %;然后改变液位进行测量,即当液位2初始高度为10.6 cm时,理论测量高度61.40 cm。而实际测量液位的平均高度为61.12 cm,根据误差公式进行计算,误差为0.46 %。
表3 98 cm处测量数据
表3为探头在98 cm高度进行测量的不同液位高度的数据,在液位1初始高度为5.40 cm时,理论测量高度应为92.60 cm。而实际测量的平均值为92.61 cm,根据误差公式进行计算,误差为0.01 %;然后改变液位进行测量,即当液位2初始高度为6.30 cm时,理论测量高度91.70 cm。而实际测量液位的平均高度为91.19 cm,根据误差公式进行计算,误差为0.56 %。
通过表1、表2、表3数据分析,测量值最大误差为1.28 %,最小为0.01 %。准确度比较高,符合要求。通过实验数据与LabVIEW的图像显示可以发现,锡液的液面波动不大,比较平稳。
通过LabVIEW软件平台,可以方便高效地对数据进行处理,通过虚拟仪器与测量硬件的相互结合,可以大大减少开发时间,LabVIEW在图形设计方面具有很大的优势,可以很好地进行人机界面的交互,在工业生产中与传统的液位测量相比,显现出更强的智能化。通过本设计可以准确安全地进行液位变化的测量,同时也可以应用到一些危险的环境中进行液位的测量。
[1]秦永烈.物位测量仪表[M].北京:机械工业出版社,1978:106-126.
[2]谢建昌,王克华.测量仪表及自动化[M].北京:石油工业出版社,1996:60-67.
[3]牛鑫,刘自范, 房泽平.基于LabVIEW的液位测量无线传感器网络系统[J].化工自动化及仪表,2012(7):907-909.
[4]吕向锋,高洪林,马亮,等.基于LabVIEW串口通信的研究[J].国外电子测量技术,2009,28(12):27-30,50-51.
[5]郑昊,钟志峰,郭昊,等.基于Arduino/Android的蓝牙通信系统设计[J].物联网技术,2012(5):10-11.
[6]蔡共宣.LabVIEW的编程思想研究[J].装备制造技术,2009(9):56-58.
[7]谭延军,聂友伟.基于LabVIEW平台的虚拟仪器编程[J].微处理机,2013(6):77-78.
[8]韩剑,莫德清,李长俊.基于LabVIEW与容栅传感器的液位测控系统[J].计算机测量与控制,2015,23(2):394-396.
Non-contact electromagnetic wave peak welding liquid level measurement system based on LabVIEW*
NIE Peng, MA Yong-lin, XING Shu-qing, JIANG Tao, SUN Bin-bin
(School of Materials and Metallurgy,Inner Mongolia University of Science and Technology,Baotou 014010,China)
In process of electromagnetic wave peak welding,liquid level fluctuation size is a very important parameter and if fluctuations of tin fluid level is relatively large,then the product will likely cause welding problems,therefore,fluctuations in the level of electromagnetic wave real-time monitoring is very important.By using non-contact level measurement system,which components of level measurement modules,Arduino controller and the computer,to measure the tin fluid level fluctuation of electromagnetic wave.Liquid level fluctuation value and level fluctuation curve image will be displayed by LabVIEW virtual instrument software.When the level exceeds the maximum fluctuation or below the minimum level set by fluctuations settings,which the fluctuation ranges of the pre-set level,an alarm will be given and timely feedback to improve the quality of welding.Volatility level experimental measurements consistent with the expected value by measurement and verification,very smooth.
liquid level fluctuation detection; Arduino controller; LabVIEW;upper PC
2015—10—22
内蒙古科技大学产学研合作培育基金资助项目(PY—201004)
TP 216
A
1000—9787(2016)08—0108—03
聂朋(1988-),男,安徽阜阳人,硕士研究生,主要研究方向为电磁波峰焊温度与液位波动检测。
DOI:10.13873/J.1000—9787(2016)08—0108—03