最近のプロジェクト (Pololu社 SMC: DCモーター制御ボード)
私事ですが、最近はDCモーターを遠隔でシリアル制御するモノを知人に頼まれて作っています。
「プログラミングなら手伝うよ」と言っただけだったのに、いつの間にか他の事も頼まれて。。 (給料くれると良いのですが。)
Pololu SMC (シンプル・モーター・コントローラー)
モーターの制御には『SMC』(Simple Motor Controller) という米国のPololu社が販売しているDCモータを制御するモジュールを使うという事で、上の画像はそのモジュールにBluetooth-シリアル変換回路をつなげてスマホから制御出来る様にした設定です。
SMCのボードはAllegro microSystemsのモータードライバを搭載しているので、HブリッジによってDCモーターを制御。 また、制御インターフェイスには、0~3.3V電圧、RCサーボ信号、TTL UART、USB、I2C(※)を選択する事が出来ます。
※: I2CはG2のみのサポートになります。
制御例
TTL UART、USB、I2Cなどのデジタル信号のいずれかでDCモーターを制御する場合は、パソコンやマイクロコントローラなどから特定のコマンドを送って操作する事になりますが、0~3.3V電圧のアナログ制御の場合はポテンショメータ(3端子可変抵抗)、RCサーボ信号制御の場合はラジコンの受信機なり、RCサーボテスターに繋げて操作も出来ます。
ポテンショメータで制御 (0~3.3V電圧)
SMCのアナログ入力に1~10KΩのポテンショメータを繋げた場合はモーターをポテンショメータで直接制御する事が出来ます。
※: SMC設定用アプリ(Windows)の「Pololu Simple Motor Control Center」を使って「Input Settings」タブにある「Input Mode」を「Analog」に設定する必要があります。
ラジコン制御 (RCサーボ信号)
SMCのRC入力にラジコンの受信機からのサーボ信号を繋げた場合はラジコンのプロポで直接モーターを動かす事が可能になります。
※: SMC設定用アプリ(Windows)の「Pololu Simple Motor Control Center」を使って「Input Settings」タブにある「Input Mode」を「RC」に設定する必要があります。
Pololu社のSMCは、ホビー用としては対応電圧・電流がそこそこ大きなモデルがある他、制御に使えるインターフェイスの選択肢が広いのでプロトタイプやちょっとしたプロジェクト向けには最適なモーター制御モジュールではないでしょうか?。
シリアル SMC テスタ
因みに、今回頼まれたモノはSMCをシリアルコマンドで操作出来るシステムで、テスト段階としてBluetooth経由でスマホから操作出来るモノを組んでいます。
そこで、Bluetoothシリアルモジュール経由でSMCを制御出来る、Android用アプリ
を作ってみました。
Pololu社の公開しているSMCの専用の設定プログラムで、SMCの「Input Mode」をバイナリシリアルコマンド設定にする必要がありますが、RFCOMMのBluetoothモジュール経由でSMCを制御する事が出来ます。
コメント
コメントを投稿