SPC部室の3Dプリンタ(Reprap Prusa i3)の使い方

この記事は、SPC同好会 Advent Calendar 2017 - Adventarの5日目の記事です。
adventar.org

こんにちは,(もう闇に消えた)SPC同好会に所属しているぐりです。
旧ブログ「ぐりごろぶろぐ」から,新ブログ「The Long Tweet」に移ってから,初めての記事になります。
旧ブログhttps://blog.gurigoro.net:blog.gurigoro.netへリンクを貼っている方は,http://tlt.gurigoro.net:tlt.gurigoro.netに書き換えといてください。
このブログでは,「140字には収まらないツイート」ぐらいのイメージでバンバン投稿していこうと思います。
ですが,この記事は7000字ごえの予定です…

はじめに

この記事は、完全にSPC部内向けのドキュメントですが、一般的なRepRap3Dプリンタの使い方として多少は参考になりそうなので公開します。

3Dプリンタの紹介

f:id:gurigoroblog:20171204170754j:plain
これがSPC部室に置いてある私物の3Dプリンタです。機種はRepRapのPrusa i3です。AliExpressで購入したものです。ワークサイズは200mm x 200mm x 170mmぐらいです。ヒーテッドベッドを搭載しているので、ABSにも対応します。また、改造してZ軸方向のオートベッドレベリングを追加してあります。

素材

f:id:gurigoroblog:20171204170839j:plain
素材はABSとPLAを用意してあります。ABSは白と黒、PLAは透明(ほぼ不透明の白だけど、白ではない)と黄色が今のところあります。それぞれの素材の特徴を簡単にまとめておきます。素材の選択はMake: Japan | ABSかPLAか? 正しいフィラメントの選び方が参考になります。

メリット デメリット
ABS 硬いのでヤスリがけなどの加工がしやすい。 冷えた時に収縮するので、板状のものは反りやすい。
PLA 収縮しにくいので、大きなものに有利。 柔らかくて加工しにくい。高温に弱い。

PC側の準備

PC側で必要となるソフトは,Repetier-Hostです。Linuxユーザは適当なパッケージマネージャからインストールするといいでしょう。Macユーザは,ずっと更新されていないMac版が使い物にならないので諦めてください。ここでは,Windowsでのインストール方法を説明していきます。

Repetier-Hostのインストール(Windows)

Repetier-HostのダウンロードページDownload Software - Repetier Softwareから,ダウンロードします。寄付を求められますが,心が広くてお財布に余裕がある人以外は"Download without donation"をクリックして次に進みましょう。
Windows版,Linux版,Mac版それぞれのダウンロードページに飛ぶので,自分の環境に合わせてダウンロードします。画像から分かるようにMac版だけクソ古いですので諦めてください。
f:id:gurigoroblog:20171204172302p:plain

ダウンロードしたインストーラを起動してインストールを進めます。
Windows版では一緒にRepetier-Serverをインストールするオプションがありますが,解除しておきます。
f:id:gurigoroblog:20171204172911p:plain

インストールが完了して,起動させると次のようなウィンドウが出ます。
f:id:gurigoroblog:20171204173050p:plain

APIキーの入手

部室3Dプリンタは,すぐ横に設置してあるRaspberry Piに接続されていて,Repetier-ServerによってLAN内からアクセスできるようになっています。部内でRepetier-Serverのアカウントを持つ人に,自分用のアカウントを作成してもらうように頼んでください。また,APIキーも発行してもらってください。現在のところ,ぐり(twitter: zgtk-guri)か,yuki@へっぽこ技術者(twitter: heppoko_yuki)がアカウントを作れます。
(アカウント作成者へ: User can configure the serverのチェックは外してください)
同時に,Slackの #3d-printer チャンネルにも入ってください。

アカウントを入手したら,Repetier-Server(部室LAN内専用)にアクセスして,自分のアカウントでログインしてください。
f:id:gurigoroblog:20171204174345p:plain

これでRepetier-Serverに接続できました。
f:id:gurigoroblog:20171204185141p:plain

Repetier-HostでPrinterの設定をする

ここからは,Linux版とWindows版で作業は同じです。ここでは,Windowsでのスクリーンショットでいきます。
Repetier-Hostのウィンドウ右上にある"Printer Settings"をクリックします。
f:id:gurigoroblog:20171205024007p:plain
"Connection"タブにて

  • "Connector"を"Repetier-Server"に
  • "IP Address"を"192.168.1.93"に
    • IPアドレスは変更される時があるので,繋がらないときは問い合わせてください。
  • "Port"は"3344"のまま
  • "Port requires secure transfer"はチェックを入れない
  • "API Key"に,前節で入手したAPIキーを入力
  • "Connect to Continue"をクリック
  • "Printer"で"SPC-Prusa i3"を選択
  • "Copy Server Config Settings"をクリックして,プリンタの設定をサーバから取得する

以上の設定をすると上の画像のようになります。

スライサCureEngineの設定

スライサとは,3Dのオブジェクトを水平方向にスライスして,実際に3Dプリンタのヘッドが動く軌跡を生成するソフトウェアのことです。
Repetier-Hostには,スライサとして,CureEngineとSlic3rが付属しています。ここではCureEngineを使うことにします。
部室3Dプリンタに合わせて,ある程度調整してあるファイルを用意しました。
Dropbox - Prusa_i3.zipからダウンロードして解凍しておいてください。
これをCureEngineにインポートしていきます。

Repetier-Hostの"Slicer"タブを開き,SlicerでCureEngineを選択します。
その下のConfigurationをクリックして,設定画面を開きます。
f:id:gurigoroblog:20171205091154p:plain

ウィンドウ左側にCureEngine Settingsが表示されます。
Importをクリックして,先程ダウンロードして解凍した中にあるCure.rcpを開いてください。
f:id:gurigoroblog:20171205091743p:plain

次に,CureEngine Settingsのすぐ下の"Filament"タブを開いてください。
同様にImportをクリックして,ABS.rcfとPLA.rcfを開きます。

最後に右上の"Close"をクリックします。

これでRepetier-HostでのPrinterの設定は終了になります。

3Dプリントをする

大まかな流れは,

  • PCのRepetier-Host上でオブジェクトをスライスし,G-Codeを生成
  • Repetier-ServerにG-Codeをアップロード
  • 3Dプリンタの準備をして,プリントする。

という感じです。

注意事項

一応,共有の3Dプリンタですので,多少の注意事項を書いておきます

  • 使用前後に,Slackの #3d-printer チャンネルで一言言ってください。
    • 今空いてるかどうかの目安になります。できれば所要時間も書いてくれると嬉しいかも
  • フィラメント交換時,ノズル詰まり等のトラブルの時も #3d-printer で教えてください。
  • 使用後は,少なくともホットエンドのヒーターは止めること
    • 高めの温度設定のまま放置すると,フィラメントがノズル内で焦げて詰まります
    • 途中でプリントを中断しない限り,終了した後は自動的にヒーターは止まります。
  • プリントが終わったら,できるだけ速やかに造形物を取り外して持ち帰ること
    • プリント直後は熱いので無理しないこと

使用料と寄付のお願い

現在,部室に置いてある3Dプリンタ本体ならびにメンテナンス工具,フィラメントや定着剤などの消耗品は,基本的に私の私物です。
メンテナンスを行うためにも,プリントの際に利用料を取ろうと考えています。予定では,使用したフィラメントについて,10円/g程度を考えています。
3Dプリンタ専用の貯金箱を用意するつもりですが,とりあえず食品等々の貯金箱に入れた上で #3d-printer で投入額を教えてください。

また,フィラメントを購入して寄付してくれたら,しばらくは利用料を取らない方針で運用しよう思います。#3d-printerで相談してください。
その場合でも,できれば毎回数十円程度でいいので寄付をお願いしたいです。

とりあえず集まったらRepetier-Serverの有料版とか,ケープの無香料版とか,追加のベッド用銅板を買うことを考えています。

Repetier-HostでGコードの生成

Gコードは,NCフライスやNC旋盤などの数値制御の工作機械を制御するためのプログラムのようなものです。
3Dプリンタでは,それを応用したものを利用しています。普通は使いませんが,リファレンスはG-code - RepRapWikiにあります。

オブジェクトの追加と配置

まず,Repetier-Hostの"Object Placement"タブを開きます。
+を◯で囲ったボタンをクリックすると,オブジェクトを追加できます。複数追加することも可能です。
オブジェクトは基本的にSTLファイルになります。

3Dモデルの設計には他に3D CADが必要です。自分のPCを使うなら,Fusion 360あたりが無料なので,それをオススメします。
校内の各演習室にはSolidWorksがインストールされているので,それを使うのもいいでしょう。
また,Thingiverse - Digital Designs for Physical Objectsなど,無料で3Dデザインを配布しているサイトもあります。

例として,Bolt Nut Washer M16 by Dezign-it - Thingiverseを使用させていただきます。

一通り追加すると以下の画像のようになります。
f:id:gurigoroblog:20171205033431p:plain
この状態で,

  • 左ドラッグで視点の回転移動
  • 中ドラッグで視点の平行移動
  • ホイールで拡大縮小
  • 右ドラッグでオブジェクトの移動

ができます。

3Dプリンタでは,空中に浮いているオブジェクトはそのままではプリントできません。
そのような配置をすると,必要に応じて後の段階のスライスの際にサポートが追加されます。
サポートがあると,除去が大変であったり,除去した後の表面に凹凸が残って汚くなることがあるので,できるだけサポートが生成されない向きにします。
どうしてもサポートができる形状であれば,できるだけサポートが少ない,または,サポートによる品質低下の影響が少ない向きにするべきです。

今回の例では,初期の配置でボルトが横倒しになっており,ネジ部が浮いています。
f:id:gurigoroblog:20171205035903p:plain
回転させたいオブジェクトを選択して,回転ボタン(下画像赤丸)をクリックし,X,Y,Zの適切な軸で適切の回転をします。
f:id:gurigoroblog:20171205040238p:plain

また,オブジェクト同士が重なっていると反転表示になって警告されます。
f:id:gurigoroblog:20171205092001p:plain

スライス

オブジェクトの配置が終わったら,"Slicer"タブを開きます。
"Slicer"で"CureEngine"を選択して,以下のように設定します。

  • "Print Configuration"を"Prusai3"に
  • "Adhesion Type"を"None"に
  • "Quality"を"0.2mm"あるいは"0.3mm"に
    • "0.2mm"の方がより細かくできますが,時間が長くなります。
  • "Support Type"はサポートがいらない場合は"None"を,それ以外の場合は"Touching Bed"か"Everywhere"を選択
  • "Speed"(速度)と"Infill Density"(インフィルの充填率)は好みに応じて設定します。
    • オススメは,"Speed"を最も"Slow"側に,"Infill Density"を40%です。
  • "Enable Cooling"にチェックを入れる
  • "Filament Settings"の"Extruder"は,"ABS"か"PLA"どちらか実際に使う素材を選択します。

f:id:gurigoroblog:20171205093515p:plain

設定が終わったら,一番上の"Slice with CureEngine"をクリックします。
スライスが実行され,終了すると自動的に"Print Preview"タブに切り替わります。
f:id:gurigoroblog:20171205094721p:plain

"Printing Statistics"の"Estimated Printing Time"が予想所要時間です。
"Visualization"の項目をいじると,1層ごとにプリントの様子を見るなどできます。

Gコードのアップロード

スライサから出力されたGコードをRepetier-Serverにアップロードします。
部室のLANに接続した上で,Repetier-Hostの左上にある"Connect"をクリックします。
エラーの表示がなく,ボタンが"Disconnect"に変わったら接続完了です。
3Dプリンタが接続されると,"Print Preview"に"Save to Server"ボタンが出てきます。
それをクリックして,適当な名前をつけて保存してください。

3Dプリンタ側の準備

3Dプリンタ側では,アルミベッドの上にケープを撒布した銅板をセットします。
また,フィラメントを交換するときは,この段階で交換します。

ベッドの準備

銅板にケープを均等に吹き付けます。あまり多く吹き付けすぎると,プリント終了後に造形物が取り外しにくくなるので注意してください。
また,今までのプリントした樹脂等がまだついている場合,造形物に跡が残ることがあります。きになる場合は,カッターで削り落としてください。
f:id:gurigoroblog:20171205100143j:plain

銅板をプリンタのアルミベッドの上にセットし,黒のクリップで固定します。
f:id:gurigoroblog:20171205100259j:plain

プリントを開始する。

ブラウザでRepetier-Server(部室LAN内専用)を開き,ログインします。

TODO: 書く

造形物の取り外し

プリントが終わったら,後の利用者のためにできるだけ早く造形物を取り外します。
銅板のベッドを取り外し,そこから造形物を外します。
3Dプリンタ本体のメニューから,"Prepare"→"Move Axis"と選択すると移動できるので,Y=200mmに移動すると取り外しやすくなります。
プリント直後のベッドはABSのときは特に熱いので,注意してください。
造形物が上手く剥がせないときは,カッターを造形物と銅板の間に差し込んで剥がします。

最後に

クッソ長い記事をここまで真面目に読んだ人は少ないと思います。なぜなら,ここを書いている時点で7000字を超えているからです。
下手なレポートよりも長いと思います。マニュアルを書くのは本当に大変です。

スライサの設定等はめんどくさいので設定ファイルを配布してしまいましたが,時間があって興味ある人は,色々いじってみてください。
そして,より最適な設定を見つけたら教えてください。

もう少ししたら,3DプリンタのSlack Botとか,Webカメラで造形中の画像を見れるようにしたりとかやってみようと思います。
ぜひ,部室の3Dプリンタをつかって色々作ってみてください。そして,いろんな色のフィラメントを寄付してください。

明日は6日目,Hatanaka1101が何かを書くようです。楽しみにしています。