TacHammerで遊ぶ

ざっとユーザガイドを読む

  • TIのDRV2605で制御される前提でユーザガイドは記述されている
  • TacHammerの片方の端には磁石、もう一方の端には素材が入っている

  • 鉄心の移動方向により2つの異なる触感が発生
    (電流方向によって鉄心の移動方向を変えられるのでそれでモード切替可能と見える)
    • Hit
      • 鉄心が素材に衝突する方向に移動する時に発生
      • 衝突感
      • 音も発生
    • Pulse
      • 鉄心が電磁ブレーキがかかる方向に移動する時に発生
      • 衝突感ではない
      • 音は発生しない
      • 通常のERMやLRAで発生する触感に近い

周波数特性測定

仕様書に載ってなかったのでモータの周波数特性を測定してみた。
なお個体差があるのであくまで参考値です。

測定環境
  • 振動子は糸で吊られた状態で静止させる。
  • 振動子には加速度センサ(MPU-6050)を貼付する。
  • 振動子への入力はM系列信号とする。
  • 振動子の主軸方向の加速度の実効値(RMS)が、0.2G~3.0Gまで0.1刻みごとになるようM系列信号を増幅し入力する
  • アンプ(LP-2024A)や加速度センサの重みや糸の張力などのもろもろ含めたシステムの特性を評価する。
結果

f:id:yusuke_ujitoko:20191001214347p:plain

TacHammerライブラリによる駆動

TacHammerの公式が配布しているarduinoライブラリで 以下のAPIが公開されている.

  • 上記のHitやPulseに相当するAPI (hitpulsehitpulseの中身はPWMの範囲が違うだけ.なぜ逆方向に動くかよくわからない)
  • Pulseを連続させて振動を提示するAPIvibration
  • さらに高級なエフェクトを提示するAPI

お手軽に扱えるが,入力波形の指定や位置制御などはできない.

DRV2605Lによる駆動

DRV2605には以下のような機能が備わっている。

  • Waveform library effects
  • Input trigger option
  • Audio-to-vibe IF
  • Real-time playback IF

adafruitのarduinoライブラリではすべてカバーしていて色々試せる。 例えば、waveform library effectはImmersionがライセンスする100超のエフェクトを 選択するだけでエフェクトを試せる。以下はエフェクトのリスト(データシートからの引用)。 しかしImmersionのライセンス契約の関係か、 それぞれのエフェクトがどのような信号波形に対応しているのかはわからない。

f:id:yusuke_ujitoko:20200325204318p:plain