高電圧PWMモーターコントローラー-Mosfets Explode


12

この問題に対する答えをすべての投稿で検索しました。この図に示すように、モーターコントローラー回路を構築しました。 図をできるだけ正確に作成しました。MOSFETのダイオードがデータシートのシンボルのように見えるように、MOSFETのダイオードが追加されました。 ご覧のとおり、Arduino UNOボードを使用した非常にシンプルなPWM回路です。ポテンショメータのフットペダルがアナログ入力の1つに取り付けられており、デジタル出力ピン6のpwm出力のデューティサイクルを決定するために使用されます。回線リンク

モーターはmotenergyが作るこのタイプの最小の48vモーターですが、これは私がこのように見た他の回路に比べて非常に大きなモーターです。起動時に簡単に約200アンペアを引き出すことができます。

回路は一種の働きをします-車輪が地面に触れないように車両を持ち上げるとき。その状態では、モーターは非常に簡単に回転し、それほど多くの電流を流しません。車輪が地面にあるとき、ペダルを踏み始めた瞬間にMOSFETが爆発します。私はこの回路を約4回作成しました。1つのバージョンで18個のMOSFETを並行して使用したところ、18個すべてが即座に爆発しました。(200/18 =約7アンペア/ mosfet)各mosfetは32アンペアを処理する必要があります。

私たちはついにalltraxからモーターコントローラーを購入しましたが、車両は正常に動作しますが、自分のモーターコントローラーが動作しなかった理由を突き止めたいと思います。私はエレクトロニクスが大好きで、長年にわたって多くの難しい回路を作りました。自分が何を間違っているのかを知るまで、私はよく眠れません。

私はAlltraxの技術者と話をしましたが、彼のコントローラーはMOSFETとコンデンサーの束にすぎないと言いました。彼は、コンデンサがMOSFETの爆発を防いだと言ったが、どのようにそれらが回路に配線されているのかわからなかった。彼は私の不足している情報の一部を持っていると思います。

だから、誰が私が間違っているのか教えてもらえますか?これを修正するには、どのようにコンデンサを追加すればよいですか?周波数でしょうか?Arduinoのタイマーを変更して、PWM周波数が約8000ヘルツになるようにしましたが、Alltraxコントローラーは驚異的な18,000ヘルツで動作します。モーターコントローラーが進むにつれて18kが小さいことはわかっていますが、巨大なモーターにはより小さな周波数が必要だと思いました。

また、MOSFETにわずかな違いがあるため、MOSFETを並列に配線できないと言う前に、正確に7インチの18ゲージワイヤを使用して各コネクタを並列に接続しました。小さなワイヤは小さな抵抗として機能し、それぞれが電流負荷を共有するようにします。

返信ありがとうございます。


2
いくつかのAlltraxコントローラーについて話し続けていますが、回路図には表示されません。
ハリースベンソン

1
回路図のMOSFETの部品番号は正確/正しいですか?
ThreePhaseEel

2
私は本当に専門家ではありません-しかし、私はいくつかの経験に基づいて悪い気持ちを持っています。このモーターの定格は13馬力です。Arduino、3個のFET、2個の抵抗器で速度制御を真剣に試みていますか?...安全に-産業用コントローラは、同じことを達成するために費用がかかるだろうか考えてみましょう
ポールUszak

3
モーター全体でどのダイオードを使用していますか?
アンディ別名

1
13 hp / 48 V = 210A。すごい、それはたくさんの電流です。モーターが失速するとき、500アンペアと思いますか?このような高電流用のフライバックダイオードとスナバに関する本を書くことができます。
オスカースコグ

回答:


29

質問からリンクする必要があるデータシートは次のとおりです。探す必要はないはずです。

各MOSFETは32アンペアを処理する必要があります

その VVGS=10


あなたは、設定に(5Vがあなたの最大のようです)することができますようにあなたが本当にここに多くの電圧としたいです。私があなただったら、をに、R 2を100k〜1MΩに変更します。MOSFETを完全に開かないと、抵抗が大きくなりすぎて爆発するからです。 5 V × R 2VGSR15V×R2R1+R2=4.54VR1R2

R D S O Nが最大35mΩのありますVGS=10VRDSon

V G S = 10 VP=2×R=32A2×0.035Ω=35.84W、これは、場合、約36Wが予想される電力損失であることを意味しますVGS=10V

、、データシートによれば、最大45mΩのです。R D S O N VGS=5VRDSon

I = 35.84W=2×0.045Ωで、Iを移動すると、が得られるため、MOSFET IFを介して28Aを安全に通過させることができます。抵抗値を修正します。MOSFETSのヒートシンクは必ず入手してください。たぶん、ファンによる能動的な冷却も可能です。=35.840.045=28.2A

Arduinoのタイマーを変更して、PWM周波数が約8000ヘルツになった

800Hzで十分な高さは必要ありません。これが一般的なBLDCドライバー(ESC)の切り替え時です。(私が間違っていなければ)。


あなたがやろうとしているのは、直列の抵抗でゲートを充電することです。それは下の画像のように見え、そのモデルをさらなる方程式に使用できます。

ゲートの静電容量()の最大値は 1040 P FCss1040pF

抵抗とMOSFETがこの回路を形成しています:

RC回路

C=Css×3=3120pFを並列に取得したためです。

R=R1||R2=909Ω

Vs=4.54V

コンデンサ上の電圧はこの式を、次のとおりです。 どこコンデンサの両端の電圧であるとあなたが、とそれを供給しているものです私たちの場合はです。

Vc=Ve×1etRC
VcVeVs=4.54V

PWMを送信しているので、絶対最悪のシナリオを作成します。analogWrite(1)を実行しようとしているときです。これはデューティサイクルです。したがって、そのデューティサイクルと8kHzで終了するまで信号が高くなり始めるのは、 488.3ナノ秒です。12561256×18000=

上記の式に数値を代入して、ゲートでの電圧を確認してみましょう。

Vc=4.54V×1e488.3×109909×3120×1012=0.71V

MOSFETは最小1V、最大2.5Vで開き始めます。したがって、この最悪のシナリオでは、ゲートを開くことさえできません。そのため、ずっと閉鎖されています。


私が本当に指摘する必要があるもう一つのことは、MOSFETが壊れている理由の最も可能性の高い理由は、巨大な抵抗器と非常に多くのゲート容量のために切り替えるときに非常に遅いためです。つまり、MOSFETが切り替わろうとしているとき、MOSFETに多くの電圧をかけながら、大量の電流を流します。そして、 =>本当に本当に多くの熱。P=×V

この画像をご覧ください:

スイッチング損失

理解できるように、青い線と赤い線が交差する場所になりたくありません。そして、その遷移の幅は、スイッチング周波数に関係なく同じです。したがって、頻繁に切り替えるほど、その痛みを伴う遷移に費やされる時間が長くなります。スイッチング損失と呼ばれます。そして、スイッチング周波数に比例してスケーリングします。そして、あなたの高抵抗、高容量、高周波数スイッチングは、最も可能性が高いあなたはその移行期にとどまるになり、すべての時間。そしてそれは、爆発またはMOSFETの破壊に相当します。


これ以上の計算を行う時間はありませんが、要点は理解できたと思います。試してみたい場合の回路図へのリンクを次に示します。どっちがいい


最後のアドバイスは、MOSFETドライバーを入手して、複数のAMPSをゲートにポンプできるようにすることです。今はミリアンペアをポンプしています。


Btw Doctor Circuit、あなたの最後の段落に関して、それはBJTトランジスタの唯一の問題です、彼らは彼らがより暖かいより多くの電流を提供しますが、MOSFETは彼らがより暖かいより少ない電流を提供するので、彼らは特別な種類のバランスを必要としません、彼らは自動的にバランスをとります。


継続、立ち上がり時間および立ち下がり時間。

上記の例では、8kHzスイッチングと1/256デューティサイクルでかなり意地悪でした。もっと親切にして、50%デューティサイクル= 128/256を見てみましょう。私はあなたがあなたの痛みを伴う移行にどれだけの時間を費やしているかを知り、あなたに伝えたいです。

そこで、痛みを伴う移行に関連する次のパラメーターを取得しました。

tdon =ターンオン遅延時間 =ターンオン立ち上がり時間 =ターンオフ遅延時間 =ターンオフ時間
tr
tdoff
tf

いくつかの厄介な近似を行い、ミラープラトーが存在しないと仮定します。MOSFETの両端の電圧は、オンに切り替えると線形に減少し、オフにすると線形に増加すると仮定します。MOSFETを流れる電流は、スイッチを入れると直線的に増加し、スイッチを切ると直線的に減少すると仮定します。あなたのモーターは、50%のデューティサイクルの定常状態で、負荷がかかっているときに200Aを消費すると仮定します。そのため、200Aで加速します。(モーターが出すトルクが大きければ大きいほど、より多くの電流が流れます)。

今、数字に。データシートから、次の最大値がわかります。

tdon = 40ns = 430ns = 130ns = 230ns
tr
tdoff
tf

さて、最初に、上記の遷移が8kHz周期のうちどれくらいかかるかを知りたいです。移行は期間ごとに1回行われます。遅延は遷移に実際には影響しません(1MHzなどの非常に高い周波数で切り替えている場合を除く)。

時間は、8kHzの= 50%のデューティ・サイクルとFSと遷移で 私ははるかに大きい値を見るだろうと思ったが、これは無視されますミラープラトーと寄生物質、および低速ゲート充電を無視します。また、これは、立ち上がり時間と立ち下がり時間が実際に信号の10%から90%であり、計算で想定している0%から100%ではないという事実を無視しています。したがって、0.528に2を掛けて、近似をより現実に近づけます。だから1%。tr+tf18000=0.00528=0.528

これで、痛みを伴う移行に時間を費やす頻度がわかりました。それがどれほど苦痛なのか見てみましょう。

P=1T0TPtdt

Vrt=48V1t430ns
rt=200A430nst

Vft=48V230nst
ft=200A1t230ns

P=Pr+Pf
Pr=1tr0trVrt×rtdt
Pf=1tf0tfVft×ftdt

Pr=1600W LOL!同じ答え、奇妙な
Pf=1600W
P=Pr+Pf=3200W

次に、この3200Wの移行に費やした頻度に戻りましょう。現実が始まると約1%でした(そして、もっと頻繁に起こると思いました)。

Pavg=3200W×1=32Wうーん、私はもっと大きなものが見えると思いました。


そして...他の99%の時間を計算しましょう!私は完全に忘れていました。これが大きな爆発です!私は忘れていた何かがあることを知っていました。

P=2×R=200A2×0.045Ω=1800Wそして、この伝導モードでは49.5%の時間を費やします。したがって、合計P50@8kHz=32W+1800W×49.5=923W

3つのMOSFETを並列に使用すると、MOSFETます。それはまだ... EX-PU-LOSIVE!32W+1800W×49.53=329W

いくよ あなたが探している爆弾があります。EX-PU-LOSION

これが私の最後の編集です。


4
13頭の馬を安全かつ確実に運転することがいかに難しいかを明確に示していると思います。危険なスケッチはどうですか?OPが新しいスケッチとピンを読み込んでいるときに、モーターは何をしますか?そして、おそらく48Vソースを短絡させます-それは興味深いでしょう。回避の失望/火災...にやるべきことがたくさんがあります
ポールUszak

7
さて、彼が480Vではなく48Vをいじっていることに満足しましょう。火傷を乗り越えて一生学ぶことができますが、心不全による死から学ぶことは困難です。
ハリースベンソン

3
@DoctorCircuit 1 nFはゲート容量Theです。それらを削除することはできません。それらはMOSFETの一部ですArduinoは、トランジスタを介して約20mAをプッシュできます。それはまだミリアンペアです。これが機能するものに近づけるためには、いくつかのAMPSをプッシュする必要があります。Arduinoと負荷を駆動するMOSFETの間に別のステージが必要です。ロジックインバーターが仕事をするかもしれません。しかし、これは、いくつかのAMPSをプッシュするために本当に必要なものです。Css
ハリースベンソン

2
@DoctorCircuitこれは私の最後のコメントになります。このビデオを見てください。全体を楽しみましょう。5時12分頃、MOSFETの使用を示します。そのはあなたの約3分の1です。そして、それははるかに要求の少ないモーターのために作られました。立ち上がり時間(痛みを伴う移行の一部)は、MOSFETで430ns、ATP206で110nsです。痛みを伴う移行の一部でもある立ち下がり時間は、あなたの場合230ns、ATP206の場合73nsです。したがって、痛みを伴う移行にかかる費用は約3〜4倍少なくなります。したがって、はるかに弱いモーターには、はるかに優れたMOSFETがあります。RDSON
ハリースベンソン

3
@DoctorCircuit私は嘘をついた、これは私の最後のコメントです。mosfetドライバーを購入するのではなく、自分でロジックインバーターを作成する場合。次に、移行中にMOSFETを短絡させないようにする必要があります。ここだ、あなたはそれを行う方法について説明します。
ハリースベンソン

8

最新のMOSFETは、正帰還(シリコン内部)が破壊を引き起こす危険な領域での残留を回避するために、迅速なスイッチングが必要です。NASAの論文の説明については、この回答の最後の段落をお読みください。

簡単な要約:そのゲート抵抗----- 1Kohm ------は大きすぎます。12/15/18ボルトのVDDに0.1UFバイパスキャップを備えたパワードライバーICを使用して、MOSFETゲートをすばやく充電して、すばやくオンにできるようにします。

MOSFETSは、安全動作領域のSOA定格のために自己破壊します。ここで、電圧*電流*パルス幅は電力消費を定義します。

FET接合部が深さ10U(SWAG)であると仮定すると、FETアクティブ領域の熱時定数に対して1.14マイクロ秒のTAUがあります。Miller Multiplicationを使用すると、ターンオン時間はそれをはるかに上回り、FETにかかる電圧は48ボルトであり、電流制限はありません。

===================================

2018年3月18日編集

NASAは、MODERN MOSFETの使用によるものとして、進行中のいくつかの設計でMOSFETの故障を診断しました(NASAの記事は2010年に登場しました。自動車業界は1997年にこの故障メカニズムを発見しました)。以前のテクノロジーMOSFETSのこれまでの負の温度係数の振る舞いは、高電流領域に押し込まれ、現在、中程度の領域に新しい安全でない領域が存在します。NASAはこれらのプロジェクトを旧技術に戻したため、信頼性の高いシステムを構築できました。

これは今日どういう意味ですか?とてもシンプル

---スイッチング領域で1マイクロ秒を超えて残らないでください。---

---ゲート-ドレイン容量を含むゲート容量をすばやく充電します。---

NASA論文[2010年発行]タイトルは

「パワーMOSFETの熱的不安定性の動作特性のサポート」と重要な文はここに引用されています。「現在製造中の設計により、電荷キャリアが支配的な領域(一度、関心領域外にある)が重要になり、安全な動作領域( SOA)」。

古い(堅牢なMOSFET)設計に関しては、次の文を抽出します。

「以前のMOSFETは主に移動度電荷が支配的な領域で動作していました。同じゲート電圧を維持しながら、温度が上昇すると移動度電荷が支配的な領域が電流をカットし、電流が減少してシステムが負のフィードバックを持つようになります実際、新しいパワーMOSFETのゲート電圧が高い場合、デバイスはモビリティチャージが支配的となります。メーカーは、MOSFETをモビリティチャージが支配的な領域に維持することを暗黙のうちに意図しています。高速スイッチ。古い部品には電荷​​キャリアが支配的な領域がありますが、この領域は通常のSOAの外側にあり、他の理由で障害が発生します。」


7

最初に、間違ったFETを選択しました。

FQP30N06には、Vgs = 10Vで40 mOhm RdsONがあります。Vgs = 5Vでは指定されていません。つまり、機能しません。

MOSFETの選択は妥協です。大きなシリコンダイと低RdsONを備えた大きなMOSFETは、多くの容量を持ち、ゆっくりとスイッチングします。小さいMOSFETはより高速にスイッチングしますが、RdsONは高くなります。

ただし、500-1000 Hzで切り替えることになり、電流が大きいため、RdsONは速度よりも重要です。

したがって、Vgsで指定された非常に低いRdsON(数ミリオームなど)のTo-220 MOSFET(冷却用)を選択する必要があります。

次に、 10Vゲート駆動用に指定されたFETで5Vゲート駆動を使用するため、完全にオンになりません。したがって、それは加熱して爆発します。データシートを見ると誰でもそれを見ることができます。

電流を考慮して、RdsONを可能な限り低くするために12Vのゲートドライブを使用します。そのため、5Vまたは10VのVgsで指定されたFETを問題なく選択できます。

OK。これで、多数のFETがあり、それらを12Vで駆動する必要があります。明らかに、いくつかのアンペアをゲートに出力して、すばやくオン/オフするドライバーが必要です。mouser / digikeyの「MOSFETドライバー」カテゴリを確認してください。arduinoから5Vを受け入れ、FETを適切に駆動する適切な製品がたくさんあります。

12Vの電源が必要になりますが、48Vを持っているので問題ありません。DC-DCコンバーターを使用してください。

第三に、 arduinoを捨てる必要があります。

この種のコントローラーには電流制限が必要であり、MOSFETが爆発するに(後ではなく)動作する必要があります。

これを行う方法は非常に簡単です。電流センサー(ここではおそらくホール効果)とコンパレーターを配置します。電流がしきい値を超えると、PWMはリセットされ、少し待ってから再開します。電流がはるかに大きなしきい値を超えると、誰かがドライバーを出力端子に突き刺したため、PWMが完全に停止し、再開しません。

これは、ソフトウェアと互換性のない速度で発生する必要があります。

モーター制御用に販売されているほとんどのマイクロコントローラーには、この特定の目的のために、PWMユニットに接続されたアナログコンパレーターが含まれています。arduinoのマイクロはそれらの1つではありません。


4

電流検出機能がないため、モーター駆動に電流制限がありません。大きなDCモーターの巻線抵抗はミリオームになる可能性があるため、ゼロrpmでのモーター電流は数千アンペアになる可能性があります。膨大な量のMOSFETを使用し、それでも爆破するリスクがない限り、何らかの形の電流制限を適用する必要があります。ゲートドライブはスコープでチェックする必要があります。多すぎるとMOSFETの過熱が発生する可能性があります。ドライバチップやディスクリートドライバ回路を検討してください。ほとんどのモータドライブはハードスイッチングであり、スイッチング損失は周波数に比例します不快なオーディオノイズのPWM周波数テストを減らしてみてください。あまり泣き声を立てることなく、Fを大幅に減らすことができます。これにより、FETが冷却されます。


2

すべてのコンポーネントLTSpiceの正確なモデルがあれば、失敗の理由を分析できます。

電流スイッチング中のQ放電の正確なモデルは、慎重に選択された各ステージのgmまたはその逆RdsOn比が必要であることを設計に理解させることにつながります。

リードリレー、パワーリレー、ソレノイド、大電力コンタクタなどの電気機械式スイッチの比率がわかっている場合、コイル電流に対するCOntact電流の比率は、3kを超えて100:1に向かって徐々に低下します。大きな違いは、スイッチング後のFETゲート電流です。

データシートを調べて、使用する予定のRdsOn gate3電圧を確認します。効率的なスイッチングを実現するには、しきい値電圧Vgs(th)の3倍以上にする必要があります。

まとめの提案

  • 1)100のhFe比を持つカスケードBJTのようなRdsOnのカスケードステージを使用する

    • たとえば、RdsOnが1mΩの場合は100mΩのドライバを使用し、10Ωのドライバを使用します(またはスルーレートが低下すると、電力損失が増加し、自己発熱し、FETが溶着または爆発します)
  • 2)Vgs> = 3x Vgs(th)を使用します。Vgs(th)の定格はありません。(および<Vgs max)

  • PS

    • 1)ギャングされたFETのRdson /モーター比のDCRは、伝導損失を最小限に抑えるために1:100または1%(ギブまたはテイク)である必要があります。多くの場合、強制空冷が必要な場合が多く、それ以上の場合は災害につながります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.