振動モータの位相制御
2006/1/10 梶本裕之
裏研成果第一号。どう考えても論文になったりはしないのでここで公開。
今回の縛りは「1日で出来ること」。所要時間は大体10時間くらい。休日一日分。
人間に対する触覚提示素子として、振動モータやボイスコイルモータ(VCM)がよく使われる。振動モータはDCモータに重りを取り付けただけの物。VCMはスピーカーのボイスコイルに重りが付いただけの物。
触覚提示用のVCMは特に”tactor”と呼ばれる。過去NECトーキン製のものが出回ったが製造中止されており、現在は米国の製品が数種類ある程度である[1][2]。
図 1 (左)振動モータ。(右)VCM[1]
価格的には
· 振動モータは安い(末端価格は100円くらい。大量購入したら恐らく10円以下)
· VCMは高い(7000円くらい)
というくらいの開きがある。
構造的にはVCMの方が遙かに単純なはずだが、振動モータは携帯電話に採用されたためにこの価格差となったと思われる。ではなぜVCMが携帯電話に採用されなかったのかという所は謎である。しいて言うならVCMはスピーカそのものなので波形を自前で生成する必要があるが、振動モータは単なるDCモータなので簡単に振動を作ることができる。また振動の質という点でも、どの方向を取ってもきれいなサインカーブになるといった点が評価されたと思われる。
性能的には、
· VCMはスピーカそのものなので、当然入力波形がそのまま出てくる。つまり振幅や位相、周波数は独立にコントロールできる。
· 振動モータはモータにおもりを付けた物であるため、振幅と周波数を独立には制御できない。つまり回転数を上げればそれだけ振幅も増える。
さらに振動モータは立ち上がりの時間も遅い。以上のことから人間に対する触覚提示の研究では、振動モータは「安くて悪い」ものと見なされることが多い。
よってここでの課題は次の通り。
「振動モータを使って、位相と振幅を独立に制御できないか?」
(余談:NECトーキンの携帯電話用VCMは、携帯電話のスピーカを振動子としても使用するというアイデアであった。しかし現在の所普及に至っていない。また現在入手可能な触覚提示用VCMとしては[2]を推す。日本からも発注可能。)
アイデアは単純。2個の振動モータをペアで使う。これらの位相を制御できるなら、二つのモータによって生じる振動は互いに打ち消し合うことも出来れば強め合うことも出来る。これによって振動モータを使って、振幅と位相を共に制御可能にする。
さらに言えば、常に振動モータを逆位相で高速回転させておき、振動が必要となった瞬間に位相をずらしてやれば高速な立ち上がりで振動を取り出せるはずである。
このとき必要となるのは振動モータの位相を検出する機構である。ここでフォトリフレクタを振動モータのおもり直下に配置して位相を検出する(図 2)。
図 2 振動モータの振動子直下にフォトリフレクタを配置
実際の実験回路を図 3に示す。各振動モータの下の基板に穴を空け、フォトリフレクタは下から覗いている。4mm角、厚さ1mm程度の小型フォトリフレクタを用いている。中央の写真をよくみるとかなり頑張っていることが分かる人には分かる。
図 3 実験システム。(左)表 (中)裏 (右)拡大
単一のフォトリフレクタの応答を図 4に示す。おもりの円弧部分がフォトリフレクタに近づいているときには一定の高い反射を示している事が分かる。
図 4 フォトリフレクタの応答
これを用いて二つのモータの位相をあわせた結果が図 5である。コントロールにはPIC12F683(8MHz、CCS-Cコンパイラ使用)を用いている。それなりに合う事が分かる。多少のずれはAD変換のチャネル切り替えにかかる時間が原因と思われる。
図 5 二つのモータの位相制御
できた。
しかし手間がかかりすぎ。触覚提示モジュールとして使うならVCMを使った方がはるかにまし、というのが当たり前の結論。そして封印。
しかし例えばマイクロミラーのように回転駆動が必要で、エンコーダがない状況では使えるかもしれない。
ちょっとモータの配置をかえると、振動制御ロボットが出来る(図 6)。
振動モータに偏加速度を持たせる、つまり回転の半周期は早く、残りの周期は遅く回転させると、地面との摩擦の兼ね合いで少しずつカタカタと進んでいく。
図 6 振動モータロボ
参考
[1] C2 Tactor http://www.eaiinfo.com/EAI2004/Tactor%20Products.htm
[2] Skin Stimulator http://www.tactaid.com/skinstimulator.html