
Jark と 加速度の設定は簡単の様でとても難しいです。正直に言って分かりません。。
Jark と 加速度を高く設定すれば印刷は速く成りますが、3Dプリンターがガタガタと音を発したり、印刷物の表面にリンギング痕が発生したり、ノズルと印刷物の接触して印刷物がビルドプレートから剥がれてしまったりと良い事が有りません。
Jark と 加速度を考える前にステップモーターのコントロールについて確認して見たいと思います。
3Dプリンター用に制御基板とステップモーターのセットが販売されています。3Dプリンターの可動制御部は大抵のプリンターで少しの差は有れどほぼ同じものが使用されています。
ステップモータは200ステップで1回転する物が使用されています。1ステップにすると1.8度の回転に成ります。これをコントロールして XYZE軸各々の位置をコントロールする訳ですが、ステップモーターに付いているプーリーはベルトの外径で 12.73mm程度です。これをステップモーターで駆動すると1ステップ1.8度で約0.2mmに成ります。1mm当たり5ステップでの移動に成ります。これをコントロールしても印刷物はガタガタした形状になってしまいます。解像度が足りないのでここで「マイクロステップ」と言う制御を使用してステップモーターの1ステップを 1/16にする制御を掛けます。こうする事でマイクロステップ1ステップ当たり0.0125mm(12.5μm)、1mmあたり80ステップとして使用する事で満足する解像度を得ています。
マイクロステップの説明動画です ↓
しかしマイクロステップ制御は良い事ばかりではありません。。磁力的に中途半端に固定するので保持トルクが大幅に減少してしまいます。
マイクロステップの保持トルク現象について書かれているPage
↓ ↓ ↓
https://www.monolithicpower.com/jp/learning/resources/why-microstepping-isnt-as-good-as-you-think?srsltid=AfmBOor9Q56-1SLcljAh-WRGJEQF8lhLy5l9JNWE8GGLA7oiGKJT2QOT
繊細かつ俊敏に移動する3Dプリンターですが、このステップモーターのフィジカルなステップとステップの中間を制御するマイクロステップの保持トルクの低さから3Dプリンターの振動の入力によって微細な揺らぎが生じてしまう。これが印刷物の表面に揺らぎの痕跡が残ってしまうリンギングが発生してしまう根本的な原因となっているかと思います。
そんな事も有り揺らぎが発生しない様に Jark と 加速度 や印刷速度を適度にコントロールしなければならないと言う事に成ります。
XY軸の速度コントロールの要素としては、
・Jark(初速)
・Max Acceleration(最大加速度)
・速度
・最小速度
の4つの要素が有ります。
例えば100mm/S と言う速度で印刷する場合に、0mm/S ⇔ 100mm/S を行き来して中間の加速のコントロールが無ければガクガクしてしまいます。
なので、 停止 → 移動 → 停止 を行う場合には、
最小速度から → 設定した加速度で加速 → 設定の速度を維持 → (マイナスの)加速度で最小速度まで減速 → 最小速度で停止
この様な加減速を行う事に成ります。この場合の設定値は、
・最小速度 0mm/Sec
・加速度 1000mm/Sec2
・速度 100mm/Sec
と成ります。
これを仮に左から右にX軸を移動したと仮定して、続けてY軸を奥に移動して直角に移動する場合を考えてみます。
X軸の移動からY軸の移動へ切り替わる所に Jark (初速) の要素が追加されました。
停止からの加速と減速からの停止では「最小速度」が反映されていましたが、X軸からY軸への切り替えでは「Jark」の速度が反映されて、X軸は少しガクンと止まりY軸は少しガクンと動き始めます。
当然ですがJarkの値は小さくした方が滑らかに動きますし、大きい値の方が機敏に動く事に成りますが振動の問題が発生します。
Jark の調整は重要と思いますが、 必要なJarkと加速度の値は関連があると思いますので、セッティングはとても難しい物だと思います。
高額な高級プリンターがありますが、使われているモーターや制御基板などはどの3Dプリンターも粗同じものが使用されています。Prusaが高価な理由の半分は PrusaSlicer に事細かに最適な設定値がプリセットされている事 と言ってしまっても過言ではありません。?
という事で今回使用しているプリンターと同じボーデン式の Prusa Mini のプリセット値を有難く頂きたいと思います。
プリント設定 →速度 →加速度コントロールの項に入力します。
何故この値になっているのか?理由は分かる様な分からないようなですが、Jark とのバランスまでは理解が出来ません。なので加速度とJark の値は共にバランスを崩さない様にまるごとコピーしてしまいます。
外壁印刷の加速度は2000、最外壁は1500の加速度となっており安価なプリンターには大きすぎる値の様な気もしますが、機体の限界 の項で対処しますので大丈夫です。
※外周から内周に向けて加速度の値が大きくなっているのは、90度コーナーへの減速でフィラメント吐出が過多となり、出っ張りが出来てしまう事を予防する措置らしいです。そんなノウハウがあったり無かったりなので丸々そのままコピーします。
プリンター →機体の限界 のページの設定値も基本的に Prusa mini の値をそのまま使います。
※G-CODEに送信を忘れないように選択します。忘れると実際の印刷に反映されなくなってしまいます。
しかし、さすがにこの安価なプリンターでは Prusa と同じ速度で動かす事は出来ません。
少し細分化してみるとX軸(左右)に移動する機構は軽量に出来ているのでほぼ同等な動きで良いかと思いますが、Y軸はPrusaに比べてとても重たくなっているので同じとは行かない筈です。
リンギングのテストをする為にほぼ同じものを90度回転して印刷してみました。Y軸で加速しながらの印刷と、X軸で加速しながらの印刷の比較に成ります。
XY軸の最大加速度はPrusa mini と同じ4000mm/S2のままとしています。
Y軸が影響する方向にマウントした物には長く酷いリンギング痕が発生しました。 重たいY軸には加速度が大き過ぎるようで、先程のマイクロステップの保持トルクの弱さが影響して揺らぎが出てしまっている状況です。
対してX軸が影響する方は少しのリンギングで済んでいます。全て無くすのは困難だと思うので取り敢えずは4000mm/S2のままで大丈夫そうです。
Y軸の最大加速度を1500mm/S2まで下げました。だいぶ改善されましたが、まだX軸に比べてリンギングが大きいようです。ここで思いましたが、印刷時の加速度の設定が1500~2000mm/Secに設定されているので最大加速度の値は1500以下にしなければ影響が少ないんですね。内壁の印刷加速度が2000なので内壁のリンギングが表まで響いているので改善が見られたようです。 という事で最終的にY軸の最大加速度は 1000mm/S2 まで下げる事としました。
再度テストプリントです。
印刷時、最外周の加速度は1500mm/S2に設定されているので、最大加速度4000mm/S2に設定のX軸にはリミットとしての効果は発揮されません。しかしY軸の最大加速度は1000mm/S2と設定したため1500mm/S2の加速度は許容されず、最大加速度で設定した値に抑制される事となります。
結果はXY軸で起こるリンギングを同等とする事が出来ました。もう少し小さな値にしても良いかも知れませんがこちらの印刷物はインフィルの設定のある物ですがX軸4000の加速度での印刷でも表面に響かない様です。という事もあり今回は高速化が目的なのでこの程度としておきます。
移動の場面で加速度の違いがわかりやすい物があったので動画にしました。
印刷速度 100mm/Sec
移動速度 240mm/Sec
移動加速度 4000mm/Sec2
X最大加速度 4000mm/Sec2
Y最大加速度 1000mm/Sec2
Y軸の移動が少し滑らかで、X軸の移動が俊敏になっています。音を聞いていると分かり易いかと。もしかするとY軸方向の移動は最高速迄達していないかも知れません。
コレでも実際はまだY軸の振動の方が大きいのですが、XとY軸で加速度限界を個別設定する事で機体の限界で印刷出来ているかと思います。この設定を使うと、古い機体ですが割に早く動かしてもガタガタしないです。
スライサーで移動速度を確認して見ました。X軸は即座に240mm/Secに達していますが、Y軸の移動は最高速に届いていない部位が目立ちますね。
PrusaSlicer は解析画面が充実しているのでとても使い易いです。
機体の限界の項の最大加速度の値を変更する事で、深い理解が出来なかった Jark と 加速度のバランスを Prusa mini の値を使用しつつ自分の使用する機体に合わせて抑制をかける事が出来ます。 インフィルはもっと雑な印刷でいいような気もしますが乱れは結局は表面まで響いてきますのでこの位で仕方なしです。ですがX軸の動作には影響が無いので、X軸とY軸とで動作の機敏さは変ってしまいますが印刷時間は極力削減出来るセッティングとする事が出来ます。
と言う事で今回は少し「WON'T BE LONG」 なセッティング方法になってしまいました。
※足りない頭なら、知恵を盗めばいい。。
注、 当ブログに帳尻合わせの為の嘘は含まれておりません。当社比です。
工夫と思っていただければ幸いです。
ファームウェアのMarlinには JunctionDivision と言うJark制御よりも簡単に使える制御も入っているのですが、なぜだか利用されない傾向です。Marlin的にはJunctionDivisionの方が標準になっているので現状はClassicJarkとしてわざわざ古いJark制御を使用している感じです。私が自分でMarlinをビルドして居た時に有効にして使用したことがありますが、小さいRでカーブする場面で減速が効きにくい感じであまり良い印象ではありませんでした。
Prusa は MK4になってステップモータが400ステップ、0.9度/stepの物に変更になりました。多分ですが保持トルクの最大値が減少して脱調の危険は高まりますが、マイクロステップ時の揺らぎの幅を削減出来てリンギングの発生を減らす事が出来るのかと思います。
最近話題のインプットシェーパーは、この揺らぎをセンシングして、ノイズキャンセリングのイヤホンの様に逆相の振動(磁力)を発生させて振動を打ち消す制御を掛けるそうです。と言ってもなかなか怪しい制御ですが、、高速な印刷を行うのにあたりマイクロステップを使用する限りは何某かの改善策は必要になる模様です。
3Dプリンターは未だ未だ道半ばと言った所です。