李训文
(淮阴师范学院 物理与电子电气工程学院, 江苏 淮安 223300)
基于虚拟仪器技术的步进电机远程测控系统设计
李训文
(淮阴师范学院 物理与电子电气工程学院, 江苏 淮安 223300)
虚拟仪器技术是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用.该设计通过选用AT89C2051单片机、DS18B20温度传感器、TMS320C5402的DSP、CH372的USB接口芯片等器件完成测试现场(Web Server端)的硬件设计,利用LabVIEW软件完成对接口设备的驱动、数据采集、数据处理、控制信号的生成以及网络通信功能的实现,最终实现操作者远程控制步进电机的转速与转向随环境温度的改变而改变.
虚拟仪器; 远程面板; TMS320C5402; 步进电机
虚拟仪器是计算机技术和仪器技术深层次结合的产物,是计算机辅助测试领域的一项重要技术,它代表着当今仪器领域的最新发展方向[1]. 随着人们对虚拟仪器研究的不断深入,其已在仪器控制、数据采集、过程监控、自动测试、工业自动化等众多领域得到广泛的应用.在进行远程测控时,用户往往希望能在家中或办公室的计算机上通过网络直接控制位于测控现场的主控计算机上的测试软件,而且还要实时观测测控数据.传统的网络编程语言虽然也能实现上述功能,但要求用户具有高深的网络知识和高级编程技术和技巧,并且还要付出艰辛的努力.若利用LabVIEW的远程面板(Remote Panel)技术,不需要任何编程,只需在LabVIEW中设置几个参数就可以轻松解决这个问题.
1.1 虚拟仪器概述
虚拟仪器是基于计算机的仪器,就是在通用计算机上加上一组软件和硬件,使得使用者在操作这台计算机时,就像是在操作一台自己设计的专用的传统电子仪器.虚拟仪器的实质是利用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出检测结果;利用I/0接口设备完成信号的采集与调理;利用计算机强大的软件功能实现信号数据的运算、分析和处理,从而完成各种测试功能的一种计算机仪器系统.
图1 虚拟仪器组成结构
1.2 虚拟仪器结构
虚拟仪器由通用仪器硬件平台和应用软件两大部分构成,其结构如图1所示,其中硬件平台主要完成对外部信号的采集与调理,软件部分完成对信号数据的分析处理,是这个仪器系统的关键,使用者可以通过修改软件的方法来实现不同的仪器功能,因而有“软件就是仪器”之说.
1.3 虚拟仪器的图形化开发平台
虚拟仪器的图形化开发平台(LabVIEW)是实验室虚拟仪器集成环境的简称,是目前应用最广、发展最快、功能最强的图形化软件开发集成环境.LabVIEW已成为测试与测量领域的工业标准,通过GPIB、VXI、PLC、串行设备和插卡式数据采集板可以构成实际的数据采集系统.它提供了工业界最大的仪器驱动程序库,同时还支持通过Internet、DDE和SQL等交互式通信方式实现数据共享.
LabVIEW程序称为虚拟仪器程序(VI).最基本的VI由3部分组成:前面板、框图程序和图标/连接端口.前面板就是图形化用户界面,用于设置输入数值和观察输出量,输入和输出都是以图形化的图标形式出现,如旋钮、开关、按钮、LED指示灯、波形图等,因而可以模拟真实仪器的前面板.每一个前面板都有一个框图程序与之对应,框图程序用图形化编程语言编写,可以把它理解成传统语言程序中的源代码.图标/连接端口相当于图形化的参数,可以把VI变成一个对象(SubVI),然后向子程序一样在其它VI中调用.
本系统根据采集到的现场温度来控制步进电机的工作,系统组成框图如图2所示. 单片机读取数字温度传感器所传送的温度数据,并通过串口传给测试服务器,利用服务器上的LabVIEW的VI应用程序将获取的温度数据转化为实际温度并与预先设定的温度进行比较,服务器根据比较的结果再通过USB总线来控制步进电机的转速及转向.
图2 系统组成框图
2.1 硬件电路设计
2.1.1 数字温度传感器DS18B20
DS18B20是美国DALLAS公司生产的单线数字温度传感器,测量的温度范围在-55~125℃之间,在-10~+85℃时精度为±0.5℃.DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内,DS18B20可把温度信号直接转换成串行数字信号供微机处理,DSB18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯:信息的读出或写入.引脚线中除了一根数据输入输出口线外,另二根为电源和地线.DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源.当VDD端口接3.0~5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源.无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻,本设计采用寄生电源的供电方式[2].
2.1.2 单片机控制电路
本设计采用AT89C2051单片机对温度传感器进行控制,AT89C2051的P1.0引脚与DS18B20的数据输入输出口线I/O连接,再通过串口与上位机进行通信,串口波特率配置为1200,采用偶校验.当单片机接收到串口数据“0x7E”时,将采集的温度数据帧送往串口.温度数据帧格式为“0xF9,0xPP,0x00/0xFF”共三字节.其中:0xF9为固定帧头;0xPP的最高位为符号位,当0xPP的最高为0时表示温度值为正,反之,0xPP的最高位为1时表示温度值为负,低7位为温度整数部分的绝对值;0x00表示小数位0.0,0xFF表示小数位为0.5[3].
2.1.3 DSP控制电路
DSP芯片凭借其强大的功能、越来越快的速度以及高的性价比,被广泛用于通信、控制、图像处理等领域.本设计采用德州仪器公司推出的TMS320C5402的DSP,其采用先进的修正哈佛结构和8总线结构,使处理器的性能大大提高,TMS320C5402独立的程序和数据总线, 允许同时访问程序存储器和数据存储器,实现高速并行操作.
将USB、DSP 等技术手段应用于电子测量系统中, 将大大提高系统的测量精度、数据采集处理速度、数据传输速度等技术水平.本系统中TMS320C5402通过USB总线的通用设备接口芯片Ch372与上位机进行通信,ch372在计算机端提供了应用层接口,由Ch372动态链接库DLL提供面向功能应用的API.Ch372具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、DSP、MCU、MPU等控制器的系统总线上[4].
本设计采用20BY20L044型步进电机,它是四相四拍的方式运行,四相信号由LabVIEW应用软件产生,并将控制信号通过USB口传送给DSP,DSP接收LabVIEW发送的控制命令后,利用I/O数据空间产生相应的脉冲,控制脉冲经过ULN2003达林管后驱动电机的转动.
2.2 软件设计
虚拟仪器的特点就是用软件代替传统仪器的部分硬件,仪器的功能由用户通过软件来设定,因而仪器的功能更加灵活,更新换代更加方便.本测控系统的测试现场服务器端的软件设计包括:USB驱动,温度数据的采集与显示,步进电机随环境温度调控.
2.2.1 USB驱动
由于基于ch372的USB接口是非NI的I/O设备,这类设备在NI提供的驱动程序库中没有相应的驱动程序,因而LabVIEW不支持这类I/O设备.一般I/O设备都带有DLL驱动函数库以及相应的LIB文件和.H头文件,而LabVIEW恰好提供了外部程序接口能力,如调用动态连接库的CLF节点(Call Library Function),使用CLF节点便可驱动此类设备.使用CLF时必须进行必要的配置:1) 在配置对话框中找到将要调用的DLL文件; 2) 选择函数名; 3) 根据函数原型设置返回参数; 4) 根据函数原型设置输入参数.本设计中驱动USB接口的框图如图3所示.
图3 USB接口驱动框图程序
2.2.2 测试现场的温度采集与显示
本系统采用串行通信实现现场温度检测设备与服务器的通信,串行通信是工业现场仪器或设备常用的通信方式,它是将一条信息的各位数据按顺序逐位传送.LabVIEW中用于串行通信的节点是VISA节点,共包括6个,分别实现初始化串口、串口写、串口读、检测串口缓存、中断以及关闭串口的功能.由于串口读写的端口定义为字符串类型,为了与单片机进行通信,串口应以十六进制发送一个0x7E标志,因而在写串口时数据类型为十六进制的7E,所以串口读取的字符串要转换为字节数组才能进行后续处理.测控服务器端每隔100ms要接收三个字节的数据,第一个字节为0xF9,为帧头标志,其余两个字节表示温度数值.第一个字节的最高位表示温度的正负,后七位表示温度的整数值,第二个字节表示温度的后一个小数,0xFF表示0.50,x00时表示0.0,这两个字节共同表示实际的温度.将温度数值送入温度计控件,即可实时显示被测的远程环境温度,具体框图如图4所示.
图4 数据采集与温度显示框图程序
2.2.3 步进电机随环境温度调控
用户可以在步进电机温度控制模块设置基准温度,当实测温度超过基准温度时,电机正转,当实测温度低于基准温度时,电机反转,而且实测温度与基准温度的差距越大,电机转动越快,差距越小,电机转动越慢.
继电器温度差门限值用于用户设置当实测温度与基本温度差别到达一定门限时,继电器吸合,电机告警,指示灯亮,同时电机停止运转.当实测温度与基准温度差小于该门限时,指示灯灭,电机运转,框图程序如图5所示.
图5 步进电机随环境温度的调控框图程序
在远程测控时,用户不仅希望随时随地通过网络操作位于测控现场的主控计算机上的测控软件,而且能实时观察测控数据,利用LabVIEW的远程面板(Remote Panel)技术可以很方便地解决这一问题[5]. 用户在本地(Client端)计算机上可直接打开并操纵位于远程(Web Server端)计算机上的VI的前面板.当然,在Server计算机上必须首先运行LabVIEW,并配置好Web服务器, Web服务器需要以下三个方面的配置.
3.1 设置文件路径和网络
从“选项”对话框的下拉列表框中选择“Web服务器:配置”,切换到文件路径和网络设置配置页面,选中“启用web服务器”,可以启动LabVIEW Web服务器, LabVIEW Web服务器默认的HTTP网络端口号为80.
3.2 设置客户机访问权限
从“选项”对话框的下拉列表中选择“Web服务器:浏览器访问”,切换到客户机访问权限设置页面,在浏览器列表中可以设置允许或禁止防问的客户机IP地址,在浏览器地址中设置访问权限,本设计设置的访问权限为“允许查看和控制”.客户机访问权限的设置,极大地提高了网络安全性.
3.3 设置VI访问权限
从“选项”对话框的下拉列表框中选择“Web服务器:可见 VI”, 切换到VI访问权限设置页面,设置允许客户访问的VI.
3.4 在LabVIEW环境中操纵远程面板
在测试服务器端设计好步进电机测控程序,并配置好LabVIEW Web服务器,然后在客户端端启动LabVIEW,在LabVIEW的选单栏中选择“选项”→“连接远程面板”,弹出连接远程面板对话框,在服务器 IP 地址栏中,输入服务器端计算机的计算机名或IP地址,如lixunwen或202.195.117.213,在VI Name栏中输入想要控制的远程VI的名称,如本设计中输入的是“步进电机测控.vi”,在Port栏中输入80(Web 服务器配置中所设定的HTTP Port的默认值),选中“请求控制”选项即可获得控制权.此时,服务器端的步进电机测控程序的前面板就呈现在用户面前,此时,用户就可以像操作本地计算机上程序前面板一样对其进行操作,从而达到远程控制的目的.
本文所设计的基于虚拟仪器技术的步进电机远程测控系统,设计理念新颖,设计方法简单,且能随时对系统的软件作相应的调整来满足不同用户的需求,因而其功能比传统的仪器更灵活、更易于更新换代.该系统经过长期的验证,其性能和稳定性均较高,特别适用于恶劣环境下的测试现场仪器设备的远程控制,具有一定的实用价值.
[1] 杨乐平,李海涛,杨磊. LabVIEW程序设计与应用[M]. 2版. 北京:电子工业出版社,2004.
[2] 赵燕. 传感器原理及应用[M]. 北京:北京大学出版社,2010.
[3] 余锡存,曹国华. 单片机原理与接口技术[M]. 西安:西安电子科技大学出版社,2004.
[4] 戴明桢,周建海. TMS320C54x DSP结构、原理及应用[M]. 北京:北京航天航空大学出版社,2007.
[5] 张晓斌,高平,郑先成,等. 基于虚拟仪器的远程测控系统的设计与实现[J].计算机测量与控制,2007,15(4):449-451.
DesignofSteppingMotor'sRemoteTestandControlSystemBasedonVirtualInstruments
LI Xun-wen
(College of Physics and Electronic Electrical Engineering, Huaiyin Normal University, Huaian Jiangsu 223300, China)
The Virtual Instrument is aimed to accomplish various tests, measurement as well as automatic application by employing highly efficient modular hardware combined with efficient and flexible software. In the very design the hardware of the test site (web server) is designed by employing some instrument and devices, such as AT89C2051 monolithic integrated circuits, DS18B20 numerical temperature sensor, the DSP interface chip of TMS320C5402, and the USB interface chip of CH372. With the aid of LabVIEW software such functions as the drive of interface instrument, data collection, data processing, generation of controlling signals and network communications can be achieved, and thus operators can control remotely the stepper motor, the rotate speed and rotate direction of which is to vary according to the ambient temperature.
virtual instruments; remote panel; TMS320C5402; stepping motor
2012-06-11
李训文(1971-), 男, 江苏淮安人, 实验师, 硕士, 研究方向为虚拟仪器.
TP399
A
1671-6876(2013)01-0057-05
[责任编辑蒋海龙]