主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件。
限位开关的作用一是保护电机,当喷头运行到边沿时触发停止,避免继续运行烧坏电机;二是喷头自动回到xyz 轴原点,只要一次调平,以后都是自动的。
喷头行程最大值可以通过软件设置,也就是软限位;最小值(左下角原点)只能用物理开关,也就是说,至少需要 3 个限位开关,xyz 轴各一个。
接线
Ramps1.4 最多可接 6 个限位开关,下图从左到右分别是 X min, X max, Y min, Y max, Z min, Z max。
如果你用的是下面这种 3 线的光电开关,每根线跟主板的标记是对应的,V(Vcc 5v)S(s 信号线)G(Gnd)不能接错。
如果用的是下面这种机械的开关,只要把两根线接到主板的 S 和负极,正反没有关系。
建议接常闭的线。当开关损坏或者掉线时,程序能够识别并作出响应。而常开的接法程序无从知道开关是否失灵。
笔者使用的是光电开关,因为相比机械开关精确度更高,而且机械开关的触手容易损坏。Z轴复位需要较高的精确度。
Marlin 配置 Configration.h
2.0.7.2 默认情况下已经配置了 X-min, Y-min, Z-min 开关,开机就能使用。如果不能,请检查下你的配置是不是跟下面一样的:
// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG
// Enable pullup for all endstops to prevent a floating state
#define ENDSTOPPULLUPS
安装调试
首先需要做一个支架把开关固定到 xyz 轴上。在开关中间插入挡片 led 应当熄灭。笔者做这一步时出了点小插曲。因为挡片材料是白色的并且比较薄,光还是能照射过去。用油性笔涂成黑色都不好使。后来在两面用双面胶贴上一层铝箔纸,完美解决。
打开 pronterface,发送 G28 命令,电机开始转动,当到达限位开关位置时停下来。
关注我把支架免费分享给大家