基于LabVIEW的虚拟直流电压表设计

2014-11-05 07:35:56张佑春
浙江科技学院学报 2014年5期
关键词:前面板虚拟仪器量程

张佑春

(安徽工商职业学院 电子信息系,合肥231131)

伴随着电子技术、计算机技术、测试测量技术等的飞速发展,传统的测试仪器由于其本身存在的测量精度、测量误差、硬件固化及维护成本等诸多缺陷,越来越不能适应当下测试测量行业发展的要求。20世纪80年代由NI公司提出的虚拟仪器是对传统仪器时代的一次革命,虚拟仪器主要借助于计算机丰富的软硬件资源,实现传统测试测量仪器的数据采集功能,同时完成对信号的调理、处理、存储、输出和显示等诸多功能[1-3]。虚拟仪器开发中使用一种图形化的编程语言——LabVIEW,该软件内置VXI、GPIB、RS-232、RS-422、RS-485、USB等协议接口,富含ActiveX、TCP/IP等软件标准库函数,同时还提供CIN代码接口节点和DLL动态链接库功能[4-6]。软件编程摒弃传统的文本语言,采用直观的图形化语言——G语言,编程方便、界面友好。

本研究正是在综合考虑传统仪器与虚拟仪器的各自特点与应用场合后,采用了虚拟仪器LabVIEW软件,以计算机丰富的软硬件为平台,设计了一种新型的数字式直流电压表。

1 系统硬件电路设计

1.1 硬件电路总体方案设计

虚拟直流电压表的硬件系统设计主要包括测量对象、A/D转换模块、增益选择模块和通道输入模块4个部分。系统框图如图1所示。

图1 虚拟直流电压表的硬件系统设计框图Fig.1 Design diagram of virtual DC voltmeter hardware system

1.2 A/D转换模块设计

A/D转换电路设计采用双积分式12位A/D转换芯片ICL7109,该芯片具有转换速度快、转换精度高等特点。为与微处理器通信方便,该芯片分别内置了2个14位的数据寄存器和锁存器,大大简化了外围电路设计。ICL7109提供了2种数据交换方式,即间接方式和直接方式,可以通过设置MODE引脚完成方式设定。前者采用标准工业数据交换格式,主要针对远程数据采集;后者在数据输出过程中,由B1~B8完成低8位字节数据输出,由B9~B12完成高4位数据输出。该方式可在片选和字节使能的控制下直接读取数据[7-9]。系统MODE引脚设置低电平,为直接方式,通过改变电位器的状态,经INH引脚完成模拟电压Vx的输入。A/D转换时序图与模块电路原理图分别如图2、图3所示。

1.3 增益选择模块设计

鉴于待测模拟信号比较微弱,为得到合适的测量信号,电路引入集成运算放大器LM324,增益选择功能可以通过模拟开关CD4052实现。它是数字控制的模拟数据选择/分配器,具有低导通阻抗和低泄漏电流等特性,通过2个二进制输入端A、B和一个禁止输入端INH来实现通道选择。模块电路中支持4档增益选择,即0.5、1、2、5倍。增益选择模块电路如图4所示。

1.4 通道输入模块设计

通道输入模块电路提供了3路输入信号,分别是2.048V参考电压VREF输入通道,0V接地通道,以及直流测量电压输入通道,即7109+和7109-。需要说明的是,测量电压通过调节电位器来实现,电压范围在0~±4V之间。

由ICL7109的A/D转换关系,有

图2 A/D转换时序图Fig.2 A/D conversion timing chart

式中:VIN—A/D转换器输入电压;NOUT—A/D转换结果的12位数字量;VREF—A/D转换器外部参考输入电压。调节至VREF=2.048V,此时NOUT可以看作为以mV为单位表示的VIN,即

图3 A/D转换模块电路原理图Fig.3 A/D converter module circuit diagram

图4 增益选择模块电路原理图Fig.4 Gain selection module circuit diagram

2 系统软件设计

2.1 软件设计流程

系统基于PC机的虚拟仪器软件平台——LabVIEW构建测量方案,实现直流电压的数字化测量,完成虚拟交流数字电压表的设计。整个流程采取顺序程序结构,依次实现对象选择、量程选择、EPP接口初始化与读数校验、7109启动与运行、量程超出判断,以及结果显示等功能。整个软件设计流程图如图5所示。

2.2 DLL动态链接库调用

程序设计主要借助Labwindows/CVI编写底层fp函数,在程序实现时可直接调用驱动函数动态链接,即7109.dll函数,驱动函数原型及常数和变量在封装在cvidll.prj工程中。程序设计时,应加入动态链接7109.dll动态链接库函数。实现直流电压测量的驱动函数主要包括以下函数:

void stdcall epp_init(void) ∥初始化EPP接口;

int stdcall epp_read_check(void) ∥EPP读数检查;

int stdcall run_7109(unsigned char m_what,unsigned char gain_cw,double vref,double*rult) ∥运行7109,实现7109的读数及转化;

void stdcall amp_7109(unsigned char gain_cw,double*gain,int*showdot) ∥根据量程设置增益和显示位数;

void stdcall indicator_7109(unsigned char gain_cw,double*indicator_gain,double*indicator_max) ∥根据量程设置7109输入增益,电压表最大显示数字;

void stdcall start_7109(void) ∥启动7109;

int stdcall display(double display_data) ∥显示。

2.3 前面板设计

虚拟直流数字电压表的主要功能是用于完成测量与显示电位器或外部直流电压。虚拟仪器前面板设计有测量对象选择按钮和测量与自测选择按钮,在数据测量中提供了数字和表盘两者同时显示。参照高速数据采集的相关主要性能指标,设计设置了8档量程,即8、4、2、0.8、0.4、0.2、0.08、0.04V,对应增益为0.5、1、2、5、10、20、50、100倍。同时,前面板上设置超量程指示,测量的启动和退出等功能。考虑到电压表在实际使用时的需要,故将量程选在最大档,量程缺省值设为8V。虚拟直流电压表前面板设计如图6所示。

图5 软件设计流程图Fig.5 Software design flow

图6 虚拟直流电压表前面板Fig.6 Front panel of virtual DC voltmeter

2.4 程序框图设计

由前面板设计可知,“退出”按扭控制了程序的运行状况,“测量”按钮控制了测量状况,因而可采用structure中的while循环作为设计主框架。考虑到LabVIEW的顺序流程特性,顺序结构同样适用于循环内部设计。因此,可借助structure中的flat sequence case结构完成程序流图设计。

整体设计流程大体上由4个步骤构成:首先,对EPP接口初始化,可通过调用动态链接库函数来完成,同时库函数无需返回数值;其次,启动7109,依然可通过调用动态链接库函数来完成,库函数仍无需返回数值;再次,启用EPP读数据校验,此处通过设置函数返回值来判断EPP读数据成功与否,成功则继续,否则将“测量”按钮弹起,程序停止;最后,运行7109,借助case结构选择测量对象和量程,把run_7109的输出用于表盘和led数字显示。超量程可根据7109的返回值判断,不等于1则超出,同时点亮超量程指示灯。部分程序框图面板如图7所示。

图7 虚拟直流电压表程序框图面板Fig.7 Program diagram panel of virtual DC voltmeter

3 系统测试与分析

为分析与比较虚拟直流电压表和传统电压表的测量测试性能,分别对被测对象进行了测试,采用3块传统直流电压表得到平均值,再与虚拟直流电压表进行误差比较。容易得出,采用虚拟直流电压表测试数据误差小、精度高。测试结果分别如表1、表2所示。

表1 传统电压表测试数据Table 1 Test data of traditional voltmeter

表2 虚拟直流电压表测试数据Table 2 Test data virtual DC voltmeter

4 结 语

采用虚拟仪器LabVIEW软件设计的虚拟直流电压表,大大简化了传统电压表的硬件结构与制造维护成本,克服了传统电压表测量精度不高,数据无法存储、分析、计算以及携带不方便等一系列缺点;同时,简化的图形编程语言进一步缩短了开发周期,也方便后期产品功能更新和性能优化。由于设计选取的A/D转换器、参考电压和增益电阻的精度高,经过实验测试,开发的虚拟直流电压表具有测试方便、测量精度高等优势,有广阔的市场应用前景。

[1] National Instruments Corporation.LabVIEW User Manual[Z].2008.

[2] 陈国顺,于涵伟,王格芳,等.测试工程及LabVIEW应用[M].北京:清华大学出版社,2013.

[3] 章佳荣,王璨,赵国宇.精通LabVIEW虚拟仪器程序设计与案例实现[M].北京:人民邮电出版社,2013.

[4] 陈世超.基于虚拟仪器的多路电压测量的设计与实现[J].电子设计工程,2012,20(8):82-84.

[5] 程双江,李世平,郑堂.基于LabVIEW 的数字电压表设计[J].电子测量技术,2013,36(1):88-90,104.

[6] 范强,付永丽.基于LabVIEW 8.2的多用虚拟电压表设计[J].现代电子技术,2009,311(24),183-185,188.

[7] 莫勇涛,杨景常.基于LabVIEW 的多功能虚拟直流电压表设计[J].计算机测量与控制,2011,19(6):1507-1509.

[8] 王锋,杨超,赵河明.基于LabVIEW 的虚拟温度检测系统[J].测试技术学报,2013,27(5):431-435.

[9] 刘东升,尹成群,吕安强,等.基于虚拟仪器技术的电子测量仪器平台开发[J].仪表技术与传感器,2011(9):23-25,55.

猜你喜欢
前面板虚拟仪器量程
基于惯性导航量程扩展的滚动再次受控方法
颜值高和散热强可以并存3款高品质机箱推荐
电脑报(2021年21期)2021-08-19 17:22:40
宽量程计量自动切换及远程传输技术
煤气与热力(2021年4期)2021-06-09 06:17:06
电竞潮牌范 航嘉GX520S机箱评测
电脑报(2019年29期)2019-09-10 07:22:44
煤气化装置中吹扫转子流量计量程选取探讨
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
电子制作(2017年13期)2017-12-15 09:00:26
虚拟仪器及其在电工电子实验中的应用
电子制作(2017年1期)2017-05-17 03:54:33
虚拟仪器技术在农业装备测控中的应用
宽量程蒸汽流量测量方法的探讨
基于虚拟仪器的DMFC实时监控系统
电源技术(2016年9期)2016-02-27 09:05:28