“先把电机和机械结构分开判断。”
周野没有继续调整控制参数。
二十四块定子在独立试验台上已经完成过测试。
额定扭矩波动只有百分之一点二。
如果现在看到角度抖动,就立刻认定电机设计失败,很可能会走错方向。
b轴重新回到零度。
低速转动。
每分钟零点五度。
角度误差只有一点九个角秒。
符合要求。
b轴转到正十度。
误差上升到三个角秒。
正二十度。
六点七个角秒。
正三十度。
十一点四个角秒。
随着铣头摆角增加,抖动越来越明显。
如果是电机自身的周期性扭矩波动,无论b轴处于什么角度,误差都应该接近。
现在却与摆角高度相关。
这说明真正变化的,是九吨重铣头产生的重力矩。
铣头位于零度时,重心基本处于b轴正下方。
电机只需要克服轴承摩擦。
摆到正三十度以后,铣头重心偏离旋转中心。
巨大的自重开始形成持续力矩。
控制器必须一直输出数千牛米,才能让铣头停在目标位置。
现有程序没有完整重力补偿。
它使用传统位置闭环。
角度向下偏了,电机增加电流,把铣头拉回去。
拉过头以后,电流又下降。
铣头再次向下偏。
如此反复,就形成低速抖动。
“电机一直等位置出错以后才纠正。”
林浩看着电流曲线,“九吨结构惯量太大。”
“等它发现误差,已经晚了。”
“要在解除机械夹紧之前,先给电机一个能够托住铣头的力。”
“重力前馈。”
控制器需要知道每个b轴角度对应多少重力矩。
理论上可以按照铣头质量和重心位置计算。
可这套样机由三套旧样机部件重新组合。
主轴、冷却、夹紧模块和电机都发生了变化。
实际重心早已不同于原设计。
周野在铣头底部布置四个载荷传感器。
b轴从负九十度缓慢摆到正九十度。
每隔一度,记录一次电机维持静止所需电流。
总共一百八十一个位置。
第一轮测量完成后,形成基础重力曲线。
可第二轮数据与第一轮仍然存在差异。
同一个角度,从上向下运动和从下向上运动,所需电流不同。
“摩擦。”
韩正业说道,“大型回转轴承的启动摩擦比运动摩擦大。”
“方向一变,摩擦力也跟着变。”
单纯重力补偿还不够。
还要建立低速摩擦模型。
启动前,提前克服静摩擦。
进入运动以后,电流迅速下降。
接近目标位置,再切换到微动控制。
林浩建立三层控制。
第一层,重力前馈。
根据b轴角度,提前输出托住铣头的基础扭矩。
第二层,摩擦补偿。
根据运动方向和速度,修正启动与运行扭矩。
第三层,位置闭环。
只负责修正剩余的微小角度误差。
第一次测试。
正三十度角度波动从十一点四角秒,下降到五点一角秒。
第二次增加方向切换补偿。
下降到三点二角秒。
已经接近目标。
系统却依旧显示一处异常。
【b轴低速控制误差:3.2角秒】
【重力补偿准确度:94%】
【摩擦补偿准确度:89%】
【剩余误差来源:驱动模块响应延迟不一致】
二十四块定子由十二组驱动模块控制。
每组驱动两块定子。
理论上同时输出。
实际通信和功率器件存在微小差异。
最快的驱动模块与最慢的驱动模块之间,相差零点六毫秒。
普通电机感受不到。
二十四组圆周分布的定子却会因此产生短暂不均衡力。
“不要要求十二组驱动同时收到命令。”
林浩说道,“先测出每一组实际延迟。”
“最慢的一组作为基准。”
“其他驱动提前发送。”
十二组驱动逐一标定。
控制器根据实际响应时间,生成独立触发偏移。
第三轮测试开始。
b轴正三十度。
角度波动一点八角秒。
正六十度。
两点一个角秒。
负六十度。
两点三角秒。
最低稳定转速,从每分钟零点五度下降到每分钟零点零五度。
九吨重的铣头开始以肉眼几乎察觉不到的速度平稳移动。
没有停顿。
没有爬行。
也没有方向来回抢夺。
【b轴低速爬行异常已消除】
【最低稳定转速:0.05度每分钟】
【最大角度波动:2.3角秒】
【驱动模块同步误差:0.08毫秒】
【模块化力矩电机控制完成度提升至96%】
b轴问题解决。
可当c轴开始整圈回转测试时,角度误差又出现规律性变化。
每转一圈,误差曲线会产生一次明显起伏。
最大定位误差,八点七角秒。
而项目指标,同样是不超过三个角秒。
这一次,电机电流很稳定。
机械转动也没有卡顿。
问题来自角度测量本身。
……