3Dプリンター(10)2015年12月22日

Skeleton3D

少し前に見つけたのですが、最近になって思い出してパーツを検討してみました。作製者と同じサイズというわけにはいきませんが、モノタロウや近所のホームセンターで販売している定尺物と言われる285mm長の両切りボルトを使用して作製が可能なことを確認しました。両切りボルトとプラパーツをナットで固定してゆく設計です。市販パーツの組み合わせやパーツの入手性で寸法を自由にできるところが自作の良いところです。ベッドはだいたい150mm x 150mm x 150mmといったところで印刷可能領域はもう少し少なくなります。プリンター全体で30cm四方あれば設置できる大きさです。
140 x 140mmのヒートベッドはあるようですが高いです。150 x 150mmサイズのヒートベッドはありませんのでとりあえずなしということで作製してみることにしました。この部分は後からでもメタルクラッド抵抗を使ったヒーティングでも考えようと思います。ヒートベッドは電気を食いますので電源容量を考慮しなければいけませんので後回しにします。

  • Thingiverseに必要なパーツリストやstlファイルがあります。

私にとってSkeleton3Dの最大の特徴は印刷プレートが上下移動しかしないタイプの3Dプリンターであるということです。かと言ってkosselのようなデルタ型は背が高く大げさな気がしていました。Prusa i3で気になっていたY軸方向(前後)の動きによる振動はこれで解消できそうです。欠点がないわけではないでしょうが動かしてみないとわかりません。ステッピングモーターは40mm長の4Kg・cmトルクのものを要求しています。その他に特殊な部材は使用していませんので作ってみたいと思います。フレームの骨組みに使用しているロッドですが、8mm両切りボルトは285mmの定尺物、リニアロッドは250mmの切断済みのものを使用します。Z軸用のロッドはプリンターの高さになりますので285mmではちょっと背が高くなりますので両切りボルトは285mmの定尺物を210mmにカットし、リニアロッドは200mmのものを使用しました。これで高さは約300mmになりました。
制御系はRAMPS互換でATmega2560が乗ったMKS Gen v1.2シングルコントロールボードを予定しています。シングルボードの制御基板はMKS baseやGT2560などほかにもありますが値段でMKS Gen v1.2にしました。シングルボードコントローラーでRAMPS互換であれば1枚のボードですっきりとまとめられます。(亀の子にならない)ステッピングモータードライバーやLCDコントロールボードはRAMPS1.4と同じものが使用できます。ファームウエアも同様にMarlinFirmeareが使用できます。Arduino MEGA 2560 R3 + RAMPS1.4の組み合わせより若干コスト高になり、基板サイズが143 X 84mmと若干大きく(Arduino MEGA 2560 R3は101 x 53mm)なります。skeleton3Dのサイズでも十分に取り付けが可能で、冷却ファンを使いたくないのでステッピングモータードライバーは発熱の少ないDRV8825を使用します。電源は移動、可搬性を重視してxbox用の350W ACアダプターを使用します。

3Dプリンター(9)2015年11月27日

Z軸の自動調整機能

各軸の位置調整はエンドストップスイッチの取り付け位置で行います。X、Y軸の位置調整はホットエンドがベッド内に収まるようにエンドストップスイッチの取り付け位置を決定しますが、Z軸の調整はホットエンドとベッド間のギャップ調整を行います。基本的にはX、Y軸と同じなのですがこれが結構面倒です。ベッドの取り付けネジ4本(水平調整)とエンドストップスイッチの取り付け位置(ギャップ調整)の2調整を同時に行います。ネットで検索しているうちにMarlinFirmeareの機能にAuto Bed Levelingというのがあることがわかりました。実際に使っている方もいらしてYouTubeに動作している動画を見つけました。こういう機能が欲しかったというべき機能です。それに動きがロボット的なのも良いです。
ベッドが水平でなくとも自動的にZ軸を調整してくれる素晴らしい機能です。ホットエンドのギャップはZ-Probe(Z軸のエンドストップスイッチ)のZ方向のオフセットで決まりますので最初の設定が肝心です。Z軸自動調整機能(Auto Bed Leveling)の実装にはマイクロサーボ1個とZエンドストップスイッチの取り付け位置変更を行います。3Dプリントした取り付けパーツで実現できます。

  • Z-Probe取り付けパーツを作成します。Xキャリアやホットエンドに合わせて選択するかデザインしてください。

  • YouTubeの動画がわかりやすいです。
    Part 1(組み立て)
    Part 2(設定)
    Part 3(調整)
    MarlinFirmeareのConfigurations設定を修正します。
    測定位置、X、Y、Z方向のホットエンドとのオフセット値、動作速度、マイクロサーボの動作角度を設定します。
  • オフセット値は試行錯誤で微調整します。
    一度オフセット値を設定してしまえば、ホットエンド周りを変更する時まで再調整の必要はないと思います。
自作の3Dプリンターはまだまだ手作業や微調整を行いながら印刷しなければなりません。それも面白いのですが印刷までの時間短縮と精度アップになるZ軸自動調整機能(Auto Bed Leveling)はおすすめできるのではないでしょうか。

Z軸自動調整機能(Auto Bed Leveling)を実装しようとしていますが、MarlinFirmeareの設定がうまくできません。G28コマンドでサーボが動作するとMarlinFirmeareがハングアップしてしまいます。サーボを使用せずにG28、G29コマンドを動かすとうまく動きます。サーボを使用しない誘導近接スイッチを使用した例もあります。スマートなのですがロボット的でないところがちょっとねと思っていたのですが、e-bayでLJ12A3-4-Z/BXが290円だったため、背に腹には替えられずクリックしてしまいました。でも安かったな日本では安価なものが売られていないですね。
誘導近接スイッチにはNPNタイプのLJ12A3-4-Z/BX(青色)とPNPタイプのLJ12A3-4-Z/BY(黄色)があり、接続が少し違います。また、電源に6V~36Vが必要です。RAMPS1.4コントロールボードのエンドスイッチ入力は5Vロジックです。誘導近接スイッチの出力を5Vにレベル変換する必要もありますが、抵抗分圧で簡単にすませることができます。 抵抗分圧では供給電圧によって出力電圧が変動しますので電源が安定していない場合は注意が必要です。抵抗が短絡した場合12VがArduinoに入力されてしまいます。パーツ箱の中にあったSharp PC900Vフォトカプラでアイソレートしてあげました。回路はいたって簡単です。

3Dプリンター(8)2015年11月19日

3Dプリント・サーバー

ArduinoやRaspberry Piをいじってきましたが、3Dプリンターでそれらを全て使用することになりました。なんか嬉しくなります。

以前なら購入していたRaspberry Pi B+のケースを作りました。オープンなデザインがいっぱいあります。ケースの肉厚が薄いので印刷時の設定で100% infillで印刷しなければいけなかったのですが70% infillで印刷してしまいました。ちょっとスカスカして弱い感じがします。今度時間のあるときにでも印刷し直そうかと考えています。

ベースOSにRaspbianをインストールし、octoprintをインストールして3Dプリンターのプリントサーバーに仕上げました。

Raspberry Piのネットワークは無線LANで設定したので電源さえあればどこでも動作できるので機動性が増しました。消費電流は0.5A程度ですからモバイルバッテリーでも動作できるのですが印刷時間を考えるとバッテリーが持つかどうか難しいところです。なによりoctoprintはタブレットでも操作できるのでなかなか重宝しています。操作できる機能はもprintrunより優れていると感じています。(個人の感想です)

3Dプリンター用に300WATX電源を使用していますが、PC用の電源からはいろいろな電圧が出力されています。もちろんRaspberry Piが使用する5Vも出力されています。赤色の線は5Vですが、ATX電源の電源スイッチを切ると出力されません。3Dプリンターの電源スイッチを切るとRaspberry Piも電源が切れてしまいます。これではちょっと不便です。しかし、ATX電源には5VSB(スタンバイ)という出力があり、電源スイッチの状態に関係なく常に5V 2Aが出力されています。これを利用すればRaspberry Pi用の電源を別に用意する必要がなくなり、不用意に電源を切ってしまうこともありません。マザーボードに接続する20ピンまたは24ピンのATXコネクター配線の中に紫色の線を探してください。この線と黒色の線(グランド)間には電源スイッチに関係なく常に5Vが出力されています。そこにUSB A-typeコネクターを取り付け、適当な大きさのケースを作成すればRaspberry Piが利用できるUSB電源が完成です。Raspberry Piを接続する前にテスターで電圧、極性をチェックしてください。過電圧や逆極性で接続するとRaspberry Piを壊しますので注意してください。

3Dプリンター(7)2015年11月13日

3Dプリンターで印刷

3Dプリンターが完成したらいよいよ印刷です。プリンターという名称が付いているので印刷と言っています。日本語では造形/造型という言葉があるためそちらがよく使用されていますが3Dプリンターで印刷したからといって目的のオブジェクトが完成するわけではないのであえて印刷と言っています。鋳型から取り出した状態と言ったらよいでしょうか。バリ取りや仕上げ(修正)、塗装といった工程を経てオブジェクトは完成します。3Dプリンターで印刷するまでの工程は大きく分けて3つのステップが必要です。
PCでオブジェクトの作成
目的のオブジェクトは3D CADソフトを使用して作成するか、インターネット上で公開されているSTL形式のデータをダウンロードします。3D CADソフトは高価で操作が難しいものが多く初心者には手が出ません。その中でも比較的操作法が簡単なソフトを選択しています。もちろんフリーソフトです。私はAutoCADの123D Designぐらいしか使用できません。

印刷形式(Gコード)に変換する
slic3rを使用します。作成されるGコードは3Dプリンターの制御情報を含んでいます。自分の3Dプリンターの設定条件を理解していないといけません。印刷がうまくいかない時はこの条件を変更します。対象のオブジェクトやフィラメント、室温によっても条件は変わってきます。Arduinoには基本パラメーターしか設定しませんのであとの細かな設定はここで行います。作成されたオブジェクトに対しても3D表示で簡単な操作が行えます。設定する項目が多く、英語なので以下のサイトも参考にしください。


3Dプリンターで印刷する
3Dプリンターに変換されたGコードを送るソフトが必要です。PC用のスタンドアローンソフト(printrun)やWEBアプリケーションとして動作するソフト(octoprint)があります。Raspberry Piにoctoprintをインストールし、3DプリンターをRaspberry Piに接続します。これでPCの横に3Dプリンターを置かなくてもすみます。またWEBブラウザさえあればタブレットでもよいので何かあった時に離れたプリンターのそばで操作ができ便利です。
3Dプリンターでは送られてきたGコードを解釈してホットエンド、ヒートベッドの温度管理とヘッド、ベッドの移動、フィラメントの送出を行います。

3Dプリンター(6)2015年11月09日

コントロールボードとモータードライバー

3Dプリンターの制御系をHackします。このブログでもいろいろ作成しているArduinoが制御マイコンになります。デジタルポートとアナログポートを使用します。

Arduinoとコントロールボード
RapRep 3Dプリンターのコントロールボードのセットです。内容はArduino mega2560 R3互換ボード、RAMPS1.4コントロールボード、A4988ステッピングモータードライバーがセットになっています。特にセットで購入する必要はありませんが、今回はセットのほうが割安になっていました。
Arduino Mega2560 R3にはファームウエアに当たるスケッチを書き込みます。スケッチはMarlinをダウンロードし、自分の構成にパラメーターを合わせて修正します。Arduino IDEからArduino Mega2560 R3に書き込み完了です。

RAMPS1.4コントロールボードの各パーツとの結線図と回路図です。D8、D9、D10と電源入力端子はターミナルブロックでそれ以外の端子は2.54mmピッチです。たいがいのステッピングモーターについているケーブルはJSTコネクターがついています。ピッチは2.54mmなのですが2個分のZ軸端子間が狭くQIコネクターに替えないと2個刺さりません。

モータードライバー
ステッピングモーターはドライバーIC Pololu社のA4988 または Ti社のDRV8825Vを使用して駆動します。モータードライバーはサブ基盤になっていてA4988とDRV8825Vは同じピン配列になっていますので差し替えや混在が可能です。混在させるときはステップモードと制御電流の設定が異なりますので注意してください。モータードライバーはステッピングモーター1個につき一つ使用しますがZ軸は2個を並列に接続しますので合計4個必要になります。ステッピングモーターの駆動は定格電流の8割程度を目安に設定していますが、A4988は結構発熱します。発熱が気になるようであればDRV8825Vを使用してください。少しは発熱が少ないようです。
  • A4988使用時の計算式
      I_TripMax = Vref / (8 x Rs)
       I_TripMax : 制御電流
       Vref : VR-GND間の電圧
       Rs : シャント抵抗値
  • DRV8825V使用時の計算式
      Ifs = Vref / (5 x Rs)
       Ifs : 制御電流
       Vref : VR-GND間の電圧
       Rs : シャント抵抗値
今回購入したGeeetechのセットに入っていたA4988ドライバーボードはシャント抵抗がR200 = 0.20Ωでしたので計算式により、
  1.5A x 80% = Vref / (8 x 0.2Ω)  で Vref = 1.92V
に設定しました。互換A4988ドライバーボードはシャント抵抗値が異なることがあります。前に購入したAsShopで扱っているA4988ドライバーボードはR100 = 0.10Ωでした。ネットで解説されているI = Vref * 2.5 という計算式はPololu社のリファレンスボードの場合でシャント抵抗がR050 = 0.05Ω時の計算式です。ステッピングモータの制御電流値の設定はドライバーICとシャント抵抗値を確認し、発熱対策を考慮した設定にする必要があります。必要なトルクが得られているようなら制御電流を必要以上に上げないほうが良いでしょう。ドライバーICには過熱防止回路が内蔵されていますので印刷途中で過熱防止回路が働いてステッピングモーターが停止するといったトラブルもあります。必要な制御電流を得るためにドライバーボードの発熱がすごいようならファン冷却を行ってください。40mm小型ファンでも十分冷却できます。ファンの音はうるさいですが印刷の出来上がりにも影響しますので付けておいたほうが無難かもしれません。

ステッピングモーター
RepRap 3DプリンターはNEMA17というバイポーラステッピングモーターを使用します。NEMA17とはシャフト径が5mmでシャフト長24mm、取り付けネジが3mmで穴間隔が31mm、深さが4.5mmという規格です。モーター長は発生させるトルクによって異なります。モーター長40mmで2相 ステップ角: 1.8 ° 定格電流: 1.5A Holding torque: 500mN.m、Detent torque: 15mN.mのモーターを使用しています。RepRapは定格電流1.3Aのモーターを推奨しています。
e-bayなどで販売時に表記されているトルクの単位はいろいろありわかりにくいです。1N.m(ニュートン.メートル)は1000mN.m、100N.cm、0.001kN.mとも表記できます。また0.102kgf.m、10.197kgf.cm、10197.162gf.cmとも表記されます。変換計算をしてくれるページがありますので参照してください。
ドライバーボード同様にステッピングモーターも多少発熱します。しかし、熱くて触れないほどというのは定格電流値を超えている可能性があります。モーターの寿命にも影響しますので定格電流値以内で使用してください。

LCD表示ユニット
表示用の20文字4行のキャラクターまたは、128x64ドットグラフィックスLCDユニットです。表示される情報はどちらでも同じでXYZ軸の位置、温度(設定値/実測値)、SDカード使用量、経過時間です。RAMPS1.4に接続アダプターを取り付けてケーブルを接続します。MarlinFirmeareでLCDの使用を設定します。参考サイトです。
このユニットには操作用のロータリーエンコーダーとSDカードソケットが実装されています。SDカードに印刷データを転送してオフライン印刷が可能になります。

温度計測センサー
RepRapでは一般的に安価なNTCサーミスター素子を使用します。詳細はこちらのページで解説されています。だいたいホットエンドやヒーテッドベッドに付属してきますが、改めて購入するのであればPTFE耐熱ケーブル付きをおすすめします。細めの2心PTFE耐熱ケーブルがなかなか見つかりません。MarlinFirmeareにはたくさんのセンサーが予め記述されていますので購入したものを選択してください。RAMPS1.4コントロールボードの温度センサー端子に接続します。極性はありません。

エンドスイッチ
XYZ軸のゼロ点検出用のセンサーです。マイクロスイッチか、ホール素子を使用した位置検出センサーです。RAMPS1.4コントロールボードのエンドスイッチ端子に接続します。MIN、MAX合計で6個接続できますがMINのみ(3個のセンサー)で十分でしょう。MAXはMarlinFirmeareで最大移動距離が設定できますので代用が可能です。

3Dプリンター(5)2015年11月06日

3Dプリンターの改造

より綺麗な仕上がりを期待して改造を施しています。ものによっては効果が確認できないものもあります。(気休め) お金をかけずに3Dプリントしたもので改善できるのであればと思います。

Y軸ベルトテンションの調整
Prusa i3の基本形ではX、Y軸のベルトテンションのアジャスターはついていません。プリンター使用中に緩むことも少ないのでアジャスターがなくても不便を感じませんが、ベルト取り付け時に適切なテンションで取り付けることが難しいいのは確かです。

X軸ベルトテンションの調整
X軸のベルトテンションアジャスターはアイドラーエンドパーツの交換で行います。X軸、Y軸方向のバックラッシュの主な原因はベルトの緩みによるものです。こまめな調整でバックラッシュを低減できます。

Z軸のバックラッシュ対策
X、Y軸はベルト駆動でZ軸は両切りボルトによるリードスクリュー駆動です。精密加工されたリードスクリューであればバックラッシュなど起こらないのですが、両切り(寸切)のM5ボルトで簡易的に作っているためボルトとナット1個では完全に噛み合っていません。そこでバックラッシュを低減するためにナット2個とスプリングを使用したアンチバックラッシュを作成して取り付けました。バックラッシュが起こっていると高さ方向の出来上がりに影響します。結構大きな効果が期待できます。

キャリアプレートの剛性と耐熱
キャリアプレートの素材にはアクリル、アルミ、MDFなどが使用されます。最初はアクリル素材のキャリアプレートを使用しましたが、熱により変形してしまいました。キャリアプレートが変形するとホットエンドのギャップ調整がうまくいきません。そこでアルミ素材のキャリアプレートに変更しました。2台目は5.5mm厚のMDF版を使用しました。Y軸移動時の振動でバックラッシュを起こす可能性はありますが、ヒートベッドとの間隔を広めした熱対策をしました。このあたりは動かしてみて様子を見たいと思います。

3Dプリンター(4)2015年10月25日

フィラメント

熱溶解積層法の3Dプリンターで印刷できる素材はフィラメントと呼ばれる太さ1.75mmまたは、3mmの棒状(ヒモ状)に加工したものを使用します。大別して植物由来のPLAと石油系のABSです。基本形はここまでで色は様々、クリアもありますが熱で溶かして印刷するので色がにごり綺麗なクリアには仕上がりません。また木、金属などを混ぜたフィラメントも出ています。値段も様々で1Kgあたり2000円から数万円もするフィラメントまであります。今使用している国内で最安値と思われるPLAフィラメントです。色は結構たくさんあります。フィラメントが原因のノズル詰まりはありません。
ABSフィラメントも使用しています。PLA素材からABS素材にフィラメント交換をする場合はホットエンドの温度を230度まで上げてそのまま交換すればよいのですが、反対にABS素材からPLA素材にフィラメントを交換する場合は注意が必要です。ホットエンドの温度は230度のままフィラメントを交換し、ホットエンドからABS素材が十分排出されてからホットエンドの温度を180度に下げます。ABS素材は180度では固まってしまいノズル詰まりを起こしてしまいます。
最初に使用するのはPLAフィラメントをおすすめします。ホットエンドの温度が低く、ヒートベッドなしても印刷できます。ABS素材をうまく印刷するにはヒートベッドでベッドの温度を100度以上に保つ必要があります。そうしないとベッドから印刷物が剥がれたり、反ったりしてしまいます。印刷物の冷却も行いません。印刷後はベッドの温度が室温になるまで待ちます。
ABS素材をきれいに印刷するための改造
ヒートベッドを設置します。RAMPS1.4コントロールボードを使用しているのであればヒートベッド用に12V端子が用意されています。MK2B(赤)でもMK3(黒)、どちらもデュアル電源仕様です。違いはヒーターのみか、3mm厚のアルミ板付きかです。ヒートベッドは12/24Vで使用できますので24Vのほうが温めのための時間が短縮できます。24Vでも4~5Aと大電流が流れますので配線は自動車の大型フォグランプ用の配線(SQ2.0あたり)を使用してください。
また、ヒートベッドの温度管理が重要ですのでヒートベッド周りを改造します。ヒートベッドの温度も100度と高いため温めに時間がかかります。ABS素材の場合、ヒートベッドの温度変化を嫌いますので保温材を底面に敷く、プリンター自体をケースで覆うなどの対策を行います。ケースと言ってもダンボール等で作成する簡易なもので十分でしょう。ヒーター底面に入れる保温材ですが、温度が100度以上ということは建材用の保温材ではちょっと不安です。そこで自動車やバイクのマフラー補修用の消音、断熱材を使用します。オートバックスで2000円位します(モノタロウならもう少し安いかな)がこれですと800度の熱にも耐えられるので安心して使用できます。これは効果的です。ヒートベッドの温度が安定してABS素材の出来上がりが綺麗になります。(特に底面の仕上がりが良いです)

3Dプリンター(3)2015年10月12日

エクストルーダーとホットエンド

エクストルーダーとホットエンドは3Dプリンターの中心になる部分です。3Dプリントの原料となるフィラメントをホットエンドに送り出す役割がエクストルーダーです。そのフィラメントをヒーターで溶かしてノズルから押し出すのがホットエンドです。押し出す圧力(量)はエクストルーダーから送られるフィラメントの圧力になります。RapRep Prusa i3オリジナルでは3Dプリントしたパーツで作成したエクストルーダーとJ-Headと呼ばれるホットエンドの組み合わせです。市販されている3DプリンターキットではMK8エクストルーダーがよく使用されています。
両者に違いはフィラメントの送りギアーとステッピングモーターとの間に変速ギアーを入れているかどうかです。MK8エクストルーダーはステッピングモーターのシャフトにフィラメントの送りギアーが取り付けられているダイレクトドライブ方式です。ステッピングモーターのトルクが要求される反面、構造がシンプルで作成が容易で小型化が可能です。MK8エクストルーダーはホットエンドと一緒にX軸のキャリアにのせることが可能です。
また、デルタ型の3Dプリンターではキャリアが宙吊り状態なので重量的にホットエンドとエクストルーダーを分離してキャリアにはホットエンドのみをのせ、フレーム上にエクストルーダーを固定する方法が取られます。Bowdenエクストルーダーです。エクストルーダーとホットエンド間はPTFEテフロンチューブで結合し、その中をフィラメントが通ります。エクストルーダーの押し出す力をしっかりとホットエンドに伝えるためにPTFEテフロンチューブ両端をしっかりと固定する必要があります。M4ナットで固定してもよいのですがハーフユニオンを使用すると脱着が可能になります。このBowdenエクストルーダーとホットエンドの組み合わせはPrusa i3でもキャリアにのせる質量が少なくなるので有効な方法です。
3Dプリントで作成したBowdenエクストルーダー

  • AirTripper's Extruder




  • 小型エクストルーダー Mini NEMA17 Extruder




  • 変わったエクストルーダー Saintflint Extruder





今回新しく購入したE3D V6タイプのホットエンドです。ホットエンドは3個のパーツとヒーター、冷却用のヒートシンクとファン、温度計測用のサーミスターで構成されています。エクストルーダーとホットエンドの一体型MK8エクストルーダーでも構成部品は同じです。
M6 x 26mmまたは30mm、内径2mmのバレルとヒートブロック、ノズルが構成部品です。ヒートブロックにノズル、ヒーターとサーミスターを取り付け、M6バレルにヒートブロックとヒートシンクを取り付けます。ヒートシンクの形状でいろいろなタイプがあります。ヒートブロックはABSフィラメント使用で230度以上に加熱します。その熱をバレルの上まで伝えてしまうとノズル詰まりを起こしてしまいますのでバレル上部の冷却は重要です。E3D V6タイプのホットエンドはバレルにヒートシンクが装着され、ファンで強制冷却すれば効率的にホットエンド上部が冷却できます。E3D V6タイプのホットエンドはバレルにヒートシンクが装着され、ファンで強制冷却すれば効率的にホットエンド上部が冷却できます。ファンは30mm角のファン程度十分に冷却できます。この辺りのパーツは国内でも入手できますが高いです。e-bayで中国から直接購入するほうが安価に入手できます。参考にリンクを張ってあります。
ホットエンドで冷却不足を起こすとホットエンド上部やエクストルーダーでフィラメントが柔らかくなり、フィラメント送りに障害が出てしまいます。

  • MK8の詳細な組み立て方です。
  • Bowden方式でよく使用するE3D V6ホットエンドの詳細な解説はGE techのサイトを参照してください。

  • Slim Bowden E3D v5 mount for Prusa i3
    マウントしているのはE3D V6 ホットエンドですがサイズは同じです。PLA樹脂よりも熱に強いABS樹脂で作成しました。30mm角DC12Vファン使用。

3Dプリンター(2)2015年10月12日

3Dプリンター制作を目指して(2)

「3Dプリントされた取り付け小物は注意が必要なようです。」自分で3Dプリントしてわかったことですが、フィラメントと呼ばれる太さ1.75mmの樹脂を熱で溶かし、0.4mm程度のノズルから細く樹脂を絞り出し、それを幾層にも積み上げてプリントします。プラスチックの塊ではないので作成物は強度に問題が出るようです。最初のプリントは3Dプリンターの取り付け小物類のスペアをプリントしました。2台目を作成するつもりでパーツを作成しました。
ついでに5.5mm厚のMDF板でフレームも作成したので本当に2台目になってしまいました。プラスチック以外のパーツも揃えました。
殆どのパーツは日本国内の通販やホームセンターで購入が可能です。中には時間がかかっても海外から購入したほうがお得なパーツもあります。RepRap Prusa i3のパーツ類を整理しておきましょう。

  • フレーム
      MDF板、アクリル板、アルミ板などを使用して自分で作成し、Y軸のボルトに取り付けます。それだけでは強度に問題があるので前後、あるいはどちらかから支えをする必要があります。このフレームにZ軸モーターと駆動系を取り付け、その上にX軸キャリアー部分がのります。
  • X軸可動部分
      ホットエンドと呼ばれる印刷ノズル部分を左右に移動させるステッピングモーターとリニアロッドで構成されます。モーターエンドとアイドラーエンドと呼ばれる3Dプリントしたプラスッチックパーツをリニアロッドで結合し、その間をホットエンドの取り付けられているキャリアが移動します。キャリアの移動はベルトとプーリーで行います。
  • Y軸可動部分
      印刷物を置くベッドを前後に移動させるステッピングモーターとリニアロッドで構成されます。ベッドの移動はベルトとプーリーで行います。Y軸のフレームは6本のM8寸切りボルトと3Dプリントしたコーナーパーツで作成されています。その他にモーター支持パーツとアイドラー、タイミングベルトホルダーを3Dプリントします。
  • Z軸可動部分
      X軸キャリアーを上下に移動させるステッピングモーターとリニアロッドで構成されます。フレームに取り付けます。X軸キャリアーの移動はステッピングモーターに直結させたM5の寸切りボルトを使用します。M5ボルトを使用した場合、ネジピッチは0.8mmになります。
  • 3Dプリントパーツの作成
      MakerBot ThingiverseYouMagine: shareなどのサイトでPrusa i3パーツファイルを入手して印刷してください。オリジナルデザインとは異なるものもありますので自由に選択してください。フレーム取り付け用のプラスチックパーツもフレーム素材に合わせて選択し、印刷してください。
2台目を作成するのであれば必要になります。
  • リニアロッドと寸切りボルトの入手
    XYZ軸共通に使用する太さ8mmのリニアロッドはYSK社製のYSAA形スタンダードリニアシャフトを使用しました。素材はSUJ2(高炭素クロム軸受鋼)で高周波焼入処理を施したシャフト長400mmの定尺物です。モノタロウから購入しました。
    M8寸切りボルトはホームセンターで扱っているステンレス鋼のシャフト長285mm定尺物を4本、M5寸切りボルトは同じく定尺物を2本使用しました。Y軸フレームの前後方向に使用する450mmの寸切りボルトはちょうどよい定尺物がありませんので1mものを切断して使用します。ホームセンターなら切ってくれるところもあります。M5の寸切りボルトは扱っているところが少ないです。M6寸切りボルトならどこでも扱っていますのでM6に変更することも可能です。M6寸切りボルトを使用した場合、ネジピッチは1mmになります。
  • リニアベアリング、ベルトとプーリーの入手
      リニアベアリングはリニアロッドに合わせて内径8mmのものを使用します。ベアリングのみのLM8UUを7個と取り付けブッシュ付きのSC8UU(取り付け穴4個)または、SCV8UU(取り付け穴2個)をベッド用に3個使用します。3Dプリントしたベアリングブッシュを使用する場合はLM8UUを3個使用します。
    ベルトはベルト幅が6mmのGT2 タイミングベルトで長さ2m程度でX、Y軸の駆動に使用します。プーリーはGT2 20歯 幅6mm 内径5mmのものを使用します。アイドラーにはフランジ付きのミニチュアベアリングMF105ZZを2個一組で合計4個使用します。調整機能付きのアイドラーに変更した場合は指定するベアリングに変更します。
    Z軸のM5寸切りボルトとステッピングモーターを直結するカップラーが2個必要です。3Dプリントしてもよいですし、フレキシブルシャフトカプラ 5 x 5mmを使用しても構いません。
    この辺りはe-bayなどで中国のバイヤーから購入すると安価(国内の約半値、送料込で)に入手できます。
  • ステッピングモーターと制御マイコンの入手
      ステッピングモーターはNEMA17を使用します。シャフトは外径5mm x シャフト長24mmのものを選択してください。XY軸に1個づつ、Z軸に2個使用します。エクストルーダーに使用しているステッピングモーターも同じものです。
    制御マイコンは3Dプリンター制作を目指して(1)で紹介しているArduino Mega2560を使用します。中国製のCH340Gを使用している互換ボードを選択する場合はPCに専用ドライバーのインストールが必要です。ステッピングモータードライバーICはA4988のほうが安くあがります。
  • ホットエンドとエクストルーダーの入手
      3Dプリンターの中心になる部分です。オリジナルのPrusa i3では3Dプリントしたパーツで作成したエクストルーダーとホットエンドの組み合わせですが、市販品のキットではMK8エクストルーダーがよく使用されています。1台目の3DプリンターはMK8エクストルーダーを使用しましたが、今は3DプリントしたダイレクトエクストルーダーとメタルJ-Headホットエンドの組み合わせに交換しています。
    ホットエンドのヒーター電圧は注意してください。12Vと24V用があり選択には自分の使用する電源に依存するためです。PC用のATX電源やほとんどの専用電源は12Vですので12Vヒーターを選択します。
  • ヒーテッドベッドと電源
      ABSフィラメントで印刷したいとか、印刷物が剥がれやすいなどを防止するためにヒーテッドベッドを使用しますのでPLAフィラメントでは必ずしも必要なものではありません。MK3ヒーテッドベッドなら12V、24Vどちらの電圧でも使用できます。ABS用に100度まで加熱するには12Vでは時間がかかりますので24Vでの使用をおすすめします。24Vでも大きな電流を流しますので太い配線を使用してください。
    電源は市販されている12V電源または、PC用の350W程度のATX電源を使用します。ATX電源の場合は12Vのみ使用し、5Vは使用しません。MK3ヒーテッドベッドへの電源供給までするのであれば大きめの電源を選択してください。

3Dプリンター(1)2015年07月27日

3Dプリンター制作を目指して(1)

Arduino UNO(互換ボード)とGRBL、CNC制御ボードの組み合わせでは動作しています。しかし、3Dプリンターを視野に入れるとこの組み合わせではExtruder用のドライバーやヒーター関連の回路が足りません。RepRap 3DPrinterで使用している制御ボードを物色していてe-Bayで出物を見つけました。
Arduino MEGA2560互換(SainSmart Mega2560 R3 Board)



3D Printer Controller Board For RAMPS 1.4



RAMPS1.4 LCD 12864 LCD Control Panel




5x DRV8825 stepper motor driver



上記8点で5,159円(送料込み)という破格な値段でした。この組み合わせは日本国内では15,000円程度するので約1/3の値段で入手できそうです。
プラットフォームにはRepRap Prusa i3のDiy Kitを見つけました。e-bayでもなかなかフレームとロッド、ベアリングと取り付け小物のキットは見つかりませんでした。Sintron Techの3D Printer Full Acrylic Frame & Mechanical Kit for Reprap Prusa i3 DIYが手頃な値段で見つかりました。ネットで検索すると関連記事がたくさん出てきます。取り付け小物で特に注意が必要なようです。取り付け小物はほとんどが3Dプリントされたもので強度に問題が出るようです。最初のプリントは小物類のスペアをプリントしたほうがよさそうです。
[Sintron] 3D Printer Full Acrylic Frame & Mechanical Kit for Reprap Prusa i3 DIY

その他にステッピングモーターとMK8 Extruder Hotend Nozzle 0.4mm、エンドスイッチ、Heat Bedなど早速、注文していますが、e-Bayですから入荷するまでに時間がかかります。順当に揃えば9月までには使えるかもしれません。
テーブルトップ 3DプリンターなどRepRapプラットフォームで小型のRepRap Skeleton3Dを見つけました。

RAMPS 1.4対応のファームウエアは結構たくさんあります。リストはRepRapのホームページにあります。中でもMarlinはよく使用されています。また、スターンドアローンでの動作ができるようにLCDパネルとSDカードを追加することができます。