评论
贡献者
我认为问题出在 planner.cpp 的第 663+ 行。如果 e<>0,则启用所有挤出机。不检查那里的 DISABLE_E 标志。 |
贡献者
这个是大约一年前创建的,有很多变化,请下载最新的 marlin 副本,看看问题是否仍然存在。您还可以使用最新的 arduino IDE 来刷新 marlin 固件。如果您的板文件等只能在旧的 ide 下工作,请先升级它们,以便它们在最新的 IDE 下工作。 如果您为不在https://github.com/ErikZalm/Marlin/tree/Marlin_v1/ArduinoAddons中的硬件创建板文件,请 fork marlin 并添加文件,然后创建一个拉取请求,以便我们可以获得硬件支持的。这也将使人们了解人们正在使用什么硬件。 |
我还没有机会与其他任何人确认这一点,但我将对错误进行简短描述,然后说明为什么我认为这是一个错误。在大多数正常情况下,它可能不会影响很多人。
如果您在配置中将 DISABLE_E 设置为 true,通常发生的情况是步进驱动器仅在发送步进/方向时启用,然后步进器被禁用。这可以。但是,当您处理双挤出机设置时,第二台挤出机也会启用,而不管当时是活动挤出机。在大多数情况下,这不会打扰任何人;即使启用了第二个电机,它也会保持原位,因为它没有获得任何步进脉冲,但它与启用线的预期行为不匹配。如果 DISABLE_E 设置为 true,则不活动的挤出机应始终保持禁用状态。
这是我的 configuration.h:http : //pastebin.com/9haVtqpB 并且我的 pins.h 仅在 2 行上进行了编辑,以使挤出机 0 和挤出机 1 共享相同的步骤/方向的引脚号……没有变化使能引脚设置。
我偶然发现这一点的方式是,我目前正在测试共享步进/方向/vdd/gnd/vmot/reset/sleep 的堆叠 pololus,然后拉出启用线,以及带有直角接头的电机线。我很惊讶地发现无论哪个挤出机处于活动状态,两个电机都会移动。