M666 Z调整失效的解决办法
kossel吧
全部回复
仅看楼主
level 13
  在G+上看到的,改 Marlin_main.cpp:
static void homeaxis(int axis) {
...
enable_endstops(false); // Ignore Z probe while moving away from the top microswitch.
current_position[axis] = 0;
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
destination[axis] = -home_retract_mm(axis) * axis_home_dir;
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
st_synchronize();
enable_endstops(true); // Stop ignoring Z probe while moving up to the top microswitch again.
...
#ifdef DELTA
// retrace by the amount specified in endstop_adj
if (endstop_adj[axis] * axis_home_dir < 0) {
enable_endstops(false); // Ignore Z probe while moving away from the top microswitch.
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
destination[axis] = endstop_adj[axis];
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
st_synchronize();
enable_endstops(true); // Stop ignoring Z probe while moving up to the top microswitch again.
}
#endif
2015年05月03日 07点05分 1
level 5
这个是个好帖子,收藏了,可能部分人会碰到
2015年05月03日 09点05分 2
level 7
大赞,我就遇到了
2015年05月09日 10点05分 3
level 7
我改了以后还是没用啊,只是g28的时候有体现出来,但是后来自己第二次碰限位开关它又回去了
2015年05月09日 10点05分 4
发现你说的这两段固件里面好像本来就都有
2015年05月09日 11点05分
回复
�Ծ�Ϊ��
:区别在于enable_endstop那里,有增加有减少
2015年05月09日 16点05分
回复 PC丶爱好者 :所以该怎么改,如果按你的方法改的话无法正常的话
2015年05月09日 16点05分
回复 PC丶爱好者 :[惊哭][狂汗][疑问]
2015年05月09日 16点05分
level 7
楼主能否给我一个可以正常使用m666的固件,我改后还是不行,估计是其他设置还是有问题。
2015年05月09日 11点05分 5
level 4
[大拇指] marlin 下M666 Z 终可动起来了,谢谢!
2015年11月29日 12点11分 9
level 6
何为M666?具体怎么用的?
2015年11月29日 22点11分 10
level 7
牛逼!Z塔也可以了。
2016年08月12日 17点08分 11
level 1
奇怪,改了还是不起作用,anycubic的机器
2017年03月09日 03点03分 12
1