BLTouch向けmarlinファームウェアの設定

前回、BLTouchの導入と組立を行ったので、ファームウェアを書き換えてBLTouchを使えるようにします。
ファームウェア書き換えを行うにあたって、色々と変更する箇所があるので書いていきます。

概要

marlinファームウェアコンパイルするには設定する機種に合わせたコードの変更が必要となります。私の使っているEnderシリーズの情報は豊富にありますが、前提条件を間違うと上手く動きません。今回、設定する機種の条件を書いておきます。

項目 条件
機種 ender 3 pro
基板 Creality純正 v4.2.7 ボード
BLTouch接続方法 Creality純正 CRTouch を5ピンコネクタ接続
marlinバージョン marlin 2.0.9.2 安定版
操作パネル 純正品
その他 なし

特にBLTouchの接続方法として、専用5ピンコネクタに接続するか、既存のZ軸スイッチのピンに接続するかは大きな違いとなるので間違えないようにしてください。

また、ファームウェアを書き換えるとステッピングモータのステップ数などがリセットされます。メモするなどして控えておくと良いと思います。

marlinファームウェアの取得

marlinファームウェアの取得に関しては以前、記事を書いたので参考にしてください。
今回は設定例の4ファイル (Configuration.h等) をコピーした所から書いていきます。

marlinファームウェアの書き込み記事

marlinファームウェアのダウンロード先

ファイルの書き換え

platformio.ini

初めに「platformio.ini」を書き換えます。
default_envs を mega2560 から STM32F103RET6_creality に変更します。

default_envs = STM32F103RET6_creality   # mega2560 から変更

platformio.ini の書き換えはこれだけです。

Configuration.h

次に「Configuration.h」ファイルを書き換えます。
このファイルは書き換える所が多いです。

初めにシリアルポートを追加します。

#define SERIAL_PORT 1       // 目印

#define SERIAL_PORT_2 3     // 追加行

次にZ軸の停止に関する設定を行います。
※ BLTouchを5ピンコネクタに接続している場合はこの操作を行ってください。
※ 既存のZ軸スイッチのピンに接続している場合は設定する必要がないです。

// #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN  // この項目をコメントアウトします。

#define USE_PROBE_FOR_Z_HOMING  // すぐ下にあるこの行を有効にします。

BLTouchの有効化を行います。

#define BLTOUCH     // この項目を有効化します

BLTouchの設置位置を設定します。数字の単位は「mm」です。

#define NOZZLE_TO_PROBE_OFFSET { -45, -10, 0 } // この項目のすぐ上に説明があります
                                               // よく読んで設定してください
                                               // 記載している数字は私の設定です

BLTouchの逃し寸法を設定します。デフォルトでも問題ないと思いますが、私の場合は少し寸法を多くしています。

#define PROBING_MARGIN 15   // デフォルトの10から5mm足しています

BLTouchの調整を行うためにはZ軸を原点0から下げる場合が多々あります。
通常は安全性の観点から原点より下がらないようになっていますが、それではZ軸の調整ができないため、安全回路を解除します。

// #define MIN_SOFTWARE_ENDSTOP_Z   // この項目をコメントアウトしないとZ軸を
                                    // 原点より下に動かせなくなります

BLTouchがベッドの上に存在しない場合、Z軸がいつまでも下降してしまいます。
そのような自体を避けるためにXYの位置を確認してZホーミングを行えるようにします。

#define Z_SAFE_HOMING   // 有効にします

BLTouchで複数の場所をサンプルとするためにベッドのレベリングを有効にします。

#define AUTO_BED_LEVELING_BILINEAR      // 有効にします

ベッドのレベリングメニューを操作パネルに表示するようにします。

#define LCD_BED_LEVELING    // 有効にします

私が行ったその他の変更

#define CUSTOM_MACHINE_NAME     // 3Dプリンタ名を設定する項目
                                // 長いと見切れるので ender 3 pro にしています
  
// #define SHOW_BOOTSCREEN      // 立ち上がりのロゴ等を非表示にする
  
#define SLIM_LCD_MENUS          // 操作メニューが簡潔になる
                                // Octoprintなどを使う場合は有効化してもいいかも

Configuration_adv.h

最後に「Configuration_adv.h」ファイルを書き換えます。

項目の意味は調べていませんが、コンパイルしようとするとエラーが出るため、コメントアウトして無効にする必要があります。

// #define BLTOUCH_SET_5V_MODE  // コメントアウトして無効化

以上でファイルの書き換えは終了です。

コンパイルファームウェアの更新

次にコードのコンパイル3Dプリンタへの書き込みを行います。
方法は以前書いた記事を参考にしてください。

marlinファームウェアの書き込み記事

終わり

以上で無事にコンパイルができ、ファームウェアの生成ができるはずです。
次回はBLTouchの初期調整を行いたいと思います。