2015-05-27 12:22 by 仁伯爵

LittleRPの騒音をめぐる論争

 Kickstarterで出資した光硬化式3DプリンターLittleRPを無事に組み立てて、意外に安定した出力ができることにウキウキしていたが、換気の必要性やこのところの暑さから窓を開けての造形中に、騒音が意外と外に漏れていることが少し気になりだしてきた。ただビルドプレートを上下させるだけなのに、ちょっとうるさいのである。住宅街で得体のしれない機械音が長時間にわたり鳴り響いていたら、ご近所さんに要らぬ不安を与えてしまうのではないか。そこで、ステッパーモータードライバーをRepRap界隈で噂のTMC2100搭載の物に交換してみようと思う。RepRapなニュルニュル式3DプリンターへTMC2100を導入された方々が情報を公開してくれいているので、これらの先人たちの偉大なる知恵を参考にすればLittleRPにも導入できると確信を得た!

 ちなみに購入は日本国内ではITショップえとせとらさんのWebショップから購入できる。製造元のドイツのWetterott electronic社から直接買っても送料やら関税やらで高くなっちゃうので少数ならこちらで購入するのが最安だと思われる。

 TMC2100は、モーターが低速で動くときに出る磁気ひずみ(磁歪)による低周波を抑えることで静音化しているらしい。さらに256μSTEPへの自動補間機能内蔵しているので振動の低下も期待できるという。これは熱融解積層方式の3Dプリンターで使用したら無駄な振動が抑えられるので表面造形物の表面が波打つのを軽減できるかもしれない。が、今回は光硬化方式であり、もともとあんまり揺れないのでその効果は静音化に絞られそうだ。これでLittleRPの騒音が、モーターの駆動音によるものなのか、可動部の摩擦によるものなのかという論争に決着がつくはずだ。TMC2100によって静音化されれば、モーターが犯人で、これでもまだうるさいままであれば、シャフトなどの可動部分の摩擦や振動による音が犯人だ。

TMC2100との遭遇とLittleRPの分解

 ITショップえとせとらさんで購入したTMC2100がさっそく届いた。基盤とピンとヒートシンクがセットになっていた。
TMC2100_003
 これらをはんだ付けしていくのだが、組み立てイメージはこんな感じ。LittleRPに取り付ける場合は、チップを下向きに、ピンの説明書きが書かれている面を上向きにする。因みにMakerbot Replicator2Xに搭載する場合は、この逆にしなければならないが、それはまた別のお話。
TMC2100_004
 LittleRPから基盤を取り外す。この赤い枠で囲んだ青い小さな基盤が今回取り替えるモータードライバーだ。
TMC2100_005
 この基盤を3枚におろす。左から、メインのardino互換基盤、モータードライバー搭載用のシールド、モータードライバーモジュールとなっている。余談だが、真ん中のモータードライバー搭載用シールドの基盤を見てみると、もう一つモータードライバー搭載用の回路がプリントされているが、ピンやコンデンサーが搭載されておらず省かれている様子がわかる。先日発売された別売りのTilt Kitではここに電子部品をはんだ付けしてモータードライバーを追加することになる。
TMC2100_006
 メインのボードは、arduino uno互換のRedBoadという中国企業の製品が使われている。本家のarduino Uno通常版と比べると割とすっきりしている。比較するならarduino Uno SMDの方がいいかもしれない。メインのボードが故障したら、arduino unoを買ってきてファームウェアにGRBLを書き込むとそのまま使用できそうだ。
TMC2100_007

いざ、はんだ付け

 TMC2100の基盤にピンをはんだ付けしていく。はんだとは、鉛40%、錫60%にヤニが少量含まれた合金である。これを熱で溶かして基盤上の銅とはんだに含まれる錫を反応させて銅と錫の合金層を作ることで電気的に接合させる事をはんだ付けと呼ぶ。はんだの融点は183度くらいなのでそのあたりから解け始めるが、銅と錫の合金層を程よく形成するためには250度の状態を3秒キープすると3~9ミクロンの合金層いい塩梅になると古来より伝え聞く。それよりも熱量が少なくなれば十分な合金層が形成されず、熱量を与えすぎると合金層が育ちすぎて脆くなる。昨今では鉛が有毒であるので欧州のRoHS指令による制限が課されるなど、人体と環境への配慮から鉛フリーのはんだが使われることが増えた。しかし鉛フリーのはんだは鉛入りはんだよりも熱量に対する要求がシビアで、失敗の確率が高くなる。素人たる吾輩にはちょっとハードルが高いので、今回は鉛入りはんだを使用した。基盤が小さく、はんだ付けする範囲も細かいので、高密度集積基板用はんだをつかう。また、温度調節機能のないはんだごてはほっとくととても高温になり扱いが難しい。吾輩は弘法ではないので筆を選ぶ。温度調節ダイヤル付きのはんだごてを使用した。

TMC2100の取り付け

 なぜはんだ付けについてつらつらと語ったのかというと、はんだ付けに自信が無いので調べたのである。知識を付けて不安を払拭し、一歩を踏み出すのだ。たとえその一歩を踏み外して転ぼうとも、その転んだ跡が道となる。はんだ付けにかかる時間の半分は、はんだ付けをする対象の固定に要すると言う。今回はピンがたくさんあるので曲がって固定してしまうと基板に装着できないという悲劇を生む。そういう時は、基盤にピンを刺してしまう。
TMC2100_008
 その状態で、TMC2100を乗っけてはんだ付けしていく。そうするとはんだ付けが終了するとTMC2100が装着された状態になるので、ピンが刺さらなくて困ると言う事が無い。
TMC2100_009
 左がもともとのモータードライバーで、左が今回付けたTMC2100である。よく頑張ったほうだと思う。自分で自分を誉めたい。
TMC2100_010
 本体に付けた様子がこちら。写真では隠れてしまって見えていないがTMC2100の売りである静音化機能StealthChopを使うためには、CFG1とCFG2のピンをオープンにしておかなければならないので、ジャンパーピンははすべて外しておく。このジャンパーピンを外す作業を行っておけば、CFG1とCFG2のピンをペンチで切る必要はない。ペンチで切るのは基盤上でOPEN出来ない場合のみだ。
TMC2100_011
 そして、ヒートシンクをつける。TMC2100は結構発熱するのだ。とっても熱いのである。
TMC2100_012
 はんだ付けが終わったら、はんだがショートしたりしてないか虫眼鏡でよく確認する。あとはちゃんと合金層が形成されてて通電してることを祈りつつ、本体に取り付けて電源を入れてみよう。

TMC2100のモーターへ送る電流調整

 取り付けが終わって無事に電源を入れることができたなら、TMC2100の調節ネジを回してモーターへ送る電流の調整津をする。TMC2100は、モータの音を静かにして、256マイクロステップ自動補間機能で振動を抑えるというメリットとがある反面、弱点もある。発熱が大きく、冷却をちゃんとしないと脱調(ステッパーモーターがパルスとの同期を失い、ちゃんと動かなくなる事)してしまう。電流が少なければモーターはパルスを失い脱調し、電流が大きすぎれば発熱が大きくなって脱調する。モーターに合わせて電流の調整をシビアに行わなければ、脱調しまくるのである。ではどこを調整するのかというのが下の写真である。
TMC2100_013
 解かりやすい写真が無かったので本体についていない写真になってしまったが、実際に調整するときには本体に取り付けて電源が入った通電した状態でテスターを使ってVrefピンの電圧を計測する。この電圧を調整することでモーターに流れる電流を調整していく。デフォルトの状態では1Vになっているようだった。LittleRPで使用されているステッパーモーターは、NEMA17で、1.2Aの電流がちょうどよいらしいので、Vrefピンの電圧は計算上1.68V位になると思ったのだが、実際にネジを回して1.67Vに設定してLittleRPの制御ソフトであるCreation Workshopのコントロールでビルドプレートを上下させてみると、1~2回上下させたらそれっきり動かなくなってしまう。
TMC2100_015

 そこで、1.2Vくらいまで落として同じくビルドプレートを上下させてみたところ、しばらく動いて、止まって、また動くと言う不可解な動きをした。脱調しているようだ。そこで、0.8Vまで下げてみたところ、+10や-10で動かすとうまく動いているように見えるが、+50や-50を指定して大きく動かすと動く幅が毎回違う。やはり脱調しているようだ。そこで、0.6Vまで落としてみると、脱調せずにうまく動いているようだ。音はと言うと、びっくりするほど静かだ。耳を澄ませていないと動いていることを忘れてしまうほど、静かに動く。ニンジャみたいだ。RepRapな3Dプリンターでの先人たちの報告ではなぜかモーターの回転が意図した方向と逆になると言う事が報告されているが、LittleRPではそのようなことはなく、特にモーターとの接続コネクタを180度回転させて接続したり、ファームウェアの設定をいじったりしなくてもオリジナルのモータードライバーとの交換前と同じ方向に動作してくれた。

テストプリントの失敗と原因の探求

 ここまで来たらついにテストプリントだ。長時間の駆動に脱調せずに耐えられるだろうか。例によって、テスト用のSTLを出力してみた。右側が今回の出力。左側が以前出力した成功例である。
TMC2100_014
 ぺったんこだ。ぺったんこはぺったんこで魅力があるのだが、今回はそうも言ってられない。なぜぺったんこになったのだろうか。Twitterでぺったんこになった有様を嘆いていたところ、tomo-3WF5-14-14さんが解決方法を教えてくださった。この場を借りて改めて御礼申し上げたい。このブログは皆様からの情報によって支えられている。間違いや不足などあればどしどしお寄せいただきたい。

 取り替える前のモータードライバーであるTi DRV8825は、Full、1/2、1/4、1/8、1/16、1/32のステップが選択可能であった。そしてLittleRPのデフォルトの状態では1/8マイクロステップが設定されていた。今回交換したTMC2100は、Full、1/2、1/4、1/16が設定できる。そう1/8マイクロステップの設定が無いのだ。さらにTMC2100のセールスポイントである、とっても静かなstealthChopモードを使用する場合は、1/4マイクロステップか、1/16マイクロステップのみとなる。今回はジャンパーピンをすべて取り外し、CFG1とCFG2をオープンにしているので1/16となっている。これがぺったんこになった理由だ。1ステップを1/8回転でうまく動くように設定されているのに、その設定のままで1ステップ1/16回転しかしないと、ビルドプレートの上下運動が半分の距離になってしまう。そのため、出力物の高さが半分になってしまっていたのだ。モータードライバーの動作モードがどうなっているかをファームウェアは気にしていないらしい。なので、ファームウェアさんに1ステップが半分になったよ!倍の長さで動いてね!と教えてあげなければならない。

GBRLの設定

 LittleRPのファームウェアにはGBRLが採用されている。GBRLは、ArduinoCNC(Computer Numerical Control コンピュータ数値制御)のコントローラーにするためのオープンおソースのソフトウェアだ。つまり、ArduinoGBRLを乗っけて、モータードライバと接続し、ステッパーモーターを制御すれば、G-Codeであらわされたものを作り出すための切削機やレーザーカッター、3Dプリンターなどが作れてしまう。今回はそのGBRLさんに、モーターの動かし具合を変更してくださいとお願いすればいい。GBRLのコントロールにはGrbl Controllerを使用する。Grbl Controllerを使えば、G-Codeを読み込ませてGBRLを搭載した機器を制御することもできるが、その役割はCreation Workshopに任せてあるので、今回はGBRLの設定変更だけを行うために使用する。以下で最新版をダウンロードする。

 これを、任意の場所にダウンロードして解凍し、インストーラーを実行してインストールする。インストールが終わったらおもむろに起動して、Creation Workshopで設定したのと同じく接続されているCOMポートを選択し、”Open”ボタンをクリックすると。LittleRPとの接続が開かれる。
TMC2100_017
 接続されると”Open”ボタンが、赤い”Close/Reset”ボタンに変わる。コマンド欄の下を見ると、使われているバージョンはGrbl0.8aであることがわかる。この記事の執筆時点での最新版はGbrl0.9iである。右側の”Advanced”タブを選択し、”GBRL Settings”。ボタンをクリックする。
TMC2100_018
 すると、画面左側に現在の設定値が表示され、その設定値を変更するためのウィンドウがポップアップしてくる。
TMC2100_020
 ”steps /mm z”の値が”200″になっていることがわかる。これがz軸の動きの幅、1ミリメートル動かすのには何ステップ必要かを設定している。今は、1ミリ動くのに200ステップかけている。1ステップあたり5マイクロメートルだ。これが1/8回転の設定なので、1/16回転と半分にすることができた今は、1ステップあたり2.5マイクロメートルしか進まない。よって1ミリ動くためのステップは倍必要になる。つまり、ここの値を”400″にすればいい。変更したい値をダブルクリックすると入力が可能になるので、”400″へ修正し、”Apply”ボタンをクリックする。
TMC2100_020
 すると、左の下に”$2=400.00″、”Stored new setting”と新しい設定が格納されたことを示すメッセージが表示されていることを確認する。そのうえで、左上の赤い”Close/Reset”ボタンをクリックし接続を切ってからGrbl Controllerを終了する。
TMC2100_021
 これで、再度テストプリントを行うと、Z軸の運動幅が半分になってしまう問題は解決された!
TMC2100_022

TMC2100の未来と更なる展望

 TMC2100Reprapで使う場合と、LittleRPで使う場合でけっこう注意点が違うことが分かった。これで世の中のLittleRPの何台かがとても静かになれば、世の中で起こるはずだったご近所騒音トラブルの何件かを未然に防いだ!と言う事になるだろう。今回の改造には大満足であるが、ただTMC2100はその発熱量からちょっと扱いが難しいと感じた。ほかのモータードライバーにはヒートシンクなど付いていないことが多いが、TMC2100にはヒートシンクが必須である。電流調整はできるだけぎりぎりまで少ない電流で行い、冷却ファンなどを設置することも考えたほうがいいのかもしれない。長時間の出力時など特に注意が必要だろう。ともあれとても静かな環境が手に入ったのはうれしい事だ。これまで最小で5マイクロメートルまでしか細かくできなかった積層が、2.5マイクロメートルまで細かくすることができるようになったのもいい。これからは1層あたりを2.5マイクロメートルの倍数で指定出来るのだ!やったー!これで長時間の出力で脱調しないかどうか、様子を見ていくことにしたい。これに気を良くした吾輩は、MakerBot社のReplicator2XにもTMC2100を取り付けてみたのだが、その話はまた次回。震えて眠れ!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*


*

投げ銭はこちらへ
bitcoin : 1AFU37YroGt8ohmFz8nG1N2ockL56Z4hfQ

ADA Coin: DdzFFzCqrhskq33AqGL8XkJZ3bb1hpxJYTd2UrJFKVpXphWG8d1RuhQrKymmKU1zzjvGi7oU69PaJ7nXECRG4Kpvg27Pghf3hpRNhRMy
2019年8月
« 6月    
 1234
567891011
12131415161718
19202122232425
262728293031  
カテゴリー