モータドライバ(TB67H450FNG)の動作確認

動機

電子工作で、モータを動作させようとしたところ、今までさんざんお世話になっていたモータドライバであるTA7291Pが見つからず、生産終了していたことが分かりました。もう見ることが少なくなると思うと悲しいですが、今回はその後継機(の1つ?)と言われているTB67H450FNGを用いてモータを動作させてみようと思います。

モジュール作成

今回使うTB67H450FNGは秋月電子通商(akizukidenshi.com)で購入させていただきました。(通販コード:I-14967)

TB67H450FNGはチップ部品であり(図1)、そのままではユニバーサル基板で使うことができません。秋月電子通商にTA7291Pライクに使うためのモジュール化する基板もありましたが、今回は以前マルツで購入していたDIP変換基板【D016】(図2)を使用することにしました。

まずはチップ部品のはんだ付けです。親指ほどの基板に、さらに小さいTB67H450FNGの脚をはんだ付けしていきます(図3)。逆作用ピンセットでICと基板を固定することで、ずれること無くはんだ付けすることが可能です。

2つのモータドライバを搭載したモータドライバモジュールが完成しました(図4)。これを用いてモータを動作させていきます。

モータドライブ回路

回路図を図5に示します。今回はマイコンとしてArduino Unoを用いて制御を行います。

TB67H450FNGは、TA7291Pと同様にIN1、IN2の組み合わせでモータの正転/逆転/停止/ブレーキが制御できます。また、Vrefの電圧値とRSピンに接続する抵抗の抵抗値によって、モータに流す電流を制御できるようです。OUTはモータの両端に接続し、VMにはTB67H450FNG本体とモータを動作させるための電圧をかけます。

IN1かIN2のどちらかをLOWにして、もう片側にPWMを流すことにより、モータの速度制御が可能となるそうです。

モータを動作させるための電流がArduinoから出力できるか分からなかったため、電源は別回路としてVMに5Vを給電することとします。

図5 TB67H450FNGを用いたモータドライブ回路

データシートを見ると、TB67H450FNGの主な仕様は以下のようになっていたので、電圧値や電流値が超えないようにしてください。

  • ロジック入力端子入力電圧(HIGH):2.0~5.5V
  • モータ電源(VM)定格電圧:50V
  • モータ出力電流(Iout)定格電流:3.5A
  • Vref端子電圧:0~5.5V(4V以内が望ましい)

VrefとRSによる電流Ioutの上限値Iは以下の式で計算されます。

$$I_{out}(Max) = V_{ref}(gain) * \frac{V_{ref}(V)}{ RSS(Ω)}$$

ここで、$V_{ref}(gain)$は通常$0.1$だそうです。

今回は、$V_{ref}(V)$を$3.8V$、$RSS(Ω)$を$1Ω$として、電流の上限値$I_{out}(Max) = 0.38A$にしようと思います。

プログラム

プログラムは以下の通りです。Arduinoの11ピンでPWM出力を行い、モータの回転速度が増減を繰り返します。

const int IN1 = 5;
const int IN2 = 6;

void setup(){
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
}
void loop(){
  for(int i = 100; i < 255; i++){
    analogWrite(IN1, 255 - i);
    delay(10);
  }
  for(int i = 100; i < 255; i++){
    analogWrite(IN1, i);
    delay(10);
  }
}

動作確認

実際に動作させてみました(動画1)。モータの回転速度が変化していることが分かります。これで、TA7291Pと同じようにモータを制御することが可能になりました。(動画は別の回路を検証していた時の動画になっていました。後日修正します…。)

動画1 TB67H450FNGを用いたモータドライブ

まとめ

TB67H450FNGを用いて、TA7291Pと同じようにモータの回転を制御することができました。

コメントを残す

メールアドレスが公開されることはありません。