ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

伺服电子齿轮比计算全解析:从脉冲当量到工程实例

伺服电子齿轮比计算全解析:从脉冲当量到工程实例 调试伺服的时候我最常被问到的问题就是“电子齿轮比到底怎么算”。这玩意儿看着就一个分数可一旦机械结构里掺了减速机、皮带轮、转盘很多人就开始抓瞎只能拿着别人的参数照抄换台设备就不会了。这篇东西不打算讲枯燥的说明书我想从“为什么要设电子齿轮比”开始把脉冲数计算的完整逻辑链捋一遍再配上几个实际算例尽量让看完的人能直接上手算自己的设备。1. 电子齿轮比到底在解决什么问题先把原理吃透1.1 从“上位机发不出那么多脉冲”说起很多人第一次接触电子齿轮比是在调试伺服驱动器时看手册里写着“Pr.20/Pr.21”或者“P1-44/P1-45”这样的参数默认值往往是“4/1”或者“1/1”一脸懵地不知道改它干嘛。要理解它得先明白一个矛盾。现在的伺服电机编码器分辨率越来越高17位就是每圈131072个脉冲20位直接飙到1048576。也就是说想让电机精确转一圈理论上位置反馈要数到十几万甚至一百多万个脉冲。但是你的上位机——无论是PLC的高速脉冲口还是运动控制卡的脉冲输出——通常只有200kHz到4MHz的输出能力。以200kHz为例如果让电机转一圈需要1048576个脉冲那电机的最高转速就被死死卡在每秒0.19圈也就是11.5rpm。这别说干活了转个刀库都嫌慢。反过来如果把上位机脉冲数和电机转角的比例设得太粗糙精度又没了。理论上电机每圈只需要1000个脉冲转速倒是能拉到12000rpm可低速运行时可能电机动一下就是0.36°根本没法精确定位。所以问题就变成了上位机发的脉冲个数和电机内部编码器反馈的分辨率这两者之间需要一座桥。这座桥就是电子齿轮比。它的本质是一个“倍频/分频器”上位机发来P个指令脉冲经过电子齿轮比的缩放后变成P ×分子/分母个脉冲去对照编码器的反馈值。简单说伺服驱动器替你把“指令脉冲”翻译成了“编码器脉冲”。1.2 电子齿轮比的位置缩放本质我习惯把电子齿轮比理解为地图上的比例尺。地图上量出来1厘米对应实际地面上多少公里取决于比例尺。而上位机发出来的“一个脉冲”对应电机实际转多少角度取决于电子齿轮比。这里有个关键认知电子齿轮比不是增益不是扭矩放大器它改变的是“位置指令的分辨率”。它不会让电机更有劲也不会改变编码器的物理分辨率它只决定了一个指令脉冲对应多少反馈脉冲。举个例子。一个17位编码器的伺服编码器一圈131072个脉冲。如果电子齿轮比设为131072/10000那意味着上位机每发10000个脉冲经过驱动器换算正好等价于编码器的131072个反馈脉冲也就是电机转一圈。所以你看这里有一个非常核心的换算关系电机每转需要的指令脉冲数 编码器分辨率 ÷ 电子齿轮比也可以用分数形式写电子齿轮比 编码器分辨率 ÷ 电机每转指令脉冲数这个公式是所有计算的起点。只要抓住它后面那些丝杠、皮带、转盘的计算都是在围绕“电机每转指令脉冲数”这个变量做文章。1.3 电子齿轮比不是你想的那样三个常见误区误区一电子齿轮比越大越好。实际上电子齿轮比过大会导致指令脉冲频率很快达到上限反而限制最高转速。它是“精度”和“速度”之间的天平不是单方向越大越好的旋钮。误区二电子齿轮比能无限细分提高定位精度。电子齿轮比只是对指令脉冲做缩放编码器反馈分辨率才是物理精度的天花板。你把电子齿轮比设成10000:1看着一个脉冲对应的位移小得吓人但编码器反馈端的分辨率没变系统的重复定位精度不会因此突破编码器本身的分辨率。误区三电子齿轮比设好就再也不用动了。换机械结构、换减速比、换丝杠导程、换目标脉冲当量都要重新算。哪怕只是把丝杠从10mm换成5mm只改机械不改参数走位距离直接差一倍。2. 核心公式推导从脉冲当量反推电子齿轮比2.1 基础公式的两个方向上一节已经写出来了两个方向。方向一已知目标电子齿轮比算电机的实际圈数。电机转数圈 上位机发出的脉冲数 ÷编码器分辨率 ÷ 电子齿轮比方向二已知机械需要走多少位移反推电子齿轮比。飞行思路是这样的第一步确定你希望的“脉冲当量”也就是一个指令脉冲对应负载移动多少毫米或多少度。这是设计目标由设备精度要求决定。第二步算出负载移动1mm或转1°需要多少个脉冲每毫米脉冲数 1 ÷ 脉冲当量第三步算出电机转一圈负载移动多少距离。这个要看机械传动链比如丝杠导程、减速比、皮带轮周长、转盘分度。第四步用“电机每转所需指令脉冲数 电机每转负载位移量 ÷ 脉冲当量”算出目标P。第五步代入电子齿轮比公式电子齿轮比 编码器分辨率 ÷ P这就是完整链路。2.2 引入脉冲当量后的完整计算链路用生活化的方式说脉冲当量就是设备的“最小刻度”。就像一把尺子最小刻度是1mm你就量不出0.5mm。设备的最小刻度定成0.001mm那一个脉冲就对应0.001mm。但这里有个容易绕晕的点脉冲当量和电子齿轮比并不是一对一的固定关系因为中间还隔着“电机每转的机械位移”。同样的脉冲当量丝杠导程不同算出来的电子齿轮比就完全不同。举个例子两台设备都要求脉冲当量0.001mm。设备A用导程10mm的丝杠电机转一圈负载走10mm所以电机每转需要10000个脉冲。设备B用导程5mm的丝杠电机转一圈负载走5mm电机每转只需要5000个脉冲。如果两台伺服编码器分辨率相同那它们的电子齿轮比就差了整整一倍。这是新手最容易踩的坑拿着A设备的电子齿轮比参数直接填到B设备上结果走位距离全部不对。2.3 参数设置位置与单位说明不同品牌伺服驱动器的参数名称和编号五花八门三菱叫“电子齿轮比分子/分母”台达叫P1-44/P1-45松下叫Pr0.08/Pr0.09汇川叫H05-33/H05-34。但只要抓住“分子/分母”两个参数即可。设置时需要注意几点第一分子分母是整数不能带小数点。理论计算出来如果不是整数要么约分处理要么四舍五入后接受微小误差。第二分子分母往往有范围限制。大部分驱动器要求分子分母在1到65535之间16位高端一些的可以到32位。如果算出来超过范围要先约分约到最简形式。第三电子齿轮比的方向问题。如果电机转向反了有的驱动器允许把分子设成负值或者单独设置方向参数。千万别只改接线这在后面调试部分会细说。3. 三种典型机械结构的脉冲数计算实例这一节是全文的实操重点。我按最常见到的三类机械结构把计算过程整个走一遍。建议你拿支笔跟着算比光看有感觉。3.1 丝杠机构最简单也最典型的算例场景一套丝杠模组丝杠导程10mm电机通过联轴器直连丝杠减速比1:1编码器分辨率131072脉冲/圈17位。设计要求脉冲当量0.001mm。第一步算电机转一圈负载移动距离。因为是直连电机转一圈丝杠转一圈工作台移动一个导程也就是10mm。第二步算电机每转所需指令脉冲数。P 负载位移 ÷ 脉冲当量 10mm ÷ 0.001mm 10000脉冲/圈第三步代入电子齿轮比公式。电子齿轮比 131072 ÷ 10000 13.1072但参数不能填小数得写成分子/分母的整数分数。131072/10000约分最大公约数是16约分后得8192/625。也就是说驱动器里设分子8192、分母625。验证一下上位机发10000个脉冲经过电子齿轮比缩放后得10000 × 8192/625 131072个反馈脉冲正好对应编码器一圈电机转一圈负载走10mm。每个脉冲对应0.001mm目标达成。再验证一下速度。假设PLC输出频率上限200kHz那每秒最多发出200000个脉冲对应电机转速 200000 ÷ 10000 20圈/秒 1200rpm工作台速度 20 × 10 200mm/s。这个速度对于大多数丝杠模组已经够用。若觉得不够可以把脉冲当量放宽到0.002mmP就变成5000电子齿轮比变成131072/5000 16384/625约分后最大速度翻倍到400mm/s代价是最小刻度变成0.002mm。这就是前面说的精度与速度权衡你需要看设备需求。3.2 皮带轮机构遇到π怎么办皮带传动比丝杠麻烦一点因为皮带轮的周长是π乘以直径而π是无限不循环小数算出来的数据很难是整数。场景同步带轮直径节圆直径48mm电机与主动轮直连编码器分辨率131072。设计要求脉冲当量0.01mm。第一步算电机转一圈负载移动距离。主动轮转一圈同步带移动一个周长也就是π × 48 ≈ 150.796mm。第二步算电机每转所需指令脉冲数。P 150.796 ÷ 0.01 15079.6脉冲/圈问题来了这不是整数。怎么办两种处理方式方式一四舍五入取整。P取15080电子齿轮比 131072/15080约分后得16384/1885。这样实际脉冲当量 150.796 ÷ 15080 ≈ 0.0099997mm比目标少了0.0000003mm。走一米累计误差约0.00003mm几乎可以忽略。所以绝大部分设备用四舍五入取整完全没问题。方式二不取整直接让电子齿轮比“吸收”小数部分。把P当15709.6代入公式电子齿轮比 131072 ÷ 15079.6 ≈ 8.692。但这个数不是整数比无法精确设置为分子分母最终还是要近似。所以实践中就是方式一最省事。这给我们的经验是皮带传动天生带有π带来的无理数误差不要追求绝对精确只要累积误差在设计容忍范围内即可通常没问题。如果确实对精度有很强的要求就改用伺服直连丝杠或者光栅尺做全闭环。这是结构上的选择不是电子齿轮比能解决的。3.3 转盘分度机构减速比一起来怎么处理转盘分度台是另一种高频场景而且它往往带减速机计算时要特别小心“减速比在分子还是分母”。场景一个转盘工作台要求最小分度0.01°也就是一转36000个脉冲。电机经减速机10:1驱动转盘编码器分辨率131072。这里要明确一点“10:1减速机”意思是电机转10圈输出轴转盘转1圈。所以电机转一圈转盘转过360°/10 36°。第一步计算电机每转需要的指令脉冲数。转盘转1°需要100个脉冲因为0.01°一个脉冲1°就是100个脉冲转盘转一圈需要的脉冲数 360 × 100 36000个脉冲。但电机转一圈转盘才转36°所以电机转一圈对应脉冲数 36000 ÷ 10 3600个脉冲。这里注意另一种更直观的算法直接以“多少指令脉冲让电机转一圈”为目标。想让转盘转一圈需要36000个指令脉冲但电机要转10圈所以每圈指令脉冲 36000 ÷ 10 3600。结果一样。第二步求电子齿轮比。电子齿轮比 131072 ÷ 3600。约分时注意这个约分比较复杂131072是2的17次方3600 2^4 × 3^2 × 5^2最大公约数 16。所以分子 8192分母 225。验证上位机发3600个脉冲经过电子齿轮比缩放后得3600 × 8192/225 131072个反馈脉冲正好电机转一圈转盘转36°。分度0.01°的要求达到。如果减速比改成100:1电机每转需要36000/100 360个脉冲电子齿轮比 131072/360。约分后是多少360 2^3 × 3^2 × 5131072 2^17最大公约数8分子16384、分母45。虽然数值上更好看但你要注意既然有了大减速比电机每转只要360个指令脉冲指令频率200kHz时电机转速可以达到5556rpm早就超出伺服额定转速了。所以实际调试时要结合驱动器速度和电子齿轮比一起设置限速这引出第四节的坑。4. 调试现场最容易踩的几个坑4.1 不约分直接设置参数报错与内部溢出见过太多人算出来电子齿轮比是131072/360000看也不看就往参数里填。结果驱动器直接报参数错误或者运行一段时间位置跑偏。原因很简单分子分母超出驱动器的允许范围或者内部运算精度不够。比如131072/360000这个分数不约分时分子13万、分母36万很多驱动器16位参数根本不接受。约分后变成2048/5625就落在安全范围内了。所以任何计算出来的电子齿轮比都要先约分再写入。约分的工具不需要什么高级软件手机计算器能找到最大公约数就行。多花30秒能省一小时的排查时间。还有一种情况是约分后依然超范围。那就要考虑是编码器分辨率太高23位编码器的8388608确实容易溢出还是减速比太大。这种情况可以先约分如果还不行则要考虑用“多功能输入/输出模块”的方式或改用上位机做脉冲当量换算而不是单纯靠驱动器电子齿轮比。4.2 方向和符号电子齿轮比负值的使用调试时经常遇到电机转向反了。有些人的第一反应是倒换电机动力线这非常不建议一是危险二是有些伺服倒换动力线后编码器方向的配合会出问题。更规范的做法是改驱动器的方向参数或者利用电子齿轮比支持负值的特性把分子设成一个负数。比如前面丝杠例子里分子8192如果电机反了改成-8192/625。这一个负号就能改变整体方向。另外还有一种方向问题不是电机转向反了而是“反馈方向”反了——比如你用手轮正摇平台往负方向走。这种问题通常出现在半闭环系统的编码器反馈方向与指令方向不一致时调整的方向参数往往不是电子齿轮比的符号而是编码器方向位。调试时要分清这两种情况否则越调越乱。4.3 当量、速度与分辨率的三方博弈这是很多新手最容易忽略的一环。电子齿轮比设得越精细每个脉冲对应的位移越小但同样的指令频率下电机转速就越低。它们之间有一个铁三角关系最高电机转速 指令频率上限 ÷ 电机每转指令脉冲数而电机每转指令脉冲数 编码器分辨率 ÷ 电子齿轮比。所以你很容易陷入自己的陷阱为了追求0.0001mm的脉冲当量把P算得很大结果发现最高速度只能跑到几毫米每秒根本没法干活。我的建议是在确定脉冲当量之前先算一遍“在这个当量下指令频率上限对应的最大速度是否满足节拍要求”。如果不满足优先做法不是无限增大电子齿轮比而是考虑换更高频率输出的PLC/运动控制卡或者改用总线通信方式脉冲指令变成总线位置指令。很多高端设备舍弃脉冲接口改用EtherCAT目标就是把“每转脉冲数”这个瓶颈绕开。4.4 无法整除时怎么办取整与实测补偿计算中经常遇到除不尽尤其是皮带传动π的锅和某些非标减速比比如1.5:1、1.7:1。这时候最怕你纠结“必须完全精确”而卡住不动。我的处理准则先把目标P四舍五入到整数再按这个整数反算实际脉冲当量算一下累积误差是否在允许范围。比如要求0.01mm当量实际算出来0.0099997mm差异在0.003%如果产品精度要求不高可以直接用。如果不行就通过软件做螺距误差补偿或者在定位程序里做系数微调。另一种思路是“让脉冲当量迁就电子齿轮比”。什么意思有时候你不一定要死守“0.001mm”这个目标而是先把电子齿轮比设成一个方便的分数再反算出实际当量比如0.001001mm。然后把这个当量作为“基准”写入程序注释以后所有定位值都按这个当量来换算。这是自动化行业很常见的实战做法因为设备本身要的不是“0.001mm”这个名字而是“定位一致且可重复”只要当量已知、程序设计时按实际当量计算即可。5. 一个完整实战三轴平台X轴从选型到验证5.1 已知条件与目标一台小型三轴点胶平台X轴采用丝杠传动具体参数如下丝杠导程5mm减速机行星减速机速比1.5:1电机转1.5圈丝杠转1圈伺服编码器分辨率1048576脉冲/圈20位PLC高速脉冲输出能力200kHz设计要求脉冲当量0.001mm1μm这个案例故意加入1.5:1的非整数减速比因为实际项目里这种场景很常见而且它会让计算不再那么“漂亮”。5.2 计算过程与参数设定第一步算电机转一圈负载移动多少。丝杠导程5mm减速比1.5:1意味着电机转1.5圈丝杠转1圈负载移动5mm。所以电机转一圈负载移动 5/1.5 ≈ 3.333333mm。第二步算电机每转所需指令脉冲数。P 3.333333mm ÷ 0.001mm 3333.333个脉冲/圈。又是除不尽的老问题。3333.333不是整数只能取一个接近的整数值。方案一P3333实际当量 3.333333 ÷ 3333 ≈ 0.0010001mm误差0.01%。方案二P3334实际当量 3.333333 ÷ 3334 ≈ 0.0009998mm误差0.02%反而略大一些。所以选P3333更合适。第三步求电子齿轮比。电子齿轮比 1048576 ÷ 3333。这个分数用欧几里得算法找最大公约数1048576和3333互质3333 3 × 11 × 101而1048576是2的20次方不含3、11、101因子无法约分。所以直接设分子1048576、分母3333。这里要注意1048576这个分子超过了一般驱动器16位参数的上限65535很多驱动器不认。这种情况怎么处理两种办法办法一看看你的驱动器是否支持32位电子齿轮比。现在的伺服基本都支持了如果不支持这个方案就得改。办法二重新选一个更合理的脉冲当量或者调整减速比让P匹配编码器分辨率的因子。比如把减速机改成2:1那电机每转负载移动2.5mmP 2500电子齿轮比 1048576/2500约分后分子524288、分母1250依然超16位。再约分最大公约数用欧几里得算法算1048576和2500的最大公约数是4分子262144、分母625还是超。如果你用的是支持32位的驱动器无所谓如果只有16位就得考虑是不是编码器分辨率太高或者干脆把脉冲当量放宽。这就是为什么实际项目里很多设备只做到0.005mm甚至0.01mm当量因为它能让参数落在16位范围内系统更稳定。回到本例假设我们使用的驱动器支持32位电子齿轮比就直接设分子1048576、分母3333。第四步验证速度。电机每转3333脉冲PLC输出200kHz每秒最多200000/3333 ≈ 60转/秒对应3600rpm。这个转速对大多数伺服来说已经到额定转速甚至超过所以PLC侧必须做速度限制把实际工作速度卡在系统允许范围内。同时负载速度上限 60转/秒 × 3.333mm 200mm/s。如果节拍要求300mm/s这个方案就不够你得要么提高编码器分辨率不行编码器分辨率已经固定要么降低每转脉冲数放宽当量要么换输出频率更高的控制器要么改用总线。这些才是真正意义上的系统级权衡。5.3 上电后的验证与调试顺序参数设好后别急着跑程序我的建议验证顺序是先手动跑“JOG正转一圈”。可以用伺服调试软件的JOG功能让它以固定转速转一圈然后用千分表打工作台位移看是不是3.333mm。注意这里不是看程序脉冲数而是看实际机械位移。如果JOG一圈时实际走了3.333mm说明机械传动链和编码器反馈没问题。再用手轮/点动方式从伺服驱动器调试面板发1000个脉冲指令观察工作台移动量应该是1000 × 0.001001 ≈ 1.001mm。这一步验证电子齿轮比换算正确。最后跑一段往复定位设定目标位置100mm实际走到100.01mm以内基本就算合格。如果偏了首先检查丝杠反向间隙和机械背隙而不是急着改电子齿轮比。90%的走不准问题其实在机械端。还有一个容易忽略的操作把算好的实际当量值记录下来贴到设备参数表里。比如上面这个案例实际当量是0.0010001mm不是标称的0.001mm。等项目做完设计文档、程序注释里务必写明不然半年后维护人员重新调参看到“0.001mm”的标注按表面当量一算怎么都对不上又得从头排查一遍。我个人的习惯是每台设备调完电子齿轮比都存一份以“设备名称轴号日期”命名的参数备份文件同时把计算过程、最终当量、验证实测值写在同一页备注里。后面改机构、换电机、售后出差这份记录能省下大量沟通成本。干这行久了就会发现真正值钱的不只是“会算”而是算完之后那一套能让别人快速接手的“过程资产”。
返回列表