Nomar记录一段历史
使用伦巴板自动调平床 - 伺服未部署

有没有人成功地在带有 Marlin 固件的 Rumba 板上安装自动床调平?

我有最新的稳定版本1.1.0 RC6

我希望得到一些指导,特别是关于:

  • 如何以及为伺服激活哪个引脚?
  • 在转到探针序列设置之前,如何使用 G 代码对其进行测试?

我现在只安装了连接到 Ext 的硬件(5 V 伺服)。 3 (EXP3):

  • 引脚 2 (+5V);
  • 引脚 4 (GND),和;
  • 引脚 6 (PWM),

伺服和 RAMPS 1.4 和 RUMBA 连接

RUMBA EXP3 引脚排列

但我无法使用 G 代码命令M280 P0 S180移动它。我不知道从哪里开始使用固件来实现这一点。但是我的最终目标是设置 ABL。

要拥有两个 Z min 开关,您必须并行连接它们,以便如果触发任何一个,电路板就会看到它,但这不是实现自动调平的标准方法,您需要确保在正常操作下网格调平开关总是先触发,然后可能将第二个开关设置低 0.5 毫米,这样会与床发生轻微但无害的碰撞,几乎不可能让它们同时触发并仍然得到网格平整的好处。

2个回答

一般说明,我没有这块板,所以我无法自己测试这些步骤,请阅读 configuration.h 中的文档,它非常详细,应该可以很好地指导您。我特别关注 Github 上的 Marlin 1.1 RC7,因此下面的行可能与您看到的略有不同。

至于连接到伺服板上的引脚,pins_RUMBA.h 是它们定义/映射的地方。对于其他板,有一个 pin_[your_board_name].h 将定义任何给定板的引脚。

Rumba 的默认伺服引脚是:

 #define SERVO0_PIN 5

销 6 似乎用于第三个挤出机加热器。

 #define HEATER_2_PIN 6 // EXTRUDER 3

在 configuration.h 中,您必须取消注释(删除开头的斜杠“//”)并在第二行中为伺服填充您的装载和部署角度。在 Z 探针选项标题下找到这些行。

 //#define Z_ENDSTOP_SERVO_NR 0 //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles

定义与挤出机喷嘴的探针偏移:

 #define X_PROBE_OFFSET_FROM_EXTRUDER 10 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 // Y offset: -front +behind [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

根据您对使用两个 z 末端停止开关的评论,您必须启用一个选项才能使用标准末端停止开关进行归位,并且仅将探头末端停止用于网床调平类型操作。 config.h 文件有很多这方面的信息,为了您自己和您的打印机的安全,请阅读它。

取消注释此行:

 //#define Z_MIN_PROBE_ENDSTOP

并评论这一行:

 #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

然后设置托架高度以允许 z 探头空间向下摆动和移动:

 #define Z_PROBE_DEPLOY_HEIGHT 15 // Raise to make room for the probe to deploy / stow #define Z_PROBE_TRAVEL_HEIGHT 5 // Raise between probing points.

对于自动调平取消注释:

 //#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable

然后设置探针点角:

 #if ENABLED(AUTO_BED_LEVELING_GRID) #define LEFT_PROBE_BED_POSITION 15 #define RIGHT_PROBE_BED_POSITION 170 #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this.

设置每个方向(x 和 y)要探测的点数,默认为 2,因此将探测 4 个位置,另一个常见选择是 3,因此它将探测 9 个位置的网格。

 // Set the number of grid points per dimension. // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2

这应该是基本设置所需的一切,尽管还有更多我没有经历过的选项。请查看 configuration.h 文件中的所有文档注释,因为它非常全面,即使可能有点混乱。

我希望这会有所帮助!

谢谢你的回答。我遇到的主要问题是让伺服器移动。如果我按照我的问题连接它,它就不会移动。阅读您的答案看起来我应该将它连接到 2、4 并将 PWM 连接到 5,然后在配置和 Gcode 中使用 Servo0。这是你的意思吗?我在我的问题中添加了一张图片,显示了 ext.3 图表。
是的,我只能告诉你应该将信号线连接到引脚 5,即 pwm1。
我已经按照你的回答做了一切。我还必须在定义 SERVO NR 1 的地方激活伺服支持。我已经使用 arduino 板检查了伺服功能,结果很好。但是,当我发送 Gcode M280 P0 S90 时,舵机不动!不知道该怎么做。
你的舵机目前处于什么角度?如果已经是90度就不动了,可以换个角度试试。另外,您确定该板上的伺服索引从 0 开始吗​​?试试 M280 P1 S80 和 M280 P0 S80。在这两个命令之间,它将检查我的两个建议。除此之外,我想我已经尽可能地提供帮助,而没有使用过伦巴板。
感谢您的帮助。由于我必须在 Servo support 一节中定义舵机的数量,我使用了 1,如果我给 P1,它返回“舵机超出范围”,而 P0 什么也没有发生。不定义舵机号,固件不会编译并返回错误“定义舵机号”。我已经用 Arduino 再次测试了伺服,它很好。我尝试了引脚 6 和 5 ext。 3,但它不动。如果我运行 G29,打印机执行 ABL 但伺服不移动。我手动将它移动到中间位置,以避免它已经处于最终位置。没什么!
我还没有解决我关于伺服的问题,但是您在回答我的问题时给了我一个很好的答案,因此您应得的赏金。感谢您的努力。

供日后参考。

我关于伺服不移动的问题是由接线错误引起的。经验。根据此图,3 有 14 个引脚。

在此处输入图片说明

然而,当物理上看板时,你看到的是: 在此处输入图片说明

我拿了这种连接器右侧的前 2 个针脚和第一排的第 3 个针脚,认为我正在连接 Exp 的针脚 2-4-5。 3. 我错了,因为前 2 (1-2) 个引脚不是 Exp 的一部分。 3.

舵机的正确连接方式如下: 在此处输入图片说明

然后使用 PWM1 (pin 5 Ext.3) 我决定留下这个问题的痕迹和相关解决方案给可能遇到同样问题的人。

随机文章