デモスケッチMB_demoとスマホのBluetoothターミナルアプリを使ってトリム調整をする手順


USドロイド君はモーターの回転数を検出するセンサーを備えていないので、精確に直進や旋回をコントロールするのは困難なのですが、モーターの回転速度をBEMFという方法で検出して制御していますので、この回転速度の制御量を調整することである程度の精度を得ることができます。

USドロイド君本体の他にBluetoothアダプタモジュールが必要です。
USドロイド君のスケッチを書換えてある場合は、MB_demoに戻しておいてください。


BluetoothターミナルアプリはBluetooth Terminal HC-05を使用した例を掲載します。

スマホにPlayストアからBluetoothターミナルアプリBluetooth Terminal HC-05(mightyIT様提供)をインストールしてください。
USドロイド君にBluetoothアダプタを取付け、電源を入れます。
ターミナルアプリを起動し、USドロイド君のBluetoothアダプタに接続します。(初めて接続するときは先にBluetoothアダプタとペアリングしてください)
送受信の画面が表示されたら、接続できたか確認するため"$X"の2文字を送信してみてください。 電池電圧が送られてきます。(電池電圧が低すぎると通信できないことがあり、その場合電圧の値が送られてきません)
トリム調整でよく使うコマンドをアプリのカスタムボタンに設定します。
左のように前進60cmの設定をしてください。
$Fが前進コマンドで3Cは引数です。
10進数の60を16進数に変換すると3Cになります。
CR,LFは無視されるのであってもなくてもかまいません。
左90度旋回と右90度旋回のコマンドも設定します。
さらにEEPROMの0番地から16バイトを表示するコマンドとEEPROM書込みコマンドを設定します。

書込みコマンドは$Wの後に3桁の16進数アドレスが続きますが、00と2桁まで入れておきます。
60p直進させてみて、どちらかに大きく曲がるようならトリム調整します。

左の例では右にかなり曲がりますので、右モーターの回転速度を少し上げてみます。
トリム調整の設定値は1バイトの値でMSBは符号です。
とりあえず適当に16進数で28を設定してみます。
直進時の右モーターのトリム値はEEPROMの001番地に設定します。
あらかじめ設定した書込みボタンで$W00を送信した後、1:28.と送信します。
次に読込ボタンでEEPROMの値を読込むと001番地が28になったことが確認できます。
もう一度60p直進させてみると、まだに少し右に曲がってしまっています。
何回か調整を繰り返した結果、概ね直進するようになったところで調整完了としました。
左モーターは今回調整しませんでしたが、EEPROMの002番地にトリム値を書き込むことで調整できます。
左旋回は003番地に右モーターのトリム値を書き込むことで調整できます。
右旋回の調整は004番地に左モーターのトリム値を書き込むことで調整できます。
直進と旋回のトリム調整は独立しています。