H-Bridge Sine Wave Inverter Circuit ved hjælp af Arduino

Prøv Vores Instrument Til At Fjerne Problemer





Forståelse af kredsløbsdesignet

Hvis du ikke vil læse hele forklaringen, kan du se denne video i stedet:

  Advarselsmeddelelse: Elektricitet er farlig, fortsæt med forsigtighed

Lad os nu se kredsløbsdiagrammet nedenfor og lære, hvordan denne ting faktisk fungerer. Vi ser følgende hoveddele i kredsløbet:



  Arduino sinus bølge fuld bro inverter kredsløbsdiagram

Arduino Board - Dette er vores hjerne. Det giver SPWM -impulser, der beslutter, hvordan vores kredsløb vil køre.

IR2110 MOSFET Driver ICS (IC1 og IC2) -Disse enheder tager standard SPWM-signaler fra Arduino og gør dem kompatible til at skifte 4 n-kanal H-Bridge MOSFETs korrekt ved hjælp af bootstrapping-metoden.



MOSFETS (Q1, Q2, Q3, Q4) - Dette er strømafbrydere. De tænder og slukker DC -strømmen på en bestemt måde for at oprette AC ved output.

Dioder (1N4007) og kondensatorer - Disse er for at muliggøre det korrekte arbejde med det bootstrapping -netværk af ICS til perfekt switching af de 4 MOSFET'er.

Andre kondensatorer og modstande - Disse er små, men meget vigtige, fordi de holder alting glat.

Strømforsyning - Vi har brug for +12V og +5V til Arduino og IR2110 ICS og en høj DC -spænding for MOSFET'erne i henhold til belastningsspecifikationerne.

Hvad sker der i kredsløbet?

Lad os nu se, hvordan dette fungerer trin for trin:

Arduino genererer SPWM -signaler ved to udgangsstifter (pin 8 og pin 9). Disse signaler ændrer fortsat bredden for at skabe en form svarende til en AC -sinusbølge.

IR2110 ICS modtager disse PWM -signaler og bruger dem til at tænde og slukke MOSFET'er på en meget specifik måde.

H-broen, der er lavet ved hjælp af fire MOSFET'er, konverterer DC-busforsyningen til AC-lignende output ved at skifte den aktuelle retning gennem belastningen ved hjælp af SPWM-switching.

Ved output får vi en sinusbølge tilnærmelse, hvilket betyder, at den ligner en sinusbølge, men faktisk er lavet af hurtigskiftende pulser.

Hvis vi tilføjer et filterkredsløb ved output, kan vi udjævne disse pulser og få en mere perfekt sinusbølge.

Vores Arduino -kode til sinusbølge PWM

Så lad os nu se koden. Dette er, hvad Arduino vil køre for at generere SPWM -signaler.

835EA9484999CA2B1A94FC3D1BB3E885B51FF2262

Hvad sker der i denne kode?

Først opsætter vi to udgangsstifter (pin 8 og pin 9). Disse sender vores PWM -signaler.

Derefter i løkken tænder og slukker vi stiften i et specielt mønster.

Vi starter med smalle pulser og øger gradvist pulsbredden og derefter reducerer vi den ned igen. Dette skaber et trappet sinusbølge PWM -mønster.

Efter at den første halvdel er der færdig, gentager vi den samme ting på den anden pin (pin 9) til den næste cyklus.

På denne måde skifter vores H-Bridge MOSFETS i en ordentlig sinusformet bølge som mode.

Hvad er godt ved dette design

Designet er faktisk meget enkelt. Vi bruger bare en Arduino og nogle almindelige komponenter.

Vi har ikke brug for en sinusbølgenerator her, til højre. Arduino selv gør sinusformen ved hjælp af SPWM.

H-Bridge fungerer effektivt ved hjælp af IR2110 ICS for at sikre, at MOSFETS skifter korrekt uden overophedning.

Vi kan finjustere SPWM let, hvis vi ønsker en anden sinusbølgefrekvens, så ændrer vi bare koden lidt.

Hvordan vi skal håndtere Arduino -opstartsforsinkelsen

Nu er en meget vigtig ting, som vi må forstå, at Arduino tager nogen tid at starte, efter at vi tænder for magten.

Dette sker, fordi når vi tænder på Arduino, kører den først sin interne bootloader, der tager et par sekunder.

Så i løbet af denne periode modtager IR2110 Gate Driver ICS og MOSFETS muligvis ikke nogen ordentlige signaler fra Arduino.

Hvis det sker, kan MOSFET'erne tænde tilfældigt, hvilket kan skade ICS med det samme eller forårsage en kortslutning eller eksplosion.

For at sikre, at ovenstående opstartforsinkelse ikke brænder ICS og MOSFET'erne under den oprindelige effekt på, er vi nødt til at ændre ovenstående kode som vist nedenfor:

E724fdb4298031a3fb9ca4864a217a4230fe64f5

Deleliste

Arduino Board Arduino Uno (eller ethvert kompatibelt bestyrelse) 1
MOSFET -driver IC IR2110 High & Low Side Driver 2
Mosfets IRF3205 (eller lignende N-kanal) 4
Dioder 1N4007 (til bootstrap & beskyttelse) 4
Modstande 1 kΩ 1/4W (MOSFET GATE-pull-down) 4
Modstande 150Ω 1/4W (Mosfet Gate Series Modstand) 4
Kondensatorer 100NF (bootstrap kondensator) 2
Kondensatorer 22UF 25V (strømforsyningsfilter) 2
Belastning Enhver resistiv eller induktiv belastning 1
Strømforsyning +12V DC (for MOSFETS) & +5V DC (for Arduino) 1
Ledninger og stik Velegnet til kredsløbsforbindelser Efter behov

Konstruktionstips

Når vi faktisk bygger denne ting, skal vi være meget forsigtige med et par vigtige ting. Ellers fungerer det måske ikke eller værre, noget kan brænde ud, ikke? Så her er nogle super vigtige konstruktionstips, som vi skal følge:

Hvordan vi skal arrangere delene på brættet

Hvis vi bruger et brødbræt, fungerer dette kredsløb muligvis ikke godt, fordi MOSFET'er med høj effekt og drivere har brug for stærke, solide forbindelser.

Så vi bør bruge et PCB (trykt kredsløbskort) eller i det mindste et perf -kort og lodde delene korrekt.

Hvis vi laver en PCB, skal vi holde MOSFETS og IR2110 ICS tæt sammen, så signaler ikke bliver svage eller forsinkede.

De tykke ledninger skal gå efter høje strømstier som fra strømforsyningen til MOSFETS og fra MOSFETS til belastningen.

De tynde ledninger kan kun bruges til signalforbindelser som fra Arduino til IR2110 ICS.

Hvordan vi skal placere MOSFETS

De fire MOSFET'er skal placeres i en ordentlig H-Bridge-form, så ledningerne ikke bliver rodet.

Hver MOSFET skal have korte og tykke forbindelser til IR2110 IC.

Hvis vi placerer MOSFETS for langt fra IR2110, kan signalerne blive svage, og MOSFETS muligvis ikke skifter korrekt.

Hvis det sker, kan MOSFET'erne blive varmt og endda brænde ud.

Hvordan vi skal løse varmeproblemet

Hvis vi bruger IRF3205 MOSFETS eller lignende, vil de varme op, hvis vi ikke giver dem en køleplade.

Så vi skal fikse en stor aluminiums køleplade til MOSFETs for at holde dem kølige.

Hvis vi laver en højeffekt-inverter (mere end 100W), bør vi også vedhæfte en køleventilator på kølepladen.

Hvis MOSFET'erne bliver for varmt til at røre ved, betyder det, at der er noget problem, og vi er nødt til at kontrollere kredsløbet igen.

Hvordan vi skal drive kredsløbet

Arduino -delen kører på 5V, og MOSFETS har brug for 12V eller mere for at arbejde.

Så vi må aldrig forbinde 12V til Arduino, eller det vil brænde øjeblikkeligt!

IR2110 ICS har brug for to strømforsyninger:

12v til højsiden MOSFETS

5V for logikafsnittet

Hvis vi blander disse kraftledninger, fungerer kredsløbet ikke korrekt, og MOSFET'erne skifter ikke korrekt.

Hvordan vi skal forbinde ledningerne

Jorden (GND) -forbindelsen er super vigtig. Hvis jordledningen er svag eller lang, kan kredsløbet opføre sig underligt.

Vi bør bruge en fælles grund til alle dele, hvilket betyder, at Arduino -jorden, IR2110 jord- og MOSFET -kildeplads skal forbindes sammen.

Hvis vi ser kredsløbet opføre sig underligt (som output -flimrende eller MOSFET'er, der bliver varm uden belastning), skal vi først kontrollere jordforbindelserne.

Hvordan vi skal kontrollere kredsløbet, inden vi tænder det

Før vi tænder for strømmen, skal vi dobbeltkontrol alle forbindelser for at se, om alt er korrekt.

Hvis vi har et multimeter, skal vi bruge det til at kontrollere spændingen på forskellige punkter, før vi indsætter MOSFET'erne.

Vi har strengt brug for et oscilloskop, så vi kan kontrollere SPWM -signaler, der kommer fra Arduino for at se, om de ser korrekte ud.

Hvordan vi skal teste kredsløbet omhyggeligt

Den bedste måde at teste dette kredsløb sikkert på er ved at starte med en lav spænding.

I stedet for 12V kan vi først prøve med 6V eller 9V for at se, om MOSFET'erne skifter korrekt.

Hvis kredsløbet fungerer godt ved lav spænding, kan vi langsomt øges til 12V og til sidst til den fulde spænding.

Hvis vi pludselig anvender fuld spænding, og der er noget galt, kan der udbrænde noget med det samme!

Så vi skal teste trin for trin og fortsætte med at kontrollere for overophedning eller forkert opførsel.

Hvordan vi kan tilføje et filter til et glattere output

Dette kredsløb fremstiller en AC -output ved hjælp af PWM, men det er stadig lavet af hurtige pulser.

Hvis vi ønsker en ren sinusbølge, skal vi tilføje et LC -filter ved output.

Dette LC -filter er bare en stor induktor og en kondensator, der er forbundet til output.

Induktoren fjerner de hurtige skiftende impulser, og kondensatoren udjævner bølgeformen.

Hvis vi gør dette ordentligt, kan vi få en ren sinusbølge, der er sikker for apparater.

Hvordan vi skal beskytte kredsløbet mod skader

Vi skal altid tilføje en sikring i serie med strømforsyningen.

Hvis noget shorts eller en MOSFET mislykkes, bryder sikringen først og redder kredsløbet fra at brænde.

Hvis MOSFET'erne mislykkes, mislykkes de nogle gange kortsluttede (hvilket betyder, at de altid forbliver på).

Hvis det sker, kan enorm strøm flyde og skade transformeren eller andre dele.

Så det er altid godt at kontrollere MOSFET'erne ved hjælp af et multimeter, før den anvender høj effekt.

Konklusion

Så her så vi, hvordan vi kan lave en sinusbølgeinverter ved hjælp af Just Arduino og et H-Bridge Mosfet-kredsløb. Vi brugte IR2110 MOSFET-drivere til korrekt at skifte MOSFET'er og PWM-kontrol fra Arduino til at generere vores sinusmodulerede AC.

Nu er en ting at huske, at denne output stadig er lavet af hurtigt skiftende impulser, så hvis vi har brug for en ren sinusbølge, skal vi tilføje et LC-filter ved output for at udjævne det.

Men alt i alt er dette en meget praktisk og nem måde at lave en sinusbølgeinverter derhjemme!