![見出し画像](https://assets.st-note.com/production/uploads/images/15233859/rectangle_large_type_2_644a78d4a9afd15cee0ebc8057d4a290.jpeg?width=1200)
【CURA Tips】ヘッドとビルドプレートを同時に加熱開始する方法
どもどもYanでっす。
本日のお題は「CURAでヘッドとビルドプレートを同時加熱する方法」。
これはカスタムファームウェアでも標準のファームウェアでも使えるのでCURAを使っているのであれば役にたつかと。Marlin系gcodeを使っているプリンターならAnycubic i3 MEGA以外でもOKなはず。
gcodeファイルで動きが違う?
事の始まりはLinear Advanceのテストをしていたとき。テストパターンのgcodeファイルはMarlinのwebページで生成するんでけど、明らかにCURAでスライスして作った他のgcodeよりもプリント開始が早いんです。
gcodeを比較するとMarlinのwebで作成したものはヘッドとビルドプレートの加熱を同時にしているように見受けられます。
一方でCURAが作ったgcodeはビルドプレートの加熱が終わってからヘッドの加熱が開始されます。
加熱は電力を必要とするため電源に負荷がかかります。プリンターによってはビルドプレートとヘッドの同時加熱を行うと電源に負荷がかかりすぎてしまう可能性があるのでCURAは片方だけしか行っていないのかもしれません。
僕の使っているAnycubic i3 MEGAは同時加熱開始のgcodeを何度もプリントして問題が起きていないので、電源的には問題がなさそう。
手動で書き換えてテスト
まずはCURAが生成したgcodeファイルをメモ帳で書き換えてプリントしてみます。
書き換えといっても、該当する部分をMarlinのwebでつくったLinear Advanceのテストパターンのgcodeファイルから切り取って、CURAで作ったgcodeファイルの該当箇所にペーストして、ビルドプレートとヘッドの温度を初期レイヤー用に直しただけです。
コマンドの内容を説明しておくと
M104 S●●
●●℃までヘッドを加熱する。
M140 S●●
●●℃までビルドプレートを加熱する。
M190 S●●
●●℃までビルドプレートの加熱を開始する。温度が到達したら待機
M109 S●●
●●℃までヘッドの加熱を開始する。温度が到達したら待機。
なぜCURAはM104とM109、M140とM190を併用しているのかよくわかりませんが。Marlinの方はM104、M109、M190しか使ってません。
とりあえず書き換えたgcodeファイルをSDカードにセットして実行してみます。
同時に加熱開始しました!
CURAで生成するgcodeファイルもこの形になれば大丈夫ってことになります。
CURAでの設定はどこで?
CURAで生成するgcodeファイルのカスタマイズはLinear Advanceで使ったプリンター毎の設定でできそう。
Sの値を詳細設定からどうにかして持ってこれれば大丈夫っぽいです。
詳細設定で入力する初期レイヤーのプリント温度とビルドプレート温度を持ってきたいのでその名前が何になるかを調べてみたら…
情報がないよ!!!!
日本語の情報なんて当然ありません…
3Dプリントに関しては技術的なドキュメントが日本語ではほとんど存在しててないんです。僕の個人的な印象だけど日本は3Dプリント後進国なんじゃないだろうか???
モデリング技術は進んでる気がする。でも出力段階でプリンターの設定を深いところまで追い込んで品質を求めるという部分の人口が少ないのかな。
FDMプリンター使いならCURA使ってる人多いはずなんだけど、設定に関して情報をネットで探してもあんまりなかったし。
で、肝心の初期レイヤーの名前。
ロシア語で見つけました!
僕がFDMプリンターの情報探すと英語、ドイツ語、ロシア語の順で見つかることが多いかも。
名前は英語で書かれてるのでたぶんこれなんだろうなーと推測してgcodeを書き出してみたらいけました。
普通のプリント温度とかビルドプレート温度は簡単に見つかったんですけど初期レイヤーを探すのが大変でした。
ここをこうする!
メニューの「Settings」→「Printer」→「Manage printers...」を開いて。
Machine Settingsボタンを押します。
このウィンドウは端っこをドラッグすれば大きくできるので上の画像のようにStart G-codeのとこが見やすいようできます。
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
M501
M420 S1
G1 Z15.0 F{speed_travel} ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F{speed_travel}
M117 Printing...
M900 K0.85
G5
で、CURAが自動的に書き出す温度部分は生成されたgcodeを見るとG21よりも前だったのでこう変更。ここの内容はプリンターやカスタムしてる人によって違うので全部コピペはやめといた方がいいです。
M104 S{material_print_temperature_layer_0} ; set nozzle temperature but do not wait
M190 S{material_bed_temperature_layer_0} ; set bed temperature and wait
M109 S{material_print_temperature_layer_0} ; block waiting for nozzle temp
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
M501
M420 S1
G1 Z15.0 F{speed_travel} ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F{speed_travel}
M117 Printing...
M900 K{material_linear_advance_factor}
G5
G21の前に3行追加。
M104 S{material_print_temperature_layer_0} ; set nozzle temperature but do not wait
M190 S{material_bed_temperature_layer_0} ; set bed temperature and wait
M109 S{material_print_temperature_layer_0} ; block waiting for nozzle temp
この3行。この3行は下の動作をやってるのでコピペで大丈夫。
M104でヘッドを初期レイヤープリント温度まで加熱開始
M190でビルドプレートを初期レイヤーベッド温度まで加熱開始&待機
M109でヘッドを初期レイヤープリント温度まで加熱開始&待機
CURAでスライスして作成したgcodeを確認します。
さっき変更した箇所が、ちゃんと詳細設定で設定した初期レイヤーの値を持ってきて挿入されてます。
実際にプリントしてもヘッドとビルドプレートが同時に加熱開始されて、両方の温度が設定温度に到達するとプリント開始されます。
今まではビルドプレート→ヘッドだったので
ヘッドの加熱時間分短縮ができました!
まとめ
ちょっとでもプリントにかかる時間を短縮したいと思っているなら、3行追加するだけで確実に時間が短縮できるのでオススメの設定です。
僕のノートが役に立った、面白かったと思っていただけたら、スキ、フォロー、サポートお願いします!