点位运动基础概念:点位运动 vs 轨迹运动、绝对位置与相对位置、运动参数

大家好,我是老张。今天咱们聊聊点位运动里最基础、也最容易混淆的几个概念。说实话,我带过不少新人,很多人一上来就急着写代码调参数,结果连「点位运动」和「轨迹运动」到底有啥区别都没搞清楚。嗯,这章咱们就把这些地基打牢。

1. 点位运动 vs 轨迹运动:到底有啥不一样?

先问大家一个问题:你让电机从 A 点走到 B 点,中间经过什么路径,你关心吗?

点位运动,说白了就是「我只管起点和终点,中间怎么走我不在乎」。比如一个点胶机,针头从待机位移动到点胶位,中间是直线还是弧线,只要不撞到东西就行。系统会自动规划一条最快的路径——通常是先加速、再匀速、最后减速。

轨迹运动则恰恰相反。你不仅要知道起点和终点,还得精确控制中间每一个点的位置、速度、甚至加速度。比如激光切割,切一个圆,每个时刻刀尖必须在圆弧上,偏差 0.1mm 都不行。

核心区别一句话:点位运动只保证终点精度,轨迹运动保证全程路径精度。

我在一个半导体封装项目里就吃过亏。当时用点位运动控制一个贴片头,结果因为中间路径没约束,它绕了个大弯,差点撞到旁边的传感器。后来我学乖了——只要空间里有障碍物,就别偷懒用点位运动,老老实实走轨迹。

对比项 点位运动 轨迹运动
路径控制 不关心中间路径 精确控制每个点
典型应用 点胶、搬运、分拣 焊接、切割、雕刻
编程复杂度 低,只需给目标位置 高,需插补算法
运动平滑度 一般,可能有冲击 好,可连续平滑
典型指令 PMOVE、MOVEP LMOVE、CMOVE

我的习惯:只要运动空间是空旷的,优先用点位运动,省时省力。一旦有干涉风险,立刻切到轨迹运动。别为了省几行代码,把设备撞了。

2. 绝对位置 vs 相对位置:坐标系里的「我在哪」

这个问题,我每次培训都会重点讲。因为写错位置模式导致的撞机事故,我见过不下十次。

绝对位置,指的是相对于一个固定原点的坐标。比如你设定位置为 100mm,那就是从原点算起 100mm 处。不管电机之前在哪,它都会跑到那个绝对坐标点。

相对位置,则是相对于当前位置的偏移量。比如当前位置是 50mm,你发一个相对位置 30mm,那电机就会跑到 80mm 处。再发一次 30mm,它就跑到 110mm 了。

你想想看,如果在一个流水线上,每次都要把工件放到同一个位置,那肯定用绝对位置。但如果是一个步进送料,每次前进固定距离,相对位置就方便多了。

我曾经踩过的坑:有一次调试一个多工位转盘,我用了相对位置模式。结果因为中途有一次位置没到位,后续所有工位全部偏移,整个批次报废。后来我改成绝对位置+回零校验,再也没出过问题。

我个人习惯是:能用绝对位置,就别用相对位置。除非你非常确定每次运动的起点都是精确的,否则相对位置会累积误差。你想想看,一次偏 0.1mm,一百次就是 10mm,这谁受得了?

特性 绝对位置 相对位置
参考点 固定原点 当前位置
误差累积 无 有
适用场景 定点定位、多工位 步进送料、往复运动
回零需求 需要 不需要

3. 运动三要素:速度、加速度、减速度

这三个参数,是点位运动的灵魂。调好了,设备又快又稳;调不好,要么慢得像蜗牛,要么抖得像筛子。

3.1 速度:跑多快

速度决定了电机的最大运行速率。单位通常是 mm/s 或 pulse/s。注意,这里说的是「最大速度」,不是全程速度。点位运动里,电机会先加速到这个值,匀速跑一段,再减速停下来。

我建议新手别一上来就把速度拉满。先设一个安全值,比如最大速度的 30%,跑通了再慢慢往上加。我在一个高速贴片机项目里,就因为速度设得太高,导致末端抖动过大,贴片精度直接超差。

3.2 加速度:提速有多猛

加速度决定了电机从静止加速到目标速度的快慢。单位是 mm/s²。加速度越大,启动越猛,但冲击也越大。

这里有个关键点:加速度不是越大越好。加速度太大,电机会过冲,甚至引起机械共振。我见过一个案例,加速度设到 5000 mm/s²,结果整个机台都在抖,最后发现是加速度超过了机械结构的承受极限。

3.3 减速度:刹车有多急

减速度和加速度类似,但它是用来停车的。很多控制卡允许减速度和加速度分别设置。我个人习惯把减速度设得比加速度略小一点,这样停车更平稳,不容易过冲。

一个实用的参数关系:减速度 ≥ 加速度 × 1.2。这样能保证在紧急停止时,不会因为刹车距离不够而冲出目标位置。

下面是一个典型的点位运动速度曲线,我把它画成了 SVG 图,方便大家理解。

点位运动速度曲线(梯形加减速) 时间 t 速度 v 加速段 匀速段 减速段 最大速度 Vmax 加速度 a 减速度 d 加速段:速度从 0 升至 Vmax | 匀速段:保持 Vmax 运行 | 减速段:速度从 Vmax 降至 0

你看这个梯形曲线,就是典型的点位运动速度图。加速段、匀速段、减速段,三段清清楚楚。实际项目中,如果距离很短,可能连匀速段都没有,直接加速完就减速,那就是三角形曲线。

4. 参数设置实战建议

说了这么多理论,来点实际的。下面是我在一个搬运项目里用过的参数,给大家参考。

// 点位运动参数设置示例(C# 调用运动控制卡)
// 场景:将工件从 A 点(0mm)搬运到 B 点(200mm)

// 1. 设置运动模式为点位运动
card.SetMotionMode(Axis.X, MotionMode.Position);

// 2. 设置绝对位置模式
card.SetPositionMode(Axis.X, PositionMode.Absolute);

// 3. 设置运动参数
card.SetVelocity(Axis.X, 100);        // 最大速度:100 mm/s
card.SetAcceleration(Axis.X, 500);    // 加速度:500 mm/s²
card.SetDeceleration(Axis.X, 600);    // 减速度:600 mm/s²(比加速度大 20%)

// 4. 启动运动到目标位置
card.MoveTo(Axis.X, 200);             // 目标位置:200mm

// 5. 等待运动完成
while (card.IsMoving(Axis.X))
{
    Thread.Sleep(10);
}

Console.WriteLine("点位运动完成!");

我的调试口诀:先低速、后高速;先小加速度、后大加速度;减速度永远比加速度大一点。这样调出来的运动,既快又稳,还不容易出问题。

5. 本章小结

好,咱们把这一章的核心内容捋一捋:

  • 点位运动只管起点终点,轨迹运动管全程路径。选哪个,看你的应用场景。
  • 绝对位置相对于固定原点,相对位置相对于当前位置。能用绝对就别用相对,避免误差累积。
  • 速度、加速度、减速度是点位运动的三个核心参数。调参时记住:减速度 ≥ 加速度 × 1.2,能有效防止过冲。

这些概念看着简单,但真到了现场,很多人还是会搞混。我建议你找个控制卡,实际跑一跑,把绝对位置和相对位置都试一遍,感受一下区别。纸上得来终觉浅,绝知此事要躬行嘛。