Verständnis des Schaltungsdesigns
Wenn Sie nicht die ganze Erklärung lesen möchten, können Sie sich dieses Video stattdessen ansehen:

Lassen Sie uns nun das Schaltplan unten sehen und lernen, wie dieses Ding tatsächlich funktioniert. Wir sehen die folgenden Hauptteile in der Schaltung:

Arduino Board - Das ist unser Gehirn. Es gibt SPWM -Impulse aus, die entscheiden, wie unsere Schaltung ausgeführt wird.
IR2110 MOSFET -Treiber ICS (IC1 und IC2) -Diese Geräte nehmen die Standard-SPWM-Signale von Arduino ab und machen sie kompatibel, um die 4 N-Kanal-H-Bridge-MOSFETs ordnungsgemäß mithilfe der Bootstrapping-Methode zu wechseln.
MOSFETs (Q1, Q2, Q3, Q4) - Dies sind die Stromschalter. Sie schalten die DC -Leistung auf eine bestimmte Weise ein und aus, um am Ausgang Wechselstrom zu erstellen.
Dioden (1N4007) und Kondensatoren - Diese dienen zum Ermöglichen der korrekten Arbeit des Bootstrapping -Netzwerks der ICs zum perfekten Umschalten der 4 MOSFETs.
Andere Kondensatoren und Widerstände - Diese sind klein, aber sehr wichtig, weil sie alles reibungslos laufen lassen.
Stromversorgung - Wir brauchen +12 V und +5 V für Arduino und die IR2110 -ICs sowie eine hohe DC -Spannung für die MOSFETs gemäß den Lastspezifikationen.
Was passiert in der Schaltung?
Lassen Sie uns nun sehen, wie dies Schritt für Schritt funktioniert:
Arduino erzeugt SPWM -Signale an zwei Ausgangsstiften (Pin 8 und Pin 9). Diese Signale ändern sich immer wieder die Breite, um eine Form zu erzeugen, die einer Welle der Wechselstrom -Sinus entspricht.
IR2110 -ICs erhalten diese PWM -Signale und verwenden sie, um die MOSFETs auf eine sehr bestimmte Weise ein- und auszuschalten.
Die mit vier MOSFETs hergestellte H-Brücke wandelt die DC-Busversorgung in einen AC-ähnlichen Ausgang um, indem die Stromrichtung mithilfe der SPWM-Schaltung durch die Last geschaltet wird.
Bei der Ausgabe erhalten wir eine Sinuswellenanbietung, was bedeutet, dass sie wie eine Sinuswelle aussieht, aber tatsächlich aus schnell schalten Impulsen besteht.
Wenn wir einen Filterkreis zum Ausgang hinzufügen, können wir diese Impulse glätten und eine perfektere Sinuswelle erhalten.
Unser Arduino -Code für Sine Wave PWM
Lassen Sie uns nun den Code sehen. Dies wird der Arduino ausführen, um die SPWM -Signale zu generieren.
835ea9484999ca2B1A94FC3D1BB3E885B51FF2262Was ist in diesem Code los?
Zuerst richten wir zwei Ausgangsstifte ein (Pin 8 und Pin 9). Diese werden unsere PWM -Signale senden.
Dann schalten wir in der Schleife den Stift in einem speziellen Muster ein und aus.
Wir beginnen mit schmalen Impulsen und erhöhen die Impulsbreite allmählich und reduzieren sie dann wieder nach unten. Dies schafft ein stufenvolles Sinuswellen -PWM -Muster.
Nachdem der erste Halbzyklus fertig ist, wiederholen wir das Gleiche auf dem anderen Pin (Pin 9) für den nächsten Zyklus.
Auf diese Weise schaltet unsere H-Brücke die MOSFETs in einer richtigen sinusförmigen Welle wie Mode.
Was ist gut an diesem Design
Das Design ist eigentlich sehr einfach. Wir verwenden nur einen Arduino und einige gemeinsame Komponenten.
Wir brauchen hier keinen Wellengenerator, richtig. Der Arduino selbst macht die Sinusform mit SPWM.
Die H-Bridge arbeitet effizient mit dem IR2110-ICS, um sicherzustellen, dass die MOSFETs ohne Überhitzung korrekt schalten.
Wir können das SPWM leicht einstellen, falls wir eine andere Sinuswellenfrequenz wünschen, dann ändern wir den Code nur ein wenig.
Wie wir mit der Arduino -Startverzögerung umgehen sollten
Eine sehr wichtige Sache, die wir verstehen müssen, ist, dass Arduino einige Zeit braucht, um zu beginnen, nachdem wir die Leistung eingeschaltet haben.
Dies geschieht, denn wenn wir den Arduino mit Strom versorgen, wird der interne Bootloader zuerst ausgeführt, der einige Sekunden dauert.
Während dieser Zeit erhalten der IR2110 Gate -Treiber ICS und MOSFets möglicherweise keine ordnungsgemäßen Signale von Arduino.
In diesem Fall können die MOSFETs zufällig einschalten, was die ICs sofort beschädigen oder einen Kurzschluss oder eine Explosion verursachen kann.
Um sicherzustellen, dass die oben genannte Startverzögerung die ICs und die MOSFETs während der anfänglichen Leistung nicht verbrennt, müssen wir den oben gezeigten Code wie unten gezeigt ändern:
// 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);
}
Teileliste
Arduino Board | Arduino Uno (oder eine kompatible Board) | 1 |
MOSFET -Treiber IC | IR2110 High & Low Side Triver | 2 |
Mosfets | IRF3205 (oder ähnliches N-Kanal) | 4 |
Dioden | 1N4007 (für Bootstrap & Schutz) | 4 |
Widerstände | 1KΩ 1/4W (MOSFET-Gate-Pulldown) | 4 |
Widerstände | 150 Ω 1/4W (Widerstand der MOSFET -GATE -Serie) | 4 |
Kondensatoren | 100NF (Bootstrap -Kondensator) | 2 |
Kondensatoren | 22UF 25 V (Netzteilfilter) | 2 |
Laden | Jede Widerstand oder induktive Belastung | 1 |
Stromversorgung | +12 V DC (für MOSFETs) & +5V DC (für Arduino) | 1 |
Kabel und Anschlüsse | Geeignet für Schaltungsanschlüsse | Nach Bedarf |
Konstruktionstipps
Wenn wir dieses Ding tatsächlich bauen, müssen wir einige wichtige Dinge sehr vorsichtig sein. Ansonsten kann es nicht funktionieren oder schlimmer, etwas kann ausbrennen, oder? Hier sind einige super wichtige Konstruktionstipps, denen wir folgen müssen:
Wie wir die Teile auf der Tafel arrangieren sollten
Wenn wir ein Breadboard verwenden, funktioniert diese Schaltung möglicherweise nicht gut, da Hochleistungs-MOSFETs und -Treiber starke, feste Verbindungen benötigen.
Wir sollten also eine Leiterplatte (gedruckte Leiterplatte) oder zumindest eine Perf -Board verwenden und die Teile ordnungsgemäß löten.
Wenn wir eine PCB erstellen, müssen wir die MOSFETs und IR2110 -ICs nahe beieinander halten, damit Signale nicht schwach oder verzögert werden.
Die dicken Drähte sollten sich für hohe Strompfade wie die Stromversorgung der MOSFETs und von den MOSFETs bis zur Last entscheiden.
Die dünnen Drähte können nur für Signalverbindungen wie von Arduino bis zum IR2110 -ICS verwendet werden.
Wie wir die MOSFets platzieren sollten
Die vier MOSFETs sollten in eine ordnungsgemäße H-Brückenform platziert werden, so dass die Verkabelung nicht chaotisch wird.
Jedes MOSFET sollte kurze und dicke Verbindungen zum IR2110 -IC haben.
Wenn wir die MOSFETs zu weit vom IR2110 entfernt platzieren, können die Signale schwach werden und die MOSFETs können nicht ordnungsgemäß wechseln.
Wenn das passiert, können die MOSFets heiß werden und sogar ausbrennen.
Wie wir das Wärmeproblem beheben sollten
Wenn wir IRF3205 -MOSFETs oder ähnliche verwenden, erhitzen sie sich, wenn wir ihnen keinen Kühlkörper geben.
Deshalb müssen wir einen großen Aluminium -Kühlkörper an den MOSFETs reparieren, um sie kühl zu halten.
Wenn wir einen Hochleistungswechselrichter (mehr als 100 W) herstellen, sollten wir auch einen Kühlventilator am Kühlkörper befestigen.
Wenn die MOSFets zu heiß werden, um sie zu berühren, bedeutet dies, dass es Probleme gibt und wir die Schaltung erneut überprüfen müssen.
Wie wir die Schaltung mit Strom versorgen sollten
Der Arduino -Teil läuft auf 5 V und die MOSFets benötigen 12 V oder mehr, um zu arbeiten.
Wir dürfen also niemals 12 V mit Arduino verbinden, oder es wird sofort brennen!
Das IR2110 ICS benötigt zwei Netzteile:
12 V für die High-Side-MOSFETs
5V für den Logikabschnitt
Wenn wir diese Stromleitungen mischen, funktioniert die Schaltung nicht ordnungsgemäß und die MOSFets schalten nicht korrekt um.
Wie wir die Drähte verbinden sollten
Die Bodenverbindung (GND) ist sehr wichtig. Wenn die Erdungskabel schwach oder lang ist, kann sich die Schaltung seltsam verhalten.
Wir sollten für alle Teile eine gemeinsame Grundlage verwenden, was bedeutet, dass der Arduino -Boden, der IR2110 -Boden und der MOSFET -Quellboden miteinander verbunden sein müssen.
Wenn wir sehen, wie sich die Schaltung seltsamerweise verhalten (wie das Ausgangsflackern oder MOSFETs ohne Ladung warm werden), sollten wir zuerst die Bodenverbindungen überprüfen.
Wie wir die Schaltung überprüfen sollten, bevor wir sie anschalten
Bevor wir die Leistung einschalten, müssen wir alle Anschlüsse überprüfen, um festzustellen, ob alles korrekt ist.
Wenn wir ein Multimeter haben, sollten wir ihn an verschiedenen Stellen überprüfen, bevor wir die MOSFETs einfügen.
Wir werden ausschließlich ein Oszilloskop benötigen, damit wir die SPWM -Signale von Arduino überprüfen können, um festzustellen, ob sie korrekt aussehen.
Wie wir die Schaltung sorgfältig testen sollten
Der beste Weg, um diese Schaltung sicher zu testen, besteht darin, mit einer niedrigen Spannung zu beginnen.
Anstelle von 12 V können wir uns zuerst mit 6 V oder 9 V versuchen, um festzustellen, ob die MOSFETs korrekt wechseln.
Wenn die Schaltung bei niedriger Spannung gut funktioniert, können wir langsam auf 12 V und schließlich auf die volle Spannung steigen.
Wenn wir plötzlich die volle Spannung auftragen und etwas nicht stimmt, kann etwas sofort ausbrennen!
Wir müssen also Schritt für Schritt testen und weiter nach Überhitzung oder falschem Verhalten suchen.
Wie wir einen Filter für eine glattere Ausgabe hinzufügen können
Diese Schaltung leistet einen Wechselstromausgang mit PWM, besteht jedoch immer noch aus schnellen Impulsen.
Wenn wir eine saubere Sinuswelle wollen, müssen wir einen LC -Filter am Ausgang hinzufügen.
Dieser LC -Filter ist nur ein großer Induktor und ein mit der Ausgabe verbundener Kondensator.
Der Induktor entfernt die schnellen Schaltimpulse und der Kondensator glättet die Wellenform.
Wenn wir dies richtig machen, können wir eine reine Sinuswelle bekommen, die für Geräte sicher ist.
Wie wir die Schaltung vor Beschädigungen schützen sollten
Wir sollten immer eine Sicherung in Reihe mit der Stromversorgung hinzufügen.
Wenn etwas Shorts oder ein MOSFET fehlschlägt, wird die Sicherung zuerst brechen und die Schaltung vor dem Brennen bewahren.
Wenn die MOSFETs versagen, scheitern sie manchmal kurzgeschlossen (was bedeutet, dass sie immer bleiben).
In diesem Fall kann ein riesiger Strom den Transformator oder andere Teile fließen und beschädigen.
Daher ist es immer gut, die MOSFETs mit einem Multimeter zu überprüfen, bevor Sie hohe Leistung anwenden.
Abschluss
Hier haben wir also gesehen, wie wir einen Sinuswellenwechselrichter mit nur Arduino und einem H-Bridge-MOSFET-Schaltkreis herstellen können. Wir verwendeten IR2110-MOSFET-Treiber, um die MOSFETs und die PWM-Kontrolle von Arduino ordnungsgemäß zu wechseln, um unseren sinus modulierten Wechselstrom zu erzeugen.
Nun, eine Sache, die Sie erinnern sollten, ist, dass diese Ausgabe immer noch aus schnell abgeschalteten Impulsen besteht. Wenn wir also eine reine Sinuswelle benötigen, müssen wir einen LC-Filter am Ausgang hinzufügen, um sie zu glätten.
Aber insgesamt ist dies eine sehr praktische und einfache Möglichkeit, einen Sinuswellenrver zu Hause zu machen!