基于LabVIEW的压力传感器动态性能修正
穆欣荣+张志杰+杨文杰+张鹏
摘 要: 激波管标定系统是一种对传感器动态特性的实验装置,通过激波速度获得标准压力,进而对目标传感器动态性能进行修正。基于LabVIEW平台结合NI公司的采集卡实现一种用于激波管标定系统的混合驱动软件平台,通过并行调用动态链接库的方式,一方面实现对NI公司PXI?6115采集卡的驱动来达到激波速度的测试,另一方面对USB驱动接口实现对目标传感器的测试。最后,采用改进的最小二乘(GLS)算法,实现传感器的动态建模。结果表明,该系统具有快速读取测试结果的优点,较好地实现动态性能修正。
关键词: 激波管; 混合驱动; 最小二乘算法; 动态性能修正
中图分类号: TN919.3?34; TP311 文献标识码: A 文章编号: 1004?373X(2017)08?0141?04
LabVIEW?based dynamic performance correction of pressure sensor
MU Xinrong1, ZHANG Zhijie1, YANG Wenjie1, ZHANG Peng2
(1. MOE Key Laboratory for Instrumentation Science and Dynamic Measurement, North University of China, Taiyuan 030051, China;
2. Baidu Cloud Computing Technology (Shanxi) Co., Ltd., Yangquan 045000, China)
Abstract: The shock tube calibration system is an experiment device to test the sensors dynamic performance. The standard pressure is acquired by means of the shock velocity to correct the dynamic performance of the objective sensor. A hybrid drive software platform used in the shock tube calibration system is realized on the basis of data acquisition card made by NI Company and LabVIEW platform. The way to call the dynamic link library in parallel is used to drive the PXI?6115 data acquisition card made by NI Company to realize test of the shock wave speed and objective sensor for USB driver interface. The improved least square algorithm is adopted to realize the dynamic modeling of the sensor. The result shows that the system has the advantage of reading the test results quickly, and can correct the dynamic performance well.
Keywords: shock tube; hybrid drive; least square algorithm; dynamic performance correction
0 引 言
虚拟仪器(VI)是由现代计算机技术和仪器技术深层次结合的产物,是为了达到“软件即仪器”的目的。随着计算机、采集电路和网络技术的迅速发展,虚拟仪器技术在测试仪器、数据采集等领域广泛应用[1]。数据采集卡有NI公司提供的通用采集卡,可以直接使用LabVIEW進行软件编程;也有非NI数据采集卡,即为满足用户需求的专用测试系统,需要编写相应的驱动程序使之被LabVIEW识别,从而完成数据采集工作[2]。
文献[3]提出的传统的激波管多通道数据采集系统是由采集卡直接完成测速和标定的功能,使用的是美国NI公司PXI?5105数据采集卡,不能对特定的采集系统进行误差标定。而特定的采集系统和测试的采集卡总线实现方式不一样,所使用的软件也不一样,这样就给测试和标定带来了一定的困难,必须使用两台计算机分别安装两个不同的软件,操作复杂繁琐,不宜工作人员使用。为了解决这个问题,设计了一种可同时驱动两种不同总线的测试软件,选择使用范围较广的LabVIEW平台,利用调用动态链接库的方式实现两个不同采集卡的驱动。修正传感器的动态性能,采用改进的最小二乘算法,利用LabVIEW实现对传感器动态性能的修正[4]。
1 系统总体设计
1.1 激波管测试原理
激波管动态压力标准采用阶跃压力对压力传感器进行检定,可以产生上升时间非常短的阶跃压力。激波管的基本工作原理,是用膜片把截面恒定的管子分为两个压力室,高压室和低压室,如图1所示。在高压室及低压室充不同压力的气体,利用自然破膜的方法,当压力值超过膜片承受的压力时,膜片破裂。高压室的气体膨胀进入低压室,形成入射激波。激波后波阵面压力突变形成正阶跃压力。压力阶跃保持一定的时间称为恒压时间。入射波到达低压室端面后被反射,形成反射激波和反射激波压力阶跃[2]。用此压力阶跃作为阶跃激励信号去激励被测压力传感器,在通过专用测试系统采集数据,可得到被压力传感器的参数。
选用NI公司提供的PXI?6115采集卡采集激波管上三个测速传感器的信号,根据时间求得激波波速。主要是通过NI?DAQmx驱动程序设计测速功能。
被测传感器连接到专用的压力测试系统上,通过USB连接到主机。选用FTDI公司的FT245芯片,调用动态链接库函数驱动USB芯片,使得专用测试系统与主机通信成功。
1.2 软件的结构设计
多通道混合驅动的测试系统软件设计主要包括以下功能(如图2所示):
(1) 参数设置,既包括对激波管三个测速通道的采样频率、数据长度、预触发长度和触发电平的设置,同时还包括对专用测试系统的放大倍数、采样频率、数据长度、预触发长度和触发电平的设置,其中激波管测速通道的放大倍数在信号放大调理器上设置。
(2) 读取数据,系统触发后上位机软件读取四个通道的数据,并显示在前面板上。
(3) 波形显示,显示读取到的波形或已保存的波形。
(4) 计算,针对测速传感器测得的数据读取时间间隔和,三个传感器的间隔均为,激波波速由两个时间间隔分别求得的速度和平均得到。
(5) 修正,采用最小二乘算法实现对目标传感器进行动态修正,并用LabVIEW实现。
2 USB和NI?DAQ混合驱动的功能实现
2.1 USB通信方式
本设计选用了FTDI公司的FT245RL USB芯片,内部涵盖写入和读出的FIFO缓冲区,FIFO控制模块和USB读写模块,在LabVIEW平台上使用调用动态链接库(DLL)的方式完成硬件与上位机的通信。
为了使USB芯片正常工作,需要安装FTD2XX驱动程序。FTD2XX.dll提供了大量接口函数,其中常用的有FT_Open(打开),FT_ResetDevice(复位),FT_Purge(清除),FT_SetLatencyTimer(延时),FT_Read(读),FT_Writer(写),FT_Close(关闭),FT_SetTimeouts(超时)等函数。如图3所示,调用动态链接库函数实现USB通信。
上位机通过调用动态链接库函数给专用测试系统发送不同的指令,可以实现参数设置、参数回读、读取数据等功能。
2.2 NI?DAQ通信方式
PXI?6115采用PXI总线技术(PCI extensions for Instrumentation,PXI)是PCI在仪器仪表领域的扩展,它结合了PCI的电气总线特性、CompactPC的坚固性以及Eurocard机械封装的特性,因此PXI拥有极高的数据传输能力、坚固的封装形式以及高性能的IEC连接器,非常适用于测量与数据采集场合[5]。
NI公司的通用数据采集卡使用的是LabVIEW内的DAQ库函数实现PXI与上位机通信。该驱动函数在底层的基础函数上进行高度封装,程序编写人员只需要掌握驱动函数I/O端口的意义,就能进行相关的数据采集的功能的实现,使用户在对采集卡进行操作时更加高效简单方便。安装好DAQ驱动程序(即NI?DAQmx)后,在LabVIEW的函数选板就会出现DAQmx节点,在程序框图中右击选择函数“测量I/O”,再选择“DAQmx数据采集”子选板寻找所需要的控件。针对测速传感器通道的数据采集方式采用NI?DAQmx函数完成,如图4所示。本设计采用的是可编程多通道多采样的采集模式,在DAQmx Read控件的下拉列表里选择“模拟”→“多通道”→“多采样”→“2D DBL”方式,使得测速传感器采集到的数据和专用设备采集到的数据类型一致,便于在同一个波形图上显示。采集启动后,下层的NI?DAQmx驱动程序控制PXI?6115采集卡进行数据采集。
2.3 读取数据功能
在读取数据事件中,将被测传感器采集到的数组整合成波形文件,并与三个测速通道组合成四通道波形数组,使之显示在波形图中,如图5所示。三条细线波形图分别是三个不同的测速传感器所测得的数据显示,黑色粗线波形是被测传感器所得到的数据显示。从图5中可以明显地看出测速传感器的时间间隔,可由式(1)和式(2)得到激波波速;同时也可以看出激波传到每个传感器的时间,直观地给用户提供了同步性能的实现。
3 压力传感器动态修正
3.1 改进GLS算法进行线性动态建模的原理与实现
3.2 在LabVIEW上的实现
通过调用Matlab公式节点,实现LabVIEW和matlab的混合编程,达到对目标传感器的动态修正。图6为动态性能修正前后的阶跃响应曲线,使用改进的最小二乘算法修正后的曲线效果明显。
4 结 语
本设计在LabVIEW平台的基础上,将通用的采集系统和专用的采集系统结合在一个软件中利用混合驱动编写,实现了不同总线同时通信的功能。使得激波管测速通道和专用设备被校准通道同时完成数据采集,并且对采集到的数据进行动态修正。实践证明,USB和DAQ同时通信是切实可行,用改进的最小二乘算法优化传感器模型参数,能够寻求一组实用参数,对传感器的动态性能修正改善显著。
参考文献
[1] JOHNSON G, JENNINGS R. LabVIEW graphical programming[M].武嘉澍,陆昆,译.北京:北京大学出版社,2002.
[2] 李威宣,黄建新.基于LabVIEW平台的通用数据采集卡的驱动方法及数据采集[J].电子质量,2005(7):14?16.
[3] 解亚妮,石晓丹,冯浩,等.基于美国NI的多通道数据采集系统[J].可编程控制器与工厂自动化,2014(12):85?87.
[4] 轩青春,轩志伟,陈保立.基于最小二乘与粒子群算法的压力传感器动态补偿方法[J].传感技术学报,2014,27(10):1363?1366.
[5] 闫纪红,杨伟成.基于PXI和LabVIEW的双板卡远程数据采集系统设计[J].实验技术与管理,2013,30(7):80?82.
[6] 唐杲.基于虚拟仪器的动态压力测试系统设计测试系统设计[D].成都:电子科技大学,2013.
摘 要: 激波管标定系统是一种对传感器动态特性的实验装置,通过激波速度获得标准压力,进而对目标传感器动态性能进行修正。基于LabVIEW平台结合NI公司的采集卡实现一种用于激波管标定系统的混合驱动软件平台,通过并行调用动态链接库的方式,一方面实现对NI公司PXI?6115采集卡的驱动来达到激波速度的测试,另一方面对USB驱动接口实现对目标传感器的测试。最后,采用改进的最小二乘(GLS)算法,实现传感器的动态建模。结果表明,该系统具有快速读取测试结果的优点,较好地实现动态性能修正。
关键词: 激波管; 混合驱动; 最小二乘算法; 动态性能修正
中图分类号: TN919.3?34; TP311 文献标识码: A 文章编号: 1004?373X(2017)08?0141?04
LabVIEW?based dynamic performance correction of pressure sensor
MU Xinrong1, ZHANG Zhijie1, YANG Wenjie1, ZHANG Peng2
(1. MOE Key Laboratory for Instrumentation Science and Dynamic Measurement, North University of China, Taiyuan 030051, China;
2. Baidu Cloud Computing Technology (Shanxi) Co., Ltd., Yangquan 045000, China)
Abstract: The shock tube calibration system is an experiment device to test the sensors dynamic performance. The standard pressure is acquired by means of the shock velocity to correct the dynamic performance of the objective sensor. A hybrid drive software platform used in the shock tube calibration system is realized on the basis of data acquisition card made by NI Company and LabVIEW platform. The way to call the dynamic link library in parallel is used to drive the PXI?6115 data acquisition card made by NI Company to realize test of the shock wave speed and objective sensor for USB driver interface. The improved least square algorithm is adopted to realize the dynamic modeling of the sensor. The result shows that the system has the advantage of reading the test results quickly, and can correct the dynamic performance well.
Keywords: shock tube; hybrid drive; least square algorithm; dynamic performance correction
0 引 言
虚拟仪器(VI)是由现代计算机技术和仪器技术深层次结合的产物,是为了达到“软件即仪器”的目的。随着计算机、采集电路和网络技术的迅速发展,虚拟仪器技术在测试仪器、数据采集等领域广泛应用[1]。数据采集卡有NI公司提供的通用采集卡,可以直接使用LabVIEW進行软件编程;也有非NI数据采集卡,即为满足用户需求的专用测试系统,需要编写相应的驱动程序使之被LabVIEW识别,从而完成数据采集工作[2]。
文献[3]提出的传统的激波管多通道数据采集系统是由采集卡直接完成测速和标定的功能,使用的是美国NI公司PXI?5105数据采集卡,不能对特定的采集系统进行误差标定。而特定的采集系统和测试的采集卡总线实现方式不一样,所使用的软件也不一样,这样就给测试和标定带来了一定的困难,必须使用两台计算机分别安装两个不同的软件,操作复杂繁琐,不宜工作人员使用。为了解决这个问题,设计了一种可同时驱动两种不同总线的测试软件,选择使用范围较广的LabVIEW平台,利用调用动态链接库的方式实现两个不同采集卡的驱动。修正传感器的动态性能,采用改进的最小二乘算法,利用LabVIEW实现对传感器动态性能的修正[4]。
1 系统总体设计
1.1 激波管测试原理
激波管动态压力标准采用阶跃压力对压力传感器进行检定,可以产生上升时间非常短的阶跃压力。激波管的基本工作原理,是用膜片把截面恒定的管子分为两个压力室,高压室和低压室,如图1所示。在高压室及低压室充不同压力的气体,利用自然破膜的方法,当压力值超过膜片承受的压力时,膜片破裂。高压室的气体膨胀进入低压室,形成入射激波。激波后波阵面压力突变形成正阶跃压力。压力阶跃保持一定的时间称为恒压时间。入射波到达低压室端面后被反射,形成反射激波和反射激波压力阶跃[2]。用此压力阶跃作为阶跃激励信号去激励被测压力传感器,在通过专用测试系统采集数据,可得到被压力传感器的参数。
选用NI公司提供的PXI?6115采集卡采集激波管上三个测速传感器的信号,根据时间求得激波波速。主要是通过NI?DAQmx驱动程序设计测速功能。
被测传感器连接到专用的压力测试系统上,通过USB连接到主机。选用FTDI公司的FT245芯片,调用动态链接库函数驱动USB芯片,使得专用测试系统与主机通信成功。
1.2 软件的结构设计
多通道混合驅动的测试系统软件设计主要包括以下功能(如图2所示):
(1) 参数设置,既包括对激波管三个测速通道的采样频率、数据长度、预触发长度和触发电平的设置,同时还包括对专用测试系统的放大倍数、采样频率、数据长度、预触发长度和触发电平的设置,其中激波管测速通道的放大倍数在信号放大调理器上设置。
(2) 读取数据,系统触发后上位机软件读取四个通道的数据,并显示在前面板上。
(3) 波形显示,显示读取到的波形或已保存的波形。
(4) 计算,针对测速传感器测得的数据读取时间间隔和,三个传感器的间隔均为,激波波速由两个时间间隔分别求得的速度和平均得到。
(5) 修正,采用最小二乘算法实现对目标传感器进行动态修正,并用LabVIEW实现。
2 USB和NI?DAQ混合驱动的功能实现
2.1 USB通信方式
本设计选用了FTDI公司的FT245RL USB芯片,内部涵盖写入和读出的FIFO缓冲区,FIFO控制模块和USB读写模块,在LabVIEW平台上使用调用动态链接库(DLL)的方式完成硬件与上位机的通信。
为了使USB芯片正常工作,需要安装FTD2XX驱动程序。FTD2XX.dll提供了大量接口函数,其中常用的有FT_Open(打开),FT_ResetDevice(复位),FT_Purge(清除),FT_SetLatencyTimer(延时),FT_Read(读),FT_Writer(写),FT_Close(关闭),FT_SetTimeouts(超时)等函数。如图3所示,调用动态链接库函数实现USB通信。
上位机通过调用动态链接库函数给专用测试系统发送不同的指令,可以实现参数设置、参数回读、读取数据等功能。
2.2 NI?DAQ通信方式
PXI?6115采用PXI总线技术(PCI extensions for Instrumentation,PXI)是PCI在仪器仪表领域的扩展,它结合了PCI的电气总线特性、CompactPC的坚固性以及Eurocard机械封装的特性,因此PXI拥有极高的数据传输能力、坚固的封装形式以及高性能的IEC连接器,非常适用于测量与数据采集场合[5]。
NI公司的通用数据采集卡使用的是LabVIEW内的DAQ库函数实现PXI与上位机通信。该驱动函数在底层的基础函数上进行高度封装,程序编写人员只需要掌握驱动函数I/O端口的意义,就能进行相关的数据采集的功能的实现,使用户在对采集卡进行操作时更加高效简单方便。安装好DAQ驱动程序(即NI?DAQmx)后,在LabVIEW的函数选板就会出现DAQmx节点,在程序框图中右击选择函数“测量I/O”,再选择“DAQmx数据采集”子选板寻找所需要的控件。针对测速传感器通道的数据采集方式采用NI?DAQmx函数完成,如图4所示。本设计采用的是可编程多通道多采样的采集模式,在DAQmx Read控件的下拉列表里选择“模拟”→“多通道”→“多采样”→“2D DBL”方式,使得测速传感器采集到的数据和专用设备采集到的数据类型一致,便于在同一个波形图上显示。采集启动后,下层的NI?DAQmx驱动程序控制PXI?6115采集卡进行数据采集。
2.3 读取数据功能
在读取数据事件中,将被测传感器采集到的数组整合成波形文件,并与三个测速通道组合成四通道波形数组,使之显示在波形图中,如图5所示。三条细线波形图分别是三个不同的测速传感器所测得的数据显示,黑色粗线波形是被测传感器所得到的数据显示。从图5中可以明显地看出测速传感器的时间间隔,可由式(1)和式(2)得到激波波速;同时也可以看出激波传到每个传感器的时间,直观地给用户提供了同步性能的实现。
3 压力传感器动态修正
3.1 改进GLS算法进行线性动态建模的原理与实现
3.2 在LabVIEW上的实现
通过调用Matlab公式节点,实现LabVIEW和matlab的混合编程,达到对目标传感器的动态修正。图6为动态性能修正前后的阶跃响应曲线,使用改进的最小二乘算法修正后的曲线效果明显。
4 结 语
本设计在LabVIEW平台的基础上,将通用的采集系统和专用的采集系统结合在一个软件中利用混合驱动编写,实现了不同总线同时通信的功能。使得激波管测速通道和专用设备被校准通道同时完成数据采集,并且对采集到的数据进行动态修正。实践证明,USB和DAQ同时通信是切实可行,用改进的最小二乘算法优化传感器模型参数,能够寻求一组实用参数,对传感器的动态性能修正改善显著。
参考文献
[1] JOHNSON G, JENNINGS R. LabVIEW graphical programming[M].武嘉澍,陆昆,译.北京:北京大学出版社,2002.
[2] 李威宣,黄建新.基于LabVIEW平台的通用数据采集卡的驱动方法及数据采集[J].电子质量,2005(7):14?16.
[3] 解亚妮,石晓丹,冯浩,等.基于美国NI的多通道数据采集系统[J].可编程控制器与工厂自动化,2014(12):85?87.
[4] 轩青春,轩志伟,陈保立.基于最小二乘与粒子群算法的压力传感器动态补偿方法[J].传感技术学报,2014,27(10):1363?1366.
[5] 闫纪红,杨伟成.基于PXI和LabVIEW的双板卡远程数据采集系统设计[J].实验技术与管理,2013,30(7):80?82.
[6] 唐杲.基于虚拟仪器的动态压力测试系统设计测试系统设计[D].成都:电子科技大学,2013.