Arduino PWM制御によるブートストラップMOSFETドライバのブレッドボード


APDahlen Applications Engineer

モータドライブとは何でしょうか?

モータドライブとは、モータへの電力供給と制御を行うための半導体ベースの回路です。これらのデバイスの多くは、インテリジェントなマイクロコントローラを使用して、ブリッジアームと呼ばれる半導体のペアに対するデジタル制御信号を生成します。一部のコントローラは2つのブリッジアーム(4つの半導体スイッチ)を備えていますが、3つのブリッジアーム(6つの半導体スイッチ)を制御するものもあります。マイクロコントローラによるパルス幅変調(PWM)信号は、小さい馬力のドライブの場合、金属酸化膜電界効果トランジスタ(MOSFET)の制御に使用される一方、最大約1000馬力のモータドライブには、通常絶縁ゲートバイポーラトランジスタ(IGBT)の制御に使用されます。一般的なモータドライバは、リモートコントロール(RC)カー、飛行機、クアッドコプタに使用される電子式速度コントローラ(ESC:Electronic Speed Controller)です。

この技術概説は、モータドライブに使用される技術を探求するシリーズの、2回目の記事です。今回の記事では、ブレッドボード上で組み立てることができる、最小限の、しかし機能的なブリッジアームを紹介します。このブリッジアームは、図1に示すようなブラシ式DCモータの速度制御(方向制御は無し)に使用することができます。次回の記事では、DCモータの方向制御と速度制御の両方を可能にする、2つのブリッジアームを使用した完全なHブリッジの組み立て方を紹介します。図1の構成に基づく回路図を図2に示します。

電子回路の試作実験の経験を積むために、回路のコピーを作ることをお勧めします。そうすれば、動作をよりよく理解するために、回路を変更することができます。

図1: MOSFETベースのブリッジアームは、DCモータの制御に使用できます。Arduino Nano EveryはPWM信号を生成するために使用されます。モータ速度は、ポテンショメータの設定によって決定されます。

安全対策: 15 VDC電源が作動しているときは、常にコンピュータのUSBポートを切り離して、PCを保護してください。これにより、15 VDC電源とArduinoピンが誤って接続されることを防ぎます。

この警告に従わない場合、PCのUSBポート、プロセッサ、またはマザーボードが破壊される可能性があります。

代わりに、低価格の携帯電話用充電器などの独立した電源から Arduinoに電力を供給してください。また、PCを保護するためにUSBアイソレータを購入することもできます。

まだ読んでいない人は、このシリーズの前回の記事を読んでください。この以前の記事では、ブートストラップコンデンサの概念と、それがハイサイドMOSFETにどのようにエネルギーを供給するかについて説明しています。

図2: IR2110ドライバとArduino Nano Everyを搭載したブリッジアームの回路図。コンデンサC2が重要なブートストラップ動作を行います。ArduinoはUSBポート(図示せず)から給電されます。

ブリッジアームとは何でしょうか?

ブリッジアームは、Hブリッジまたはフル3相ブリッジのサブセクションです。各ブリッジアームは2つの半導体より構成され、一般的にはMOSFETまたはIGBTで構成されます。ハイサイド半導体は負荷を電源に接続し、ローサイド半導体は負荷をグランドに接続するように設計されています。

図2の回路図は、典型的なブリッジアームとドライバを示し ています。これには、1対のNチャンネルMOSFETが含まれます。負荷が2つのMOSFETの中間点に接続されていることに注意してください。この中間点を基準として、MOSFET Q1がハイサイドデバイスに指定され、Q2がローサイドデバイスに指定されます。

MOSFETドライバの特長

図2に示す回路は、Infineon TechnologiesのIR2110PBF MOSFETドライバを搭載しています。このコンポーネントは、1990年代にInternational Rectifierが設計したものです。現在でも使用され続けていますが、14ピンDIPバージョンは、図1のようなブレッドボード回路で使用できるため、学習の観点から特に有用です。

IR2110ドライバは、最大約100kHzのパルス幅変調(PWM)動作を想定しています。データシートの機能ブロック図を図3に示します。ICパッケージ内に、Low Out(LO )出力とHigh Out(HO)出力を持つローサイドドライバとハイサイドドライバを含む2つの半独立の回路があることに注意してください。Low In(LIN) 、High In(HIN)、およびShut Down(SD)の入力は、すべて3.3V DCと互換性のあるローレベルのロジックです。

図3: ローサイドドライバとハイサイドドライバを示すIR2110の機能ブロック図。ハイサイドのドライバには、ブートストラップ動作をサポートするためのレベルシフト回路があることに注意してください。

IR2110には、低インピーダンス出力ドライバやハイサイドドライバのブートストラップ機能など、ブリッジアームのドライブに適した機能がいくつかあります。

低インピーダンス

MOSFETは電圧制御デバイスです。理論的には IRF520PBFのようなデバイスのゲートに15V DCを印加するだけで、低チャンネル抵抗でオン状態になります。実際には、特にスイッチング周波数が1KHzから100kHzの範囲にある場合、これは容易なことではありません。

MOSFETのMO(Metal-Oxide)とは、チャンネルからゲートを絶縁するために使用される金属酸化膜ゲート絶縁材料のことです。さらに、コンデンサは絶縁物で隔てられた2つの導体で構成されていることを思い出してください。したがって、MOSFETのゲート構造は、比較的大きな容量を持ち、MOSFETをオン/オフするために充電と放電を行わなければなりません。これは、デバイスが高周波で動作している場合に問題となる可能性があります。

MOSFETのゲート容量の充電と放電には、低出力インピーダンスの強力なドライバが必要です。このため、IR2110のドライバは最大2.5Aのパルス電流を供給する定格となっています。

技術的なヒント: 両方のブリッジアームのスイッチを同時に作動させると、貫通(クロスコンダクション)と呼ばれる状態が発生します。
これは、図2のQ1とQ2が両方オンになった場合など、電源が実質的に短絡します。この状況では、何かが壊れます。マーフィーの法則により、部品の交換は最も高価で困難となります。この不具合は、ドライバのロジックが機能不全に陥った場合に発生する可能性があります。また、MOSFETが適切にオン/オフされない場合、特に高い周波数で動作している場合にも発生する可能性があります。これに加えて、低いオン抵抗の要求が、低インピーダンスのドライバを使用する主な理由の1つです。

ブートストラップ動作

図3には、以下の3つの電源系統があります。

  • ローレベルロジック用のVDD/VSSペア(図2に示すように5V DC)

  • ローサイドドライバのVCC/COMペア(図2に示すように、C3に関連する15V DC)

  • ハイサイドドライバのVB/VSペア(図2のC2に関連する15V DCフローティングブートストラップ

まだ読んでいない人は、DigiKeyのGuide to Bootstrap Operationを読んでください。この記事では、グランド基準信号とフローティング信号の区別に重点を置いて、ブートストラップ動作について詳しく説明しています。ハイサイドMOSFETゲートドライブ要件とブートストラップ充電回路の必要性に焦点を当て、ブートストラップ回路を掘り下げています。

要約: ブートストラップ回路は、ブリッジアームのハイサイドMOSFETをドライブするためのフローティング電圧源を提供します。ブートストラップ動作には、充電回路とレベルシフト回路を備えたMOSFETドライバが必要です。ブートストラップキャパシタ(フライングキャパシタ)は、ローサイドスイッチがオンになると充電さ れます。このコンデンサは、ハイサイドのドライバに安定した15V DC電圧を維持します。グランドを基準にしたオシロスコープで見ると、ブートストラップコンデンサのプラス端子は、15V DCとプライマリ電源の15V DCを加えた電圧(すなわち30V DC)の間を移動します。例えば、ブリッジアームの電源が50V DCの場合、ブートストラップ電圧は15V DCと65V DCの間を移動します。

ブートストラップ充電

図2において、C2はブートストラップコンデンサです。マイナス端子はブリッジアームの出力に接続されます。このコンデンサはIR2110のフローティングVB/VSペアに接続されます。Q2がオンの時にブートストラップコンデンサはD1を介して充電されます。

技術的なヒント: 「Q2がオン」という表現には2つの解釈があります。
1つ目は、MOSFET Q2がローサイドドライバにより物理的にオンの状態です。2つ目は、Q2のボディダイオードが導通しているときに起こります。ブリッジアームが誘導負荷に接続されていると仮定すると、これはハイサイドMOSFETがターンオフするたびに発生します。この場合、誘導フライバック電圧がQ2を強制的に導通させます。これにより、ブートストラップコンデンサC2のマイナス端子は、グランドに対してボディダイオード1個分だけ、電圧降下します。この場合、コンデンサはD1を介して約15V DCまで充電さ れます。

技術的なヒント: ハイサイドドライバをデューティサイクル100%で動作させないでください。ブートストラップコンデンサを充電するために、MOSFET Q1を定期的にオフにする必要があります。オフ期間がないと、コンデンサはゆっくりと放電していきます。これはやがてIR2110ドライバによって低電圧状態として検出されます。しかし、その結果出力は不安定になり、トラブルシューティングが困難になります。また、IR2110はMOSFETを保護するはずですが、低電圧の設定がアプリケーションに対して低すぎる場合があります。その結果、MOSFETは高いチャンネル抵抗で動作し、過熱やデバイスの破壊につながります。

レベルシフト

図3を見ると、ハイサイド用ドライバのレベルシフト回路が見えます。前回の記事では、オプトカプラを使ったレベルシフトを説明しました。これにより、ハイサイドMOSFETがグランドと電源電圧の間を自由に遷移する間、信号を通過させることができました。ブートストラップコンデンサと組み合わせることで、ハイサイドMOSFETは、ゲート/ソース間電圧が0V DCから15V DCに変化する、安定したドライブパルスを受け取ることができます。

私の知る限り、IR2110はオプトカプラを使用していませんが、結果は同じです。内部回路により、ハイサイドドライバと関連するブートストラップコンデンサは、電圧変化が激しい(dv/dtが高い)システム内で、0V DCから最大500V DCまでフローティングすることができます。繰り返しになりますが、ハイサイドドライバはハイサイドMOSFETのソースと一緒に移動することが不可欠です。これを一瞬でも怠ると、設計上の最大 V_{GS} を超え、MOSFETのゲート絶縁破壊が起こります。

技術的なヒント: ハイサイドのゲート/ソース間電圧の測定には、差動プローブを使用します。差動プローブには2つの入力端子があることを思い出してください。プローブは2つの入力信号の差に応答します。この測定は、従来の2つのプローブと演算を使用して実行できます。図4に示すように、昇圧電圧の測定にこのテクニックを使用し、チャンネル2からチャンネル1を差し引いた差分計算を行っています。

図4: ブートストラップコンデンサC2に関連する電圧。チャンネル1(オレンジ)はC2のマイナス端子、チャンネル2(青)はC2のプラス端子です。赤い線はチャンネル2とチャンネル1との差分計算の結果です。この赤い線は、ハイサイドMOSFETをドライブするために使用されるVBとVSペア間のフローティング電圧を示します。

テスト条件

図2に概略の回路が示され、図5に写真で示されている実験回路は、単一のブリッジアームを備えています。これにより、モータの回転速度は変えられますが、回転方向は変えられません。ブラシ式DCモータの双方向の回転速度を制御するには、フルHブリッジ(今後の記事で検討予定)が必要です。

図2において、DCモータがグランドとブリッジアームの出力に接続されていることに注目 してください。このことは、ハイサイドドライバQ1がコマンド実行中であり、ローサイドドライバQ2が待機状態であることを示していますが、LINコマンドラインはグランドに直接接続されているため無効になっています。同時に、モータの誘導フライバック電圧を吸収するためにMOSFETのボディダイオードが必要であり、Q2は回路動作に不可欠であることを認識しなければなりません。

代替テスト条件

ローサイドドライバを動作させるために、DCモータの2番端子の接続をグランドからDC電源に移します。HINとLINの入力も入れ替えます。

技術的なヒント: MOSFETの逆方向ダイオード(ボディダイオード)は、通常、MOSFETに対応する特性に合わせて設計されています。例として、Q1が誘導性の高いDCモータを通して5Aの電流を流しているとします。Q1がオフになると、このフライバック電流はQ2のダイオードを通して自然に還流されます。このことを知れば、MOSFETとボディダイオードを対応させる必要性を、よりよく理解できるでしょう。

性能向上のために外付けダイオードを使用することもできます。しかし、部品点数の増加は、部品リスト(BOM:Bill Of Materials)を考慮すると好ましくありません。

Arduinoのコード

Arduino Nano Everyのコードは以下の通りです。マイクロコントローラが10ビットのポテンショメータの値を読み取り、D3ピンのPWMをドライブするために8ビットの値に変換していることに注意してください。PWMを約98%に制限するために制限ブロックが設けられていることに注意してください。

#define VREF_PIN A7
#define PWM_PIN 3
void setup() {
  pinMode(PWM_PIN, OUTPUT);
  TCB1_CTRLA = 0b00000011;  // pin D3
}
void loop() {
  uint16_t setpoint = analogRead(VREF_PIN);
  uint16_t drive = setpoint >> 2;
  if (drive > 250) {
    drive = 250;
  }
  analogWrite(PWM_PIN, drive);
  delay(50);
}

この記事で説明されているように、デフォルトのPWM周波数を980Hzから32kHzに上げるために、特殊機能レジスタ(SFR:Special Function Register)を直接操作することに注目してください。この高い周波数は、モータのハムノイズを可聴範囲外にシフトします。また、モータを不連続(パルス)モードから連続モードに移行さ せます。ここで、「連続」という用語は、スイッチング周波数とモータのインダクタンスを考慮すると、モータの電流がほぼ連続的であることを意味します。周波数が低いと、誘導エネルギーがPWMサイクルごとに散逸してゼロになるため、電流は不連続(パルス状)になります。

図5: B&K PrecisionのDC電源とDigilentのAnalog Discoveryを使用したブリッジアームの実験構成

まとめ

この時点で、機能的には限られていますが、モータコントローラが完成しました。ArduinoからのPWM信号とIR2110 MOSFETドライバを使い、ブリッジアームのハイサイドMOSFETを制御することができました。このソリューションは、レベルシフト回路とブートストラップコンデンサを中心とした優れた回路が特徴で、MOSFETのソースがグランドと電源電圧の間を行き来している時でも安定したオン/オフ信号を提供します。

そうは見えないかもしれませんが、高度なモータドライブを理解するために、私たちは大きな進歩を遂げました。次のステップとして、2つのブリッジアームを使用してHブリッジを構築します。これにより、ブラシ式DCモータの双方向速度制御が可能になります。そこから、BLDC(Brushless Direct Current:ブラシレスDC)モータ用の台形波ドライブや、100馬力の誘導モータ用の産業用可変周波数ドライブ(VFD:Variable Frequency Drive)で使用される三相正弦波を生成するのは小さなステップです。

以下のスペースにコメントや質問をお寄せください。この記事の最後にある問題と批判的思考を使う問題に答えて、あなたの知識を試してみてください。

このメモから何かが得られた場合には、いいね!をお願いします。

次回の記事もお楽しみに。

ご健闘をお祈りします。

APDahlen

著者について

Aaron Dahlen 氏、LCDR USCG(退役)は、DigiKeyでアプリケーションエンジニアを務めています。彼は、技術者およびエンジニアとしての27年間の軍役を通じて構築されたユニークなエレクトロニクスおよびオートメーションのベースを持っており、これは12年間(一部、軍での経験を織り交ぜて)教鞭をとったことによってさらに強化されました。ミネソタ州立大学Mankato校でMSEEの学位を取得したDahlen氏は、ABET認定EEプログラムで教鞭をとり、EETプログラムのプログラムコーディネーターを務め、軍の電子技術者にコンポーネントレベルの修理を教えてきました。彼はミネソタ州北部の自宅に戻り、このような記事のリサーチやエレクトロニクスとオートメーションに関する教育記事の執筆を楽しんでいます。

注目すべき経験

Dahlen氏は、DigiKey TechForumの積極的に貢献しています。この記事を書いている時点で、彼は160以上のユニークな記事を作成し、さらにTechForumへ500にものぼる投稿を提供しています。Dahlen氏は、マイクロコントローラ、VerilogによるFPGAプログラミング、産業用制御に関する膨大な研究など、さまざまなトピックに関する見識を共有しています。

LinkedInでAaron Dahlenとつながります。

有用なリンク

関連する有用な情報については、以下のリンクをご参照ください。

問題

次の問題は記事の内容を補強するのに役立ちます。

  1. 半導体の代わりにノーマリオープンスイッチを用い て、ブリッジアーム、Hブリッジ、および三相ブリッジの回路図を作成してください。

  2. MOSFETボディ(リバース)ダイオードとは何でしょうか?ブリッジアームではどのような場合に作動しますか?

  3. ブリッジアームに発生する貫通電流について説明してください。

  4. 貫通電流が高周波でより問題になりやすいのはなぜですか?

  5. ブートストラップコンデンサの充電に必要なステップについて説明してください。

  6. MOSFETは電圧制御デバイスであり、大電流ドライバが必要な理由を3語以内で説明してください。

  7. 簡単にするため、図2のブートストラップ充電電圧と MOSFETのVDD電圧は15V DCに設定されています。回路を変更せずに、部品を損傷せずに印加できる最大電圧はいくらでしょうか?ヒント: MOSFETが制約の要因です。

  8. R2110のレベルシフト回路の目的は何でしょうか?

  9. 誘導性負荷、75V DC電源、およびハイサイドMOSFETに印加されるスイッチング周波数が10kHzの場合を想定して、ブリッジアームの出力電圧をグラフにしてください。同じグラフ上に、IR2110のVBピンに印加される昇圧電圧波形を描いてください。

  10. IR2110を2つの独立したローサイドMOSFETのドライバとして使用できる理由とできない理由を説明してください。例えば、1つの接地基準MOSFETを10 kHzでドライブし、もう1つの接地基準MOSFETを15kHzで駆動することは可能でしょうか。ヒント: IR2110には、貫通電流を防止する内部回路が内蔵されていますか?

  11. IR2110のVSピンがブリッジドライバから切り離されるような障害がシステムで発生した場合、その症状と予想される障害について説明してください。ヒント:体系的なトラブルシューティングの一環として、故障解析を行いましたか?

  12. IR2110PBFIRF520PBFのデータシートを入手してください。
    A) それぞれのデバイスの最大電源電圧は何ボルトですか。
    B) より高い電圧を扱うために、図2にどのような修正を行わなければなりませんか。
    C) システムの最大動作電圧に適したブートストラップ充電ダイオード(D1)を選択してください。

批判的思考を使う問題

これらの批判的思考の問題は、記事の内容を発展させ、その内容や隣接するトピックとの関係を全体像として理解することができます。このような問題は、自由回答形式であることが多く、リサーチが必要であり、エッセイ形式で答えるのが最適です。

  1. 図2の回路図を50V DC電源で動作するように変更してください。満点をとるために、50V DC電源から必要な電圧を導出してください。ヒント: 簡単にするために、リニア電圧レギュレータを使用してください。

  2. 100%のデューティサイクルで動作するように回路を変更してください。満点をとるために、ゲート電圧を50V DC電源から導出してください。

  3. 75Aのスイッチングが可能なNチャンネル50V DC MOSFETのデータシートを入手してください。
    A) DigiKeyの品番は何ですか?
    B) 入力容量はいくらですか?
    C) ドライバの出力インピーダンスを50Ωと仮定して、得られるRC回路の時定数を計算してください。
    D) デューティサイクルが50%に設定されている間、オン時間はスイッチング時間の10倍でなければならないと仮定して、最大動作周波数を推奨してください。
    E) ドライバの出力インピーダンスが5Ωと仮定した場合の再計算をしてください。
    F) これらの計算に基づいて、大電流と高速スイッチングを含む PCB 設計に関する推奨事項を示してください。




オリジナル・ソース(English)