7/01/2012

歌うモータ

私の居室は,薄い壁一枚を隔てて学生の実験室と隣接しています(正確には,実験室の一角を壁で仕切って教員室にしているという感じです).話し声はさほど聞こえないのですが,モータなどの機械音だけはよく伝わってきます.私にとっては騒音どころかBGMみたいなものです.

一番大きいのは工作機械の音ですが,毎日聞いているとどの機械でどんな加工をしているか大体わかります.「糸鋸でアクリル切ってるな」とか,「そんな削り方じゃフライスの刃をいためるなあ」とか.音だけでも加工の上手下手は結構わかりますが,ほとんどは材料の固定のしかたと刃の送り方で決まるものです.

また,誰かが実験を始めるとロボットの音が聞こえてきます.それぞれ個性的な動作音をもっていますし,使っているモータの種類やギヤ比も違うので,誰がどのロボットを動かしているのか一耳瞭然です.たまにいつもと違う音が聞こえてくると,「あ,誰か新しいメカを作ったのかな?」などと思って,イソイソと実験室を覗きに行ってしまいます.

さて,このようにモータの音というのはなかなかに個性的なものですが,これを活用(悪用?)すると,こんな余興も可能になります.
用意するものはごくありふれたモータ制御系一式.ここで挙げたのはマイコン(Arduino Pro mini 3.3V),モータドライバTB6612FNG,タミヤのミニモータ,Li-po電池(3.7V),そして紙コップです.30分もあれば組めるようなものです.ここでマイコンにプログラムを書きこめば普通にモータを動かせるわけですが,そこにちょっと細工をすると…

  

DCモータをPWM制御すると,「ピー」という特有の甲高い音がしますよね.あの音はPWMのキャリア周波数に起因しています.普通はモータの時定数などを考慮して適当に決めてそのまま一定にしておくのですが,その周波数をオンラインでどんどん切り替えてしまえば,このように音階を奏でることができるというわけです.

いろいろ試してみたところ,モータ単体では蚊の鳴くような微弱な音しか鳴りませんが,紙コップの底に貼りつけるとかなりはっきり聞こえる音になります.
※動画ではギアボックスがついていますが,ギアボックスをつけずにモータを直接紙コップに貼り付けた方がきれいに聞こえることがわかりました.

音楽のスタンダードでは基準音階であるA4が440Hz,周波数が2倍になるごとに1オクターブ=12半音階上がりますので,周波数を2^(1/12)倍にすれば半音上がることになります.なおPWM制御ではデューティ比によってモータの速度を変えるわけですが,試してみた結果,聞こえる音はほぼ周波数だけで決まり,デューティ比にはほとんど関係がありませんでした.従って,ここではモータが動かないようにデューティ比を5%とごく小さく設定しています.

結局この現象は磁界中のコイルを振動させて音を出していることになるので,実はダイナミックスピーカの仕組みそのものです.モータとスピーカが同じ電磁誘導という原理に基づいていること,また振動源だけではだめで,適切な形状のコーンによる拡声が重要なこと,などを説明するのによい教材になるのではと思っています.


追記:こんな動画もありました.同じようなことを考える人はいるものです.