このHブリッジでPチャネルMOSFETが消え続けるのはなぜですか?


9

これが私のHブリッジです。 ここに画像の説明を入力してください 一方向で使用を開始するたびに、使用された方向に属するPチャネルMOSFETとNPN BJTが数秒で死にます。キルされたMOSFETとBJTは短絡を発生させるため、他の方向を使用できなくなります。彼らは顕著な熱や煙なしで死にます!
コントローラはarduino unoであり、NチャネルMOSFETのみがPWM信号で駆動され、Pチャネルは単純なデジタル出力ピンに接続されます。PWM周波数は、デジタルピン9および10のデフォルトの490Hzです。(各PWM出力は個別です)。私はすでに4〜5個のPチャネルMOSFET + BJTペアを殺しましたが、両方で発生する可能性があります。(最初に使用する方向によって異なります。)モーターは12V車のフロントガラスワイパーDCモーターで、電源は12V 5Aです。12Vと5Vの電源グランドが接続されています。

正しいと思われることが2つありますが、十分にテストしていないため、100%はわかりません。

  • 以前のバージョンでは、R7とR8に1kの抵抗を使用していましたが、問題はありませんでした。再試行しますが、PチャネルMOSFETが不足しています。
  • 揚げたMOSFETとBJTのペアを切り取ると、残りのMOSFETとBJTのペアを殺すことなく他の方向を使用できます。

ここで何が起こっているのか私を助けてください:)

  • NPN BJTとPチャネルMOSFETの間に抵抗を使用する必要がありますか?
  • 2N2222 BJTの代わりに2n7000 MOSFETを使用する必要がありますか?

更新:ワイパーモーターの代わりに12V 55W電球でHブリッジをテストしました。P-FETとNPNはテスト中に死亡しました。Nチャネル側は、40%PWM信号で駆動されました。負荷がなければ問題ありませんでした。

UPDATE2:R7とR8を150Rから1kに戻しました。これで、コンポーネントに障害が発生することなく、ブリッジが再び機能します。(私はそれを何日間も実行しませんでしたが、150R抵抗を使用すると、障害の再現に数秒しかかかりませんでした。)いずれにしても、Brianが示唆するように、GNDと+ 12Vの間のブリッジにデカップリングコンデンサを追加します。皆様のご回答ありがとうございます!


プログラミングの間違いを除外しましたか?Hブリッジを手動で制御しても、まだ死んでいますか?
rve 2016年

私はそれを排除しようとしました。手動で試したわけではありませんが、Hブリッジに負荷を接続せずに、より小さな電源で多くのテストを行っていました。次回は手動でブリッジを制御してみます。
gOldie_E36 2016年

1
テストのために、そして別のmosfetを殺す可能性を減らすために、モーターをはるかに小さいものと交換してみてください。Ledのペア、または小さなおもちゃのモーターなど。
通行人2016年

回答:


11

12V電源をどのように分離していますか?

考えられる障害モードの1つは、モーター電流のオフ(つまり、PWMレート)による誘導スパイクがフライバックダイオードを介して12V電源にダンプされることです。はい、それは起こるはずですが...

12V電源が分離されておらず、充電式バッテリーではないPSUから供給されている場合、または長い(誘導)ケーブルを介して供給されている場合、それは実際には12V電源ではなく、一時的にその誘導スパイク電圧まで駆動されます。これはMOSFETの定格をはるかに超える可能性があります...

高速オシロスコープで12V電源を監視します。過電圧スパイクの兆候が見られる場合は、減るまで減結合を増やします。(これには、低HFインピーダンス用の0.1uFセラミックコンデンサーと電解リザーバーコンデンサーが含まれるはずです。念のため、16Vまたは25Vのツェナーダイオードが含まれている可能性があります...)。

これが実際の問題であることはわかりませんが、カバーする必要がある1つのベースです。


1
これは最ももっともらしい説明です。このようなスパイクは、IRF4905の20V絶対最大Vgs仕様を簡単に超える可能性があります。その結果、ゲートとソースが短絡すると、NPNドライバーに大電流が流れ、破壊されます。
Dave Tweed 2016年

良い点は、デカップリングを使用していないことです。安価な20Mhzオシロスコープを持っているので、電源を監視してみます。セラミックコンデンサと電解コンデンサを接続しているので、それらを接続します。私はツェナーを持っていません。(いくつか入手します。)
gOldie_E36 2016年

ツェナーを控えてください。自動車用アプリでは、電源を駆動できる他のすべての理由により、16Vツェナーでは不十分です(充電中は、とにかく16Vに非常に近くなります)。また、これらのFETが実際に20V Vgsである場合、車内では長持ちしませんが、(分離された)12VラボPSUでは問題ありません。
ブライアンドラモンド

モーターは車から来ていますが、12Vの「実験室」電源で使用する予定です(実際には、安価な中国のACからDCへのスイッチングPSU)。
gOldie_E36 2016年

1
同じ回路で何が起こるか知りたくて電球を使った誘導負荷だったので、まだコンデンサを追加していません。それでも同じように動作します。
gOldie_E36 2016年

6

R1 R2は、存在しない最小のmosfetを除くすべてに対して大きすぎます。これは、ターンオンがターンオンよりもはるかに遅いことを意味します。つまり、ある程度のデッドタイムが含まれていると考えても、シュートスルーし、 fetsを食べます。追加のトランジスタを使用して、電源をすばやくオフにします。


私は方向転換の間に100ミリ秒のデッドタイムを使用していましたが、最後の試みでは方向転換はまったく行われませんでした。(方向を変えることでシュートスルーの可能性を排除するため。)そしてトランジスタはとにかく揚げました。R1とR2にはどのサイズの抵抗をお勧めしますか?そして、オフにするために追加のトランジスタをどのように接続すればよいですか?
gOldie_E36 2016年

5

上部のPチャネルMOSFETの1つがアクティブです。これにより方向が決まります。両方のNチャネルMOSFETにPWMを適用すると(回路で暗示されているように)、Hブリッジの半分でシュートスルーが得られます。

あなたは必要がありませ両方のNチャネル・デバイスへのPWMを適用する-トップはチャネルデバイスがアクティブ化または右上のPチャネルデバイスが起動されたときのみ、左下に適用されたPを去ったときにのみ、右下に適用します。

編集-また、PチャネルMOSFETは上下逆です。


1
そして次回は、電流制限付き電源でテストして、何らかの理由でエラーが発生した場合でも、少なくともトランジスタが自己破壊しないようにしてください。
Bimpelrekkie

両方のNチャネルに同時にPWMを適用しません。一度に1つだけに。私は初めて両方の方向を使用できますが、動作中はPチャネルMOSFETと使用された方向ダイに属するBJTが使用されます。
gOldie_E36 2016年

シュートスルーは発生しておらず、最後の数回は、電源と直列に12V 55W電球を使用していました。したがって、シュートスルー(電球が明るくなる)を検出できると同時に、シュートスルー状況からMOSFETを保護できます。問題は、トランジスタが通常の動作中に死ぬことです。
gOldie_E36 2016年

@ gOldie_E36もしそうなら、なぜこれを「NチャネルMOSFETはPWM信号で駆動される」と言ったのですか、また、ダイアグラムは両方のNチャネルMOSFETの名前として「PWM」を示しているのですか?また、PチャネルMOSFETは上下逆です。
Andy別名

1
あなたが正確な情報を提供しない限り、人々はあなたを助けることができません。悪い情報を提供すると、人々の時間を無駄にします。何が起こったのかを考えると、コンポーネントの物理的な配置が図よりも正確であると誰がどのように信頼できるでしょうか?
Andy別名

3

私にとって際立っていることの1つは、FET全体にフライバックダイオードがないことです。モーターは誘導性負荷であるため、電流が変化すると(FETでV = L dI / dT)、FETに高電圧を非常に簡単に生成できます。これらの電圧は、FETのソース/ドレイン接合のブレークダウン定格を簡単に超える可能性があります。

これを解決するには、通常、ダイオードをジャンクションと並列に配置して、次のように電圧をチェックします。

Hブリッジダイオード

(画像:http : //www.modularcircuits.com/blog/articles/h-bridge-secrets/mosfets-and-catch-diodes/

これにより、FET両端の電圧が「クランプ」されます。


あ、ごめんなさい。写真から忘れてしまいました。ソースとドレインの間に、MOSFETごとにフライバックダイオードがあります。正しい方向を目指す1N4007ダイオード。画像を更新します。私はすでにPチャネルMOSFETのダイオードをテストおよび交換しましたが、状況は同じです。:(
gOldie_E36 2016年

MOSFETには、通常は十分な内蔵ダイオードがあります。1N4007は、高速スイッチングには適さない低周波整流ダイオードです。外部ダイオードを使用する場合は、ショットキータイプにする必要があります。
Bruce Abbott

では、MOSFEtはフライバックダイオードをまったく必要としませんか?私は〜490Hzのみを使用していますが、これは1N4007ダイオードには速すぎますか?
gOldie_E36 2016年

1

@AutisticはR1とR2について正しいです-この配置はPフェットのスイッチング時間を非常に遅くします。BJT + Pullupの代わりに、専用のP Fetドライバチャージポンプの使用を検討してください。

いくつかの健全性チェック

運転信号を確認できますか?どのFETをオンまたはオフにするかは非常に重要です。

forward: 
p1 on    p2 off 
n1 off   n2 on

backwards: 
p1 off    p2 on 
n1 on     n2 off

brake: 
p1 off    p2 off
n1 on     n2 on

以下を試してください:

  • PWMを停止する
  • 負荷を切り離します
  • 次のようにコードから駆動します:p1オンn1オフ、500ミリ秒待機、p1オフn1オフ100ミリ秒(デッドタイム)、p1オフn1オン500ミリ秒、p1オフn1オフ100ミリ秒(デッドタイム)、繰り返し。これにより、デバッグが容易なテスト信号が生成されます。
  • これで、hブリッジのp1 n1出力がGNDから12Vに適切に切り替わります。スコープを使用してテストするか、小さな電球も使用できます。電球をGNDとp1 n1出力の間に接続します-電球が点滅するため、p1は良好です。12Vに接続し、p1 n1出力-n1が良好になるように点滅します。
  • スコープがある場合は、p1とn1が相互導通していないことを確認してください。この信号をチェックすると、100msのデッドタイムでクリーンGND、クリーン12V、およびフローティングGND以外の値が表示されないはずです。
  • スコープがない場合は、非常に大きなデッドタイムを設定できます(例:500ミリ秒)。害はありませんが、Pフェットを節約できます。
  • 電球の代わりにモーターを接続してください。電球のように動作し、減速/停止します。これにより、問題がないことを確認できます。

問題

  • 上記のPWM配置には十分注意してください。あなたは非常に簡単にあなたのペットを揚げることができます。N側を切り替えている間にP側をオンにできるため、短絡が発生します(電源の品質によっては、20%PWMでも存続する場合があります)。

通常、マイクロコントローラーには、デッドバンド制御を備えた専用の4出力PWMドライバーがあります。4つのPWM信号は4つのフェットを駆動でき、これらの信号は同期および反転され、デッドタイムが考慮されます。詳細については、PICマイクロコントローラーのPWMを参照してください。http://www.ermicro.com/blog/wp-content/uploads/2009/01/picpwm_03.jpg

Arduinoはその目的で構築されていないため、基本的なロジックを使用して適切なPWM信号を生成することができます。目標は、n1とp1、およびn2とp2が常に相補的に駆動されるようにすることです。さらにいくつかのBJTを使用して取得できます。http://letsmakerobots.com/files/YG_H-Bridge1.jpg次に、PWM駆動できる2つのピンがあります。

次のようないくつかの論理ゲートを使用する場合があります。https//e2e.ti.com/blogs_/b/motordrivecontrol/archive/2012/03/26/so-which-pwm-technique-is-best-part-2次に、順方向/逆方向のクリーンな状態に加えて、速度を駆動する1つのPWMピンがあります。

この記事はチェックする価値があるかもしれません:http : //www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridge_drivers/


答えてくれてありがとう。この部分はまだはっきりしません:「上記のPWM構成を試さないでください。それは間違っています。N側を切り替えている間はP側を制御できないため、短絡が発生します。」P側をPWMで切り替えずにN側のみを切り替えている場合、および方向を変える間に大きなデッドタイムを使用している場合、これはまだ有効ですか?もしそうなら、どうですか?
gOldie_E36 2016年

1
すみません、私はそれを厳しくしていました。PWMを駆動する方法は複数あります。標準的な方法は、P1 N2をコンプリメンタPWM出力から駆動し、P2 N1を別のペアのコンプリメンタPWM出力から駆動することです。この方法では、すべてを適切に駆動する4つのPWM出力が必要です。非常に用心深く、モーターにブレーキをかける必要がない場合、ソリューションが機能する可能性があります。たとえば、p1オン、n1オフ、p2オフ、n2 PWMは有効な配置です-モーターにブレーキをかけることはできませんが、最終的なモーター速度はPWMと機械的負荷に依存します。(PWM中にn2がオフの場合、モーターに駆動電圧はありません。)
Gee Bee

私は私の答えを言い換えました。教育的な作業ではない場合は、既製のHブリッジコントローラー、または外部FETを備えたHブリッジコントローラーを使用することをお勧めします。
Gee Bee

0

右下のN-FETにPWMを適用するときに、左上のP-FETをオンに切り替えていますか?

P-FETの向きを再確認してください。P-FETが逆になっているようで、P-FETボディダイオードが導通しているときに過剰な電力損失が発生しています。障害状態でP-FETの両端の電圧を測定します。2N2222がオンのときにFETの両端に約0.6 Vが見られる場合は、P-FETが逆になっています。また、障害状態時のP-FETゲート電圧をチェックして、0.2 V未満であることを確認します。

モーターを回路から取り外しても、依然として故障電流が表示されますか?


こんにちは、回答ありがとうございます。再度向きを確認します。問題は、再生中は本当に何もできないということです。MOSFETを停止するのに数秒しかかかりません(静かに、過度の熱なしで)。そしてもちろん、それは私にMOSFETのコストをかけます:)モーターなしで、1Aの電源で私はたくさんの測定をしましたが。P-FETをオンにすると、ドレイン-ソース間の電圧は最小限になります(0.01 Vなど)。5A電源を使用し、誘導負荷(モーター)を使用しないで回路を夕方に再テストします。代わりに電球だけを使うつもりです。
gOldie_E36 2016年

P-FETをオンにしないで(2N2222を駆動しないでください)、N-FETをPWMするときに電流制限に達していないか確認してください。その場合、P-FETボディダイオードは導通しています。また、モーター負荷を100オームの抵抗に置き換え、電源と回路の間に10オーム程度の抵抗を挿入してみてください。N-FETがP-FETボディダイオードをグランドに短絡している場合は、電流を制限します。抵抗はまた、過熱する前にいくつかの測定を行う時間を与えます。
user2661956 2016年

テストのための良いアイデア、ありがとう。保護のためにPSUとHブリッジの間に抵抗をすでに使用していました。
gOldie_E36 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.