ZMP控制卡在多轴控制系统中的应用

2013-08-09 07:41沈振兴
电子工业专用设备 2013年8期
关键词:控制卡驱动器C语言

沈振兴

(北京慧摩森电机系统技术有限公司,北京)

1 多轴运动执行机构

本文介绍的多轴平台为双驱龙门式结构,采用先进的直线电机驱动技术,使用MicroE高精度光栅尺反馈做闭环控制,光栅尺分辨率50 nm。保证高的运行速度以及良好的定位精度。驱动器采用科尔摩根AKD伺服驱动器。可通过SynqNet总线和运动控制卡通信。选用高性能的基于SynqNet总线技术的ZMP运动控制卡控制。运动控制卡系统自带相关应用软件,包括Motion Console,Motion Scope其具有简单的下载方式以及操作界面。用户可以用Motion Scape进行基本的PID调节操作也可以通过转换固件版本的方式使用Mechaware中功能函数修改合适的PID参数进行调节。ZMP卡的高级功能,也是用户最希望的就是用户可以使用Mechaware提供的功能函数在MatLab中进行伺服算法仿真和开发。多轴平台见图1所示。

2 ZMP控制卡

ZMP-SynqNet-PCI运动控制卡采用实时64位双精度浮点Motorola PowerPC微处理器,CPU 466 MHz、16 MB 133 MHz SDRAM,强大的处理能力和运算速度,使理论上处理4个伺服轴时节点伺服刷新率高达48 kHz,处理12个伺服轴时节点伺服刷新率高达16 kHz。可以迅速建立任何系统的模型,并通过SynqNet控制器加以实现:多种滤波器、状态观察器、状态反馈、坐标转换、使用ZMP的64位双精度计算、复杂传动跟随方法、增益切换、振动控制、复杂多入多出的工厂模型、易于定义的台架控制拓扑结构,以及可以设计自定义控制方案等强大功能。

3 SYNQNET总线技术

SynqNet是 Motion Engineering Inc(MEI)公司设计的一个架构在100Base-T物理层的运动控制网络。此网络代替标准的±10 V模拟量接口,从而能在复杂的环境中显示其优势。其中ZMP控制卡安装接线非常简单,只需要将带屏蔽的网线与驱动器通过SynqNet总线相连。从而实现控制功能。支持多达32个协调轴,实现多轴协调控制,针对噪声抗扰度和电缆短路的电气隔离、冗余自恢复的容错网络,自动网络组态和完整性检验,确保网络的可靠性。见图2所示。

图2 电机在SynqNet网络中的应用

通过SynqNet网络,一个网络下的所有节点可以通过每个伺服周期内发送的同步帧来统一每个节点的时钟信号以达到所有节点的同步控制,在每个伺服周期的开始控制器会先以广播的方式向网络中所有的节点发送一个同步帧SynqNet packet,然后以流的方式将命令帧Demand packet以及控制帧Control packet依次送达到每个节点,并且将各个节点的反馈信息Feedback packet与状态信息Status packet带回。同步帧用于统一校准所有节点的时钟,命令帧包含经过DA转换的模拟量轨迹数据也就是把脉冲量转换过来的电流值,命令帧的值是否执行要看控制帧,控制帧中包含了所有的控制信息。也就是说在每个伺服周期内都会发送依次含有这三个帧的数据包给每个节点,这样就可以保证一个网络下节点的同步误差在一个伺服周期内。

4 MechaWare

MechaWare软件工具实现和MATLAB?/Simulink的协同工作,系统操作美观、直接、方便,这里以简单的PID设置为例进行说明,PID与复位块组成一个比例、积分和导数(PID)滤波器。经过滤波器滤波之后输出给执行机构的模块。此系统最大的优点是:在一些分析工具中,采取补偿的方式来改进机械性能,如采用精确建模和非线性扰动的软件算法来实现。然而在很多实例中,不能精确地反馈出设备位置,温度摩擦等引起的变化效果,而这些导致系统共振,引起偏差并表现在运动上,利用Mechaware的Matlab/Simulink编程,可以轻松地实现高级系统的建模和仿真。见图3。

图3 PID模型

这里的PID与复位块被使用后过滤。这个块提供了一个简单的接口添加到你的控制回路的PID参数。上面的传递函数被封装到模块中,见图4。

可以通过C语言设置简单的

其主要优点是将复杂的传递函数用简单的模块化形式表示出来,可以方便地改变其参数,根据PID的算术公式进行Simulink拼接,经搭好的输入输出块封装完成更加简练的PID参数设置,模块更是和C语言形成一对一的设置,达到与C语言有效的结合目的。

将封装好的块应用到整个控制系统回路中,避免了控制程序冗长繁琐等特点,使整个系统拼接更加方便快捷。见图5。

图5 程序示例

图显示的是驱动器与伺服电机之间经过编码器建立反馈,形成高精度的伺服控制系统,伺服电机实时的将其运动状态与信息上传给ZMP控制卡。作为Synqnet总线上的节点,驱动器可以和控制卡进行通讯,通过总线接受上位机的各种操作、控制和参数设定命令,使得电机按照指令执行。其中编码器反馈信号传递给Feedback作为实际位置输入,与指令位置输入经过数学运算后输入到PID比例、微分、积分形式控制器中,经过修改PID参数完成对控制曲线完善的作用。

简单的CMD指令保证控制卡程序方便容易的下载到驱动器里面,通过界面完成每个轴的监控。见图6。

其中Motion Scope可以对采样的波形实时监看,见图7。

系统自带MPI编程库,编程人员能以更方便快捷易懂的方式通过C++进行编程见图8所示。

MATLAB的数据可视化功能,可以对控制曲线实现Bode图像显示,IO输入设置等。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。见图9所示。

图6 软件界面

图7 运动曲线实时监视

图8 软件编程

图9 波特图

5 结束语

随着科学技术的不断发展,各行各业对各类专业人才的计算机技能要求越来越高,这就要求我们对运动系统更加熟悉。本文以直线电机平台控制为例阐述了ZMP卡在运动控制系统中的应用,用过Mechaware软件工具实现和MATLAB/Simulink的协同工作,用户可以很快的建立任何系统的控制模型,并通过ZMP控制卡加以实现。高性能的SynqNet以太网总线技术,解决了用户在多轴控制系统中的复杂接线问题,对于传统的通过模拟量控制而言,具有较高的可靠性。

猜你喜欢
控制卡驱动器C语言
兼容多种运动控制卡的V割机数控系统关键技术*
基于Visual Studio Code的C语言程序设计实践教学探索
藏起驱动器号确保数据安全
三轴机械手控制器设计
51单片机C语言入门方法
基于C语言的计算机软件编程
空间大载荷石蜡驱动器研制
基于运动控制卡的桁架机器人控制系统设计
高职高专院校C语言程序设计教学改革探索
压电陶瓷驱动器的迟滞特性