zmp控制卡的在多轴控制系统中应用
multi-axis motion control system base on zmp controler
沈振兴
(北京慧摩森电机系统技术有限公司,北京)
前言: 运动控制系统由大量元件组成的复杂系统,并且该系统存在着极大的非线性,因而它的设计、运行是一项庞大的系统工程。zmp控制卡是一款基于synqnet总线技术的运动控制产品,其自带的mechaware软件工具包,可供用户方便的在matlab /simulink中建模和仿真。zmp运动控制卡的总线技术,伺服算法及仿真功能在本文中进行了叙述。
关键词:zmp控制卡,总线技术,matlab /simulink,直线电机,伺服算法及仿真
多轴运动执行机构
本文介绍的多轴平台为双驱龙门式结构,采用先进的直线电机驱动技术,使用microe高精度光栅尺反馈做闭环控制,光栅尺分辨率50nm。保证高的运行速度以及良好的定位精度。驱动器采用科尔摩根akd伺服驱动器 。可通过synqnet 总线和运动控制卡通信。选用高性能的基于synqnet总线技术的zmp运动控制卡控制。运动控制卡系统自带相关应用软件,包括motion console motion scope 其具有简单的下载方式以及操作界面 。用户可以用motion scape进行基本的pid调节操作也可以通过转换固件版本的方式使用mechaware中功能函数修改合适的pid参数进行调节。zmp卡的高级功能,也是用户最希望的就是用户可以使用mechaware提供的功能函数在matlab中进行伺服算法仿真和开发。
zmp控制卡
zmp-synqnet-pci运动控制卡采用实时64位双精度浮点motorola powerpc微处理器,cpu 466mhz、16mb 133mhz sdram,强大的处理能力和运算速度,使理论上处理4个伺服轴时节点伺服刷新率高达48khz,处理12个伺服轴时节点伺服刷新率高达16khz。可以迅速建立任何系统的模型,并通过synqnet 控制器加以实现:多种滤波器、状态观察器、状态反馈、坐标转换、使用zmp 的64 位双精度计算、复杂传动跟随方法、增益切换、振动控制、复杂多入多出的工厂模型、易于定义的台架控制拓扑结构,以及可以设计自定义控制方案等等强大功能。
synqnet总线技术
电机在synqnet网络中的应用
synqnet是motion engineering inc(mei)公司设计的一个架构在100base-t物理层的运动控制网络。此网络代替标准的±10v模拟量接口,从而能在复杂的环境中显示其优势。其中zmp控制卡安装接线 非常简单,只需要将带屏蔽的网线与驱动器通过synqnet总线相连。从而实现控制功能。支持多达32个协调轴,实现多轴协调控制,针对噪声抗扰度和电缆短路的电气隔离、冗余自恢复的容错网络,自动网络组态和完整性检验,确保网络的可靠性。
通过synqnet网络,一个网络下的所有节点可以通过每个伺服周期内发送的同步帧来统一每个节点的时钟信号以达到所有节点的同步控制,在每个伺服周期的开始控制器会先以广播的方式向网络中所有的节点发送一个同步帧synqnet packet,然后以流的方式将命令帧demand packet以及控制帧control packet依次送达到每个节点,并且将各个节点的反馈信息feedback packet与状态信息status packet带回。同步帧用于统一校准所有节点的时钟,命令帧包含经过da转换的模拟量轨迹数据也就是把脉冲量转换过来的电流值,命令帧的值是否执行要看控制帧,控制帧中包含了所有的控制信息。也就是说在每个伺服周期内都会发送依次含有这三个帧的数据包给每个节点,这样就可以保证一个网络下的节点的同步误差在一个伺服周期内。
mechaware
mechaware软件工具实现和matlab® /simulink的协同工作,系统操作美观、直接、方便,这里以简单的pid设置为例进行说明,pid与复位块组成一个比例、积分和导数(pid)滤波器。经过滤波器滤波之后输出给执行机构的模块。此系统最大的优点是:在一些分析工具中,采取补偿的方式来改进机械性能,如采用精确建模和非线性扰动的软件算法来实现。然而在很多实例中,不能精确的反馈出设备位置,温度摩擦等引起的变化效果,而这些导致系统共振,引起偏差并表现在运动上,利用mechaware 的matlab/simulink编程,可以轻松的实现高级系统的建模和仿真。
这里的pid与复位块被使用后过滤。这个块提供了一个简单的接口添加到你的控制回路的pid参数。上面的传递函数被封装到模块中
可以通过c语言设置简单的
class pid_rblock: public virtual block
{
public:
virtual void writeintegrator() const = 0; // user accessible coefficients
double kp;
double ki;
double kd;
double imax;
double ksm;
double sum;
double delta;
};
其主要优点是将复杂的传递函数用简单的模块化形式表示出来,可以方便的改变其参数,根据pid的算术公式进行simulink拼接,经搭好的输入输出块封装完成更加简练的pid参数设置,模块更是和c语言形成一对一的设置,达到与c语言有效的结合目的。
将封装好的块应用到整个控制系统回路中,避免了控制程序冗长繁琐等特点,使整个系统拼接更加方便快捷。
此图显示的是,驱动器与伺服电机之间经过编码器建立反馈,形成高精度的伺服控制系统,伺服电机实时的将其运动状态与信息上传给zmp控制卡。作为synqnet总线上的节点,驱动器可以和控制卡进行通讯,通过总线接受上位机的各种操作、控制和参数设定命令,使得电机按照指令执行。其中编码器反馈信号传递给feedback作为实际位置输入,与指令位置输入经过数学运算后输入到pid比例、微分、积分形式控制器中,经过修改pid参数完成对控制曲线完善的作用。
简单的cmd指令保证控制卡程序方便容易的下载到驱动器里面,通过界面完成每个轴的监控。
其中motion scope可以对采样的波形实时监看
系统自带mpi编程库,编程人员能以更方便快捷易懂的方式通过c++进行编程
matlab的数据可视化功能,可以对控制曲线实现bode图像显示,io输入设置等。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
小结
随着科学技术的不断发展,各行各业对各类专业人才的计算机技能要求越来越高,这就要求我们对运动系统更加熟悉。本文以直线电机平台控制为例阐述了zmp卡在运动控制系统中的应用,用过mechaware软件工具实现和matlab® /simulink的协同工作,用户可以很快的建立任何系统的控制模型,并通过zmp控制卡加以实现。高性能的synqnet以太网总线技术,解决了用户在多轴控制系统中的复杂接线问题,对于传统的通过模拟量控制而言,具有较高的可靠性。
作者:沈振兴 单位:北京慧摩森电子系统技术有限公司 职位:项目经理
通讯地址:北京市海淀区清华东路16号3号楼804室 邮编:100083
电话:010-51734876 email:shenzx@bjsm.com.cn