OpenMV PWM制御

フリスクサイズの小さな基板にデジタルカメラと画像処理モジュールが搭載された製品 Open MV Cam。この小さなサイズで(パソコンやスマホなしに)リアルタイムでカメラの画像を取り込みながら、並行して画像処理や画像認識(例えば顔認識)まで完結するのは驚きなのですが、マイコンボードとしてのGPIOの機能も充実しています。SPI, UART, ADC, DAC, PWM と汎用マイコンボードのArduinoやmbedと同等の機能が詰まっています。

そこでOpenMVからモータードライバーを介してDCモーターに接続し、二輪駆動ロボットのスピード制御を試みます。OpenMV Cam M7のPWM OutDigital Outを"TB6612 2chモータードライバー"に接続して左右1対のブラシ付きDCモーター(いわゆる模型用モーター)をコントロールしてみます。


※上写真にはモーターの出力(ワニ口クリップ)が1対しか映っていませんが、モータードライバーのターミナル(端子台)には2対(AOUT1/AOUT2とBOUT1/BOUT2)の出力があります。

 

OpenMVとTB6612の接続

OpenMVの出力("PWM Out"と"Digital Out")をTB6612 motor driverの入力へ接続します。

OpenMV TB6612 備考
P0 AIN1 モータA 方向1
P1 AIN2 モータA 方向2
P2 BIN1 モータB 方向1
P3 BIN2 モータB 方向2
GND GND  
P7 PWMA モータA PWM
P8 PWMB モータB PWM
N/C STBY 5V (10kΩプルアップ)

 

TB6612の入力(IN1/IN2)と出力の真理値表

TB6612 motor driverにはABの2チャンネルあります。

たとえば、AチャンネルのIN1AIN1と読み替えます。

IN1 IN2 出力
Low Low 停止(ブレーキ) ※1
Low High 正転 (CW:ClockWise direction)
High Low 逆転 (CCW:CounterClockWise direction)
High High 停止(フリー)

※1. 発電ブレーキ、ショートブレーキ(Short Brake)

 

TB6612出力先の接続

TB6612 出力先
AO1 左モータ (+)
AO2 左モータ (-)
BO1 右モータ (+)
BO2 右モータ (-)
GND バッテリー (-)
VM バッテリー (+)

 

OpenMVのMicroPythonスクリプト

 

参照リンク