【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でモーターをコントロールしてみました。
遠隔でモーターの回転を自在にコントロールできると、工作の幅が拡がりますよ!