2018年3月14日水曜日

ArduinoでパワーMOSFETを使ってみる その2


はじめに

ごぶさたしております.

以前はLEDを負荷としてArduinoでパワーMOSFETを使う方法を紹介しましたが,
今回はコイルやモータなどのインダクタを負荷としてパワーMOSFETを使ってみます.

負荷にインダクタを用いる場合,還流ダイオードを回路につける必要があります.今回は実験を交えながら,なぜ還流ダイオードが必要なのか考えていきたいと思います.とりあえず回路を作りたい方は次の見出しは飛ばしてください.

誘導負荷スイッチング Switching inductive load

ここでは実験に空芯コイル(以前リニアモーターカーの作成に使ったコイル)を使ってみます.

まず,その1で使った回路図のダイオードを素直にコイルに変えます.


図1. 実験で使用する回路図
図2. 実験で使用する実体配線図

この回路は一見動作しますが,MOSFETが壊れる可能性があります.ポイントはインダクタに流れる電流はMOSFETのスイッチオフの瞬間に0になることができないという点です.

電源電圧をVcc[V]とし, コイルに電流I[A]が流れている状態でMOSFETをオフする場合の回路動作を順を追って見ていくと
  1. 初期状態ではゲート電圧が印加されていて電流が流れている.
  2. MOSFETのゲートへの入力電圧を0Vにする.
  3. MOSFETのゲートの電圧が下がり,閾値電圧(Vth)を下回る.
  4. MOSがオフするため, 低いドレイン電圧で流れていた電流が従来のドレイン電圧では流れなくなる.
  5. インダクタは電流を流し続けるため, MOSFETのドレイン電圧を上昇させていき,最終的にはドレインソース間でアバランシェ降伏を発生させる.
  6. 電流の電流減少が始まる. この時に高電圧で電流が流れることになるため, MOSFETが発熱する. この減少はアバランシェ降伏電圧をVavとするとVav-Vcc=Ldi/dt より, t=(Vav-Vcc)*L*Iかかる.
  7. インダクタの電流が0になれば動作終了.
となります.
図3 初期状態(状態1)

図4 ゲート電圧を切った時(状態2)


図5. アバランシェ降伏が発生している状態(状態5)


つまり,インダクタに電流が流れている状態でスイッチをきると,ドレイン・ソース間にインダクタに流れている電流がながれるまで,ドレイン・ソース間の電圧が向上することになります.
MOSFETは高電圧を印加されるとアバランシェ降伏を起こします.(一般に,素子の定格電圧よりも高い電圧です)
アバランシェ降伏電圧は定格電圧を超えてはいますが,スペックシートではアバランシェエネルギーが一定以下であれば許容しています.
例えば通常前回用いた2SK4017では 単発では40.5mJ, 連続では2mJとなっています.
ですので,上記の回路で2mJ以下のアバランシェエネルギーでMOSFETのチャネル温度を定格範囲内に抑えてやれば,一応先ほどの回路でも動作することなります.

実際に実験してみましょう.(この実験はパワーを与えすぎると素子パッケージが破裂して大変危険です.弱いエネルギーで試すか,ケースでおおい,保護メガネをかけるなど十分に注意してください.)

今回用いるインダクタは760uHです.
Aruduinoで簡単なシングルパルスを生成するプログラムを作って,19usecターンオンしてみます.電源電圧は3Vとしました.オフ時の電流はV=L di/dtより3V/760uH*18usec=75mAとなるはずです.その状態でゲート信号をきると, 電圧波形は次の図のようになります.
ゲートをオフにすると, 電圧が急激に上昇し, 75V程度まで上昇していることがわかります.そしてアバランシェ降伏状態は1.8usecほどつづいています.電圧は下がっていますが,アバランシェ降伏時の電圧を75V一定とすると,この結果から, 0.051mJほどになります.

図3 アバランシェ降伏発生時の波形

しかし,一般的にはこのようにアバランシェ降伏をさせるのではなく,還流ダイオードを負荷のLと並列に配置します.

還流ダイオード 

繰り返しになりますが,MOSFETのアバランシェ降伏を防ぐためには,負荷インダクタンスと平行に還流ダイオードを配置します.還流ダイオードにはPiNダイオードやショットキーバリアダイオードなどを用いますが,ここでは簡単のため,ダイオードを使う代わりに,ゲートとソースをショートしたMOSFETを使用します.MOSFETの中には寄生ボディダイオードが存在するため,特性はよくありませんが,ダイオードとして使用することができます.

 さて,負荷と平行にダイオードを置くとなぜ,アバランシェ降伏が防げるのでしょうか.
 それは先ほど紹介した動作モードが次のように変わるためです.
  1. 初期状態ではゲート電圧が印加されていて電流が流れている.
  2. MOSFETのゲートへの入力電圧を0Vにする.
  3. MOSFETのゲートの電圧が下がり,閾値電圧(Vth)を下回る.
  4. MOSがオフするため, 低いドレイン電圧で流れていた電流が従来のドレイン電圧では流れなくなる.
  5. インダクタは電流を流し続けるため, MOSFETのドレイン電圧を上昇させていく. ドレイン電圧が電源電圧+ダイオードのオン電圧(Vf)よりも高くなると, ダイオードはアノードの電圧がカソードに比べて高い順バイアスになる. このときダイオードに電流が流れ始める.
  6. 流れ始めた電流はコイル, ダイオードの間をながれるため, ダイオードの損失, コイルの損失以外の電流減少はない.
  7. インダクタの電流が0になれば動作終了.
図6. 還流ダイオードを使った実験回路の初期状態

図7. 状態5の回路図

図8. 状態6の回路図

図9. 還流ダイオードを使った実験の回路図

図10. 還流ダイオードを使った実験の実体配線図


というように,ダイオードが存在することで,ドレインソース間に発生する電圧を抑制することができます.よって,先ほどはアバランシェ電圧70V程度まで上昇していたMOSFETのドレイン電圧が, Vcc+Vfまでの上昇に抑えられるわけです.


次回はインダクタとしてDCブラシモータを動かしてみます.