DIY 3Dプリンタを静かに動かす

私は最近、TMC2130 チップを用いてカスタム3-D プリンタをより静かにする方法を説明するビデオを見ました。これが元のビデオです: ここをクリックしてください。ビデオはついていくのが少し難しかったので、少しあいまいだった内容の詳細を明らかにするため、この投稿を書きました。また、配線に役立つより良い図表を提供するとともに、Digi-Key部品のリストも提供します。

注意すべき重要事項

  • この投稿では、モータ駆動用のPrusa カスタムプリンタとRAMPS 1.4 ボードについて説明します。他のお客様の3D プリンタは、この特別のサイレントステッパテクノロジーを使える場合があります。
  • これは8 ビットボードで動作します。
  • 配線はRAMPS 1.4 専用ですが、ビデオに従って、同様のピン構成を有する同様のドライバボードを使用することができます。
  • RAMPS 1.4 ボードはDigi-Keyでは販売していません。
  • この投稿では、ユーザーがはんだごて、ワイヤストリッパ、ワイヤカッタを持っているものとします。
  • 使用したファームウェア・ソフトウェアはここから入手できる Marlin の最新バージョンです。

TMC2130 とはどのようなものですか?

TMC2130 は、サイレントステップスティックとして知られ、品番は 1460-1187-ND; メーカー品番は TMC SILENTSTEPSTICK SPIです。この小さなドライバは、モータコントローラに接続し、使われる電流量を削減するアルゴリズムを使用するため、動作がよりスムーズで、より静かになります。このサイレントドライバの長所は、ポテンショメータによる追加調整が不要なことです。

ハードウェア構成

ビデオで述べられている最初のアクションは、サイレントステップスティックのヘッダをはんだづけすることです。このアイテムは16 DIP タイプのデザインですが、すべてのピンをドライバボードに接続する必要はありません。これを表す簡単な図を作成しました。
SolderingPinDiagram
ボードの「トップ」は小さい銅パッドが上にある側であり、ボードにはんだづけされているICチップが実装されている側ではありません。ビデオで説明されているように、ヒートシンクパッドはユーザーの方を向いていますが、ICチップはユーザーの反対側を向いています。ボードが別の方向にはんだづけされていたら、それは正しくありません。次のステップは、4つのボードをRamps ボードに挿入し、上向きのヘッダを配線することです。Ramps 1.4 ボードのピン配置図は次の通りです。

RAMPS_Pinout
RAMPS_Pinout1558×1114 75.9 KB



サイレントステッパスティックは、黒い線で囲まれた場所に挿入され、青色の四角はAux ピンが配置される場所、赤色の四角はエンドストップピンが配置される場所です。サイレントステップスティックは、Diag ピンが左側(電源用端子ブロックの方)を向くように挿入されます。ビデオでは配線図はすぐにできあがり、最初に述べたブレッドボードへの接続は示されませんでした。
silentPrinterSchematic
silentPrinterSchematic809×659 37.7 KB


ビデオの配線図に未接続のワイヤがありましたが、それは別の押出機E1 があるかのように描かれたのだと思います。実際のワイヤに関しては、ワイヤジャンパのほうが、一般的に扱いやすいです。補助接続がオスのヘッダの場合、次に示す推奨パーツリストがお勧めです。

Digi-Key Part Number Manufacturer Part Number Price Per Unit Quantity
1528-2182-ND 64 3.19 USD 1
1460-1187-ND TMC SILENTSTEPSTICK SPI 12.73 USD 4
438-1143-ND TW-FP-20 7.90 USD 1 (x10 Per PKG)
1568-1792-ND PRT-09140 3.95 USD 2 (x10 Per PKG)

これらすべてのパーツがそろったカートは次の通りです。https://www.digikey.com/short/pq3b0q

使用される物理的なワイヤの数については、438-1143-ND は最小で7本必要であり、1568-1792-ND は15本必要です。メスからメスへの接続は、Aux 3 接続のオスのヘッダへの4つのドライバすべてのCSワイヤと、エンドストップまでのDiag ピンの間です。オスからメスへのワイヤは、ブレッドボードへのドライバとAux コネクタへのブレッドボード間の他の接続用です。

Aux 接続のオスのヘッダが所定の位置にない場合、ワイヤの選択が少し異なります。ブレッドボードとサイレントステップ用は同じ数量で同じ品番です。

Digi-Key Part Number Manufacturer Part Number Price Per Unit Quantity
438-1143-ND TW-FP-20 7.90 USD 1 (x10 Per PKG)
1568-1792-ND PRT-09140 3.95 USD 2 (x10 Per PKG)
1568-1512-ND PRT-12795 1.95 USD 1 (x20 Per PKG)

これらのワイヤジャンパのカートは次の通りです。https://www.digikey.com/short/pq3b1r

今回ブレッドボードをAux ポートの接続ポイントに接続するには、オス-オスのワイヤ(1568-1512-ND)が必要です。Diag ピンをエンドストップに接続するための3本のメス-メスのワイヤ(438-1143-ND)。最後に、他のすべてのワイヤ(16本の1568-1792-ND)はオスからメスへのジャンパです。

ソフトウェア構成

Marlin の最新バージョンをダウンロードしたら、Arduino IDE の.ino ファイルを開けてください。ファームウェアのさまざまなファイル用に開かれたタブがあるはずです。Configuration_adv.hと書かれているものをクリックします。Ctrl + F を使用して2130 を検索します。そのコード行の前にある//を削除して、HAVE_TMC2130 を有効にします。TMC Arduino Library をインストールするのに、[Sketch]メニュー、[Include Library]、[Manage Libraries] の順にクリックしてください。2130 を検索し、最新のリリースをダウンロードしてください。HAVE_TMC2130 の下には、使用する各モータの行があります。ビデオでは、E0, X, Y, Z モータが使用されており、これらの行についてコメントはされていません。

//#define X_IS_TMC2130
//#define Y_IS_TMC2130
//#define Z_IS_TMC2130
//#define E0_IS_TMC2130

残りはコメントした通りにすることができます。押出機モータが使用されている場合、Z_CURRENT と Z_MICROSTEPS を下にスクロールして、行のコメントを外します。

//#define E0_CURRENT 1000
//#define E0_MICROSTEPS 16

R_Senseのデフォルト値は、ビデオで男性が推奨しています。HOLD_MULTIPLIER で遊んでも大丈夫です。0.2 は問題なく使用できる最低値で、1 が最大値です。補間はそのままにしてください。電流はその下のモータごとに調整できます。 _CURRENT の右側の数値はミリアンペアです。およそ1 か1.2A (RMS) を維持することをお勧めします。この例では800mAを使用しています。再度、下にスクロールして、Stealthchop を使用するかSpreadcycle を使用するかを決定します。(これらの行をコメント化するかコメント解除します。)サイレント操作が必要な場合はStealthchop をお勧めします。これはモータを弱くし、高精度の使用には最適ではありません。Spreadcycle はより高速の操作が必要な場合に使用されますが、これは音がより大きくなります。両方の組み合わせを使用できるハイブリッドモードという妥協案がありますが、彼はどちらか一方を使用することを推奨しました。次に自動電流制御(ハイブリッドモードがある場所にあります)をオンにして、センサーレス・ホーミングをオンにします。顕著な変化が見られる場合は、センサーレス・ホーミングで値を試してください。ただし、ほとんどのプリンタではデフォルトで問題ありません。Y_Homing_Sensitivity の後に次の行を追加します。

#define X_HOME_BUMP_MM 0
#define Y_HOME_BUMP_MM 0

これらの行は、プリンタが軸に頻繁にぶつかるのを防ぎます。ファームウェアをアップロードして、スムーズに動作するかどうかをテストします。

コード問題のトラブルシューティング

ビデオの最後には、特定の問題が発生したときのファームウェアの提案があります。軸が一方向にのみ動く場合は、configuration.h に移動してENDSTOP_INVERTING をfalse に変更します。軸が間違った動きをする場合は、configuration.h に移動してENDSTOP_…_DIR を変更するか、モータコネクタを反転させます。




オリジナル・ソース(英語)