twitter icon   twitter icon   rss icon

Linux.com Japan

Home Linux Jp チュートリアル Linux 上でオープンソースの 3D プリンターを構築、調整する

Linux 上でオープンソースの 3D プリンターを構築、調整する

原文はこちらです。 訳注: 原文は海外版ですが、RepRap プリンターは、日本でも情報入手 (Fabcross など)、購入できますし、ユーザー団体もあります。
 
ormerod angle
自分が設計したものが目の前で実物になるさまを見るというのは、素晴らしいことです。オープン ソース ハードウェアと LinuX 上で動く OSS を利用して、自分で作成したプリンターで作るのであれば、なおさらです。
 
3D プリンターは、プラスチックを層状に積みかさねることにより、ものをプリントします。3D プリントには、さまざまな技術的方法があります。現時点で最も普及している方法は、プラスチックのリールを用いるものです。リールを熱源に通し、プラスチックを温め、必要な量を適切な位置に落とします。
 
素材をゆっくり追加しながら作る方法は、素材の塊から不要な部分を削る方法では作成できない形を作成するのに適しています。3D プリンターを使うことで、安価に物を作成できます。台所の空きスペースにぴったり入るようなプラスチック板を作るのに、50 セントしかかかりません。
 
さらに、3D プリンターを使って設計、製作するために訓練、経験が不要な点も重要です。また、金属や木材を加工する道具で怪我をする心配もありません。
 
RepRapPro Ormerod は、3D プリンターの RepRapPro シリーズに最近加わったプリンターで、オープン ハードウェアを制御するために OSS を利用しています。Ormerod に搭載されている制御基板は Duet です。Duet 基板は、Arduino Due と同じチップを用いています。さらに、ステッパー モーター制御、ホットベッド制御、イーサネットとマイクロ SD カード スロットを備えています。Duet の一端には、外部機器と接続可能なようにヘッダーが出ています。Ormerod の 12V 電源は、コンピューターから供給します。
 
設計から、3D プリンターが、物を作成 (プリント) する、物をかたどっていく、3D プリンター制御用のファイルを流し込むまでの全過程が、Linux 上のオープン ソース ソフトウェアを使って進めることができます。
 
Ormerod を組み立てるプラスチックも、すべて Ormerod プリンターで作成されました。ソース ファイルをダウンロードして、そのまま作成したり、修正を加えて自分のプリンターを改良したりできます。レーザー カットのアクリル部品用のソース ファイルもあり、修正を加えることができます。私もキットと手持ちの道具でプリンターを作成しました。
 

プリンターを組み立てる

自分自身で 3D プリンターを組み立てるメリットは、ハードウェアに親しくなれることです。たとえば、タイミング ベルトがよく外れるとしても、自分で元に戻すことができます。それも、最初から自分で組み立てたからです。改良もオプションの 1 つです。修理もですね。
 
Ormerod は、全部入りのキットとして販売されています。キットには、プリンターを組み立てるために必要なすべての部品が同梱されています。キットには、PLA プラスチック フィラメントも含まれているので、組み立て後、すぐにプリントできます。キットの組み立てに必要な道具があります。公式リストには、キット組み立てに必要な機械的、電気的な道具の一覧が載っています。以下に簡単に引用します。
 
reprap-parts-1of2
  • 圧着ツールまたは半田ごて (と半田)。ホットベッド用温度計をつなぐために使います。私は後者を使い、圧着ツールは使いませんでした。
  • 1.5 mm から 4 mm 径の 6 角レンチ: 良いレンチを用いるとボルトを固く締めることができます。
  • アクリルのベースに 12 mm の金属ロッドを打ち込むためのゴム製トンカチ。3D 造形された部品をきれいに仕上げるためのドリル ビット: いくつかの 3D 部品は、バリを取る作業が必要です。
  • ドライバー: キットに含まれるボルトの大半は、レンチを使って締めますが、ステッパー モーターからフィリップス ヘッド ネジを取り除くために、ドライバーが必要です。
  • 自在スパナ:組み立て中に、ナットが緩まないようにするために使います。大半のナットは、プラスチック部品のナット穴にぴったりはまるので、ボルトを締めるときにナット押さえは不要です。
  • はさみ
  • 公式リストにない道具: Dremel (訳注: ドレメル電動工具メーカー) か、他の電動回転工具。プラスチックを摩擦熱で溶けないように低回転で使う。
  • リストにあるが、多分使わない道具: 組み立て中に、デジタル マルチ メーター (訳注: いわゆる電圧、電流、抵抗を測れるテスター) は、使いませんでした。圧着ツールも、必要とするときに使いませんでした。他にリストにあるが、私が持っていないものは、ノギス (訳注: 懐かしいですね。今は使わないと思います) または、デジタル ノギスのような道具。
 
キットの完成に、1 週間かかりました。組み立てに丸 2 日、仕上げに数晩かけました。1 日目の作業は 2 人で行うと効率的です。なぜなら、手が 3、4 本必要な作業がありました。まず、組み立てマニュアルを読むと、うまく作業が進むでしょう。また、YouTube に 2 分間の手順ビデオがあります。
 
各部品は、再封入可能な袋に入って出荷されます。成形装置と熱源部品が専用の袋に入っているため、混乱することがありません。大半の袋には、小分けされた袋が入っていて、それらには、中身の説明と部品番号が記載されたラベルが貼ってあり、各工程で必要とする部品が分かるようになっています。例えば、M3 ナットの袋とそれに合うボルトの袋と言った具合です。プリンター制御用の Duet 基板は、クッション用袋に入って、電源用の箱に電源と一緒に入っています。Y 軸と Z 軸用の長方形の成形装置は、4 つあるステッパモータの脇にあります。
 
3D プリンターをうまく動かす大事な要素は、いかにプロセスを繰り返せるかです。プリンターがしっかりと固定されず、動くようだと、プラスチックが所定の位置に置かれません。アルミ製の成形装置が、Ormerod の Y 軸 (プリント台と並行方向) と Z 軸の精度を左右しています。2 つのアルミ製の長方形部品は、90 度の角度で接着していること、マシンの基本部分であること。フォーラムには、Ormerod を使用して作成した物の品質が説明されています。
 

組み立てを容易にするためのヒント

組み立てマニュアルには、各ステップで行うべきことがたくさんの絵を使って解説されています。各セクションの先頭には、そのセクションで使用する部品の詳細リストが掲載されています。組み立てマニュアルは、若干婉曲的に記載されているため、たとえば、「固くフィットします」、「多少力を入れてください」と記載されていたときは、それなりの力が必要です。
 
マニュアルに記載されていないヒントです。
 
-圧着ツールが有用と書かれていますが、温度センサーとホットベッドを接続するためにしか使用しません。その代わり、私は、オスメスのコネクタを持ったジャンパー線を使用しました。ジャンパー線を半分に切り、それぞれを温度センサーとリボン ケーブルに半田付けしました。つまり、直接に半田付けしていません。必要ならば、ホットベッドを取り除くこともできます。ジャンパー線は、布テープで支えています。
 
-金属ロッドをアクリルの板に差し込むときに、問題が起きました。マニュアルには、アクリルが壊れやすく(正しいのはここ)、ロッドをアクリル板の固い穴に差し込むように指示があります。ロッドを差し込んでいる間に、アクリルの穴から端へヒビが入りました。組み立て工程の最初にこのようなことが発生すると、気持ちが萎えてしまいます。このあと、後半の X 軸の組み立てまで、アクリル板を扱うことはありません。もし、板を壊して、使えないようだったら、板用のファイルもあるので、新しい板を作ることができます (訳注: どこかで別の 3D プリンターを見つけないといけません)。他の方法としてメチル エチル ケトン (日本語は、ここ、いわゆる溶剤です。日本では、プラリペアなどが良いかも) を使って、ヒビを修復してください。
 
-一番大事な助言として、6 角レンチは、柄が長いものが必要です。いくつかのボルトは、プラスチックの引っ込んだ穴に入れる必要があり、レンチの柄が長いものが有用です。ボルト締めに電動工具を使うと、時間が短縮されます。
 
-Z 軸のロッドに、潤滑剤を塗る必要があります。組み立てマニュアルには記載されていませんでしたが、潤滑剤なしでは、部品は動作しません。たぶん、常識なのでしょう。
 
-ロッドの一番上のナットを長めの真鍮製ナットに替えるべきです。真鍮はステンレスより柔らかいので、ナットが摩耗します。ナット交換は、ロッド交換が簡単で安いからです。
 

ソフトウェア スタック

3D プリントを始めると、ツールとファイル形式の多さに驚くことでしょう。低レベルのフォーマットとして、gcode ファイルがあります。これは、プリンターの制御基板が解釈、実行できる命令を記述したものです。たとえば、gcode コマンド ”G1 X60 Y0” は、プリント ヘッドを X 方向に 60、Y 方向に 0 移動させます。他にも別の移動コマンド、ホットベッド、プリンター ヘッドのような熱源の入り切り、プラスチックを適量、適切なスピードで出すように成形装置に指示するコマンドがあります。
 
高度なフォーマットの 1 つに、STL フォーマットがあります。これは、Thingiverse サイトなどで見かけるファイル形式です。他には、OpenSCAD ファイルがあります。次の文献で、これらのファイル形式とこれらを処理するプログラム、そして Ormerod が解釈できる gcode への変換方法について触れるつもりです。
 
Omerod のファームウェア更新は、Arduino IDE を利用して行います。IDE は、バージョン1.5.7 以降が必要です。それ以前では、Arduino Due をサポートしていません。Arduino IDE は、たいていの Linux ディストリビューションのパッケージに含まれていますが、古いバージョンしかありません。ここに、現時点での 32、64 ビット Linux 用にコンパイルしたパッケージがあります。Linux ARM 用はありません。ARM マシンから制御したいときは、まず、別のラップトップで Ormerod のファームウェアを更新する必要があります。
 
Pronterface ソフトウェアを使って、プリンターの制御ができます。Ormerod に USB 経由でプリント ファイルの転送、接続ができます。Git リポジトリからクローンすることで、最新の Pronterface を入手し、./ormerod.sh ファイルを実行します。pyserial と wxpython の Python 関係が必要ですが、Linux ディストリビューションのリポジトリにあると思います。
 
これが Pronterface のスクリーン ショットです。Pronterface の左下に、プリントヘッド (ツール) とホットベッドの温度が表示されています。Watch ボックスをチェックすると温度の時間経過がグラフ表示されます。両者の目標温度を設定したり、ヒーターを切ったりできます。Pronterface の左上にある円を使って、プリント ヘッドを移動できます。0.1 から 100 mm まであります。+Y/-Y は、ホットベッドを Y 軸モーター方向 (+) に、逆方向 (-1) に移動します。X のプラス方向は、Z 軸から離れる方向です。Z 軸の移動は、円の隣にあります。円の周りにある 3 つのホーム ボタンは、各軸のホーム位置を表します。軸のホームは、当初の位置へ移動します。たとえば、Y 軸のホームは、プラッターを端に移動します。プラッターが端にくるとマイクロ スイッチが入るので、プラッターは、Y 軸の反対の端へ移動するようになります。
 
インタフェースの真中には、現在ロードされている gcode のレイアウトが表示されています。イメージをクリックすると別ウインドウが表示され、シフト キーを押しながらマウス ホイールを押すと、レイヤーをスクロールできます。Pronterface の右側にはプリンターとの交信の様子が表示され、プリンターに送信したい gcode をテキスト ボックスに入力できます。標準的な gcode コマンドは、画面の中ほどにボタンで表示されています。G31 ボタンは、プリンターに装備されているセンサーについて問い合わせます。”GET POS” ボタンは、プリンター ヘッドの位置を問い合わせます。
pronterface-snap

最初のプリント

最初にプリントしたときに、いくつかわからないことがありました。プリント前に、フィラメントとノズルの距離はどのくらいが良いのか、プリンターが設定すべき位置はあるのでしょうか? 他にもありました。いずれにせよ、最初のプリントは、上出来とは言えません。すべての軸をホーム位置に設定します。そうすれば、プリンター ヘッドがコンピューターの指示どおりに動くことがわかります。しかし、プラスチックがプリンター ヘッドから出たときが、本当にプリンターとして動作したと言えるでしょう。
 
上の質問に答えると、フィラメントは、ホット エンドから 3 ~ 5 mm の距離に置きます。大半のプリントは、作成物の周囲の境界を含んでいます。フィラメントが最初、引っ込んでいたら、境界線の一部だけがプリントされてしまいます。大半の gcode ファイルは、開始時に各軸をホーム位置にします。そのため、プリント ヘッドは、どこにあってもかまいません。しかし、X 軸のホームに近い位置が便利だと感じました。gcode は、プリント用のホットベッドの位置決め、ホームへの移動後のプリント ヘッドの開始時への復帰を含んでいます。
 
gcode ファイルのいくつかは、SD カード イメージで配布され、それには、軸補正モデルと雪だるまを含んでいます。雪だるまは、プリント ノズルが適切な位置で、ヘッドが正しい角度にあることを確認するために有効です。プリントの最初のときに、何回か、プリント ヘッドが上がるとヘッドが速い動きをすることがあります。ホット エンドのヒートシンクが低い位置にあると、出来上がった雪だるまをプリント ベッドから落としてしまうことになります。雪だるまではなく、壊れたボールの塊を作ることになります。
 
X 軸キャリッジのランナー ベアリングを調整して、ホット エンドの角度を調整しました。これで、雪だるまが、ホットベッドから落ちません。ボルトを締めるとき、ドライバーを使って、ナットをナット穴に押し込むことで、この作業がうまくできます。ボルトの頭を動かし、トップからベアリングを中へ押し込むのは、さほど効果的ではありませんでした。X 軸の角度を調整する MR93ZZ ベアリングは、直径 9 mm です。そのため、外直径が少し大きいベアリングと置き換えるのが良いです。つまり、直径 10、11、12、13 mm のベアリングが良く、だいたい、$10 から $15 で入手できます。
 
Z 軸をホーム位置で移動することは、プリント ヘッドをプリント ベッドに近づけて、”Z=0” とプリンターに教えることです。ガラス表面に近づけることは、難しいと感じました。紙を使って、プリンター ヘッドが充分近づいたときに、紙を取り除く方法は、有効だと感じました。プリンター ヘッドが紙に接触したら ”Z=0.1” とするのです (紙の厚さは、大体 0.1 mm です)。
 

次のステップへ、改良を加える

オープンなプリンターの組み立ての魅力の 1 つに、自分の思い通りの改良を加えることがあります。圧着ツールを使用しなかったことのほかに、フィラメント スプールを取り除き、40 mm 径のホット エンド ファンを交換しました。
 
ホットエンドに付いていた 40 mm ファンを、Noctua から出ているもっと静かな 40 mm ファンに交換しました。もともとのファンは、風量 8.1 CFM (13.8 m3/h) ですが、交換した Noctua のファンは、4.8CFM (8.2m3/h) です。したがって、クール ダウンの時間が長くなることは、わかっていました。しかし、騒音は、夜と昼くらいに違いました。標準のファンの風量に近く、静かなファンを探しています。Noctua の 60 mm ファンが良い候補です。風量を同じにして排熱を良くすることは、より融点が高い ABS 樹脂を利用するときに重要な点になります。
 
フィラメント スプールは、もともと電子ボックスの脇にありました。これでは電子ボックスが見えないので、良くないと思いました。幸い、Thingiverse にはたくさんのフィラメント ホルダーのデザインがあったので、ホルダーの作成が最初の仕事になりました。
 

Pronerface をハックする

Ormerod は、X、Y、Z 軸のホーム位置設定用にフィード バック機構を持っています。Y 軸は、軸の端にマイクロ スイッチを持っています。X 軸と Z 軸は、赤外線センサーを共有しています。X 軸と Y 軸のホーム位置設定は、プリンター起動時に自動的に行われます。Z 軸のホーム位置設定用の赤外線センサーの出力値が揺れることを発見しました。室内の照明や、カーテンの開き具合などは、赤外線がどの程度センサーに検知されるかに影響します。そのため、Z 軸のホーム位置設定については、毎回、起動時に調整しています。
 
これをスムースに行うために、pronterface/.pronsolerc-ormerod ファイルを編集して、ボタンの設定を追加します。私は、Z 軸のホーム位置指定前にプリント ヘッドを X60、Y0 に移動するためのボタン 16 を設定しました。ボタン 17 (“ZH 0.1” とラベルされている) は、プリント ヘッドがガラスの上 0.1 mm にあることをプリンターに指示します。残りの作業は、G31 コマンドを投入して、プリント ヘッドがプリント ベッドの上、数 mm に到達したときのセンサー値をプリンターに指定します。後者のコマンドもボタンにしたかったのですが、そうすると、G31 コマンドを投入したときに、プリンターが現在値を検出して、読み出すべきセンサーを指定するためのコマンドをいくつか指定する必要がありました。
button 16 "ZH xy" G1 X60 Y0^M
button 17 "ZH 0.1" G92 Z0.1^M
 

Ormerod 2 における改良

Ormerod は、熱源付きプリント ベッドを持ち、PLA,ABS プラスチックを扱えます。ABS によるプリントは、より高い温度を必要とし、プリント ベッドにも高い温度が必要です。Ormerod に使われている部品 (3D プリンターで作られた) は、PLA 製です。そのため、ABS でプリントしたいときは、Ormerod のいくつかの部品を ABS 製に変更することが要求されています
 
Ormerod に ABS 製の部品を取り付けると、成形用のステッパー モーターの再調整が必要になります。新しい PLA 製部品は別の部品メーカーから供給されたもので、私には、部品交換のたびに再調整が必要なのか、違う部品メーカーだから再調整が必要なのかは、わかりません。
 
Ormerod に使える基本部品には、たくさんの改良がなされています。これは、コミュニティが改良、改善に積極的な良いシグナルです。ベッド サポートを始めとする合金製の交換部品、X 軸を始めとするアクリル製の交換部品があります。Z 軸のホーム位置設定用の赤外線センサーをホール効果形センサーに置き換える議論が進んでいます。また、ダブル へリックス Z 軸に置き換えるのも魅力的ですし、他にも改良があります。
 
3D プリンターを組み立て、調整するためのさまざまな改良、改善があります。何か問題があったときには、解決手段をフォーラムや IRC で相談すると、解が得られました。このシリーズの次の文献では、自分でモデル デザインする方法と、Reprap Ormerod でプリントするための準備について、記載したいと思います。
 
この文献を書いている間に Ormerod 2 がリリースされました。Ormerod 1 からのエンハンス項目には、Y 軸のベルト セットアップ方法の改善、ベッド レベルの調整方法の改善、そして Z 軸プローブのディファレンシャル化が含まれます。Z 軸プローブの改善は、Ormerod の電源を入れてから、実際にプリントできるまでの時間を短縮します。ディファレンシャル化により、周囲の明かりの影響が少なくなり、Ormerod 1 と比べて、センサーの値を使って、ホットベッド上 2.5 mm に設定することが可能になりました。同時に、Ormerod 1 用に、ディファレンシャル形赤外線センサーも出されています。
 
最後に、RepRapPro Ormerod を提供いただいた RS Components に謝意を表します。RepRapPro OrmrodOrmerod 2RS Components Australian website で、海外の方は RS Components’ main website で購入できます (訳注: 日本でもこちらなどから購入できます)。
Linux Foundationメンバーシップ

30人のカーネル開発者

人気コンテンツ

  1. Today's Linux 2018/04/16 2018年 4月 15日
  2. Today's Linux 2018/04/19 2018年 4月 18日
  3. Today's Linux 2018/04/17 2018年 4月 17日
  4. Today's Linux 2018/04/20 2018年 4月 19日
  5. Today's Linux 2018/04/23 2018年 4月 22日

Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!