基于LabVIEW的电机集群控制系统
2010-04-16李海燕郭前岗周西峰
李海燕,郭前岗,周西峰
(南京邮电大学 自动化学院,江苏 南京 210003)
1 引言
多电机集群控制系统被广泛应用于纺织业、印染业、石化、冶金、风力发电等领域,多采用现场总线方式实现多电机系统的实时控制,如CAN总线,其控制主板主要有单片机、PLC、DSP等,上位机多为工控组态软件[1]。本文利用TMS320F2812型数字信号处理器控制无刷直流电机并采集数据,采用RS-232以总线方式实现上位机LabVIEW与集内各主控板的串行通信,LabVIEW把接收到的数据,用形象的图表实时显示。对LabVIEW控制系统的要求主要是:①可以通过控制总线对集内控制主板进行积分参数、比例参数的调节;②可以查询每台电机的实时参数。
LabVIEW对串口的读写提供了很多专用的函数和接口类型,可以方便地实现上位机与DSP的数据通信,这不仅充分发挥了LabVIEW的图形界面语言的优越性,而且仅需要简单的低成本设备就可以形象生动地监控电机的运转状况[2]。除此之外,LabVIEW可以对数据进行特定的分析处理,如FFT变换、滤除干扰、谐波分析等。RS-232C是目前最常用的串行通信总线接口,本文利用RS-232C串行通信接口,首先,LabVIEW与DSP握手,保证了LabVIEW与DSP的同步,防止数据的丢失。同时,LabVIEW可以调节DSP的参数,握手之后传送数据、调节电机的参数,实现LabVIEW对集群电机的实时监控。
2 系统组成
2.1 系统整体拓扑结构
图1 系统整体拓扑结构
系统拓扑结构如图1所示。其中控制室计算机(上位机)由LabVIEW实现;DSP控制主板为TMS320F2812型数字信号处理器,10台DSP控制主板,组成集群式的网络,采用RS-232串口以总线方式,实现上位机与集内各控制主板的串行通信。
2.2 具体集内系统组成
具体的集内系统组成主要包括以下5个部分。
①无刷直流电机试验平台;
②TMS320F2812(DSP)软件开发平台;此平台是通用运动控制系统综合实验与研究开发平台,可以驱动无刷直流电机、永磁同步电机和感应电机。
③电平转换芯片MAX232;将TTL或CMOS逻辑电平转换为RS-232C的标准电平,实现LabVIEW 与 DSP 的串口通信[3]。
④RS-232总线;很容易实现上位机LabVIEW与DSP软件开发平台的通信。
⑤LabVIEW软件平台。充分发挥了LabVIEW的图形界面语言的优越性,实现了低成本快速搭建小型电机监控系统。
基于无刷直流电机的集内系统的结构如图2所示。
图2 具体集内系统结构
3 集内系统设计
3.1 DSP设计
3.1.1 串行通信硬件部分设计
TMS320F2812的串行通信接口模块(SCI)是一个标准的通用异步接受/发送器,为异步串行通信方式。其接收器和发送器都为双缓冲模式,支持16级接收和发送FIFO,发送和接收具有自己独立的使能和中断位,可以工作在半双工或全双工通信模式[4]。波特率可以通过编写两个8位的波特率选择器SCIHBAUD和SCILBAUD来改变,SCI模块的串行时钟由低速外设时钟LSPCLK和波特率选择寄存器BSR的值确定。其波特率计算公式如下:
要实现同步问题,必须保证时钟一致性,选择LSPCLK为37.5MHz,BSR为00F3H,故标称波特率为19200b/s。
串口通信使用计算机内部的串口,只要一根串口线就可以达到发送或接受的目的,而且不失测试的准确性。采用了RS-232串行总线实现DSP与LabVIEW的通信。其中RS-232C是目前最常用的串行通信总线接口,其全称是“使用二进制进行交换的数据终端设备和数据通信设备之间的接口”。在电气特性上,RS-232C采用负逻辑电平,-3~-15V为逻辑“1”,+3~+15为逻辑“0”。通常采用-10左右为逻辑1,+10左右为逻辑0。由于TMS320F2812输入输出信号为TTL电平,逻辑1为3.3V左右,逻辑0为0.4V左右,因此采用RS-232C专门的电平转换芯片MAX232实现电平的转换[5]。其RS-232C接口电路如图3所示。
图3 RS-232C接口电路
3.1.2 串行通信软件部分的实现
在通信的开始应先对其中一些寄存器进行初始化,初始化主要包括:硬件接口的初始化、波特率的设定、接受启动等。串口初始化程序如下:
3.2 LabVIEW程序设计
3.2.1 VISA介绍
LabVIEW提供了功能强大的VISA库。VISA(Virtual Instrument Software Architecture)—虚拟仪器软件架构,已成为实现仪器控制的通用标准应用程序接口(API),建立了与仪器接口总线无关的标准I/O软件规范,实质上VISA是一组标准的I/O函数库及其相关规范的总称。它驻留于计算机系统之中执行仪器总线的特殊功能,扮演了计算机与仪器之间的中间层连接角色,为计算机和仪器的顺利通信提供了通道。
VISA是所有现存I/O接口软件的功能超集,与现存的I/O接口软件相比,它具有如下4个特点:①其I/O控制功能适用于多种仪器类型(如GPIB、VXI、串口等多种仪器接口控制操作);②适用于各种硬件接口类型;③适用于单、多处理器结构或分布式网络结构;④用于多种网络机制,无论是由虚拟仪器系统网络构成的VXI多机箱扩展网络,还是以太网,仪器操作是一致的[6]。
3.2.2 VISA串口通讯函数
LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,其调用路径为:函数>>仪器I/O>>串口,主要的串口通讯VI如表1所示。
表1 主要的串口通讯VI
3.2.3 软件流程
LabVIEW软件设计主要包括串口初始化、握手、读写数据、数据处理和分析等几部分。通过调用VISA函数中的一组I/O库函数实现串口的配置和通信,其流程图如图4所示。
图4 LabVIEW软件设计流程图
4 实验结果
通过组成此实验系统,实现了LabVIEW与集内各控制主板的串行通信,此控制界面可以方便地选择串口、波特率,控制电机运动时的参数,图形化的实时监控电压、电流、转速的变化,以及电压、电流、转速运行对比,方便实验者观察电机运转状况。本文给出了LabVIEW与1#DSP控制主板通信时电机转速的图形变化情况,其中电机运动时转速波形如图5所示。
图5 显示转速时的控制界面图
5 结论
这一电机集群控制系统被应用于无刷直流电机实验系统中,并取得了较理想的结果。通过RS-232总线实现了LabVIEW与集内控制主板DSP的串行通信。实践证明,该平台具有以下特点:操作简单,界面友好,使用者可以直观地观察电机转动的参数;功能丰富,可以读写串口数据,调节电机参数;可移植性强,可以应用于无刷直流电机集群控制系统中,简单地改变一些参数就可以应用到异步电机控制系统及单片机控制的步进电机控制系统中等;使用起来灵活,编译生成exe文件,可以方便地安装在没有安装LabVIEW的机器上。
但由于受RS-232C串行通信的限制,只能用于短距离的数据发送与接收,在今后改进方面上,可对此试验平台做进一步的扩展,如硬件系统性能的提高,成本的进一步降低,其它总线接口的扩展,用户控制界面的改进,无线网络化的控制等,使此试验平台不断完善。
[1]王 丽,党怀东,赵 斌.基于NI_LabVIEW的超导磁铁电源接地电流监控系统[J].电气传动自动化,2007,29(1):49-51.
[2]王 葵,董 罡,邢在奎.基于LabVIEW虚拟仪器的数据采集和故障录波[J].电子测量与仪器学报,2004,18(4):83-88.
[3]N Kehtarnavaz,C,Gope.DSP System design using Lab-VIEW and simulink:A comparative evaluation [J].IEEE,ICASSP2006,985-988.
[4]韩丰田.TMS320F2812x DSP原理及应用技术[M].北京:清华大学出版社,2009.
[5]戴 鹏,刘 剑,符晓等.基于TMS320F2812与LabVIEW的串口通信[J].计算机工程,2009,35(4):94-96.
[6]张 凯,周 陬,郭 栋.LabVIEW虚拟仪器工程设计与开发[M].北京:国防工业出版社,2004:244-253.