基于X-Y平台的平面轨迹控制的研究

时间:2022-06-28 10:51:30

基于X-Y平台的平面轨迹控制的研究

摘要:该系统以X-Y平台为实验平台,控制单元采用固高公司的GT-400-SV-PCI型运动控制卡。在此基础上利用vc++6.0的MFC(Microsoft Foundation Class)功能模块及控制卡提供的动态链接库对平台进行二次开发,目的是实现半闭环控制,使平台按照预定轨迹运动。文中介绍了整个控制系统的结构原理和编程实例,经试验验证,平台能够按照预设轨迹准确运动。

摘要:X-Y平台 运动控制卡 vc MFC 轨迹控制

中图分类号:TP2 文献标识码:A 文章编号:1007-9416(2012)01-0124-01

1、系统介绍

1.1 X-Y平台简介

该平台机械本体采用模块化拼装,主体由两个直线运动单元组成[2]。其运动机械单元包括:工作台面、滚珠丝杆、导轨、轴承座、基座等部分。当我们对运动平台进行控制时,X轴的运动控制着平台及Y轴在X方向上的位置、速度和加速度,而Y轴只控制平台在Y方向上的位置、速度和加速度。当进行控制时,通过编程实现X轴和Y轴的同时运动,就实现了运动平台在水平方向上的二维运动。在整个运动过程中,电机起到带动作用,两个轴只是起到传动作用,电机和轴的联合作用,控制着平台的运动,而编码器则起到测量电机转速并反馈给控制器的作用。

1.2 GT-400-SV-PCI运动控制卡简介

固高公司生产的GT-400-SV是高性能的伺服运动控制器,它可以同步控制四个运动轴,实现复杂的多轴协调运动。其核心由ADSP2181数字信号处理器和FPGA组成,实现高性能的控制计算[3]。它适用于广泛的应用领域,包括机器人、数控机床、木工机械、印刷机械、装配线、电子加工设备等。

该运动控制器提供C语言函数库实现复杂的控制功能,用户能够将这些控制函数灵活地与自己控制系统所需的数据处理、界面显示、用户接口等部分集成在一起,建造复合特定应用要求的控制系统,以适应各种应用对象的要求。

GT-400-SV四轴运动控制器的功能十分强大,我们在此系统中主要使用了基于坐标系编程的连续轨迹控制,实现了平面直线插补和圆弧插补运动;在面向各控制轴实现点到点运动控制时,使用了梯形曲线运动控制方式;编程设置了跟随误差极限、加速度极限、控制输出极限等参数,实现安全可靠的控制。具体的程序及实验结果会在后面软件部分进行说明。

1.3 x-y平台运动控制系统简介

该平台系统主要由pc机、运动控制卡、伺服驱动器、交流伺服电机及增量式编码器组成。控制卡我们采用固高公司的GT400系列,驱动器和电机全部采用松下品牌。控制卡插在pc机的pci插槽内一起作为控制系统的上位机部分,pc机主要负责人机界面的显示和向控制卡发送相应的命令,控制器是核心部分,它一方面接收pc机发送的命令并在其内部进行各种算法的运算,从而变为机器语言发送给伺服驱动器,一方面又要把从编码器返回的位置、速度等数值传回pc机进行显示,驱动器主要负责将控制器的信号放大并施加给电机,从而使电机按照指令正确运动,同时它又可以将反馈信号传给控制器,进而显示在电脑上。本系统采用半闭环控制策略,故编码器并没有直接装在平台上,而是装在运动轴的端部,这样可以获得更加稳定的控制,

2、系统软件的实现

2.1 编程环境选择

本次编程我们采用vc++6.0软件,它编程兼容性良好,且容易制作控制界面。编程时利用了MFC(Microsoft foundation class),即微软基础类库,它构建于Windows API之上,可以根据向导轻松构建编程框架,省去了很多底层编程,大大提高了编程效率,同时它还支持c++语言,这样我们就可以直接调用控制器提供的动态函数库来实现我们的程序,以方便二次开发。

2.2 程序设计

控制器作为整个控制系统的核心,对它的编程尤其重要,首先我们需要对板卡进行初始化,然后设置一些特殊的输入输出信号,再对轴进行初始化,平面范围内我们只需对两个轴进行初始化,针对控制卡功能选择坐标映射方式实现两轴平面内协同运动,映射的单位长度可根据不同要求而变,运动完成后关闭控制轴和控制卡。

2.3 程序的具体实现过程

按照上述的编程顺序,我实现了平面直线和圆弧的运动轨迹,接下来将把具体的过程展示给大家。首先打开VC++6.0软件,利用MFC AppWizard[exe]创建一个基于对话框的工程,然后把GT400.h、GT400.1ib和GT400.Dll三个文件放入新建的文件夹中,在VC++环境中使用时,选择Project一一Setting一一Link,在Object/Library modules中输入GT400.1ib,最后在程序的头文件中加入“#include GT400.h”,这样就可以在程序编写过程中直接调用控制器自带的动态链接库中的函数了。有了这些准备工作,我们就可以利用类向导建立控件和函数之间的关系,在相应的控件中添加初始化及自己想要的轨迹函数以实现运动要求,本文中我们利用直线插补实现了一个三角形的运动,最后我们在退出的相应函数中输入GT_Reset()、GT_AxisOff()和GT_Close()三个函数,用来关闭当前轴和运动控制器,到此程序全部完毕。

当然如果我们想改变参数的话可以在程序设计时添加变量并赋值,然后通过UpdateData()这个函数将控件的值给变量,函数放在每个函数块的第一行即可,考虑到预设参数很少改变,设置变量的意义不大,所以这里不再赘述。

4、结语

本文对“NC嵌入PC”结构的运动控制系统进行了分析,并通过设计简单操作界面完成最基本的控制功能,如在控制界面可以通过点击圆弧或直线而实现直线插补和圆弧插补,画出许多轨迹,根据实验可以得到预设平面控制轨迹。实验验证这种系统开发周期短、实时性良好。

参考文献

[1]吴宏,蒋仕龙,吕怒,龚小云.运动控制器的现状与发展[J].制造技术与机床,2004,(1):24-27.

[2]固高科技(深圳)有限公司.GXY系列平台使用说明书.

[3]固高科技(深圳)有限公司.GT系列运动控制器用户手册.

上一篇:基于MVC的系统架构设计探究 下一篇:基于.NET的高校教务管理系统设计