乐 英,马坤英,韩庆瑶
(华北电力大学,河北 保定 071003)
随着自动控制系统变得越来越复杂,系统需要多个变量描述且需要同时控制这些变量。为了提高产品质量和产量,运动控制系统正在不断地深入到各个领域并得以迅速发展,如机器人要求系统同时控制几个运动变量,且同时协调控制多台电机。数控机床在加工复杂形状的零件时,大多需要五轴联动,同时控制横向和纵向的走刀,即系统要同时控制多个变量。其应用范围涵盖数控加工业、汽车制造业和机器人等多个领域。通过开发实时多轴运动控制系统软件来满足实际工作的需求,已经成为备受关注的研究课题[1,2,3]。
然而面对众多的控制产品,如何开发方便、快捷的控制软件成为摆在研发人员面前的一个重大难题。本文以实验室搭建的多轴控制系统为实验平台,编写了多轴控制器的VB控制软件。实验结果表明,此软件不但操作简单,而且能实现多轴的协同控制,具有良好的应用前景。
多轴控制系统实验平台主要构成如图1所示。此实验平台主要由控制柜、驱动器、伺服电机、直线导轨、电源线及USB接口线组成。系统的核心是安装在控制柜中的运动控制器,整个系统通过独立开发的VB控制软件进行控制,与其它控制器相比,多轴控制系统的处理速度更快,效率更高。
图1 多轴控制系统实验平台结构图
本系统采用全闭环控制方式,通过安装于电机上的编码器和安装在直线导轨上的光栅系统,实现对电机的双位置环反馈。这种控制方式不但具有较高的控制精度,而且具有较好的快速响应性。全闭环控制系统框图如图2所示。
图2 全闭环控制系统框图
本多轴运动控制系统的硬件由PC机、运动控制器、伺服电机、伺服驱动器、执行机构等部分组成。
1.3.1 PC主机
PC主机是技术人员与多轴控制系统间进行交互的平台,是信息交换的媒介,操作人员通过PC机把控制指令发给控制器,由控制器控制执行机构的动作,完成各种动作指令[4]。
1.3.2 运动控制器
本文采用NextMove运动控制器,这是一种用于伺服和步进电机的高性能智能控制器,其核心是Mint运动程序设计语言。
NextMove结构使用浮点数字信号处理器(DSP)技术加上一个现场可编辑门阵列(FPGA)。其特性包括控制可多达16根轴,点对点运动,支持功能强大的CANopen通信协议,Mint编程等。利用组合的DSP和FPGA内核,NextMove很容易解决最复杂的应用实例。
1.3.3 伺服驱动器
伺服驱动器是用来控制伺服电机的一种控制器,本系统采用MicroFlex伺服驱动器。这是一种多性能无刷伺服驱动器,主要应用于高精度的定位系统之中,可以实现单轴交流无刷驱动,多种反馈接口,也可以实现位置、速度和电流控制。
1.3.4 伺服电机
伺服电机是指在伺服系统中控制机械元件运转的发动机。通过内部编码器的反馈作用,伺服电机对电机的速度、位置进行控制。可以将电压信号转化为转矩和转速以驱动控制对象。本系统采用Baldor直线电机,可以进行直联无回差运动,摩擦小,寿命长。
本文借助Mint程序设计语言进行VB程序的软件开发,通过Mint ActiveX进行Windows程序设计。目前大多使用 C#、Visual Basic、Visual C++、LabVIEW或其它一些符合ActiveX的开发工具,对Mint应用进行基于PC的控制。例如,各HMI特征显示,多轴轨迹数据的计算,经过USB至控制器的数据流动等方面的应用。
通过使用Mint ActiveX控制插件和NextMove控制器相连创建一个微软VB的应用程序。此系统还可以通过改变设置来连接其它的控制器。以下是使用微软Visual Basic 6.0进行连接的操作过程。
(1)从文件菜单打开Visual Basic 6.0,点击新建工程,从工程类型中选择Stand EXE,点击确定,进入微软Visual Basic的开发环境。
(2)在项目菜单中单击部件,将显示一个对话框,在对话框中会列出所有注册的ActiveX控件。单击复选框关联Mint ActiveX控件,然后单击OK。在这里需要选择Mint Controls Build 5563,所选的构建数字可能由于安装在电脑上的程序ActiveX控件的版本不同而有所不同。
(3)一旦Mint ActiveX控制被包含在一个项目中,Mint图标将出现在工具箱中。使用Mint ActiveX控件的项目将其加载到Form之中的具体过程如图3所示。
图3 Mint ActiveX控件加载过程图
ActiveX控件的属性包括姓名和字段。这是在代码中使用名称识别ActiveX控制,在此编程中它是MintController1。Mint ActiveX控件必须创建一个链接,连接到控制器。双击表格打开一个编辑器窗口,编写加载函数如下:
Private Sub Form Load()
'Create link to controller
Dim mpos
On Error GoTo ErrorHandler
'mSuspend=False
MintController1.SetUSBControllerLink 0
MintController1.DoCancelAll
Timer1.Enabled=True
Exit Sub
ErrorHandler:
MsgBox"请确认是否已连接运动控制器"
End Sub
这段代码将读取继电器的状态,并将其进行转化。运行应用程序,当按钮被按下时,会给继电器输电以控制电机的转动。
利用VB编写的多轴系统控制界面如图4所示。从图中可以看出,操作员不但可以方便地对轴的加速度、减速度、速度、相对位置等进行设置,还可以通过当前位置窗口观察各轴的运动情况。此外,还可以通过轴选择界面,对多轴系统进行单轴或多轴的协同控制。
图4 VB控制界面图
本文编写的多轴系统控制软件,充分利用了多轴控制系统的控制特点,通过对不同轴的选择,既可以实现对多轴控制系统的单轴运动控制,又可以对控制系统实现多轴协调运动控制。利用VB编写的控制软件不但操作方便,控制灵活,还可以根据用户需求进行进一步开发。
[1]李国厚.步进电机驱动与控制系统的设计[J].煤矿机械,2008,29(2):114-116.
[2]孙一兰.多轴控制系统的研究[D].沈阳:东北大学机械工程与自动化学院,2005.
[3]宋宝,周云飞.多运动轴协同控制的研究[J].机床与液压,2004(10):41-143.
[4]余世超,高志,邵鹏.基于单片机的步进电机控制系统设计与研究[J].煤矿机械,2010,31(5):210-212.