SSブログ
English Version

デルタ式3Dプリンタの静音化 [3D_printer]

 「デルタ式3Dプリンタ(Kossel Reprap)の購入」の記事で書いたデルタ式の3Dプリンタは調子よく動いていますが、造形時のステッパーのテクノミュージックのような音が気になり夜中は印刷していませんでした。

 「光造形式3Dプリンタの購入」の記事で書いた光造形(LCD方式)の3Dプリンタはファンの音はそれなりですが、音自体が広い周波数範囲を含んでいるためか、夜中に稼働させても気になるようなことはありませんがFDM方式プリンタと比較して造形物の精度は高いものの強度が弱いので強度が必要な構造物はFDM方式の3Dプリンタで出力するようにしています。

 FDM方式のプリンタの消音化のため、かなり前にebayで下の写真ようなサイレントブロックを購入済みでしたが造形精度が低下するというような情報もあり取付けていませんでした。

★2020/08/24 追記
 ゴムの弾力性を利用してステッパーの振動音を低減する部品を一般的にはステッパーダンパーと言うみたいです。

静音化のためのステッパー用サイレントブロック


 FDM方式の3Dプリンタのドライバを交換することでステッパーの動作音を静音化できるようなので挑戦してみました(参考:TMC2208 datasheet

静音化のためのステッパードライバ(TMC2208)


 この静音化対策の結果、ステッパー動作のキュルキュル音は全く無くなりました^^
 強いて言えばエクストルーダーのドライバは従来のままにしたのでリトラクト時に微かにステッパーの音がするくらいです。

 ネット上の静音化改造に関する情報は Anycubic i3 MEGAEnder 3 Pro 等のメジャーな3Dプリンタが多く、私の使っている FLSUN KOUSEI に関する改造例は見当たりませんでした。
 そもそも購入が2017年1月なのでとっくに販売終了していてMarlin(ファーム)のバージョンも古く、TMC2208には対応していません。

 そこで今回、Marlinのバージョンアップも行うことにしました。
 現時点での Marlin の最新は2.0.xのようですが旧Marlin(バージョン不明:version.hが無い)からの移行が楽なように一つ前のバージョンである Marlin-1.1.x.zip(中身は1.1.9.1) を採用することにしました。

 尚、Arduino IDEも1.8.13にアップデートしました。

 今回行った作業概要を自分のためのメモの意味も込めて以下に記載します。
  1. Marlinのダウンロード
     Download Marlin のサイトからMarlin-1.1.x.zipをダウンロードし、zipファイルを解凍

  2. コンフィグファイルの選定
     私の使っている機種は販売終了になっているので最も近い機種を検討した結果、FLSUNの kossel_miniのようだったので解凍フォルダの Marlin/example_configurations/delta/FLSUN/kossel_mini 内にある
      ・Configuration.h
      ・Configuration_adv.h
    を marlin 直下に上書きコピー

  3. 新ドライバ(TMC2208)のライブラリのダウンロード
     静音化のためのドライバを使用するためにはTMCのライブラリをインストールが必要です
     Trinamic driversに書いてあるようにMarlin1.1.9でTMC2208を使うためには次の手順でドライバのインストールが必要
    1. Go to TMC library homepage at
      https://github.com/teemuatlut/TMCStepper
    2. Click Clone or download and Download ZIP
    3. n Arduino IDE and go to Sketch -> Include Library -> Add .ZIP Library…
    4. Point to the downloaded file and click Open

  4. Configuration.hファイルのカスタマイズ
    1. 購入時のキット組立時に使ったMarlinのソース内にあるConfiguration.hの内容を反映
      ヘッダファイルの構成もかなり違っていた(旧版は行数が615行だったのにVer1.1.9では2053行)ので一つ一つ確認しながら反映した
    2. ドライバの設定
       今回はX,Y,Zの3つのステッパーを新ドライバに変更し、エクストルーダーは従来のドライバ(A4988)にしたので下記の変更を行った
       今回のようにTMC2208をシリアル制御しない場合はTMC2208_STANDALONEを設定すればいいようです

      #if 0 // 20200716 skyriver change for TMC2208
      //#define X_DRIVER_TYPE A4988
      //#define Y_DRIVER_TYPE A4988
      //#define Z_DRIVER_TYPE A4988
      #else
      #define TMC2208_DRIVER_TYPE TMC2208_STANDALONE
      #define X_DRIVER_TYPE TMC2208_DRIVER_TYPE
      #define Y_DRIVER_TYPE TMC2208_DRIVER_TYPE
      #define Z_DRIVER_TYPE TMC2208_DRIVER_TYPE
      #endif

      //#define X2_DRIVER_TYPE A4988
      //#define Y2_DRIVER_TYPE A4988
      //#define Z2_DRIVER_TYPE A4988
      #if 0 // 20200716 skyriver
      //#define E0_DRIVER_TYPE A4988
      #else
      #define E0_DRIVER_TYPE A4988
      #endif

    3. ステッパーの方向変更
       TMC2208ではステッパーの動作方向が逆になるので下記の変更する

      // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
      #if 0 // 20200716 skyriver change for TMC2208
      #define INVERT_X_DIR true // DELTA does not invert
      #define INVERT_Y_DIR true
      #define INVERT_Z_DIR true
      #else
      #define INVERT_X_DIR false // DELTA does not invert
      #define INVERT_Y_DIR false
      #define INVERT_Z_DIR false
      #endif

  5. コンパイル
     ヘッダファイルの修正が完了したらコンパイルする
     "Error while detecting libraroes included by c:/Usersskyriver..."のエラーが発生したが https://forum.arduino.cc/index.php?topic=591592.0 を参照すると特に問題ないと書いてあったので特に対処はしていない

  6. コントローラーへ書込み
     今まで使っていたのはRamps Plus2 BT7200 V1.8.26ですが、今回は予備で買っておいた BT7200 V1.9を使うことにした
     V1.8.26では基板中央のシリアルヘッダピンにジャンパーがしてあるが、ネットで調べたところ、V0.9ではジャンパは不要

  7. TMC2208のVref調整
     今回の作業で重要なポイントであり悩ましくもあるリファレンス電圧については

    • 使用しているステッパーはSL42STH40-1684Aで最大電流はImax=1.68A(Irms=Imax/1.414)
    • ネット情報ではマージン込みで0.9掛けとか最大値の半分くらいにし脱調するようなら増やしていくとか1V程度がいい等の情報あり

    だったので 1.6 / 1.414 x 0.9 更にマージンとして0.9掛けし、Irms = 0.9A とし下記のサイレント化に関するサイトのFAQのページの自動計算で
      Vref = 1.27V
    で調整した
     ドライバ自体は結構熱くなるが触れる程度だったので問題ないと思う

      FREQUENTLY ASKED QUESTIONS

    ★2020/07/26追記 {
     4時間以上かかるプリントを実行したところ2時間くらいでNGになっていました(下の写真)
     気付いた時点で緊急停止しホットエンドをホームポジションに退避後の写真ですがY軸(写真左下のステッパー)の位置が大きくずれたようです。
     コントロール基板はヒートベッドの下にありますが空気の流れが良くないので新ドライバの温度が上昇し一時的にシャットダウン したようです(TMC2208は143℃で自動的にシャットダウンする)
     新ドライバはコントロール基板上にX,Y,Zの順番で並んでいるのでY軸のドライバが最も放熱条件が悪い状態でした・・

     上記でVrefをステッパーのスペック内の最大電流値から算出しましたが、これは間違いです。
     3Dプリンタの造形動作に必要な電流値で決めるべきで、理想としては造形動作に必要なパワーが得られる最小値とすべきです。
     必要以上の電流をステッパーに供給しても発熱増大、電源ユニットの発熱も増加、万が一異常な動作になった場合にパワーがありすぎてハードを壊すより脱調した方がいい等、必要以上に電流供給してもいいことはありません。

     対策として
    • Vrefの見直し
       とはいっても造形動作に必要な最小の電流値を見つけ出すのは大変なので上記のIrms=0.9Aを約20%削減し、Irms=0.7Aとしました。この場合、上記サイトの自動計算からVref=0.99Vとなるので、ドライバのVrefを1.0Vで再調整しました。
       因みにYouTubeにあった https://www.youtube.com/watch?v=0agoD4VQRnk でもVrefは1Vと言っている(4:12あたり)

    • 冷却用FANの追加
       ドライバの冷却のために4cm角の12V0.1AのFANを取り付け、吸い込んだ空気がドライバに当たるようにしました。

     上記の2つの対策後に5時間弱掛かる造形を実施しましたが、問題なく出力できました。

    モジャモジャ発生
    }


 最後に今回の変更前後のコントロール基板の写真を貼っておきます。

コントロール基板(before)


コントロール基板(after)

★2020/07/25 追記
 Filament Cooling Fan がオンのままで制御できなかったので調査した結果、V1.9のコントローラではコネクタ位置が変更になっていました。シルク印刷で「Fan12V」と書いてあるコネクタに変更後、制御可能になりました。上の"after"の写真も差し換えました。


★2020/07/23 追記
 Twitterにポストした動画付きメッセージを貼っておきます。



★2020/07/26 追記
 デルタ式3Dプリンタでは定番のロッドのガタツキ音低減のためにスプリングをABS樹脂で作って取付けました。もともとロッドのガタツキ音はあまりなかったので若干効果あったかなぁ くらいの結果でした。

ロッドノイズ低減スプリング


nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。