我刚刚完成了一个使用 Marlin 固件的 CNC。它的尺寸非常大(3200 x 2000 毫米),桌子并不完美。我正在考虑添加一个接近传感器来在 eeprom 中存储网格,从而补偿任何错误。我不知道该怎么做。我希望能够从显示器(完整图形)执行一个动作,并在整个表格上采集样本,但我不知道如何告诉固件在哪里采集样本,也不知道它的尺寸是多少。
如何将自动床校平添加到基于 Marlin 的 CNC 控制器?
3D打印
平床
数控
2021-04-26 17:59:20
1个回答
自动床调平需要在 Marlin 固件配置中进行一些设置(常数)。
建议先阅读自动调平床的实现。有几个选项可以选择调平类型,对于 3D 打印机AUTO_BED_LEVELING_BILINEAR
,如果您不知道床是否平坦,通常选择的选项是最佳选择。如果您确定它是平的但倾斜的(例如,当您在 3D 打印中使用铣床或玻璃板时),您可以选择AUTO_BED_LEVELING_3POINT
或AUTO_BED_LEVELING_LINEAR
。
更重要的是您选择的传感器类型。您想要触摸传感器还是接近传感器。后者是您的偏好(如您的问题中所指定),它更简单一些,因为您不需要配置伺服系统来部署和装载。
您需要设置:
#define FIX_MOUNTED_PROBE
用于使用固定式接近传感器。
在配置文件中,您还需要指定探头相对于喷嘴的位置(在您的情况下是工具中心):
#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]
后者不是必需的,因为您始终可以通过 G 代码命令设置传感器触发点到喷嘴/工具平面的距离 M851 Z-x.xx
您还需要设置探测区域的边界以防止工具击中不需要的位置(填写值或保留常量):
// Set the boundaries for probing (where the probe can reach).
#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)
正确设置后,命令会G29
运行床的调平,该命令可以使用选项将床网格存储到 EEPROM。
LCD_BED_LEVELING
在配置文件中启用常量将向 LCD 添加一个 Bed Leveling 子菜单。但是您也可以使用加载这些代码的 SD 卡存储文件。
该参考资料更详细地解释了自动调平,但互联网上还有许多更详细的指南可供参考。请确保您获得最新指南,以便在最新固件中进行设置。