3. 电子凸轮基本原理

做电子凸轮这些年,我越来越觉得:搞不懂曲线数学,就像开车不看路。你调出来的运动可能能跑,但跑得顺不顺、稳不稳、会不会抖,全看你对曲线本质的理解。

这一章,咱们就聊聊三种最常用的曲线数学工具——多项式、三角函数、样条曲线。它们各自擅长什么,在凸轮里怎么用,有哪些坑要避开。

核心观点:没有万能的曲线,只有合适的组合。多项式负责平滑,三角函数负责柔顺,样条负责灵活拼接。

3.1 多项式曲线:最朴素的运动规律

多项式曲线,说白了就是用一个多项式函数来描述位置随时间的变化。比如最简单的三次多项式:

s(t) = a₀ + a₁·t + a₂·t² + a₃·t³

为什么三次多项式在凸轮里这么常见?因为它能同时约束位置和速度。你想想看,一个运动段有起点和终点,每个点都有位置和速度要求,四个条件正好对应四个系数。

我在项目中遇到过不少新手,一上来就用五次多项式。其实没必要。三次多项式已经能保证速度连续,对大多数应用足够了。五次多项式多出来的两个自由度,是用来约束加速度的——只有对冲击特别敏感的场合才需要。

多项式阶数 可约束条件 典型应用场景
3次 位置、速度 一般凸轮推程、回程
5次 位置、速度、加速度 高速凸轮、精密定位
7次 位置、速度、加速度、加加速度 超高精度、晶圆搬运

注意:多项式阶数不是越高越好。阶数越高,曲线越容易在端点附近产生"龙格现象"——就是那种莫名其妙的抖动。我曾经在一个包装机上试过9次多项式,结果末端速度振荡得厉害,最后老老实实换回5次。

3.2 三角函数曲线:天生的柔顺大师

三角函数在凸轮里最经典的应用,就是摆线运动(Cycloidal Motion)。它的位移公式长这样:

s(t) = h · [t/T - (1/2π)·sin(2π·t/T)]

其中 h 是总行程,T 是运动时间。

为什么摆线曲线这么受欢迎?因为它的加速度曲线是正弦波,起点和终点加速度都为零。这意味着什么?意味着启动和停止时没有冲击力。我做过一个高速贴片机项目,用三次多项式时末端总有点抖动,换成摆线曲线后,问题直接消失了。

三角函数曲线的另一个好处是:它的速度、加速度、加加速度都是连续的。你想想看,一个函数求导四次还是连续的,这在多项式里得用多少阶才能做到?

我的经验:当设备运行速度超过 300 转/分钟时,我优先考虑摆线曲线。低速时多项式够用,但高速时加速度的连续性直接影响设备寿命。

不过三角函数也有短板——计算量大。老一代的控制器算一次 sin 要几十微秒,实时性受影响。好在现在的处理器已经不成问题了。

3.3 样条曲线:自由拼接的艺术

样条曲线,你可以把它理解成"分段的多项式"。每一段都是低阶多项式,但在连接点处保证连续。

最常用的是三次样条(Cubic Spline)。它由多个三次多项式拼接而成,在每个连接点处保证位置、速度、加速度都连续。这就很厉害了——你可以在不同段用不同的运动规律,但整体看起来是一条光滑的曲线。

我在做印刷机凸轮时用过一次样条。那个凸轮需要在 120 度范围内完成"加速-匀速-减速"三段运动。用单一多项式根本做不出来,用样条就轻松搞定:

段1: 0°~30°  三次多项式加速
段2: 30°~90° 匀速段(一次多项式)
段3: 90°~120° 三次多项式减速

样条曲线的核心优势是灵活性。你可以把复杂的运动拆成若干段,每段用最合适的曲线类型,然后通过样条把它们"粘"在一起。

避坑指南:我曾经在样条曲线的连接点处吃过亏。当时只保证了位置和速度连续,忽略了加速度。结果机器跑起来后,在连接点处有明显的"咯噔"一下。后来加上加速度连续条件才解决。记住:至少保证 C² 连续(加速度连续)。

3.4 三种曲线的对比与选择

说了这么多,到底什么时候用哪种?我整理了一个对比表:

特性 多项式 三角函数 样条曲线
平滑性 中等 优秀 优秀
计算量 低 中 高
灵活性 低 低 高
端点冲击 有(低阶) 无 可控
适用速度 中低速 高速 全速域

我的选择原则很简单:

  • 简单运动、低速设备 → 三次多项式
  • 高速设备、要求低冲击 → 摆线曲线
  • 复杂多段运动 → 三次样条

3.5 知识体系总览

下面这张图,把三种曲线的关系和适用场景梳理清楚了:

凸轮曲线数学基础 · 知识体系 凸轮运动曲线 多项式曲线 三角函数曲线 样条曲线 特性 • 计算量低 • 端点有冲击 • 适合中低速 特性 • 加速度连续 • 无冲击 • 适合高速 特性 • 灵活拼接 • C²连续 • 全速域适用 选择原则:低速多项式 → 高速三角函数 → 复杂运动样条 实际项目中常混合使用,取长补短 💡 三种曲线各有优势,实际项目中常混合使用,取长补短

3.6 实战中的曲线选择策略

说了这么多理论,来点实际的。我一般按这个流程选曲线:

  1. 先看速度——设备最高转速多少?低于 200 rpm,多项式就够了;高于 300 rpm,考虑三角函数。
  2. 再看运动段数——如果只有推程和回程,用单一曲线就行;如果有匀速段、停留段,必须上样条。
  3. 最后看精度要求——普通包装机,三次多项式没问题;晶圆搬运、医疗设备,至少五次多项式或摆线。

一个小技巧:如果你不确定选哪种,先用三次样条搭框架,然后逐段优化。样条的好处是改一段不影响其他段,调试起来特别方便。

嗯,这一章的内容就到这里。曲线数学是凸轮控制的根基,理解透了,后面调参数、做优化都会顺手很多。记住:没有最好的曲线,只有最合适的曲线。