オープンソースで3Dプリンタが作れる!
RepRap(レップラップ)という3Dプリンタのオープンソースのプロジェクトが世界で進行中です。Linuxのような手法で開発されたデータやプログラムが無償で公開されていて、それらは一定の条件で誰でも使用できます。
そしてRepRapの3Dプリンタは、RepRapの部品を自らプリントして複製できることが大きな特徴です。
RepRap公式:
http://reprap.org/wiki/RepRap
(図は完成予想図です。RepRapのatom(RC) のgithubより)
現在ではRepRapによって派生した様々な亜型の3Dプリンタが有志によって作られており、完成品やキットも発売されています。アメリカでは300ドルのキットが発売されていたり、日本でも2013年に12万円台でキットが発売され、有料のワークショップも行われているようです。
小規模な商業ベースの3Dプリンタなら、完成品でおよそ20万円から入手が可能です。それらはおそらくサポートもしっかりしているので、購入すればすぐに使い始められるのだと思います。
しかし、本来、RepRapは資料や先行して製作している人がシェアしている情報を元に部品をひとつずつ集めていく必要があります。キットを購入しない限りマニュアルなどないので、試行錯誤を乗り越えての完成は喜びも大きいことだろうと期待が膨らみます。
今回は、RepRapのatom(RC)版を作製します。
RepRap atom(RC) のデータ置き場:
https://github.com/hironaokato/atom
このレビューは、完成期限を2014年4月20日に設定させていただいています。
公開時点では、未解決な部分を含め、2014年3月6日現在の経過を記述しています。作業の進捗に応じて完成に至るまで(完成後も)追記していく予定です。
#PREMIUM REVIEW #プレミアムレビュー
Intel Galileoを組み込んで高性能な3Dプリンタをめざす
RepRapでは、多くの形式で制御にArduino(アルドゥイーノ)を使用しています。
そこで、今回はArduinoの代わりにGalileoを組み込むことにしました。
Galileoは、Quark X1000 を搭載しているのでArduinoを使用するより高機能、高速化ができると期待しました。
そして、非キットで作製することでコストを抑えるという目論見です。
Galileoではポート数が足りない
問題点と事情:
GalileoをRepRapで使用するために解決すべき問題は、ポート数と互換性です。
RepRap atom(RC)では、何種類かのArduinoのうち多くのI/Oピンを備えるArduinoMEGA が採用されています。
Galileoは、Arduino用のシールド(CPU基板に接続して使用する用途別の機能を持った基板)が使用できることになっていますが、I/OピンはArduinoUNOの配置と同一となっているのでこのままではRepRapで使用するにはI/Oピンが足りません。
今回必要な入出力は、ステッピングモーター4(または5)個、サーミスタ2個、マイクロスイッチ3個、ヒーター用PWM2本です。(図はTI社のサイトにありましたが、ほぼこのような構成になります。)
検討:
そこで、必要数のモータやセンサの制御を行うには、①何らかの方法でポートを増量する、または②モータやセンサとの通信方式を改めてポートを節約する、などの方法が考えられます。
そのための仕組みを実装したとしても、Quark X1000 は余裕を持ってArduinoMEGAを凌駕できると見込みました。
また、Galileoは、Arduino用のIDE(プログラム開発用の統合環境)が使えることになっていますが、ライブラリの構成などはオリジナルと異なっており、内部的な挙動に至っては全く別物になっていることがうかがえます。なので、Galileoの真価を発揮させるためには互換性のみに頼りきった手法ではうまくいかないのではないかということもわかってきました。
解決方針:
今回はモータやセンサとの通信方式をSPIとして、使用ピンの数を減らすとともに、できればArduino互換機能の関与を少なくし、そのためのオーバヘッドを減らす方針とします。
また、二次的な策として、GPIOを拡張するシールドを使用してArduinoMEGA相当のI/Oピン数を確保して、RepRapのオリジナルに近い形で動作させることも検討します。この場合は、ハード、ソフトともに煩雑になることが予想され、十分なパフォーマンスが得られないかもしれません。
なお、Arduinoとの互換機能を全く使用しない形での製作も可能かと思いますが、これについては別稿に譲ります。
BOMの作成からはじめる
部品点数が多いので、手配先や予算を管理するためにBOM(Bill of Material = 部品表)が必要です。オープンソースとはいえ、すぐに使えそうな決定的なBOMを見つけることは出来ませんでした。基本設計は同じでも、製作者がそれぞれの工夫を入れて作っているようで、整合性を取りつつ自分なりの揃え方で部品を準備する必要がありました。
予算は、Galileo用に機能を変更したとしても市販キットの半額~7割程度(6~8万円程度)に抑えたいと考えました。
部品は、個人の試作ではどうしても単価が高くなったり、予備やテスト用に数量に余裕を見て発注するので、費用は膨れがちです。それでも試算では目標金額近い額にはに収まりそうです。
ひとつひとつ部品の手配をする
基本的に市販部材で構成することができますが、唯一、3Dプリンタで印刷して作る部品(印刷部品)だけは、すでに3Dプリンタを所有している人(または業者)にお願いすることになります。
今回は、ネットで縁あった愛知県の方にお願いすることができ、部品の印刷だけでなく、これまで(これからも?)何かと相談に乗っていただいています。
ネジ類は、地元の老夫婦の営む金物屋さんにホームセンター以上の在庫取り揃えがあり、一式不足なくそろえていただいた上、金属加工についてアドバイスいただきました。
3Dプリンタ固有のモータやヘッド部(少し特殊な汎用品)は海外手配が必要でした。
ベアリングやリニアシャフトは汎用品なので、ネットで入手可能です。
その他、手持ちの部品や秋葉原の店頭で調達した部品を使用します。
なお、念のため、ArduinoUNO(互換品)やArduinoMEGAとArduinoMEGA~RepRap用のインターフェース基板も準備しています。
Galileoのセットアップ
単体では基本的に何もしなくてもArduinoと同様に使用を開始することができます。
ただ、次の2点を行いました。
1.基板の4隅に脚としてスペーサを取り付ける
基板裏にPCIeのコネクタがあるので、直に置くと不安定だしコネクタを傷めるかもしれないのと、ハンダ面が机面に接するのは事故の元だからです。初期ロットでは付属品にスペーサーがあったようですが、入手した製品では省かれていました。
2.Linuxのイメージを書き込んだmicroSDを装着する
こうすることで、ロードしたArduinoのプログラムはmicroSD内に残り、電源をOFFしても再起動時に再びロードする必要がなくなります。(microSDがない場合は、ロードしたプログラムは電源OFFとともに消去されます。)
また、SSHが使えるようになるので、LAN経由で他のPCからアクセスができるようになります。そして、Linuxのライブラリが使用できるようになるので、Arduinoのプロブラムを経由するよりもより Quark X1000 に近いところで様々な操作ができるようになるはずです(この点は重要なポイントになるはずですが、まだ試していません)。
Galileoを試す
手始めに、シールド化したブレッドボードを作製し、簡単なプログラムを試しました。
ブレッドボードとは、ハンダ付けなしに部品を抜き差しして、いろいろな回路を試すことのできる基板です。
「Lチカ」(LEDチカチカ=初めてのハードウエアや言語環境を体験する際によく行われる)
「SPI通信でステッピングモータを動作させる」を行いました。
サンプルの回路やプログラムは、Intel社のドキュメントの中にもあるし、この程度にシンプルなものであれば、Arduino用に公開されているものが問題なく動作します。
回路図を簡単に描く
Fritzingという作図アプリを使用しています。
ブレッドボードで試した回路を実体配線図的に残しておきたい場合に便利です。
配線の変更や部品の移動が簡単に行なえます。
アプリ内で部品の設定を行っておくと、通常の回路図や基板のパターン図に変換できます。
GalileoがFritzingのライブラリになかったので、Intel社の資料のPDFから編集して作製してArduinoとほぼ同じPin名と番号を設定して使用しています。
fritzing webサイト:
部品が続々と届く
手配した部材が順次手元に届いてきます。
・印刷部品(細かいパーツまで、70点以上あります)
・ネジ類
・モータ、ヒーター、フレーム部品
・ベアリング、リニアシャフト
ここまでのまとめ
・Galileoで、サンプルプログラム程度のものは動いた
・GalileoにSSHで接続できた(ルーターが不調なせいか、なぜか、IPV6接続)
・RepRapの部品手配を終え、大半入荷した
・オリジナルRepRapの解析(仕掛り) ←イマココ
・SPIのディジーチェーンの実装(仕掛り)
これからの作業
・フレーム部の組み立て
・電装部、回転搬送部(モータ、エクストルーダ(ヘッド))の取り付け組み立て
・プログラムの調整(RepRapのオリジナルからの改変、部分的に新規)
・全体組み立て、結線
・試運転~本稼働
・3Dデータの準備(サンプルデータはネット上に豊富です)
・オリジナルの造形物をたのしむ。
・mini-PCIeポートにWi-Fiカードを挿して無線LAN-3Dプリンタにする(未定)。
・ディスプレイとボタンを増設して(または外部ブラウザからコントロールできるようにして)スタンドアロンで使えるようにする(もっと未定)。
などを引き続き進めます。
リンさん
2014/03/07
凄いですねこんな風にできるなんて・・・。
ちばとどさんを尊敬しました。
まだ途中ですが早くもCoolです!
ちばとどさん
2014/03/07
レビューは、読まないで見るだけで伝わるのを書きたかったんですが、昨日、一応の締め切りだったので文字が多くなってしまいました。
タコシーさん
2014/03/07
すばらしい......zigsowには能力ある人多いですね
驚いたなぁ.....今更ですが ああ私は見てるだけ~.....
ちばとどさん
2014/03/07
ネコの爪も時々切らないと、じゃれたときに引っかかりますからね。(違
進捗具合、つまずき方などご一緒に楽しんでいただけたらと思います。
jxtaharaさん
2014/04/20