一种基于LabVIEW的光学自动测量系统
钱志欢,孙玉霞
(浙江工业大学 理学院,浙江 杭州 310023)
摘要: 本项目设计并测试了一套线性平移台和光功率计同步控制系统,运用LabVIEW图形化编程语言,编成了步进电机控制软件、光功率计控制软件、步进电机功率计实时画图软件。通过软件可以实现样本位置的精确控制,光功率计读数的自动记录并画图,而且能实现线性平移台运动和光功率计画图的实时同步。和手动方式相比,软件方式既减轻了劳动力又加快了实验时间,同时还能避免人工实验的倦怠出错和不精确性。 关键词:运动控制;软件;实时同步;步进电机;光功率计
A LabVIEW-based automatic control system utilized for optical measurement
QIAN Zhihuan, SUN Yuxia
(College of Science, Zhejiang University of Technology, Zhejiang Hangzhou 310023, China)
Abstract: An automatic control system of the power meter synchronized with the linear stage based on LabVIEW is designed and texted in this project. We compiled a stepper motor control software, a power meter control software, and a stepper motor power meter real-time drawing software with LabVIEW graphical programming language. By software we can not only achieve the precise control of the sample position, power meter reading automatic recording and drawing, but also the linear stage movement and the power meter drawing can be real-time and synchronized. And compared to manual mode, the software approach can reduce labor, accelerate the experimental time and avoid errors and inaccuracies caused by burnout of manual experiment.
0引言
步进电机作为机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。关于步进电机控制已有大量的报道,但大多结合单片机、PLC、ARM等进行编程[1-4]。基于虚拟仪器开发软件LabVIEW的步进电机控制虽然也有报道,但大多结合单片机来进行控制,很少见到有用运动控制器来控制步进电机的报道。本项目还要求能实现图像的实时同步采集,这在国内外研究中也是非常热门的。
LabVIEW是美国国家仪器公司(National Instrument)开发的一种虚拟仪器平台。他是一种图形化编程语言,具有强大功能,提供了丰富的数据采集、分析和存储库函数,比传统的文本式语言更具有优势。 1步进电机控制软件
1.1 步进电机控制软件
我们项目电机模块所用的硬件为连胜光电的LSDP-50JS型电机和平移台,以及LSKZA04型运动控制器,如图1.1所示。
图1.1 LSDP-50JS型电机和LSKZA04型运动控制器
厂商提供了开发源代码以及动态链接库dll文件,因此我们对运动控制器进行了软件开发,应用labview图形化语言编成了步进电机控制软件(如图1.2)。通过这个软件,我们可以由用户输入步进电机的速度参数;可以按键、增量、目标方式多选择运行;能实时显示线性平移台的位置,还能由用户设定的方案运行。由于步进电机是电脉冲驱动的,每步转动1.8°,步的显示对于用户来说不够直观,因此我们对步进电机定标,实现了步与毫米的转化,即10000步对应6.25毫米。
图 1.2 步进电机控制软件
1.2 步进电机的运行方式
按键方式为用户按住前进或后退键步进电机转动,从而平移台向前或向后运动,鼠标释放电机运行停止。
增量方式为用户输入增量数,选择步或毫米,点增加平移台向前行进,点减少后退。 目标方式为用户输入目标位置,平移台可运行到该位置。 1.3 步进电机软件的程序框图
Labview的编程环境分为前面板和程序框图,前面板为提供用户交互的界面,程序框图是LabVIEW实现程序结构控制命令的图形表示。我们首先用了一个层叠式顺序结构,前两帧为运动控制器的打开和连接;然后用循环结构嵌套事件结构的方式来触发控制电机,用户在前面板点击一个按键,就对应地触发了一个事件;在事件外放了一个检测电机是否忙的子
vi的while循环,当电机运行结束就返回1,执行getdata子vi,即得到平移台的当前位置。程序框图如1.3图所示。
图1.3 步进电机控制软件程序框图
2光功率计控制软件
项目所用的光功率计为Newport公司的1918-c型功率计,如图2.1。
图2.1 1918-c型光功率计
对光功率计的编程主要分成三个核心模块:计算机与光功率计的通信模块,数据回传模块和数据存储和绘图模块。
通信模块如图2.2所示,该模块的作用在于,使计算机能够识别光功率计这台设备,并打开通信端口,使双方准备进行交互数据传输。
图2.2 计算机和光功率计的通信模块
数据回传模块的功能在于,我们可以通过计算机对光功率计发送指令,命令其将当前功率大小回传至计算机,以方便对功率数据进行进一步分析。该模块如图2.3所示。
图2.3 计算机和光功率计的通信模块
数据存储和绘图模块的作用在于,可以将连续输入的光功率数据存储到指定位置,并实时绘制扫描曲线。该模块如图2.4所示。
图2.4 数据存储和绘图模块 光功率计软件界面显示功率的时间分布图,每秒采集一次光功率计的读数。相应的软件界面和程序框图如图2.5和图2.6所示。
图2.5 光功率计控制软件

