PVT在同步运动控制中的应用

2013-10-24 05:07慧,黄
电子工业专用设备 2013年6期
关键词:驱动器间隔轨迹

王 慧,黄 帅

(中国电子科技集团公司第四十五研究所,北京 100176)

插补模式或者PVT 通常被应用于伺服控制系统的轨迹规划。伺服驱动器通过CAN 总线接收一系列的PVT点,每一个PVT点都由位置、速度、时间组成,伺服驱动器在这些点之间进行插补,以得到所需要的运动轨迹。PVT 控制最为关键的是分割时间的选择,和分割时间内相应的速度设置,以及如何确定轨迹规划时间。

1 PVT 分割时间的选择

对于PVTPoints 要仔细考虑所使用的PVT点的数量,太少的点电机无法准确跟随速度曲线规划,太多的点会导致CAN 总线网络阻塞。最大数量的PVT 间隔取决于所应用的网络类型,对于CanOpen,间隔不能超过255 ms。

关于PVT 时间分割,较小的分段时间可以减少误差,但是,整个过程必然会有一个误差最小的分割间隔,如果想通过计算获得系统误差允许范围内最小的时间分割是非常困难的。通常最好的办法就是系统最高频率(位置环)的1/10~1/20(由数字采样系统理论推出),此外,当速度较小时,即位移变化较慢时,PVT点的时间间隔较长一点比较好,相反,当速度较大时,即位移变化较快时,PVT点的时间间隔较短一点比较好。

针对不同的控制器,他们都有自己的PVT点数设置方法,用户只是应用已存在的设置方法来完成自己的需要。

2 速度的重要性

事实上,比分割时间段更为重要的就是在设定的分割时间内,给出满足其设定要求的准确速度。

以T曲线为例,速度线性变化至目标值,T型曲线轨迹规划可分为三段,如图1所示。

图1 T型曲线轨迹

A1段加速度为确定值,即速度的变化规律。A2段加速度为0,速度达到目标值;A3段为匀减速段。以此类推,当给出确定的速度、加速度、减速度,就可以演化出S曲线波形,典型的S曲线如图2所示。

图2 S曲线位置轨迹

3 如何确定轨迹规划时间和位移

3.1 确定轨迹规划时间

当给出确定的速度、加速度、减速度,则完成该运动所需要的时间就可以计算出来。将速度分解成3 段,加速段、匀速段、减速段,完成运动所需要的时间为T总。

Ta:加速段时间,Td:加速段时间,Tc:加速段时间,Aa为加速段的加速度,Ad为减速段的减速度。由图1 可得:

同理:

匀速段加速度为0,则:

其中:Vt为目标速度,Pt为目标位置,Aa为加速度,Ad为减速度。

运动所需的时间是用于确定PVT点的间隔,所以:

其中:I为PVT点的时间间隔,Np为PVT 分割点数目。

3.2 轨迹规划的位移

由图1 可得加速段的位移是对速度的积分获得。

其中:A1同为加速度段的位移,V0为初始速度。

当其时速度为0,加速度不变时,该式可演化为:

即:

此刻的速度计算为:

匀速段的位移A2为:

此处的初始位移P0:

由于匀速段加速度为0,所以

减速段的位移A3计算公式为:

由此三个阶段的总位移Pt:

将上式简化为:

其中目标位置就是将目标速度对时间积分所得与加速度(或者减速度)对时间的积分所得和初始位置累加而得来的。积分的过程就是N个这样时间点对应的位置的累加,每个轴在设置上都采用同样的速度,加速度,相同的目标位置,从而在每个相同时间点上达到相同的位置,继而实现理论上的同步。

4 PVT 应用实例分析

4.1 实例硬件结构

下图是某设备的炉内机械手,其机械结构图3所示。

在图3 中,机械手前爪1、2 在机械结构上由一个电机驱动,机械手后爪1、2 在机械结构上由另一个电机驱动,两个电机的可控行程完全一致,通过控制两个电机的行走位置来完成具体的抓片动作。在硅片抓取过程中不允许硅片晃动,如果两个电机速度不同步都会引起夹碎硅片,所以同步性非常重要。

图3 机械手机构图

4.2 实例软件执行过程

Copley CanOpen 直接集成了PVT的轨迹算法,下面简要介绍一下PVT 函数的设置方法。

首先引入SDO(主从对象字典,master →slave,一对一),PDO(过程对象字典master→master,master →slave,一对多)。

对于Copley 驱动器来说,它的PVT 使用方法较为简单,主要是通过Link 类来实现的,该函数主要适用于多轴联动。

该函数中,目标位置的维数必须等于Linkage所控制的轴数,即作N 轴插补,则PVT点的坐标维数为N。

这种方法使Link 函数规划出一种N 维的点对点直线运动,运动中的速度、加减速度、和加加速度都将被限定在设定的范围内。MoveTo 函数得到联动指令会立即触发运动。

该函数触发一系列经过计算的PVT点组成的运动轨迹,该计算值是浮点型的,所以在定义变量库时要进行浮点型定义。

其中:

参数pN 维位置坐标点

参数maxvel 速度最大限制

参数maxacc 加速度最大限制

参数maxdec 减速度最大限制

参数maxjrk 加加速最大限制

参数start 如果为真,link 类中的轴开始联动,如果为假,规划点将上传,直到得到联动指令。

我们对基本函数进行封装后,得到多轴联动所需的模块函数组:

long MC_LinkInit(int NodeID);Link 类初始化

long MC_LinkHome(int NodeID);同步回初始位

long MC_LinkEnable (int NodeID,bool bEnable);同步驱动器初始化

long MC_LinkAmpAbsMove (int NodeID,double Pos);Link 绝对位移运动

longMC_SetLinkParam(doublevelLimit,double accelLimit,double decelLimit,double jerkLimit);

long MC_LinkAbsMoveDone(double Pos1,double Pos2);

long MC_LinkWaitMoveDone(int NodeID);

long MC_LinkSetSoftLimit (int NodeID,double dPos,double dNeg,double dAcc);

当执行两个轴的同步运动时,直接调用以上函数就可达到控制所需的运动效果。在Copley 驱动器的软件介绍中,这种PVT 控制的同步误差几乎只有1~2个脉冲。

5 结论

PVT 是一种简单的适用于任意位置轨迹规划的计算规则,在不大量丢失精确数据的情况下,分段时间可以相应的大一些,PVT 数据点既可以储存在本地工作表中,也可以通过网络通讯的方式下传至各个轴。PVT 模式主要应用于非高速网络通讯的多轴控制系统。

[1]Calle Tecate.ADVANCED Motion Controls[Z].March 2001.

[2]Doxygen.Copley MotionLibrary Reference Manual[Z].Sep 2006.

猜你喜欢
驱动器间隔轨迹
间隔问题
轨迹
轨迹
藏起驱动器号确保数据安全
间隔之谜
轨迹
空间大载荷石蜡驱动器研制
进化的轨迹(一)——进化,无尽的适应
压电陶瓷驱动器的迟滞特性
上楼梯的学问