Kazalo:

Arduino - sončni polnilnik PV MPPT: 6 korakov (s slikami)
Arduino - sončni polnilnik PV MPPT: 6 korakov (s slikami)

Video: Arduino - sončni polnilnik PV MPPT: 6 korakov (s slikami)

Video: Arduino - sončni polnilnik PV MPPT: 6 korakov (s slikami)
Video: Mppt Solar Charge controller | Automatic on /off | Street Light Solar |PV input 2024, November
Anonim
Image
Image
Pretvornik dolarjev
Pretvornik dolarjev

Na trgu je na voljo veliko regulatorjev polnjenja. navadni poceni krmilniki polnjenja niso učinkoviti pri uporabi največje moči iz sončnih panelov. Učinkoviti so zelo dragi.

Zato sem se odločil, da naredim svoj krmilnik polnjenja, ki bo učinkovit in dovolj pameten, da bo razumel potrebe po bateriji in sončne razmere. potrebni so ustrezni ukrepi za pridobivanje največje razpoložljive energije iz sončne energije in jo zelo učinkovito vstavi v baterijo.

ČE VAM JE Všeč MOJ POROČILO, PROSIM GLASAJTE TA NAVODILA.

1. korak: Kaj je MPPT in zakaj ga potrebujemo?

Naši solarni paneli so neumni in niso pametni, da bi razumeli stanje baterije. Predpostavimo, da imamo sončno ploščo 12v/100 watt, ki bo dala moč med 18V-21V, odvisno od proizvajalcev, vendar so baterije ocenjene za nazivno napetost 12v, pri polnem polnjenju bodo 13,6v in 11,0v pri polni praznjenje. zdaj predpostavimo, da so naše baterije pri 13v polnjenju, plošče dajejo 18v, 5.5A pri 100% delovni učinkovitosti (ni mogoče imeti 100%, vendar predpostavimo). navadni krmilniki imajo regulator napetosti PWM ckt, ki napetost zniža na 13,6, vendar toka ne dobi. zagotavlja samo zaščito pred prekomernim polnjenjem in uhajanjem toka na plošče ponoči.

Torej imamo 13,6v*5,5A = 74,8 vatov.

Izgubimo približno 25 vatov.

Za odpravo te težave sem uporabil pretvornik smps buck. te vrste pretvornikov imajo učinkovitost nad 90%.

Drugi problem, ki ga imamo, je nelinearna proizvodnja sončnih kolektorjev. delovati morajo pri določeni napetosti, da se pridobi največja razpoložljiva moč. Njihova proizvodnja se spreminja skozi dan.

Za rešitev tega problema se uporabljajo algoritmi MPPT. MPPT (Maximum Power Point Tracking), kot že ime pove, ta algoritem sledi največji razpoložljivi moči plošč in spreminja izhodne parametre, da vzdrži stanje.

Tako bodo z uporabo MPPT naše plošče proizvedle največjo razpoložljivo moč, pretvornik denarja pa bo to polnjenje učinkovito naložil v baterije.

2. korak: KAKO DELUJE MPPT?

O tem ne bom podrobno razpravljal. Torej, če želite razumeti, poglejte to povezavo -Kaj je MPPT?

V tem projektu sem zasledil tudi vhodne značilnosti V-I in izhod V-I. z množenjem vhoda V-I in izhoda V-I lahko dobimo moč v vatih.

recimo, da imamo kadarkoli v dnevu 17 V, 5 A, to je 17 x 5 = 85 vatov. hkrati je naša moč 13 V, 6A, tj. 13x6 = 78 W.

Zdaj bo MPPT povečal ali zmanjšal izhodno napetost na v primerjavi s prejšnjo vhodno/izhodno močjo.

če je bila prejšnja vhodna moč visoka in je bila izhodna napetost nižja od prisotne, se bo izhodna napetost spet znižala, da se vrnete na visoko moč, in če je bila izhodna napetost visoka, se bo sedanja napetost povečala na prejšnjo raven. tako nenehno niha okoli točke največje moči. ta nihanja zmanjšajo učinkoviti algoritmi MPPT.

3. korak: Izvajanje MPPT na Arduinu

To so možgani tega polnilca. Spodaj je koda Arduino za regulacijo izhoda in izvajanje MPPT v enem samem kodnem bloku.

// Iout = izhodni tok

// Vout = izhodna napetost

// Vin = vhodna napetost

// Pin = vhodna moč, Pin_previous = zadnja vhodna moč

// Vout_last = zadnja izhodna napetost, Vout_sense = trenutna izhodna napetost

void regulate (float Iout, float Vin, float Vout) {if ((Vout> Vout_max) || (Iout> Iout_max) || ((Pin> Pin_prethodni && Vout_sense <Vout_last) || (PinVout_last)))

{

če (delovni_koles> 0)

{

delovni cikel -= 1;

}

analogWrite (buck_pin, duty_cycle);

}

drugače če ((VoutVout_last) || (Pi

{

če (delovni cikel <240)

{duty_cycle+= 1;

}

analogWrite (buck_pin, duty_cycle);

}

Pin_previous = Pin;

Vin_last = Vin;

Vout_last = Vout;

}

4. korak: Pretvornik dolarjev

Za pretvorbo dolarjev sem uporabil N-kanalni MOSFET. običajno se za visoko stransko preklapljanje odločijo P-kanalni MOSFET, če pa za isti namen izberejo N-kanalni MOSFET, bo potreben IC gonilnik ali pa zagonski trak ckt.

vendar sem spremenil pretvornik dolarja ckt tako, da preklopi na nizko stran z uporabo N-kanalnega MOSFET-a. i, uporabljam N-kanal, ker so to nizki stroški, visoke nazivne moči in manjša poraba energije. ta projekt uporablja mosfet logične ravni IRFz44n, zato ga lahko neposredno poganja arduino PWM pin.

za večji tok obremenitve je treba uporabiti tranzistor za uporabo 10V na vratih, da se MOSFET popolnoma nasiči in zmanjša poraba energije, tudi jaz sem naredil enako.

kot lahko vidite v ckt zgoraj, sem postavil MOSFET na -ve napetost, tako da uporabljam +12v iz plošče kot tla. ta konfiguracija mi omogoča uporabo N-kanalnega MOSFET-a za pretvornik dolarjev z minimalnimi komponentami.

ima pa tudi nekaj pomanjkljivosti. Ker imate obe strani ločeni napetosti, nimate več skupnega referenčnega temelja. zato je merjenje napetosti zelo težavno.

Arduino sem priključil na vhodne terminale Solar in uporabil njegovo linijo -ve kot ozemljitev za arduino. na tej točki lahko enostavno izmerimo vhodni volateg z uporabo delilnika napetosti ckt po naši zahtevi. vendar ne moremo tako enostavno izmeriti izhodne napetosti, saj nimamo skupnih točk.

Zdaj za to obstaja trik. namesto merjenja napetosti preko izhodnega kondenzatorja sem izmeril napetost med dvema ve -vodoma. z uporabo solarnega -ve kot ozemljitve za arduino in izhodnega -ve kot signala/napetosti za merjenje. vrednost, ki jo dobite s to meritvijo, je treba odšteti od izmerjene vhodne napetosti in dobili boste pravo izhodno napetost na izhodnem kondenzatorju.

Vout_sense_temp = Vout_sense_temp*0,92+float (raw_vout)*volt_factor*0,08; // merimo volatge na vhodnem gnd in izhodnem gnd.

Vout_sense = Vin_sense-Vout_sense_temp-dioda_volt; // spremenimo napetostno razliko med dvema razlogoma na izhodno napetost.

Za meritve toka sem uporabil module za zaznavanje toka ACS-712. Napajal jih je arduino in povezal z vhodom gnd.

notranji časovniki so spremenjeni tako, da pridobijo 62,5 Khz PWM na pin D6. ki se uporablja za pogon MOSFET. za zagotovitev povratnega puščanja in zaščite pred povratno polariteto bo za ta namen potrebna dioda Schottky z želeno jakostjo toka. Vrednost induktorja je odvisna od zahtev po frekvenci in izhodnem toku. lahko uporabite spletne kalkulatorje pretvornika dolarjev ali uporabite obremenitev 100uH 5A-10A. nikoli ne prekoračite največjega izhodnega toka induktorja za 80%-90%.

5. korak: Končni dotik -

Image
Image

polnilniku lahko dodate tudi dodatne funkcije. tako kot moj imajo tudi LCD prikaz parametrov in 2 stikala za vnos od uporabnika.

Kmalu bom posodobil končno kodo in dokončal ckt diagram.

Korak 6: Posodobi:- Dejanski diagram, BOM in koda

Natečaj luči 2017
Natečaj luči 2017

NADGRADNJA:-

Naložil sem kodo, bom in vezje. je nekoliko drugačen od mojega, ker ga je lažje narediti.

Priporočena: