雑食エンジニアの気まぐれレシピ

日ごろ身に着けた技術や見知った知識などの備忘録的なまとめ.主にRaspberry Piやマイコンを使った電子工作について綴っていく予定.機械学習についても書けるといいな.

Flsun i3のホットエンドをE3Dv6に換装する

3Dプリンタ改造計画第二弾はホットエンドの換装です. 改造計画とか言いつつ,実際はホットエンドが断線した故のただの換装です.それだけだと面白くないので,versionUpしてみようとやってみました.
Flsun i3にはもともとE3Dv5のホットエンドが使われていますが,これをv6に換装しました.

f:id:shikky_lab:20200229075952p:plain
ホットエンドの比較.上がE3Dv5.下がE3Dv6
それぞれのホットエンドを比較するとこんな感じ.少しサイズが小さくなります.

E3Dv5とE3Dv6について

冒頭の写真のようにE3Dv6ではサイズが少し小さくなりますが,細かい違いは下記のようです.15gほど軽くなっているとか.
(若干見づらいですが,v5とv6の比較のスクショが貼られています.ソースはE3Dの公式サイトっぽいです.ただ,今は掲載されてなさげなので真偽のほどはわかりません.)
READ FIRST - E3D V5/V6 differences (heatsink) by computer1up - Thingiverse

また,ファンのサイズも40mm角から30mm角になっています.このあたりはどうなんでしょうね.ファンが小さく,かつヒートシンクが小さいとなると,冷却能力がv5に比べて下がってしまうのではって気がします.液だれとか増えないのかな.

近接スイッチの取り付け

私の購入したFlsun i3はオートレベリング機能がついており,そのための近接センサが下図のようにファンともにホットエンドに組付けられています.

f:id:shikky_lab:20180407152032j:plain
E3Dv5の取り付け部分

ホットエンドを換装するにあたり,この部分も新調する必要があります.ファンのサイズも変わってしまうので.

というわけで,下図のような部品を生成して取り付けます.

f:id:shikky_lab:20200229083335p:plain
ファン&近接センサ取り付け用パーツ

(余談ですが,これを生成する途中で旧ホットエンド(E3Dv5)が完全にお亡くなりになり,ヒータ一式を交換しました.修復自体の目的はここで達成してしまった...)
Z軸のサイズ感がシビアな気がしますが,実際は最後に調整(後述)するので割とテキトーです.
組付けた際にセンサの先端がノズルよりも高く,かつノズルがぶつかる前にセンサが反応すればいいです.

STLファイルでもアップしようかと思ったんですが,はてなブログはファイルアップロードできないっぽいので,図面をスクショしました.使いたい方いたらどうぞ. f:id:shikky_lab:20200229094816p:plain

先ほどの板を組み付けると

f:id:shikky_lab:20200229083701p:plain

こんな感じになります.
f:id:shikky_lab:20200229083718p:plain

Z軸の調整について

この近接センサはSN-04Nなどの系列の誘導近接スイッチと言われるセンサです.英語だとInductive sensorと記載されることが多いでしょうか.
金属版などに近づけた際の電磁誘導による誘導起電力の変化を検出して,一定の距離で反応します.私のやつは5mmでした.
(前述のSN-04Nは4mmで反応します.SN-05Nは検索しても出てこなかったので,実際の型番は謎です.)
対象と一定距離になった際に出力切り替わるため,挙動としては物理スイッチと同じになります(実際には信号が反転しますが).近接スイッチと呼ばれる所以ですね.

この近接センサの反応する位置と,ノズル先端の位置の差がわかっていれば,Z軸の0点調整をすることができます.
この差がProbe Offsetと呼ばれるもので,MarlinではM851のGコードで指定できます.
XYZ Probe Offset | Marlin Firmware

また,デフォルト値はConfiguration.hのZ_PROBE_OFFSET_FROM_EXTRUDERにて指定できます. 下記の方法で調整したのち,最後にConfiguration.hを更新したうえでファームを書き込むのが良いと思います.

調整手順

  1. M851コマンドを使って,オフセットを適当に大きな値に設定する(e.g. -5mmとか)
    • 仮の値です.設定次第では0点以下にZ軸を下げられないことがあるため,0点が上の方に来るようにします.
  2. G28コマンド(Auto Home)でホーム位置を検出する.
    • Auto Homeでは近接スイッチが反応するまでZ軸が下がります.そして,この点を上記で設定したオフセット値として認識します.
  3. Z軸を少しずつ下げて0点調整をする.
    • コピー用紙などを下に挟んで,それがわずかに動かなくなるくらいが0点です.
  4. 1と3の数値の差をOFFSETとして指定する
    • これで,ノズル先端とセンサの検知位置との差を求めることができました.

以上です.実施の際はノズルにゴミなどが付着していないかを確認のうえ行ってください.
OFFSETを変更したうえで再度Auto Homeを実行し,Z軸が0mmになる点まで動かした際に,ちょうど0点に来ていれば完了です.
良さげなら,Configuration.hのデフォルト値を書き換えてファームを更新することをお勧めします.

さいごに

まだ換装してから少しテストプリントをしただけですが,今のところv5との差異はあまり感じないです.
少し良くなった気もしますが,どちらかというと上記手順で0点調整やレベリングをちゃんとやったことによる恩恵のほうが多い気がします.
もう少し運用してみたら何か差が見えてくるかもしれません.その際はまた記事にしたいと思います.

さて,一通り3Dプリンタに手を加えたかったところは終わったので,次は何をしようか少し悩んでます.ダイレクトエクストルーダ化は興味あるのでやってみるかもしれません.また今回のセンサの取り付け方法が割とぐらつきそうなので,もっとしっかりX軸に固定するマウンタのようなものも必要かなと思ってます.
まぁ,何かやったらまたまとめます.3Dプリンタがひとまず使える状態まで復帰したので,ほかに作りたいものもありますし...

それでは.