【Studies】自分の3Dプリンターの能力を知る

こんにちは、ファブラボ神田錦町の井上です。

夏の慌ただしさがひと段落し、久しぶりのスタディーズの再開です。前回前々回の投稿で、3Dプリンターのアップグレードや、世界中のコアな3Dプリンターユーザーによるプロジェクトなどを紹介してきました。その後も3Dプリンターは使い続けていましたが、アップグレードした結果をきちんと検証していなかったので、今回はその内容をレポートします。

3Dプリンターの最適な設定を探るためのベンチマークモデルは、「3D Benchy」をはじめThingiverseなどの3Dモデル共有サイトにたくさん上がっています。造形精度や糸引きの具合など、それぞれのモデルで検証できる内容は異なりますが、今回は「流量(Flowrate)」にフォーカスしたいと思います。流量とは、材料であるフィラメントを単位時間あたりにどのくらい送ることができるかを表します。印刷速度や造形精度に比べて見過ごされがちですが、実はとても重要なパラメーターです。早く印刷したいと思っても、十分な流量で材料を送り出せなければ綺麗に造形できません。前々回の投稿で紹介した通り、アップグレードの主な目的は「CHT Nozzle」を使いたいということでした。径の大きいノズルからそれなりのスピードで印刷しようと思えば、必要な流量は相対的に高くなってきます。今回のアップグレード、特にMosquito Hotendに変更したことで、どのくらいの流量になったのかを測ります。

参考にしたのは、おなじみCNC Kitchenのこちらの記事で、上の画像は実際に行った検証の様子です。ノズルから押し出されたフィラメントの線と塊が、グリッド状に並んでいます。簡単に説明すると、横軸(X)は温度、縦軸(Y)はフィラメントの送り速度を段階的に変えており、塊の重さを測ればそれぞれの温度・送り速度ごとの吐出量をマッピングできる、というものです。CNC KitchenはこのテストのためのツールをGithubに公開していますが、iFallUpHillという方がこのプロジェクトをWebツール化してくれているので、今回はこちらを使いました。

Flow Test Generator
https://hotend-flow-tester.netlify.app/

まずはこのツールの各設定項目について解説します。()内に筆者が用いた値を記載しています(使用プリンター:Creality CR10 V2、使用フィラメント:PLA、使用ノズル:0.4mm)。このツールを使ってご自身のプリンターを検証する場合にご参考ください。なお、この検証にはデジタルスケールが必要になります(筆者は1mgまで測れるスケールを用意しました)。

Printer Dimensions
・Bed Width:造形テーブルの幅(X, 300mm)
・Bed Length:造形テーブルの奥行き(Y, 300mm)
・Bed Margin:造形テーブル端から設ける余白(20mm)
・Generate Direction:印刷方向(Front to Back)

Printer Settings
・Filament Diameter:フィラメント径(1.75mm)
・Travel Speed:非印刷時の移動速度(100 mm/s)
・Bed Temperature:テーブル温度(60℃)
・Fan Speed:冷却ファンの稼働率(100%)

Retraction Settings
・Retraction Distance:引き戻し量(0.8mm)
・Retraction Speed:引き戻し速度(40mm/s)

Pattern Configuration
・Flow Spacing:テストプリントの間隔(Y軸方向, 50mm)
・Temperature Spacing:テストプリントの間隔(X軸方向, 50mm)
・Dwell Time:線を印刷する前の待機時間(20秒)

Flow Test (Rows)
・Start Flow:開始送り量(4mm3/s)
・Offset Flow:送りの変化量(2mm3/s)
・Flow Steps:送り量テストの実施回数(5)
・End Flow:最終送り量(12mm3/s、自動計算されます)

Temperature Test (Columns)
・Start Temperature:開始温度(200℃)
・Offset Temperature:温度の変化量(10℃)
・Temperature Steps:温度テストの実施回数(3)
・End Temperature:最終温度(220℃、自動計算されます)

Start and End Gcode
・Safe Z Park Height:Z軸の退避高さ(10mm)
・Show Variable Names:独自のStart/End Gcodeを用いる場合は"Show"(Hide)
・Start Gcode:独自のStart Gcodeを入力(変更無し)
・End Gcode:独自のEnd Gcodeを入力(変更無し)

Test Configuration
・Prime Line Length:印刷する線の長さ(25mm)
・Prime Amount:線に用いるフィラメントの長さ(20mm)
・Prime Speed:線の印刷スピード(5mm/s)
・Wipe Length:線と塊の間に設けるスペース(15mm)
・Blob Height:塊の高さ(10mm)
・Extrusion Amount:塊に用いるフィラメントの長さ(200mm)

設定を終えて画面左下の「Download Gcode」をクリックすると、検証用のGcodeが書き出されます。まず、基準となる長さ200mm分のフィラメントの重さをデジタルスケールで測ります。検証に使用したPrilne製のPLAフィラメントでは、長さ200mmで0.605gでした。検証用のGcodeを実際にかけ、それぞれの温度・送り速度で出された塊の重さを測り、表にプロットしていきました。4mm3/sから12mm3/sでは誤差程度の違いしか見られなかったため、3回回して32mm3/sまで測ってプロットした結果が以下になります。

基準となる0.605gに対する比率(%)でプロットし直したのが以下の表です。

多少のアップダウンを繰り返しつつ、22mm3/sを超えたところから吐出が落ち始めていることがわかります。高い吐出量ではフィラメントの融解が追いつかなくなり、フィラメントがスリップして求めた量が吐出されなくなります。おおよそ22mm3/sが筆者の3Dプリンターのスペックということになります。

少し厄介なのは、Curaなどのスライサーソフトでは流量(Flowrate)の値が「%」で表されており、ここに記載した「mm3/s」ではないため、少し計算をしないといけません。流量(Flowrate)の最も簡単な計算式は、

流量(mm3/s) = レイヤー高さ(mm) x ノズル径(mm) x 印刷速度(mm/s)

例えばレイヤー高さ0.2mm、ノズル径0.4mm、印刷速度50mm/sと標準的な数値で計算した場合、流量は4mm3/sとなります。上記の計算式に基づいてチャートをつくり、レイヤー高さ/印刷速度ごとの流量を一覧にしました。これで22mm3/sを最大とした場合の、レイヤー高さごとの最大印刷スピードがわかるようになります。左上のノズル径の値を変更すれば、チャート全体の数値に反映されるようになっています。

なお、このチャートはあくまで吐出量を基準とした最大印刷速度を見るためのもので、必ずしも「最適な印刷速度」ではありません。造形の良し悪しはプリンター自体の構造や精度、フィラメントにも左右されるため、実際には全体のバランスを見ながら最適な印刷速度を探すことになります。ただ、CHT Nozzleのような特殊な大口径ノズルで出す場合には一つの目安になってくれそうです。上記のチャート(Microsoft Excel)は以下で公開しますので、ご自由にお使いください。

FDM Flowrate Chart

こうして自分の3Dプリンターの理解を深めるツールや方法が数多く共有されているのも、メイカーコミュニティの魅力です。本スタディーズでは、今後もこうしたTipsを中心に、デジタルファブリケーションのテクニックを紹介していきます。