我正在尝试制作一个 3D 涂层机,我希望在其中具有双 X、双 Y 和 Z 轴控制。这需要使用 5 个步进驱动器来控制 5 个步进电机。在修改 Marlin 固件的 configuration.h、configuration_adv.h 和 pin_ramps.h 文件后,我使用 Ramps1.4 上的 Y 和 E1 插槽控制了 2 个 Y 轴(彼此的克隆)。但由于编译错误,类似的过程不适用于我使用两个插槽 X 和 E0 的双克隆 X 轴。 我将不胜感激有关如何同时控制 X 和 E0 的任何指导。 谢谢你。
要使用 RAMPS 1.4 上的 X 和 E0 引脚控制双 X 轴,您可以遵循与双 Y 轴类似的步骤,但需要进行一些重要的调整。我将指导您完成 Marlin 固件中的必要更改。
确保双 X 轴的两个步进电机都连接到 X 和 E0 引脚(正如您已经完成的那样)。
确保两个电机都正确连接到 RAMPS 1.4 上的步进驱动器。
在您的configuration.h文件中,您需要启用双X轴功能。找到并取消注释以下行:
#定义X_DUAL_STEPPER_DRIVERS
这将告诉 Marlin 您有两个步进驱动器控制 X 轴。
在pins_RAMPS.h中,您需要为第二个X电机定义正确的引脚映射,该电机连接到E0引脚。确保设置以下行:
#define X2_ENABLE_PIN 64 // 假设您使用 E0 引脚作为第二个 X 轴。 #define X2_STEP_PIN 60 // E0 步进引脚(RAMPS 1.4 通常为引脚 60) #define X2_DIR_PIN 62 // E0方向引脚(RAMPS 1.4通常为引脚62)
这将确保 Marlin 可以通过 E0 引脚控制第二个电机。
在configuration_adv.h中,查找双步进电机部分,并确保为两个X轴电机启用设置。你应该:
#define DUAL_X_DRIVER_EXTRUDER_OFFSET_X 40 // 两个X电机之间的偏移量,根据需要调整该值。
此设置允许 Marlin 考虑两个 X 电机之间的物理距离(如有必要)。
对configuration.h、configuration_adv.h和pins_RAMPS.h进行更改后,保存文件并重新编译固件。
确保您在 Arduino IDE 中选择了正确的板(具有适当步进驱动器配置的 RAMPS 1.4)。
固件上传后,您可以使用控制面板或 G 代码命令移动 X 轴来测试双 X 电机功能。两个电机应同步移动。
潜在的故障排除提示:
如果您仍然遇到编译错误,请仔细检查pins_RAMPS.h中的引脚分配,以确保它们正确。
此外,验证configuration.h更改是否已正确保存,并且双X轴代码是否在configuration_adv.h中启用。
按照这些步骤,您应该能够通过 RAMPS 1.4 板上的 X 和 E0 插槽控制两个 X 电机。如果您需要更多帮助,请告诉我!