第四章 电子凸轮(CAM)基础:凸轮曲线类型与主从轴同步

各位工程师朋友,今天我们来聊聊电子凸轮。说实话,我刚入行那会儿,一听到「凸轮」两个字,脑子里全是机械加工件——那种金属疙瘩,磨得锃亮,装在机器上嘎嘎响。后来做了运动控制,才发现电子凸轮才是真正的「软刀子」,灵活、精准、可调,简直是包装机械的灵魂。

电子凸轮,说白了就是用软件模拟机械凸轮的轮廓。你想想看,机械凸轮换一个就要停机、拆装、调试,半天时间就没了。电子凸轮呢?改几个参数,下载一下,搞定。我在一条装盒产线上就遇到过,客户要求换包装规格,机械凸轮得重新加工,工期两周。换成电子凸轮,我当场改曲线,半小时搞定。嗯,这就是差距。

核心概念:电子凸轮 = 主从轴之间的位置映射关系。主轴转一圈,从轴按照预设曲线走一个周期。这个映射关系,就是凸轮表。

4.1 凸轮曲线类型

曲线类型决定了从轴的运动特性。选错了,机器抖、噪音大、寿命短。选对了,平稳、高效、耐用。我见过太多工程师随便选个S型曲线就完事,结果高速运行时振动大得吓人。这里我给大家梳理一下最常见的四种曲线。

4.1.1 梯形曲线

梯形曲线是最简单的。加速段、匀速段、减速段,三段式。加速度在切换点突变,说白了就是「急加速、急减速」。好处是计算简单,响应快。坏处呢?冲击大,机械磨损严重。

适用场景:低速、低精度、对冲击不敏感的场合。比如一些简单的送料机构。

我个人习惯:除非客户预算极低,否则我不会用梯形曲线。为什么?因为后期维护成本太高。我曾经在一个纸箱成型机上用过梯形曲线,三个月后凸轮从动件就磨损了,客户投诉不断。后来换成修正梯形,问题解决。

4.1.2 修正梯形曲线

修正梯形曲线在梯形的基础上,把加速度突变点做了圆滑处理。说白了,就是给「急加速」和「急减速」加了缓冲。加速度变化率(Jerk)不再是无穷大,而是有限值。

修正梯形是工业界的「万金油」。它兼顾了梯形曲线的快速性和S型曲线的平稳性。我在大多数包装机械项目中,首选就是修正梯形。

我的经验:修正梯形曲线的加速度变化率一般设为梯形曲线的1/3到1/2。这样既能减少冲击,又不会让加减速时间过长。具体数值,建议根据实际负载做仿真验证。

4.1.3 S型曲线

S型曲线,也叫正弦加速度曲线。它的加速度是正弦波形状,从零开始平滑增加到峰值,再平滑减小到零。整个运动过程没有加速度突变,冲击最小。

但是,S型曲线的计算量最大,而且加减速时间比梯形曲线长。如果你追求极致的平稳性,比如药品包装、精密电子装配,S型曲线是首选。

避坑指南:我曾经在一个高速贴标机上用S型曲线,结果发现从轴跟不上主轴的速度。为什么?因为S型曲线的加减速时间太长,导致从轴在高速段停留时间不足。后来我改用修正梯形,配合速度前馈,才解决了问题。所以,S型曲线不是万能的,要结合系统带宽来选。

4.1.4 多项式曲线

多项式曲线,就是用多项式函数来拟合凸轮轮廓。最常见的是3次、5次、7次多项式。次数越高,曲线越平滑,但计算量也越大。

多项式曲线的最大优势是灵活性。你可以通过调整多项式系数,定制任意形状的凸轮曲线。比如,有些特殊工艺要求从轴在某个位置停留一段时间,或者要求特定的速度曲线,这时候多项式曲线就派上用场了。

我建议:除非你有明确的数学推导,否则不要轻易用高阶多项式。我在一个项目中用过7次多项式,结果曲线出现振荡,从轴在高速时抖动。后来降到5次,问题解决。记住,越高阶越容易「过拟合」。

曲线类型 冲击程度 计算复杂度 适用速度 典型应用
梯形 低速 简单送料
修正梯形 中高速 通用包装
S型 中低速 精密装配
多项式 可调 全速域 特殊工艺

4.2 电子凸轮表生成

凸轮表,就是主从轴的位置映射表。主轴角度(0~360°)对应从轴位置。生成凸轮表,就是把曲线离散化成一系列点。

生成步骤其实不复杂:

  1. 确定主轴分辨率:一般取3600点(0.1°步长)或7200点(0.05°步长)。分辨率越高,曲线越平滑,但占用内存也越大。
  2. 计算从轴位置:根据选定的曲线类型,计算每个主轴角度对应的从轴位置。
  3. 写入控制器:把计算好的位置数组下载到运动控制器中。

下面是一个简单的凸轮表生成代码示例(伪代码):

// 生成修正梯形凸轮表
// 参数:主轴分辨率 3600点,从轴行程 100mm
int points = 3600;
float camTable[points];
float stroke = 100.0;

for (int i = 0; i < points; i++) {
    float angle = (float)i / points * 360.0;
    // 修正梯形曲线计算
    float position = ModifiedTrapezoid(angle, stroke);
    camTable[i] = position;
}

// 写入控制器
WriteCamTable(camTable, points);

注意:凸轮表生成后,一定要做仿真验证。我见过有人直接下载到控制器,结果从轴反向运动,差点撞机。原因就是曲线计算时符号搞反了。所以,先仿真,再下载,这是铁律。

4.3 主从轴同步

主从轴同步,是电子凸轮的核心。主轴可以是虚拟轴(比如编码器模拟),也可以是实轴(比如电机轴)。从轴跟随主轴运动,两者之间的位置关系由凸轮表定义。

同步的关键参数有三个:

  • 同步比:主轴转一圈,从轴走多少行程。比如同步比1:1,主轴转一圈,从轴走一个周期。
  • 相位偏移:主轴和从轴之间的起始角度差。调整相位偏移,可以改变从轴的动作时机。
  • 电子齿轮比:如果主轴和从轴的物理分辨率不同,需要用电子齿轮比做匹配。

我遇到过的一个坑:有一次调试一台枕式包装机,主轴是编码器,从轴是伺服电机。凸轮表下载后,从轴动作总是慢半拍。查了半天,发现是电子齿轮比设错了。主轴编码器是2500线,伺服电机是17位绝对值编码器,两者分辨率差了十几倍。我忘了设置电子齿轮比,导致从轴位置计算错误。嗯,从那以后,我每次都会先检查分辨率匹配。

下面是一个主从轴同步的配置示例:

// 配置主从轴同步
// 主轴:编码器通道1,分辨率2500线
// 从轴:伺服轴1,分辨率131072线(17位)

// 设置电子齿轮比
SetGearRatio(masterAxis, slaveAxis, 131072, 2500);

// 加载凸轮表
LoadCamTable(slaveAxis, camTable, 3600);

// 启动同步
EnableCamSync(slaveAxis, masterAxis, 0); // 0表示相位偏移为0

调试技巧:启动同步后,先低速运行,观察从轴是否跟随。如果从轴有抖动或滞后,可以调整速度前馈和加速度前馈参数。我一般先调速度前馈,再调加速度前馈,这样效率最高。

知识体系总览

下面这张图,是我自己总结的电子凸轮知识体系。你可以把它当作调试时的「地图」。

电子凸轮知识体系 电子凸轮(CAM) 凸轮曲线类型 梯形 修正梯形 S型 多项式 凸轮表生成 分辨率选择 位置计算 下载验证 主从轴同步 同步比 相位偏移 电子齿轮比 核心:曲线选型 → 凸轮表生成 → 同步调试 调试流程:低速验证 → 中速优化 → 高速测试 → 批量生产 记住:先仿真,再下载;先低速,再高速

好了,这一章的内容就到这里。电子凸轮的基础知识,说白了就是三件事:选对曲线、生成好表、调好同步。这三件事做好了,包装机械的运动控制就稳了八成。剩下的两成,是现场经验和故障处理,我们后面章节再聊。

专注资料整理