3Dプリンター(19)2016年11月08日

レーザー加工機へ転用

レーザーカッター、レーザー加工機は3Dプリンターに比べてまだまだ高価な機器です。Instructableの記事でConvert a 3D PRINTER to LASER ENGRAVERを見つけました。RepRap Prusa i3 3Dプリンターをレーザー加工機に変えようという記事です。転用するための改造ポイントは3Dプリンターのホットエンドを取り外し、半導体レーザーモジュールに置き換えることで実現しています。RepRap Prusa i3のベッド(200mmX200mm)が加工できる最大サイズになりますのでレーザー加工機にしては小型になります。3Dプリンターとレーザー加工機共にXY軸は同じ動きをしますが、一般的なレーザー加工機ではZ軸(上下方向)はレーザーの焦点を調整後は動かすことができません。3Dプリンターで使用しているコントロールボードやステッピングモータ、モータードライバー、制御ソフトはそのままレーザー加工機で使用します。
今回は450nm 2000mW Blue 半導体レーザーモジュールを使用します。国内ではレーザーモジュールの単品販売は見つけられませんのでe-Bay(中国)から購入しました。2000mW程度であれば値段的にもお手頃です。また、電源は12V 2Aですから3Dプリンターで使用している電源で足りるでしょう。半導体レーザーは低出力ですが手軽に使用できる点が利点です。
3Dプリンターへの取付金具を3Dプリンターで作成します。レーザーモジュールの電源は12Vに接続し、TTL制御端子をコントロールボードの冷却ファン端子に接続した12VリレーでON/OFF制御をします。(今回の制御ボードではTTL端子をショートするとレーザーOFFでした) instructablesの記事では冷却ファン電源でレーザーモジュールの電源をON/OFFしていますが、購入したレーザーモジュールは電源ONから実際にレーザーが照射されるまでしばらく時間がかかります。これでは加工開始のタイミングが取れませんのでTTL制御端子を利用しました。

安全のために防護メガネも注文しました。

レーザー加工機と3Dプリンターでは加工データに違いがあります。レーザー加工機の加工データは加工テーブル(ベッド)とレーザーヘッドの移動速度設定とXY軸の移動データ、半導体レーザーのON/OFF制御データになります。
また、レーザー加工機では加工対象を切る、あるいは彫刻することが目的ですので3Dプリンター用のデザインツールでは用途が違います。そこでレーザー加工用のデータ作成にはInkscapeGコード作成プラグインRaster 2 Laser GCode generatorプラグインを使用することにしました。Inkscape はベクター画像を高品質で作成・編集できるオープンソースソフトウェアです。イメージの編集ツールはAdobeのツールでも構いませんが有料ソフトですので使っていません。最終的にGコードファイルが作成できるものであればよいのではないでしょうか
加工手順は

  1. Inkscape で作成したいデザインを編集。
  2. パス(アウトライン化)を作成。
    切断が目的ならオブジェクトのアウトライン化が必要ですが、彫刻ならイメージ情報をそのままGコードに変換します。
  3. Inkscapeのプラグインを呼び出してGコードファイルを作成。
    Gコード作成プラグインは切断用のGコードファイルを作成します。Raster 2 Laser GCode generatorは彫刻用のGコードファイルを作成します。
    ここまでがInkscape での作業です。

  4. 3Dプリンターの場合と同様に作成したGコードファイルをOctoPrintにアップロードしてPrintボタンを押す。
Gコード作成プラグインのページに詳細な手順が出ています。
Raster 2 Laser GCode generatorはこちらを参考にしてください。


7mmのMDF板に文字を彫刻してみました。
Raster 2 Laser GCode generatorの設定は
 ・解像度を5pixel/mm
 ・スピードを1000
 ・変換アルゴリズムはB/W fixed threshold
で設定しいます。写真でもわかる通り若干問題(横にはみ出している部分がある)があります。
ラスターイメージからの彫刻用Gコードを作成する別のソフトを探しています。 img2gcoというWEBベースのラスターイメージからGコードを作成するサイトを見つけました。こちらを試しています。

3Dプリンター(18)2016年04月23日

Tiny OLED full graphics controller

skeleton3D 3DプリンターのグラフィックスコントローラーはMKS Genコントローラーボードとセットで購入したLCD 12864 Smart Display Controllerを使用していたのですが、せっかく小型3Dプリンターに仕上げたのにPrusa i3などと同じLCDではバランスが悪いような気がしていました。
RepRap WiKiを検索していて見つけたDIY Tiny OLED I2C full graphics controllerのほうがよりすっきりするようでした。0.96インチのOLEDディスプレーとMicroSDを使用した超小型コントローラーです。コントロールできる機能や表示情報は今使用しているLCD 12864 Smart Display Controllerと同じですが、大きさは約1/4になります。 それに加えて操作用のロータリーエンコーダーにはSparkfunのRGBイルミネーションロータリーエンコーダーを使用しています。未使用品が部品箱の中にあったので3Dプリンターの状態を色で表示させています。
I2Cインターフェースの0.96インチOLEDはMarlinに定義されていませんのでWiKiスレッドで紹介されているパッチを参考にしてソースを修正します。それに加えてRGB LEDイルミネーション用のコードを多少追加しました。今のところエラー発生で赤、コントロールパネルで青です。印刷時に移動コマンドG0、G1、G2、G3コードを受信するとイルミネーションするようにMarlin Frameworkを修正してみました。
e-Bayを検索すれば同じようなコントローラーが2,000円ちょっとで中国から通販で購入できます。違いはOLEDがSPI接続であることと普通のロータリーエンコーダーだということくらいです。
MicroSDカードは3.3V動作ですので3.3Vレギュレーターとロジックレベル変換回路が必要です。WiKiスレッドではSD Card Moduleを使用しています。このモジュールを使用すれば5V電源で使用することができます。やはりe-Bayを検索するといろいろとヒットします。AU$1ですから100円しません。結局作成するのはロータリーエンコーダー周りと各モジュールを接続する基板ということになります。

コントローラーケースもThingiverseに登録されています。サイズは62x48x25mmと大変小型です。あとはskeleton3Dに取り付けるステーを作成して完成になります。


完成してskeleton3Dに取り付けました。LCD 12864 Smart Display Controllerを使用していた時の写真と比べると大変にすっきりとしました。

3Dプリンター(17)2016年04月17日

3Dプリントサーバー

3Dプリンター(8)で作成したOctoprintサーバーを多少改造しました。Raspberry Pi B+に2.2インチの液晶ディスプレーを追加し、OSに液晶ディスプレー用のRaspbianを採用し、Octoprintを新たに追加インストールしました。

  • Adafruit 2.2" PiTFT OSイメージを使用しますので2.2インチPiTFT用のカーネルになり、うかつにアップグレードできません。
    基本OSにRaspbian jessie 8.0
    Linux 4.1.14+になります。
  • 8GB SDカードにイメージを書き込む
    4GBでは入りきりません。
  • Raspbianの設定
    ネットワーク→WiFi設定、ホスト名の変更、固定IPアドレス
    ローカル設定→使用言語、タイムゾーン、キーボード
  • 追加ソフトウエア
    Octoprint

Robot(1)2016年02月17日

ロボットアーム

3Dプリンターでオートベッドレベリングに使用する予定だったマイクロサーボがMarlin Farmwereの設定ができず、結局使用されていませんでした。何かに利用できないかと探していたら3Dプリントしたパーツとマイクロサーボでロボットアームを作成するというのを見つけました。
3Dプリントしたパーツの他にマイクロサーボ5個、コントロールボードで作成できます。コントロールボードにはもちろんArduinoを使用します。ちょっと工夫が必要ですがWiFiモジュールを使用してWEBアプリにすればスマホからアームを操作するなんてできそうです。PCA9685を使用したこのボードを使用すれば16個までのマイクロサーボがI2C経由で制御できます。
リンクはe-Bayですが国内ではaitendoやスイッチサイエンスで同じモジュールの取り扱いがあります。このボードを使用してGPIOの数が限られているWiFiモジュールでもたくさんのマイクロサーボを制御できます。
ここまでお膳立てが揃っていればと早速製作しました。いまは基本機能のテストプログラムをArduino互換ボードで走らせていろいろとテストしています。

3Dプリンター(16)2016年02月07日

PTCヒーター

PTCヒーターでヒーテッドベッドを作成しました。取り付けはシリコングリースとカプトンテープのみで、断熱材で落ちないように支えています。110V100Wのヒーターはちょっとワット数が大きすぎたかなと思うほど強力です。過熱直後プレート上ではかなり温度ムラがあり、しばらく放置すると温度が均一になります。グラフを参照してください。期待通りPCBヒーターよりも過熱性能が良いのですが温度が上がりすぎているようです。
グラフは実際に印刷時30分間のグラフです。ホットエンドに比べてヒートベッドの温度変化が大きいことがわかります。AC100VのON/OFF制御はホットエンドと同様に行われているのですが、OFF状態になっても温度上昇がすぐには止まりません。温度センサーはPTCヒーターの横のアルミ板に貼り付けています。グラフでは現れていませんがベッド中央と周辺では温度に差があります。もっと面積のあるヒーターのほうが良いと思うのですが手頃な商品が見つかりませんでした。110V70WのPTCヒーターが販売されているのですが更に小さくなってしまいます。100mm角くらいで150℃程度の商品がないものですかね。skeleton3Dは最大印刷範囲が100mmX100mmですからこの程度でもよしとすることにしました。
ABSフィラメントで印刷テストを行いました。AC100Vを使用したヒートベッドは期待通り100℃まで短時間で加熱でき、印刷中も安定でした。温度変化が5℃ほどありますがさほど問題では無いようです。

3Dプリンター(15)2016年02月01日

skeleton3D

11月20日頃から注文していたパーツ類がやっと揃い、調整はあるものの完成させることができました。ACアダプターとフィラメント以外はすべてskeleton3Dフレーム内に収まっています。小型ですが使っているパーツは先に作っているPrusa i3と何ら変わりませんので重量は5.5Kgと結構あります。(モーターが1個少ないけど)
当初予定のホットエンドはE3D J-HEADを予定していたのですが、PEEK J-HEADのほうが小型なので変更しました。ホットエンド取り付け位置を25mm下げないとプレートに届きませんのでホットエンドサポートは再作成をしています。PEEK素材でも長時間加熱すると溶けてしまいますので25mm角のファンを取り付けました。その他にリニアロッドのストッパー、スイッチボックス、AC100V回路を入れるBOX等のパーツを作りました。ヒートベッドのPTCヒーターはちょっとワット数が大きすぎたかなと思うほど強力です。短時間で指定温度まであがりますが、過熱直後プレート上ではかなり温度ムラがありしばらく放置してやっとプレートの温度が均一になります。PLAなどは問題無いでしょうがABSは事前にベッドを過熱して温度が均一になってから印刷するほうが良さそうです。

試運転をはじめました。Prusa i3に比較して動作音はすごく静かです。モーターの送り量やホームポジション、Zプローブの位置などを調整しています。近接センサーの感知距離が2mmなのでホットエンドのギャップ調整は結構シビアです。
PLAフィラメントでのテストが良好なのでABSフィラメントに変えてテストしました。ヒートベッドは100℃まで短時間で過熱します。印刷時も安定していました。小さな印刷物ですがそりもなく印刷できました。

3Dプリンター(14)2016年01月22日

新素材

3Dプリンターにはいろいろな素材の部材が使用されています。熱溶解型3Dプリンターでは特に耐熱素材が多く登場します。ホットエンド周りは250℃程度、ヒートベッド周りでは150℃程度まで温度が上昇する可能性があります。使用される素材にもその使用条件をクリアする必要があります。
PTFE(ポリテトラフルオロエチレン、商品名テフロン)はフライパンのコート素材として有名ですね。3Dプリンターではボーデン方式のフィラメントチューブやホットエンド内に使用されています。また、耐熱電線の被膜素材にも使用されています。
カプトンテープ(カプトン®ポリイミドフィルム(Kapton® polyimide film)にシリコーン系粘着材を塗布した 絶縁性、耐熱性にすぐれたテープ)はサーミスタやヒーターの電線を絶縁するために使用します。ビニールテープでは危険そうな発熱部分の絶縁材として結構重宝しています。ビニールテープのような柔軟性がないのが欠点でしょう。
PEEK(芳香族ポリエーテルケトン)は耐熱特性と寸法安定性に優れている熱可塑性樹脂に属するポリマーの総称です。この素材をホットエンドの支持素材にした物が出ています。J-Head MK V はE3D のアルミヒートシンク部分をPEEK素材に変更することで更に小型化しています。しかし、コストがE3Dに比べて高いことが欠点です。写真はJ-Head MK Vの中国Cloneです。

skeleton3Dはとにかく小型に仕上げようとPEEK素材のJ-HEADを使用し、Z軸センサーの誘導近接スイッチも8mm外径のものにしたのでキャリア上はすっきりまとまりました。注文してあったPEEK J-HEADが到着したので早速ホットエンドとコールドエンドの温度を計ってみました。ホットエンドが230℃の時にコールドエンドの取り付け位置あたりで50℃前後でした。これならファンはいらないと思ったのですがGeetechのWiKiにはファンで冷却しなさいとありました。オリジナルではホットエンドとエクストルーダーが一体化したものを使用していますが、今回はボーデン方式でエクストルーダーはskeleton3Dのステーに取り付けます。

3Dプリンター(13)2016年01月16日

skeleton3D

skeleton3Dプリンターのその後です。まだ完成はしていません。X・Y軸の駆動ベルトとプーリー、リニアベアリングと言った駆動系のパーツとホットエンドが届いていません。日本国内調達ならこんなに待たされることはないのですが中国から調達すると当たり前ですが待たされます。今回は不着でキャンセルになってしまった関係で再注文をしなければならなくなり、特に遅れています。そんなに待たされても調達コストを考えるとやむを得ないことでしょう。
現時点で調達済みの部分は少しづつ組み付けています。今回の製作目標が小型で運搬しやすい3Dプリンターを目指していす。skeleton3Dを採用することでどちらの目標もクリアするのですが、制御系の配線をぐるぐる巻きにしているとトラブルのもとになります。ケーブルを余らないように調整して切断し、コネクターを取り付けながらの作業ですから時間がかかリます。MKS Gen v1.2シングルコントロールボードは思ったとおりにすっきり配線が行えます。「運搬しやすい」とは言っても分解・組み立てを想定しているわけではありませんのでこの程度の配線です。パーツや仕様に合わせてACインレット、スイッチボックスやLCDパネルのケースも作成しています。写真は、駆動系以外が組み上がったところです。Z軸用のパーツは揃っているので動作確認まで行いました。Marlin Firmeareはskeleton3Dで配布されているものは少し古く、最終的には最新の安定版を入れる予定です。

3Dプリンター(12)2016年01月09日

ヒートベッド用ヒーター

skeleton3Dのベッド用のヒーターを検討しています。小型で効率良く温めることができる素材です。RepRap WiKiなどにもいろいろな方式が紹介されていますが、現在はPCBヒーターが主流です。しかし、電気を食うので大電流を流せる電源が必要になりとても高価です。そこでベッドヒーターはAC100Vを電源に使用するほうが効率的にもコスト的にも良いのではないかと思って探してみました。あまり聞き慣れない名前ですがPTCヒーターを見つけました。メタルクラッド抵抗やニクロム線と違い設計温度以上には上昇しません。また、温度が上がると消費電力が減るというエコな特徴があり、大変小型です。12Vや24VのPTCヒーターもありますが、AC100Vの場合、制御ボードからアイソレートされたONOFF制御が必要ですが高価な大電流電源が必要ありません。
110V 100WのPTCヒーターです。PTCヒーターは、半導体粒子と、電気をよく伝えるカーボン粒子(導体)などを配合し、温度によって電気の流れやすさが変わるように作られたヒーターです。AC100Vを使用するのでより効率的に温めができるのではないでしょうか。また、ニクロム線のように赤熱してしまうこともありません。ヒーターの大きさは52 x 21 x 6mmです。とりあえず250℃のものを1個注文しました。

制御ボード側の温度制御はPCB HeatedBedと同じなのですが、制御ボードのD8(ヒートベッド用)端子からは入力しているDC12Vが出力されます。それを利用して秋月のソリッドステートリレーでAC100VのONOFFを行います。
これでABS素材も印刷できることを期待しているのですが、実際に動かしてみないとわかりません。ネットを検索してもPTCヒーターを利用したケースが出てきません。最近の素材なのでしょうか。コスト的にも110V 100WPTCヒーターで約600円でしたのでPCBヒーターよりも安価です。3mm厚のアルミ板をベッドに使用していますがアルミ板への取付方法や、温度の上がり方、保温状態の安定度、サーミスタセンサの取り付け位置などわからないことがいっぱいありますが実験あるのみです。

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

仕上げ工程

ネットを検索していて見つけました。「3Dプリンターで出力したABSオブジェクトを劇的に滑らかにする方法」で紹介されている方法です。素材はABS素材に限られますが、たった10分で表面がツルツルに仕上がります。
手順です。

  1. アセトンを広口のガラス瓶に少量入れ、ヒートベッドにのせ90度に温めます。
  2. ガスが発生したら、ABS素材をアセトンに直接触らないように瓶に入れます。針金などで吊り下げるように細工をするとまんべんなく綺麗に仕上がります。
  3. 約5分~10分、様子を見ながら待ちます。
    (注)アセトンのガスを吸い込まないように換気に注意してください。
    (注)アセトンは可燃性です。火気には十分注意してください。
  4. 瓶から取り出し、よく乾燥させます。

細かな細工のあるものは早めに切り上げてください。細工がぼやけてしまいます。最終仕上がりは試行錯誤で取り出す時間を決めてください。
また、積層ピッチは粗めのほうが積層筋が消えて綺麗に仕上がります。