小ネタ 2013-006

3DプリンタCupcake CNC

3DプリンタのCupcake CNCの中古を海外のネットオークションで入手した。(2013-01)
動かせる状態でなかったので、レストアして動かしてみる。


結論を先に書くと、レストアして動く状態にすることができた。(2013-04)
  
 レストア前とレストア後の写真

 
 CupcakeCNCで実際に出力した物体


1. CupcakeCNC(?)の入手

 アメリカのネットオークションのebayで中古のCupcakeCNCが安く出品されているのを見つけて落札して入手した。(2013-01)
 しかし、動かせる状態でなく、キットの作りかけのような状態だった。
 自分で完成させなくてはならない。

 最初の状態は、以下の写真のような状態だった。

 
 全体の写真と、右側の側面の写真

 筐体はCupcakeCNCのものだが、ネットでCupcakeCNCについて調べるとどうも一般的なCupcakeCNCとは筐体以外の色々な部品など違っているようだ。
 筐体の右側の側面には、制御基板が取り付けられるはずだが、何も取り付けられていない。

 
 樹脂を溶かして射出する機構のエクストルーダー(Extruder)という部分が異なっている。

 このExtruderは、3Dプリンタで出力された部品で作られている。どういうものなのか正体は不明。
 Extruderのギア部分(?)を動かすためのモーターが付いていないため、これはこのままでは樹脂を溶かして射出することができない。

 制御基板は、下の写真のようなものが配線されて接続されていた。
 
 制御用の基板(?)

 電源は、CupcakeCNCについてネットで調べるとPC用のATX電源を流用するようだ。
 しかし、そのようなものは無くて、12VのACアダプターが付いてきている。
 

 まず、制御基板について調べてみた。
 
 基板上のシルク印刷でreprap.orgという文字とultimachine.comという文字が印刷されている。
 それを手がかりに調べてみると、
 RepRap Arduino MEGA Pololu Shield (RAMPS) PCB - https://ultimachine.com/ramps という基板のようだ。
 Arduino MEGAというマイコンボード用の拡張基板で、4つのモータと、ヒーター&熱電対を繋いで制御するためのキットらしい。

 CupcakeCNCのキットの部品ではなくて、前身のオープンソース3DプリンタのRepRapの派生版の制御回路で組み立てられているということになる。
 自分のところにある個体は、RepRapからCupcakeCNCへの過渡期か、CupcakeCNCの初期のキットだったのではないだろうか。
 CupcakeCNCキットの筐体とかステージ機構だけを流用してRepRap派生版をいきなり作ろうとして、うまくいかずに途中で中断したような感じ。

 この制御回路の配線は、このように( RAMPS 1.2 http://reprap.org/wiki/RAMPS_1.2#Power_Supply )配線すればよさそうだ。

 まずは、テストのためArduino部分のUSB端子をPCに接続してみたが、動いて無さそうで、ArduinoマイコンのUARTの反応が無かった。
 故障しているのかもしれない。
 この制御基板を使ったままでは動かすのは難しそうと感じた。なんとなくだけど。


2. CupcakeCNC(?)に付いてきた予備(?)のパーツ

 オークションで入手したCupcakeCNC(?)に、予備パーツとして幾つか基板や部品が袋に入った状態で付いてきた。

 
 とりあえず確認のために予備パーツの基板を並べてみた

 写真の上側の左の3つの小さい基板は、ステッピングモーター制御基板だ。右上は不明?
 写真の下側の左の大きい基板はRepRapMotherboard v1.2で、右下の2つはExtruder制御基板(色違い品)らしい。
 予備パーツではなくて、アップグレード用パーツと呼ぶべきか。

 これらの基板を調べてみると、CupcakeCNCキットで標準的に使われている部品らしい。
 この基板を組み立てたら比較的容易にCupcakeCNCを動かすことができそうだ。

 
 Plastruder MK4というレーザー刻印のされたアクリルの部品が付属している

 わりと新しいExtruderでPlastruder MK4という機構の部品のようだが、ヒーター&熱電対の部品が足りないようだ。
 モーターを組み付けたり動力を伝達する部品も足りないように思える。
 このまま動かせる物ではなさそう。
 もともと付いてきた緑色のExtruderの機械部品を交換するのに使えるのだろうか?

 あとは、よく分からないが3Dプリンタで出力された部品とサーボモータが付いてきている。どう使ったらいいのかさっぱり分からない。
 

 あと1つ、写真を取り忘れたけど大きめのモーターが1つ余っている。Extruderに使う物のようだ。


3. CupcakeCNCの制御基板を取り替えて、3軸ステージを動かす

 もともと繋いであった制御回路を取り外して、予備パーツ(アップグレードパーツ?)で制御回路を組んでみることにした。(2013-02)

 
 基板一式を並べたところ

 左下の小さい基板は、USB-UART変換基板である。付属していなかったようなので手持ちのSparkfunのキットの基板を使った。

 一番大きな基板がRepRapMotherboardで、資料は次のURLで見つかった。
 Motherboard 1.2 http://reprap.org/wiki/Motherboard_1.2

 同様にステッピングモータドライバ基板とExtruder制御基板の資料のURLも見つかった。
 Stepper Motor Driver 2.3 http://reprap.org/wiki/Stepper_Motor_Driver_2.3
 Extruder Controller 2.2 http://reprap.org/wiki/Extruder_Controller_2.2

 普通(?)のCupcakeCNCキットでは、ATX電源と組み合わせて使うため、それに合わせたコネクタを使って基板が作られている。
 自分の手元にあるのはそれらとはコネクタが異なっている。

 キットの場合には線材も繋ぐだけに加工済みで説明書どおりにコネクタに接続していけば簡単に組み立てできるらしい。
 自分の場合には、そういう準備されたものがないので、自前で配線をしなくてはならない。

 RepRapの配線について調べて次のURLの資料を見つけた。
 Mendel Electronic Wiring http://objects.reprap.org/wiki/Electronic_wiring
 少し疑問があるが、大体このとおりに配線してみた。

 まず最初に、USB-UART変換基板とRepPapMotherboardを接続した。
 
 USB-UART変換基板とRepPapMotherboardとの接続

 PCからUSB経由でRepRapMotherboardに5Vの電源が供給される。
 この状態でArduinoとして動くかどうかを確認するため、LEDのblinkとかのソフトを転送して動かすのを試して確認した。
 RepRapMotherboard上に電源スイッチの部品が実装されているが、これは機能しないようだ。
 USBに接続すると自動で電源は入る。

 
 ステッピングモータドライバ基板とRepRapMotherboardは、10ピンのコネクタ付きストレートケーブルで接続した。
 ケーブルは付属していなかったので、通販で同じようなのを探して購入した。

 ステッピングモータドライバ基板は、10ピンコネクタからの5V電源供給だけではモータを動かすことはできなくて、別途12Vの電源を入れなくてはいけない。
 基板自体は一般的なH型ブリッジ駆動回路になっているようだ。
 12Vの電源は付属していたACアダプタをそのまま使った。

 Extruder制御基板とMotherboardとの接続がよく分からず少し悩んだ。
 調べたのだが、RS485のコネクタのみで接続すればよいようなことが書いてったり、LAN(?)ケーブルで繋げと書いてある記事があったり、紛らわしい。
 CupcakeCNCの本来のキットでは、LANケーブルを使うけど実際にはLANでなくRS485の信号を使っていて、コネクタの未使用ピンを使ってついでに電源も供給するということみたいだ。
 自分の場合、電源とRS485の信号線(TXとRXの2本)を普通の電線で接続した。
 I2Cのバスも接続するということが先のMendelの配線図に書いてあったので、いちおうI2Cも接続しておいた。(後で分かったがI2Cの配線は不要)

 CupcakeCNCの筐体に基板を組み付けて、それぞれの基板どうしの配線と、電源の接続を行った。
 
 基板を接続して電源を接続したところ

 ここまでの接続で、3軸のステージを動かすことができる。(実際には、もう少しあとで確認した)


4. CupcakeCNCのExtruder組み付け

 自分のところのCupcakeCNC(?)中古品についてこれまで調べて、問題が「Extruderが動かせるだけの部品が揃っていない」ということが分かった。
 ここまで来るのにTwitterでCupcakeCNCユーザーの人にいろいろ質問して助言を頂いた。
 特に、その中でもポケットニュースまりんさんには、Extruder(Plastruder MK5)の部品を譲って頂いた。感謝。

 もともと組み付けてあった正体不明の緑色のExtruderを取り外して、Plastruder MK5というExtruderを取り付けた。(2013-03)
 
 Plastruder MK5を取り付けたところ

 Extruder制御基板とPlastruder MK5との配線を接続する。
 配線するのは、ヒーターの電源線(2本)と、温度測定用の熱電対の配線(2本)と、樹脂を押し出す機構のDCモータの配線(2本)の合計6本。

 Extruderボードにはモータ制御の4端子の出力以外にヒーターなどを繋ぐための電源On/Off制御のみのFETのポートが3つ(A,B,C)ある。1つはヒーターを繋ぐのだけど、余っているところにDCモータを繋げばよいのだろうか悩んだ。
 アーカイブ( www.makerbot.com/support/archive/ ) のMK5関係を読むと、DCモータの接続方法は、ステッピングモータ用の4端子のうち2本だけ繋げばよいみたいだ。ブリッジ回路の片側のみを使う感じだ。

 ヒーターの発熱量の少ない旧式のExtruderの場合、ヒーターの配線は直接ExtruderのFETの回路の出力段を取り出している出力用ポートに直接繋げばよい。
 しかしPlastruder MK5の場合、おそらく流せる電流の制限とかがあるので、別途外付けでリレーを使うようだ。

 Plastruder MK5と一緒に頂いたはずのリレーボードを紛失してしまって、リレーボードがあるということすら忘れてしまった。
 

 リレー自体は、汎用部品なので代用品は簡単に入手ができる。車用品の12V用の20Aのリレーを購入した。
 
 DC12V 20Aのリレー

 
 リレーを取り付けた所

 リレーを介してヒーターに通電するために、ヒーター用の電源が必要となる。モータや制御用の電源と共用にすると容量が足らなくなるはずなので、別の電源を用意する。
 ヒーターの抵抗値は実測で3Ωくらいなので、12Vの電源電圧をかけると4Aの電流が流れる計算だ。48Wである。

 ヒーター用電源として、最初はSOUNDHOUSEのPDD66120-2000-10という12V2AくらいのキワモノACアダプタを使って試していたが、定格を超えて使ったため、その後しばらくして壊れてしまった。
 15V5Aのノートパソコン用中古ACアダプタに取り替えた。


5. CupcakeCNCの制御ソフトとファームウェア

 CupcakeCNCの制御用基板一式の配線ができたので、ソフトを入れて動かしてみることにする。(2013-03)
 テスト方法については検索して次のURLを見つけたので、まずこれを参考にやってみたのだが、うまくいかなかった。
 Testing RepRap Electronics - RepRapWiki http://objects.reprap.org/wiki/Testing_RepRap_Electronics
 Microcontroller firmware installation http://objects.reprap.org/wiki/Microcontroller_firmware_installation
 順番としては、まずRepRapMotherboardのArduinoマイコン(Sanguinoという派生品)にファームウェアを書き込まなくてはならない。
 書き込むファームウェアのバイナリファイルが存在しない(?)ので、自前でビルドしなくてはならないので、開発環境を先にインストールして、ビルドをした。
 ソースコード: reprap/firmware https://github.com/reprap/firmware
 コンパイル方法: http://objects.reprap.org/wiki/Microcontroller_firmware_installation#Compiling
 ところが、これがうまくビルドできない。configration.hとWProgram.hという2つのヘッダファイルが足らない。
 前者はconfigration.hの元ファイルらしきconfigration.h.distというファイルがあるので、とりあえずコピーした。
 後者のWProgram.hは古いArduino開発環境のもので、現在ではArduino.hに変わったということなので、ソース側のincludeの部分を書き換えた。
 しかし、それでもビルドが通らず、結局ソースコードからファームウェアをビルドするのはあきらめた。

 CupcakeCNCを制御するPC側のソフトで、ReplicatorGというソフトを使うとRepRapMotherboardのファームウェアを書き込むことができるというので、調べてみた。
 PC側の制御ソフトはRepRap host( http://objects.reprap.org/wiki/Mendel_User_Manual:_Host_Software )というのを使おうとしていたのだが、ファームウェアの書き込みもできるReplicatorGを使ってみることにした。

 ReplicatorGのインストールとか設定については後述。

 ファームウェアの書き込みは、次のblog記事を参考にやってみた。
 Link - 時々3Dプリンター等での工作遊びブログ 3DプリンターMakerbot Cupcake CNC Ultimateのファームウェアアップデート方法

 RepRapMotherboardのファームウェアは、ReplicatorGから普通に書き換えすることができた。
 このとき書き込むファームウェアのバージョンを選択できるのだけど、最新の3.0というバージョンのファームウェアを書き込んだ。

 ファームウェアを書き込んだRepRapMotherboardとCupcakeCNCの電源を入れてPCに接続すると、ReplicatorGがCupcakeCNC側と接続できるようになった。
 接続時に自動で基板のバージョンを読みとって環境のチェックが行われる。
 ここでExtruder制御基板のファームウェアのバージョンとRepRapMotherboardのファームウェアのバージョンが不整合なため、toolheadが見つからないというエラー表示が出てしまった。(toolheadというのはExtruderのこと?)
 (一時的にRepRapMotherboardのファームウエアを2.4に下げて調べたら、Extruder側も見えるようになり既に2.6が書き込まれているのが分かった)

 Extruder制御基板のファームウェアも上記を参考に書き換えを試してみた。
 しかし、これがなかなかうまくいかない。
 RepRapMotherboard経由でのファームウェア書き換えがうまくいかないようなので、Extruder制御基板にUSB-UARTを直結して試してみたが、これもうまくいかない。ここで困っている人は多いみたいだ。
 リセットボタンを押すタイミングがシビアという情報があったので、リセットのタイミングを変えて20〜30回くらい試したが1度も成功しなかった。
 電源を一旦落として電源をOnにしなおして、パワーオンリセットが掛かるタイミングを狙って書き換えを試してみたところ数回試して成功した。
 直結で、電源を入れ直してパワーオンリセットがかかるタイミングで書き換えを実行するのがファームウェア書き換えの成功確率が高そうだ。
 Extruder制御基板のファームウェアのバージョンも、Motherboard側と同じ3.0にすることができた。


6. CupcakeCNCのExtruderのテスト

 ReplicatorGというソフトで、制御画面を出すとGUI画面の手動操作でX,Y,Zの3軸ステージや、Extruderのヒーターと熱電対とモータの制御ができる。
 手動で動かしてテストをしてみた。

 ヒーターは、温度設定のテキストボックスに数字を入力すると温度設定でき、自動でヒーターが制御され、設定温度まで加熱される。
 熱電対は、リアルタイムに計測され温度が表示される。

 先に上に書いたExtruderのファームウェアの書き換えに失敗した件で、実は一度あきらめて、Motherboard側のファームウェアのバージョンを下げて、Extruder側はもともと書き込まれていた古いファームウェアのままで動かしていたのだが、ここで1つまずいことが起きた。
 ヒーターの制御にリレーを用いるタイプのExtruderファームウェアと、リレーを使わないファームウェアが存在しており。もともとExtruderに書き込まれていたのがリレーを使わずにFETをPWMで高速にOn/Offしてヒーターを制御するファームウェアが入っていた。
 そのため、自分のCupcakeCNCはリレーを使った回路で組んだので、そこに高速にOn/Offの信号が流れてしまい、まるでブザーのような音がリレーから出てきてしまった。これは間違っていて、このままにするとおそらく故障してしまうので、ファームウェアを正しいものに書き換えなくてはならない。
 かなり試行錯誤して、Extruderのファームウェアをリレー無し用に書き換えて、正しくヒーターの制御ができるようになった。

 細い樹脂のフィラメントをExtruderに挿して、ヒーター部で溶かして射出するため、送りローラー機構がExtruderに備わっている。
 
 樹脂フィラメント

 樹脂を送るローラー機構は、モータで駆動されるローラーと、ローラーに樹脂フィラメントを押しつけるための締めネジからできている。
 一旦締めネジをゆるめて樹脂フィラメントの端っこを挿し込んで締めネジを締めて送りローラーに押しつけられるように固定する。
 この状態でモータを動かすと樹脂がヒーター側に押し込まれる。
 手動で動かす場合、モーターのPWMのduty設定値を0〜255で指定する。テストで250くらいを設定すると目に見えるくらいの速度で樹脂が動くのが確認できた。

 手動でヒーターを220度くらいに加熱した状態でローラーを送ると、熱で溶けた樹脂が射出用ノズルの先端から出てくる。
 
 手動操作で樹脂が射出されたところ


7. CupcakeCNCを動かすまでの他の細かな問題点とその解決

 その1 - 樹脂フィラメントの問題
 上記の透明なPLA樹脂フィラメントは、Extruderが冷えたときに固まって詰まってしまって、再加熱しても溶け出してこない。
 手動で設定温度を上げてやると粘度の低いトロトロな樹脂がほんの少しだけ出てきたが、固まってしまった部分は溶けなくてローラー側から樹脂が入ってこない状態だ。
 温度設定でさらに260度まであげようとしたら熱電対の読み取り値が255で振り切れて頭打ちになってしまったためヒーターの温度が上がりすぎてしまうというトラブルがあった。ヒーターから変な煙が出てきたのですぐに気が付いて止めたため壊れずに済んだようだが、下手をするとヒーターを壊すところだった。255以上に設定してはいけないということが分かった。

 250度くらいのギリギリまで温度を上げて樹脂フィラメントの供給側から強引に引っ張っていたら、かなり苦労したけど四角く固まっていた樹脂を除去することができた。
 おそらく、溶けやすい樹脂を使ったためヒーターの上の方まで樹脂が溶けてしまって、冷えたときに壁に貼り付いて動かなくなってしまったようだ。
 この透明なPLA樹脂フィラメントを使うのをやめて別の樹脂フィラメントに変えた。
 後述する黒い樹脂フィラメントだと、冷えた後の再加熱でも問題なく射出できた。
 (もらい物の樹脂フィラメントなので、どういう素性の樹脂フィラメントなのか不明だったりする)

 その2 - EndStopセンサーの問題
 
 3軸のステージの可動範囲を越えて動かないように上限と下限に制限用のスイッチ(OptoEndStopセンサー)を取り付けるものらしい。
 OptoEndStopセンサー基板はちゃんと付属していたのだが、取り付け箇所がよく分からない。
 センサーとしては光学式の光を遮るとOnになるスイッチが使われている。
 しかし、光を遮るのに使う部品も付属していない。
 自作して作るのも面倒だったのと、EndStopセンサーを取り付けなくても実はCupcakeCNCの動作には特に影響はないので、取り付けるのをやめた。

 その3 - Platformの問題
 
 射出した樹脂を受ける台をPlatformという。
 付属していたPlatformは、ヒーターと熱電対のついたものが付いてきたのだが、Extruderへの配線方法が分からない。
 ヒーターや熱電対の無いただのアクリル板のPlatformも袋に入っていたので、ヒーター付きPlatformは無視してアクリル板Platformを使うことにした。

 
 アクリル板Platform


8. CupcakeCNCで3Dプリントのテスト

 
 先に上で書いたReplicatorGというソフトで、3D形状データを出力するのを試したみた。

 次のURLを参考にした。少し内容が古いみたいで、実際には手順がもっと簡単になっている。
 Link - プリントの方法 http://hotproceed.com/Wiki/index.php?%A5%D7%A5%EA%A5%F3%A5%C8%A4%CE%CA%FD%CB%A1
 あと、英語だけど本家も読むべきだった。
 Link - How to Use ReplicatorG http://replicat.org/usage

 (1)インストール
 ReplicatorGをダウンロードしてインストールする。
 Link - Download ReplicatorG http://replicat.org/download
 インストーラーとか無いので、適当なフォルダを作って実行ファイル一式を入れておけばよい。
 自分が使ったのは現時点で最新のバージョン0040というものを使用した。

 内部でpythonを使っているので、win32版のpython2.7.3をインストールした。
 pythonは64bit版や新しい3.xというバージョンだとうまく動かないらしいので注意。

 Skeinforgeという別のソフトやドライバなどは特に別にインストールする必要はなかった。

 (2)初期設定
 ReplicatorGを起動すると、初回の起動時にドライバのインストールや各種設定が自動で行われる。
 手動で、使っている3Dプリンタの機種を設定する。
 自分の場合、「CupcakeCNC Basic」に設定した。

 (3)プリントアウト準備
 GUIの制御画面を呼び出すと、GUI画面の手動操作でX,Y,Zの3軸ステージや、Extruderのヒーターと熱電対とモータの制御ができる。
 ノズルをプリント開始位置まで手動で移動させておく。(最初は、ステージの移動方向がちゃんと合っているかチェックし、違っていたら配線を直す)
 プリント開始位置は、Platformの中央でノズルが接触するギリギリくらいに近づける。
 プリントに使う樹脂フィラメントをExtruderにセットしておく。

 (4)プリントアウトする3Dデータを読み込む
 STLという形式のファイルをロードして読み込む。
 STLファイルは、自分で作成してもよいのだが、とりあえずネットで公開されているフリーのデータをダウンロードして使う。
 例えば、Makebot Coin ( http://www.thingiverse.com/thing:648 )とか。
 
 一番最初は、exampleのデータが付いてきてるので、20mm_calibration_box.stlというデータを出力してみるのがよいらしい。
 自分もまず最初はこれを出力するのを試した。

 (5)G-Codeを生成する
 Generate G-codeというメニュー項目を実行すると、STLファイルの形状データをNC加工用のデータ(G-code)に変換される。
 内部で変換用のソフトのSkeinforgeというのを呼び出しているらしい。
 Skeinforgeが3Dの形状データを読み込んで、その形状を加工するために必要な Extruderの樹脂ノズルをX,Y,Zステージで移動させる移動データ(ツールパス)を計算して出力している。
 変換に使用するskeinforgeのバージョンを設定することができる。
 自分の場合、新しいバージョンのSkeinforge(50)だとうまく3Dプリントができず、次の出力の工程でフリーズして止まってしまった。
 古いバージョンのSkeinforge(35)-Legacyというものを使うとうまくいった。

 G-Code生成時に設定する項目が非常に沢山あるのだが、基本的にはデフォルト値のまま試した。

 G-Code生成時に、Raftを出力するかどうかを設定する項目がある。
 Raftというのは3D形状を出力する前に最初にザブトン状の台を出力することである。
 Raftを出力すると、Platformの凹凸や水平ずれを吸収して、プリントアウトされた物体がプリント中にPlatformから剥がれにくくする役目をしてくれる。
 慣れるまではRaft出力をするとよいようだ。

 (6)出力
 プリントアウトのメニュー項目を実行すると、CupcakeCNCが実際に3D形状をプリントアウトする。
 最初にデータのチェックが行われる。
 問題が無ければ、Extruderが上方向に自動的に移動し、Extruderのヒーターが加熱され、200度くらい温度が上がるとノズルのクリーニングとして、一定量の樹脂が射出される。
 クリーニングができたかどうかダイアログ表示がポップアップするので、出された樹脂をピンセットなどを使って取り除いてからOKを選択する。
 すると、Extruderが再度動き始めて、自動でプリント開始位置まで移動してプリントアウトが始まる。
 あとは、プリントアウト終了まで待てば、自動でプリントアウトが終了する。
 

 (7)プリントアウト終了
 プリントアウトが終了したら、制御画面でステージのZ軸を上方向に移動させてExtruderを上に動かしてから、Platformごとプリントアウトした物体をCupcakeCNCから取り外す。
 Platformに物体が貼り付いているので、カッターナイフなどを使って こじって引き剥がす。

 物体の下に付いたザブトン状のRaftは分離することができないので、物体の外周にあわせてナイフで外側のみ切り取る。


CupcakeCNCのトラブルシュート

 CupcakeCNCで物体をいろいろと出力してみた。
 ( 出力してみた http://twilog.org/kakocom/search?word=CupcakeCNC%20%E5%87%BA%E5%8A%9B%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F&ao=a )

 実際に色々と動かしてみて、うまく行かないところが出てきたので改善してみた。

 トラブルとして多いのは、プリント中に物体がPlatformから剥がれてしまうというケースがある。
 プリントアウト開始時の第一層目の樹脂がPlatformにしっかりとくっついていないと、プリント中にノズルが樹脂を盛った部分の凹凸に引っかかった時に剥がれてしまう。
 改善方法は、1つはPlatformの水平をきちんと出しておくこと。1層目の出力を均一にさせるためである。
 あとは、Platformの汚れをスクレイパーで削って、きれいに面を出しておくこと。
 Platformをドライヤーなどで暖めておくというのも効果があるらしい。

 大きな物体のプリントアウトで、Extruderの樹脂フィラメントの送りローラーの締めネジが途中で緩んで樹脂送りが止まってしまうというトラブルがあった。
 プリント前の樹脂フィラメントの束はロール状になっているが、これを横向きに寝かせた状態で置いてほどいて使っていると、樹脂フィラメントに捻れが生じる。
 この捻れの力が送りローラーに伝わると締めネジが緩んでしまうようだ。
 改善方法は、樹脂フィラメントが捻れないようにスムーズに供給されるようにスプールの台を使うと良い。
 
 自作の樹脂フィラメント用スプール台 (電気牧柵器用 電線リールと書類用ケースで作った)
 次のURLなども参考にした。
 Link - フィラメントスプールの設置に関して ttp://make.oops.jp/reprap/?p=809

 スプール台を使うと樹脂フィラメントが絡まって樹脂送りが止まってしまうというトラブルも防ぐことができる。

 あと、しばしば発生するトラブルで、形状をプリントしている最中にノズルが物体表面の凸凹に引っかかってステージが脱調してずれてしまうケースが多い。
 
 出力中に途中からずれてしまった例 (コンパニオンキューブという物体の上面がずれている)

 出力中は樹脂が出っぱなしなので本来 出力すべき物体の部分だけノズルが移動するのではなく、余分な移動がどうしても生じてしまい、そこに張られた余分な線が罠となってしまう。
 改善方法は不明。
 ステッピングモータドライバ基板のゲイン調整用の半固定抵抗を調節してモータ出力を上げるとよいのだとか。
 しかし、ゲイン調整を試しても改善しなかった。
 良い方法があったら教えて下さい。


ABS樹脂フィラメントとPLA樹脂フィラメント

 ここまでの写真で使っていた黒い樹脂は、おそらくABS樹脂である。中古で入手してラベル表示などが無い状態なので確信は無いが。

 最初に試して溶けて詰まってしまった透明な樹脂はPLA樹脂である。こちらは袋にラベル表示がある。
 

 PLA樹脂の特徴は、
 ・溶ける温度がABS樹脂よりも低い
 ・溶けたときの匂いが強い
 ・射出したあと固まるまで時間が掛かって、しばらく柔らかいまま
 ・固まったあとは硬くなるが、少し脆いように感じる
 という。

 ABS樹脂の特徴は、
 ・溶ける温度が高い
 ・射出したあと直ぐに硬化し、そのとき収縮して変形してしまう
 ・固まったあとはPLA樹脂よりはわずかに弾力があり、丈夫。

 特に、PLA樹脂の特徴の固まるまでに時間が掛かってしばらく柔らかいというのが うまく働いて、3D出力中に出力済み樹脂とノズルがぶつかって引っかかり脱調という現象が発生しない。
 その代わり、射出速度が遅いというデメリットがある。
 あと、Extruder内でPA樹脂が詰まってしまうというトラブルが頻発して、いまのところ解決できずに困っている。
 よい方法があったら教えてください。


ヒーター付きPlatformを使ってみる

 ABS樹脂フィラメントを使って大きな物体を出力しようとすると、溶けたABS樹脂が固まる際の収縮力で出力した物体の底面が変形してしまう。
 
 物体の底面が反ってしまった例 (写真だと分かりにくい?)

 その際にアクリル板のみのPlatformだと、Platformごと変形してしまう。
 2枚くらいPlatformが反ってしまい、駄目にしてしまった。

 対処方法として、過熱式のPlatformを使うとよいそうだ。
 
 使い方が分からずに放置していた過熱式のPlatform(中古)を引っ張り出して、使ってみることにした。

 
 分解して基板をチェックしてみた。
 Cupcake Heater Board 1.2という基板だ。
 回路図とかCupcakeCNC本体との配線方法など、いろいろと調べて繋いでみた。

 写真の赤と黒の電線は、ヒーターの電源で12Vを入力する。
 3本の電線は、熱伝対の温度センサーへの電源5Vを入力し、温度センサーの信号を取り出すのに使う。

 ヒーターの電源は、Extruder Controller基板のFET出力ポートのA+/A-端子に接続する。
 熱伝対の3本の電線は、同じくExtruderController基板のA6というコネクタに接続する。
 電線が断線しかかっていたので、半田付けで電線を取り替えて付け直した。
 
 過熱式Platform (Heated Build Platform, HBP)

 使い方は、
 ReplicatorGというソフトで、機種を「CupcakeCNC Basic」から、「CupcakeCNC with HPB」に変更する。
 変更すると、GUIに温度制御の項目が増えて、設定ができるようになる。
 手動でテストして、ヒーターの温度設定で加熱できるのを確認し、熱伝対で温度が測定できるのを確認。
 あとは、G-code生成用のProfileの設定で、chamberの設定という項目でヒーターの設定をする。

 100℃くらいに設定して試してみた。
 しかし、プリントの最初の1層目でいきなり出力中のABS樹脂がPlatformにくっつかずに剥がれてきてしまう。

 表面に耐熱テープ(カプトンテープ)を貼ると改善するかもしれないというので、試してみたい。

 あと、難点として、Extruder側のヒーターの温度に比べて、加熱式Platform側の温度が上がりにくく、3Dプリント開始時の待ち時間がかなりかかってしまう。
 他の人から聞いた話では、過熱式Platformのヒーターの電源OnするときにCupcakeCNC本体が誤動作する場合があるらしい。(電源不足?)
 自分はExtruder側のヒーター電源を別に分けたので、そのおかげで大丈夫なのかもしれない。
 この問題に対する解決方法として、ヒーターの温度制御を別の回路で行うほんのりさん」という電子工作があるそうだ。
 Platformを毎回加熱させる待ち時間を節約できそうなので、その点ではこれがあると便利なのかもしれない。


Extruderのヒーターが故障したので修理した

 Extruderのヒーターの電源に本来12Vを使うべきところに高めの電圧で15Vを入れてオーバードライブしている。
 そのためか、ヒーターが壊れてしまった。
 原因は過電圧のせいなのか、それとも前に手動で温度制御で255℃以上を間違えて設定して過熱させすぎたせいなのか、不明。
 どちらにせよヒーターの部品を交換して修理しなければならない。
 
 ヒーターの部品は、KAL10という品番の抵抗器(放熱フィン付き)というのが使われている。
 交換用に10個購入した。
 2個とも故障していたので、2個を半田付けして取り替えて、通電テストして確認した。
 無事修理することができた。

 (後日加筆 2013-06-15)
 修理していきなりまたヒーターが壊れてしまった。
 15Vでヒーターを駆動するのは無理があるようだ。
 ヒーター用に使っている抵抗器をもっとワット数の大きい品物に取り替えるか、ヒーター用電源の電圧を12Vのものに交換しないといけない。

 (後日加筆 2013-07-07)
 ヒーターの電源を12Vのものに交換した。


Plastruder MK5の分解清掃とヒートシンク増設

 Plastruder MK5にPLA樹脂が詰まって取れなくなったので、分解清掃した。
 
 分解したPlastruder MK5

 
 詰まっていたPLA樹脂を取り除いた。
 パイプ状の部品の上の方まで樹脂が溶けて、樹脂送り機構の四角い通路部分で樹脂が四角く固まってしまっていた。

 
 パイプ部分の上側を冷やすためにパイプ部分に取り付ける放熱用ヒートシンクを3つ増やしてみた。(ヒートシンクはTO-5用のものを使う)

 しかし、パイプ部分は2重構造になっていて、断熱構造になっている。
 外側のパイプ部分はもう既に十分放熱されていて、パイプ部分は上の方に熱が伝わって無さそうだ。
 ヒートシンクを付けても効果は期待できなさそうだ。

 (後日加筆 2013-07-13)
 ヒートシンクの効果があったのか、ヒーターの電源を取り替えたのが効果あったのかどちらか分からないが、PLA樹脂が詰まるという現象が起きなくなった。
 でも、Plastruder MK5はABS樹脂フィラメント専用で使おうと思っているので、対策した意味は無かったのかもしれない。


Plastruder MK4をレストアする

 Plastruder MK5を何度も分解して組み立てたおかげで、構造がよく理解できた。
 この中古品CupcakeCNCにもともと付いていたExtruderの中古部品をうまく組み合わせるとPlastruder MK4っぽいものが作れそうだ。

 PLA樹脂とABS樹脂を使い分ける場合の切り換え時のクリーニング作業が面倒なので、2つExtruderがあれば使い分けできて便利かもしれない。

 足らないのはネジ類だけなので、買い足して組み立ててみた。
 
 組上がったPlastruder MK4

 Extruder制御基板も、Plastruder MK4に直接取り付けることができる。
 

 しかし、LANケーブルのコネクタ(中で使っている実際の信号はRS485)を繋ぐように中古CupcakeCNCの本体側のメイン基板側にコネクタが付いてない。
 Plastruder MK4に基板を取り付けるのは止めて、MK5と同じように6本の配線をCupcakeCNC本体側に取り付けたExtruder制御基板と繋ぐことにする。

 配線が簡単に2つのExtruderを交換できるように、中継コネクタをつけるとよさそうだ。

 (後日加筆 2013-07-07)
 レストアしたPlastruder MK4のテストをしてみた。
 ・ヒーターの加熱が速く、12Vのヒーター電源で十分。
 ・温度センサーがヒーターに近いのか、ヒーターの加熱に対して反応がよく計測データが出てくる。
 ・温度制御の精度がよく、PWMを使わないOn/Off制御でも十分に温度計測データが安定している。
 ・PLA樹脂フィラメントを溶かして射出テストしてみたところ、190℃〜200℃くらいだと安定して射出できずにスムーズに射出する時と少しずつした射出されない時と波がある感じ。
 ・PLA樹脂フィラメントを溶かす温度の設定を240℃まで上げると、安定して射出された。ただ、溶けた樹脂が柔らかすぎるように見える。
 ・Plastruder MK5のようにPLA樹脂が詰まるというトラブルは起こらなかった。
 ・20mmキャリブレーションキューブのデータをPLA樹脂で出力してみたところ、うまく出力できた。

 ちゃんとPlastruder MK4をレストアして動かすのが成功したようだ。

 ただし、Plastruder MK4には難点もある。
 フィラメント送りローラーに最初に樹脂フィラメントを入れてセットするときに、うまくローラーで送られずに詰まってロックしてしまって送られない場合がある。
 対処方法としては、樹脂フィラメントの先っぽを斜めにカットして入れると詰まりにくい気がする。
 何度かカットしなおして繰り返すと、うまくローラーで送られることがあるので、その都度リトライするしかなさそう。

 あと、PLA樹脂はPlatformに強く貼り付くので、出力した物体を取り外すのが困難だ。
 あらかじめPlatformにテープを貼っておくとよいらしいので、試してみる。

 PLA樹脂フィラメントで安定して動かせそうなので、Plastruder MK4をPLA専用で使うことにする。


PLA樹脂フィラメントがよく折れる

 Plastruderの樹脂送りローラーに入る直前の部分でPLA樹脂フィラメントが折れて分断され、供給がいつの間にか止まっているという問題が発生し た。

 PLA樹脂フィラメントの径が3mmと太いのを使っていて、25cmくらいの径のボビンに手で巻き直したものを自作スプール台に乗せて使っている。
 ABS樹脂フィラメントに比べてPLA樹脂フィラメントは堅くて脆いため、ボビン径がこれでも小さすぎると曲がり具合が急になるので、巻き直したときにPLA樹脂フィラメントが折れたりヒビが入ってしまうようだ。
 フィラメントに捻りが加わっている部分が特に折れたりヒビが入りやすいのかも。
 
 調べてみると、ボビンの見える部分だけでも2箇所くらいPLA樹脂フィラメントが折れて分断していた。
 もっと径の大きいボビンを使わないといけなかったのかもしれない。もう手遅れだけど。

 巻きグセの付いているPLA樹脂フィラメントを伸ばしてCupcakeCNCに引っ張るときにも伸ばす方向に力が掛かるので、ヒビが入ってしまっていると折れやすいようだ。

 ABS樹脂フィラメントは雑に取り扱っても問題ないが、PLA樹脂フィラメントは加熱する前の段階での取り扱いが難しいということが分かった。
 最初から径の大きなボビンにきれいに巻いてあるPLA樹脂フィラメントを購入するしかなさそうだ。

 あと、PLA樹脂フィラメントは湿気を吸うと劣化するらしい。湿気ないようにパックして保管しなければならなかったのかも。


Plastruder MK4とPlastruder MK5を取り替えるためのコネクタ化
 
 2つのExtruderを交換できるようにD-Sub9ピンのコネクタを付けてみた。(2013-07-07)
 Plastruder MK4用のExtruder制御基板はCupcakeCNC本体側のものMK5と兼用で使って、PlastruderMK4側には基板を取り付けないことにした。
 


ヒーターの電源のOn/OffのSSR化(+PWM駆動用)

 PLA樹脂フィラメントを使う場合、温度制御がシビアになるようだ。
 ところがPlastruderMK5にリレーを組み合わせて使っているとPWM制御ができず、単純なOn/Offの制御しかできない。
 そのせいかヒーター部分の温度センサーによる計測値をみると190℃とかに設定しても240℃くらいまで上がったりまた下がったり変動が大きい感じだ。

 リレーをSSRに交換してみる。

 (後日加筆 2013-07-07)
 リレーをSSRに交換した。
 
 OMRON製のG3NA-D210B DC5-24 というSSRを使った。
 リレーのようなカチカチという作動音もなく、静かに動作している。

 PWMで駆動できるかどうか、あとで試してみたい。

 (後日加筆 2013-07-13)
 PWM駆動用のファームウェアをExtruder制御基板に書き込もうとしたら、やはりファームウェア書き込みが安定せず、うまく書き込みできない。
 パワーオンリセットのタイミングを狙って以前に一度だけ成功したのだが、再現することができない。
 電源をそのときと取り替えてしまっているのが良くないのかも。


ヒーター付きPlatformにABS樹脂がくっつかない件

 対策としては、いくつかあるようだ。
 (1) Platformの板を暖める
  ヒーター付きPlatformでは加熱が不十分なのかもしれない。
  ドライヤーで板を暖めるとよいという情報もあるが、乱暴すぎる気がするので試していない。
 (2) Platformの板の表面にテープを貼る
  耐熱用のカプトンテープを貼るとよいという情報がある。しかし、消耗品として使うには値段が高いので避けたい。
  マスキングテープでもよいという情報を頂いたので、試してみる。
  3M製のマスキングテープの243J Plusというのを買ってみた。
 (3) ヘアースプレーを塗布する
  ヘアースプレーを塗布するとくっつきやすくなるという情報がある。
  100円ショップのダイソーで1本買ってきたので、あとで試してみる。
 (4)両面テープを貼る
  両面テープを貼るという方法もあるらしい。マスキングテープ+ヘアスプレー(粘着剤)と同じような効果があるのかも。
 (5)スティックのりを塗布する
  粘着材としてスティックのりが効果あるらしい。
 

 久しぶりにABS樹脂フィラメントで出力仕様としたら、CupcakeCNC(Replicator G)が不安定でちゃんと動いてくれない。(2013-07-21)
 原因を調べ中。


未解決の問題

 (1)ABS樹脂フィラメントの問題
 ・ABS樹脂で3Dプリント中に、出力した樹脂とノズルが引っかかってステージが脱調してズレてしまう。特に、大きい物体を出力すると、収縮で変形して反ってしまうのが顕著。
  →ABS樹脂収縮による変形が原因の1つらしいので、加熱式Platformを試す。
 ・過熱式PlatformにABS樹脂がくっつかない。
  →テープを貼る等の対策を試してみる。

 (2)PLA樹脂フィラメントの問題
 ・PLA樹脂フィラメントをボビンに巻いたときに折れてしまう。
  →ボビンの径を大きくしたり捻れが起きないようにするというのが考えられるが、実際には無理そう。
   →最初から径の大きなボビンに巻いてあるPLA樹脂フィラメントを購入するしかなさそうだ。
     湿気ないように保管にも注意が必要。


CupcakeCNCについてのTweet
 http://twilog.org/kakocom/search?word=CupcakeCNC&ao=a