基于Labview的直流电压表设计

2015-01-08 02:02周瑞卿褚政泱
中国科技纵横 2014年12期
关键词:电压表虚拟仪器上位

周瑞卿 褚政泱

(南京信息工程大学信息与控制学院,江苏南京 210044)

基于Labview的直流电压表设计

周瑞卿 褚政泱

(南京信息工程大学信息与控制学院,江苏南京 210044)

以单片机IAP15F2K61S2为核心的下位机进行电压采集和 A/D 转换,通过串口与上位机进行数据通信,利用虚拟仪器 LabVIEW 环境开发了包括通信匹配、数据处理、显示及存储等模块在内的电压表采集系统的上位机软件,实现了虚拟数字直流电压表的设计和开发。经测试,本文设计的虚拟电压表运行良好,灵敏度可达 4.9mV。可拓展性强,人机交互界面优良,具有良好的推广价值。

LabVIEW IAP15F2K61S2 直流电压表 串口通信

1 引言

1.1 现状

现有的直流数字电压表采用模数(Analog/Digital,A/D)转换器件和集成逻辑器件进行设计,不便于系统升级与集成,显示界面单一,且不方便对采集到的电压值进行存储与处理。而采用集成了ADC的MCU及虚拟仪器技术设计电压表,采样速率高精度高[1,2]。而且虚拟电压表突破了传统电压表的功能局限,利用功能强大的个人计算机来完成信号的处理与存储,使计算机功能最大化地服务虚拟仪器[3,4]。

1.2 研究目标与意义

本文采用STC公司最新款单片机IAP15F2K61S2和美国国家仪器公司(National Instrument,NI)的LabVIEW编程语言开发的虚拟电压表,采样速率可达0.3MHz,灵敏度可达4.9mV。并可根据自己的需要定制功能,可作为实验设备投入高等院校教学,具有拓展性强可二次开发后期维护成本低等优点。

2 系统总体方案设计

2.1 上位机开发平台选择

上位机的软件开发平台目前主要有两类:

第一类是基于传统语言的Visual Basic、Visual C++、Delphi等,这类开发语言具有适用面广、开发灵活的特点。但这种开发方式对测试人员要求很高,用这种平台语言开发测试工程软件难度大、周期长、费用高、可拓展性差。

第二类是基于图形化的编程软件,如NI公司的LabVIEW、HP公司的VEE等。这类软件都通过建立和连接图标来构成虚拟工作程序并定义其功能,而不是用传统的文本编辑形式。他们具有编程效率高、通用性强、交叉平台互换性好的特点,适用于大批量多品种仪器的生产。

鉴于以上考虑,在此系统中我们选择LabVIEW作为上位机软件的开发平台。

2.2 下位机简介

下位机硬件电路核心为IAP15F2K61S2单片机。它属于STC15F2K60S2系列单片机。完全兼容传统8051,但速度快8-12倍。内部集成高精度R/C时钟,5MHz~35MH宽范围可设置,可彻底省掉外部昂贵的晶振和外部复位电路。61k字节的闪存程序存储器,高达2k字节的SRAM。内置8路高速10位A/D转换(30万次/秒),2组高速异步串行通信端口。

3 系统软件设计

系统上电后,单片机进行初始化工作,初始化结束后,单片机驱动AD模块采集电压值,单片机通过AD中断判断AD转换是否结束,结束则读取数据并转换成电压值,并且判读以何种单位显示,之后送入液晶显示器显示,并送上位机LabVIEW软件进行处理。此外,电压表下位机还具备自动休眠功能,即一段时间后使单片机自动进入掉电模式,从而降低系统的功耗。4 上位机软件设计

4.1 总体架构

LabVIEW开发上位机软件的编程思想是面向对象的,所以开发时我将想要实现的功能模块化。主要分为4个模块:实时时钟模块、电压表界面、示波器界面与数据存储模块、及通信设置界面。

4.2 LabVIEW串口通信的实现

在LabVIEW环境中使用串口与在其他开发环境中的开发过程类似[7]。

首先需要串口配置函数完成串口的参数设置。如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA写入函数,接收数据使用VISA读取函数。在接收数据之前需要使用串口字节数函数查询当前串口接收缓冲区中的数据字节数,如果VISA读取函数要读取的字节数大于缓冲区中的数据字节数,VISA读取函数操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。在串口使用结束后,使用VISA关闭函数结束与VISA资源名称指定的串口之间的会话。

4.3 示波器界面与数据存储模块

在上位机中开发示波器界面的原因是方便观察电压值得变化趋势,有利于数据的直观显示与分析。此外,上位机还具备数据存储功能。如运行程序后,在上图的文件路径输入指定的文件存储路径与文件类型后,下位机采集上传的电压值便会自动保存在刚刚设定好的文件当中。

5 结语

本文基于IAP15F2K61S2和虚拟仪器技术设计并制作了虚拟电压表,采样速率可达0.3MHz,数据传输速率可达115200bps,灵敏度可达4.9mV。由于采用虚拟仪器技术,降低了系统的开发成本和难度,系统集成度高,并具有良好的可拓展性,具有一定的推广价值。

[1]丁红斌,秦会斌,孙顺远.基于STM32的虚拟示波器的设计与实现[J].电子器件,2009,32(6):1007-1010.

[2]张立勋,李雪伟,唐小景.STM32与LabVIEW串行通信的设计[J].煤矿机械,2011,32(5):215-217.

[3]张勇,董浩斌.基于STM32和LabVIEW的地震数据采集卡的设计[J].测控技术与仪器仪表,2012,38(10):72-75.

[4]罗银波,敬东胡,柏青夏等.基于LabVIEW的数字万用表设计与实现[J].科学技术与工程,2011,11(19):4592-4595.

[5]莫勇涛,杨景常.基于LABVIEW的多功能虚拟直流电压表设计[J].智能仪表与传感器,2011,19(6):1507-1509

[6]高利鑫,唐飞,王晓浩.基于TMS32OF2812与LabVIEW的FAIMS信号采集处理系统[J].测控技术,2012,31(12):22-25.

[7]李江全,刘恩博,胡蓉.LabVIEW虚拟仪器数据采集与串口通信测控应用实战[M].北京:人民邮电出版社,2010.

猜你喜欢
电压表虚拟仪器上位
如何判断电压表的测量对象
特斯拉 风云之老阿姨上位
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
虚拟仪器及其在电工电子实验中的应用
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
虚拟仪器技术在农业装备测控中的应用
电压表的妙用
再探电压表内阻的测量方法
基于虚拟仪器的DMFC实时监控系统