基于一体化运动控制器的运动控制实验开发平台设计
2013-03-17刘惠敏刘立山夏琳琳段文达
刘惠敏,刘立山,夏琳琳,段文达
(1.青岛农业大学机电工程学院,山东青岛266109;2.东北电力大学自动化工程学院,吉林吉林132012)
在现代工业自动化技术中,运动控制代表着最广泛的用途,承担着最复杂的任务,是自动化技术的一个重要分支[1]。作为轨迹控制、伺服控制应运而生的运动控制器不仅在机床行业得到大量推广使用,而且在许多小型自动化装备系统中也得到广泛的应用。运动控制器可以同步控制多个运动轴,实现多轴协调运动和高速的点位运动。而且其工作过程基于PC 机,故在控制系统的开发过程中,具有更大的灵活性和开放性,实现复杂的控制功能,使得用户能在短期内开发出功能强大的运动控制系统,以适应各应用领域的要求。
机电系统在投入实际使用之前,需要在实验室中进行专门深入研究,但是机电控制系统安全性和可靠性一直是实验室研究的主要障碍和大多数控制系统需要克服的难点[2]。作者提出的运动控制实验开发平台可以有效地解决开发阶段存在的这种矛盾,它通过固高公司GUC 系列的通用一体化运动控制器发送控制命令,通过电机带动各轴运转,通过轴的状态验证所设计系统的运行状态,并且不实际带动机械负载。因此它简单、安全,具备一个机电控制系统所具有的控制机构,便于学生掌握现代机电控制的基本原理,对于运动控制和机电一体化系统以及开放式数控系统的教学和科研具有普遍意义。
1 系统硬件组成
该实验开发平台是基于固高公司GUC 系列通用一体化运动控制器,通过端子板连至外部伺服机构,可同步控制4 个轴的协调运动。该平台系统的基本结构如图1所示。
图1 运动控制教学开发平台系统结构
1.1 通用型一体化运动控制器
该运动控制教学实验平台的核心部件为通用型一体化运动控制器,其型号为GUC-400-ESV-M01-L2/F4G,这种一体化运动控制器将嵌入式计算机与运动控制器结合为一体,以Intel 标准X86 架构的CPU 和芯片组为系统处理器,采用高性能DSP 和FPGA 作为运动控制协处理器,可以在实现高性能多轴协调运动控制和高速点位运动控制的同时,实现普通计算机的所有基本功能,并为用户提供了构成计算机系统的标准输入输出设备接口,因而是一种理想的嵌入式一体化解决方案[3]。
该运动控制器支持直线插补、圆弧插补功能;支持闭环与开环控制;具备数字滤波器:PID +速度前馈+加速度前馈功能;支持小线段的连续轨迹的速度优化策略——前瞻预处理功能;具有螺旋线插补功能和刀向跟随功能等;具有优越的运动控制功能和性能,特别适用于高速、高精度插补运动控制要求的场合[3]。例如,高速雕铣、雕刻、切割、PCB 加工等行业。另外,该运动控制器还提供高速IO 现场总线扩展接口,可进行IO 扩展,能满足多IO 点控制要求。该运动控制器技术参数见表1。
表1 通用一体化运动控制器相关技术参数
1.2 执行机构
该实验开发平台的伺服系统共采用4 台伺服电动机,分别用于对轴1、轴2、轴3、轴4 的控制。其中2 台交流伺服电机、2 台步进电机,属于伺服步进混合型平台。伺服系统实现了电信号到机械动作的转换,对系统的动态性能、控制质量和功能具有决定性的影响。用户通过计算机向运动控制器发送运动控制指令,运动控制器对指令进行解释和处理后,施加给电机驱动器,驱动器将控制信号放大,传送至伺服电机,使电机按照指令要求的动作运转,通过电机带动各轴转动观察和验证系统的运行状态。
1.2.1 交流伺服电机及其驱动器
该平台轴1 和轴2 均采用松下交流伺服电机进行拖动,型号为MSMD012P1U。其功率为200 W,额定转速3 000 r/min,额定转矩0.32 N·m,最大转矩0.95 N·m。驱动器选择松下交流伺服电机驱动器MADDT1205,驱动器类型A 型,A4 系列,最大瞬时输出电流10 A,输入电源电压单相200 V,电流检测器的额定电流5 A。
1.2.2 步进电机及其驱动器
该平台轴3 和轴4 采用四通两相混合式步进电机,型号为57BYG250C,相数为2 相,转动惯量为200 g·cm2,步距角0.9°/1.8°,空载启动频率2.5 kHz。驱动器采用四通两相混合式步进电机驱动器,型号为SH-20806C,电源电压DC 24 ~70 V,输出相电流最大6 A,步进脉冲频率0 ~50 kHz,逻辑输入电流6 ~10 mA。
对于交流伺服电机,其角度传感器为光电码盘,直接安装在电机的转子上,与驱动器构成闭环控制系统。通过修改相应的接线以及不同的驱动器参数设定,可以构成位置控制、转矩控制和速度控制3 种不同的控制模式。当系统选择用步进电机时,控制模式为开环控制方式,不需要编码器。
1.3 其他部件
该平台采用固高公司的ACC6-PN5-T12-K61 触摸屏,该触摸屏LCD 尺寸为12 寸高亮真彩TFT,分辨率为800 ×600,DC 24 V 电源,按键数为61。通过HMI 接口接至通用一体化运动控制器。各轴光电开关选择OMRON EE-SX671,接至端子板CN12 相应的端口上。端子板的CN13 和CN14 端口是通用数字量输入/输出端口,可连接开关或者驱动指示灯作为相应的输入和输出,进行实验结果的验证或观察。
2 运动控制应用软件的设计
在系统硬件平台搭建好以后,最重要的是进行应用软件的设计。嵌入式计算机中安装的操作系统是WinCE 嵌入式操作系统。此时针对常规的操作系统进行开发,VB、VC 等开发工具就不方便使用了。微软提供了Embedded Visual Basic(简称EVB)、Embedded Visual C(简称EVC)、Visual Studio.NET 等工具,它们是专门针对WinCE 操作系统的开发工具,目前用得最多的还是EVC。作者采用eMbedded Visual C++4.0 进行应用软件的开发,并以实现二维插补运动为例,介绍应用软件的设计过程。
2.1 运动控制操作界面设计
在普通PC 机上安装并打开eMbedded Visual C++4.0,新建一个MFC AppWizard(exe)工程,键入工程名称GEdemo 后点击确定,在弹出的对话框中选择“Dialog based”,依次添加按钮、编辑框、静态文本框控件、组合框控件等,构成二维插补运动的界面。
2.2 动态链接库的添加
GUC 系列一体化运动控制器附带的光盘中,有运动控制器的动态链接库文件和头文件,在设计的工程中加入动态链接库,就可以在自己的程序中调用运动控制器提供的各类函数。具体步骤如下:
(1)将固高公司提供的winCE 专用的动态链接库文件ges.dll 及相关头文件ges.h 和ges.lib 拷贝到创建的GEdemo 工程文件夹中。
(2)选择Project- >settings 打开设置。选择Link 选项,在Object/library modules:一栏中键入ges.lib 后点击OK。
(3)在GEdemoDlg.cpp 中加入头文件ges.h,则可在自己的工程中调用运动控制器提供的各类函数。
2.3 运动控制编程
2.3.1 运动控制器和各控制轴初始化
在实现具体控制功能之前,必须要对运动控制器和各控制轴进行初始化,并根据具体的硬件配置情况进行参数的设置[4]。在此以实现二维插补运动为例,此时只需要对轴1 和轴2 进行初始化。在“Initialization”按钮对应的函数中输入如下的程序:
在该函数中,定义了4 个双精度变量,目的是为了进行单位换算,因为在GT 函数GT_SetSynAcc(cbA)、GT_SetSynVel(cbV)和GT_LnXY(cbX,cbY)中,单位分别为pulse/ms2、pulse/ms 和pulse,而正常使用的单位为m/s2、m/min、min。变量换算关系[5]具体如表2所示。
表2 二维插补运动指令单位换算关系表
换算过程如下:
单位换算前,虽然已经将Edit 控件设置成了成员变量,但是程序本身直接调用该成员变量时,成员变量不会自动刷新参数来获取用户输入的数值,因此在这里需要加上UpdateData()函数,让系统刷新参数,从而使成员变量获取用户输入的数值,这样才能得到外部数据到内部函数的一个连接过程,否则所有的m_cba、m_vbc、m_cbx、m_cby 成员变量都将为0。
2.3.3 关闭各轴及运动控制器
运动结束,关闭各轴和运动控制卡,在Stop 按钮函数中输入如下程序:
2.4 运动控制程序向嵌入式计算机的导入
在普通PC 机上程序编程调试完毕,即完成了运动控制软件界面的设计。下一步,需要将程序导入通用一体化运动控制器。首先,将PC 机与通用一体化运动控制器通过网线连接。然后将所使用的普通PC 机的本地连接IP 选择为手动获取,IP 地址为192.186.0.3,子网掩码为255.255.255.0。在EVC中打开建立的工程,在菜单栏的下拉菜单中选择GUC-STANDARDS 和Win32 [WCEx86]Debug 后点击测试运行。编译成功会出现如图2所示的对话框。
图2 通讯连接界面
通过触摸屏,在WinCE 环境中点击“开始”菜单中的“运行”,在弹出的对话框中输入“cmd”指令,然后将图 2 出现的 CEMGRC.EXE /T:TCPIPC.DLL/Q/D:192.168.0.3:2 534 输入到出现的界面中。触摸屏上输入完后点击回车,普通PC 机上点击“OK”按钮(如图2所示)。至此连接成功,可执行程序下载至嵌入式计算机中。如果需要开机即启动编写的运动控制程序,则可将可执行程序的快捷方式放到WinCE 的开机启动文件夹中。
至此,就可以通过触摸屏对设计的软件进行相应参数的设置,如图3所示。通过界面操作向运动控制器发送控制命令,从而控制各电机运行,实现二维插补运动。对于该平台使用人员,则可以根据控制要求按照上述步骤设计和开发符合自己运动控制系统要求的操作界面,从而实现相应的控制。
图3 二维插补运动控制操作界面
3 结论
介绍了一种基于固高GUC 系列的通用一体化运动控制器的运动控制教学实验开发平台,给出了系统的硬件结构以及应用软件的设计过程。通过软、硬件连调实验,证明该系统可以实现预期的控制要求,该设计方案是可行的。在运动控制教学过程中,学生可通过该平台掌握基于运动控制器的运动控制系统的组成、工作原理,也可以自己设计、编写程序实现对电机的控制,观察各轴的运行状态,验证相关的理论知识。可开设的实验有二维插补原理与应用实验、多轴协调运动编程实验、数控代码编程实验等;在科研方面,该平台具备了一个机电控制系统所具有的完整的控制机构,可以看成是一个嵌入式运动控制系统的微缩模型。由于平台本身并不拖动负载,因而在开发设计阶段安全、可靠,有利于控制系统的开发和系统功能的模拟验证。可进行机器人、加工机械、生产装配、开放式数控等方面的研究工作。
【1】郑魁敬,高建设.运动控制技术及工程实践[M].北京:中国电力出版社,2009:56-59.
【2】固高科技有限公司.运动控制开发平台实验指导书:1.2版[M],2009.
【3】固高科技有限公司.GUC 系列运动控制器用户手册[M],2009.
【4】固高科技有限公司.GE 系列运动控制器编程手册[M],2009.
【5】固高科技有限公司.GE 系列运动控制器用户手册[M],2009.
【6】罗炳军,陈健,樊亚妮.基于运动控制器的开放式运动控制系统研究与应用[J].工业仪表与自动化装置,2006(3):10-11.
【7】许家忠,王东野,温武,等.基于嵌入式运动控制器的钻床控制系统[J].自动化技术与应用,2010(10):19-21.
【8】董正凯.基于运动控制器的开放式数控平台的研究[D].哈尔滨:哈尔滨工业大学,2010:25-28.