3、电子齿轮比计算:公式推导、分子分母设置、脉冲当量计算、常见误区
电子齿轮比,说白了就是让控制器发出的脉冲数和电机实际转动的角度之间,建立起一个精确的数学关系。很多新手一上来就对着手册里的公式发懵,其实没那么复杂。我当年第一次调电子齿轮比的时候,也踩过不少坑,今天咱们就把这事彻底讲透。
3.1 电子齿轮比公式推导
先问一个问题:为什么要有电子齿轮比?
因为控制器发出的脉冲数,和电机轴转一圈需要的脉冲数,往往不匹配。比如你发10000个脉冲想让电机转一圈,但电机编码器反馈是131072个脉冲才转一圈。这时候就需要电子齿轮比来做“翻译”。
核心公式其实就一个:
电子齿轮比 = 电机编码器分辨率 / 控制器每转脉冲数
用数学表达就是:
G = (P_encoder) / (P_command)
其中:
- G:电子齿轮比(通常写成分数形式 分子/分母)
- P_encoder:电机编码器每转脉冲数(比如17位编码器就是2^17 = 131072)
- P_command:你希望控制器发多少个脉冲让电机转一圈
举个例子。我有个项目用的是17位绝对值编码器伺服,编码器分辨率131072。我希望控制器每发10000个脉冲,电机就转一圈。那么:
G = 131072 / 10000 = 131072 / 10000
这个分数可以约分。131072和10000的最大公约数是16,约分后:
G = 8192 / 625
所以电子齿轮比分子设8192,分母设625。就这么简单。
核心要点:电子齿轮比的本质是一个比例系数,它把控制器的脉冲指令“映射”到电机的实际运动上。分子分母都是整数,且通常需要约分到最简形式。
3.2 分子分母设置:实战中的讲究
公式看起来简单,但实际设置时有很多门道。我见过不少工程师直接把131072/10000填进去,结果伺服驱动器报错——因为分子分母太大了。
大多数伺服驱动器的电子齿轮比分子分母有范围限制。比如:
- 分子范围:1 ~ 2^31 - 1(约21亿)
- 分母范围:1 ~ 2^31 - 1
- 但有些老款驱动器限制分子分母都在65535以内
我的建议是:先把分数约到最简,然后检查分子分母是否在驱动器允许范围内。如果超出范围,可以适当调整P_command的值。
举个例子。如果编码器分辨率是2^20 = 1048576,你想让P_command = 10000,那么:
G = 1048576 / 10000 = 65536 / 625
分子65536,分母625。大部分驱动器都能接受。但如果驱动器限制分子分母不超过65535,那65536就超了。怎么办?
两种办法:
- 调整P_command:改成P_command = 10001,重新计算。但这样脉冲当量就不是整数了。
- 接受非整数脉冲当量:用浮点数在控制器里做补偿。我个人不太推荐,因为会引入累积误差。
小技巧:我习惯把P_command设成10000、20000、50000这样的整数,方便后续计算。如果编码器分辨率是2的幂次(比如131072、1048576),约分后分子往往也是2的幂次,容易处理。
3.3 脉冲当量计算:从理论到实际
脉冲当量,就是每个脉冲对应的物理位移量。比如每个脉冲对应0.01mm,或者每个脉冲对应0.001°。
计算公式:
脉冲当量 = 机械行程 / 控制器每转脉冲数
举个例子。一个丝杠导程是10mm,电机直连丝杠。你设P_command = 10000,那么:
脉冲当量 = 10mm / 10000 = 0.001mm = 1μm
也就是说,每发一个脉冲,工作台移动1微米。这个精度在很多场合已经够用了。
如果加了减速机呢?比如减速比是5:1,电机转5圈丝杠才转1圈。那么:
脉冲当量 = 10mm / (10000 × 5) = 0.0002mm = 0.2μm
嗯,这里要注意:减速比会放大分辨率,但也会降低速度。这是机械设计上的权衡。
| 场景 | 导程(mm) | 减速比 | P_command | 脉冲当量 |
|---|---|---|---|---|
| 直连丝杠 | 10 | 1:1 | 10000 | 1 μm |
| 带减速机 | 10 | 5:1 | 10000 | 0.2 μm |
| 同步带传动 | — | 2:1 | 20000 | 取决于带轮周长 |
注意:脉冲当量不是越小越好。过小的脉冲当量会导致控制器需要发出大量脉冲才能移动一小段距离,可能超出控制器的脉冲输出频率上限。比如你控制器最高输出200kHz,脉冲当量0.1μm,那最大速度只有20mm/s,太慢了。
3.4 常见误区:我踩过的坑
做电子齿轮比配置这么多年,我总结了几条最常见的错误,你对照看看有没有中招的。
误区一:分子分母填反了
这个错误太经典了。把分子当分母,分母当分子。结果电机要么不动,要么疯转。我曾经有一次调试,电机嗡嗡响就是不转,查了半天发现分子分母写反了。嗯,从那以后我每次写完都拿计算器验算一遍。
误区二:忘记约分
直接把131072/10000填进去,虽然很多驱动器能接受,但有些老款会报错。而且不约分的话,后续计算脉冲当量时容易出错。我建议养成习惯,每次都用最大公约数约分一下。
误区三:忽略编码器分辨率类型
增量式编码器和绝对值编码器的分辨率计算方式不同。增量式是物理刻线数乘以4(因为4倍频),绝对值是2的位数次方。比如17位绝对值就是2^17=131072,而2500线的增量式是2500×4=10000。别搞混了。
误区四:脉冲当量设得太精细
你想想看,脉冲当量设成0.1μm看起来很厉害,但实际机械精度根本达不到。丝杠的背隙、导轨的直线度、温度变形,这些因素加起来可能误差就有几十微米。设那么精细的脉冲当量,除了让控制器累死,没任何好处。我一般设到机械精度的1/5到1/10就够了。
误区五:电子齿轮比和机械齿轮比混淆
电子齿轮比是电气层面的比例,机械齿轮比是物理层面的比例。两者要分开计算,最后再合成。我见过有人把减速比直接写进电子齿轮比里,结果算出来的脉冲当量完全不对。
避坑指南:我曾经在一个多轴同步项目里,因为电子齿轮比设错,导致两个轴不同步,产品全部报废。从那以后我定了个规矩:每次改完电子齿轮比,先让电机低速空转一圈,用百分表打一下实际位移,确认无误再跑自动程序。
3.5 本章知识体系
下面这张图帮你理清电子齿轮比计算的完整逻辑:
电子齿轮比计算,说白了就是三个步骤:搞清楚编码器分辨率、定好每转脉冲数、约分填进去。但每一步都有细节,稍不注意就会翻车。我建议你每次配置完,都按图里的流程走一遍,尤其是最后的实战验证环节,千万别省。
我的习惯:每次改完参数,我都会在驱动器监控界面看实际位置反馈。如果发10000个脉冲,反馈显示正好转了1圈,那就对了。如果差一点,赶紧查分子分母有没有填反。
公众号:蓝海资料掘金营,微信deep3321