使用 Marlin 固件进行双 X、双 Y 和 Z 步进电机控制

问题描述 投票:0回答:1

我正在尝试制作一个 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 的任何指导。 谢谢你。

c 3d robotics motion cnc
1个回答
0
投票

要使用 RAMPS 1.4 上的 X 和 E0 引脚控制双 X 轴,您可以遵循与双 Y 轴类似的步骤,但需要进行一些重要的调整。我将指导您完成 Marlin 固件中的必要更改。

  1. 接线:

确保双 X 轴的两个步进电机都连接到 X 和 E0 引脚(正如您已经完成的那样)。

确保两个电机都正确连接到 RAMPS 1.4 上的步进驱动器。

  1. Configuration.h 调整:

在您的configuration.h文件中,您需要启用双X轴功能。找到并取消注释以下行:

#定义X_DUAL_STEPPER_DRIVERS

这将告诉 Marlin 您有两个步进驱动器控制 X 轴。

  1. 引脚配置:

在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 引脚控制第二个电机。

  1. Configuration_adv.h 调整:

在configuration_adv.h中,查找双步进电机部分,并确保为两个X轴电机启用设置。你应该:

#define DUAL_X_DRIVER_EXTRUDER_OFFSET_X 40 // 两个X电机之间的偏移量,根据需要调整该值。

此设置允许 Marlin 考虑两个 X 电机之间的物理距离(如有必要)。

  1. 编译固件:

对configuration.h、configuration_adv.h和pins_RAMPS.h进行更改后,保存文件并重新编译固件。

确保您在 Arduino IDE 中选择了正确的板(具有适当步进驱动器配置的 RAMPS 1.4)。

  1. 测试:

固件上传后,您可以使用控制面板或 G 代码命令移动 X 轴来测试双 X 电机功能。两个电机应同步移动。

潜在的故障排除提示:

如果您仍然遇到编译错误,请仔细检查pins_RAMPS.h中的引脚分配,以确保它们正确。

此外,验证configuration.h更改是否已正确保存,并且双X轴代码是否在configuration_adv.h中启用。

按照这些步骤,您应该能够通过 RAMPS 1.4 板上的 X 和 E0 插槽控制两个 X 电机。如果您需要更多帮助,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.