INHOUDSOPGAWE:
- Stap 1: Wat is MPPT en waarom het ons dit nodig?
- Stap 2: HOE WERK MPPT?
- Stap 3: Implementering van MPPT op Arduino
- Stap 4: Buck -omskakelaar
- Stap 5: Final Touch Up -
- Stap 6: UPDATE:- Werklike stroomdiagram, stempel en kode
Video: Arduino - PV MPPT Solar Charger: 6 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Daar is baie laai -beheerders in die mark beskikbaar. gewone goedkoop laadbeheerders is nie doeltreffend om maksimum krag van sonpanele te gebruik nie. Die wat doeltreffend is, is baie duur.
Daarom het ek besluit om my eie laaibestuurder te maak wat doeltreffend en slim genoeg is om die batterybehoeftes en sonkragomstandighede te verstaan. dit neem die nodige maatreëls om die maksimum beskikbare krag uit sonkrag te haal en dit baie doeltreffend in die battery te plaas.
AS U VAN MY POGING HOU AS STEM HIERDIE INSTRUKSIES.
Stap 1: Wat is MPPT en waarom het ons dit nodig?
Ons sonpanele is dom en nie slim om die batterytoestande te verstaan nie. Veronderstel ons het 'n 12v/100 watt sonpaneel en dit lewer 'n uitset tussen 18V-21V hang af van die vervaardiging, maar die batterye word gegradeer vir die nominale spanning van 12v, by volle laai toestande is dit 13.6v en sal dit 11.0v vol wees ontslag. laat ons nou aanvaar dat ons batterye 13V laai, panele gee 18V, 5.5A teen 100% werkdoeltreffendheid (dit is nie moontlik om 100% te hê nie, maar neem aan). gewone beheerders het 'n PWM spanningsreguleerder ckt wat die spanning tot 13,6 laat sak, maar geen toename in stroom nie. dit bied slegs beskerming teen oormatige laai en lekstroom na panele gedurende die nag.
Ons het dus 13.6v*5.5A = 74.8 watt.
Ons verloor ongeveer 25 watt.
Om hierdie probleem te ondervind, het ek smps buck converter gebruik. hierdie soort omskakelings het 'n doeltreffendheid van meer as 90%.
Ons tweede probleem is nie-lineêre uitset van sonpanele. hulle moet teen 'n sekere spanning bedryf word om die maksimum beskikbare krag te verkry. Hulle uitset wissel deur die dag.
Om hierdie probleem op te los, word MPPT -algoritmes gebruik. MPPT (Maximum Power Point Tracking), soos die naam aandui, volg hierdie algoritme die maksimum beskikbare krag vanaf panele en wissel die uitsetparameters om die toestand te handhaaf.
Dus, deur MPPT te gebruik, lewer ons panele maksimum beskikbare krag, en 'n boksomskakelaar sal hierdie lading doeltreffend in batterye plaas.
Stap 2: HOE WERK MPPT?
Ek sal dit nie in detail bespreek nie. so as u dit wil verstaan, kyk na hierdie skakel -wat is MPPT?
In hierdie projek het ek die invoer V-I-eienskappe en uitvoer V-I ook opgespoor. deur die invoer V-I en uitgang V-I te vermenigvuldig, kan ons die krag in watt hê.
laat ons sê ons het 17 V, 5 A, dit wil sê 17x5 = 85 watt op enige tyd van die dag. terselfdertyd is ons krag 13 V, 6A, d.w.z. 13x6 = 78 Watt.
Nou sal MPPT die uitsetspanning verhoog of verlaag deur te vergelyk met vorige inset-/uitsetkrag.
as die vorige insetkrag hoog was en die uitgangsspanning laer was as die huidige, dan sal die uitsetspanning weer laer wees om terug te keer na die hoë krag, en as die uitsetspanning hoog was, sal die huidige spanning na die vorige vlak verhoog word. dit hou dus aan om te pendel rondom die maksimum kragpunt. hierdie ossillasies word tot 'n minimum beperk deur doeltreffende MPPT -algoritmes.
Stap 3: Implementering van MPPT op Arduino
Dit is die brein van hierdie laaier. Hieronder is die Arduino -kode om die uitset en implementering van MPPT in 'n enkele kodeblok te reguleer.
// Iout = uitsetstroom
// Vout = uitgangsspanning
// Vin = insetspanning
// Pin = insetkrag, Pin_previous = laaste insetkrag
// Vout_last = laaste uitgangsspanning, Vout_sense = huidige uitgangsspanning
void regulate (float Iout, float Vin, float Vout) {if ((Vout> Vout_max) || (Iout> Iout_max) || ((Pin> Pin_previous && Vout_sense <Vout_last) || (PinVout_last)))
{
as (duty_cycle> 0)
{
duty_cycle -= 1;
}
analogWrite (buck_pin, duty_cycle);
}
anders as ((Vout
{
as (duty_cycle <240)
{duty_cycle+= 1;
}
analogWrite (buck_pin, duty_cycle);
}
Pin_previous = Speld;
Vin_last = Vin;
Vout_last = Vout;
}
Stap 4: Buck -omskakelaar
Ek het 'n N-channel mosfet gebruik om die boksomskakelaar te maak. Gewoonlik kies mense P-kanaal mosfet vir hoë kantskakeling, en as hulle N-kanaal mosfet kies vir dieselfde doel as wat 'n bestuurder IC benodig, of 'n opstartband.
maar ek het die buck converter ckt aangepas om 'n lae syskakeling te hê met behulp van N-kanaal mosfet. Ek gebruik N-kanaal omdat dit lae koste, hoë kragwaardes en laer kragverlies is. hierdie projek gebruik IRFz44n logika -vlak mosfet, sodat dit direk deur 'n arduino PWM -pen bestuur kan word.
Vir 'n hoër lasstroom moet 'n transistor 10V by die hek gebruik word om die mosfet heeltemal versadig te kry en die kragverlies te verminder, ek het ook dieselfde gedoen.
soos u kan sien in ckt hierbo, het ek die mosfet op -ve spanning geplaas en dus +12v van die paneel as grond gebruik. Met hierdie opset kan ek 'n N-kanaal mosfet for buck-omskakelaar met minimum komponente gebruik.
maar dit het ook 'n paar nadele. aangesien u beide kante -ve spanning van mekaar geskei het, het u nie meer 'n gemeenskaplike verwysingsgrond nie. dus is die meting van spannings baie moeilik.
Ek het die Arduino by sonkrag -ingangsklemme verbind en sy -ve -lyn as grond vir arduino gebruik. ons kan die insetvolateg op hierdie punt maklik meet deur 'n spanningsverdeler ckt te gebruik volgens ons vereiste. maar ons kan die uitgangsspanning nie so maklik meet nie, aangesien ons nie 'n gemeenskaplike basis het nie.
Om dit te doen, is daar 'n truuk. in plaas daarvan om die spanning tussen die uitgangskondensator te meet, het ek die spanning tussen twee -veelyne gemeet. met son -ve as grond vir arduino en uitset -ve as die sein/spanning wat gemeet moet word. Die waarde wat u met hierdie meting gekry het, moet van die ingevoerde spanning afgetrek word, en u kry die werklike uitsetspanning oor die uitgangskondensator.
Vout_sense_temp = Vout_sense_temp*0,92+float (raw_vout)*volt_factor*0,08; // meet volatge oor invoer gnd en output gnd.
Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // verander die spanningsverskil tussen twee gronde na die uitgangsspanning.
Vir huidige metings het ek ACS-712 stroomwaarnemingsmodules gebruik. Hulle word aangedryf deur arduino en is gekoppel aan input gnd.
interne timers word aangepas om 62,5 Khz PWM te kry by pen D6. wat gebruik word om die mosfet te bestuur. 'n Uitgangsblokkende diode sal nodig wees om omgekeerde lekkasie en beskerming teen omgekeerde polariteit te bied, gebruik 'n skottky -diode met die gewenste stroomgradering vir hierdie doel. Die waarde van die induktor hang af van die frekwensie- en uitsetstroomvereistes. u kan aanlyn beskikbare geldrekenaarrekenaars gebruik of 100uH 5A-10A laai. moet nooit die maksimum uitsetstroom van die induktor met 80%-90%oorskry nie.
Stap 5: Final Touch Up -
u kan ook ekstra funksies by u laaier voeg. Soos myne, het die LCD ook die parameters en 2 skakelaars om die gebruiker se insette te ontvang.
Ek sal binnekort die finale kode opdateer en die ckt -diagram voltooi.
Stap 6: UPDATE:- Werklike stroomdiagram, stempel en kode
OPDATEER:-
Ek het die kode, bom en kring opgelaai. dit is effens anders as myne, want dit is makliker om hierdie een te maak.
Aanbeveel:
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer
DIY SOLAR LI ION/ LIPO BATTERY CHARGER: 13 stappe (met foto's)
DIY SOLAR LI ION/LIPO BATTERY CHARGER: [Demo -video] [Speel video] Stel jou voor dat jy 'n gadgetliefhebber of stokperdjie/tinkerer of RC -entoesias is en dat jy gaan kampeer of uitstappie het. jy het 'n RC Quad Copter geneem, maar jy kon nie lank vlieg nie
DIY - Solar Battery Charger: 6 stappe (met foto's)
DIY - Solar Battery Charger: Hallo almal, ek is weer terug met hierdie nuwe tutoriaal.In hierdie tutoriaal gaan ek jou wys hoe om 'n Lithium 18650 Cell te laai met behulp van TP4056 chip met behulp van die sonenergie of bloot die SON. Sou dit nie regtig gaaf wees as jy jou fooi kan laai nie
DIY SOLAR JACKET (Usb Phone Charger): 9 stappe (met foto's)
DIY SOLAR JACKET (Usb Phone Charger): 'n Baie eenvoudige en maklike selfone -laadbaadjie en sak wat u selfs by u huis kan maak. Laai u telefoon om die sap wat u benodig in noodsituasies te voorsien vir 'n volledige gedetailleerde oorsig van die projek, moenie vergeet om dit na te gaan nie