3Dプリンター Anycubic Mega-S レベル確認操作を簡単に G-codeで遊ぶ

3Dプリンター

3Dプリンターのヒートベッドとノズルの隙間ってどのくらいの頻度で調整するものなのでしょうか。そんなものは自動で、なんて高級な3Dプリンターは持っていませんので、印刷前の隙間確認は定期的にするべきなのだろうと思います。でもね、面倒なんですよね。そこでほんの少しだけ楽できる方法を思いつきましたので一応書いておきます。そんなの知ってるよ~。とか、使えね~。なんて言葉が聞こえてきそうですが、温かい目で見てやってください。

何を思いついたのか

Anycubic Mega-Sを使い始めてあまりたっていませんので、ヒートベッドとノズルの隙間は組立時に調整したのが最後で一度も調整をしていませんでした。今までは、前回の印刷時に異常が無ければ、大丈夫だろうという判断で利用していました。いつズレるか判らないので、印刷前に毎回確認した方が良いのでしょうが、ホームポジションに移動させて、モーターをOFFにして、手でノズルを四隅や中央に動かして、と言う一連の操作がなんだか面倒くさくてやる気が起きません。
そこで思いついたのが、「四隅および中央に自動で動いてくれればいいんじゃない」ということでした。
動作としては、まずホームポジションで一時停止させて、紙を差し込んで隙間を確認、動作を再開させて次の角でまた一時停止、そして確認。を繰り返せばと考えました。これでしたら任意のタイミングで再開できるので確認だけでなく、調整も出来るとふんでいました。書いたGコードがこちら。

Gコードを書く

G21;単位系をmmにする。
G90;ノズルの位置指定を原点基準の座標で指令する。
G28;X軸、Y軸、Z軸をホームポジションへ移動させる。
G0 Z5 F5000;Z軸5mmの位置へノズルを上昇させる。速さは5000mm/分。
G0 X5 Y5;X軸5mm、Y軸5mmの位置へノズルを移動させる。
G0 Z0;Z軸を0まで下降させる。
M0;一時停止する。
G0 Z5
G0 X210
G0 Z0
M0
G0 Z5
G0 Y210
G0 Z0
M0
G0 Z5
G0 X5
G0 Z0
M0
G0 Z5
G0 X105 Y105
G0 Z0
M0
G0 Z30

テキストエディタで書いてSDカードに拡張子gcodeで保存して普通のプリント操作をします。
日本語は説明のために書いたものなので、3Dプリンターに読み込ませないでくださいね。”;” 以降はコメントとはいえ、2バイト文字を読ますと変なことが起こりそうな気がします。

動作としては、Z軸を0まで下げた状態でM0で一時停止を入れてます。X軸またはY軸を動かすときは念のためZ軸を上げて動かしてます。
移動範囲ギリギリでなく、X軸Y軸のマイナス側を5mm内側にしているのはなんとなくです。

で、結果は。ダメです。M0のコードで止まるには止まるのですが、再開させる手立てが見つかりません。

ということで、一時停止はあきらめて数秒間止まるコードにしました。隙間を確認するだけなら問題ないでしょう。

手直しバージョン

G21
G90
G28
G0 Z5 F5000
G0 X5 Y5
G0 Z0
G4 S3
G0 Z5
G0 X210
G0 Z0
G4 S3
G0 Z5
G0 Y210
G0 Z0
G4 S3
G0 Z5
G0 X5
G0 Z0
G4 S3
G0 Z5
G0 X105 Y105
G0 Z0
G4 S3
G0 Z30

M0 を G4 S3 に置き換えてdwellを入れました。これで四隅と中央で3秒間だけ止まってくれます。3秒あれば紙を隙間に差し込んでの確認だけですけどできました。もう少し長ければなんとか調整も出来そうですが、調整しなくて良いときに待つのがじれったいです。S3の3が秒数ですので適当に変えてやってみてください。
最後に30mmまでZ軸を上げてるのはなんとなくです。
X軸Y軸の移動速度は、仕様書上100mm/秒 まで出せますが、そこまで頑張らなくても良いので、少し余裕を持たせてます。Z軸については仕様書に記載が無いので、速度のテストをしてみた結果、400mm/分あたりが上限のようです。Gコード上5000mm/分を指令していますが、上限を超えた値を入れても機械の規定値で動くようなので、いちいちF値を変えていません。

あと、強制的にストップをかけるまで永遠に動くようにgoto文で分岐する指令をしてみましたが、そんな高級なGコードは全く受け付けてもらえませんでした。それどころかX軸Y軸が誤作動を起こしたので強制的に電源を遮断しました。ご参考までに。

注意事項をおひとつ。
ノズルの先端に固まったフィラメントがついた状態で、このGコードを動かさないでください。Z軸が0まで下がります。プリントヘッドを暖める指令は一切入ってませんので、固いままのフィラメントがベッドを直撃します。

あとがき

このGコードをSDカードの片隅に置いておけば、プリントする前にちょこっと読み出して実行させれば隙間の確認が手早くできます。少しは楽そうでしょ? そうでもない。 すみません。もっと便利な何か思いついたら報告します。あと、このGコード実行してプリンター壊れても責任とれませんので、そこの所よろしくです。では、今日はここまで。

更新情報:2021/04/05
M0と記載すべき所にM4と記載している箇所が何カ所かありました。大変失礼いたしました。

コメント

スポンサーリンク