シリアルSMCテスタ(Pololu SMC用): サポートページ

シリアルSMCテスタ

知人のDCモーターを遠隔で制御するプロジェクトに使うモーター制御モジュール用のテストアプリを作ったのですが、もしかしたら需要があるのかもしれない?という事で

としてGoolgeのストアで公開してみました。

Android端末(スマホやタブレット)からBluetooth接続でPololu社の「シンプル モーター コントローラー (SMC)」というブラシ付きDCモーター制御モジュールにシリアルコマンドを送って接続されているモーターの制御をテスト出来るアプリで、最高で4台のSMCの制御が可能です。

Android版
シリアルSMCテスタをGoogle Play で手に入れよう

シリアルSMCテスタ メイン画面

あくまでもシリアルコマンドでの制御のテストだけの為に開発したアプリなので、操作パネルのカスタマイズなどといった仕様はありません。


現バージョンのv0.0.xでは、プロジェクトの開発用に渡されたBluetoothモジュールが「HC-06」というRFCOMMで、このタイプはiPhone/iPadが対応しているBluetooth Low Energy (BLE)ではないので、Android版限定でRFCOMMタイプのモジュールのみのサポートになっていますが、今後iPhone/iPadが対応しているBLEタイプのモジュールを手に入れた場合は、対応を検討してみたいと思います。

SMCとHC-06の接続例
SMC (上)とHC-06 (下)の接続例

このアプリは「As-is」形式の配布で、テスト環境の設定や制御テストはすべて自己責任となり、このアプリの配布・開発元は一切の責任も負いかねます。

このアプリを使ってテストをする場合は安全第一で、必ず安全検証と対策を徹底した上でご利用下さい。


このアプリは開発プロジェクトのテスト段階での利用を前提としている為、このページではあえて設定に必要な全ての情報を掲載しておらず、各自で各モジュールの説明書を読んで理解した上で安全なテストを自己責任で行える中・上級者向けの内容を掲載しています。


テスト環境設定

シリアルSMCテスタ」で実際にSMCを制御するにはアプリをインストールしたBluetooth付Android端末と、Bluetooth RFCOMMモジュールに接続したSMCモジュールが必要になります。

  • Bluetooth付Android端末
  • Bluetooth RFCOMMモジュール (例: HC-06)
  • Pololu SMC モジュール

SMCモジュールは、RFCOMMモジュール1つに付き、1台又は複数台を繋げる事が可能で、現バージョンでは最大4台のSMCを操作出来ます。

各SMCモジュールはPololu社がSMC用に配布している専用設定アプリ「Pololu Simple Motor Control Center」を使って「Input Mode」をバイナリシリアルコマンドモードに設定にする必要があります。

又、アプリが送るシリアルコマンドはPololu Protocolを使っている為、コマンド内で指定される「デバイス番号」と一致するSMCのみが反応する仕様になっています。 SMCのデバイス番号は工場出荷時で「13」に設定されているという事ですが、「Pololu Simple Motor Control Center」で変更が出来る為、テストの際はアプリ側で指定するデバイス番号とSMCで設定されているデバイス番号が一致することを確認して下さい。


SMC1台のみの場合の接続例

SMC接続例 (1台のみ)
図1: SMC接続例 (1台のみ)
  • Bluetoothモジュールの電源(VDD)はSMC上にある3.3V又は5.0Vのピンから供給する事が出来るので、利用するBluetoothモジュールの入力電圧の規格に適した電圧に接続する必要があります。
  • SMCからBluetoothモジュールに繋げる 「TX→RT」はSMCからのメッセージをアプリ側へ返すシリアル信号の線で必要が無ければ省略可能です。
  • あくまでもテストとしての利用を前提としているので、SMCと電源のプラス端子の間には非常時に電源を遮断出来るスイッチをいれ、テスト中にアクセスしやすい場所に設置して下さい。

SMC複数台の場合の接続例

SMC接続例 (複数台)
図2: SMC接続例 (複数台)
  • SMCを複数繋げる場合は、SMCからBluetoothモジュールに繋げる 「TX→RT」が必要な場合は図2の様に数珠繋ぎにする必要があります。 SMCからのメッセージをアプリ側へ返す必要がなければ省略可能です。
  • 図2ではVDD、モーターとバッテリーの接続の表示は省略されています。
  • 複数のSMCが同じBluetoothモジュールに繋がっている場合は、アプリが送るシリアルコマンド(Pololu Protocol)内で指定される「デバイス番号」に一致するSMCが反応する仕様になっています。

このアプリは「As-is」形式の配布で、テスト環境の設定や制御テストはすべて自己責任となり、このアプリの配布・開発元は一切の責任も負いかねます。

このアプリを使ってテストをする場合は安全第一で、必ず安全検証と対策を徹底した上でご利用下さい。



HC-06の設定

アプリからSMCにシリアルコマンドを送るだけであればAndroid端末とBluetoothモジュールのペアリングが出来ていて、SMCのシリアル通信の速度が自動に設定されていれば、SMCがBluetoothモジュールからのシリアル信号に自動同期できるので特に設定は必要ありません。 但し、今後予定している機能で、SMCのファームウエアのバージョンを確認する機能を使うには、Bluettothモジュールの通信速度がSMCが送るシリアル信号の速度と同じ値に設定されている必要があります。


シリアルSMCテスタの設定

「シリアルSMCテスタ」アプリからSMCにシリアルコマンドを送るには、SMCに接続されているBluetoothモジュールがAndroidとペアリングされていて、その上、アプリ上でも選択されている必要があります。


設の変更は「 設定」画面で行いますが:

  • メイン画面左上の「」をタップして表示されるドロワーメニューで「 設定」を選ぶか、
  • メインメニューにあるBluetoothボタンの左端にあるをタップします。

1. 設定画面: Bluetoothタブ

まず、テストに使うBluetoothモジュールをペアリングされたBlurtoothデバイスのリストから選ぶ必要があります。

ペアリングされているモジュールはアプリの「 設定」画面の「 (Bluetooth)」タブにある「ペアリングされたBluetoothデバイス」で確認出来ますが、Android端末上でBluetoothが有効になっている必要があります。

Bluetoothがオフ状態での「ペアリングされたBluetoothデバイス」
Bluetoothが無効の場合はBluetoothモジュールはリストされません。
Bluetoothがオン状態での「ペアリングされたBluetoothデバイス」
Bluetoothが有効になるとペアリングされているBluetoothモジュールがリストされます。
「ペアリングされたBluetoothデバイス」から選択
チェックボックスを✅にしてSMCに繋がっているモジュールを選択します。 例:「linvor」が選択されています。

2. 設定画面: SMCチャンネルタブ

SMCに接続されているBluetoothを選択した後は「 (SMCチャンネル)」タブで最高4つまでのSMCモジュールを選択出来ます。

※: SMC1台が制御出来るモーターは1個の為、「SMC1台 = 1チャンネル」という計算になります。

設定画面: SMCチャンネルタブ (初期設定時)
初期設定時のSMCチャンネルタブ
0番の詳細設定
各チャンネルの右端に表示されるをタップすると「詳細設定」が表示されます。
Btデバイスの選択
「BTデバイス」で、ステップ1で選択したリストからSMCが繋がっているBluetoothモジュールを選択します。
Btデバイス選択後のSMCチャンネルタブ
このタブで有効な設定が入力されたチャンネルのSMCのみがメイン画面で操作出来る様になります。

「詳細設定」

(各チャンネルの右端に表示されるをタップすると「詳細設定」が表示されます。)

  • チャンネル名: メイン画面に表示されるチャンネル(又はSMC)の名前を変更出来ます。
  • BTデバイス: SMCが繋がっているBluetoothモジュールを選択します。 右にある「」をタップすると「Bluetooth」タブで選択されているモジュールのリストが表示されるのでリストからモジュールを選択して下さい。
  • SMCデバイス番号: アプリが送信するシリアルコマンドのデバイス番号を指定します。 Pololuの工場出荷時の設定ではSMCのデバイス番号は「13」に設定されているそうです。


更新履歴

シリアルSMCテスタ

バージョン  更新内容
0.0.3
( 公開)
  • サポートページへのURLを更新。
  • Android 12+向けの権限チェックを更新。
  • ターゲットAPIを34に更新。
0.0.2
( 公開)
  • アプリ名を 「Pololu SMCテスタ」から「シリアルSMCテスタ」に変更。
  • サポートページへのリンクを追加。
  • RXデータを表示する「シリアルモニタ」を追加。
0.0.1
( 公開)
  • 初回リリース。


コメント

このブログの人気の投稿

[OBS] Twitchコメント欄向けCSSカスタマイザー (試作)

『コメ欄』用カスタムCSS - L◯NE風 (ツイキャス) - OBSのブラウザでも使えます。

[ツイキャス配信・閲覧支援ツール] キャスポケットツール: 初期設定

ツイキャスで他の人がサポートしている人って見えますか? (キャスポケットツール)

[OBS] コメントを逆の順番で表示 (ツイキャス/YouTube)

ツイキャス専門 『コメ欄』Lite (ライト)と『コメ欄』✚ (プラス)

キャスポケットツール: 検索の巻 (ツイキャスのユーザー検索とライブ検索)

『コメ欄』✚(プラス): 一般設定画面