押し出し量の最適化

フィラメントを押し出す量はどのように決まるか?

造形物の体積とフィラメントの直径 × 長さが等しくなるようにスライサーによって計算され、G-code生成。
エクストルーダーのステッピングモーターがG-codeに応じて動作し、フィラメントが押し出される。

しかし、実際にはスライサーが感知しない仕様通りではないノズル開口部の直径、ノズル内部の表面処理、ノズルの温度によってフィラメントの流動性は変わるので、理論値通りのフィラメントが供給されているとは限らない。

また、フィラメントごとに流動性は違い、場合によっては同じメーカーの同じ銘柄のフィラメントでも、時期によって流動性が変わるものがある。これもフィラメント押し出し量を狂わせる一因となる。

そもそも、フィラメントの直径もまちまちだ。

必要な量よりフィラメント押し出し量が多ければフィラメントがその分余り、造形物表面にゴミ(blob)が残ったり、穴の直径が小さくなったりといった悪影響を与える。

必要な量よりフィラメント押し出し量が少なければ、その分フィラメントが足りなくなり、ラインとラインが癒着せず造形物の強度が落ちたり、ところどころ隙間が空いたりといった悪影響を与える。

image alt
: フィラメント押し出し量が足りないと、この写真のように「す」が入ったようになる。この例では適正値の75%。

影響を与える要因が無数にあるフィラメント押し出し量をどう管理したらいいか?

ここにキャリブレーション方法が書いてある。

要するに、無数の要因が関係した結果、ノズルから実際に出てきたものを調べろということだ。

これは、Original Prusa i3 MK3Sの改造キットであるPrusa Bearのプリント部品を正しくプリントするために書かれたもの。

Prusa Bearにはスクエアナットをプリント部品の穴に差し込んでネジ穴とする箇所が無数にあるが、フィラメントの押し出し量を適正化せずに部品をプリントすると、スクエアナットの穴にナットが入らなくなって困ることになるからだ。

キャリブレーション用モデルのダウンロード

キャリブレーションには以下のモデルlow_cube.stlを使用する。

Ultimaker Curaへの読み込みと書き出し

ダウンロードしたlow_cube.stlをUltimaker Curaに読み込みG-codeに変換するが、花瓶モードに設定する。

具体的には、設定の最後の方にある「Special Modes」の中にある以下の2項目を設定変更する。

  • 「Spiralize Outer Contour」の✔︎をオン
  • 「Surface Mode」を「Surface」に
image alt

これでG-codeを書き出す。

プリントと計測

元のモデルは中身の詰まった平たい立方体だが、花瓶モードに設定してプリントすると、周囲の壁だけがプリントされる。

image alt

プリントされたら、マイクロメーターで壁の厚さを測る。

ベッドと接していた部分は厚くなっていると思われるので、そこを避けて測る。

といっても、マイクロメーターを持っている人は少ないのではないだろうか。

筆者は、デジタルノギスでいつも測っている。

image alt

壁がよじれたり、たわんだりした分が厚さに乗ってくるので、少し押さえつけるような感じで測っている。

いろいろな部分を測り、代表値を出す。

筆者の結果は0.42mm程度だった。

適正なFlowの算出

ノズルが0.4mmの場合、プリントされた壁が0.45mmになっているのがよいということだ。

筆者の結果は大体0.42mmだったため、

0.45 ÷ 0.42 = 1.07

CuraのFlowは95%に設定していたので、

95 x 1.07 = 101.65

Flowを95%から101.65%に変更すると0.45mmに近づくはずだ。

もう一度プリントしてみて、確かに0.45mmになっているか確認すれば完璧だ。

このような流れでキャリブレーションする。

注意すべきは、このキャリブレーションは一度やればいいというものではないことだ。

  • フィラメントを別のものに交換した
  • ノズルの温度を変えた
  • ノズルを変えた
  • 季節が変わった

上記のように前提条件が変われば、またこのキャリブレーションをやり直す必要がある。