Sisukord:

Võrgu sideme inverter: 10 sammu (piltidega)
Võrgu sideme inverter: 10 sammu (piltidega)

Video: Võrgu sideme inverter: 10 sammu (piltidega)

Video: Võrgu sideme inverter: 10 sammu (piltidega)
Video: Настройка 3D-принтера с помощью MKS sGen L v1.0 2024, November
Anonim
Image
Image
Grid Tie Inverter
Grid Tie Inverter
Grid Tie Inverter
Grid Tie Inverter

See on lihav projekt, nii et pange kinni!

Võrguühendusega inverterid võimaldavad teil toite pistikupessa ühendada, mis on suurepärane võime. Minu arvates on nende projekteerimisse kaasatud jõuelektroonika ja juhtimissüsteemid huvitavad, nii et ehitasin ise. See aruanne jagab õpitut ja dokumenteerib, kuidas ma asju tegin. Oleksin huvitatud teie kommentaaridest (välja arvatud need, mis puudutavad elektrivõrguga segadust).

Kõik kontseptsioonid on skaleeritavad, kuid selle seadistuse maksimaalne väljundvõimsus oli 40 vatti, enne kui filtri induktiivpoolid hakkasid küllastuma. Väljundvool oli siinus, THD <5%.

Vaadake minu GitHubi tarkvara

Tarvikud

  • Kasutasin STM32F407 arendusplaati. See töötab 168 MHz sagedusel ja sellel on 3 sisseehitatud ADC-d, mis suudavad 12-bitise eraldusvõimega üle 2,4 MSPS (miljon proovi sekundis). See on hullumeelne!
  • Kasutasin arendusplaati DRV8301. See sisaldab 60v H-silda koos vajalike väravajuhtide, voolu šuntide ja voolu šuntvõimenditega. Super tore!
  • Kasutasin 230-25v toroidaalset trafot, millel oli 2 väljundkraani. See tähendas, et ma ei pidanud otse võrgupinget tootma, vaid sain töötada selle asemel 40 -voldise tipppingega. Palju turvalisem!
  • Ühendasin koormuse induktiivpoole ja kondensaatoreid kokku, et saada filtri jaoks soovitud L- ja C -väärtused.
  • Ostsilloskoop ja diferentsiaalsond on sellise projekti jaoks võtmetähtsusega. Mul on Picoskoop

Samm: mis on võrgutoide?

Mis on elektrivõrk?
Mis on elektrivõrk?
Mis on elektrivõrk?
Mis on elektrivõrk?

Pistikupesast (Ühendkuningriigis) saate 50 Hz 230 V RMS sinusoidaalsignaali, millel on väga väike takistus. Selle kohta paar asja öelda:

50 Hz - võrgusagedust hoitakse väga täpselt 50 Hz juures. See varieerub veidi, kuid 90% ajast on see vahemikus 49,9–50,1 Hz. Vaata siia. Võite ette kujutada, et kõik tohutud generaatorid elektrijaamades üles ja alla pöörlevad üheskoos. Nad pöörlevad sünkroonselt, andes meile 50Hz sinusoidaalse signaali. Nende kombineeritud massiivne pöörlemissarts võtab aeglustamiseks või kiirendamiseks aega.

Teoreetiliselt, kui võrgule lisataks tohutu koormus, hakkaks see riigi generaatoreid aeglustama. Sellele vaatamata paluksid National Gridi juhtimisbüroo tüübid elektrijaamadelt katlad üles panna, soojust kergitada ja sundida neid generaatoreid nõudlusega sammu pidama. Seega on pakkumine ja nõudlus üksteisega pidevas tantsus.

Veel üks asi 50 Hz signaali kohta. Ehkki see varieerub umbes 50 Hz juures väga vähe, hoolitsevad üleval olevad poisid selle eest, et päeva keskmine sagedus oleks täpselt 50 Hz. Seega, kui võrk on 10 minuti jooksul 49,95 Hz juures, tagavad nad, et see töötab hiljem 50,05 Hz, et tuua täpne tsüklite arv 50 Hz x 60 sekundit x 60 minutit x 24 tundi = 4, 320 000 päevas. Nad teevad seda täpselt rahvusvahelist aatomiaega kasutades. Majapidamis-, kontori- ja tööstusseadmed võivad seega aja hoidmiseks kasutada võrgusagedust. Seda tehakse tavaliselt näiteks mehaaniliste pistikutaimerite abil.

230v - see on 50 Hz signaali RMS (Root Mean Square) pinge. Tegelik signaal tõuseb kuni 325 V tippuni. See on oluline teada, sest kui ehitate inverterit, peate pistikutesse voolava voolu tekitamiseks tekitama nii kõrge pinge.

Tegelikkuses on teie maja pistiku juures nähtud pinged üsna muutlikud. Selle põhjuseks on pingelangus juhtmete, pistikute, kaitsmete, trafode jne takistuses. Kõikjal on takistus. Kui lülitate sisse elektrilise dušši, mis tõmbab 11 kilovatti (see on ~ 50 amprit), vähendab isegi 0,2 oomi takistus 10 volti. Võite seda näha nii, et tuled hakkavad nii kergelt tuhmuma. Suured mootorid, näiteks hüdraulilised, tõmbavad tohutuid hoovusi, samal ajal kui mootor jõuab kiirusele. Nii et sageli näete nende sisselülitamisel kerget tulede virvendust.

Minu mõte on see, et võrgupinge on palju muutuvam. Siin Ühendkuningriigis peaks see olema 230 V, tolerants +10%/-6%. Kui läheduses asuvad suured koormused sisse/välja lülituvad, võite oodata äkilisi muutusi ja kõikumisi. Mõelge trummelkuivatitele, veekeetjatele, ahjudele, kaantele jne.

Sinusoidaalne - signaal peaks olema kena puhas siinuslaine, kuid tegelikult imavad mõned mittelineaarsed seadmed oma võimsuse siinustsükli teatud punktidest. See tekitab moonutusi ja seetõttu pole signaal täiuslik siinuslaine. Mittelineaarsed koormused hõlmavad tavaliselt arvuti toiteallikaid, luminofoorlampe, laadijaid, telereid jne.

Kogu harmooniline moonutus (THD) kvantifitseerib selle lainekuju. Inverteri väljund peab olema puhas. Kui see ei suuda piisavalt puhast signaali toota, ei kinnitata seda müügiks. See on oluline, kuna võrgu harmooniline sisu vähendab mõne sellega ühendatud seadme (eriti paaritu harmoonilise) efektiivsust. Usun, et maksimaalne lubatud THD on 8%

Madal takistus - kui mõelda võrguühendusega muundurile, on see oluline arvesse võtta. Võrgule on lisatud igasuguseid koormusi, sealhulgas induktiivseid, takistavaid ja aeg -ajalt mahtuvuslikke koormusi. Seega on takistus tundmatu ja muutuv. Vastupidavus on väga väike, kui ühendate suure voolukoormusega, ei lange pinge üldse palju.

2. samm: kuidas toide võrku suruda

Kuidas toitevõrku suruda
Kuidas toitevõrku suruda

Võrgu toomiseks võrku peame sünteesima signaali, mis vastab täpselt võrgu sagedusele ja faasile, kuid mille pinge on alati pisut kõrgem.

Võrgu väikese takistuse tõttu on raske täpselt teada, kui palju seda pinget kõrgemaks muuta. Ja kuna RMS pinge kõigub, peame tagama, et me sellega kõikume. Ainult toitevõrgu pingest veidi kõrgema 50 Hz pingesignaali tootmine ei toimi!

PI Väljundvoolu juhtimine

Vajame juhtimisahelat, mille abil mõõdame võrku surutavat hetkelist voolu ja reguleerime automaatselt oma väljundpinget soovitud voolu juhtimiseks. See muudab meie väljundi tõhusalt vooluallikaks (mitte pingeallikaks), mis on sobivam madalate takistuste juhtimiseks. Me saame seda saavutada, kasutades PI (proportsionaalne integraal) juhtimisahelat:

PI juhtimisahelad on fantastilised! Neis on 3 osa:

  • Mõõdetud väärtus - vool, mille me vooluvõrku suuname
  • Seadepunkt - vool, mida me tahame vooluvõrku suruda
  • Väljund - genereeritav signaalipinge

Iga kord, kui helistame PID -algoritmi, edastame uusima praeguse mõõtmise ja soovitud seadepunkti. See tagastab suvalise arvu (proportsionaalne genereeritava väljundpingega).

Meie PID -juhtimisalgoritm võimaldab meil igal hetkel valida soovitud väljundvoolu. 50 Hz sinusoidaalse väljundvoolu tekitamiseks peame pidevalt muutma soovitud voolu sinusoidaalselt.

PID -algoritmi kutsutakse iga 100us (võrdub 200 korda 50Hz tsükli kohta). Iga kord, kui seda nimetatakse, suudab see väljundpinget otseselt reguleerida ja seega kaudselt reguleerida väljundvoolu. Selle tulemusena toodame astmelise voolu väljundi, mis on sarnane pildil näidatuga, kusjuures iga samm toimub iga 100 ussi järel. See tagab piisava eraldusvõime.

Eelnev kontroll

PI -kontrolleri töökoormust saame massiivselt vähendada, lisades ka eelkontrolleri. See on lihtne! Me teame ligikaudset väljundpinget, mida peame looma (sama mis hetkeline võrgupinge). Seejärel võib PI -kontrolleri jätta väljundvoolu juhtimiseks vajaliku väikese lisapinge lisamiseks.

Eeljuhtimispult iseenesest sobitab muunduri väljundpinge võrgu pingega. Vool ei tohiks voolata, kui sobitume piisavalt hästi. Seega edastab juhtimine 99% väljundi juhtimisest.

Võrgu väikese takistuse tõttu tooksid meie FF väljundpinge ja võrgupinge erinevused kaasa suure voolu. Seetõttu lisasin muunduri ja võrgu vahele 1 oomi puhvertakistuse. See toob küll kaasa kaotusi, kuid need on suures plaanis üsna väikesed.

3. samm: väljundpinge tootmine PWM -i abil

Väljundpinge tootmine PWM abil
Väljundpinge tootmine PWM abil
Väljundpinge tootmine PWM abil
Väljundpinge tootmine PWM abil
Väljundpinge tootmine PWM abil
Väljundpinge tootmine PWM abil

Kuigi me kontrollime kaudselt väljundvoolu, on see väljundpinge, mille me igal hetkel genereerime. Väljundpinge tootmiseks kasutame impulsi laiuse modulatsiooni (PWM). PWM-signaale saab hõlpsasti toota mikrokontrollerite abil ja neid saab võimendada H-silla abil. Need on lihtsad lainekujud, mida iseloomustavad kaks parameetrit, sagedus F ja töötsükkel D.

PWM lainekuju lülitub kahe pinge vahel, meie puhul 0v ja Vsupply

  • Kui D = 1,0, on PWM -i lainekuju V -toiteallikas lihtsalt alalisvool
  • Kui D = 0,5, saame ruutlaine keskmise pingega 0,5 x V toide (st D x V toide)
  • Kui D = 0,1, saame impulsslainekuju, mille perioodi keskmine on 0,1 x V
  • Kui D = 0,0, on väljund tasapinnaline (alalisvool 0v juures)

Keskmine pinge on peamine. Madalpääsfiltri abil saame eemaldada kõik peale alalisvoolu keskmise komponendi. Seega muutes PWM -i töötsüklit D, saame soovitud alalispinge muuta. Kallis!

H-silla kasutamine

H-sild koosneb neljast lülituselemendist. Need võivad olla BJT -d, MOSFET -id või IGBT -d. Siinuslaine esimese poole (0–180 kraadi) tootmiseks seadsime faasi B madalaks, lülitades Q3 välja ja Q4 sisse (st rakendades PWM, kui D = 0). Seejärel teostame PWMing faasis A. Teisel poolel, kus VAB on negatiivne, seadsime faasi A madalaks ja rakendame oma PWM -i faasile B. Seda nimetatakse bipolaarseks lülituseks.

H-silla MOSFET-sid peab juhtima väravajuht. See on omaette teema, kuid lihtne kiip saab selle eest hoolt kanda. DRV8301 arendusplaadil on meie jaoks mugavalt H-sild, värava draiverid ja praegused šundid, mis muudavad selle projekti palju lihtsamaks.

4. samm: voolu mõõtmine

Voolu mõõtmine
Voolu mõõtmine
Voolu mõõtmine
Voolu mõõtmine
Voolu mõõtmine
Voolu mõõtmine

Igal H-silla jalal on šundtakistus ja diferentsiaalvõimendi. Meie šundid on 0,01 oomi ja võimendid on võimendatud 40 -ni. Seega arendab 1 amprit šundi ulatuses 10 mV, mis seejärel võimendatakse 400 mV -ni.

Šuntvõimendite väljundeid loevad STM32F407 12 -bitised ADC -d, mis töötavad pidevas muundamisrežiimis. ADC -d on seatud proovima iga šundi kiirusega 110KSPS ja DMA -kontroller kirjutab konversioonid automaatselt RAM -i 11 -sõnaliseks ringpuhvriks. Kui soovitakse praegust mõõtmist, kutsume funktsiooni, mis tagastab selle 11 sõna puhvri mediaanväärtuse.

Kuna me taotleme jooksvaid mõõtmisi igal PID iteratsioonil (10KHz), kuid täidame oma 11 sõna ADC puhvrid sagedusega 110KHz, peaksime iga PID iteratsiooni korral saama täiesti värskeid andmeid. Keskmise filtri kasutamise põhjuseks on asjaolu, et PWM -i lülitamine võib segusse sisse tuua naelu ja mediaanfiltrid hävitavad valesid ADC -proove väga tõhusalt.

Siinkohal tuleb välja tuua oluline punkt: millist H-silla jalga kasutame praegusteks mõõtmisteks? See sõltub sellest, millise jalaga me praegu PWMingit teeme ja millist hoiame lihtsalt madalal. Madalana hoitud jalg on see, millest tahame oma voolu mõõta, kuna vool voolab sellel küljel alati läbi šundtakisti. Võrdluseks: PWMed küljel, kui kõrge külje MOSFET on sisse lülitatud ja madal külg on välja lülitatud, ei voola vool läbi madala külje šundi. Niisiis muudame muunduri väljundpolaarsuse põhjal, millise jala järgi me voolu mõõdame. Seda näete pildil selgelt, näidates ühe šundivõimendi väljundit teatud aja jooksul. Ilmselgelt tahame sujuva biti ajal lugeda.

Meie praeguste näitude silumiseks. Seadistasin digitaalse analoogmuunduri seadmesse STM32F407. Kirjutasin praegused näidud, mida sain, ja ulatusin väljundisse. Seda näete lõplikul pildil, sinine on väljundpuhvri takisti pinge (st väljundvool/1,1 oomi) ja punane signaal on meie DAC -väljund.

Samm: väljundi filtreerimine

Väljundi filtreerimine
Väljundi filtreerimine
Väljundi filtreerimine
Väljundi filtreerimine

Väljundfilter on disaini oluline osa. Meil on vaja neid omadusi:

  1. Blokeerige kõik kõrgsageduslikud lülitused, kuid edastage 50 Hz signaal
  2. Madalad kahjud
  3. Mitte resoneerida!
  4. Et tulla toime voolude ja pingetega

PWM -signaali Fourier -teisendus sagedusel F, töötsükkel D vahemikus 0 - V toitepinge on: (D x V -toide) + siinuslained põhisagedusel F ja harmoonilised seejärel

See on geniaalne! See tähendab, kui paneme oma PWM -signaali läbi madalpääsfiltri, mis blokeerib PWM -põhi ja kõik ülaltoodud. Meil on alles jäänud alalispinge. Töötsüklit muutes saame hõlpsalt toota soovitud pinget vahemikus 0 - V, nagu selgitatud.

Eespool nimetatud soovitud omaduste põhjal saame kujundada väljundfiltri. Kadude vältimiseks vajame minimaalse takistusega madalpääsfiltrit. Seetõttu kasutame lihtsalt induktiivpooli ja kondensaatoreid. Kui valime resonantssageduse vahemikus 1–2 kHz, väldime resonantsi, kuna me ei süsti selle sageduse lähedale ühtegi signaali. Siin on meie filtri disain. Võtame oma väljundi C1 pingena.

Valides L1 = L2 = 440uH, C1 = 8,4uF, arvutame resonantssageduseks 1,85KHz. Need on ka realistlikud komponentide väärtused.

Oluline on tagada, et meie induktiivpoolid ei hakkaks küllastuma ootuspäraste voolude juures. Minu kasutatud induktiivpoolidel on küllastusvool 3A. See on meie vooluahela väljundvõimsust piirav tegur. Samuti on oluline arvestada kondensaatori pingega. Ma kasutan 450v keraamikat, mis on antud juhul väga üle jõu käiv!

Bode graafik (veidi erinevate L/C väärtuste jaoks) on loodud LTspice abil. See näitab meile erinevate sisendsageduste summutamist. Me näeme selgelt resonantssagedust sagedusel 1,8 KHz. See näitab, et 50 Hz signaal on peaaegu täielikult võltsimata, samas kui ma võin teile öelda, et 45 KHz signaal nõrgeneb 54 dB võrra!

Seega valime meie PWM -i kandesageduseks ~ 45KHz. Valides kõrgemad PWM kandesagedused, saab filtri sagedust kõrgemaks muuta. See on hea, sest see muudab L- ja C -väärtused väiksemaks. See tähendab väiksemaid ja odavamaid komponente. Negatiivne külg on see, et kõrgemad PWM -lülitussagedused põhjustavad transistorlülitites suuremaid kaotusi.

6. samm: faasi ja sageduse sünkroonimine

Faasi ja sageduse sünkroniseerimine
Faasi ja sageduse sünkroniseerimine
Faasi ja sageduse sünkroniseerimine
Faasi ja sageduse sünkroniseerimine
Faasi ja sageduse sünkroniseerimine
Faasi ja sageduse sünkroniseerimine

Võrgu faasi ja sagedusega sünkroniseerimine muudab võrguühenduse muunduri. Võrgusignaali täpse faasijälgimise saavutamiseks kasutame PLL (Phase Locked Loop) digitaalset rakendust. Me teeme seda järgmiselt:

  1. Võrgupinge proovivõtmine
  2. Kohaliku 50Hz sinusoidaalse signaali tootmine
  3. Võrreldes faasi meie kohaliku signaali ja võrgusignaali vahel
  4. Kohaliku signaali sageduse reguleerimine, kuni kahe signaali faasierinevus on null

1) Võrgupinge proovivõtmine

Seadistame kolmanda ADC kanali liinipinge lugemiseks. Selle saame pingega, jagades trafo kraani, nagu näidatud. See annab skaleeritud pinge, mis varieerub umbes 1,65 v, mis vastab täpselt võrgupingele.

2) Kohaliku 50 Hz sinusoidaalse signaali tootmine Meie oma kohaliku 50 Hz siinuslaine tootmine on lihtne. Salvestame otsustabeli, milles on 256 siinusväärtust. Meie simuleeritud siinusväärtuse saab hõlpsalt otsinguindeksi abil, mis pöörleb järk -järgult läbi tabeli.

50 Hz signaali saamiseks peame oma indeksit suurendama täpselt õige kiirusega. Nimelt 256 x 50Hz = 12, 800/s. Me teeme seda, kasutades taimerit 9, mille sagedus on 168 MHz. Oodates kella tiksumist 168 MHz/12800 = 13125, tõstame oma indeksit õige kiirusega.

3) Võrreldes faasi meie kohaliku signaali ja võrgusignaali vahel See on lahe osa! Kui integreerida korrutise cos (wt) x sin (wt) ühe perioodi jooksul, on tulemus null. Kui faaside erinevus on midagi muud kui 90 kraadi, saate nullist erineva numbri. Matemaatiliselt:

Integraal [Asin (t) x Bsin (t + φ)] = Ccos (φ)

See on hea! See võimaldab meil võrgusignaali sin ((t) võrrelda kohaliku signaaliga sin (⍵t + φ) ja saada väärtus.

Siiski tuleb lahendada üks probleem: kui tahame, et meie signaalid jääksid faasi, peame kohandama oma kohalikku sagedust, et hoida Ccos (φ) termin maksimaalne. See ei tööta väga hästi ja faasijälgimine on halb. Selle põhjuseks on asjaolu, et ɑcos (φ) d/dφ on 0, kui φ = 0. See tähendab, et Ccos (φ) termin ei muutu faasi muutumisel väga palju. Kas sellel on mõtet?

Palju parem oleks proovivõetud võrgusignaali faasinihe 90 kraadi võrra, nii et see muutuks cos (ωt + φ). Siis on meil selline:

Integraal [Asin (t) Bcos (t + φ)] = Csin (φ)

90 -kraadise faasinihke kasutuselevõtt on lihtne, me lihtsalt sisestame oma võrgu ADC pingeproovid puhvri ühte otsa ja võtame need hiljem välja mitu proovi, mis vastab 90 -kraadisele faasinihkele. Kuna võrgu sagedus ei muutu vaevalt 50 Hz -st, töötab lihtne viiteaja tehnika suurepäraselt.

Nüüd korrutame oma 90 -kraadise faasinihkega võrgusignaali oma kohaliku signaaliga ja hoiame toote integraali viimase perioodi jooksul (st viimase 256 väärtuse kohta).

Tulemus, mida me teame, on null, kui 2 signaali hoitakse täpselt 90 kraadi kaugusel. See on fantastiline, sest see tühistab faasinihet, mille me äsja võrgusignaalile rakendasime. Lihtsalt selgituseks, selle asemel, et integreeritud terminit maksimeerida, püüame seda nullida ja me liigutame oma võrgusignaali faasini. Nende kahe muudatusega kaasnevad 90 -kraadised faasinihked tühistavad üksteise.

Nii et kui Integral_Result <0, siis teame, et peame suurendama oma kohaliku ostsillaatori sagedust, et viia see vooluvõrku tagasi ja vastupidi.

4) Kohaliku signaali sageduse reguleerimine See bit on lihtne. Me lihtsalt kohandame indeksi suurendamise vahelist perioodi. Me piirame seda, kui kiiresti suudame faasierinevust parandada, filtreerides sisuliselt välja valed vahemaad. Teeme seda väga väikese I -tähega PI -kontrolleri abil.

Ja see ongi kõik. Oleme lukustanud oma kohaliku siinuslaineostsillaatori (mis määrab väljundvoolu seadepunkti) võrgu pingega faasi. Oleme rakendanud PLL -algoritmi ja see töötab nagu unistus!

Meie kohaliku ostsillaatori sageduse suurendamine vähendab ka võrgusignaali faasinihet. Kuna piirame sageduse reguleerimist +/- 131 puugile (+/- ~ 1%), mõjutame faasinihet kõige rohkem +/- 1 ° võrra. Faaside sünkroonimise ajal pole see üldse oluline.

Teoreetiliselt, kui võrgusagedus kaldub rohkem kui 0,5 Hz, kaotaksime oma faasiluku. Selle põhjuseks on meie ülaltoodud piirangud selle kohta, kui palju saame oma kohaliku ostsillaatori sagedust reguleerida. Seda ei juhtu aga enne, kui võrk peagi ebaõnnestub. Meie saartevastane kaitse hakkab sellel hetkel niikuinii pihta.

Me teeme käivitamisel nullpunkti, et anda endast parim signaalide käivitamiseks nihkega.

7. samm: saartevastane

Saarestamisvastane
Saarestamisvastane

Vikipeedias on vinge artikkel saarte ja saarte vastaste võtete kohta. See tähendab ka seda, et inimesed susisevad ja klapivad selle teema puhul rohkem kui vaja. "Oh, sa ei saa ehitada oma võrgu lipsu inverterit, sa tapad kellegi jne jne."

Nagu Vikipeedia artiklis paremini selgitatud, kasutame paar ohutusmeetmeid, mis koos pakuvad piisavat kaitset (minu arvates):

  1. Ala-/ülepinge
  2. Sagedus alla/üle

Neid olukordi saame tuvastada, lihtsalt analüüsides meie proovivõetud skaleeritud võrgupinget. Kui midagi läheb halvasti, lülitage H-sild välja ja oodake, kuni asjad normaliseeruvad.

Soovitan: