Seilfish firemwareとSimplify3D
Makerbot社のReplicator2Xは、今となっては一昔前の古い3Dプリンターという趣があるが、我が自称ラボでは故障するたびに修理しReplicator2Xがしぶとく現役を続けている。修理するたびに純正パーツが減っていき、そのうちに機体のすべてがサードパーティー製の部品に置き換わってしまうのではないかという勢いである。修理欲とカスタマイズ欲は紙一重なのだ。分解に慣れてくれば壊れていないパーツもどんどん置き換えてしまう。純正パーツからの置き換えは、ハードウェア部分に限ったことではない。でスライサーやファームウェアも例外なく純正からの置き換えのターゲットとなる。
第四世代までのMakerbot社製の3Dプリンターには、Sailfish firmwareという拡張ファームウェアがあり、本体のファームウェアを書き換えることで、より高度な設定が可能になったり、本家のファームウェアにで採用されていない技術が盛り込まれていたりするので重宝したのだ。Replicator2X用のファームウェアの最終バージョンは7.6だが、sailfish firmwareは2014年8月にリリースされた7.7が最後の更新であった。もう4年以上前の事だ。
Makerbot社製の3Dプリンターの純正スライサーはMaker Wareというソフトウェアが本体に付属していた。その後、Makerbot Desktopになり、さらにMakerbot Printへと移り行く中で、第四世代のReplicator2XはMakerbot Printではサポートされなくなり、Makerbot Printの売りであったminiインフィルをはじめとする最適化されたスライス技術の恩恵にはReplicator2Xからではアクセスできない状況に陥った。そんななか、Simplify3Dは有料ソフトウェアだが多くの3Dプリンターをサポートしたままバージョンアップを続けており、Replicator2Xでも日々進化していく工夫の積み重ねの結果を利用できる環境を提供してくれる。
そんなこんなで、我が環境ではReplicator2XでありながらRepllicator2Xからだんだんとかけ離れつつあるサードパーティー製の混在環境となっており、それぞれのバージョンアップで思わぬハプニングに出くわすことがある。
Simplify3D 4.1の到来
sailfish firmwareはもうヴァージョンアップしないっぽいので枯れつつあるが、Simplify3Dは現役バリバリでバージョンアップが時々行われている。つい最近も4.0から4.1へ更新された。喜び勇んでインストールしてスライスしていざプリントしてみると、Replicator2Xの2つあるフィラメント射出装置であるところのエクストルーダーの右側の一つしか使わない造形物のプリントでも、使われない左側が共に加熱されてしまっている。4.0の時には無かった問題だ。
使われないエクストルーダーの空焚きは怖い。プリントが長時間になればなるほど怖い。これは対処すべき問題だ。その謎を追うべく、ジャングルの奥地へと向かった。4.0で出力されたg-codeと、4.1で出力されたg-codeを比べてみた。
4.0で出力した時のg-code
; G-Code generated by Simplify3D(R) Version 4.0.1 ; Jun 14, 2018 at 2:31:55 AM ~ 中略 ~ G90 M83 ; **** Replicator 2X start.gcode **** M73 P0 ; Enable build progress G162 X Y F3000 ; Home XY maximum 以下略
4.1で出力した時のg-code
; G-Code generated by Simplify3D(R) Version 4.1.1 ; Dec 21, 2018 at 11:12:44 PM ~ 中略 ~ G90 M83 M104 S230 T1 ←こいつが追加されてる ; **** Replicator 2X start.gcode **** M73 P0 ; Enable build progress G162 X Y F3000 ; Home XY maximum 以下略
ささやかな変更
“M104″が温度設定で、”T1″が左側、”S230″が230℃を意味している。4.1からは、simplify3Dの”Right Esxtruder Only”を選んでいても、Left Extruderに温度設定が成されていた場合、一番ど頭で加熱するように指示を出してしまうようだ。4.0の時はLeft Extruderに温度設定があろうがなかろうが、
”Right Esxtruder Only” が指定されていたら左側エクストルーダーの指示はg-code上には現れなかった。4.1からは”Right Esxtruder Only” の設定でも左側の温度が指定できるようになったらしい。加熱したくないときは、設定を削除するのではなく、第一層から0℃を指定してく必要がある。
ちなみに、この使わない方のエクストルーダーが過熱されちゃう問題は、sailfish firmwareの場合にのみ起こる。Makerbotの純正ファームウェア7.6に戻してテストしてみたところ、simplify3d 4.1で出力されたg-codeで使われていないエクストルーダーの温度指定があった場合でも、指定温度まで加熱されることはない。プリント開始直後は使われない側のエクストルーダーに予定温度に指定されていた温度が一瞬表示されるが、すぐにヒートベットの過熱が始まって”waiting”の表示に切り替わる。これは、replicator2Xは搭載されている電源の容量の関係で、ヒートベットとエクストルーダーを同時に加熱することができないのでまずヒートベットの過熱が優先され、その後エクストルーダーの過熱に移るという動きをするためだ。その後エクストルーダーの過熱に処理が戻ってくるが、その時使われていないほうのエクストルーダーの過熱は再開されず、使われる側のエクストルーダーに予定温度が表示され、加熱が開始されるというsailfish firmwareとは違う動きになった。
replicator2xをsailfish firmwareとsimplify3d4.1で運用して使わない方のエクストルーダーが過熱されて困った、という状況に陥る人間が私以外にこの地球上にどれだけいるのかは定かでないが、こういう困った現象は一度解決してもすっかり忘れたころにまたハマったりするので、いつも通り世界中に発信しつつ
メモとして blogにしたためた次第でござる。