【Banggoodクーポン情報】Eachine Cinefun / Beta95X V2 HD Digital VTX .etcクーポン追加!

【3Dプリンタ】Ender3 V2にBLTouch(オートレベリング)機能を適応する手順!

3Dプリンタ『Ender3 V2』にBLTouch、いわゆるオートレベリング機能と言われるものを導入してみました。

【Creality3D Ender3 V2】はじめての3DプリンタEnder3 V2がやって来た!今年1番の当たり買い物となりました!【組み立て&レベル調整】

Enderシリーズの3DプリンタにはEnder3やEnder3 Proなど数機種販売されていますが、私が使っているEnder3 V2に関しては比較的新しい機種ということもありBLTouch化するにあたり国内での情報があまり見つからず(ほぼ海外の情報ばかりでした)非常に苦労しました。

今回私の使っているEnder3 V2のBLTouch化をやってみましたが、理屈が分かってしまえば他機種よりも比較的簡単に導入自体は出来るかと思います。

BLTouch化にあたり既にEnder3 V2専用キット(BLTouch本体およびマウントブラケット・接続ケーブルがセットになっています)が販売されています。
このキットを使えばV2用に作られたブラケットが付属しているのでBLTouch本体のプリンタへの固定やボードへの配線も付属のケーブルを使いプラグ1本を差し込むだけと導入は比較的簡単に行えます。

BLTouchセンサーを動作させるために3Dプリンタ本体のファームウェアを書き換える必要がありますが、これもEnder3 V2で使われている32ビットボード(V2にはボードのバージョンが現在4.2.2と4.2.7の2種類存在しています)ではブートローダー等の書き込みの必要がなく、SDカードからファームウェアの書き換えが出来るのでこちらも簡単です。

・・・簡単、簡単と言ってしまいましたが、実際に正常に動作させるまでには非常に苦労しました。
ある程度海外の動画等を見て予備知識を入れて望んだのですが、BLTouchの測位が上手くいかずノズルがベットに激突したり、BLTouchのプローブが折れ曲がったり、ファームウェアの書き換えが上手くいかず起動しなくなったりと・・・

他機種等でBLTouchや3D Touchを導入したことがある方ならBLTouch用のMarlinファームウェアがどのような動作(挙動)をするのか理解できているので問題ないかと思いますが、私のようにはじめて導入するという場合は高い確率で同様なトラブルに見舞われるかと思います。

私が遭遇したトラブル等も踏まえながら順を追ってEnder3 V2のBLTouch化を見ていきたいと思います。

Creality 3D® Ender-3 V2 Upgraded Kit of BL Touch Self Leveling Sensor for 3D Printer
created by Rinker

Ender3 V2をBLTouch化(オートレベリング)する手順

BLTouchとは?

そもそもBLTouchって何?
もうこちらの動画を見てもらえばよく分かるかと思います。

このようにBLTouchと呼ばれるセンサーをノズル横に取り付けベットとの高さを計測します。
これを複数ポイント計測し(標準では3×3の計9ヶ所の測位となっています)、メッシュデータ化します。

物理的なベットの傾きをデータ化しそのデータを造形物出力の際に使用しノズルの高さ(Z軸方向)を場所により微調整することによりビルドプレート上の全ての場所でノズル高を均一にすることが出来るというものです。

BLTouchについてはこちらも参考にしてみて下さい!

参考 BLTouch: Auto Bed Leveling Sensor for 3D PrintersANTCLABS

3Dプリンタの造形は、レベル調整(ノズルとベットとの間隔)によるファーストレイヤーが非常に重要となってきます。
ベットのレベル調整ってコピー用紙を使って(他の方法もありますが)四隅のノブを微調整してレベルを均等に合わせていく・・・
これって非常にアナログでなかなか難しいですよねー!

どんなに上手くレベルを合わせても、センターでは合ってるけどベット端に近づくにつれて徐々にズレてくる・・・なんてことはよくあります。
そのため小さな造形物だとZ方向のオフセットを入れてノズルを絶妙な位置に調整できるけど、造形物が大きくなると場所によりレベルのバラツキがあるのでなかなかオフセット値を入れられずなんてことも・・・

しかしBLTouchでは事前にベットの各ポイントの高さを計測しメッシュデータ化することにより、基準となる位置(センター)でのノズル高(Zオフセット)を設定すればベット上の全てのポイントでこのノズル高になるように調整してくれるので便利となります。

四隅のノブを絶妙な加減で回してレベルを調整・・・あの職人技的調整方法は自分は非常に苦手で毎回時間がかかりレベル調整する時はいつも面倒だなぁーなんて思っていましたが、基準点のレベルを取ってしまえばあとは自動で計測してくれるので楽でいいですね。

BLTouchについて雰囲気が伝わったところで実際にEnder3 V2に導入してみたいと思います。

Ender3 V2専用のBLTouch化キットは既に販売されている

冒頭でも述べたようにEnder3 V2にBLTouchを導入するためのCreality公式の専用キット(BLTouch Auto Leveling Kit)が既に販売されています。
BLTouch本体にEnder3 V2専用に作られたを固定ブラケット及び接続ケーブルが付属しています。

Creality 3D® Ender-3 V2 Upgraded Kit of BL Touch Self Leveling Sensor for 3D Printer
created by Rinker

このV2専用キットを使うのが一番手っ取り早いのですが、販売が開始されたばかりで人気があるようで私はなかなか入手できず・・・
在庫が復活しないため今回Ender3やEnder3 Pro、CR10などでも使えるこちらのキットを使ってBLTouch化しました。
センサー本体はBLTouch Smart V3.1と最新のもの(V3.2ってのが出たのかな?)が使われV2専用キットと同じなので問題はありません。

しかしこちらに付属する固定ブラケットはEnder3やEnder3 Proに固定する形状のため、Ender3 V2でマウントさせるには公開されているデータを使いブラケットを出力させて別途作る必要があります。

私はワンポイントカラーで固定ブラケットを作りカッコよく?仕上げたかったのでもともと作る予定だったのですが、こちらのキットではケーブルの加工も少し必要となってきます。(後述します)
在庫があるならV2専用キットを使うのが手っ取り早くていいのですが、今回使ったキットでも問題なくBLTouch化することが出来ます。

Creality BLTouch Auto Leveling Kit

Ender用のブラケットやケーブル等が付属するCreality公式のBLTouch化キットのパッケージ内容を少し見ておきます。

BLTouchセンサー本体(Smart V3.1)と予備プローブ(1本)・接続ケーブル・固定ブラケット&ビス(M3×6,M3×8 各2本)・ファームウェア書き換えに使用するBurner等が付属しています。

Ender3やEnder3 Pro、CR10などをお使いの方はこちらのキットを使うのが最適となっています。

私はこちらのキットを使いましたがEnder3 V2で使用する場合、BLTouch本体と接続ケーブルのみ使い(その他は使いません)固定ブラケットは3Dプリンタで出力させて別途作る必要があります。
先述しましたがEnder3 V2ではV2専用キットを購入される方が作業の手間は少なくてすみます。

こちらのキットとV2専用キットの内容物を見比べて頂ければ分かりますが、V2専用キットの方ではBLTouch本体・ブラケット・接続ケーブルと非常にシンプルな付属品となっているのが分かります。

Ender3 V2で使われている32ビットのメインボード(V4.2.2およびV4.2.7)にはBLTouch接続用の端子が標準で付けられています。

そのため他のEnderシリーズと比べ接続もシンプルで、さらにファームウェアの書き換えでブートローダーを書き込む必要もなく導入の敷居も低いかと思います。

BLTouchセンサーの取り付け

それでは取り付けていきます。
まずはブラケットを出力させます。

MEMO
Ender3 V2専用キットを使われている方は付属ブラケットがそのまま使えるのでこちらの項目は飛ばして下さい。

V2用ブラケットはThingiverseのこちらのデータを使用しました。

参考 Ender 3 V2 3DTouch/BLTouch MountThingiverse

また追加でスペーサーデータも公開されています。

参考 BLTouch Spacer/Screw Cover for Ender 3 ProThingiverse

2mmのスペーサーとなりますが有無両方試してみましたが入れておいた方がいいかと思います。

BLTouchを使うにあたりベットのレベルをわざと大きくずらしたりしていろいろテストしてみましたが、BLTouchのプローブは引っ込んだ時と伸びた時そしてその間にセンサーが反応するポイントがあるのですが、スペーサーを入れることによりベットの極端な傾きによるノズルの激突等を防ぐ事も出来るのでこのスペーサーも出力させ一緒に使うのがいいかと思います。

またスペーサーがないとセンサーの反応ポイントが低くなるためノズルとの高低差が1mm以下となり測位のためノズル移動の際にベットに溶けたフィラメントが付着したり、またトラブル回避という意味でもいいかと思います。

参考 Ender 3 V2 BLTouch Firmware Installation Guide by Smith3D.comSMITH3D

こんな感じで出力させたブラケット&スペーサーを使いBLTouchを取り付けます。
こちらのキットではM3×6とM3×8の取付ビスが付属していますがこれはEnder3 Proなどに取り付ける際に使用するビスとなり、今回出力させたブラケットに固定する場合M3×16ほどの長さがあるビスを別途用意する必要があります。

ノズル左側のプーリーを1ヶ所外しブラケットを固定します。(V2専用キット付属のブラケットでは外す必要はありません!)

X方向・Z方向にノズル部分を動かしケーブルにテンションがかかりすぎないよう少し多めにケーブルの余白を残しておくといいと思います。

インシュロック等で裏までケーブルを固定してボードへの接続へ移ります。

メインボードへの接続

ベット下の1ヶ所および裏面3ヶ所のビスを外しメインボードにアクセスします。
Ender3 V2で使われているボードのバージョンは現在V4.2.2V4.2.7の2種類があります。
共にBLTouch用の接続プラグが付いているので接続自体は簡単ですが、この後ファームウェアを書き換える際に必要となるのでボードのバージョンを確認しておきます。
ちなみに私のボードはV4.2.2となっていました。

そして接続ですが、こちらもEnder3 V2専用キットを使う場合は付属する接続ケーブルもこのプラグ(JST-XH)が採用されているため接続は差し込むだけと簡単です。

今回私が使っているキットではケーブルの加工が少し必要となってきます。
付属ケーブルはBLTouchのプローブをPWM制御する3ピンプラグとZリミット判定の2ピンプラグに分かれています。
他のEnder機種ではこのプラグで接続するためなんですが・・・実際Ender3 V2でもこのプラグのまま問題なく取り付けることは出来ました。

この際注意したいのが3ピンプラグ側の配線(VccとGND)が違うので入れ替える必要があります
具体的には上の接続図の順になるように配置し直すだけです。

ピンの配置を入れ替えればこのままでも接続出来ましたが、手元にJST-XHプラグ(5ピン)があったのでカシメし直しプラグ自体を変更しました。

接続は以上となります。
Ender3 V2の場合、ボード側にBLTouch用のプラグが用意されているので簡単ですね!

そしてZリミットスイッチはBLTouchに置き換わるので配線を外しておきます。

私は今後戻す場合があるかもしれないのでボード側のプラグは抜かず配線もそのままにしておき、Zリミットスイッチのみ取り外しました。(BLTouchが問題なく動作しているのでケーブルも後々取り外そうと思っています。)

ブラケットの作成やプラグの配線等面倒なので、これからEnder3 V2のBLTouch化をお考えの方はやはりV2専用キットを入手されるのがいいかと思います。(なかなか在庫が復活しないようですが!)

ファームウェアの書き換え

BLTouchセンサーの取り付けが完了し実際にこのセンサーを動作させるには本体ファームウェアを書き換える必要があります。

UI等カスタムされたファームウェアもあるようですが、今回はCreality公式のBLTouch用Marlinファームウェアを使いました。

Ender3 V2で使われている32ビットのボードではブートローダーのインストールは必要なくSDカードから簡単に行うことが出来ます。

まずはこちらCreality公式サイトから先程確認したボードのバージョンに対応したファームウェアをダウンロードします。

参考 downloadCreality

フォーマットしたSDカードを用意しダウンロードしたファイルを解凍後、ファームウェアのバイナリーファイル(拡張子が.bin)をコピーします。(SDカード内にこのファイル以外は入れない!)

あとはこのSDカードをプリンターに挿入し電源を入れる(起動する)と自動的にファームウェアの書き換えが行われます。(書き換えのため初回起動時は10秒ほど起動に時間がかかります)

MEMO
SDカードは一旦フォーマットしてからファームウェアのファイルのみをコピーして下さい!
ファーム書き換えが上手くいかずフリーズするというトラブルがありました!

ファームウェアの書き換えが完了し起動するとこれまでの標準ファームではなかった[Level][Z-offset]という項目が追加されています。

MEMO
Creality公式サイトから標準ファームウェアもダウンロードすることが出来るので同様の手順で簡単に元に戻すことも出来ます!

基準点(センター)のレベル調整

それではレベル調整をしていきます。
BLTouchを使いベット上の各ポイント(3×3の計9ヶ所)を測位してメッシュデータを作成するのですが、まずは基準となる1点(センター)のレベルを合わせます。
このレベル(ベットとノズルの高低差)が全ての場所で適応されるということになります。

まずはレベル調整の際のお決まりごと?ノズルとベットを予熱しておきます。
これまで同様、[PreheatPLA]や[PreheatABS]から予熱が出来ます。

予熱が完了したら[Prepare]から[Auto home]を選択します。
下動画のようにセンター部分のレベル計測が始まります。(プローブを2回上下させ計測が行われます)
そして計測後、自動的にノズルが10mm上がって停止します。
ここから[Z-offset]の値を決めノズルとベットとの差を詰めていき最適な状態に調整していきます。

[Prepare]から[Move]を選択すると現在のノズル位置の座標が表示されます。
ここでノズルの高さ[Move Z]の値は、現在のZ-offset(初期値は0)と上記Auto Homeで10mm上がっているので足した値(ここでは10.0)となっているかと思います。

この値を一旦0にして実際のノズル高まで移動させます。
まだだいぶノズルとベットは離れていると思います。

ここから[Z-offset]を入れていき(マイナス方向でノズルを下げていく)最適な高さに調整していきます。

ノズルとベットは約0.2mmくらい(コピー用紙1枚分)が最適と言われています。
レベル調整はいろいろとやり方はありますが、これまで同様コピー用紙をこのように挟んで今回は調整しました。
ノズルにコピー用紙が当たり少し抵抗を感じるくらいまでZ-offsetの値を下げていきます。

余談ですが、ザックリ合わしてあとでテストパターン等を出力させながらZ-offsetの値を詰めていく方法を最近よくやっています。

レベル調整に関してはこちらも参考にしてみて下さい!

【Ender3 V2】基本的なべットのレベル調整方法。Z軸リミットスイッチの取り付け位置を少し上げるとベットの高さ調整がしやすくなります!

大体Z-offsetの値は-4.44位となりました。
この値はマウントブラケットの微妙な取り付け位置やベットのレベル状況等環境により変わってくると思いますので参考程度に!

これで基準となる位置(センター)のレベルが設定されました。
次に[Level]を選択して各ポイントを測位し上記Z-offsetの値を基準にメッシュデータが作られます。(SDカード内のEEPROMファイルに自動的に保存されるので特に意識する必要はありません!)

9点の測位が完了したらメッシュデータが取得され出力の際にこのデータをもとにベットの傾きを補正しながら出力してくれるようになります。

Gコードの修正

BLTouchの測位のタイミングは大きく2パターンあるかと思います。
1つ目は造形物出力の前に毎回BLTouchで測位を行ってから造形物の出力に入るパターン。
毎回レベルを測位するので最適な状態で出力が行えるかと思いますが、毎度9点の測位を行うので出力開始までに少し時間がかかります。

また2つ目は、上記[Level]により測位したメッシュデータを使い回すパターン。
レベル調整は一度行うと頻繁にズレるものではないのでこちらの方が実用的かと思います。

しかし大きな造形物や時間がかかるものなどを出力させる場合では、2分ほどの測位は全体の出力時間に対してごく僅かとなるので1つ目の方法の方が適しているかと思います。。

スライサーソフト側(Curaで説明していきます)にGコードを追加することにより上記2パターンを有効にしたいと思います。

①出力の際に毎回レベルを取り直す

まずは出力の前に毎回レベルを取り直す方法です。
Cureの場合、[プリンター管理]→[プリンターの設定]からGコードを修正することが出来ます。

[G-Codeの開始]に記述されているG28の次にG29というコードを追加することにより出力の際に毎回9ポイントのレベルを取り直し出力が開始されるようになります。

②1度取得したメッシュデータを使う

次に1度取得したメッシュデータを使用して出力を開始させる方法です。
こちらはG28の次にM420 S1 Z2を追加します。
Ender3 V2用のMarlinファームウェアは再起動後に「レベリングを有効」にすることが出来ないようでこのGコードを追加しています。

こちらのサイトを参考にさせて頂きました。

参考 Installation Guide For Official Ender-3 V2 1.1.6V BLTouch Firmware by CrealitySMITH3D

出力を開始するとまずセンターのレベルをBLTouchで測位しこれを基準としてこれまで取得したメッシュデータを使って出力していく形となります。

取得したZ-offset値 & メッシュデータはどこに?

上記Gコードの追加が完了したらEnder3 V2のBLTouch化の完成です!
お疲れさまでした。

ここで少しZ-offset値と取得したメッシュデータについて書いておきます。
Z-offset値及び取得したメッシュデータ(9ポイント)ですが、これは自動的にSDカード内のEEPROMファイルに保存されるのがCreality公式ファームウェアの仕様のようですね!(プリンタ内のEEPROMに書き込む方法もあるようですが)

これまでの標準ファームではZ-offsetの値は自動的に保存される仕様ではなかったのでこれは便利です!

ここで少し注意点なんですが・・・
このデータが読み込まれるタイミングなんですが、プリンタを起動後SDカードが挿入されると自動的にSDカード内のEEPROMファイルが読み込まれZ-offset値が適応されます。(初めて使うSDカードの場合、ファイルが作成されます)

そして複数のSDカードを使っている場合は注意が必要です。
これらのデータがプリンタ本体に読み込まれるタイミングはあくまで起動直後(再起動後)となります。
複数SDカードを使いまわしている場合、例えば測位して更新した新しいデータが入ったSDカードの前に以前測位した古いデータが入ったSDカードを先に挿入して起動してしまうと、SDカードを変更してもこの情報は読み込まないので注意が必要です。

レベリングをし直したのに古いデータが入ったSDカードを挿入して起動したためレベルがズレていてノズルが激突・・・なんてことが数回ありました。

複数のSDカードでやり取りすることはあまりないと思いますが注意が必要です!

またプリンタ内のEEPROMにデータを書き込む方法もあるようですが・・・
GコードM500でメッシュデータをEEPROMに保存し、M501でデータを呼び出しM420 S1で使用宣言させ・・・こんな感じで出来そうですが、こちらは試せていません。

最近はビルドプレートにスティックのりを塗ったりマスキングテープを使って出力させています。

【3Dプリンタ】1層目の定着に効果が高いマスキングテープ&スティックのり!またそのダブルで使うと後処理も楽で便利です!

マスキングテープの場合その厚さ分レベルが変わってくるわけですが、今回の方法だと2枚のSDカードを使ってそれぞれの場合(マスキングテープの有無)のメッシュデータ及びZ-offset値を使い分ける事ができるので、こういう使い方では便利になるのかなと?

出力時の注意点!

BLTouchのプローブが上がった状態でのノズル先端との高さは約2mmくらいになりました。
これくらいの差があれば造形物に接触することはありませんが、BLTouchセンサーの取り付け位置はノズルよりも手前となっているため大きな造形物や造形物の出力場所をビルドプレートの手前に設定する場合には注意が必要です。

例えばサイズの大きな造形物でビルドプレートいっぱいにスカートを描く際、ノズルよりもBLTouchセンサーの方が手前にあるので固定クリップに背の高いものや大きなものを使用されている場合は干渉に注意が必要です!

最後に!

以上、Ender3 V2のBLTouch化の手順をご紹介しました。
はじめて3DプリンタのBLTouch化を苦戦しながら行いましたが、間違い等ございましたらコメント頂ければありがたいです。

記事中でもご紹介したようにEnder3 V2専用キットが既に販売開始されているので、センサーの固定やケーブルの配線など非常に簡単に行うことができます。

またファームウェアの書き換えもSDカードから簡単に行えるのでBLTouch導入に関してはEnder3 V2の場合、比較的簡単で敷居は低いかと思います。

そして今回、X方向・Y方向のオフセットに関しては触れていません。
BLTouchセンサーの位置とノズルは当然X方向・Y方向もともに離れているのでこちらも適切なオフセット値を設定したかったのですが・・・

Creality公式ファームウェアを使っているのでブラケット固定位置による適切な値がファーム内に設定されている?かと思いますが、この点だけ最後まで疑問が残りました。

最後に別機種ではありますがBLTouch化に関してこちらのサイトも参考にさせて頂きました。

参考 3D Touchで自動ベッドレベリングひとりぶろぐ
Creality 3D® Ender-3 V2 Upgraded Kit of BL Touch Self Leveling Sensor for 3D Printer
created by Rinker

コメントを残す