BLEAD-TSHで遊ぼう!【作例集 モーターの無線遠隔制御編】

【2020年2月追記】※本文内で紹介している BLEAD-TSH は 現在販売停止しております。各種センサーとビーコンを組み合わせたソリューションをご希望の場合は、個別ににお問合せ下さい。

開発部のなーさんです。

突然ですが、
なーさんは子どものころ、そのころ流行っていた車のプラモデルやモーターでまっすぐ走る車のおもちゃで遊んでいたとき
いつかは「この車たちをラジコンのように動かしたい」と悶々としていました。

それからずいぶんと時を経ておとなになったなーさん。

このTSHがあれば、諦めていた夢が実現できることに気がつきました!!
ということで、まずは初歩的なモータ制御をやってみました。


下記は2019年9月現在の情報で執筆しています。
文中、画像中で使用されている商標等はそれぞれの企業、団体に帰属します。

つくったもの

こんな感じになります(音が出るので音量に気をつけて!)。

TSHを傾けると、そのアドバタイズを受信したBLE受信モジュール(マイコン)によって、TSHの加速度値に応じたモーター速度に可変させる、という仕組みになります。

TSHのアドバタイズをBLE受信モジュールで受けたあとは、
BLE受信モジュールが出力したPWM波形でトランジスタやFETをスイッチング(電流を通したり通さなかったりを高速で繰り返す動作)して平均電圧をコントロールします。

回路について

詳しいモーターコントロールの回路については、ネットで探してみてください。
主な部品は下記のものを使いました。BLE nano V2はもう販売終了なのが残念!

  • 制御回路:電源3.3V
  • BLE受信&PWM出力: RedBearLab製 BLE nano V2
  • PWMスイッチング素子: TOSHIBA製 2SK2232 MOSFET
  • 駆動回路:電源1.5V
  • ブラシ付きDCモーター: マブチ製 FA-130モーター

今回は、回転方向を固定にしたので、駆動回路はシンプルです。
またいろいろな制約があり2SK2232はBLE nano V2で直接駆動しています。
実践的な回路だと、まず小信号用トランジスタで電流を増幅してからモーター用のトランジスタやFETを駆動したり、制御側と駆動側の間をフォトカプラで絶縁したりします。

BLE受信モジュールのソフトウェア

BLE nano V2は、Arduino IDEで開発できるので利用しました。
サンプルにあったBLE_ScanReportのスケッチに下記の機能を追加しました。

  • 受信したTSHのアドバタイズ電波から加速度を抽出
  • 加速度からPWM信号のDuty比(電流を通す時間の割合)を決定
  • PWM信号を端子から出力

Duty比は、手前に倒せば増加、奥に倒せば減少という風にしました。

おわりに

BLEAD-TSHでモーターをコントロールしてみました。
遠隔でモーターの回転を自在にコントロールできると、工作の幅が拡がりますよ!

関連記事

  1. Elastic Stack を使った予兆検知結果の可視化 〜異常検知の…

  2. Elastic Stack を使った予兆検知結果の可視化 〜概要と環境…

  3. ASP.NET MVC で Wijmo を使う – 3

  4. 何でこうなるの? 現場で起きた開発回顧録【その1 Ajaxと画面更新】…

  5. 何でこうなるの?現場で起きた開発回顧録【その2-JSFライフサイクルと…

  6. BLEAD-TSHで遊ぼう!【作例集 筋トレカウンター編】