Spisu treści:
- Krok 1: Co to jest MPPT i dlaczego go potrzebujemy?
- Krok 2: JAK DZIAŁA MPPT?
- Krok 3: Implementacja MPPT na Arduino
- Krok 4: Konwerter Buck
- Krok 5: Ostateczna korekta -
- Krok 6: AKTUALIZACJA:- Aktualny schemat obwodu, BOM i kod
Wideo: Arduino - Ładowarka słoneczna PV MPPT: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Na rynku dostępnych jest wiele kontrolerów ładowania. zwykłe tanie kontrolery ładowania nie są wydajne w wykorzystywaniu maksymalnej mocy z paneli słonecznych. Te, które są wydajne, są bardzo kosztowne.
Postanowiłem więc stworzyć własny kontroler ładowania, który jest wydajny i wystarczająco inteligentny, aby zrozumieć potrzeby baterii i warunki słoneczne. podejmuje odpowiednie działania, aby pobrać maksymalną dostępną moc z energii słonecznej i bardzo efektywnie umieścić ją w akumulatorze.
JEŚLI PODOBA CI SIĘ MÓJ WYSIŁEK, NIŻ PROSZĘ GŁOSUJ NA TĘ INSTRUKCJĘ.
Krok 1: Co to jest MPPT i dlaczego go potrzebujemy?
Nasze panele słoneczne są głupie i niezbyt inteligentne, aby zrozumieć stan baterii. Załóżmy, że mamy panel słoneczny 12 V/100 W, który da moc wyjściową między 18 V-21 V, w zależności od producenta, ale akumulatory są przystosowane do napięcia nominalnego 12 V, przy pełnym naładowaniu będą wynosić 13,6 V i przy pełnym napięciu 11,0 V rozładować się. teraz załóżmy, że nasze akumulatory są naładowane 13V, panele dają 18V, 5,5A przy 100% wydajności pracy (nie można mieć 100%, ale załóżmy). Zwykłe sterowniki mają regulator napięcia PWM ckt, który obniża napięcie do 13,6, ale nie zwiększa prądu. zapewnia ochronę przed nadmiernym ładowaniem i prądem upływowym do paneli tylko w nocy.
Mamy więc 13,6v * 5,5A = 74,8 wata.
Tracimy około 25 watów.
Aby napotkać ten problem, użyłem konwertera smps buck. tego rodzaju konwertery mają sprawność powyżej 90%.
Drugim problemem, który mamy, jest nieliniowa moc wyjściowa paneli słonecznych. muszą działać przy określonym napięciu, aby uzyskać maksymalną dostępną moc. Ich wydajność zmienia się w ciągu dnia.
Do rozwiązania tego problemu wykorzystywane są algorytmy MPPT. MPPT (maksymalne śledzenie punktu mocy), jak sama nazwa wskazuje, ten algorytm śledzi maksymalną dostępną moc z paneli i zmienia parametry wyjściowe, aby utrzymać stan.
Dzięki zastosowaniu MPPT nasze panele będą generować maksymalną dostępną moc, a konwerter buck będzie efektywnie wkładał ten ładunek do akumulatorów.
Krok 2: JAK DZIAŁA MPPT?
Nie będę omawiał tego szczegółowo. więc jeśli chcesz to zrozumieć, spójrz na ten link -Co to jest MPPT?
W tym projekcie śledziłem charakterystyki wejściowe V-I i wyjściowe V-I. mnożąc wejście V-I i wyjście V-I możemy uzyskać moc w watach.
powiedzmy, że mamy 17 V, 5 A, czyli 17x5 = 85 watów o każdej porze dnia. w tym samym czasie nasza moc wyjściowa to 13 V, 6A czyli 13x6 = 78 Watt.
Teraz MPPT zwiększy lub zmniejszy napięcie wyjściowe przez porównanie z poprzednią mocą wejściową/wyjściową.
jeśli poprzednia moc wejściowa była wysoka, a napięcie wyjściowe było niższe niż obecne, napięcie wyjściowe zostanie ponownie obniżone, aby powrócić do wysokiej mocy, a jeśli napięcie wyjściowe było wysokie, obecne napięcie zostanie zwiększone do poprzedniego poziomu. w ten sposób oscyluje wokół maksymalnego punktu mocy. te oscylacje są minimalizowane przez wydajne algorytmy MPPT.
Krok 3: Implementacja MPPT na Arduino
To jest mózg tej ładowarki. Poniżej znajduje się kod Arduino do regulacji wyjścia i implementacji MPPT w jednym bloku kodu.
// Iout = prąd wyjściowy
// Vout = napięcie wyjściowe
// Vin = napięcie wejściowe
// Pin = moc wejściowa, Pin_previous = ostatnia moc wejściowa
// Vout_last = ostatnie napięcie wyjściowe, Vout_sense = obecne napięcie wyjściowe
void regulowa(float Iout, float Vin, float Vout) { if((Vout>Vout_max) || (Iout>Iout_max) || ((Pin>Pin_poprzedni && Vout_sense<Vout_ostatni) || (PinVout_ostatni)))
{
jeśli(cykl_obowiązkowy>0)
{
cykl_pracy -=1;
}
analogWrite(buck_pin, duty_cycle);
}
inaczej, jeśli ((Vout
{
jeśli (cykl_pracy<240)
{ cykl_pracy+=1;
}
analogWrite(buck_pin, duty_cycle);
}
Przypnij_poprzedni = Przypnij;
Vin_ostat = Vin;
Vout_last = Vout;
}
Krok 4: Konwerter Buck
Użyłem N-kanałowy mosfet do wykonania konwertera buck. zwykle ludzie wybierają mosfet z kanałem P do przełączania wysokich stron, a jeśli wybiorą mosfet z kanałem N w tym samym celu, wymagany będzie układ scalony sterownika lub ckt przypinania rozruchu.
ale zmodyfikowałem CKT konwertera złotówki, aby mieć niskie przełączanie boczne za pomocą mosfet N-kanałowy. i, m przy użyciu kanału N, ponieważ są to niskie koszty, wysoka moc znamionowa i mniejsze rozpraszanie mocy. ten projekt wykorzystuje mosfet na poziomie logicznym IRFz44n, dzięki czemu może być bezpośrednio napędzany przez pin arduino PWM.
dla wyższego prądu obciążenia należy użyć tranzystora, aby zastosować 10V na bramce, aby całkowicie uzyskać mosfet w nasyceniu i zminimalizować rozpraszanie mocy, ja też zrobiłem to samo.
jak widać w CKT powyżej umieściłem mosfet na -ve napięcia, używając w ten sposób + 12V z panelu jako ziemi. ta konfiguracja pozwala mi na użycie N-kanałowy mosfet do konwertera buck z minimalną ilością komponentów.
ale ma też pewne wady. jak masz obie strony -ve napięcia oddzielone, nie masz już wspólnego uziemienia odniesienia. więc pomiar napięć jest bardzo skomplikowany.
Podłączyłem Arduino do zacisków wejściowych Solar i używając jego linii -ve jako uziemienia dla arduino. możemy łatwo zmierzyć volateg wejściowe w tym momencie, używając dzielnika napięcia ckt zgodnie z naszymi wymaganiami. ale nie możemy tak łatwo zmierzyć napięcia wyjściowego, ponieważ nie mamy wspólnego uziemienia.
Aby to zrobić, jest sztuczka. zamiast mierzyć napięcie na kondensatorze wyjściowym accros, zmierzyłem napięcie między dwiema liniami -ve. przy użyciu energii słonecznej-ve jako uziemienia dla arduino i wyjścia-ve jako mierzonego sygnału/napięcia. wartość, którą uzyskałeś z tym pomiarem, należy odjąć od zmierzonego napięcia wejściowego, a otrzymasz rzeczywiste napięcie wyjściowe na kondensatorze wyjściowym.
Vout_sense_temp=Vout_sense_temp*0.92+float(sur_vout)*volt_factor*0.08; //pomiar volatge poprzez wejście gnd i wyjście gnd.
Vout_sense=Vin_sense-Vout_sense_temp-diode_volt; //zmień różnicę napięć między dwoma masami na napięcie wyjściowe.
Do pomiarów prądu wykorzystałem moduły pomiaru prądu ACS-712. Zostały one zasilane przez arduino i podłączone do wejścia GND.
wewnętrzne zegary są modyfikowane, aby uzyskać 62,5 kHz PWM na pinie D6. który służy do sterowania mosfetem. dioda blokująca wyjściowa będzie wymagana do zapewnienia zabezpieczenia przed odwrotnym upływem i odwrotną polaryzacją, użyj do tego celu diody Schottky'ego o pożądanym prądzie znamionowym. Wartość cewki indukcyjnej zależy od wymagań częstotliwości i prądu wyjściowego. możesz skorzystać z dostępnych online kalkulatorów przeliczników buck lub użyć obciążenia 100uH 5A-10A. nigdy nie przekraczaj maksymalnego prądu wyjściowego cewki indukcyjnej o 80%-90%.
Krok 5: Ostateczna korekta -
możesz także dodać dodatkowe funkcje do swojej ładowarki. podobnie jak mój, wyświetlacz LCD wyświetla również parametry i 2 przełączniki do wprowadzania danych od użytkownika.
Wkrótce zaktualizuję ostateczny kod i uzupełnię diagram ckt.
Krok 6: AKTUALIZACJA:- Aktualny schemat obwodu, BOM i kod
AKTUALIZACJA:-
Wrzuciłem kod, bom i obwód. jest trochę inny niż mój, bo łatwiej go zrobić.
Zalecana:
Terrarium zasilane energią słoneczną: 15 kroków (ze zdjęciami)
Zasilane energią słoneczną podświetlane terrarium: P: Co otrzymasz, gdy przejdziesz przez lampkę nocną z notatnikiem? O: Zasilane energią słoneczną podświetlane terrarium! Przerobiłem zepsuty zestaw zasilanych energią słoneczną lamp ogrodowych, aby stworzyć tę mini scenę terrarium . Przedstawia kabinę, którą wynajęliśmy z moim chłopakiem las
Modułowa słoneczna stacja pogodowa: 5 kroków (ze zdjęciami)
Modułowa słoneczna stacja pogodowa: Jednym z projektów, które chciałem zbudować od jakiegoś czasu, była modułowa stacja pogodowa. Modułowa w tym sensie, że możemy dodać pożądane czujniki po prostu zmieniając oprogramowanie. Modułowa Stacja Pogodowa jest podzielona na trzy części. Płyta główna ma W
Robot zasilany energią słoneczną: 17 kroków (ze zdjęciami)
Robot zasilany energią słoneczną: Jakiś czas temu stworzyłem dziesiątki robotów, które były w dużej mierze inspirowane przez BEAM Robotics. Dla tych, którzy nie są zaznajomieni, BEAM jest w zasadzie specjalną metodą budowania robotów z naciskiem na biologię, elektronikę, estetykę i mechanikę (stąd skrót
Stacja pogodowa NaTaLia: stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: 8 kroków (ze zdjęciami)
Stacja pogodowa NaTaLia: Stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: po roku udanej pracy w 2 różnych lokalizacjach dzielę się planami projektu stacji pogodowej zasilanej energią słoneczną i wyjaśniam, jak ewoluował w system, który może naprawdę przetrwać przez długi czas okresy z energii słonecznej. Jeśli obserwujesz
Czujnik parkowania LED zasilany energią słoneczną: 8 kroków (ze zdjęciami)
Czujnik parkowania LED zasilany energią słoneczną: Nasz garaż nie ma dużej głębokości i ma szafki na końcu, aby jeszcze bardziej zmniejszyć głębokość. Samochód mojej żony jest na tyle krótki, że się zmieści, ale jest blisko. Zrobiłem ten czujnik, aby uprościć proces parkowania i upewnić się, że samochód jest pełny