Arduinoを使用したHブリッジ正弦波インバーター回路

問題を排除するために楽器を試してください





回路設計を理解する

説明全体を読みたくない場合は、代わりにこのビデオを見ることができます。

  警告メッセージ:電気は危険です。注意して進めてください

以下の回路図を見て、このことが実際にどのように機能しているかを学びましょう。回路に次の主要な部分が表示されます。



  Arduino Sine Waveフルブリッジインバーター回路図

Arduino委員会 - これは私たちの脳です。回路の実行方法を決定するSPWMパルスを提供します。

IR2110 MOSFETドライバーICS(IC1およびIC2) - これらのデバイスは、Arduinoから標準のSPWM信号を取得し、ブートストラップ方法を使用して、4つのNチャンネルHブリッジMOSFETを適切に切り替えるために互換性のあるものにします。



MOSFETS(Q1、Q2、Q3、Q4) - これらは電源スイッチです。 DCの電源を特定の方法でオン /オフにして、出力でACを作成します。

ダイオード(1N4007)およびコンデンサ - これらは、ICSのブートストラップネットワークの正しい動作を可能にして、4つのモスフェットを完全に切り替えるためです。

他のコンデンサと抵抗器 - これらは小さいですが、すべてをスムーズに走らせ続けるため、非常に重要です。

電源 - ArduinoおよびIR2110 ICSには +12Vおよび +5V、および負荷仕様に従ってMOSFETSに高DC電圧が必要です。

サーキットで何が起こっていますか?

ここで、これが段階的にどのように機能するかを見てみましょう。

Arduinoは、2つの出力ピンでSPWM信号を生成します(ピン8とピン9)。これらの信号は、幅を変え続けて、AC正弦波に相当する形状を作成します。

IR2110 ICはこれらのPWM信号を受け取り、それらを使用して、非常に具体的な方法でMOSFETをオンとオフに切り替えます。

4つのMOSFETを使用して作られたHブリッジは、SPWMスイッチングを使用して荷重から現在の方向を切り替えることにより、DCバスの供給をACのような出力に変換します。

出力では、正弦波近似を取得します。これは、正弦波のように見えるが、実際には急速に切り替えるパルスで作られていることを意味します。

出力にフィルター回路を追加すると、これらのパルスを滑らかにして、より完全な正弦波を得ることができます。

Sine Wave PWMのArduinoコード

それでは、コードを見てみましょう。これは、Arduinoが実行してSPWM信号を生成するものです。

835EA9484999CA2B1A94FC3D1BB3E885B51FF2262

このコードでは何が起こっていますか?

最初に、2つの出力ピンをセットアップします(ピン8とピン9)。これらはPWM信号を送信します。

次に、ループで特別なパターンでピンをオンとオフにします。

狭いパルスから始めて、徐々にパルス幅を増やしてから、それを減らします。これにより、段階的な正弦波PWMパターンが作成されます。

前半のサイクルが完了した後、次のサイクルで同じことを他のピン(ピン9)で繰り返します。

このようにして、私たちのHブリッジは、MOSFETを適切な正弦波のようなファッションに切り替えます。

このデザインの良いこと

デザインは実際には非常にシンプルです。 Arduinoといくつかの一般的なコンポーネントだけを使用しています。

ここに正弦波発生器は必要ありません。 Arduino自体は、SPWMを使用して正弦型を作っています。

H-ブリッジは、IR2110 ICSを使用して効率的に動作し、MOSFETが過熱することなく正しく切り替わるようにします。

SPWMを簡単に微調整できます。異なる正弦波周波数が必要な場合に備えて、コードを少し変更するだけです。

Arduinoブートの遅延を処理する方法

今、私たちが理解しなければならない非常に重要なことの1つは、Arduinoが電源を切り替えた後に始めるのに時間がかかることです。

これは、Arduinoに電源を入れると、最初に数秒かかる内部ブートローダーを実行するためです。

したがって、この間、IR2110ゲートドライバーのICSとMOSFETはArduinoから適切な信号を受け取らない場合があります。

それが起こると、MOSFETがランダムにオンになって、ICSを即座に損傷するか、短絡または爆発を引き起こす可能性があります。

上記の起動遅延が最初の電源をオンにしてICSとMOSFETを燃やさないようにするために、以下に示すように上記のコードを変更する必要があります。

// By Swagatam - Full Bridge Sine Wave Inverter Code with Delay
void setup() {
    pinMode(8, OUTPUT);
    pinMode(9, OUTPUT);
    
    delay(3000); // Booting delay (wait for 3 seconds before starting)
}
void loop() {
    // First pin (8) switching pattern
    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(2000);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(1250);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(750);
    digitalWrite(8, LOW);
    delayMicroseconds(500);
    digitalWrite(8, HIGH);
    delayMicroseconds(500);
    digitalWrite(8, LOW);
    // Second pin (9) switching pattern
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(2000);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(1250);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(750);
    digitalWrite(9, LOW);
    delayMicroseconds(500);
    digitalWrite(9, HIGH);
    delayMicroseconds(500);
    digitalWrite(9, LOW);
}

部品リスト

Arduino委員会 Arduino uno(または互換性のあるボード) 1
MOSFETドライバーIC IR2110ハイサイドドライバーとローサイドドライバー 2
モスフェット IRF3205(または同様のNチャネル) 4
ダイオード 1N4007(ブートストラップと保護用) 4
抵抗器 1kΩ1/4W(MOSFETゲートプルダウン) 4
抵抗器 150Ω1/4W(MOSFETゲートシリーズ抵抗器) 4
コンデンサ 100NF(ブートストラップコンデンサ) 2
コンデンサ 22UF 25V(電源フィルター) 2
負荷 抵抗性または誘導負荷 1
電源 +12V DC(MOSFETS用)および +5V DC(Arduino用) 1
ワイヤーとコネクタ 回路接続に適しています 必要に応じて

建設のヒント

今、私たちが実際にこのものを構築するとき、私たちはいくつかの重要なことについて非常に注意する必要があります。そうでなければ、それはうまくいかないかもしれませんし、さらに悪いことに、何かが燃え尽きるかもしれませんか?ですから、ここに私たちが従わなければならないいくつかの非常に重要な構造のヒントがあります:

ボード上の部品をどのように配置するか

ブレッドボードを使用する場合、高電力のMOSFETとドライバーが強力で堅実な接続を必要とするため、この回路はうまく機能しない場合があります。

したがって、PCB(印刷回路基板)または少なくともパフォーマンスボードを使用して、部品を適切にはんだ付けする必要があります。

PCBを作成する場合、信号が弱くなったり遅延したりしないように、MOSFETとIR2110 ICを互いに近づけて保つ必要があります。

厚いワイヤーは、電源からMOSFETへの電源やMOSFETから負荷までのような高電流パスに移動する必要があります。

薄いワイヤは、ArduinoからIR2110 ICまでの信号接続にのみ使用できます。

MOSFETをどのように配置するか

4つのMOSFETは、配線が乱雑にならないように、適切なHブリッジ形状に配置する必要があります。

各MOSFETには、IR2110 ICへの短くて厚い接続が必要です。

MOSFETをIR2110から遠くに配置すると、信号が弱くなり、MOSFETが適切に切り替われない場合があります。

それが起こると、MOSFETは熱くなり、燃え尽きることさえあります。

熱の問題を修正する方法

IRF3205 MOSFETまたは同様のMOSFETを使用すると、ヒートシンクを与えないと熱くなります。

したがって、MOSFETSに大きなアルミニウムヒートシンクを修理して、それらを涼しく保つ必要があります。

高出力インバーター(100W以上)を作成している場合は、ヒートシンクに冷却ファンを取り付ける必要があります。

MOSFETが熱くなりすぎて触れると、問題があることを意味し、回路をもう一度確認する必要があります。

回路にどのように電力を供給すべきか

Arduino部品は5Vで実行され、MOSFETは機能するために12V以上が必要です。

したがって、12VをArduinoに接続してはなりません。さもないとすぐに燃えます!

IR2110 ICSには2つの電源が必要です。

ハイサイドMOSFETの12V

ロジックセクションの5V

これらの電力線を混同した場合、回路は正しく動作せず、MOSFETは正しく切り替えません。

ワイヤーを接続する方法

グラウンド(GND)接続は非常に重要です。地上配線が弱いか長い場合、回路は奇妙に動作する可能性があります。

すべての部品に共通の地面を使用する必要があります。つまり、Arduinoグラウンド、IR2110地面、MOSFETソースグラウンドを接続する必要があります。

回路が奇妙に動作しているのを見ると(出力がちらならない、またはMOSFETが負荷なしで暖かくなっているように)、最初に地面の接続を確認する必要があります。

回路を電源としてチェックする方法

電源をオンにする前に、すべての接続をダブルチェックして、すべてが正しいかどうかを確認する必要があります。

マルチメーターがある場合は、MOSFETを挿入する前に、異なるポイントで電圧を確認するために使用する必要があります。

Arduinoから来るSPWM信号を確認して、それらが正しいかどうかを確認できるように、オシロスコープが厳密に必要です。

回路を慎重にテストする方法

この回路を安全にテストする最良の方法は、低電圧から始めることです。

12Vの代わりに、最初に6Vまたは9Vで試して、MOSFETが正しく切り替えているかどうかを確認できます。

回路が低電圧でうまく機能する場合、ゆっくりと12Vに増加し、最後に完全な電圧に増加することができます。

突然完全な電圧を適用し、何かが間違っている場合、何かが即座に燃え尽きる可能性があります!

そのため、段階的にテストし、過熱または間違った動作を確認し続ける必要があります。

スムーズな出力のためにフィルターを追加する方法

この回路はPWMを使用してAC出力を作成しますが、それでも高速パルスでできています。

きれいな正弦波が必要な場合は、出力にLCフィルターを追加する必要があります。

このLCフィルターは、単なる大きなインダクタであり、出力に接続されたコンデンサです。

インダクタは高速スイッチングパルスを除去し、コンデンサは波形を滑らかにします。

これを適切に行うと、電化製品に安全な純粋な正弦波を得ることができます。

回路を損傷から保護する方法

常に電源を使用してヒューズを直列に追加する必要があります。

何かショートパンツやMOSFETが失敗した場合、ヒューズは最初に壊れ、回路が燃えないようにします。

MOSFETが失敗した場合、時々ショートが失敗することがあります(常に留まることを意味します)。

それが起こると、巨大な電流は流れて変圧器や他の部品を損傷する可能性があります。

したがって、高出力を適用する前にマルチメーターを使用してMOSFETを確認することは常に良いことです。

結論

ここでは、ArduinoとH-Bridge Mosfet回路を使用して、正弦波インバーターを作る方法を見ました。 IR2110 MOSFETドライバーを使用して、ArduinoからMOSFETとPWMコントロールを適切に切り替えて、正弦溶液ACを生成しました。

覚えておくべきことの1つは、この出力がまだ急速に切り替えるパルスで作られているため、純粋な正弦波が必要な場合は、出力にLCフィルターを追加して滑らかにする必要があることです。

しかし、全体として、これは自宅で正弦波インバーターを作るための非常に実用的で簡単な方法です!