ステッピングモーターの作動音を低減出来るモータードライバー「SilentStepStick」を購入して使ってみました。これで、3Dプリンターのあの気になる騒音も抑えることが出来ます。
独Wetterott electronic社のTMC2100搭載「SilentStepStick」
SilentStepStickは、TRINAMIC社のモータドライバーIC「TMC2100」を搭載したWetterott electronic社のステッピングモーター・ドライバーです。A4988などのモータドライバーと互換性があるので、取り替えて使うことが出来ます。このSilentStepStickは、最大1/256のマイクロステップで補間する1/16マイクロステップまで使うことが出来ますが、なんといっても一番の魅力はステッピングモーターの作動音を低減出来る「StealthChop」モードが有ることです。
ちなみに、Ramps1.4で使う時は、上の画像の基板を裏表逆にします。
SilentStepStickを取り付ける
今回、SilentStepStickを2つしか手に入れる事が出来なかったのですが、Ramps1.4で使っているX軸とY軸用のステッピングモーターのドライバを、A4988からSilentStepStickに取り替えました。
取り替える方法は難しくなく、日本でSilentStepStickを販売している「えとせとら」のブログやGenieさんのブログ「Genie’s Blog」、arms22さんのブログ「なんでも作っちゃう、かも。」で丁寧に分かりやすくその方法を説明してくれています。取替えの際にはとても参考にさせて頂きました。ありがとうございます。
・TMC2100 ステッピングモーター・ドライバー -えとせとら
・SilentStepStick -Genie’s Blog
・TMC2100搭載のステッピングモータドライバ「SilentStepStick」 -なんでも作っちゃう、かも。
取り付ける時にちょっと疑問に思った3つのこと
SilentStepStickを取り付ける時にちょっと疑問に思ったことがあったのでQ&A形式で書いておきます。
[Q1] マイクロステップの設定はどうするの?
[A1] モータードライバA4988では、マイクロステップの設定を3つのジャンパーピンの設定で1/1から1/16まで設定できます。SilentStepStickでは、StealthChopモードの場合は1/4か1/16のマイクロステップが選べ、Genieさんやarms22さんのブログで説明しているCFG1とCFG2のピンを切断しオープンにしている場合は、1/16マイクロステップのStealthChopモードになります。
[Q2] ジャンパーピンはどうすれは良いの?
[A2] A4988でマイクロステップの設定に使うMS1~MS3のピンは、SilentStepStickではCFG1~CFG3のピンに相当し同じ場所にあります。CFG1とCFG2はピンを切断してオープンに、CFG3は基板上でオープンになっているので、ジャンパーピンを付けていても、取り外しても変わりはありません。
[Q3] モーターを逆に動かすにはMarlin_v1のどこを変えればいいの?
[A3] Marlin_v1の308行目からのモーターの方向を設定してある部分を「true→false」(「false→true」)に変更します。(僕の場合はX軸とY軸のモーターだけ方向を変えました。)
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR true
#define INVERT_E0_DIR true
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
ヒートシンクを変えてみる
SilentStepStickは冷却不足だとモーターの脱調が起こるようなので、ヒートシンクをセットになっていたものから変えてみました。パソコンショップに行って大きめのヒートシンクを買って来て、それを1cm角に切ってみたのだけど、なんかスケール感が違うというか全体的に太い。なのでA4988でも使っていたヒートシンクの残りを改めて1cm角に切って取り付けました。表面は銅メッキだけど本体はアルミ製です。これで冷却効果も上がると思ったけど、SilentStepStickとセットになっていたヒートシンクと比べてみたらそんなに変わりませんでした。僕はRamp1.4を60mm角のファンで常に冷却しているので、まあ問題は無いでしょう。
左からちょっと大きくてスケール感の合わないヒートシンク、今回使ったヒートシンク、SilentStepStickにセットなっていたヒートシンク。
よし、これで準備完了!
SilentStepStickを使ってプリントする
早速SilentStepStickを付けてプリントしてみました。ちなみにVrefは0.8Vに設定しました。
おお、これは確かにステッピングモーターのノイズが低減しています。X軸とY軸のモータードライバーだけを変えたのですが、これでも十分に音は小さくなっています。ただし、ノイズが無くなるという訳ではありません。小さいけれどそれなりのノイズはあります。
そして、僕のこの3Dプリンター”Prusa Mendel i2″のフレームは寸切りボルトを使っていて剛性が悪いです。なので小さいノイズでもどうしても本体に共振してしまう事が多々あって、残念なことにそれを無くすことは出来ませんでした。それとX軸とY軸のリニアシャフトと、それに通してあるリニアベアリングの滑りが悪いのか、そこでもノイズが起こっているみたいです。
ただ、全体的に見てもノイズは相当小さくなっていますよ。
SilentStepStickがモーターのノイズを低減出来る理由
SilentStepStickを取り付けて、Marlinの設定を変更して、プリントしてみたら噂通りに騒音が小さくなりました。だけどやっぱり何となく気になるのが、どうしてステッピングモーターのノイズが小さくなるんだろうということ。知らなくても何も問題は無いけれど、ちょっとだけ調べてみました。
どういう風にネットで検索すれば良いのかよく分からなかったけれど、いろいろ見ていたら少しだけ書いてあるのを見つけました。Bisines Wireというニュース配信サイトの記事で、元はTRINAMIC社のリリースかなにかではないかと思います。
Motors operating at low speed exhibit a phenomenon known as magnetostriction, which causes an audible low frequency ‘hum.’ This low-frequency noise is well known as the 60Hz hum that emanates from transmission lines and transformers. Trinamic’s stealthChop minimizes magnetostriction by implementing a PWM algorithm that relies predominantly on voltage modulation for motor control at lower speeds. This technology minimizes PWM current fluctuation, which is the primary cause of low-speed hum.
[日本語訳]
低速でのモーター運転時の磁気ひずみ(磁歪)として知られている現象は、聞き取れる低周波を発生させます。この低周波ノイズは、送電線や変圧器から発せられる60ヘルツのものが良く知られています。TrinamicのStealthChopは、低速でのモーターコントロールを、主として電圧調整に依存するPWMアルゴリズムを実装することにより、磁気ひずみを最小にします。この技術は、低周波ノイズの主な原因である電流変動のPWMを最小限にします。
簡単に言うと、「電流PWMでは磁気ひずみの低周波ノイズが発生するから、電圧PWMにしてノイズの発生を抑えました。」ということですね。
磁気ひずみとは、磁性体の磁化の強さを変化させた時に起こるひずみです(Wikipediaより)。ステッピングモーターのコイルに電流を流すと磁界が生じて、それが原因でモーターの磁石がひずみます。一般的なステッピングモーターのドライバであるA4988などは、モーターに流す電流をPWM制御しているので、その電流の変化が磁気ひずみを生じて、さらにその変化の連続が低周波のノイズを発生させているということです。当然、モーターの速度が変われば、ノイズの周波数も変わるので音も変わります。
そこで、TrinamicのTMC2100は、その音の発生源となっている電流PWMを電圧PWMの制御にしてたので、低周波ノイズの発生を抑えて静かなステッピングモーターの運転が出来るようになったと言う訳なんですね。なるほど、なんとなく理解出来たような気がします。
ただ、そこには少々問題もあるようです。TMC2100のデータシートのstealthChopの章に書いてありますが、StealthChopは低速から中速での速度に限られているようです。ある値以上の速度すなわち高い電圧を供給する時は、PWMのスケールが最大になり、さらに電流を下げます。その電流が下がり過ぎるとモーターが止まってしまうらしいです。その後、モーターが一旦止まり、再び動かすことが出来ると書いてあるので、高速でモーターを動かすと時々脱調するというが起こるのかも知れないです。ただどの程度が高速なのかや、高電圧や低電流のレベルかは僕には理解出来ませんでしたので、もし興味がある方はTMC2100のページやデータシートを読んでみてください。(僕には話が難しくて正確に理解していない部分があるかもしれません。)
SilentStepStickが買えるところ
TMC2100が搭載されている独Wetterott electronicのSilentStepStickが買えるところを幾つか載せておきます。というよりも、この3つ意外は見つからなかった。そのうちAliExpressでも買えるようになるのかな?
■えとせとら
日本国内ではITショップ「えとせとら」で1つ2,160円(ピンヘッダー、ヒートシンク込)で購入出来ます。
・えとせとら
■独Wetterott electronic
製造元のWetterott electronicの通販サイトからも買えます。1つ9.95EUR(10個以上で割引あり)で、送料はDHLの配送で42.84EUR(購入金額500EURまでの場合)かかるようです。写真を見る限りピンヘッダーはセットになっているようですがヒートシンクは別売りみたいです。
・Wetterott electronic
■米FILASTRUDER
アメリカのフィラメントを製造している会社FILASTRUDERの通販サイトでも買えます。1つ$12.99SUD、送料$45USDです。こちらもピンヘッダーは付いているけどヒートシンクは別売りのもよう。
・FILASTRUDER
おまけ
3Dプリンタ関係の解説動画でお馴染みのThomas Sanladerer氏がYoutubeでSilentStepStickの説明をしています。ひたすらカメラに向かって英語でしゃべっているだけですが、日本語翻訳の字幕を表示させれば、何となく意味は分かりそうです。
Genie says
2015年4月13日 at 9:23 PMSilentStepStickは実質1.2Aくらいを境に過剰な電流に反応し停止してしまうようです。その点、Y軸がデュアル・モーター構成で1.6A程度流す必要がある私のHuxley改には不向きなため、X軸にのみ使うようにしていました。しかし、どうも256分割されたうちで微細なミス・ステップを繰り返すのか出力物の品質が安定しないため、現在3Dプリンターから取り外してPololu A4988を使用しています。SilentStepStickを使うと動作音がとにかく静かになるので、いずれ24V電源でもう一度稼動させてみたいと思っています。
AKIRA says
2015年4月14日 at 10:20 PMGenieさん、コメントありがとうございます。
デュアルモーターや多くの電流が必要なモーターには向かないんですね。ということは2つのモーターを使っているZ軸には使えないということですか。
TMC2100のデータシートをもう一度見てみたのですが、不安定な場合はCFG5のピンでBlank timeを調整する方法もあるようです。データシートの5.3章の囲みの中や3.1章のCFG5ピンの箇所に書いてあると思うのですが理解できませんでした。
TMC2100
24Vで使えると良いですね!
3Dプリンタ says
2015年7月4日 at 4:26 PMhttp://asobimind.com/shop/
こちらもでTMC2100購入できますね。クレジット対応なのが嬉しいですし安い。