Kossel 升级记 - 增加断料检测

由于Kossel是使用远程挤出机,那么如果手动更换打印耗材就是一件非常麻烦的事,要将耗材从远程挤出机中抽出或者插入都是一件极为麻烦的事,甚至某些时候可以说是一团糟。如果LCD控制菜单或者通过GCode指令能帮助我们完成这一项工作那将是一种福音。

Marlin支持一个非常棒的GCode那就是M600,这是一个指示打印机更换打印耗材的半自动化功能。

但如果要打开这个功能就需要在固件中更改不少的地方,首先要找到FILAMENT_RUNOUT_SENSOR的定义并取消注释,使耗材检测传感器处于可用状态。然后要将FIL_RUNOUT_INVERTING设置为true,具体代码如下:

/**
 * Filament Runout Sensor
 * A mechanical or opto endstop is used to check for the presence of filament.
 *
 * RAMPS-based boards use SERVO3_PIN.
 * For other boards you may need to define FIL_RUNOUT_PIN.
 * By default the firmware assumes HIGH = has filament, LOW = ran out
 */

#define FILAMENT_RUNOUT_SENSOR

#if ENABLED(FILAMENT_RUNOUT_SENSOR)
  #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
  #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
  #define FILAMENT_RUNOUT_SCRIPT "M600"
#endif

此时需要在将的 pins_RAMP.h 文件中的FIL_RUNOUT_PIN指向当前使用的跳线,如果采用Y-MIN则要改成以下的设定

#define FIL_RUNOUT_PIN      14 // 现在采用 Y-Min // 4

如果不清楚传感器的状态可以输入M119来查看断料传感器的状态,插入耗材后filament的状态应该为Tiggered, 在Pronterface的输出如下所示:

>>> M119
SENDING:M119
Reporting endstop status
x_max: open
y_max: open
z_min: open
z_max: open
filament: TRIGGERED

当然此时你还没有上传固件,因为现在的状态是不能成功进行编译的FILAMENT_RUNOUT_SENSOR是需要在Configuration_adv.h文件中启用ADVANCED_PAUSE_FEATURE才能成功编译。打开Configuration_adv.h文件找到以下的代码行:

/**
 * Advanced Pause
 * Experimental feature for filament change support and for parking the nozzle when paused.
 * Adds the GCode M600 for initiating filament change.
 * If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
 *
 * Requires an LCD display.
 * Requires NOZZLE_PARK_FEATURE.
 * This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
 */
#define ADVANCED_PAUSE_FEATURE

这个选项实际的意义就是让3d打印机可以暂停打印并进行停靠,当然你还得在Configuration.h 文件中将NOZZLE_PARK_FEATURE启用起来:

/**
 * Nozzle Park
 *
 * Park the nozzle at the given XYZ position on idle or G27.
 *
 * The "P" parameter controls the action applied to the Z axis:
 *
 *    P0  (Default) If Z is below park Z raise the nozzle.
 *    P1  Raise the nozzle always to Z-park height.
 *    P2  Raise the nozzle by Z-park amount, limited to Z_MAX_POS.
 */
#define NOZZLE_PARK_FEATURE

#if ENABLED(NOZZLE_PARK_FEATURE)
  // Specify a park position as { X, Y, Z }
  #define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
  #define NOZZLE_PARK_XY_FEEDRATE 100   // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
  #define NOZZLE_PARK_Z_FEEDRATE 5      // Z axis feedrate in mm/s (not used for delta printers)
#endif

其中的三个变量的定义的意思如下:

  • NOZZLE_PARK_POINT - 指定效应器的停靠位置
  • NOZZLE_PARK_XY_FEEDRATE - 指定效应器在停靠时XY轴方向(水平)运行速度
  • NOZZLE_PARK_Z_FEEDRATE - 指定效应器在停靠时Z轴方向(垂直)运行速度

然后回到 Configuration_adv.h 文件中,还需要对 ADVANCED_PAUSE_FEATURE内的具体选项进行修改,否则在更换耗材时耗材只会被拖出一点点或者送进一点点,因为Marlin是对近程挤出机进行设置的所以出料与入料都设得很短,因此我们得将FILAMENT_CHANGE_UNLOAD_LENGTHFILAMENT_CHANGE_LOAD_LENGTH设置得长一些,我这里是设置成为500,也就是50CM,代码如下所示:

#if ENABLED(ADVANCED_PAUSE_FEATURE)
  // ... 省略
  #define FILAMENT_CHANGE_UNLOAD_LENGTH 500   // Unload filament length from hotend in mm

  #define FILAMENT_CHANGE_LOAD_LENGTH 500     // Load filament length over hotend in mm
                                              // Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
  // ...
#endif

上传,然后运行。成功?

不好意思,你的打印机一定只会不停地出现要你插入耗材的提示而且根本没有按照我们所想那样退料50cm或者进料50cm,这是什么鬼?如果打开Pronterfont来观察打印机的日志输出你会发现这么一行:

echo: too long extrusion prevented

然后打印机的LCD控制面板就会提示你插入耗材(即使现在已经插入了耗材)。这是由于被EXTRUDE_MAXLENGTH这个选项给限制了,它是阻止挤出过多地挤出耗材设定的,默认值只有200,对于远程挤出机来说根本不够,那就将它改成600吧,在Configuration.h你可以找到它,代码如下所示:

#define PREVENT_LENGTHY_EXTRUDE
#define EXTRUDE_MAXLENGTH 600

上传固件,大功告成!

注意 : 如果你没有将挤出头的温度加热到170度以上,LCD中是不会出现更换耗材菜单的,记得想更换耗材之前要预热哦。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容