Arduino プログラム モータ制御 回路 電子工作 高専3年生

【モータ制御⑥】モータドライバ回路の設計~Nch FET Hブリッジ~【Arduino】

前回はFETを使ったモータ駆動回路について勉強しました。

この回路ではモータを回転させることはできますが、逆転やブレーキなどの制御を行う事は出来ません。

Hブリッジ

モータの回転方向の制御には、Hブリッジ回路(フルブリッジ回路)が用いられます。Hブリッジ回路は、4つのスイッチを用いて構成され、スイッチのON、OFFの組み合わせにより、正転、逆転、ブレーキを実現します。以下にHブリッジ回路の詳細を説明します。

Hブリッジ回路の構成

  • 回転方向の制御:モータの回転方向を制御するためにHブリッジ回路が使用されます。
  • 4つのスイッチ:Hブリッジ回路は4つのスイッチで構成されます。これにより、モータの回転方向やブレーキを制御します。

MOSFETの種類

MOSFETにはPch(Pチャネル)とNch(Nチャネル)の2種類があります。

詳しくは前回の記事をご覧ください

Hブリッジ回路には、すべてNchを用いたフルNchHブリッジ回路と、PN混合Hブリッジ回路があります。

  1. PN混合Hブリッジ回路
    • 特徴:最も単純でシンプルな回路を構成可能です。
    • 欠点:Pch型のFETはゲート容量が大きい傾向にあり、スイッチング損失が大きい。また、PchはNchに比べて種類が少ないです。
    • PchはNchと比べてドレインとソースの関係が逆となっている点に注意してください。
  2. フルNchHブリッジ回路
    • 特徴:4つのスイッチすべてをNch型MOSFETで構成した回路で、ハイパワーのモータドライバに使用されます。
    • 欠点:Nchの特性上、ゲートの電圧がソースよりVth以上大きい場合にのみ導通状態となります。電源が12Vの場合、ハイサイドのソースの電位はほぼ12Vとなり、これをONとするためには12V以上の電圧が必要です。

解決方法

  • 別電源を用いる方法:ハイサイドのNchMOSFETをONにするために、別電源を用います。
  • ゲートドライバICを用いたブートストラップ:ゲートドライバICを用いることで、ブートストラップ回路を構成し、必要なゲート電圧を生成します。次の節で詳しく解説します。

ゲートドライバIC

ゲートドライバICは、FETのゲートを操作するためのICであり、その能力によってFETをどのくらいの周波数で制御できるかが決まります。ゲートドライバICには様々な種類がありますが、今回はフルNchモータドライバを構成するためによく用いられる「IR2302」について解説します。

https://akizukidenshi.com/catalog/g/g115656/

データシート:https://akizukidenshi.com/goodsaffix/ir2302.pdf

IR2302の概要

  • ブートストラップ機能:IR2302にはブートストラップ機能が備わっており、ハイサイドとローサイドのFETを駆動するために必要な電圧を提供します。
  • 用途:フルNchモータドライバを構成するためによく使用されます。

各ピンの役割

Vcc:ICを駆動するための電圧を印加します。

HO:ハイサイドのFETのゲートへ信号を出力します。

LO:ローサイドのFETのゲートへ信号を出力します。

IN:FETのスイッチングを制御します。
HIGHが入力された場合はハイサイドのFETをONに、ローサイドのFETをOFFにします。
LOWが入力された場合はハイサイドのFETをOFFに、ローサイドのFETをONにします。

SD:INの入力状況に関わらず、LOWが入力されると、すべてのFETをOFFにします。

ハイサイドFETの駆動

ハイサイドのFETを駆動するためには、電源電圧以上の電圧が必要です。IR2302では、ブートストラップ機能を利用してこの電圧を生成します。

ハイサイドOFF, ローサイドONの場合

図に示すように、ハイサイドFETがOFFでローサイドFETがONの状態を考えます。このとき、点線の経路に沿って電流が流れ、コンデンサC1が充電されます。

  • 充電経路:ダイオードを経由して電流が流れます。
  • 電圧:C1の端子間電圧はゲート電源電圧からダイオードの電圧降下Vfを引いた値になります。例えば、電源が5VでVfが1Vの場合、4Vが充電されます。
  • ダイオード:高速スイッチング特性とVfが小さい点から、ショットキーバリアダイオード(SBD)が用いられます。

ハイサイドON, ローサイドOFFの場合

図に示すように、ハイサイドFETがONでローサイドFETがOFFの状態を考えます。このとき、C1が十分に充電されている場合、C1の端子間電圧は4Vとなります。

  • 動作:ゲートドライバを介してG-S間に電圧をかけると、G-S電位差は4Vとなり、FETのVth(2SK2232の場合は最大2V)を超えるため、ハイサイドFETをONにすることができます。

ブートストラップ方式の注意点

ブートストラップ方式では、コンデンサC1の電荷を使用するため、C1に充電する期間を与える必要があります。

そのため、PWM(パルス幅変調)を使用する前提で設計する必要があり、PWMのデューティ比は最大97~98%程度に制限する必要があります。

PWMについては下記記事をご参照ください。

回路図

以上を踏まえまして、ゲートドライバIC、IR2302とFET2SK2232を用いたHブリッジ回路について回路図を示しておきます。

基本はこの形になりますので、FETやゲートドライバICを他の性能の良い部品へ変更すれば、モータドライバの性能の向上が図れます。

Arduinoで制御する際のサンプルコードは以下の通りです。

#define MOTOR_A 9   //正転
#define MOTOR_B 10  //逆転

void setup(){
}

void loop() {
  //正転
  analogWrite(MOTOR_A, 250);
  analogWrite(MOTOR_B, 0);
  delay(1000);

  //ブレーキ
  analogWrite(MOTOR_A, 0);
  analogWrite(MOTOR_B, 0);
  delay(1000);

  //逆転
  analogWrite(MOTOR_A, 0);
  analogWrite(MOTOR_B, 250);
  delay(1000);
}

Follow me!

-Arduino, プログラム, モータ制御, 回路, 電子工作, 高専3年生
-, , , ,

PAGE TOP