TA7291P |
TB6612FNG |
単体のデータシートはこちらです. サイズは表面実装のSSOPですが,SparkfunからBreakoutボード(写真左)が出ていて,スイッチサイエンス等で購入できます(単価は900円程度).
小型ロボットでは他にも,超安価(200円程度)で使いやすいバイポーラ型のTA7291P (写真右)などを使う人も多いと思いますが,この手のものは損失が大きく(=発熱が大きく)スイッチングが遅いのが難点です.TA7291Pが放熱板つきで連続1.0Aなのに対してTB6612FNGはこのサイズで連続1.2Aですから, 効率の違いがよくわかります.
さて,かように優れもののTB6612FNGですが,使い方を誤ると全然効果を発揮しません.モータAの入力端子には AIN1, AIN2, PWMAの3本があり,AIN1, AIN2 の組で方向を指定,PWMAにPWM制御パルスを加えるようにすると以下のようになります(以下はArduinoで制御).
黄色がPWM制御パルス (PWMA),水色がモータドライバ出力(A01)です(この場合A02は0Vで一定です).PWMの搬送波周期は4msです.水色がきちんと黄色を追従していることがわかります.
ところが,使い方を誤って(あるいはピン数をケチって)PWMAをHIGHに固定し,AIN1, AIN2の一方をLOWに,もう一方にPWM制御パルスを使ってしまうケースがみられます.この場合は以下のようになってしまいます.
黄色がPWM制御パルス(AIN1),水色がモータドライバ出力(A01)です.期待した通りにスイッチングが行われていません.実は上の図はまだモータをつないでいないときの状況で,モータをつなぐとさらに酷くなります.
モータドライバの使い方になれていない人はご注意下さい.
※後ほどもう少し加筆