Förstå kretsdesignen
Om du inte vill läsa hela förklaringen kan du titta på den här videon istället:

Låt oss nu se kretsschemat nedan och lära dig hur den här saken faktiskt fungerar. Vi ser följande huvuddelar i kretsen:

Arduinstyrelse - Det här är vår hjärna. Det ger ut SPWM -pulser som bestämmer hur vår krets kommer att köra.
IR2110 MOSFET Driver ICS (IC1 och IC2) -Dessa enheter tar standard SPWM-signaler från Arduino och gör dem kompatibla för att växla 4 N-kanals H-bron MOSFET: er ordentligt med hjälp av bootstrapping-metoden.
MOSFETS (Q1, Q2, Q3, Q4) - Det här är strömbrytarna. De slår på och stänger av DC -strömmen på ett specifikt sätt för att skapa AC vid utgången.
Dioder (1N4007) och kondensatorer - Dessa är för att möjliggöra korrekt arbete av bootstrapping -nätverket för ICS för perfekt växling av de 4 MOSFET: erna.
Andra kondensatorer och motstånd - Dessa är små men mycket viktiga eftersom de håller allt smidigt.
Strömförsörjning - Vi behöver +12V och +5V för Arduino och IR2110 IC: er och en hög likspänning för MOSFET: erna, enligt belastningsspecifikationerna.
Vad händer i kretsen?
Låt oss nu se hur detta fungerar steg för steg:
Arduino genererar SPWM -signaler vid två utgångsstift (stift 8 och stift 9). Dessa signaler ändrar bredden för att skapa en form motsvarande en AC -sinusvåg.
IR2110 IC: er får dessa PWM -signaler och använder dem för att slå på och stänga av MOSFETS på ett mycket specifikt sätt.
H-bron som tillverkas med fyra MOSFET: er konverterar DC-bussförsörjningen till AC-liknande utgång genom att växla strömriktningen genom lasten med hjälp av SPWM-växlingen.
Vid utgången får vi en sinusvåg approximation vilket innebär att den ser ut som en sinusvåg men är faktiskt gjord av snabbväxlande pulser.
Om vi lägger till en filterkrets vid utgången kan vi jämna ut dessa pulser och få en mer perfekt sinusvåg.
Vår Arduino -kod för Sine Wave PWM
Så låt oss nu se koden. Detta är vad Arduino kommer att köra för att generera SPWM -signalerna.
835EA9484999CA2B1A94FC3D1BB3E885B51FF2262Vad händer i den här koden?
Först ställde vi upp två utgångsstift (stift 8 och stift 9). Dessa kommer att skicka ut våra PWM -signaler.
Sedan i slingan slår vi på och av stiftet i ett speciellt mönster.
Vi börjar med smala pulser och ökar gradvis pulsbredden och sedan minskar vi den tillbaka. Detta skapar ett stegat sinusvåg PWM -mönster.
När den första halvan cykeln är klar upprepar vi samma sak på den andra stiftet (stift 9) för nästa cykel.
På så sätt växlar vår H-Bridge mosfets i en ordentlig sinusformad våg som mode.
Vad är bra med den här designen
Designen är faktiskt väldigt enkel. Vi använder bara en Arduino och några vanliga komponenter.
Vi behöver inte en sinusvåggenerator här, rätt. Arduino själv gör sinusformen med SPWM.
H-bron fungerar effektivt med IR2110 ICS för att se till att MOSFET: erna växlar korrekt utan överhettning.
Vi kan enkelt finjustera SPWM, om vi vill ha en annan sinusvågfrekvens, sedan ändrar vi bara koden lite.
Hur vi ska hantera Arduino -startförseningen
Nu är en mycket viktig sak som vi måste förstå att Arduino tar lite tid att börja efter att vi har tagit på strömmen.
Detta händer eftersom när vi slår på Arduino så kör den först sin interna startlastare som tar några sekunder.
Så under denna tid kanske IR2110 GATE -förare ICS och MOSFETS inte får några riktiga signaler från Arduino.
Om det händer kan MOSFET: erna aktivera slumpmässigt vilket kan skada ICS direkt eller orsaka en kortslutning eller explosion.
För att se till att ovanstående startfördröjning inte bränner ICS och MOSFETS under den första strömmen på måste vi ändra ovanstående kod som visas nedan:
// 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);
}
Delar lista
| Arduinstyrelse | Arduino Uno (eller någon kompatibel styrelse) | 1 |
| MOSFET -förare ic | IR2110 High & Low Side -förare | 2 |
| Mosfets | IRF3205 (eller liknande N-kanal) | 4 |
| Dioder | 1N4007 (för bootstrap & skydd) | 4 |
| Motstånd | 1KΩ 1/4W (MOSFET GATE-neddragning) | 4 |
| Motstånd | 150Ω 1/4W (MOSFET GATE Series Motstånd) | 4 |
| Kondensatorer | 100NF (Bootstrap -kondensator) | 2 |
| Kondensatorer | 22uF 25V (strömförsörjningsfilter) | 2 |
| Ladda | Alla resistiv eller induktiv belastning | 1 |
| Strömförsörjning | +12V DC (för MOSFETS) & +5V DC (för Arduino) | 1 |
| Ledningar och kontakter | Lämplig för kretsanslutningar | Vid behov |
Konstruktionstips
Nu när vi faktiskt bygger den här saken måste vi vara mycket försiktiga med några viktiga saker. Annars kanske det inte fungerar eller värre, något kan brinna ut rätt? Så här är några super viktiga byggtips som vi måste följa:
Hur vi ska ordna delarna på brädet
Om vi använder en brödskiva kanske denna krets inte fungerar bra eftersom MOSFETS och förare med hög effekt behöver starka, solida anslutningar.
Så vi bör använda ett PCB (tryckt kretskort) eller åtminstone ett perfekt kort och löd delarna ordentligt.
Om vi gör en PCB måste vi hålla MOSFETS och IR2110 ICS nära varandra så att signaler inte blir svaga eller försenade.
De tjocka ledningarna bör gå för höga strömvägar som från strömförsörjningen till MOSFETS och från MOSFETS till lasten.
De tunna ledningarna kan endast användas för signalanslutningar som från Arduino till IR2110 ICS.
Hur vi ska placera MOSFETS
De fyra MOSFET: erna ska placeras i en riktig H-broform så att ledningarna inte blir röriga.
Varje MOSFET ska ha korta och tjocka anslutningar till IR2110 IC.
Om vi placerar MOSFETS för långt från IR2110 kan signalerna bli svaga och MOSFET: erna kanske inte växlar ordentligt.
Om det händer kan MOSFET: erna bli heta och till och med bränna ut.
Hur vi ska fixa värmeproblemet
Om vi använder IRF3205 MOSFETS eller liknande, kommer de att värmas upp om vi inte ger dem en kylfläns.
Så vi måste fixa en stor aluminium kylfläns till MOSFETS för att hålla dem svala.
Om vi gör en högeffektsinverterare (mer än 100W) bör vi också fästa en kylfläkt på kylflänsen.
Om MOSFET: erna blir för heta för att röra, betyder det att det finns något problem och vi måste kontrollera kretsen igen.
Hur vi ska driva kretsen
Arduino -delen körs på 5V och MOSFET: erna behöver 12V eller mer för att arbeta.
Så vi får aldrig ansluta 12V till Arduino, eller så kommer det att brinna direkt!
IR2110 ICS behöver två strömförsörjningar:
12V för högsidan MOSFETS
5V för logikavsnittet
Om vi blandar upp dessa kraftledningar fungerar inte kretsen korrekt och MOSFET: erna växlar inte korrekt.
Hur vi ska ansluta ledningarna
Markanslutningen (GND) är mycket viktig. Om markledningen är svag eller lång, kan kretsen bete sig konstigt.
Vi bör använda en gemensam mark för alla delar, vilket innebär att Arduino -marken, IR2110 marken och MOSFET -källmarken måste anslutas ihop.
Om vi ser kretsen uppför sig konstigt (som utgången som flimrar eller MOSFETS blir varma utan belastning), bör vi först kontrollera markanslutningarna.
Hur vi ska kontrollera kretsen innan vi startar den
Innan vi slår på strömmen måste vi dubbelkontrollera alla anslutningar för att se om allt är korrekt.
Om vi har en multimeter bör vi använda den för att kontrollera spänningarna på olika punkter innan du sätter in MOSFETS.
Vi kommer strikt att behöva ett oscilloskop så att vi kan kontrollera SPWM -signalerna som kommer från Arduino för att se om de ser korrekta ut.
Hur vi ska testa kretsen noggrant
Det bästa sättet att testa denna krets är säkert genom att börja med en låg spänning.
Istället för 12V kan vi först försöka med 6V eller 9V för att se om MOSFET: erna byter korrekt.
Om kretsen fungerar bra vid lågspänning kan vi långsamt öka till 12V och slutligen till hela spänningen.
Om vi plötsligt applicerar full spänning och något är fel kan något brinna ut direkt!
Så vi måste testa steg för steg och fortsätta kontrollera för överhettning eller fel beteende.
Hur vi kan lägga till ett filter för en jämnare utgång
Denna krets gör en AC -utgång med PWM men den är fortfarande gjord av snabba pulser.
Om vi vill ha en ren sinusvåg måste vi lägga till ett LC -filter vid utgången.
Detta LC -filter är bara en stor induktor och en kondensator ansluten till utgången.
Induktorn tar bort de snabba växlingspulserna och kondensatorn slätar ut vågformen.
Om vi gör detta ordentligt kan vi få en ren sinusvåg som är säker för apparater.
Hur vi ska skydda kretsen från skador
Vi bör alltid lägga till en säkring i serie med strömförsörjningen.
Om något shorts eller en MOSFET misslyckas kommer säkringen att bryta först och rädda kretsen från att bränna.
Om MOSFETS misslyckas så misslyckas de ibland kort (vilket innebär att de alltid stannar kvar).
Om det händer kan enorm ström flyta och skada transformatorn eller andra delar.
Så det är alltid bra att kontrollera MOSFET: erna med en multimeter innan du applicerar hög effekt.
Slutsats
Så här såg vi hur vi kan göra en sinusvågsinverter med bara Arduino och en H-Bridge MOSFET-krets. Vi använde IR2110 MOSFET-förare för att korrekt växla MOSFET: erna och PWM-kontrollen från Arduino för att generera vår sinusmodulerade AC.
Nu är en sak att komma ihåg att denna utgång fortfarande är gjord av snabbväxlande pulser så om vi behöver en ren sinusvåg måste vi lägga till ett LC-filter vid utgången för att jämna ut den.
Men totalt sett är detta ett mycket praktiskt och enkelt sätt att göra en sinusvågsinverter hemma!