H-Bridge Sine Wave Inverter vezje z uporabo Arduino

Preizkusite Naš Instrument Za Odpravo Težav





Razumevanje zasnove vezja

Če ne želite prebrati celotne razlage, si lahko namesto tega ogledate ta video:

  OPOZORILO Sporočilo: Elektrika je nevarna, nadaljujte previdno

Zdaj si oglejmo spodnji diagram vezja in se naučimo, kako ta stvar dejansko deluje. V vezju vidimo naslednje glavne dele:



  Arduino sinus val polno most most pretvornik vezje

Arduino plošča - To so naši možgani. Oddaja SPWM impulze, ki se odločajo, kako bo potekalo naše vezje.

IR2110 MOSFET gonilnik ICS (IC1 in IC2) -Te naprave vzamejo standardne signale SPWM iz Arduino in jih naredijo združljive za pravilno preklapljanje 4 N-kanalnih H-mozd Mosfetov z uporabo metode zagona.



MOSFETS (Q1, Q2, Q3, Q4) - To so stikala za napajanje. DC vklopijo in izklopijo na določen način, da ustvarijo AC na izhodu.

Diode (1N4007) in kondenzatorji - Te so za omogočanje pravilnega delovanja mreže za zagon ICS za popolno preklapljanje 4 MOSFET.

Drugi kondenzatorji in upori - Ti so majhni, a zelo pomembni, ker vse nemoteno tečejo.

Napajanje - Za Arduino in IR2110 ICS potrebujemo +12V in +5V ter visoko DC napetost za MOSFET, glede na specifikacije obremenitve.

Kaj se dogaja v vezju?

Zdaj pa poglejmo, kako to deluje korak za korakom:

Arduino ustvari signale SPWM pri dveh izhodnih zatičih (pin 8 in pin 9). Ti signali se spreminjajo širino, da ustvarijo obliko, enakovredno ac sinusnemu valu.

IR2110 ICS prejmejo te PWM signale in jih uporabite za vklop in izklop MOSFET na zelo natančen način.

H-most, narejen z uporabo štirih MOSFET-jev, pretvori DC vodil v AC-podobni izhod, tako da s preklopom SPWM preklopi trenutno smer skozi tovoro.

Na izhodu dobimo približek sinusnega vala, kar pomeni, da je videti kot sinusni val, vendar je dejansko narejen iz hitro preklapljajočih se impulzov.

Če na izhod dodamo filtrirno vezje, lahko te impulze zgladimo in dobimo bolj popoln sinusni val.

Naša Arduino koda za Sine Wave PWM

Zdaj si oglejmo kodo. To bo izvajal Arduino za ustvarjanje signalov SPWM.

835EA948499CA2B1A94FC3D1BB3E885B51ff2262

Kaj se dogaja v tej kodi?

Najprej nastavimo dva izhodna zatiča (pin 8 in pin 9). Te bodo poslale naše signale PWM.

Nato v zanki vklopimo in izklopimo v posebnem vzorcu.

Začnemo z ozkimi impulzi in postopoma povečujemo širino impulza, nato pa jo zmanjšamo nazaj. To ustvarja vzorčni vzorec stene vala PWM.

Po končanem ciklu prve polovice ponovimo isto stvar na drugem zatiču (pin 9) za naslednji cikel.

Tako naš H-most preklopi MOSFETS v ustrezen sinusoidni val, kot je moda.

Kaj je dobro pri tej zasnovi

Zasnova je pravzaprav zelo preprosta. Uporabljamo samo arduino in nekaj skupnih komponent.

Tu ne potrebujemo generatorja sinusnega vala, prav. Arduino sam izdeluje sinusno obliko s pomočjo SPWM.

H-most deluje učinkovito z IR2110 ICS, da se prepriča, da se MOSFET-ji pravilno preklopijo brez pregrevanja.

SPWM lahko natančno prilagodimo, v primeru, da želimo drugačno frekvenco sinusa, nato pa kodo le malo spremenimo.

Kako bi morali obvladati zamudo Arduino za zagon

Zdaj zelo pomembna stvar, ki jo moramo razumeti, je, da Arduino traja nekaj časa, ko vklopimo napajanje.

To se zgodi, ker ko vklopimo na Arduino, potem najprej zažene svoj notranji nakladalec, ki traja nekaj sekund.

V tem času IC -jev in MOSFET IR2110 vrat ne smejo dobiti nobenih ustreznih signalov od Arduino.

Če se to zgodi, se lahko MOSFET vklopi naključno, kar lahko takoj poškoduje ICS, ali povzroči kratek stik ali eksplozijo.

Da se prepričamo, da zgornja zakasnitev zaganjanja med začetno močjo ne gori IC -jev in MOSFET -jev, moramo spremeniti zgornjo kodo, kot je prikazano spodaj:

// 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);
}

Seznam delov

Arduino plošča Arduino Uno (ali katera koli združljiva plošča) 1
MOSFET DRUGIN IC IR2110 High & Low Side Driver 2
MOSFETS IRF3205 (ali podoben n-kanal) 4
Diode 1N4007 (za zagon in zaščito) 4
Upori 1KΩ 1/4W (Mosfet Gate Spat-Down) 4
Upori 150Ω 1/4W (upor serije MOSFET Gate) 4
Kondenzatorji 100NF (kondenzator zagona) 2
Kondenzatorji 22UF 25V (napajalni filter) 2
Obremenitev Vsaka uporovna ali induktivna obremenitev 1
Napajanje +12V DC (za MOSFETS) in +5V DC (za Arduino) 1
Žice in priključki Primerno za vezje Po potrebi

Nasveti za gradnjo

Zdaj, ko dejansko gradimo to stvar, moramo biti zelo previdni pri nekaj pomembnih stvareh. V nasprotnem primeru morda ne bo delovalo ali še huje, kaj lahko izgorelo? Torej, tukaj je nekaj zelo pomembnih nasvetov za gradnjo, ki jim moramo slediti:

Kako naj uredimo dele na deski

Če uporabljamo ploščo, potem to vezje ne bo dobro delovalo, ker MOSFET in vozniki z visoko močjo potrebujejo močne, trdne povezave.

Zato bi morali uporabiti PCB (tiskano vezje) ali vsaj PERCT plošče in pravilno spajkati dele.

Če naredimo PCB, moramo MOSFET -ove in IR2110 ICS držati tesno skupaj, da signali ne postanejo šibki ali zavlečeni.

Debele žice bi morale iti za visoke točne poti, kot je od napajanja do MOSFET -ov in od MOSFET -ov do obremenitve.

Tanke žice se lahko uporabljajo samo za signalne povezave, kot je od Arduino do IR2110 ICS.

Kako bi morali postaviti mosfete

Štiri MOSFET je treba postaviti v pravilno obliko H-most, tako da ožičenje ne postane nered.

Vsak MOSFET mora imeti kratke in debele povezave z IR2110 IC.

Če MOSFET postavimo predaleč od IR2110, lahko signali postanejo šibki in MOSFET morda ne bodo pravilno preklapljali.

Če se to zgodi, se lahko MosFets segreje in celo izgori.

Kako naj odpravimo težavo s toploto

Če uporabljamo IRF3205 MOSFET ali podobne, se bodo segrevali, če jim ne bomo dali ogrevanja.

Zato moramo pritrditi veliko aluminijasto ogrevanje na MOSFET, da bodo ohlajeni.

Če izdelujemo pretvornik z visoko močjo (več kot 100 W), moramo na hladilniku pritrditi tudi hladilni ventilator.

Če se MOSFET -ji preveč segrejejo za dotik, to pomeni, da obstaja nekaj težav in moramo ponovno preveriti vezje.

Kako naj napajamo vezje

Del Arduino deluje na 5V in MOSFET -ji potrebujejo 12V ali več za delo.

Torej nikoli ne smemo povezati 12V z Arduino, ali pa bo takoj zažgal!

IR2110 ICS potrebujeta dva napajalnika:

12V za mosfete na visoki strani

5V za logični razdelek

Če mešamo te daljnovode, potem vezje ne bo delovalo pravilno in MOSFET ne bodo pravilno preklapljali.

Kako naj povežemo žice

Povezava tla (GND) je zelo pomembna. Če je ožičenje ozemljitve šibko ali dolgo, se lahko vezje obnaša čudno.

Uporabiti bi morali skupno podlago za vse dele, kar pomeni, da je treba povezati tla Arduino, IR2110 Ground in MOSFET.

Če vidimo, da se vezje obnaša nenavadno (na primer, da se izhod utripa ali MOSFET -ji, ki se ogrejejo brez obremenitve), bi morali najprej preveriti ozemljitvene povezave.

Kako naj preverimo vezje, preden ga napajamo

Preden vklopimo napajanje, moramo dvojno preveriti vse povezave, da vidimo, ali je vse pravilno.

Če imamo multimeter, ga moramo uporabiti za preverjanje napetosti na različnih točkah, preden vstavimo MOSFETS.

Strogo bomo potrebovali osciloskop, da bomo lahko preverili signale SPWM, ki prihajajo iz Arduino, da vidimo, ali so videti pravilno.

Kako naj natančno preizkusimo vezje

Najboljši način za varno preizkušanje tega vezja je z začetkom z nizko napetostjo.

Namesto 12V lahko najprej poskusimo s 6V ali 9V, da vidimo, ali MOSFETS pravilno preklapljajo.

Če vezje dobro deluje pri nizki napetosti, se lahko počasi povečamo na 12V in na koncu na polno napetost.

Če nenadoma nanesemo polno napetost in je nekaj narobe, lahko nekaj takoj izgoreva!

Zato moramo preizkusiti korak za korakom in še naprej preverjati pregrevanje ali napačno vedenje.

Kako lahko dodamo filter za bolj gladki izhod

To vezje naredi izhod iz AC z uporabo PWM, vendar je še vedno narejen iz hitrih impulzov.

Če želimo čist sinusni val, moramo na izhod dodati LC filter.

Ta LC filter je le velik induktor in kondenzator, povezan z izhodom.

Induktor odstrani hitro stikalno impulze in kondenzator zgladi valovno obliko.

Če to naredimo pravilno, lahko dobimo čisti sinusni val, ki je varen za aparate.

Kako naj zaščitimo vezje pred poškodbami

Vedno bi morali z napajanjem dodati varovalko.

Če nekaj kratkih hlač ali MOSFET ne uspe, se bo varovalka najprej zlomila in prihranila vezje pred gorenjem.

Če MOSFET -ji ne uspejo, potem včasih ne uspejo kratko (kar pomeni, da vedno ostanejo).

Če se to zgodi, lahko ogromen tok teče in poškoduje transformator ali druge dele.

Zato je vedno dobro preveriti MOSFET z uporabo multimetra, preden uporabite veliko moč.

Zaključek

Torej, tukaj smo videli, kako lahko naredimo sinusni valovni pretvornik z uporabo samo Arduino in vezja MOSFET H-most. Uporabili smo gonilnike IR2110 MOSFET za pravilno preklop MOSFET-jev in PWM Control iz Arduino, da smo ustvarili naš sinus moduliran AC.

Zdaj si je treba zapomniti, da je ta izhod še vedno narejen iz hitro preklapljanja impulzov, tako da, če potrebujemo čisti sinusni val, moramo na izhod dodati LC filter, da ga zgladimo.

Toda na splošno je to zelo praktičen in enostaven način za izdelavo sinusnega pretvornika doma!