Sisällysluettelo:

Arduino - PV MPPT aurinkolaturi: 6 vaihetta (kuvilla)
Arduino - PV MPPT aurinkolaturi: 6 vaihetta (kuvilla)

Video: Arduino - PV MPPT aurinkolaturi: 6 vaihetta (kuvilla)

Video: Arduino - PV MPPT aurinkolaturi: 6 vaihetta (kuvilla)
Video: Bluetti AC200MAX Portable Power Station - Unboxing & Review 2024, Heinäkuu
Anonim
Image
Image
Buck -muunnin
Buck -muunnin

Markkinoilla on monia latausohjaimia. tavalliset halvat lataussäätimet eivät ole tehokkaita käyttämään aurinkopaneelien maksimitehoa. Ne, jotka ovat tehokkaita, ovat erittäin kalliita.

Joten päätin tehdä oman latausohjaimen, joka on tehokas ja tarpeeksi älykäs ymmärtämään akun tarpeet ja auringon olosuhteet. se ottaa asianmukaiset toimenpiteet hyödyntääkseen suurimman käytettävissä olevan tehon aurinkokennosta ja laittaakseen sen akun sisään erittäin tehokkaasti.

Jos pidät vaivannäöstäni, äänestä TÄMÄN OHJEEN kanssa.

Vaihe 1: Mikä on MPPT ja miksi tarvitsemme sitä?

Aurinkopaneelimme ovat tyhmiä eivätkä älykkäitä ymmärtämään akun tilaa. Oletetaan, että meillä on 12v/100 wattinen aurinkopaneeli ja sen antama teho 18V-21V riippuu valmistajista, mutta akut on mitoitettu 12v nimellisjännitteelle, täydellä latauksella ne ovat 13,6v ja 11,0v täyteen purkaa. Oletetaan nyt, että akkujen varaus on 13 V, paneelit antavat 18 V, 5,5 A 100%: n teholla (ei ole mahdollista saada 100%, mutta oletetaan). tavallisissa ohjaimissa on PWM -jännitesäädin ckt, joka laskee jännitteen 13,6: een, mutta ei vahvistusta virrassa. se suojaa vain ylikuumenemiselta ja paneelien vuotovirralta öisin.

Joten meillä on 13,6v*5,5A = 74,8 wattia.

Meillä kuluu noin 25 wattia.

Tämän ongelman kohtaamiseksi olen käyttänyt smps buck -muunninta. tällaisilla muunnoksilla on yli 90% hyötysuhde.

Toinen ongelmamme on aurinkopaneelien epälineaarinen lähtö. niitä on käytettävä tietyllä jännitteellä maksimaalisen käytettävissä olevan tehon keräämiseksi. Niiden tuotanto vaihtelee päivän mittaan.

Tämän ongelman ratkaisemiseksi käytetään MPPT -algoritmeja. MPPT (Maximum Power Point Tracking), kuten nimestä voi päätellä, tämä algoritmi seuraa paneelien suurinta käytettävissä olevaa tehoa ja muuttaa lähtöparametreja ylläpitääkseen tilaa.

Joten käyttämällä MPPT: tä paneelimme tuottavat suurimman käytettävissä olevan tehon ja buck -muunnin laittaa tämän latauksen tehokkaasti paristoihin.

Vaihe 2: MITEN MPPT TOIMII?

En aio keskustella tästä yksityiskohtaisesti. joten jos haluat ymmärtää sen, katso tätä linkkiä -Mikä on MPPT?

Tässä projektissa olen seurannut tulon V-I-ominaisuuksia ja myös lähtöä V-I. kertomalla tulon V-I ja lähdön V-I voimme saada tehon watteina.

Oletetaan, että meillä on 17 V, 5 A eli 17 x 5 = 85 wattia milloin tahansa vuorokauden aikana. samalla lähtöteho on 13 V, 6A eli 13x6 = 78 wattia.

Nyt MPPT lisää tai pienentää lähtöjännitettä verrattuna edelliseen tulo-/lähtötehoon.

jos edellinen syöttöteho oli korkea ja lähtöjännite oli nykyistä pienempi, lähtöjännite laskee jälleen alas, jotta pääset takaisin suuritehoon ja jos lähtöjännite oli korkea, nykyinen jännite nostetaan edelliselle tasolle. täten se värähtelee jatkuvasti suurimman tehopisteen ympärillä. nämä värähtelyt minimoidaan tehokkailla MPPT -algoritmeilla.

Vaihe 3: MPPT: n käyttöönotto Arduinolla

Tämä on tämän laturin aivot. Alla on Arduino -koodi, joka säätelee lähtöä ja MPPT: n toteuttamista yhdessä koodilohkossa.

// Iout = lähtövirta

// Vout = lähtöjännite

// Vin = tulojännite

// Pin = syöttöteho, Pin_previous = viimeinen syöttöteho

// Vout_last = viimeinen lähtöjännite, Vout_sense = nykyinen lähtöjännite

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

{

jos (duty_cycle> 0)

{

käyttöjakso -= 1;

}

analogWrite (buck_pin, duty_cycle);

}

muuten jos ((VoutVout_last) || (Pi

{

jos (käyttöjakso <240)

{velkasykli+= 1;

}

analogWrite (buck_pin, duty_cycle);

}

Pin_previous = Nasta;

Vin_last = Vin;

Vout_last = Vout;

}

Vaihe 4: Buck -muunnin

Olen käyttänyt N-kanavaista MOSFETia taakseni muunnoksen tekemiseen. Yleensä ihmiset valitsevat P-kanavaisen mosfetin korkealle sivukytkennälle ja jos he valitsevat N-kanavan mosfetin samaan tarkoitukseen kuin kuljettajan IC vaaditaan tai käynnistyshihna.

mutta muutin buck-muuntimen ckt: tä matalapuoleiseen kytkentään N-kanavaisen MOSFETin avulla. Käytän N-kanavaa, koska nämä ovat edullisia, suuria tehoarvoja ja pienempi virrantuotto. Tämä projekti käyttää IRFz44n -logiikkatason mosfetia, joten sitä voidaan ajaa suoraan arduino PWM -tapin avulla.

korkeamman kuormituksen nykyinen pitäisi käyttää transistori soveltaa 10V portilla saada mosfet kyllästymiseen kokonaan ja minimoida virran haihtuminen, olen myös tehnyt saman.

Kuten näet ckt yllä, olen asettanut mosfetin -ve -jännitteeseen, käyttämällä +12v paneelista maana. Tämän kokoonpanon avulla voin käyttää N-kanavaista mosfetia buck-muuntimelle, jossa on minimikomponentit.

mutta sillä on myös joitain haittoja. koska sinulla on molemmat puolet -jännite erotettu, sinulla ei ole enää yhteistä vertailumaa. joten jännitteiden mittaaminen on erittäin hankalaa.

Olen liittänyt Arduinon Solar -tuloliittimiin ja käyttämällä sen -ve -linjaa arduinon maana. Voimme helposti mitata tulon volategin tässä vaiheessa käyttämällä jännitteenjakajaa ckt vaatimuksemme mukaisesti. mutta ei voi mitata lähtöjännitettä niin helposti, koska meillä ei ole yhteistä maata.

Tämän tekemiseen on nyt temppu. sen sijaan, että mittaisin jännite accros -lähtökondensaattorin, olen mitannut jännitteen kahden rivin välillä. käyttämällä aurinko -ve -maata arduinoksi ja lähtö -ve mitattavaksi signaaliksi/jännitteeksi. Tämän mittauksen avulla saamasi arvo on vähennettävä mitatusta syöttöjännitteestä ja saat todellisen lähtöjännitteen lähtökondensaattorin poikki.

Vout_sense_temp = Vout_sense_temp*0,92+float (raw_vout)*volt_factor*0,08; // mittaa volatlen tulon gnd: n ja output gnd: n välillä.

Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // muuta jännite -ero kahden maan välillä lähtöjännitteeksi..

Virtamittauksissa olen käyttänyt ACS-712-virtamittausmoduuleja. Ne ovat saaneet virtaa arduino -laitteesta ja yhdistetty tuloliitäntään.

sisäisiä ajastimia muutetaan siten, että ne saavat 62,5 kHz: n PWM: n nastassa D6. jota käytetään mosfetin ajamiseen. Lähdön esto -diodi vaaditaan käänteisvuodon ja napaisuussuojan aikaansaamiseksi. Käytä Schottky -diodia, jolla on haluttu virrankulutus tähän tarkoitukseen. Induktorin arvo riippuu taajuudesta ja lähtövirran vaatimuksista. voit käyttää verkossa saatavilla olevia buck-muunninlaskureita tai käyttää 100uH 5A-10A -kuormaa. Älä koskaan ylitä induktorin enimmäislähtövirtaa 80-90%.

Vaihe 5: Viimeinen kosketus -

Image
Image

voit myös lisätä lisäominaisuuksia laturiin. kuten minun on LCD myös näyttää parametrit ja 2 kytkintä ottamaan tietoja käyttäjältä.

Päivitän lopullisen koodin ja täydennän ckt -kaavion hyvin pian.

Vaihe 6: PÄIVITYS:- Todellinen piirikaavio, BOM & koodi

Valokilpailu 2017
Valokilpailu 2017

PÄIVITTÄÄ:-

Olen ladannut koodin, pommin ja piirin. se on hieman erilainen kuin minun, koska tämän tekeminen on helpompaa.

Suositeltava: