Tevo Tarantula 升級固件 ( repetier + marlin )

哈 哈 ,我 的 Tevo Tarantula 升 級 改 裝 了 很 多 硬 件 ,所 以 亦 係 時 候 要 升 級 軟 件 了 。3D Printer 都 會 有 一 片 電 路 板 ,稱 為 控 制 器 ( controller )。而 controller 裡 面 運 行 的 軟 件 ,就 叫 做 固 件 ( firmware )。

3D Printer 的 firmware 有 很 多 很 多 ,但 大 部 分 3D Printer 的 firmware 都 是 開 源 的 ,大 家 可 以 任 意 下 載 和 修 改 。這 就 造 成 了 一 個 的 現 象 ,就 是 入 門 級 3D 打 印 機 ,大 多 使 用 的 都 是 這 些 開 源 的 firmware。應 該 可 以 大 大 減 低 開 發 成 本 吧 。

現 在 最 多 人 使 用 的 3D Printer firmware,應 該 就 是 Marlin 和 Repetier。而 者 的 功 能 其 實 十 分 相 似 ,性 能 也 相 約 ,支 持 的 硬 件 也 差 不 多 ,實 在 難 以 決 定 那 個 較 好 那 個 軟 差 。不 過 ,根 據 我 自 己 爬 文 的 經 驗 ,好 像 還 是 用 Marlin 的 網 友 比 較 多 一 點 點 。

Tevo 的 Tarantula,其 官 方 的 固 件 ,就 是 用 Repetier 改 的 。這 裡 的 所 謂 改 ,其 實 也 只 是 修 改 了 configuration ( 例 如 打 印 機 結 構 、打 印 體 積 大 小 、多 少 噴 頭 、自 動 調 平 用 那 一 種 sensor、用 那 一 款 控 制 器 、…. ),這 些 都 不 涉 及 firmware 裡 面 的 功 能 。

所 以 ,其 實 Tarantula 用 的 就 是 Repetier 固 件 ,Tevo 只 是 幫 你 設 定 好 而 已 。Tevo 的 固 件 ,可 以 到 以 下 的 網 站 下 載 。

Tevo Tarantula Stock Firmware 

官 方 的 固 件 其 實 也 不 差 ( 我 是 說 ,Repetier 的 固 件 其 實 也 不 差   ),那 為 什 麼 要 自 己 去 升 級 呢 ?最 簡 單 的 原 因 就 是 官 方 比 較 懶 ( 又 或 許 說 比 較 慢 ),Tevo 的 Repetier 用 的 還 是 0.92,已 經 是 幾 年 前 推 出 的 了 ,你 至 少 都 應 該 給 我 們 1.0 吧 ?不 說 新 功 能 ,至 少 新 版 本 有 許 多 許 多 bug fix 吧 ?

第 二 個 自 己 升 級 固 件 的 原 因 ,就 是 為 了 自 行 改 裝 的 硬 件 。例 如 你 改 用 了 更 好 的 BLTouch sensor。又 例 如 你 自 行 更 換 了 一 張 大 熱 床 ,要 加 大 打 印 體 積 。又 或 者 你 由 一 個 噴 頭 增 加 到 兩 個 噴 頭 。又 或 者 你 加 裝 了 filament runout sensor。

以 上 這 些 改 動 都 需 要 重 新 去 設 定 固 件 的 。反 正 你 用 stock firmware ( 原 廠 固 件 ) 也 是 要 自 行 設 定 ,那 為 什 麼 不 上 Repetier 下 載 最 新 的 固 件 來 設 定 呢 ?( 還 別 說 Repetier 自 家 的 網 上 設 定 工 具 有 多 好 用 了 )

Repetier-Firmware configuration tool

第 三 個 自 己 改 固 件 的 原 因 ,就 是 為 了 我 不 喜 歡 Repetier,我 只 是 純 粹 地 喜 歡 Marlin 而 已 。Marlin firmware 只 要 設 定 好 ,一 樣 可 以 在 Tarantula 上 面 運 行 。如 果 不 想 自 己 逐 行 去 設 定 ,也 有 別 人 已 經 設 定 好 的 版 本 。

例 如 最 多 人 用 的 Jim Brown 修 改 的 Marlin Tarantula 版 本 。這 個 版 本 還 使 用 了 Easy Config,你 只 要 簡 單 地 修 改 configuration.h 最 前 面 的 一 小 半 內 容 ,就 可 以 完 成 設 定 。因 為 Tarantula 由 推 出 至 今 也 有 很 多 不 同 版 本 、不 同 的 options,所 以 雖 然 這 個 Marlin firmware 是 特 別 為 Tarantula 而 設 ,但 還 是 需 要 你 自 己 去 做 一 點 設 定 ,例 如 熱 床 是 大 還 是 小 ,是 手 動 調 平 還 是 自 動 調 平 等 等 。

JimBrown /MarlinTarantula

下 面 就 同 大 家 一 起 實 作 怎 樣 自 己 更 新 固 件 吧 。

不 管 是 Marlin 也 好 ,Repetier 也 好 ,兩 種 固 件 其 實 都 是 寫 給 Arduino Mega 2560 的 ,所 以 它 們 都 是 要 用 Arduino IDE 來 修 改 和 上 傳 到 3D 打 印 機 的 控 制 板 的 。而 Tarantula 的 控 制 板 是 一 片 MKS Base 1.4,其 實 就 是 一 片 兼 容 Arduino Mega 2560 + RAMPS 1.4 的 控 制 板 。所 以 你 只 要 當 它 是 一 片 Arduino Mega 2560 來 用 就 可 以 了 。

Download the Arduino IDE – Previous IDE Releases

我 們 要 在 電 腦 上 下 載 和 安 裝 好 Arduino IDE,據 說 要 1.6.8 或 以 下 的 版 本 才 行 ,不 過 IDE 版 本 其 實 不 會 影 響 你 的 Arduino 程 式 的 。Arduino IDE 打 開 了 就 是 下 面 這 個 樣 子 ,我 們 要 到 Tools >> Board >> 選 擇 Arduino/Genuino Mega or Mega 2560,然 後 在 Tools >> Port >> 選 擇 連 接 3D Printer 的 com port ,例 如 我 是 COM5。

Arduino IDE

首 先 我 們 試 試 修 改 原 廠 的 固 件 吧 。在 官 網 的 Dropbox 連 結 ,有 兩 個 檔 案 ,其 中 一 個 是 「dual extruder big bed」,正 是 我 購 買 的 機 種 。

Tevo Tarantula Stock Firmware 

Tarantula Stock Firmware

打 開 zip 檔 之 後 ,裡 面 是 一 堆 檔 案 。這 一 整 個 folder 其 實 就 是 一 個 Arduino 程 式 。

Tarantula Stock Firmware

其 中 Repetier.ino 就 是 主 程 式 ,我 們 可 以 用 Arduino IDE 來 打 開 它 。( 又 或 者 直 接 double click 那 個 ino 檔 。 )

repetier.ino

打 開 之 後 ,你 可 以 見 到 有 很 多 個 Tabs,每 一 個 Tab 就 對 應 folder 裡 面 的 其 中 一 個 檔 案 。要 修 改 設 定 的 話 ,我 們 要 去 configaration.h 的 那 一 頁 。它 裡 面 有 非 常 多 東 西 可 以 設 定 的 ,有 五 六 百 行 。

例 如 你 由 小 的 熱 床 換 了 大 的 熱 床 ,你 就 可 以 去 修 改 那 個 Y_MAX_LENGTH。如 果 你 反 向 安 裝 了 Z 軸 ,你 就 要 修 改 那 個  INVERT_Z_DIR。但 我 們 現 在 也 沒 改 機 ,也 就 沒 什 麼 好 修 改 的 了 。

那 我 們 就 試 試 修 改 兩 個 非 常 無 聊 的 設 定 吧 ,UI_PRINTER_NAME 和 UI_PRINTER_COMPANY。它 們 就 是 打 印 機 的 名 稱 ,這 個 設 定 只 會 在 開 機 時 顯 示 在 LCD 上 ,除 此 之 外 是 完 全 沒 用 的 。我 嘗 試 把 它 們 修 改 成 STUPID MACHINE。

Edit Printer Name

修 改 好 configuration.h 檔 案 之 後 ,我 們 就 可 以 把 程 式 上 傳 到 控 制 器 了 。我 們 可 以 按 一 下 那 個 upload 按 鈕 。

Upload 按 鈕

上 傳 成 功 之 後 ,每 次 你 開 機 的 時 候 都 應 該 會 見 到 STUPID MACHINE 的 了 。

恭 喜 你 ,這 樣 就 完 成 了 自 行 修 改 並 上 傳 固 件 到 你 的 3D 打 印 機 了 ,夠 有 簡 單 吧 ?

好 了 ,當 然 上 面 只 是 熱 身 ,跟 著 我 們 就 試 試 上 傳 一 個 新 版 本 的 repetier 固 件 到 我 們 的 3D 打 印 機 吧 。之 前 也 說 過 ,Tevo Tarantula 原 廠 的 repetier 只 是 0.92,我 們 就 試 試 把 它 升 級 到 1.0 吧 。

Tevo Tarantula Stock Firmware 

Repetier-Firmware configuration tool

首 先 ,我 們 打 開 repetier 官 網 的 firmware configuration tool,我 現 在 看 到 的 最 新 版 本 是 1.0.2。它 上 面 有 很 多 個 Tabs 的 ,每 一 個 Tabs 都 是 用 來 設 定 不 同 功 能 的 。在 每 一 個 Tabs 的 右 下 角 都 會 有 Next Step 按 鈕 ,只 要 一 頁 一 頁 地 go through 一 次 ,設 定 好 所 有 選 項 ,然 後 就 可 以 下 載 已 經 設 定 好 的 固 件 。比 起 之 前 要 在 Arduino IDE 自 己 去 修 改 configuration.h 檔 案 方 便 10 倍 吧 ?

Repetier-Firmware configuration tool

但 這 麼 多 的 選 項 ,眼 花 繚 亂 的 ,正 所 謂 佢 識 我 我 唔 識 佢 ,要 怎 麼 辦 才 好 啊 ?那 當 然 是 有 更 簡 單 的 方 法 啦 ,不 然 我 也 不 會 說 這 個 configuration tool 好 用 了 。還 記 得 我 們 之 前 玩 過 的 stock firmware 麼 ?它 裡 面 就 有 一 個 configuration.h 的 檔 案 ,而 repetier 的 configuration tool 的 第 一 頁 ( Start ),正 正 就 可 以 讓 我 們 上 傳 一 個 舊 的 configuration 檔 ,以 減 少 我 們 要 修 改 的 地 方 。

如 果 你 之 前 已 經 完 全 亂 改 了 stock firmware 的 configuration.h 檔 案 ,又 或 者 你 還 沒 有 下 載 ,就 趕 緊 去 重 新 下 載 吧 。

在 configuration tool 第 一 頁 上 傳 完 舊 的 configuration.h 檔 案 之 後 ,佢 會 自 動 轉 跳 到 第 二 頁 ( General )。現 在 整 個 configuration tool 的 設 定 ,都 是 由 上 傳 的 檔 案 來 的 ,不 管 是 print size、extruder 的 數 量 、控 制 器 的 型 號 、自 動 調 平 的 設 定 、…..,都 通 通 按 上 傳 的 檔 案 選 擇 好 了 。

因 為 上 傳 的 configuration 檔 案 是 由 stock firmware 提 取 出 來 的 ,所 以 基 本 上 可 以 當 佢 無 錯 ,如 果 你 沒 有 其 他 野 要 改 的 話 ,就 可 以 直 接 跳 到 最 後 一 個 Tab ( Download ),按 一 下 Download complete firmware incl. these settings 按 鈕 ,然 後 把 它 用 Arduino IDE 上 傳 到 你 的 3D Printer 就 可 以 了 。

Download complete firmware incl. these settings

上 傳 完 成 之 後 ,你 的 3D Printer 的 repetier 固 件 就 由 0.92 升 級 到 1.0.2 了 。係 唔 係 好 容 易 呢 ?哈 哈 哈 。你 可 以 保 留 這 個 新 的 firmware 在 你 的 電 腦 上 面 ,到 下 一 次 想 要 升 級 的 時 候 ,你 又 可 以 用 回 這 次 生 成 的 configration.h 檔 案 ,那 你 曾 經 修 改 過 的 設 定 ,又 可 以 自 動 帶 到 下 一 個 升 級 的 固 件 中 。

完 成 升 級 之 後 ,你 的 Tarantula 用 起 來 應 該 …….沒 有 什 麼 分 別 。因 為 我 們 剛 才 完 全 沒 有 修 改 firmware 的 任 何 設 定 。雖 然 用 起 來 沒 有 分 別 ,但 其 實 固 件 由 0.92 升 級 到 1.0.2 是 有 很 多 bug fix 的 。

那 如 果 想 修 改 firmware 又 要 如 何 做 呢 ?例 如 我 的 SN-04 裝 了 在 X carriage 的 背 面 ,那 Z Probe 的 offset 就 和 stock firmware 裡 面 的 不 同 了 。首 先 ,我 們 回 到 repetier configuration tool,上 傳 好 Tarantula 的 configuration.h 檔 案 。

SN-04

經 過 仔 細 的 量 度 ,新 的 X offset 和 Y offset 應 該 是 9 和 89。於 是 ,我 們 就 要 去 到 第 5 頁 ( features ) 裡 面 修 改 X offset 和 Y offset。這 樣 就 完 成 了 ,如 果 沒 其 他 事 ,就 可 以 去 到 最 尾 一 頁 下 載 修 改 好 的 firmware 了 ,很 簡 單 吧 。

Features – X offset & Y offset

再 多 舉 一 個 例 子 ,這 次 進 階 一 點 ,我 們 嘗 試 為 Tarantula 加 入 一 個 新 功 能 :filament runout sensor。下 面 這 款 filament sensor 是 淘 回 來 ,不 用 十 塊 錢 。

在 物 品 介 紹 中 ,有 如 下 的 描 述 。這 些 參 數 對 於 我 們 修 改 固 件 很 重 要 ,如 果 你 沒 有 這 些 描 述 ,就 必 須 要 在 修 改 固 件 之 前 自 己 去 測 試 出 來 。

根 據 上 面 的 描 述 ,感 應 器 檢 測 到 「有 材 料 」時 ,就 會 傳 出 HIGH 的 訊 號 。「無 材 料 」時 ,就 會 發 出 LOW 的 訊 號 。而 filament sensor 是 需 要 接 駁 到 controller 的 ,當 然 我 們 不 能 把 sensor 插 到 已 經 使 用 的 接 口 ,那 Tarantula 有 那 些 未 用 的 接 口 呢 ?通 常 就 是 limit switch 使 用 的 X+ 、Y+ 和 Z+。( 已 經 使 用 的 是 X- 、Y- 和 Z-,別 弄 錯 了 )

X+ , Y+ , Z+

這 次 示 範 用 的 就 是 Z+ 插 口 。

再 次 回 到 repetier configuration tool,如 果 未 有 上 傳 你 自 己 的 configuration.h 檔 案 ,就 再 上 傳 一 次 ,然 後 去 到 Mechanics 那 一 頁 ,去 到 最 底 ,把 Jam method 改 為 「Signal gets low」。Jam method 的 值 是 取 決 於 你 的 sensor 的 ,因 為 我 的 sensor 無 料 的 訊 號 是 Low,所 以 我 的 設 定 是 「Signal gets low」。

Jam method

然 後 按 next 去 到 Tools 頁 ,去 到 Extruder 0 ( 單 一 噴 頭 或 者 雙 噴 頭 的 第 一 個 噴 頭 ) 的 最 後 一 行 。我 們 要 把 Jam detection pin 的 值 設 置 為 sensor 連 接 的 插 口 。我 使 用 的 插 口 是 Z+,所 以 這 裡 的 值 要 選 為 「Z max endstop」。

如 果 你 也 是 雙 噴 頭 的 話 ,你 就 要 使 用 兩 個 filament sensor,然 後 為 每 一 個 噴 頭 設 置 相 應 的 Jam dection pin。例 如 extruder 0 是 Z+ 和 extruder 1 是 Y+。但 由 於 Jam method 只 有 一 個 設 定 ,所 以 每 一 個 噴 頭 都 必 須 使 用 相 同 的 filament sensor。

完 成 修 改 之 後 ,就 可 以 去 到 download 頁 ,點 擊 「Download complete firmware incl. these settings」,然 後 再 用 Arduino IDE 上 傳 我 們 的 控 制 板 。這 樣 我 們 就 為 Tarantula 增 加 了 「斷 料 檢 測 」功 能 了 。

然 後 我 們 可 以 嘗 試 去 測 試 一 下 這 個 功 能 ,先 開 始 打 印 一 點 什 麼 ,然 後 我 們 在 接 近 filament sensor 入 口 的 位 置 ,大 概 預 留 10-15 cm 吧 ,把 耗 材 剪 斷 。然 後 看 看 耗 材 用 盡 的 那 一 刻 ,3D 打 印 機 是 不 是 會 自 動 停 下 來 。

如 果 能 自 動 停 下 來 的 話 ,那 恭 喜 你 ,你 完 全 成 功 了 !

如 果 你 想 在 repetier 中 使 用 BLTouch,因 為 要 設 定 的 地 方 比 較 多 ,大 家 可 以 參 考 以 下 的 帖 子 。在 最 尾 部 分 的 那 幾 幅 圖 ,跟 著 做 就 可 以 ,但 要 輸 入 你 自 己 的 X Y probe offset,不 能 跟 他 用 0, 0 啊 。( 我 還 沒 見 過 BLTouch 的 mount 可 以 做 到 X Y probe offset 都 是 0 的 )

Homing with Bltouch

其 實 改 firmware 也 很 好 玩 吧 ?一 點 也 不 可 怕 ,更 可 以 為 我 們 的 3D Printer 加 入 新 功 能 。

好 了 ,現 在 我 們 懷 著 依 依 不 捨 ( 其 實 是 滿 懷 憧 憬 ) 的 心 情 ,拜 別 repetier,轉 會 去 marlin firmware 吧 。以 下 是 marlin 的 官 網 。

Website: http://marlinfw.org/
Github: https://github.com/MarlinFirmware/Marlin

Marlin 沒 有 華 麗 的 firmware configuration tool,但 是 有 非 常 詳 盡 的 documentation ( 是 的 ,沒 錯 ,你 要 自 己 手 動 去 修 改 configuration.h 檔 案 ,哈 哈 哈 )。

不 過 ,Tarantula 作 為 其 中 一 部 最 多 人 用 的 3D Printer,其 實 很 多 麻 煩 野 已 經 有 別 人 替 我 們 完 成 。絕 大 多 數 的 普 通 玩 家 ,都 會 使 用 Jim Brown 特 別 為 Tevo Tarantula 而 製 作 的 Marlin firmware。

https://github.com/JimBrown/MarlinTarantula

打 開 了 上 面 的 github 連 結 之 後 ,我 們 要 確 定 branch 所 選 擇 的 是 EasyConfig-1.1.x。因 為 Marlin 2.0 還 是 development 版 本 ,還 有 很 多 bugs,用 起 來 也 可 能 會 非 常 不 穩 定 。

EasyConfig-1.1.x

然 後 就 去 Clone or download >> Download ZIP。

Download ZIP

下 載 完 成 之 後 就 解 壓 ,在 裡 面 的 整 個 Marlin 資 料 夾 ,就 是 我 們 的 firmware。Marlin 和 Repetier 一 樣 ,整 個 folder 就 是 一 個 Arduino 程 式 。然 後 我 們 用 Arduino IDE 打 開 Marlin.ino 檔 案 ,就 可 以 去 修 改 configuration.h 了 。

這 裡 有 個 值 得 注 意 的 地 方 ,之 前 上 傳 Repetier 要 用 Arduino IDE 1.6.8 或 以 下 的 版 本 ,但 Marlin 卻 沒 有 這 方 面 的 限 制 ,用 回 最 新 的 1.8.5 也 完 全 沒 有 問 題 。

Jim Brown 的 Marlin 叫 得 EasyConfig,當 然 比 原 本 官 網 的 Marlin 要 容 易 設 定 得 多 。所 謂 的 EasyConfig,其 實 是 把 原 本 散 落 在 不 同 地 方 的 設 定 ( 整 個 marlin 資 料 夾 有 300 多 個 檔 案 ),都 集 中 到 configuration.h 的 上 半 部 分 ( 其 實 只 是 前 面 的 200 多 行 ),並 且 把 設 定 的 方 法 都 簡 化 了 許 多 。

舉 個 簡 單 的 例 子 ,Tarantula 有 兩 種 bed size,就 是 原 本 的 200 x 200 mm,如 果 是 加 大 熱 床 的 話 ,就 是 200 x 280 mm。原 本 在 Marlin,你 要 自 己 去 修 改 BED_SIZE 的 參 數 ,要 自 己 輸 入 正 確 的 數 值 。

marlin edit BED SIZE

但 如 果 你 使 用 Jim Brown  的 EasyConfig 的 話 ,你 只 要 comment / uncomment 其 中 一 行 程 式 碼 就 可 以 了 。

Jim Brown edit Large Bed

寫 program 有 一 樣 野 叫 comment,就 是 為 程 式 碼 加 入 註 釋 。註 釋 是 給 人 睇 的 ,並 不 會 被 電 腦 執 行 。Arduino 程 式 的 語 法 入 面 ,comment 的 格 式 就 是 在 comment 前 面 加 入 「//」符 號 ,即 是 兩 個 slash。

1
//#define LARGE_BED

Jim Brown Marlin 入 面 的 LARGE_BED 設 定 ,原 本 是 comment out 的 ,是 不 會 執 行 的 。如 果 你 的 Tarantula 用 的 是 加 大 熱 床 ,你 就 要 手 動 刪 除 最 前 面 的 兩 個 slash 符 號 。

1
#define LARGE_BED

Jim Brown 把 所 有 Tarantula 用 得 到 的 設 定 ,都 像 上 面 這 樣 ,簡 化 之 後 並 集 中 到 configuration.h 檔 案 的 上 半 部 分 。絕 大 部 分 的 設 定 ,都 只 需 要 comment 和 uncomment。既 方 便 ,又 快 捷 ,而 且 大 大 減 少 了 設 定 上 出 錯 的 可 能 。( 就 例 如 Bed Size,如 果 你 是 新 手 ,搞 不 清 楚 X Y 的 方 向 ,就 很 有 可 能 把 X 和 Y 的 設 定 調 轉 了 )

又 例 如 你 的 Y 軸 的 stepper motor 安 裝 反 了 ( 因 為 跟 機 的 bracket 是 左 右 對 稱 的 ,所 以 是 完 全 可 以 反 向 安 裝 的 ,反 向 安 裝 更 可 以 令 佈 線 簡 單 一 點 ),你 只 需 要 去 configuration.h 檔 案 的 開 頭 ,修 改 下 面 這 一 行 。

1
//#define CHANGE_Y_DIRECTION

把 這 一 行 uncomment 就 可 以 了 。然 後 Y 軸 的 運 行 方 向 就 會 自 動 反 轉 ,你 完 全 不 需 要 去 拆 機 裝 機 。

1
#define CHANGE_Y_DIRECTION

不 過 EasyConfig 也 不 是 什 麼 數 值 都 不 用 自 己 輸 入 的 ,例 如 我 的 Tarantula 是 雙 噴 頭 的 ,所 以 我 首 先 要 uncomment DUAL_EXTRUDER 那 一 行 。然 後 ,還 要 修 改 第 二 噴 頭 ( secondary / E1 ) 和 第 一 噴 頭 ( primary / E0 ) 的 相 對 位 置 ( 這 個 我 們 會 叫 做 offset )。我 的 第 二 噴 頭 在 第 一 噴 頭 右 邊 18 mm,所 以 EXTRUDER_E1_X 是 18,EXTRUDER_E1_Y 是 0。

Dual Extruder

這 個 第 二 噴 頭 的 offset 為 什 麼 沒 有 寫 死 是 18 和 0 呢 ?我 想 這 是 因 為 Tarantula 有 很 多 改 機 的 人 ,而 其 它 人 用 的 雙 噴 頭 ,各 個 型 號 的 offset 都 不 一 樣 ,所 以 還 不 如 預 留 一 個 地 方 給 大 家 自 己 輸 入 吧 。

然 後 就 是 Z-probe 和 Auto bed leveling。Jim Brown 預 設 是 無 用 Z-Probe 和 Manual bed leveling 的 ,所 以 我 們 要 修 改 以 下 的 幾 個 部 分 。

Z Porbe

首 先 是 ,uncomment SN04 的 那 一 行 。SN04 就 跟 機 的 auto bed leveling sensor ( Z Probe )。然 後 再 uncomment BILINEAR 那 一 行 ,即 是 enable bilinear auto bed leveling。然 後 要 comment MANUAL 那 一 行 ,即 是 disable manual bed leveling。

再 之 後 就 要 輸 入 你 的 sensor 的 x 和 y 的 offset。這 個 數 值 是 人 人 不 同 的 ,你 要 按 自 己 的 實 際 情 況 輸 入 。另 外 ,left 和 right 是 不 能 同 時 有 數 值 的 ,因 為 你 的 sensor 不 是 在 左 邊 就 是 在 右 邊 ,不 可 能 同 時 出 現 在 左 右 兩 邊 的 。front 和 behind 也 是 同 樣 的 道 理 。

(如 果 你 是 用 BLTouch sensor,你 只 需 要 改 為 uncomment BLTouch 那 一 行 就 可 以 了 ,超 級 簡 單 吧 ?比 起 repetier 容 易 多 了 。這 是 因 為 Marlin 本 身 就 內 建 了 針 對 BLTouch 的 supprot)

當 你 完 成 了 所 有 設 定 ,就 可 以 把 Jim Brown Marlin Firmware 上 傳 到 控 制 板 了 。但 是 先 別 急 著 去 test print,Jim Brown 也 有 一 些 十 分 簡 單 的 設 定 步 驟 ,可 以 幫 助 我 們 設 定 幾 個 參 數 。

How to center your prints (EasyConfig)
How to determine your Z-Probe offset (EasyConfig)
Bed leveling types (EasyConfig)

上 面 這 些 參 數 ,是 因 人 而 異 的 ,這 牽 涉 到 你 如 何 安 裝 你 的 endstop 和 bed leveling sensor。調 較 好 這 些 參 數 ,對 打 印 成 功 也 有 很 大 的 幫 助 。

那 如 果 想 修 改 Marlin 的 其 他 設 定 又 要 如 何 做 呢 ?其 實 就 是 和 修 改 原 裝 版 本 的 Marlin 一 樣 。例 如 想 加 入 filament runout sensor,我 們 就 要 離 開 easy config 的 部 分 ,一 路 scroll down 去 到 稍 後 的 部 分 ( 大 概 是 1246 行 )。

filament runout sensor

首 先 是 uncomment #define FILAMENT_RUNOUT_SENSOR 這 一 行 。

然 後 我 們 要 告 訴 Marlin 我 們 的 filament sensor 是 插 在 那 個 接 口 ,例 如 我 把 它 插 在 Z+ ( Z Max ),那 我 們 就 要 去 到  pins_RAMPS.h。

#define Z_MAX_PIN

先 找 到  #define Z_MAX_PIN 那 一 行 ,uncomment 它 。這 是 說 我 們 不 再 把 pin 19 當 做 Z Max 來 用 。

#define FIL_RUNOUT_PIN

然 後 ,我 們 找 到 #define FIL_RUNOUT_PIN 這 一 行 ,把 原 來 的 4 改 為 19。即 是 我 們 用 pin 19 來 連 接 filament sensor。

改 好 之 後 ,再 上 傳 一 次 到 你 的 controller board,你 的 filament runout sensor 就 能 用 了 。當 然 ,不 同 種 類 的 filament sensor 需 要 不 同 的 設 定 ,所 以 你 有 可 能 還 要 修 改  FIL_RUNOUT_INVERTING 和  FIL_RUNOUT_PULLUP 這 兩 行 。

至 此 ,你 應 該 已 經 上 傳 過 很 多 次 firmware 到 你 的 Tarantula,應 該 已 經 成 為 一 個 熟 手 技 工 。其 實 一 般 使 用 Repetier 固 件 和 Marlin 固 件 的 3D Printer,其 更 新 和 修 改 固 件 的 過 程 也 是 大 同 小 異 。

最 後 ,如 果 你 是 Tevo Tarantula 的 擁 有 者 ,不 妨 去 加 入 facebook 的 TEVO Tarantula Prusa i3 Owners 群 組 ,裡 面 會 找 到 很 多 有 用 的 資 訊 。據 說 ,它 還 是 最 大 的 3D Printer 的 群 組 ,你 問 問 題 也 會 很 快 得 到 網 友 的 回 應 。

ctleung張 先 生 ,男 性 ,肖 龍 。
職 業 :I.T. Consultant
簡 介 :不 好 好 讀 書 ;七 尺 差 五 寸 ,手 長 過 膝 ,雙 耳 垂 肩 ;性 寬 和 ,寡 言 語 ,喜 怒 不 形 於 色 。據 說 少 時 曾 斬 白 蛇 於 鳳 凰 山 下 ……
Posted in Computer & Network | Tagged , , , , , , | Leave a comment

Anycubic Kossel Linear Plus 硬件升級

上 次 說 了 Anycubic Kossel Linear Plus 的 固 件 升 級 ,也 順 便 說 說 我 給 我 的 Kossel Linear Plus 做 了 什 麼 硬 件 升 級 吧 。其 實 Kossel Linear Plus 本 身 的 做 工 已 經 很 好 ,不 做 任 何 硬 件 升 級 也 有 很 好 的 打 印 效 果 。

我 做 的 所 有 升 級 裡 面 ,我 覺 得 最 實 用 的 就 是 Anycubic 官 網 上 提 供 的 打 印 頭 照 明 燈 。Anycubic 官 網 的 model download 部 分 ,有 很 多 實 用 的 3D model 下 載 ,大 家 可 以 逐 一 細 看 。

這 個 設 計 使 用 了 12V LED 燈 帶 ,我 自 己 也 用 了 在 很 多 不 同 的 地 方 ,包 括 在 我 自 己 的 幾 部 CNC 雕 刻 機 ,不 同 的 層 架 等 等 。所 以 當 我 第 一 眼 看 到 它 就 有 一 種 莫 名 的 親 切 感 。我 自 己 是 一 卷 一 卷 買 的 ( 5m ),但 淘 寶 上 也 有 散 裝 一 米 賣 的 。一 米 燈 帶 已 經 有 60 顆 LED,每 隔 三 顆 LED 都 有 條 線 ,可 以 在 那 個 位 剪 開 來 用 的 ( 最 短 就 是 3 顆 LED )。

使 用 12V 燈 帶 的 好 處 ,就 是 可 以 直 接 在 3D Printer 的 Power Supply 取 電 。這 設 計 只 用 了 3 顆 LED,要 買 一 米 好 似 好 浪 費 ,但 其 實 買 一 米 也 只 是 要 幾 蚊 雞 。LED 燈 帶 有 很 多 顏 色 的 ,五 顏 六 色 都 有 ,但 如 果 想 看 模 型 打 印 時 不 偏 色 ,還 是 用 回 白 色 的 比 較 好 。( 但 打 印 模 型 的 顏 色 就 是 filament 顏 色 ,這 顏 色 是 不 變 的 ,所 以 LED 燈 的 顏 色 其 實 也 不 是 十 分 重 要 )

這 個 LED 燈 支 架 的 設 計 分 為 兩 部 分 ,其 中 燈 罩 的 部 分 是 要 用 透 明 物 料 來 打 印 的 ,我 正 好 手 上 有 全 透 明 的 PLA。但 如 果 你 唔 想 為 這 麼 細 小 的 部 件 而 買 一 大 卷 filament,其 實 唔 用 燈 罩 也 勉 強 可 以 ,就 是 LED 燈 帶 的 光 度 比 較 大 ,直 視 會 看 得 很 辛 苦 而 已 。不 過 淘 寶 也 有 一 些 樣 品 裝 、試 用 裝 的 耗 材 ,打 印 一 個 小 燈 罩 也 很 夠 用 了 。

第 二 個 改 動 ,係 關 於 外 框 ( frame ) 的 堅 固 度 ( stiffness )。對 delta 結 構 的 打 印 機 來 說 ,stiffness 十 分 重 要 。整 台 機 器 每 一 個 部 件 、每 一 個 接 口 ,都 唔 可 以 有 鬆 動 (wobble)。每 一 顆 螺 絲 都 要 上 得 死 死 的 ,整 台 機 器 要 四 平 八 穩 的 。

特 別 是 在 打 印 比 較 高 的 模 型 ,當 打 印 頭 升 高 到 15cm 以 上 ,如 果 3D Printer 組 裝 得 唔 好 ,那 個 晃 動 就 會 更 加 利 害 。

Kossel Linear Plus 的 底 座 和 頂 部 ,都 是 預 先 組 裝 好 的 ,其 連 接 2020 鋁 型 材 的 部 件 ,都 是 塑 膠 的 。網 上 就 有 金 屬 的 替 換 部 件 ,大 家 可 以 買 回 來 自 行 更 換 。不 過 我 要 告 訴 大 家 ,這 不 是 一 件 容 易 的 事 ,那 些 螺 絲 位 都 很 不 人 道 ,要 用 短 的 六 角 匙 伸 入 去 慢 慢 的 扭 呀 扭 。要 全 部 更 換 這 六 個 角 件 可 能 需 要 花 多 於 一 天 的 時 間 。

全 金 屬 角 件 也 不 便 宜 ,所 以 我 自 己 也 沒 有 更 換 。我 自 己 就 在  thingiverse.com 選 了 兩 個 加 固 件 。

這 兩 個 加 固 件 ,一 個 是 裝 在 底 部 ,一 個 是 裝 在 頂 部 ,裝 好 之 後 ,整 個 外 框 不 知 道 堅 固 了 多 少 倍 。個 人 覺 得 它 們 比 全 金 屬 角 架 的 堅 固 度 還 更 高 。

另 一 種 網 上 有 售 的 金 屬 件 ,就 是 那 個 連 接 滑 車 和 碳 纖 維 桿 的 配 件 。

這 種 配 件 不 是 特 別 昂 貴 ,但 個 人 覺 得 升 級 了 也 沒 有 什 麼 實 際 好 處 。不 過 ,若 果 將 來 跟 機 的 塑 膠 件 破 損 了 ,更 換 成 金 屬 的 也 不 錯 。

第 三 個 升 級 ,都 是 關 於 stepper motor 步 進 摩 打 的 。包 括 裝 了 stepper motor damper ( 減 震 圈 )、降 低 了 stepper motor 的 Vref、為 stepper moter 加 了 散 熱 片 、還 有 加 入 了 belt tension 的 調 節 器 。

步 進 摩 打 的 減 震 圈 ,可 以 阻 隔 步 進 摩 打 的 震 動 經 過 外 框 傳 遞 到 打 印 頭 或 者 打 印 平 台 ,從 而 提 升 打 印 的 品 質 。減 震 圈 的 另 一 個 功 效 ,就 是 降 低 3D 打 印 機 的 噪 音 。不 過 根 據 我 自 己 的 經 驗 ,3D 打 印 機 都 十 分 安 靜 啊 ( 我 玩 開 CNC 雕 刻 機 的 ,那 個 吵 啊 ….. )。

減 震 圈 其 實 十 分 便 宜 ,我 是 很 建 議 大 家 買 的 。不 過 用 在 Kossel Linear Plus,要 拆 除 步 進 摩 打 並 不 容 易 ,那 些 螺 絲 都 是 藏 在 很 窄 小 的 空 間 ,我 自 己 連 六 角 匙 都 伸 不 進 去 ,我 是 用 尖 嘴 鉗 慢 慢 一 圈 一 圈 把 螺 絲 扭 出 來 和 裝 回 去 的 。大 家 想 換 這 個 的 話 要 有 心 理 準 備 。

另 外 ,減 震 圈 其 中 一 面 會 有 兩 個 小 點 ,應 該 是 安 裝 在 別 的 機 器 時 定 位 用 的 ,大 家 要 在 塑 膠 角 件 上 加 工 鑽 幾 個 小 孔 才 可 。( 減 震 圈 有 很 多 種 的 ,我 的 定 位 點 和 別 人 的 定 位 點 就 在 不 同 的 位 置 ,也 許 你 買 到 的 減 震 圈 沒 有 定 位 點 也 不 一 定 )

然 後 就 是 調 整 stepper motor driver 的 Vref 電 壓 和 為 stepper motor 貼 上 散 熱 片 。要 做 這 個 的 原 因 是 我 的 stepper motor 非 常 的 熱 ,尤 其 是 打 印 了 5 –  6 個 小 時 之 後 ,stepper motor 熱 到 是 手 也 觸 摸 不 了 ( 估 計 至 少 有 60 – 70 °C )。

其 實 理 論 上 這 並 不 影 響 打 印 ,而 一 般 stepper motor 的 工 作 溫 度 是 可 以 去 到 130 °C 的 。不 過 我 總 是 覺 得 ,stepper motor 的 溫 度 越 高 ,它 skips steps 的 可 能 性 就 越 大 。而 且 溫 度 低 一 點 ,耗 電 也 會 少 一 點 ,感 覺 上 也 會 安 全 一 點 。

Stepper motor 耗 電 越 多 ,扭 力 會 越 大 。但 用 在 3D Printer,我 也 不 覺 得 需 要 多 大 的 扭 力 ( 至 少 相 比 起 CNC 雕 刻 機 )。Anycubic 出 廠 預 設 的 Vref 是 在 0.85V 左 右 ,而 根 據 網 友 的 經 驗 ,降 低 到 0.7V 左 右 也 沒 有 問 題 。因 為 那 個 小 螺 絲 很 難 精 準 調 節 ,所 以 我 調 整 到 0.7 – 0.75V 之 間 就 當 完 成 的 了 。

要 記 得 ,X Y Z 三 個 stepper motor driver 都 要 調 。而 extruder ( E0 ) 的 driver 我 沒 有 調 ,因 為 它 的 原 來 的 電 壓 就 是 0.75,而 且 它 的 步 進 摩 打 也 沒 有 發 燙 。我 自 從 玩 CNC 雕 刻 機 時 就 不 知 道 調 過 Vref 多 少 次 ,以 前 是 沒 有 這 麼 多 教 學 的 ,都 要 靠 自 己 去 試 。下 面 的 這 條 youtube 片 就 示 範 得 十 分 好 ,大 家 可 以 跟 著 他 去 做 。

How to Tune 3D Printer Stepper Drivers | RAMPS 1.4/Pololu A4988

降 低 了 driver 的 Vref 之 後 ,步 進 摩 打 應 該 不 會 那 麼 燙 手 的 了 ,但 還 是 有 一 定 的 熱 量 。所 以 我 就 為 它 貼 了 散 熱 片 ,這 種 東 西 也 很 便 宜 ,一 般 40 x 40 mm 的 散 熱 片 都 適 用 。

不 過 stepper motor 的 背 面 都 是 沒 有 螺 絲 孔 的 ( 除 非 你 是 要 拆 開 成 個 摩 打 ),所 以 就 要 用 耐 熱 的 膠 水 貼 上 去 。這 些 導 熱 膠 水 亦 同 樣 很 便 宜 ,很 多 耐 熱 都 有 二 三 百 度 。

這 種 導 熱 膠 水 大 部 分 散 熱 片 都 可 以 用 ( CPU、電 腦 主 板 晶 片 、display card、raspberry pi、…… ),貼 上 去 之 後 壓 實 ,等 24 小 時 就 乾 透 ( 一 般 過 一 晚 夜 就 用 得 )。不 過 這 種 膠 水 也 是 黐 得 很 實 的 ,乾 透 之 後 是 很 難 移 除 的 ,大 家 黐 的 時 候 要 比 心 機 對 齊 一 點 。

Adjustable Belt Tensioner and Belt Tie

最 後 ,我 為 皮 帶 加 上 了 可 以 調 節 tension 的 belt tensioner 和 方 便 使 用 、隨 時 裝 拆 的 belt tie。我 見 到 很 多 初 學 者 都 因 為 怕 皮 帶 斷 而 把 皮 帶 調 較 得 太 鬆 ,這 也 會 造 成 skipping steps,又 或 者 令 到 打 印 頭 位 置 不 精 準 而 影 響 打 印 質 素 的 。我 建 議 大 家 都 應 該 把 皮 帶 調 得 緊 一 點 。

第 四 個 升 級 是 關 於 controller board 的 ,首 先 是 給 控 制 板 加 裝 散 熱 風 扇 。我 選 擇 的 這 一 款 是 專 門 吹 向 stepper motor driver 的 。其 實 controller 上 面 最 熱 的 唔 係 CPU (  ATmega2560 ),而 係 stepper motor driver,driver 晶 片 過 熱 也 是 會 造 成 skipping steps 的 。

Anycubic Kossel TriGorilla Stepper Driver Cooling Fan Duct

使 用 這 個 fan duct 最 好 調 整 一 下 controller board 的 位 置 ( 就 是 左 右 移 動 一 下 ),令 到 出 風 口 更 貼 近 X Y Z 的 stepper motor driver。這 個 fan duct 中 間 使 用 了 一 把 4010 風 扇 ,風 扇 最 好 買 12V 的 ,可 以 直 接 去 power supply 取 電 。

其 實 我 覺 得 controller board 那 個 空 間 的 散 熱 很 不 理 想 ,又 有 stepper motor 又 在 熱 床 底 下 ,加 一 把 風 扇 由 外 面 抽 風 入 去 真 的 很 有 必 要 。特 別 是 在 長 時 間 打 印 的 時 候 ,有 沒 有 風 扇 真 的 相 差 很 遠 。

另 外 ,我 亦 給 controller 加 裝 額 外 的 熱 床 供 電 模 組 。這 種 東 西 可 以 把 熱 床 所 需 要 的 大 電 流 分 流 出 來 ,不 用 再 經 過 controller,這 樣 可 以 大 大 減 低 controller 的 負 荷 。這 可 以 令 controller 更 耐 用 ,也 降 低 了 火 警 的 風 險 。

我 是 直 接 由 Kossel Linear Plus 跟 機 的 那 個 switching power supply,再 拉 多 一 條 線 出 來 供 12V 電 給 這 個 供 電 模 組 的 。

最 後 ,Kossel Linear Plus 跟 機 有 一 個 小 小 的 Auto Bed Leveling Sensor,平 時 是 不 使 用 的 ,我 們 便 為 它 建 造 一 個 家 吧 。

 

ctleung張 先 生 ,男 性 ,肖 龍 。
職 業 :I.T. Consultant
簡 介 :不 好 好 讀 書 ;七 尺 差 五 寸 ,手 長 過 膝 ,雙 耳 垂 肩 ;性 寬 和 ,寡 言 語 ,喜 怒 不 形 於 色 。據 說 少 時 曾 斬 白 蛇 於 鳳 凰 山 下 ……
Posted in Computer & Network | Tagged , , , , , , | Leave a comment