Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
MPPT w LKV2 i zapisywanie do EEPROM
#1
Zakupiłem LKV2 w celu podmiany z LK1,2 i niestety się okazało, że LKV2 nie ma automatycznego utzymywania zadanego napięcia poprzez sterowanie wypełnieniem PWM.
ale przyszło mi do głowy, że może zamiast pilnować napiecia to może dałoby się zrobic utrzymywanie MAX mocy. Na INP4 mamy natężenie, na INP5 mamy napięcie i się przelicza to na moc - więc jaki problem, żeby zrobić prosty algorytm do utrzymywania max mocy.

i druga sprawa - po zaniku zasilania resetuje się zliczona moc w Wh. Rozumiem, że EEPROM ma ograniczoną ilość zapisów, ale wystarczyłoby np co 1kWh przepisywać dane do EEPROM
<t></t>
Odpowiedz
#2
iwi napisał(a):Zakupiłem LKV2 w celu podmiany z LK1,2 i niestety się okazało, że LKV2 nie ma automatycznego utzymywania zadanego napięcia poprzez sterowanie wypełnieniem PWM.
ale przyszło mi do głowy, że może zamiast pilnować napiecia to może dałoby się zrobic utrzymywanie MAX mocy. Na INP4 mamy natężenie, na INP5 mamy napięcie i się przelicza to na moc - więc jaki problem, żeby zrobić prosty algorytm do utrzymywania max mocy.
Czy taki prosty to nie wiem, podrzuc jakiś opis to spróbujemy zaimplementowac

iwi napisał(a):i druga sprawa - po zaniku zasilania resetuje się zliczona moc w Wh. Rozumiem, że EEPROM ma ograniczoną ilość zapisów, ale wystarczyłoby np co 1kWh przepisywać dane do EEPROM
Zrobi się
pozdrawiam
tomek
Odpowiedz
#3
wilkxt napisał(a):Czy taki prosty to nie wiem, podrzuc jakiś opis to spróbujemy zaimplementowac

taki kod wymyśliłem - prosty, ale powinien działać [jezyk C]
Startujemy ze zmiennymi 0.
Ponieważ 0 = 0 więc pierwszy if spełniony więc zwiększamy wypełnienie o 1.
Drugi If nie spełniony więc obrót zegara i drugie sprawdzenie.
Ponieważ Pmax dalej jest zero, a wypełnienie 1 to jeśli płynie prąd to znowu pierwszy warunek jest prawdziwy a drugi nie. Więc tak będzie się wykonywało aż w końcu dojdziemy do Maxa i wtedy będziemy odejmować mocy PWM, ale jeśli odejmiemy za dużo to znowu wrócimy do pierwszego warunku.
Jeśli natomiast wypełnienie dojdzie do 255 to program nic nie zrobi bo zwiększenie i 1 powodowałoby wyzerowane sie OCR1A.
Powinno to zadziałać.

a kod taki:
Kod:
uint8_t OCR1A, P, Pmax; //OCR1A - wypełnienie, P - moc wyliczona INP4*INP5, Pmax - moc max

int main (void) {
    while(1){
        if (P >= Pmax) {
        Pmax=P;
            if (OCR1A) {
        Pmax=P;
            if (OCR1A>0) OCR1A--;
        }
            
    }
}

Jeszcze tylko zastanawiam się czy nie dać ograniczenia do MAX Mocy żeby nie uszkodzić solara (nie wiem czy takie coś się może zdarzyć, ale to jest do rozważenia).

Przy Panelu jest napisane = Max moc np 240W - a zapewne związane to jest z MAX natężeniem prądu który może popłynąć przez panel - jak myślicie - moze do tego dojść?
<t></t>
Odpowiedz
#4
iwi napisał(a):
wilkxt napisał(a):Czy taki prosty to nie wiem, podrzuc jakiś opis to spróbujemy zaimplementowac



Jeszcze tylko zastanawiam się czy nie dać ograniczenia do MAX Mocy żeby nie uszkodzić solara (nie wiem czy takie coś się może zdarzyć, ale to jest do rozważenia).

Przy Panelu jest napisane = Max moc np 240W - a zapewne związane to jest z MAX natężeniem prądu który może popłynąć przez panel - jak myślicie - moze do tego dojść?
Max moc to raczej jest to co maksymalnie solar moze dać z siebie, ale niech sie wypowie ktoś kto testował
pozdrawiam
tomek
Odpowiedz
#5
kiedy można się spodziewać implementacji kodu bez zabezpieczeń - masz chyba rację i chyba to nie ma znaczenia. Niech solary pracują na max mocy.
<t></t>
Odpowiedz
#6
nie podam dokladnego terminu bo trudno oszacować a mamy teraz inna robotę, napewno nie wczesniej niż 3-4 tygodnie
pozdrawiam
tomek
Odpowiedz
#7
Obawiam się, że ten algortym nie zadziała, a przynajmniej nie jako MPPT.
W kodzie jest sprawdzanie wartosci maxymalnej panela (czy powiedzmy 240W), ale to nigdy nie będzie spelnione w polskich warunkach (praktycznie nie zdarza sie takie nat. oświetlenia jakie jest do warunków pomiaru mocy mac 1000w/m2) więc PWM bedzie maksymalnie wysterowane. Ale istotniejsze, ze MPPT to jest algorytm utrzymujący parametry wyjściowe na szczycie krzywej napięcie/prąd dla danego nasłonecznienia. Więc co ten PWM miałby sterować? Powiedzmy że otwieramy nim bramkę tranzystora, owszem moc bedzie zmieniana, ale nie będzie to miało nic wspólnego z MPPT IMO. Żeby to zrobić, musimy mieć przetwornicę, z możliwościa regulacji pradu i napiecia wyjsciowego. Tu jedynie możnaby tak zmodyfikować kod, aby cyklicznie zmniejszal i zwiekszal PWM dazac do optimum mocy wy (ale nie punktu krzywej panela), choc myślę że moglby to pomóc tylko w nielicznych przypadkach (na pewno nie jeśli uzywamy regulator ładowania).
<t></t>
Odpowiedz
#8
Tu nie chodzi o zrobienie super uządzenia MPPT, ale o wykorzystanie na max mocy panel.
Jeśli jest gdzieś błąd w kodzie to napisz gdzie, ale wg mnie kod jest poprawny i LK spełni swoje zadanie idealnie do podłączenia dowolnego urządzenia pod panel.
Jeśli ktoś natomiast ma jakię zewnętrzny MPPT to wiadomo, że nie będzie dublował funkcji.
Połączenie solar = grzałka wykorzystując LK jest najrozsądniejszym rozwiązaniem. W przypadku ładowania akumulatorów to już potrzeba dodatkowe urządzenie.

Natomiast to co było w LK1.2 (utrzymywanie zadanego napięcia) też jest dobrym rozwiązaniem, ale to moje pseudo MPPT wydaje się lepsze.
<t></t>
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 5 gości