H-silla siinuse muunduri vooluahel Arduino abil

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Ahela kujunduse mõistmine

Kui te ei soovi kogu seletust lugeda, saate seda videot vaadata:

  Hoiatussõnum: elekter on ohtlik, jätkake ettevaatlikult

Vaatame nüüd allolevat vooluringi diagrammi ja õppige, kuidas see asi tegelikult töötab. Näeme vooluringi järgmisi põhiosa:



  Arduino siinuslaine täissilla muunduri vooluringi skeem

Arduino juhatus - See on meie aju. See annab välja SPWMi impulsse, mis otsustavad, kuidas meie vooluring töötab.

IR2110 MOSFET draiveri ICS (IC1 ja IC2) -Need seadmed võtavad Arduinost standardsed SPWM-signaalid ja muudavad need ühilduvaks 4 N-kanaliga H-Bridge MOSFETSi vahetamiseks, kasutades alglaadimismeetodit.



MOSFETS (Q1, Q2, Q3, Q4) - Need on toitelülitid. Nad lülitavad alalisvoolu toite sisse ja välja konkreetsel viisil, et luua AC väljundis.

Dioodid (1N4007) ja kondensaatorid - Need on mõeldud ICS -i alglaadimisvõrgu õige töö võimaldamiseks 4 MOSFET -i täiuslikuks lülitamiseks.

Muud kondensaatorid ja takistid - Need on väikesed, kuid väga olulised, kuna hoiavad kõik sujuvalt.

Toiteallikas - Vajame Arduino ja IR2110 ICS jaoks +12 V ja +5 V ning MOSFET -ide kõrge alalispinget vastavalt koormuse spetsifikatsioonidele.

Mis ringkonnas toimub?

Vaatame nüüd, kuidas see samm -sammult töötab:

Arduino genereerib SPWM -signaale kahe väljundtihvti juures (PIN 8 ja PIN 9). Need signaalid muutuvad laiust, et luua kuju, mis samaväärne vahelduvvoolulainega.

IR2110 ICS võtab need PWM -signaalid vastu ja kasutavad neid MOSFETS -i sisse- ja väljalülitamiseks väga konkreetsel viisil.

Nelja MOSFET-i abil valmistatud H-sild teisendab alalisvoolu siini varustuse vahelduvvoolutaoliseks väljundiks, lülitades voolu suuna koormuse kaudu SPWM-lüliti abil.

Väljundil saame siinuslaine lähenduse, mis tähendab, et see näeb välja nagu siinuslaine, kuid on tegelikult valmistatud kiiresti vahetatavatest impulssidest.

Kui lisame väljundisse filtriahela, saame need impulsid siluda ja saada täiuslikuma siinuslaine.

Meie Arduino kood siinuslaine PWM jaoks

Nii et nüüd näeme koodi. Seda töötab Arduino SPWM -signaalide genereerimiseks.

835EA9484999CA2B1A94FC3D1BB3E885B5B51FF22262

Mis selles koodis toimub?

Esmalt seadisime kaks väljundtihvti (PIN 8 ja PIN 9). Need saadavad meie PWM -i signaalid.

Seejärel lülitame silmuses tihvti sisse ja välja spetsiaalse mustriga.

Alustame kitsastest impulssidest ja suurendame järk -järgult impulsi laiust ning siis vähendame seda tagasi. See loob astmeline siinuslaine PWM -mustri.

Pärast esimese poolaja tsükli valmimist kordame järgmise tsükli jaoks sama asja (Pin 9).

Nii lülitab meie H-sild MOSFET-i õiges sinusoidaalses laines nagu mood.

Mis on selle kujunduse juures hea

Kujundus on tegelikult väga lihtne. Me kasutame lihtsalt Arduinot ja mõnda ühist komponenti.

Me ei vaja siin siinuslainegeneraatorit, eks. Arduino ise teeb SINWM -i abil siinus kuju.

H-sild töötab tõhusalt, kasutades IR2110 ICS-i, et veenduda, et MOSFETS lülituks õigesti ilma ülekuumenemiseta.

Saame SPWM -i hõlpsalt häälestada, juhuks, kui soovime erinevat siinuslaine sagedust, siis lihtsalt muudame koodi pisut.

Kuidas peaksime hakkama Arduino alglaadimise viivitusega

Nüüd on üks väga oluline asi, mida peame mõistma, et Arduino alustamiseks kulub natuke aega pärast toite sisselülitamist.

See juhtub seetõttu, et kui me Arduinot toidame, käivitab ta kõigepealt oma sisemise alglaaduri, mis võtab mõni sekund.

Nii et selle aja jooksul ei pruugi IR2110 värava draiveri IC -d ja MOSFETS Arduinolt saada ühtegi õiget signaali.

Kui see juhtub, võivad MOSFET -id juhuslikult sisse lülitada, mis võib ICS -i koheselt kahjustada või põhjustada lühist või plahvatust.

Et veenduda, et ülaltoodud alglaadimisviivitus ei põleks ICS ja MOSFETS -i algse toite ajal, peame muutma ülaltoodud koodi, nagu allpool näidatud:

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

Osade nimekiri

Arduino juhatus Arduino UNO (või mis tahes ühilduv tahvel) 1
MOSFET DRICKER IC IR2110 kõrge ja madala külje juht 2
MOSFETS IRF3205 (või sarnane N-kanal) 4
Dioodid 1N4007 (alglaadimiseks ja kaitseks) 4
Takistid 1kΩ 1/4W (MOSFET-värava tõmmake) 4
Takistid 150Ω 1/4W (MOSFET GATE -SERITSTOR) 4
Kondensaatorid 100NF (Bootstrap kondensaator) 2
Kondensaatorid 22UF 25V (toiteallikafilter) 2
Laadima Mis tahes takistus või induktiivne koormus 1
Toiteallikas +12 V alalisvool (MOSFETS -i jaoks) ja +5 V alalisvool (Arduino jaoks) 1
Juhtmed ja pistikud Sobib vooluahela ühenduste jaoks Vastavalt vajadusele

Ehitusnõuanded

Nüüd, kui me selle asja tegelikult ehitame, peame olema mõne olulise asja suhtes väga ettevaatlikud. Vastasel juhul ei pruugi see toimida või mis veelgi hullem, miski võib õigesti läbi põleda? Nii et siin on mõned ülitähtsad ehitusnõuanded, mida peame järgima:

Kuidas peaksime korraldama tahvli osad

Kui kasutame leivalaua, ei pruugi see vooluring hästi töötada, kuna suure võimsusega MOSFETS ja draiverid vajavad tugevaid, kindlaid ühendusi.

Seega peaksime kasutama PCB -d (trükitud vooluahela) või vähemalt perf -tahvlit ja jooteid osi korralikult.

Kui teeme PCB -d, peame MOSFETS ja IR2110 ICS -i lähedal hoidma, et signaalid ei muutuks nõrgaks ega hilineks.

Paksud juhtmed peaksid kehtima kõrge vooluteede jaoks, nagu näiteks toiteallikast kuni MOSFETS -i ja MOSFET -ist koormuseni.

Õhukesi juhtmeid saab kasutada ainult signaaliühenduste jaoks, näiteks Arduinost kuni IR2110 IC -ni.

Kuidas peaksime MOSFETSi paigutama

Neli MOSFETi tuleks paigutada õigesse H-silla kuju, nii et juhtmestik ei muutuks räpane.

Igal MOSFETil peaks olema lühikesed ja paksud ühendused IR2110 IC -ga.

Kui asetame MOSFETS IR2110 -st liiga kaugele, võivad signaalid muutuda nõrgaks ja MOSFETS ei pruugi korralikult vahetada.

Kui see juhtub, võivad MOSFET -id kuumeneda ja isegi läbi põleda.

Kuidas peaksime kuumuse probleemi parandama

Kui kasutame IRF3205 MOSFETS või sarnaseid, siis kuumenevad nad, kui me neile ei anna jahutusradiaatorit.

Seega peame jahedaks hoidmiseks MOSFET -de külge suure alumiiniumist jahutusradiaine.

Kui teeme suure võimsusega muundurit (rohkem kui 100W), peaksime ka jahutusventilaatorite jahutusventilaatoritele kinnitama.

Kui MOSFET -id lähevad puudutuseks liiga kuumaks, tähendab see, et on mõni probleem ja peame vooluringi uuesti kontrollima.

Kuidas me peaksime vooluringi

Arduino osa töötab 5V -l ja MOSFETS vajab töötamiseks 12 V või rohkem.

Seega ei tohi me kunagi 12 V Arduinoga ühendada, vastasel juhul põleb see kohe!

IR2110 ICS vajab kahte toiteallikat:

12 V kõrge külje MOSFET-de jaoks

5 V loogikaosa jaoks

Kui segame need elektriliinid, siis vooluring ei tööta korralikult ja MOSFETS ei lülitu õigesti.

Kuidas peaksime juhtmed ühendama

Maapinna (GND) ühendus on ülioluline. Kui maapinna juhtmestik on nõrk või pikk, võib vooluring käituda imelikult.

Me peaksime kasutama kõigi osade ühist pinda, mis tähendab, et Arduino maapind, IR2110 maapinna ja MOSFET -i lähtekivi tuleb ühendada omavahel.

Kui näeme, et vooluring käitub imelikult (näiteks väljund virvendab või MOSFETS soojeneb ilma koormata), siis peaksime kõigepealt kontrollima maapinnaühendusi.

Kuidas peaksime enne selle sisselülitamist vooluringi kontrollima

Enne kui toite sisse lülitame, peame kõik ühendused uuesti kontrollima, et näha, kas kõik on õige.

Kui meil on multimeeter, siis peaksime seda enne MOSFET -i sisestamist erinevates punktides pingete kontrollimiseks kasutama.

Vajame rangelt ostsilloskoopi, et saaksime kontrollida Arduinost tulevaid SPWM -signaale, et näha, kas need näevad õiged välja.

Kuidas peaksime vooluringi hoolikalt proovile panema

Parim viis selle vooluringi ohutuks testimiseks on madala pingega alustamine.

12 V asemel võime kõigepealt proovida 6 V või 9 V -ga, et näha, kas MOSFETS vahetub õigesti.

Kui vooluring töötab hästi madala pingega, saame aeglaselt suureneda 12 V -ni ja lõpuks kogu pingeni.

Kui rakendame äkki täielikku pinget ja midagi on valesti, võib midagi kohe läbi põleda!

Seega peame samm -sammult proovima ja kontrollima ülekuumenemist või valet käitumist.

Kuidas saaksime siledama väljundi filtri lisada

See vooluring teeb PWM -i abil vahelduvvoolu väljundi, kuid see on endiselt kiiretest impulssidest.

Kui soovime puhast siinuslainet, peame väljundisse lisama LC -filtri.

See LC -filter on lihtsalt suur induktor ja väljundiga ühendatud kondensaator.

Induktor eemaldab kiire lülitusimpulsid ja kondensaator silub lainekuju.

Kui teeme seda korralikult, siis saame puhta siinuse laine, mis on seadmete jaoks ohutu.

Kuidas peaksime kaitsta vooluringi kahjustuste eest

Peaksime alati lisama toiteallikaga seeriad.

Kui midagi lühikesi lühi- või mosfet ebaõnnestub, puruneb kaitse kõigepealt ja päästab vooluringi põlemisest.

Kui MOSFETS ebaõnnestub, siis mõnikord ebaõnnestuvad (see tähendab, et nad jäävad alati edasi).

Kui see juhtub, võib tohutu vool voolata ja kahjustada trafo või muid osi.

Seega on alati hea kontrollida MOSFET -i multimeetri abil enne suure võimsuse kasutamist.

Järeldus

Nii et siin nägime, kuidas saaksime siinuslaine muunduri teha, kasutades ainult Arduinot ja H-Bridge Mosfeti vooluringi. MOSFET-i ja PWM-i juhtimise nõuetekohaseks muutmiseks Arduinost kasutasime IR2110 MOSFET draivereid, et genereerida oma siinusmoduleeritud vahelduvvoolu.

Nüüd, mida tuleb meeles pidada, on see, et see väljund on valmistatud endiselt kiiresti vahetatavatest impulssidest, nii et kui vajame puhast siinuslainet, peame selle silumiseks lisama väljundisse LC-filtri.

Kuid üldiselt on see väga praktiline ja lihtne viis kodus siinuslaine muunduri valmistamiseks!