3. 电子齿轮原理

做多轴同步控制,电子齿轮是绕不开的基础。说白了,它就是通过软件算法,让两个或多个电机轴按照设定的比例关系运动。我最早接触这个概念是在做印刷机套色系统的时候,那时候机械齿轮箱又重又吵,换成电子齿轮后,整个设备都清爽了。

3.1 电子齿轮比的概念

电子齿轮比,就是主动轴与从动轴之间的位置比例关系。举个例子:

  • 如果电子齿轮比设为 2:1,主动轴转 2 圈,从动轴就转 1 圈
  • 如果设为 1:2,主动轴转 1 圈,从动轴就转 2 圈
  • 如果设为 1:1,那就是同步运动,两根轴转得一模一样

嗯,这里要注意:电子齿轮比可以是整数,也可以是小数。我在做包装机项目时,就遇到过需要 1.732:1 这种非整数比的情况,因为机械结构本身有减速比,必须用小数来补偿。

核心公式:

从动轴位置 = 主动轴位置 × 电子齿轮比

从动轴速度 = 主动轴速度 × 电子齿轮比

3.2 电子齿轮的数学模型

数学上,电子齿轮可以看作一个比例环节。但实际工程中,不能简单乘个系数就完事。你想想看,如果主动轴突然加速,从动轴要立刻跟上,这中间就有延迟和误差。

我习惯用这样的模型来描述:

// 位置域模型
θ_slave(t) = K_gear × θ_master(t) + θ_offset

// 速度域模型
ω_slave(t) = K_gear × ω_master(t)

// 加速度域模型
α_slave(t) = K_gear × α_master(t)

其中:

  • K_gear 是电子齿轮比
  • θ_offset 是初始位置偏移量
  • t 是时间

为什么会需要 θ_offset?我在做飞剪控制时,两把刀必须错开一定角度才能正常剪切,这个偏移量就是靠它实现的。

实战经验:

实际系统中,建议在位置域做电子齿轮,而不是速度域。因为位置域天然带有积分作用,能消除累积误差。我曾经在速度域做过一次,结果跑了一个小时后,两根轴差了半圈多。

3.3 电子齿轮的软件实现方式

软件实现电子齿轮,主要有三种方式:

方式一:主从跟随模式

这是最直接的方式。从动轴不断读取主动轴的位置,乘以齿轮比后作为自己的目标位置。代码大概长这样:

void ElectronicGear_Task(void)
{
    // 读取主动轴当前位置
    int32_t master_pos = GetMasterPosition();
    
    // 计算从动轴目标位置
    int32_t slave_target = master_pos * GEAR_RATIO_NUM / GEAR_RATIO_DEN;
    
    // 设置从动轴位置环
    SetSlavePosition(slave_target);
}

注意这里用了整数除法,避免浮点运算带来的性能开销。GEAR_RATIO_NUM 和 GEAR_RATIO_DEN 分别是齿轮比的分子和分母。

方式二:虚拟主轴模式

所有轴都跟随一个虚拟的数学轴。这个虚拟轴由软件生成,不受物理限制。我在做龙门同步时特别喜欢用这种方式,因为两个轴都能独立补偿,不会互相干扰。

void VirtualMaster_Task(void)
{
    // 虚拟主轴位置
    static int32_t virtual_pos = 0;
    virtual_pos += VIRTUAL_SPEED * CONTROL_PERIOD;
    
    // 轴1跟随
    SetAxis1Position(virtual_pos * GEAR1_NUM / GEAR1_DEN);
    
    // 轴2跟随
    SetAxis2Position(virtual_pos * GEAR2_NUM / GEAR2_DEN);
}

方式三:电子凸轮表

当齿轮比不是固定值,而是随位置变化时,就需要电子凸轮了。比如在飞剪中,剪切段需要同步,非剪切段需要快速回位。这种变比关系,用查表法最合适。

避坑指南:

我曾经在电子凸轮表上吃过亏。凸轮表的点数太少,导致运动不平滑,机器振动得厉害。后来把点数从 360 点增加到 3600 点,问题才解决。建议凸轮表点数至少是 1024 点以上。

3.4 电子齿轮的优缺点

优点 缺点
  • 灵活性强:齿轮比可随时在线修改
  • 无机械磨损:没有齿轮箱的噪音和损耗
  • 精度高:理论上可以达到任意精度
  • 易于维护:改参数就行,不用换齿轮
  • 依赖通信:主从轴之间通信延迟会影响同步精度
  • 计算开销:需要实时计算,对控制器性能有要求
  • 刚性不足:相比机械齿轮,电子齿轮的刚性差一些
  • 调试复杂:参数设置不当容易引起振荡

我个人觉得,电子齿轮最大的优势是灵活性。以前做机械齿轮,改一个速比就要重新加工齿轮,周期长、成本高。现在改个参数就行,几分钟搞定。但缺点也很明显,就是通信延迟。我做过一个测试,当通信周期从 1ms 变成 2ms 时,同步误差直接翻了一倍。

我的建议:

如果对同步精度要求极高(比如误差小于 0.01mm),建议用机械齿轮或直连。如果要求灵活性和可调性,电子齿轮是不二之选。大多数工业场景,电子齿轮完全够用。

电子齿轮知识体系结构图 电子齿轮原理 电子齿轮比概念 数学模型 软件实现方式 优缺点分析 比例关系 整数/小数比 位置比例 速度比例 位置域模型 速度域模型 加速度域模型 偏移量补偿 主从跟随 虚拟主轴 电子凸轮表 查表法 灵活性强 无机械磨损 精度高 依赖通信

这张图把电子齿轮的知识体系梳理清楚了。从概念到数学,从软件实现到优缺点,每个分支都有对应的子项。做项目时,我习惯先看这张图,确认自己当前卡在哪个环节,然后针对性解决。

最后说一句:

电子齿轮不是什么高深的技术,但用好了能解决很多实际问题。关键是理解它的本质——一个带延迟的比例环节。只要抓住这个本质,调试起来就有方向了。


公众号:蓝海资料掘金营,微信deep3321