基于LabVIEW和单片机的称重信号采集
2017-05-13卢志浩吴维华雷菊阳
卢志浩,吴维华,雷菊阳
(1.上海工程技术大学 机械工程学院,上海 201620;2.上海仪器仪表研究所,上海 200082)
基于LabVIEW和单片机的称重信号采集
卢志浩1,吴维华2,雷菊阳1
(1.上海工程技术大学 机械工程学院,上海 201620;2.上海仪器仪表研究所,上海 200082)
在称重方案设计中,为了避免单片机和PC机通信时必须采用串口线连接或USB转串口线连接的弊端,并且更好的适应USB接口正逐步成为PC机的标准接口这一大的趋势的要求。同时克服单片机的处理能力有限,难以满足控制的需求的缺点,采用处理能力强及人机交互好的PC机作为上位机,对采集到的数据进行进一步分析和处理,以达到更高的要求。方便采集信号和实时显示信号变化,更好地实现称重信号采集过程中的的人机交互界面的功能,实现仪器智能化。以STC89C52单片机为下位机、PC机为上位机,基于LabVIEW2014 编写上位机软件,通过USB数据线直接连接单片机USB口与PC机USB口,实现单片机与PC机的串行通信过程,使测试方便、简洁、人性化。包括下位机STC89C52单片机的最小系统设计、CH340通信电路设计、下位机单片机通信的软件设计、上位机LabVIEW2014通信的软件设计。实现称重系统测试信号智能化。
LabVIEW2014;USB接口;通信;CH340;VISA;STC89C52
0 引 言
随着全球范围内各种科学技术的发展,中国工业4.0的大力倡导,工业领域自动化水平的逐渐提高。特别是进入信息时代以后,数字技术与信息技术大力发展、结合,称重行业也迎来了好的发展机遇。传统的称重计量与控制系统中采用模拟技术的思路正逐步向应用数字技术与数字系统的方向转变。随着对称重技术的要求不断提高,称重设备将逐渐从传统的模拟式向智能化、数字化的方向发展。对衡器行业提出了电子衡器数字化、智能化的要求[1]。
LabVIEW(又称为G语言)是一种基于数据流的图形化编程环境[2],由美国的NI公司开发的,它使用图标的方式来创建程序[3]。设计者可以自主设计仪器面板,简化了程序设计,提高了工作效率。目前被广泛应用于数据采集以及工业自动化仪器控制等方面[4]。近年来在检测和控制领域得到了快速发展。因其程序是图形化的框图形式,在人机交互等方面具有天然的优势,已逐渐成为上位机编程软件的不二选择。
单片机等外部器件与PC机常选用串口通信方式进行通信。串口通信的定义是指PC机和外部器件是以控制线、地线、数据信号线等通信线按位操作进行数据传递的一种通讯方式[5]。串口通信的优点是:通讯时使用少量数据线,节约了通信的投入成本,广泛应用在远距离通信中。串口通信的缺点是:与并行通信相比,其传输速度慢,从而传输效率较低。
PC机和外部仪器设备之间的连接,比较常见的硬件接口是并口、串口以及USB口[6-7]。大多数计算机硬件部分采用针式串口作为常用的与外部设备进行通信连接的接口。大多数市场上销售的计算机(除个人笔记本电脑)均包含一个以上基于RS-232的硬件串口。串口的应用范围不仅如此,串口作为通用的通信协议同时也大量应用在仪器仪表设备的通信之中;越来越多的兼容GPIB的设备也都有基于RS-232的硬件串口。串口通信协议的另一个重要应用是可以实现远程设备的数据采集、传输,提高仪器智能化。在PC领域里以RS-232、RS-485协议为代表的串口通信因其通信稳定、抗干扰能力强及成本低等优点被普遍应用在工业领域。
实际应用中串口通信方案采用PC机RS-232端口通过串口线和单片机串口通信,或者是单片机的USB口通过USB转串口线与PC机RS-232d端口通信。但目前的电脑都没有串口接口,多以USB口代替,新型单片机也逐渐淘汰老式串口接口,以USB口来代替。
本文设计了一种基于LabVIEW和单片机的称重方案,由于目前USB接口逐步成为PC机的标准接口,在本设计中,我们选择USB接口来完成单片机与PC之间的通信,通过通用的USB数据线进行直接单片机和计算机通信的新方法,能实时显示数值、直观了解信号变化。使称重测试智能化。
1 硬件电路设计
基于串口通信的单片机硬件电路设计,主要有单片机STC89C52最小系统设计、CH340通信模块设计。以USB转串口的方式实现上位机和下位机的通信,将下位机的串口经过USB转串口芯片转换成USB接口来连接上位机[8-9]。上位机通过USB连接线就可以连接下位机。CH340芯片用以实现USB 总线的转接的功能,实现USB口转接打印口、USB口转接IrDA 红外、USB口转接串口等。 当实现USB口转接串口功能时,CH340 芯片可以提供通用的MODEM联络信号,以便为计算机扩展异步串口,或者将传统的设备串口直接升级到USB总线。所以CH340可以实现USB转串口的功能[10]。PC机的TXD线和RXD线分别与单片机的TXD管脚和RXD管脚实现交叉连接。通信连接示意图如图1所示[11]。
图1 PC 机与单片机通过USB通信的线路连接
1.1 单片机STC89C52最小系统设计
STC89C5单片机最小系统设计包括STC89C5单片机主体、晶振实现电路、复位实现电路、电源实现电路。设计STC89C5单片机最小系统电路图如图2所示。
图2 单片机STC89C52最小系统
1.2 CH340通信电路设计
CH340通信电路如图3所示。
图3 CH340通信电路
PC机通过USB与单片机初次连接时,连接前,需在PC上安装USB转串口的CH340芯片的WINDOWS驱动程序安装包(支持WINDOWS 98/ME/2000/XP/Server 2003/VISTA/, Server 2008/Win7/Win8 32位/64位)。通过微软数字签名认证技术,在计算机端将USB设备仿真为标准Serial串口设备COM, 包含识别CH34X串口号及监视CH34X设备插拔的库)。这样PC机才会映射出一个连接串口,并与单片机串口相连接。成功安装USB驱动安装完成软件驱动后,接入USB线,两端是一样的,一端接入开发板USB座,另一端接入电脑USB口,接入后电脑会发现新硬件。通过右键“我的电脑”,打开设备管理器,看到设备管理器里多出了一个COM端号。
2 通信软件设计
本文中的通信的实质是串口通信的方式。通信协议按照串口通信方式设计,采用的了UART异步串行接口方案。从机的串口通信是通过单片机在Keil C51环境下编程调用UART异步串口来实现的。而主机的串口通信则是在LabVIEW2014环境下编程实现的串口程序设计。
2.1 单片机程序设计
单片机以方式1(10位异步收发)进行串口工作, 定时器T1 工作在方式2(8位自动重装定时器)。
主程序如下:
void main()
{
int16ans;
TMOD = 0x21; // 定时器1工作在方式2(自动重装)
SCON = 0x50; // 10位uart,允许串行接受
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;
while (1)
{
start_temp_sensor();
delay_ms (1000); // 延时1秒
ans=read_temp();
if (ans < 0)
{
UART_Send_Byte('-');
ans = -ans;
}
UART_Send_Dat(ans);
UART_Send_Byte(' ');
UART_Send_Byte(' ');
}
}
2.2 LabVIEW程序设计
使用LabVIEW进行程序设计,主要包括程序前面板设计、框图程序设计以及程序调试这几个部分的内容[12]。
2.2.1 相关控件介绍
用LabVIEW实现串口通信前,第一步要安装VISA驱动,最先版VISA驱动可以从LabVIEW官网上免费下载。LabVIEW实现串口通信的方式是读取串口和写入串口[13-14]。本文的研究工作主要是读取数据,也就是读取外部单片机的操作。在LabVIEW程序设计之前,首先简单介绍下与读取外部单片机的操作有关的控件和函数[15]。
1) VISA资源名称
位于LabVIEW 前面板—控件选板—新式—I/O—VISA资源名称。VISA驱动安装完成后,连接上外部器件,在该控件下会列出新读取的所有COM口,选择合适的COM口,即可与外部器件连接。
2) VISA配置串口函数
位于LabVIEW程序框图—函数选项—仪器I/O—串口—VISA配置串口,完成相关参数配置,主要参数包括数据比特、波特率、奇偶校验等[16]。
3) VISA读取和VISA关闭函数
VISA读取函数位于LabVIEW程序框图—函数选项—仪器I/O—串口—VISA读取,从VISA资源名称所连接的设备或接口中读取规定数量的字节,并将返回数据至读取缓冲区。
VISA关闭函数位于LabVIEW程序框图—函数选项—仪器I/O—串口—VISA关闭,来关闭VISA资源名称连接的事件对象或设备会话句柄。
2.2.2 前面板设计
根据本文的设计要求,在基于LabVIEW和单片机通信的称重信号采集方案设计的前面板的设计窗口中,通过控件选板添加数字显示控件、仪表显示控件、实时图形显示控件、指示灯控件和串口资源检测控件。LabVIEW程序前面板设计图如图4所示。
图4 LabVIEW程序前面板
2.2.3 框图程序设计
程序设计思路:读单片机发送给PC的十六进制数据,并转换成十进制数据。
1)串口初始化框图程序
采用顺序结构,在顺序结构Frame 0中添加串口配置函数,并将VISA资源名称函数的输出端口与VISA串口配置函数的输入端口“VISA资源名称”。相关参数设置(如波特率、奇偶校验[17]等)与单片机串口程序参数一致。Frame 0框图程序设计如图5所示。
图5 LabVIEW串口初始化框图程序
2)读取压力值框图程序
在顺序结构Frame 1中添加串口字节数函数、串口读
取函数、字符串转字节数组函数、索引数组函数、加号函数、乘号函数、数值常量。将各个端口对应连接,Frame 1框图程序设计如图6所示。
图6 LabVIEW读取压力值框图程序
3)LabVIEW延时框图程序
在顺序结构Frame 2中添加时钟函数、数值常量,将对应端口相互连接,Frame 2框图程序设计如图7所示。
图7 LabVIEW延时框图程序
3 测试
通过USB数据线将单片机和PC机连接好,运行程序。给压力传感器加压,程序画面将显示温度测量值和曲线图。程序运行画面如图8所示。
图8 Labview程序运行界面
4 结束语
本文介绍了利用LabVIEW2014编写程序实现单片机与计算机的USB接口之间的通信,实现了称重测量的人机交互界面的设计。方便称重数值的读取和观看数值变化。此方案界面美观,实现起来较容易,可以很方便地运用于各种测量系统中。具有一定的工程实践意义。
[1] 韦康康.高精度电子天平的研究与设计[D].杭州:杭州电子科技大学,2011.
[2] 陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.
[3] 陈雨青, 基于LabVIEW的虚拟信号发生器[D].成都:电子科技大学,2010.
[4] 陶娟娟.基于Labview的计算机与单片机的通信设计[J].《科技展望》,2015,25(36):36-36.
[5] 徐超.LabVIEW在实时测控系统中的应用研究[D].重庆:重庆大学,2005.
[6] 邵鹤帅.基于LabVIEW的单片机串口通信技术的研究[J]. 科技信息, 2009,26(34):34-34.
[7] 李燕杰.虚拟信号源的研究与设计[D].石家庄:河北师范大学,2007.
[8] 黄伟.基于单片机的蜂箱蜜蜂监测系统设计[J].中国测试,2014,40(2):82-85.
[9] 李殿勋.基于工业用途的单片机多功能实验系统设计与分析[J].中国电子商务,2013,14(6):71-71.
[10] 陈海宴.51单片机原理及应用[M].北京:北京航空航天大学出版社,2010.
[11] 蔡共宣. 基于LabVIEW的单片机USB数据采集系统设计[J]. 实验科学与技术, 2010, 8(1):57-59.
[12] 江兴盟.胡代弟.LabVIEW在DDS信号发生器设计中的应用[J].校长阅刊, 2013,10(33):33-33.
[13] 武东平.基于Labview平台秸秆沼气气体成分检测系统的设计[J].当代农机,2013,42(2):78-80.
[14] 董志斌.虚拟仪器技术在机械电子工程专业综合实验中的应用[J].科教文汇,2013(28):59-59.
[15] 曹卫彬. 虚拟仪器典型测控系统编程实践[M]. 北京:电子工业出版社,2012.
[16] 高亚,徐秋.LabVIEW与STC89C54单片机串口通信实现[J].电子世界,2013,35(22):21-21.
[17] BEYON JY.LabVIEW Programming,Data Acquisitionand Analysis [M].London:Prentice Hall,2000.
Acquisition of Weighing Signal Based on LabVIEW and Single Chip Microcomputer
Lu Zhihao1, Wu Weihua2, Lei Juyang1
(1.College of Mechanical Engineering, Shanghai University of Engineering Science, Shanghai 201620, China;2.Shanghai Instrument Research Institute, Shanghai 200082, China)
In the design of weighing schemes, PCs with strong processing ability and good man-machine interaction are used as upper computer for further analysis and processing of acquired data in conformity with higher requirement, so as to avoid the disadvantage that serial port line connection or USB plus serial port line connection has to be adopted for communication between the single chip computer and PC, to adapt to the general trend of USB interface becoming standard PC interface, and to overcome the shortcoming that limited processing ability of the single chip computer cannot meet control demand. Signal acquisition and real-time display of signal change are made easier, man-machine interaction is improved in the process of weighing signal acquisition, and instrument intellectualization is realized. Upper computer software is compiled by using STC89C52 single chip computer as lower computer, PC as upper computer and LabVIEW2014 as the base. The USB port of the single chip computer and USB port of the PC are connected directly through USB data line to realize serial communication between the single chip computer and PC for simple, easy and humanized testing. Following contents are included: minimum system design for STC89C52 single chip computer as lower computer, design of CH340 communication circuit, software design for communication of lower computer (single chip computer), and software design for the communication of upper computer LabVIEW2014. In this way, testing signals are intellectualized for the weighing system.
LabVIEW2014;USB interface; communication; CH340;VISA; STC89C52
上海市科学技术委员会应用技术专项资金项目(2013-118)
10.3969/j.issn.1000-3886.2017.01.031
TN06
A
1000-3886(2017)01-0104-03
卢志浩(1990-),男,山东成武人,硕士生,研究方向为虚拟仪器、声表面波、嵌入式系统。
定稿日期: 2016-07-12