跳转至

# 多微控制器归位与探高

Klipper支持将归位限位开关和动作的步进电机连接到不同的微控制器上。该功能被称为“多 mcu 归位”。该功能也支持将探针连接到不同的微控制器上。

该功能可以简化接线，因为限位开关或探针可以连接到距离最短的微控制器上。然而，该功能也会带来问题，因为运动控制器和限位控制器并非同一控制器，可能造成归零或探高时的“过度运动”。

过度运动的可能成因是，控制步进电机运动的微控制器 和 监控限位开关的微控制器之间的信息传递存在延时。Klipper在设计上将延时压缩到25ms以下。（在使用多mcu时，各个微控制器会通过周期性发送状态信息确定与上位机的延时不超过25ms。）

例如，如果归零速度为10 mm/s则可能的过运动的量为0.25mm（10mm/s * .025s == 0.250mm）。在进行多mcu的归零配置时应充分考虑过运动的影响。使用低速归零可以有效减少过运动。

步进电机的过运动不太可能对归零和探高的精度产生很大的影响。Klippe代码上会考虑通讯延时校正归零的结果。但是，过运动对硬件稳固性有要求，因为过运动发生时有可能会损坏硬件。

为了使用这种“多微控制器归位”功能，硬件必须在主机和所有微控制器之间具有可预测的低延迟。通常，往返时间必须始终小于 10 毫秒。高延迟（即使是短时间）也可能导致归位失败。

如果高延迟导致故障（或者有其他通信问题），Klipper 将触发“复位期间通信超时”错误。

需要注意的是当一个轴由多个步进电机控制（比如`stepper_z`和`stepper_z1`），这些电机必须连接到同一微控制器上以实现复数微控制器归零。详细来说，即Z限位开关位于微控制器1， `stepper_z`连接到微控制器2，则`stepper_z1`必须连接到微控制器2。

回到页面顶部