Obsah:

Arduino - solárna nabíjačka PV MPPT: 6 krokov (s obrázkami)
Arduino - solárna nabíjačka PV MPPT: 6 krokov (s obrázkami)

Video: Arduino - solárna nabíjačka PV MPPT: 6 krokov (s obrázkami)

Video: Arduino - solárna nabíjačka PV MPPT: 6 krokov (s obrázkami)
Video: Solar Tracker System using Arduino and LDR #shorts #charger 2024, November
Anonim
Image
Image
Buck Converter
Buck Converter

Na trhu je k dispozícii veľa regulátorov nabíjania. bežné lacné regulátory nabíjania nevyužívajú maximálny výkon zo solárnych panelov. Tie, ktoré sú efektívne, sú veľmi nákladné.

Rozhodol som sa preto vytvoriť si vlastný efektívny a dostatočne inteligentný regulátor nabíjania, ktorý bude rozumieť potrebám batérie a slnečným podmienkam. Vyžaduje potrebné opatrenia, aby veľmi efektívne čerpal maximálny dostupný výkon zo slnečnej energie a vložil ho do batérie.

AK SA VÁM PÁČI MOJE ÚSILIE, AKO PROSÍM, HLASUJTE TENTO NÁVOD.

Krok 1: Čo je MPPT a prečo ho potrebujeme?

Naše solárne panely sú hlúpe a nie múdre na to, aby pochopili stav batérie. Predpokladajme, že máme solárny panel 12 V/100 W a bude poskytovať výkon medzi 18 V až 21 V v závislosti od výrobcov, ale batérie sú dimenzované na menovité napätie 12 V, pri plnom nabití budú 13,6 V a pri plnom 11,0 V výtok. teraz predpokladajme, že sa naše batérie nabíjajú 13 V, panely poskytujú 18 V, 5,5 A pri 100% prevádzkovej účinnosti (nie je možné dosiahnuť 100%, ale predpokladajme). bežné regulátory majú regulátor napätia PWM ckt, ktorý znižuje napätie na 13,6, ale nemá prúdový zisk. poskytuje ochranu iba proti prebitiu a zvodovému prúdu do panelov počas noci.

Máme teda 13,6 V*5,5 A = 74,8 wattov.

Stratíme asi 25 wattov.

Na vyriešenie tohto problému som použil prevodník smps buck. tieto druhy konverzií majú účinnosť nad 90%.

Druhým problémom, ktorý máme, je nelineárny výkon solárnych panelov. musia byť prevádzkované pri určitom napätí, aby sa získal maximálny dostupný výkon. Ich produkcia sa v priebehu dňa líši.

Na vyriešenie tohto problému sa používajú algoritmy MPPT. MPPT (Maximum Power Point Tracking), ako názov napovedá, tento algoritmus sleduje maximálny dostupný výkon z panelov a mení výstupné parametre tak, aby udržali stav.

Vďaka použitiu MPPT budú naše panely generovať maximálny dostupný výkon a prevodník Buck bude efektívne nabíjať tieto batérie.

Krok 2: AKO FUNGUJE MPPT?

Nebudem to podrobne rozoberať. Ak to teda chcete pochopiť, pozrite sa na tento odkaz -Čo je MPPT?

V tomto projekte som sledoval aj vstupné V-I charakteristiky a výstupné V-I. vynásobením vstupu V-I a výstupu V-I môžeme mať výkon vo wattoch.

povedzme, že máme 17 V, 5 A, tj. 17 x 5 = 85 W, kedykoľvek počas dňa. zároveň je náš výkon 13 V, 6A, tj. 13x6 = 78 wattov.

Teraz MPPT zvýši alebo zníži výstupné napätie v porovnaní s predchádzajúcim vstupným/výstupným výkonom.

ak bol predchádzajúci vstupný výkon vysoký a výstupné napätie nižšie ako súčasné, potom bude výstupné napätie opäť nižšie, aby sa vrátilo k vysokému výkonu, a ak bolo výstupné napätie vysoké, súčasné napätie sa zvýši na predchádzajúcu úroveň. preto stále osciluje okolo bodu maximálneho výkonu. tieto oscilácie sú minimalizované efektívnymi algoritmami MPPT.

Krok 3: Implementácia MPPT na Arduino

Toto je mozog tejto nabíjačky. Nasleduje kód Arduino na reguláciu výstupu a implementáciu MPPT v jednom bloku kódu.

// Iout = výstupný prúd

// Vout = výstupné napätie

// Vin = vstupné napätie

// Pin = vstupný výkon, Pin_previous = posledný vstupný výkon

// Vout_last = posledné výstupné napätie, Vout_sense = aktuálne výstupné napätie

regulácia prázdnoty (float Iout, float Vin, float Vout) {if ((Vout> Vout_max) || (Iout> Iout_max) || ((Pin> Pin_previous && Vout_sense <Vout_last) || (PinVout_last)))

{

if (duty_cycle> 0)

{

duty_cycle -= 1;

}

analogWrite (buck_pin, duty_cycle);

}

inak ak ((VoutVout_last) || (Pi

{

if (duty_cycle <240)

{duty_cycle+= 1;

}

analogWrite (buck_pin, duty_cycle);

}

Pin_previous = Pin;

Vin_last = Vin;

Vout_last = Vout;

}

Krok 4: Buck Converter

Na výrobu prevodníka dolárov som použil N-kanálový mosfet. zvyčajne si ľudia vyberajú P-kanálový mosfet na prepínanie na bočnej strane a ak si zvolia N-kanálový mosfet na rovnaký účel, ako bude potrebný integrovaný obvod vodiča, alebo bootovacie páskovanie ckt.

ale upravil som prevodník buck ckt tak, aby mal prepínanie na nízkej strane pomocou N-kanálového mosfetu. Používam N-kanál, pretože sú to nízke náklady, vysoké výkony a nižší rozptyl energie. tento projekt používa mosfet logickej úrovne IRFz44n, takže ho možno ovládať priamo pinom arduino PWM.

pre vyšší prúd zaťaženia by ste mali použiť tranzistor na aplikovanie 10V na bránu, aby sa mosfet úplne nasýtil a minimalizoval stratový výkon, tiež som urobil to isté.

ako vidíte v ckt vyššie, umiestnil som mosfet na -ve napätie, a tak používam +12v z panelu ako zem. táto konfigurácia mi umožňuje používať N-kanálový mosfet pre prevodník buck s minimálnymi komponentmi.

ale má to aj svoje nevýhody. pretože máte oddelené napätie na oboch stranách -už nemáte spoločnú referenčnú zem. takže meranie napätia je veľmi náročné.

Pripojil som Arduino na solárne vstupné terminály a použil som jeho -ve linku ako uzemnenie pre arduino. v tomto mieste môžeme ľahko zmerať vstupnú volateg pomocou rozdeľovača napätia ckt podľa našich požiadaviek. ale nemôže merať výstupné napätie tak ľahko, pretože nemáme spoločnú zem.

Teraz to urobíte trikom. namiesto merania výstupného kondenzátora napätia accros som zmeral napätie medzi dvojveľkými vedeniami. pomocou solárneho -ve ako zeme pre arduino a výstupu -ve ako signálu/napätia, ktoré sa má merať. hodnota, ktorú získate pri tomto meraní, by sa mala odpočítať od nameraného vstupného napätia a získate skutočné výstupné napätie na výstupnom kondenzátore.

Vout_sense_temp = Vout_sense_temp*0,92+float (raw_vout)*volt_factor*0,08; // zmerajte volatilitu medzi vstupnými GND a výstupnými GND.

Vout_sense = Vin_sense-Vout_sense_temp-diode_volt; // zmena rozdielu napätia medzi dvoma dôvodmi na výstupné napätie..

Na meranie prúdu som použil moduly snímania prúdu ACS-712. Boli napájané arduino a pripojené k vstupu gnd.

vnútorné časovače sú upravené tak, aby získali 62,5 Khz PWM na pine D6. ktorý slúži na pohon mosfetu. Na zaistenie reverzného úniku a ochrany proti prepólovaniu bude potrebná dióda blokujúca výstup. Na tento účel použite schottkyho diódu s požadovaným prúdovým hodnotením. Hodnota induktora závisí od požiadaviek na frekvenciu a výstupný prúd. môžete použiť online dostupné kalkulačky konvertora dolárov alebo použiť zaťaženie 100uH 5A-10A. nikdy neprekračujte maximálny výstupný prúd induktora o 80%-90%.

Krok 5: Posledná úprava -

Image
Image

do nabíjačky môžete tiež pridať ďalšie funkcie. Rovnako ako ja, aj LCD majú parametre a 2 prepínače na zadanie vstupu od používateľa.

Čoskoro aktualizujem konečný kód a kompletný ckt diagram.

Krok 6: AKTUALIZÁCIA:- Schéma skutočného obvodu, kusovník a kód

Svetelná súťaž 2017
Svetelná súťaž 2017

AKTUALIZÁCIA:-

Nahral som kód, bom a obvod. je trochu odlišný od môjho, pretože je jednoduchšie ho vyrobiť.

Odporúča: