H-Bridge Sine Wave Inverter krug pomoću Arduinoa

Isprobajte Naš Instrument Za Uklanjanje Problema





Razumijevanje dizajna kruga

Ako ne želite pročitati cijelo objašnjenje, umjesto toga možete pogledati ovaj video:

  Poruka upozorenja: Elektrika je opasna, nastavite oprezno

Pogledajmo sada dijagram kruga u nastavku i naučimo kako ta stvar zapravo funkcionira. U krugu vidimo sljedeće glavne dijelove:



  Arduino sinusni val Dijagram okretnog kruga punog mosta

Odbor arduino - Ovo je naš mozak. Daje SPWM impulse koji odlučuju kako će se pokrenuti naš krug.

IR2110 MOSFET vozač ICS (IC1 i IC2) -Ovi uređaji uzimaju standardne SPWM signale iz Arduina i čine ih kompatibilnim za pravilno prebacivanje 4 n-kanalnog H-mosta mosta, koristeći metodu pokretanja.



MOSFETS (Q1, Q2, Q3, Q4) - To su prekidači za napajanje. Uključuju i isključuju DC napajanje na određeni način da stvore AC na izlazu.

Diode (1N4007) i kondenzatori - To su za omogućavanje ispravnog rada mreže za pokretanje ICS -a za savršeno prebacivanje 4 MOSFET -a.

Ostali kondenzatori i otpornici - To su male, ali vrlo važne jer drže sve glatko.

Napajanje - Potrebno nam je +12V i +5V za Arduino i IR2110 ICS, te visoki istosmjerni napon za MOSFETS, prema specifikacijama opterećenja.

Što se događa u krugu?

A sad da vidimo kako to funkcionira korak po korak:

Arduino generira SPWM signale na dva izlazna igle (PIN 8 i PIN 9). Ovi signali neprestano mijenjaju širinu kako bi stvorili oblik ekvivalentni AC sinusnom valu.

IR2110 IC -ovi primaju ove PWM signale i koriste ih za uključivanje i isključivanje Mosfeta na vrlo specifičan način.

H-mosta napravljena pomoću četiri MOSFET-a pretvara opskrbu istosmjernom sabirnicom u izlaz sličan AC prebacivanjem strujnog smjera kroz opterećenje pomoću SPWM prebacivanja.

Na izlazu dobivamo aproksimaciju sinusnog vala što znači da izgleda kao sinusni val, ali zapravo je izrađen od brzog prebacivanja impulsa.

Ako na izlazu dodamo krug filtra, tada možemo izgladiti ove impulse i dobiti savršeniji sinusni val.

Naš Arduino kod za sine valni PWM

Dakle, sada vidimo kod. To će Arduino pokrenuti za generiranje SPWM signala.

835EA9484999CA2B1A94FC3D1BB3E885B51FF2262

Što se događa u ovom kodu?

Prvo smo postavili dvije izlazne igle (PIN 8 i PIN 9). Oni će poslati naše PWM signale.

Zatim u petlji uključimo i isključujemo PIN u posebnom uzorku.

Započinjemo s uskim impulsima i postupno povećavamo širinu impulsa, a zatim ga smanjimo. To stvara stepenasti sinusni valni PWM uzorak.

Nakon završetka ciklusa prvog poluvremena, tada ponavljamo istu stvar na drugom pin (PIN 9) za sljedeći ciklus.

Na taj način naš H-most prebacuje Mosfets u pravilnom sinusoidnom valu poput mode.

Što je dobro u ovom dizajnu

Dizajn je zapravo vrlo jednostavan. Koristimo samo Arduino i neke uobičajene komponente.

Ovdje nam ne treba generator sinusnih valova, točno. Sam Arduino stvara sinusni oblik pomoću SPWM.

H-most djeluje učinkovito koristeći IR2110 ICS kako bi osigurao da se MOSFETS pravilno prebacuje bez pregrijavanja.

Možemo lagano prilagoditi SPWM, u slučaju da želimo drugačiju frekvenciju sinusnog vala, a zatim samo malo izmijenimo kôd.

Kako bismo trebali podnijeti kašnjenje Arduino

Sada je jedna vrlo važna stvar koju moramo razumjeti je da Arduinu treba neko vrijeme da započne nakon što uključimo napajanje.

To se događa jer kad napajamo Arduino, tada prvo pokrene svoj interni pokretač koji traje nekoliko sekundi.

Dakle, za to vrijeme IR2110 VATE vozač ICS i MOSFETS možda neće primati odgovarajuće signale od Arduina.

Ako se to dogodi, tada se MOSFET -ovi mogu uključiti nasumično što može odmah oštetiti ICS ili uzrokovati kratki spoj ili eksploziju.

Da bismo bili sigurni da gornje kašnjenje u pokretanju ne sagorijeva IC -ove i MOSFET -ove tijekom početne snage, moramo izmijeniti gornji kôd kao što je prikazano u nastavku:

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

Popis dijelova

Odbor arduino Arduino Uno (ili bilo koja kompatibilna ploča) 1
Mosfet Driver IC IR2110 visoki i niski bočni vozač 2
Mosfets IRF3205 (ili sličan n-kanal) 4
Diode 1N4007 (za Bootstrap & Protection) 4
Otpornici 1kω 1/4W (padanja mosfet vrata) 4
Otpornici 150Ω 1/4W (otpornik serije Mosfet Gate) 4
Kondenzatori 100NF (kondenzator za pokretanje) 2
Kondenzatori 22UF 25V (filter napajanja) 2
Opterećenje Bilo koje otporno ili induktivno opterećenje 1
Napajanje +12V DC (za MOSFETS) & +5V DC (za Arduino) 1
Žice i konektori Prikladno za spojeve kruga Po potrebi

Savjeti za izgradnju

Sada kada zapravo gradimo ovu stvar, moramo biti vrlo oprezni u nekoliko važnih stvari. Inače možda neće uspjeti ili još gore, nešto može izgorjeti? Dakle, evo nekoliko super važnih savjeta za izgradnju koje moramo slijediti:

Kako bismo trebali organizirati dijelove na ploči

Ako koristimo ploču, ovaj krug možda neće dobro funkcionirati jer mosfeti i vozači velike snage trebaju snažne, čvrste veze.

Dakle, trebali bismo koristiti PCB (ispisanu ploču) ili barem PERF ploču i lemiti dijelove pravilno.

Ako napravimo PCB, tada moramo držati Mosfets i IR2110 ICS blizu da signali ne postanu slabi ili kasni.

Debele žice trebale bi ići na staze velike struje poput napajanja do Mosfeta i od MOSFET -a do opterećenja.

Tanke žice mogu se koristiti samo za signalne veze poput Arduina do IR2110 ICS.

Kako bismo trebali smjestiti Mosfets

Četiri mosfeta trebaju biti smještene u pravi oblik H-mosta kako ožičenje ne postane neuredno.

Svaki MOSFET trebao bi imati kratke i guste veze s IR2110 IC.

Ako Mosfets stavimo predaleko od IR2110, tada signali mogu postati slabi i MOSFETS se ne mogu pravilno prebaciti.

Ako se to dogodi, tada se MOSFET -ovi mogu zagrijati i čak izgorjeti.

Kako bismo trebali riješiti problem topline

Ako koristimo IRF3205 MOSFETS ili slične, tada će se zagrijati ako im ne damo grijanje.

Stoga moramo popraviti veliku aluminijsku hladnjaku na Mosfets kako bismo ih ohladili.

Ako izrađujemo pretvarač velike snage (više od 100 W), tada bismo trebali pričvrstiti ventilator za hlađenje na hladnjak.

Ako Mosfeti postanu previše vrući da bi se dodirnuli, to znači da postoji neki problem i moramo ponovo provjeriti krug.

Kako bismo trebali napajati krug

Arduino dio radi na 5V, a MOSFET -ovi treba 12 V ili više za rad.

Dakle, nikada ne smijemo povezati 12V s Arduinom ili će to odmah izgorjeti!

IR2110 ICS trebaju dvije napajanja:

12V za Mosfets s visokih strana

5V za odjeljak logike

Ako pomiješamo ove dalekovode, krug neće raditi ispravno i MOSFET -ovi se neće pravilno prebaciti.

Kako bismo trebali povezati žice

Povezanost tla (GND) je super važna. Ako je tlo ožičenja slabo ili dugo, tada se krug može ponašati čudno.

Trebali bismo upotrijebiti zajedničko tlo za sve dijelove, što znači da se Arduinovo tlo, IR2110 tlo i mosfet izvori mora povezati zajedno.

Ako vidimo da se krug ponaša neobično (poput izlaznog treperenja ili mosfeta koji se zagrijavaju bez opterećenja), tada bismo trebali prvo provjeriti priključke u tlo.

Kako bismo trebali provjeriti krug prije nego što ga uključimo

Prije nego što uključimo napajanje, moramo dvaput provjeriti sve veze kako bismo vidjeli je li sve točno.

Ako imamo multimetar, trebali bismo ga koristiti za provjeru napona u različitim točkama prije umetanja MOSFET -a.

Strogo će nam trebati osciloskop kako bismo mogli provjeriti SPWM signale koji dolaze iz Arduina da vidimo izgledaju li ispravno.

Kako bismo trebali pažljivo testirati krug

Najbolji način za sigurno testiranje ovog kruga je početak s niskim naponom.

Umjesto 12V, prvo možemo pokušati sa 6V ili 9V da bismo vidjeli hoće li MOSFET -ovi ispravno prelaziti.

Ako krug dobro funkcionira pri niskom naponu, tada se možemo polako povećati na 12V i konačno na puni napon.

Ako odjednom primijenimo puni napon i nešto nije u redu, onda bi se nešto moglo odmah izgorjeti!

Stoga moramo testirati korak po korak i nastaviti provjeravati ima li pregrijavanja ili pogrešnog ponašanja.

Kako možemo dodati filtar za glatki izlaz

Ovaj krug izrađuje izmjenični izlaz pomoću PWM -a, ali još uvijek je izrađen od brzih impulsa.

Ako želimo čist sinusni val, na izlaz moramo dodati LC filter.

Ovaj LC filter je samo veliki induktor i kondenzator spojen na izlaz.

Induktor uklanja brzo prebacivanje impulsa i kondenzator izglađuje valni oblik.

Ako to učinimo kako treba, onda možemo dobiti čisti sinusni val koji je siguran za uređaje.

Kako bismo trebali zaštititi krug od oštećenja

Uvijek bismo trebali dodati osigurač u seriji s napajanjem.

Ako nešto kratke hlače ili MOSFET ne uspije, osigurač će se prvo razbiti i uštedjeti krug od izgaranja.

Ako Mosfets ne uspije, onda ponekad ne uspiju (što znači da uvijek ostaju).

Ako se to dogodi, onda ogromna struja može teći i oštetiti transformator ili druge dijelove.

Tako je uvijek dobro provjeriti MOSFET -ove pomoću multimetra prije primjene velike snage.

Zaključak

Dakle, ovdje smo vidjeli kako možemo napraviti pretvarač sinusnog vala koristeći samo Arduino i H-Bridge MOSFET krug. Koristili smo upravljačke programe IR2110 MOSFET za pravilno prebacivanje MOSFETS-a i PWM kontrole iz Arduinoa kako bismo stvorili naš sinusni modulirani AC.

Sada je jedna stvar koju treba zapamtiti da je ovaj izlaz još uvijek napravljen od impulsa za brzo prebacivanje, tako da ako nam treba čisti sinusni val, tada moramo dodati LC filter na izlazu kako bismo ga izgladili.

Ali sveukupno, ovo je vrlo praktičan i jednostavan način da napravite inverter sinusnog vala kod kuće!