归位的主要作用是定位机器初始位置,机器位置定位之后才能准确的移动到其他位置加工工件。其原理是在指定的方向上快速移动,碰到限位开关,说明已经到达初始位置,为了精确定位,还会回拉一小段距离进入精确定位阶段,然后慢速接近限位开关,为了更精确的定位,可能会重复多次精确定位,最后再回拉离开限位开关。
上面的动作中,参数都是可配置的:
$22=1 // 是否开启归位功能
$23=0 // 归位轴方向反转掩码
$24=25.000 // 归位速率单,位是毫米/分钟
$25=500.000 // 归位查找速率,单位是毫米/分钟
$26=250 // 归位防抖时间,单位微秒
$27=1.000 // 归位回拉距离,单位毫米
$130=200.000 // x轴最大行进距离 归位时超过1.5倍距离会失败
$131=200.000 // y轴最大行进距离 归位时超过1.5倍距离会失败
$132=200.000 // z轴最大行进距离 归位时超过1.5倍距离会失败
归位功能实现代码如下:
函数:limits_go_home()
常量:
// 归位轴搜索距离倍增器。 用这个值乘以循环行程。
#ifndef HOMING_AXIS_SEARCH_SCALAR
#define HOMING_AXIS_SEARCH_SCALAR 1.5 // 必须大于1确保限位开关被接触。
#endif
#ifndef HOMING_AXIS_LOCATE_SCALAR
#define HOMING_AXIS_LOCATE_SCALAR 5.0 // 必须大于1确保离开限位开关。
#endif