RepRapコミュニティで活躍しているJosef Prusaの会社Prusa ResearchからPrusa i3の最新版MK2が発売されています。
今回の改版で特に興味を引いたのは、大きくなったフラットなヒーテッドビルドプラットフォーム(HBP)。以前はHBPの上に耐熱ガラスをクリップで留め、表面にカプトンテープやノリを付けていました。
この新しいMK42というHBPは以下のような特徴があります。
・大きくなっても周辺部まで熱の均一性が高い発熱用の配線パターンになっている
・最近流行のPEIシートを貼りつけているのですが、発熱用の配線パターンが内層になっていて表面はプリプレグでフラットになっている
ちなみに、PEIシートは多くの材料との密着がよいこと、カプトンテープと違って繰返し使用できることからRepRapで使われるようになってきています。
配線パターンは次の写真ように3ゾーンに分かれており、周辺に行くほどパターン幅を広くすることで中央部より発熱するようになっています。次の写真の左が従来のHBP、右がMK2で採用されたMK42のサーモグラフです。
この特性が知りたくて、思わずキットを購入しました。ちなみにキットは$699。日本への送料や税金を加えても8万円ほどで入手できました。現在は製造が追いつかず発送まで1ヶ月ぐらいかかるようです。
元々はHBPの特性評価だけを行うつもりで、キットを組み立てる予定はなかったのですが、8月13日に鎌倉で開催されたRepRap Community Japan Meeting 2016(RRCJM2016)でワークショップのように組立実演を行うことにしました。Foldarapは去年のRRCJM2015でCyclopsモデルを動展示しましたので、今年は何か別のことをやりたかったのです。
ただし、キットをただ組み立てるだけでは面白くありません。何かを改善した設計をと考えていました。
Prusa i3 MK2はオープンソースですので、設計情報はネットで公開されています。これを利用して、設計をすることができます。
改善といっても、このキットの内容は値段からは想像できないほど良いパーツを使っています。例えば、ホットエンドは本物のフルE3D V6(アセンブリ済)、制御基板はUltimachine社製のRAMBo Mini、Z軸は長いスレッドが軸と一体になっているNEMA17、超ジュラルミン(A2024)相当と思われるDuralにブラック基調の無機パウダーをコートした質感の良いフレーム、Z軸キャリブレーション用の非接触インダクティブセンサ(P.I.N.D.A. : Prusa INDuction Autoleveling)など。お買い得感が高いキットです。マニュアルもホームページでも公開されていますが、冊子も付いてくるので、横に置いて作業ができます。樹脂パーツもよく考えて設計されています。さすが2世代目です。
では全く改善ポイントがないかというと、樹脂パーツとエクストルーダーは余地がありそうです。樹脂パーツは、その色(オレンジ)もさることながら、3DプリントのABSのインフィルが20%程度で強度的に疑問がありました。エクストルーダーはドライブギアが真鍮製で、耐久性に疑問があったこと、ハウジングも適当で、折角のホットエンド直上のエクストルーダが、これでは様々な樹脂を的確に押し出すには役不足だと思いました。
そこでRRCJM2016までに、
・樹脂パーツはグレーのABSで全部作り直し、Infillはlinear 60%。
・エクストルーダーにはBondtechのドライブギアセットを実装する
こととしました。
設計したBondtechエクストルーダー版のXキャリッジは次のような構造になっています。基本的にはPrusa i3 MK2のデザインを踏襲し、エクストルーダー部のみ大幅に変更しています。右の写真はこのデザインを3Dプリントしたもの。
ちなみに、急いで作る必要があったのでTrinoとRep2X、Nt100をフル稼働させました。ちなみに、ラボにMacは一台しかありませんが、どれも独立プリント可能なので全く問題なかったです。
RRCJM2016での組立風景
準備不足がたたって、残念ながらミーティング時間内で完成はできませんでした。樹脂パーツも追加工が必要なことがわかっても会場に持ち込んだ工具で対応できなかったため、とりあえずオリジナルの樹脂パーツを使ってでもシェイプのみ仕上げた写真がこれです。
RRCJMが終わってから時間を見つけながら、弊社ラボで一応完成させました。
ファームウェア
Prusa i3 MK2はMarlinファームウェアをベースにしているものの、独自にカスタマイズしており、以下のような手順を踏んでArduino IDE1.6.9でのコンパイル・書込みすることが必要でした。
Prusaはコンパイル済みのファームウェア(hexファイル)とそれを書き込むツールを独自に用意してくれていますので、いわばMakerbotのファームウェアのようにバージョンが上がったらユーザーはそのツールで本体にアップロードするだけなのですが、オープンソースを堪能するにはソースを手元に置いて、面白い機能はどのように実現しているのかを調べたり、設定で気になるところは直したりしたいので、あえてソースコンパイルを選択しています。
今回は、特にエクストルーダーを変更したので単位長あたりのステップパラメータを変えておく必要がありました(その程度ならM92で後から変更できますが…)。
ソースコンパイルの手順
・Arduino/Contents/Java/libraries/LiquidCrystalをLiquidCrystal_ORGにリネーム
・ここから最新のファームウェアのソースをダウンロードする
・Firmware/variantsフォルダー内の”1_75mm_MK2-RAMBo13a-E3Dv6full.h”というファイルをFirmwareフォルダーにコピーし、コピーしたファイルの名前を”Configuration_prusa.h”に変更する。
・ファームウェアホルダーのトップにあるArduinoAddons/Arduino_1.6.x/libraries内のものをArduino/Contents/Java/libraries/にコピー
・Arduino IDEを立ち上げて、Firmware/Firmware.inoを開く
・Arduino IDEのファイル-設定の中の追加ボードマネージャーのURLというところに、
https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
を追加し、OKした後、ツールのボード選択でボードマネージャーを呼び出し、一番下に現れるRepRap Arduino Mega BOard (RAMBo)をクリックしてインストールを押す。
・ツールのボード選択で一番下に現れたRAMBoを選択
・ソースファイルをカスタマイズ。機種に依存するようなパラメータは主にConfiguration_prusa.hに入っています。Configuration.hとかConfiguration_adv.hの中を探しても必要なパラメータがみつからないことがあります。
・コンパイル&書込み (missing boat loader stk500boot_v2_Mega2560.hexエラーが出ますが書込は問題なくできます)。
ちなみにコンパイルはうまくいったのに出来上がったhexファイルがおかしなものになっているときは、LCDが機能しなくなったりしますので、ドライバーとhexファームをダウンロードして、ドライバー内にあるhexライターでhexファームを読み込んで上書きすると元に戻ります。
オートレベリング
MK2でP.I.N.D.A.センサによる非接触オートレベリングができるようになりました。P.I.N.D.A.センサとノズルの高さの差は0.8mm〜1mmにします。センサが反応する前にベッドをノズルが抑えてしまうとキャリブレーションできなくなるからです。
まずはテストプリント
0.2mm、ABSでの試し打ち。まだマシン本体やスライスソフトの条件設定などに改善の余地はありますが、バタバタと仕上げた割には初回からうまくいったかと思います。