3Dプリンター QIDI TECH I をTMC2100で静音化してみた

はじめに

TMC2100チップを搭載したサイレント・ステップ・スティックと呼ばれるドライバモジュールを使ってQIDI TECH Iを静音化してみました。

f:id:hammm:20170318115531j:plain:w100 f:id:hammm:20170318115633p:plain:w150

先に結論を書いておきます。

  • メリット

    音量は明らかに下がる。「意外な音」はしなくなり、普通に機械が動いているという感じになる。

  • デメリット

    今までにはなかったシュー、シャー、ピャーというような高周波的なノイズが追加され、3Dプリンターの近くにいたり、他にノイズ源のない静かなところでは、この高周波が結構気になる可能性がある。

ちょっとザワついたオフィスのような場所では十分有効な静音化になると思います。なお、作業には多少のはんだ付け能力が必要です。

背景

一般的なプラスチックを積層するタイプ(FDM)方式の3Dプリンターといえば、動作時の特徴的な「変わった音」が印象的です。まるで昔のゲーム音楽のようなその音は、楽しい気分になることもありますが、意外なメロディーが発生するため「気になる」存在感を放ち、近くで動いているとノイズをなかなか意識の外に追いやれないのも事実です。ちょっとしたものを作る場合でも数時間以上になることが一般的のため、設置場所を選ぶ感じがあります。日本では、家庭にしろオフィスにしろ、十分な広さがとれないことも多く、静音化が求められているといえましょう。

他の静音化手法

ドライバモジュールを変更することのほかに、以下の静音化方法があります。

  • プリント速度を下げる

    プリント時にヘッドが動作する速度を下げることで、結構ノイズレベルは低下します。スライサーソフト側の設定で対処する必要があります。

  • ファンを交換する

    冷却用のファンが騒音源である場合は静音なものに交換するという手があります。

  • 防音箱に入れる

    3Dプリンタ全体を防音箱に入れる手があります。

QIDI TECH Iについて

今回のターゲットはQIDI TECH Iなので、簡単に紹介しておきます。

特徴

お安いわりに機能的には全部入りでちゃんと動く中華3Dプリンターです。サポートも丁寧なのがポイント。ただし日本語対応はカタコト。 MakerBot社が3Dプリンタの設計をオープンソースにしていたために、派生したクローン製品の一つです。 こういう経緯のため、おおよそMakerBot/FlashForgeの資産や知識も利用できるというメリットがあります。

その他特徴

  • 造形物の最大サイズ 23cm x 15cm x 15cm
  • ベッドの加熱が可能のため、一般的なPLA/ABSおよび他の素材も利用できる
  • 金属製でがっしりしている
  • そこそこ密閉されておりABSでの造形に有利、ノイズ的にも有利
  • エクストルーダ(押出機)2つ搭載

系譜

  • MakerBot Replicator系の血をひいています。今回は、メイン基板が"MightyBoard"(マイティボード)と呼ばれる系統であることを意識する必要があります。
MakerBot社のReplicator Dual
  ↓ クローン
FlashForge Creator Pro
  ↓ クローン
QIDI TECH I

QIDI X-Oneは?

同じQIDI社のX-OneはTECH Iと同様に、安価かつ評判も良いものですが、だいぶ系統の異なる中身の3Dプリンタです。特に今回やろうとしているドライバモジュールの交換についてですが、X-Oneではメイン基板に直接はんだ付けされているため、交換不可能ですのでご注意ください。

サイレントステップスティック(SilentStepStick)とは?

Watterott社が発売したモータードライバモジュールの一種で、TMC2100というチップを利用したものです。

github.com

3Dプリンタでは各軸を動かすためにモーター(種別はステッピングモーター)が使われていますが、これを動かすためには、モーター内のコイルに与える電流をうまく調整してあげる必要があり、その役割を担うのがモータードライバです。3Dプリンタでは、モータードライバを交換等しやすいようにモジュール化されているものが多く、1モーターあたり1モジュールをメイン基板に挿して使います。

http://www.geeetech.com/wiki/images/8/83/Mighty_board_dev_setting1.jpg

この手の3Dプリンターでよくあるモータードライバモジュールは、A4988というチップを利用したものです。チップによって、モーターへの電流/電圧のコントロールの仕方が異なり、モーター駆動の特性や、駆動時の音などが変わってきます。QIDI TECH IもA4988のドライバモジュールを搭載しています。

TMC2100とは

Trinamic社が製造しているモータードライバチップの1種ですが、特に静音化に特化したものです。主なモードが2つあり、SpreadCycleモードとStealthChopモードです。

モードの違い

  • スプレッドサイクル(SpreadCycle)モード

    高周波的なノイズがやや出るが、一般的なモータードライバよりは静かに駆動し、それなりにトルクも出るため脱調しにくい。

  • ステルスチョップ(StealthChop)モード

    とにかく静かなモード。ただしトルクはスプレッドサイクルモードとくらべてもだいぶ低いと言われている。

どちらのモードを利用すべきか?

  • 3Dプリンタは脱調しないことが第一 → スプレッドサイクルモード

    脱調とは、モータードライバがモーターに指示した回転量と実際のモーターの回転量が異なってしまう現象のことですが、モーターのトルクに対して負荷が高いときなどに起こります。3Dプリンタでこの脱調が起こると、軸の精度を維持することができず、成果物が斜めになったりガタガタになったりしてしまいます。このため脱調をおさえることが第一です。 このことから、トルクが高く脱調しにくいスプレッドサイクルモードが安全な選択肢といえます。ただしやや高周波的なノイズ音が出ます。

  • とにかく可能な限り静かにしたいなら・・・

    ステルスチョップモードのほうが静音であるため、こちらをどうしても利用したいという場合は、モジュールの可変抵抗を調整して電圧を上げてトルクを増しつつ大きめのヒートシンクを搭載して熱を逃がすほか、3Dプリント時も全体的に設定速度を下げる等の対策が必要かと思います。ただ、成果物のクオリティにかかわるため、あまりお勧めできない設定といえます。

準備

購入

Watterottからの場合

SilentStepStickという名称で発売したのはWatterottという業者なので、そこから買うのがもっとも確実です。日本向けの場合、配送がDHL Expressのみとなり、送料が36EUR(約4400円)とお高いです。そのかわり数日で届きました。Aliexpressなどで中華の互換品を買っても良いですが、可変抵抗の範囲などに違いがあるそうです。

どれをいくつ買えばいい?

  • 一言でいえば 3DプリンターがQIDIの場合は、TMC2100搭載の5V版チップをwatterottから購入するのが安全な選択肢といえます。いずれにしても多少のハンダ作業は覚悟しましょう。必須な数は2個(X軸、Y軸)です。予備が1つあると安心です。

  • チップ

    今回は情報と流通量の豊富なTMC2100としました。今後はTMC2208/TMC2130などの後継チップが主流になっていくかも。

  • 5V版?

    QIDI TECH Iを含むMightyBoard系ではロジック電圧が5Vなので5V版の商品にします。3V-5Vとなっているほうでも動作するとは思いますが、余分なレギュレータが入るので余計な消費電力や発熱があるかも。

    ※なお、TMC2208/TMC2130では特に5V版という商品はなく、気にしなくても良いようです。

  • ピンヘッダ実装あり?なし?

    QIDI TECH Iを含むMightyBoard系では、watterottで販売しているピンヘッダあり版だと、実はピンヘッダが逆向きです。このため逆方向へのつけかえが必要になります。ですので本来はピンヘッダはついていないほうが楽でしょう。しかし在庫がなかったためピンヘッダありを購入しました。

  • 購入数は?

    X軸とY軸を交換するので2個、さらにはんだ付けまわりの失敗を予期して予備1個の合計3個買っておきます。

  • ヒートシンク

    TMC2100は発熱がやや多いので、ヒートシンクも買いましょう。底面の面積 1cm x 1cm 以下のものが良いでしょう。高さ方向は2cm以下なら入りそう。接着用の、熱伝導性のある両面テープも忘れずに。

    最終的には千石電商で販売しているこれをつけました。

    ASK10-07 小型ヒートシンク

    Watterottから入手する場合は多分これが良いと思います(たまたま在庫切れで購入していないので参考まで)

    Pin heatsink square ICK S 10 x 10 x 12.5 - Watterott electronic

その他必要なもの

  • QIDI TECH I付属のレンチ(裏蓋をあけるため)
  • はんだごて
  • リード線 2cm程度 x 2 (モータードライバのピン間をつなぐため)
  • テスター 約0.5V~2.0V を測れるもの。細かいところにつなげるプローブがついていること(基準電圧調整用)
  • 小さいマイナスドライバー 先端がおおよそ2mm前後のもの(基準電圧調整用)

実装手順

1. ピンヘッダの向きを整える。

  • ピンの方向について (CFG1,2,3ピン以外)

    QIDI TECH Iを含むMightyBoard系列では、一般的な配置とは逆で 、TMC2100のチップが上側にくるように設置します。このため、ピンヘッダはチップとは逆側に突き出すようにつけます。 ※Watterottのピンヘッダ付き商品の場合は、逆方向にピンがついているので、ハンダゴテでハンダを熱しながら逆方向に突き出すよう、押しだします。

    • 元のピンの方向

      f:id:hammm:20170316015035j:plain:w250

    • ピン方向変更後

      f:id:hammm:20170316015247j:plain:w250

      (※ 画像はCFG1,2,3ピンも押し出してしまった状態ですが、本来は不要です)

  • CFG1,2,3ピンについて

    QIDIではメインボード側にCFGの設定機能がないため、メインボードに挿す必要はありません。このためチップの載っている側に突き出すようにしておきます。

2. CFGピンを設定する

今回はスプレッドサイクルモードにするので、以下のようにします。

  • CFG1とGNDピン(GNDは2ピンあるうちのどちらでも良い)をつなぐ
  • CFG2,3はどこにもつながない(オープン)

なお、ステルスチョップモードにする場合は、CFG1-3すべてのピンをオープンに、つまりどこにも接続しないようにします。

  • 上記の状態にするため、ジャンパ線を追加した状態がこれです。(下手くそです) f:id:hammm:20170316015431j:plain

3. ヒートシンクの装着

一般的にはTMC2100チップとは逆のサイドにヒートシンクをつけるようなのですが、QIDI TECH IのようなMightyBoard系では、上下がひっくりかえった実装になっている関係で、TMC2100チップに直接ヒートシンクを貼り付けます。

※本来はチップの底面に熱伝導パッドがあるとのことで、基板裏面にヒートシンクをつけるのが推奨のようですが、MightyBoardではひっくりかえしてしまっているため、このようになります。

4. ドライバモジュールの交換

QIDI TECH Iの裏面のねじを数本外して金属板を外すとMightyBoardが現れます。デフォルトではA4988というチップを利用したモータードライバが5個ささっていますが、このうちX軸とY軸の2個をサイレントステップスティック(TMC2100)に置き換えます。差し替えるときは電源をOFFにし、念の為コンセントも外しておくのが良いでしょう。DIRなどのピン配置を確認しながら挿してください。180度違っていてもささってしまうので注意してください!180度間違っていると多分壊れます!

  • X軸およびY軸のモータードライバを、今回のTMC2100使用のものに置き換える。
  • 取替作業時、電源はOFFにしておき、電源ケーブルも外しておく
  • ピン配置に注意。180度ずれていないか?

f:id:hammm:20170316015549j:plain

f:id:hammm:20170316015610j:plain:w400

ヒートシンク用の両面テープが盛大にはみ出してますが気にせぬよう・・・。画像のヒートシンクは小さすぎることもあって、後でヒートシンクごと変更しました。

ドライバをセットしたら、電源を入れて動作テストしてみましょう。3Dプリンタの操作盤から Utilities -> Jog Mode で、X軸、Y軸が動作するかどうか試してみましょう。動かないようなら、点検してみてください。ひとまず以前のドライバに戻して、基板・本体側に問題がないかどうか試してみるのも手です。

5. X軸、Y軸の進行方向を逆にする

TMC2100と、デフォルトのA4988とで大きく異なる点があり、それは軸の進行方向です。今回はファームの設定でこの進行方向を逆転させます。

モーターケーブルのコネクタを逆差しするという方法もあるようです。

メイン基板のファームウェア"Sailfish"について

QIDI TECH I搭載のメイン基板"MightyBoard"には、Sailfish(セイルフィッシュ)という名前のオープンソースファームウェアがインストールされています。

Sailfishファームウェアの設定を変更するには?

Windows/Macで動作する、"ReplicatorG - Sailfish" というReplicatorGの派生バージョンのソフトが必要です。

こちらのリンク先の"Files"から各OS向けの実行ファイルが入手できます。

Sailfish Firmware by jetty - Thingiverse

5.1 MakerBotサービスの停止

MakerBotのソフトウェアをインストールしたマシンの場合は注意してください。MakerBotのサービスが動作して、COMポートを専有していることがあります。その場合は、MakerBotサービスを停止してあげてください。

Windowsの場合は、タスクマネージャ -> サービス -> MakerBot Conveyer Service と辿って、右クリックから停止としましょう。 Macの場合は不明です。すみません。

5.2 ReplicatorG - Sailfish からQIDI TECH Iへの接続

QIDIの電源をONにして、USBケーブルで"ReplicatorG - Sailfish"をインストールしたPCと接続し、 “ReplicatorG - Sailfish"のConnectボタンを押して接続してください。 "Machine QIDI Printer Ready"と表示されたら接続成功しています。

f:id:hammm:20170316020256j:plain:w500

5.3 設定を変更する

メニューのMachine -> Motherboard Onboard Preferences から設定を変更できます。

  • Invert X Axis
  • Invert Y Axis

に、デフォルトではチェックが入っているため、これを外して、 Commit Changes ボタンを押すと設定が変更されます。

f:id:hammm:20170316020329j:plain:w500

5.4 確認

変更後、QIDI TECH Iの操作盤から、Utilities->Jog Modeとして、正しい方向になったことを確認すると良いです。

  • X軸は +X が右移動、 -X が左移動
  • Y軸は +Y が奥移動、 -Y が手前移動

となっていれば正しいです。

6. 電圧(Vref)調整

モータードライバにリファレンスとして与えている基準電圧を調整します。テスターを使い、このような感じでGNDピンとVRefピン(穴)にプローブをひっかけて電圧チェックを行います。テスターは2000mVのモードにすると良いでしょう。関係のないところにプローブが当たらないよう、細心の注意を払って作業を進めます。

f:id:hammm:20170316020837j:plain

電圧をコントロールする可変抵抗ツマミは、基板の裏から小さいマイナスドライバーで操作する必要があります。このため、一回モータードライバモジュールをメイン基板に差し込んでしまったら、再度はがさなければ電圧変更用可変抵抗にアクセスすることができません。あまり回数をこなすのは骨です。

電圧値についてですが、出荷時の状態で、可変抵抗が真ん中にきている状態で、1.2Vでした。 右に少し回して1.4Vにしたところ、5分程度動作後に脱調して大きくレイヤーがずれる挙動が確認できたため、高熱のためと考え、電圧をおさえて1.15Vにしました。

  • 1.4Vでずれた例:

    f:id:hammm:20170316021443j:plain:w300

  • 1.15VのOK例:

    f:id:hammm:20170316021520j:plain:w300

脱調していないかどうか、仕上がりに注意しましょう!

  • 何レイヤーか正常に動作した後で大きくずれる場合

    電圧が高すぎて加熱している可能性が高いです。電圧を下げてみましょう。

  • 高さ方向がまっすぐにならず、斜めになっている場合

    電圧が低いために細かい脱調が発生している可能性があります。電圧を上げてみましょう。

あと、ドライバーまわりがひどく加熱している場合は、ヒートシンクを見直すか、電圧を下げましょう。

結果

短くてよくわからないかもしれないですが、こんな具合です。最後のほう、筐体のほうの鳴きが出ていますが、別の問題です(汗

www.youtube.com

今後の期待

今回はTMC2100を使いましたが、いくつか出てきている後継チップを使えば、よりトルクのある状態で、より静音なステルスチョップモードを使える可能性がありそうな気がしています。余裕のある方はトライしてみてはどうでしょうか?

参考

  • Replicator系ではドライバーモジュールが上下逆というあたり特に参考にさせて頂きました。

    ttbbsky.net

  • TMC2100の3Dプリンタでの利用についての基本的な情報がまとまっています (英語)

    TMC2100 - RepRapWiki

  • TMC2100の使い所や設定を理解する助けになりました。(英語)

    www.youtube.com