Anycubic i3 Mega に BLTouch を導入する

はじめに

前回はダイレクトエクストルーダー化を行ったが,今回は BLTouch を導入する.

GitHub - MNieddu91/Marlin-AI3M-BLTouch: Marlin firmware optimized for the Anycubic i3 Mega 3D printer
Marlin firmware optimized for the Anycubic i3 Mega 3D printer - MNieddu91/Marlin-AI3M-BLTouch

材料

必要な材料はこれだけ.コネクタ,電線,工具類は省略.

クローンは精度が悪いんじゃないかという懸念があるかもしれないが,その辺りは偉大な先人が検証してくれているので必読.

【3Dプリンター】オリジナルのBLTouchとそのコピー品(3D Touch)の精度を比較してみた
60,004 total views,  18 views today 3Dプリンタのオートレベリング用センサーとしてよく用いられているものにBLTouchがある。そして、そのコ …

配線

やることはこのページの通り.

Installation BLTouch
Marlin firmware optimized for the Anycubic i3 Mega 3D printer - MNieddu91/Marlin-AI3M-BLTouch

BLTouch の 3 本の線はメインボードへ,2 本の線はプリンタヘッドの基板に接続すればいい.

メインボードへ接続する 3 本はいいとして,プリンタヘッドの方の 2 本はちょっとはんだ付けしにくそう.基板を見ると未使用のスルーホールが3つあって,ジャンパ使えばこれが使えそう.こんなかんじ.

3 本の方はメインボードにピンヘッダがついてる部分に挿す.ただし,メインボードと BLTouch でピンの並びが違うので並び替えて挿すこと.

ファームウェア書き換え

ベースとなるファームウェアはこれを使う.ファームウェアのコンパイル方法は Yan 様の記事がわかりやすくまとめられているので必読.

GitHub - MNieddu91/Marlin-AI3M-BLTouch: Marlin firmware optimized for the Anycubic i3 Mega 3D printer
Marlin firmware optimized for the Anycubic i3 Mega 3D printer - MNieddu91/Marlin-AI3M-BLTouch
3Dプリンタユーザーの為のファームウェアコンパイル講座|Yan
どもどもYanでっす。 本日のお題は「Marlin使いたいけどコンパイルって?という方向けコンパイル講座」でっす。(長い題名だ…) 最新のMarlin2系は基本的に32bitマザーボード向けなので、MEGAなど格安3Dプリンターには向きませ...

最低限必要な部分を順に設定していく.

ノズルから BLTouch の位置を指定する.今回作成したプリンタヘッドだと X 方向 -36,Y 方向 -32 くらいのオフセットになっているので次の通り設定する.

/**
 *   Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 *   X and Y offsets must be integers.
 *
 *   In the following example the X and Y offsets are both positive:
 *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 *
 *      +-- BACK ---+
 *      |           |
 *    L |    (+) P  | R <-- probe (20,20)
 *    E |           | I
 *    F | (-) N (+) | G <-- nozzle (10,10)
 *    T |           | H
 *      |    (-)    | T
 *      |           |
 *      O-- FRONT --+
 *    (0,0)
 */
#define X_PROBE_OFFSET_FROM_EXTRUDER -36  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -32  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]

オートレベリングするエリアを指定する.今回のヘッダだと,だいたいこれくらいの値になりそう.

  // Set the boundaries for probing (where the probe can reach).
  #define LEFT_PROBE_BED_POSITION 10
  #define RIGHT_PROBE_BED_POSITION 150
  #define FRONT_PROBE_BED_POSITION 10
  #define BACK_PROBE_BED_POSITION 190

ちなみにベッドサイズはこんなかんじで指定されていて,ここまでのパラメータの位置関係をまとめるとこんなかんじ.コンパイルでエラーしたらプローブ可能なエリアを指定できているか要確認.

// The size of the print bed
#define X_BED_SIZE 215
#define Y_BED_SIZE 215

ついでに,前回エクストルーダーの配線を物理的に反転させたが,ファームウェア側で反転させておく.(INVERT_E0_DIR = true → false)

// @section extruder

// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E1_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false

後はコンパイルして,Cura でファームウェアを書き込めば作業完了.

おわりに

部品はかなり前から準備していたものの,なんとなく面倒で放置していたが,実際作業してみるとそんなに難しいことは無かった.一番面倒なのはパラメータチューニング沼と配線の取り回し...

コメント

タイトルとURLをコピーしました