3Dプリンタ

3DTouchをEnder-3で使う為のファームウェア書き換え

投稿日:

3DTouch

今回は3DTouchを使ったオートベッドレベリングを行う為にEnder-3のファームウェアを書き換えました。
BFPTouchの時と編集箇所は殆ど同じなのですが、一応書いてみました。

 

書き換え手順

Ender-3でファームウェアを書き換える手順については、以前書いた通りなので、そちらを参照して欲しい。
今回このページに書いているのは設定ファイル(Configuration.h等)の変更箇所だけです。

 

Ender-3 firmware

 

設定ファイルの変更箇所

今回は、

  • Configuration.h
  • Configuration_adv.h
  • pins_SANGUINOLOLU_11.h

の3つのファイルを編集して書き換えます。

Marlin1.1.9に付属しているender-3用のconfigurationsファイルをベースにしています。
その辺りも先のファームウェア書き換え手順のページを見て頂ければと思います。

 

Configuration.hの変更箇所

78行 #define SHOW_BOOTSCREEN

SHOW_BOOTSCREEN

78行 // #define SHOW_BOOTSCREEN
先頭に//を入れてコメントアウトします。

これはブートスクリーンの表示を行わないと言う設定です。
ブートスクリーンを表示しなくなるぶん起動が速くなるのと、プログラムの容量が小さくなります。
小さくなるのは1k Byte程なので、引き続き表示することも可能です。

 

727行 #define BLTOUCH

BLTOUCH

727行 #define BLTOUCH
行頭の//を外してアンコメントします。

プローブにBLTouchを使うと言う設定です。
実際に使うのは3DTouchですが、BLTouchと同じように動作するのでBLTouchとして動作させます。

 

776~777行 PROBE_OFFSET_FROM_EXTRUDER

PROBE_OFFSET_FROM_EXTRUDER

776行 #define X_PROBE_OFFSET_FROM_EXTRUDER -41 // X offset: -left +right [of the nozzle]
777行 #define Y_PROBE_OFFSET_FROM_EXTRUDER -15 // Y offset: -front +behind [the nozzle]

776行、777行の数値を変更して、ノズルとセンサーの位置関係を設定します。
使うマウントによってセンサーの位置が変わります。
実際にノズルの先端とセンサーの先端の距離を測って指定します。

 

795行 #define MULTIPLE_PROBING

MULTIPLE_PROBING

795行 #define MULTIPLE_PROBING 2
行頭の//を外してアンコメントします。

ABLでベッドの高さをチェックする時に、1箇所につき2回チェックを行う設定
2回目のチェックは通常チェック時よりもゆっくり降ろして精度を上げます。
ここでは、チェック回数を2回以上に設定することも可能。

 

823行 #define Z_MIN_PROBE_REPEATABILITY_TEST

Z_MIN_PROBE_REPEATABILITY_TEST

823行 #define Z_MIN_PROBE_REPEATABILITY_TEST
行頭の//を外してアンコメントします。

これはセンサーの精度をテストするコマンドが有効になります。
精度テストが必要無い人はここの編集は必要無いです。

 

904行 #define MIN_SOFTWARE_ENDSTOP_Z

MIN_SOFTWARE_ENDSTOP_Z

904行 // #define MIN_SOFTWARE_ENDSTOP_Z
先頭に//を入れてコメントアウトします。

これはZ軸がマイナス方向に移動できるようになる設定です。

 

975行 #define AUTO_BED_LEVELING_BILINEAR

AUTO_BED_LEVELING_BILINEAR

975行 #define AUTO_BED_LEVELING_BILINEAR
先頭の//を外してアンコメントします。

これはオートベッドレベリングの種類をBILINEARに指定しています。

 

1026行 #define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE+15

FRONT_PROBE_BED_POSITION

1026行 #define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE+15
先頭の//を外してアンコメントして、+15を書き込んでいます。

これはオートベッドレベリングの際のフロント側の位置を少し(15mm)内側に移動させています。
これはビルドシートを留めているクリップにセンサーが当たるのを防ぐ為に設定しています。

 

1142行 #define Z_SAFE_HOMING

Z_SAFE_HOMING

1142行 #define Z_SAFE_HOMING
先頭の//を外してアンコメントします。

これはホーミングを安全に実行する為の設定です。
オートホーミングがベッド中央で行なわれるようになります。

 

1452行 #define SLIM_LCD_MENUS

SLIM_LCD_MENUS

1452行 #define SLIM_LCD_MENUS
先頭の//を外してアンコメントします。

これはLCDコントローラーで表示されるメニューの項目のいくつかを省略します。
メニューの項目が減るぶんプログラムの容量が小さくなります。
Ender-3はメモリが小さいので、プログラムの容量を減らさないと書き込めません。

 

1506行 #define SPEAKER

SPEAKER

1506行 // #define SPEAKER
行頭に//を入れてコメントアウトします。

これはスピーカーかブザーかを選ぶオプションです。
コメントアウトすることでブザーモードになります。
今回3DTouchを使う為にスピーカーの接続は無くなりどちらでも意味が無いのですが、ブザーモードにするとプログラムの容量が小さくなります。

 

1914~1915行 #define NUM_SERVOS

NUM_SERVOS

1914行 #define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
1915行 #define SERVO0_PIN 27

1914行は先頭の//を外してアンコメントし、NUM_SERVOSを1に変更
1915行は#define SERVO0_PIN 27を書き込みます。

ここでは3DTouchをコントロールする為に、サーボの設定をしています。

 

Configuration.hの編集は以上です。

 

Configuration_adv.hの変更箇所

ここからはConfiguration_adv.hの編集です。

 

752行 #define BABYSTEP_ZPROBE_OFFSET

BABYSTEP_ZPROBE_OFFSET

752行 #define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping
先頭の//を外してアンコメントします。

ベビーステップは印刷中にノズルの高さの微調整が出来る機能で、その設定とプローブのオフセットを一緒の物として扱う設定。

 

798行 #define ARC_SUPPORT

ARC_SUPPORT

798行 // #define ARC_SUPPORT // Disable this feature to save ~3226 bytes
先頭に//を入れてコメントアウトします。

これで円弧のサポートを外します。
多くのスライサーでは円弧が使われていないので問題無いと思われます。
円弧のサポートを外すことでプログラムの容量を減らします。

 

Configuration_adv.hの編集は以上です。

 

pins_SANGUINOLOLU_11.hの変更箇所

ここからはpins_SANGUINOLOLU_11.hの編集です。

 

169行 // #define BEEPER_PIN 27

BEEPER_PIN

169行 // #define BEEPER_PIN 27
先頭に//を入れてコメントアウトします。

もともとビープ音を鳴らす圧電スピーカーに繋がっているピンですが、今回センサーのサーボをこのピンで使っているので、ここでコメントアウトして無効化しておきます。

 

pins_SANGUINOLOLU_11.hの編集は以上です。

 

と言う訳で、3つのファイルの編集が全て終わりで、あとはEnder-3に書き込めばファームウェアの書き換えは完了です。

後はBFPTouchで行ったような高さ調整をしないといけませんね。

BFPTouchの取り付けと調整

 

 

-3Dプリンタ
-,

執筆者:

関連記事

Ender-3 X-axis OptoEndstop

Ender-3 optical limit switch

Ender-3のリミットスイッチを、機械式(メカニカル)エンドストップから光学式(オプティカル)エンドストップに取り替える為に、販売されているOptoEndstop用のマウントを作りました。 &nbs …

BS01+ と BTモジュール

3DプリンタをBluetooth接続化してみた

RepRapのwikiページを見ていると、RAMPSのボードにBluetoothモジュールを接続する方法が載っていたので、私の使っている3DプリンターBS01+でもできるかなと試してみました。 RAM …

付属のタグ

Capricorn PTFE tube

CapricornのPTFEチューブを買ってみました。 購入したのは、CapricornのXSシリーズのPTFEチューブ。 このチューブはUltra Low Frictionと言うことで、摩擦が少なく …

Ender-3 シート張り替え

Ender-3 傷んだビルドシートを張り替え

Ender-3を買ってから約2ヶ月、いつも中心でばかりでプリントしているせいで、シートの真ん中はシートの糊が剥がれて、浮き上がってしまっています。 最近では、少し破れてしまい穴が空いてしまいました。 …

BS01+

BS01+にMarlin1.1.9

今更ながら、BS01+のファームウェアをMarlin1.1.9にしてみました。 BS01を動かすのは、Ender-3を買ってから動かした記憶が無いので、かれこれ1年以上ぶりとなります。   …