Elektroda.pl
Elektroda.pl
X
SterControl
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega8 - sterowanie fotoogniwem

slawcioo88 22 Paź 2015 16:44 1431 16
  • #1 22 Paź 2015 16:44
    slawcioo88
    Poziom 21  

    Założenie jest takie że atmega mierzy napięcie i prąd z ogniwa a także steruje poprzez pwm ładując akumulator, i chodzi o to żeby pwm był dobierany tak aby panel był odciążony w punkcie mocy maksymalnej. Problem polega na tym że napięcia i prąd trochę skacze co powoduje że nie można znaleźć tego punktu. Algorytm jest taki że zwiększamy wypełnienie i mierzymy czy iloczyn prądu i napięcia się zwiększył czy nie, jeśli współczynnik został zwiększony i zwiększa się moc to zwiększamy dalej wypełnienie, jeśli moc spadła zmniejszamy wypełnienie. Jeśli wypełnienie zostało zmniejszone a moc wzrosła to nadal zmniejszamy a jeśli spadła to to zwiększamy i wracamy do początku.
    Czy to dobry tok rozumowania?
    próbowałem dodawać w warunkach jeszcze napięcie co nie wiele dawało, moc próbuję mierzyć jako średnią moc z kilku pomiarów to też nie wiele daje.
    Całość zamontowana puki co na płytce stykowej i to może mieć wpływ na skoki napięć, ale myślę że po stworzeniu płytki i tak jakieś skoki napięć będą i będzie uniemożliwiać szybkie i prawidłowe znalezienie i śledzenie punktu.
    Więc moje pytanie jest czy jakoś można zoptymalizować algorytm aby lepiej to działało?

    0 16
  • SterControl
  • #2 22 Paź 2015 18:41
    and_rog
    Poziom 21  

    Mam taki układ, ale na S7-1200. tylko że nie ładuje akumulatora, tylko mierzy moc (zrzuca moc na grzałki wody).
    Sprawa z fotoogniwami jest taka: każde urządzenie oddaje moc maksymalną wtedy, gdy Robc=Rwew. Zależnie od słońca, Rwew fotoogniwa zmienia się, i trzeba przełączać obciązenie, aby uzyskac najbardziej optymalny odbiór mocy. Ja to robię prosto: jeśli napięcie z baterii > napięcia znamionowego, to oznacza, że trzeba dołączyć większe obciążenie. Jeśli napięcie spadło poniżej znamionowego, to obciążenie trzeba zredukować.

    0
  • #3 22 Paź 2015 19:16
    Marek_Skalski
    Moderator Projektowanie

    Algorytm MPPT w połączeniu z ogniwami fotoogniwami, jak każda aplikacja konwersji mocy, wymaga dość dużo mocy obliczeniowej, szybkich i dokładnych ADC, szybkich PWM. Atmega 8 kompletnie się do tego nie nadaje, chociaż ma ADC i PWM. Ogólnie Atmel nie ma układów do takich zadań.
    Przykładowe rozwiązania układowe (za darmo) oferuje Microchip, a od pewnego czasu ST Microelectronics również oferuje kilka rozwiązań, z których jedno jest oparte na STM32F373.

    Wbrew pozorom, uzyskanie wysokiej sprawności instalacji, to nie śledzenie punktu maksymalnej mocy (MPPT), ale odpowiednia topologia układu i rodzaj regulatora: 2 biegunowy, 3 biegunowy... Najczęściej jest to jakiś blok wejściowy z pojemnością, która w pewnym stopniu kompensuje impedancję źródła, później przetwornica napięcia pływającego na stabilne (+ czasami akumulator 24V lub 48V) i dopiero druga przetwornica/falownik oddające energię do sieci (230V AC) lub zasilające urządzenie docelowe (12V DC lub 24V DC). Wtedy ma sens MPPT. Inaczej sprawność układu zawsze będzie niska, a dodatkowe elementy wprowadzają tylko dodatkowy koszt w pozyskiwaniu energii.
    Przykłady:
    http://www.microchip.com/DevelopmentTools/Pro...spx?PartNO=Grid-Connected-Solar-Microinverter
    http://ww1.microchip.com/downloads/en/AppNotes/01211B.pdf

    0
  • #4 22 Paź 2015 22:04
    tmf
    Moderator Mikrokontrolery Projektowanie

    Marek_Skalski napisał:
    Algorytm MPPT w połączeniu z ogniwami fotoogniwami, jak każda aplikacja konwersji mocy, wymaga dość dużo mocy obliczeniowej, szybkich i dokładnych ADC, szybkich PWM. Atmega 8 kompletnie się do tego nie nadaje, chociaż ma ADC i PWM. Ogólnie Atmel nie ma układów do takich zadań.


    Chyba nie jest tak źle, rozwiązanie dla ATMega2560:
    http://blog.atmel.com/2014/06/06/atmega2560-powers-ups-solar-controller%E2%80%A8%E2%80%A8/
    Przypuszczam, że na podstawie wskazanych przez ciebie materiałów, można przenieść rozwiązanie microchipa na praktycznie dowolny MCU.

    0
  • SterControl
  • #5 23 Paź 2015 15:09
    jnk0le
    Poziom 17  

    Akurat xmegi bardziej się do tego nadają, ale nawet na atmedze 8 można uzyskać wyższą sprawność niż na "dedykowanych" chińskich rozwiązaniach.

    0
  • #6 23 Paź 2015 18:08
    slawcioo88
    Poziom 21  

    A jak najlepiej rozwiązać pomiar prądu żeby był w miarę dokładny? Jakieś układy dedykowane do tego? W tej chwili mierzę spadek na rezystorze 0,1ohma i wzmacniam 10x wzmacniaczem lm358 ale niezbyt to dokładne.

    0
  • #7 23 Paź 2015 18:40
    Marek_Skalski
    Moderator Projektowanie

    @slawcioo88
    Jak chcesz uzyskać pomoc, to napisz jakie masz wymagania:
    - prąd w zakresie od ... do ..., z dokładnością do ..., stały kierunek, czy się zmienia?
    - napięcia w zakresie od ... do ..., z dokładnością do...
    - przewidywane warunki pracy, temperatura od ... do ...,

    Ja używam TS1100 lub TS1101, ale dla mnie liczy się każdy uW pozyskanej energii.
    Ktoś inny powie, że lepiej użyć ACSxxxx, np. https://www.pololu.com/category/118/current-sensors
    A w innej aplikacji lepszym rozwiązaniem będzie użycie transformatorów dedykowanych do pomiarów prądu, np. http://nl.mouser.com/Power/Transformers/Curre...qZscv7?P=1z0zlftZ1z0zljmZ1z0zlbt&Ns=Pricing|0
    A może układ, który mierzy prąd, napięcie i moc? Na przykład EMC1701-x.
    LM358 to nieporozumienie. To nie ta liga. Porównaj jego parametry z TS1100, albo chociaż z MCP6022. Pomyśl też o konwersji DC/DC, ponieważ to w ten sposób uzyskuje się sensowną sprawność energetyczną. W zależności od tego czym dysponujesz, będzie to konwerter buck, boost, albo podwójny.

    0
  • #8 23 Paź 2015 18:47
    slawcioo88
    Poziom 21  

    Prąd do 3A nawet 2,5A w chcwili obecnej minimalny pomiar coś koło 20mA dobrze by było mniej. napięcie mam do 24V na rezystorach jest znośnie, temperatura pokojowa. Prąd mierze na masie, spadek jest ujemny więc wzmacniany jest wzmacniaczem odwracającym. Najlepiej jak by było na plusie chodź nie koniecznie.

    0
  • #9 23 Paź 2015 19:26
    jnk0le
    Poziom 17  

    Najlepiej od razu przesiądź się na xmegę z 12 bitowym adc, jeśli nie masz zamiaru używać zewnętrznych przetworników/sensorów.

    Jeszcze pozostaje kwestia przetwornic (szczególnie diy z pwm od atmegi), przez które możesz mieć niezłe tętnienia prądu na rezystorze.

    0
  • #10 24 Paź 2015 10:27
    Marek_Skalski
    Moderator Projektowanie

    slawcioo88 napisał:
    Prąd mierze na masie, spadek jest ujemny więc wzmacniany jest wzmacniaczem odwracającym.

    Pokaż schemat. Jesteś pewien, że masz prawidłową polaryzację wzmacniacza. Zasilasz go od dołu napięciem przynajmniej 0,7V niższym niż najniższe mierzone? LM358 nie jest rail-to-rail.
    Pomiar "na plusie", czyli hi-side realizują układy, które wymieniłem wyżej (TS110x). Ich użycie jest banalnie proste, zajmują mało miejsca, nie wymagają dodatkowych komponentów (poza rezystorem pomiarowym), są najdokładniejsze i zużywają najmniej prądu ze wszystkich tego typu układów dzisiaj dostępnych, a do tego są dość tanie.
    Prąd max. 3A, napięcie max. 24V, więc moc max. ok 72W. Zakładam, że akumulator jest na 12V, tak? W takim razie proponuję prosty konwerter step-down, nazywany też buck. Dzięki temu możesz kontrolować proces ładowania akumulatora (bezpieczeństwo) oraz śledzić punkt maksymalnej mocy (sprawność). Nie bardzo wiem, po co te rezystory, które zamieniają cenną energię elektryczną w ciepło, ale liczę, że schemat trochę nam rozjaśni sprawę.

    jnk0le napisał:
    ...przesiądź się na xmegę z 12 bitowym adc...

    Najpierw trzeba przygotować sygnał pomiarowy, a nie szukać ADC o większej rozdzielczości, która tutaj wcale nie jest potrzebna. Gdybyś znał choć trochę teorię sterowania i przetwarzania sygnałów, to wiedziałbyś, że w takiej aplikacji 10-bitowy ADC to już duża przesada. To nie ADC zapewnia dokładność regulacji, sprawność procesu i szybkość odpowiedzi na skok prądowy, tylko algorytm sterowania, korzystający w niewielkim stopniu z sygnału "prad chwilowy ogniwa".
    Poza tym ADC w Xmega to już od dawna znany obiekt kpin i drwin oraz przyczyna bezsennych nocy wielu ludzi. Twoja porada nie jest zbyt pomocna.
    Ja bym powiedział weź dsPIC33EPxxGS50x i kontroluj 2, 3 lub nawet 4 zestawy ogniw + 2 akumulatory + oddawanie energii do sieci + pełna diagnostyka i rejestracja pracy systemu. Można, ale chyba trochę za wcześnie na takie stawianie sprawy, kiedy jest problem z sygnałem "prąd chwilowy ogniwa".
    jnk0le napisał:
    Jeszcze pozostaje kwestia przetwornic (szczególnie diy z pwm od atmegi), przez które możesz mieć niezłe tętnienia prądu na rezystorze.

    Z tego co się orientuję, PWM polega na cyklicznym włączaniu i wyłączaniu przepływu prądu w obwodzie. Jeżeli do pomiaru prądu używasz rezystora pomiarowego, szeregowego (shunt), to prąd płynący przez ten rezystor ma charakter tętniący. Co więcej, napięcie mierzone na zaciskach tego rezystora również będzie tętniło, proporcjonalnie do prądu, z taką samą częstotliwością i fazą. Jest to efekt pożądany w tym układzie. A teraz wytłumacz, proszę, co miałeś na myśli pisząc cytowany wyżej fragment? Brzmi to tak, jakby tętnienia prądu na rezystorze pomiarowym były jakąś wadą, a przecież są wręcz wymagane.

    0
  • #11 24 Paź 2015 11:37
    jnk0le
    Poziom 17  

    Marek_Skalski napisał:

    Z tego co się orientuję, PWM polega na cyklicznym włączaniu i wyłączaniu przepływu prądu w obwodzie. Jeżeli do pomiaru prądu używasz rezystora pomiarowego, szeregowego (shunt), to prąd płynący przez ten rezystor ma charakter tętniący. Co więcej, napięcie mierzone na zaciskach tego rezystora również będzie tętniło, proporcjonalnie do prądu, z taką samą częstotliwością i fazą. Jest to efekt pożądany w tym układzie. A teraz wytłumacz, proszę, co miałeś na myśli pisząc cytowany wyżej fragment? Brzmi to tak, jakby tętnienia prądu na rezystorze pomiarowym były jakąś wadą, a przecież są wręcz wymagane.


    Stopień mppt sterowany z atmegi - niska częstotliwość pwm, słabe filtrowanie, nie najlepsze dławiki. Jak w takiej sytuacji mamy liczyć RMS na oporniku naszym biednym adc w atmedze? (V+ do algorytmu mppt również trzeba mierzyć)

    Marek_Skalski napisał:

    Najpierw trzeba przygotować sygnał pomiarowy, a nie szukać ADC o większej rozdzielczości, która tutaj wcale nie jest potrzebna. Gdybyś znał choć trochę teorię sterowania i przetwarzania sygnałów, to wiedziałbyś, że w takiej aplikacji 10-bitowy ADC to już duża przesada. To nie ADC zapewnia dokładność regulacji, sprawność procesu i szybkość odpowiedzi na skok prądowy, tylko algorytm sterowania, korzystający w niewielkim stopniu z sygnału "prad chwilowy ogniwa".

    Oczywistym jest fakt że tego typu układy nigdy nie dorównają rozwiązaniom dedykowanym (poza chińskimi mppt na lm7812).
    Takie rozwiązania mają bardziej walory edukacyjne niż komercyjne.


    Marek_Skalski napisał:

    Poza tym ADC w Xmega to już od dawna znany obiekt kpin i drwin oraz przyczyna bezsennych nocy wielu ludzi.

    Mógłbyś podać jakieś konkretne linki ?

    0
  • #13 24 Paź 2015 16:08
    Marek_Skalski
    Moderator Projektowanie

    Źródłem wszystkich problemów jest LM358 i sposób jego podłączenia. To nigdy nie będzie działać prawidłowo. Zobacz tutaj: http://www.ti.com/lit/ds/symlink/lm158-n.pdf
    Możesz spróbować z układem z rysunku 33 lub 39. A na rysunku 1 widać, że minimalne napięcie na wejściu + to ~2V. Na wyjściu też nie uzyskasz więcej niż ~3,5V, ponieważ ten układ ma ograniczenie Vcc-1,5V.
    A tak serio, to wywal tego LMa i wstaw OpAmp R2R albo TSa. Zero problemów.
    Kolejna rzecz to brak jakichkolwiek pojemności na wejściu. Każde ogniwo charakteryzują dwie rezystancje: równoległa i szeregowa. Ta druga jest o tyle istotna, że nie pozwoli w sposób ciągły pobrać więcej energii z ogniwa, ale jeżeli dodasz kondensatory, to mając bufor energii, możesz lepiej wykorzystać potencjał ogniwa oraz bezpieczniej ładować akumulator. To co teraz zrobiłeś, grozi szybkim uszkodzeniem aku. Mogę zaproponować kondensatory Nichicon z serii UPW, na 35V..50V, ale tutaj chyba każdy rodzaj poprawi działanie.
    Dodaj cewkę między tranzystorem a akumulatorem + jedną szybką diodę (typowy buck converter) i będziesz mógł ładować akumulator bezpiecznie.
    Tranzystor też jest niezbyt dobry. Pracuje na granicy swoich parametrów przy napięciu bramki rzędu 4,7V, ma dość duże straty przełączania i cieplne... Ja bym wybrał coś typu IRLML2244.
    I jeszcze jedna ważna rzecz, wyzwalanie konwersji pomiaru prądu i napięcia powinno być równolegle i synchroniczne z PWM, aby zmniejszyć wpływ szerokości impulsu na wyniki pomiarów. Ale tego mega8 nie oferuje, ponieważ ma tylko jeden przetwornik. Skanowanie kanałów jakoś się wyrobi.
    Inne rzeczy jak pomiar prądu cewki/tranzystora i blokowanie PWM, zabezpieczenie termiczne, kontrola prądu ładowania zrobisz później :)

    0
  • #14 24 Paź 2015 17:21
    slawcioo88
    Poziom 21  

    Gdzie przez internet można kupić te ts1100?
    Jak do przetwornicy buck dobrać cewkę? I jeszcze chyba kondensator do tego tak?

    0
  • #15 24 Paź 2015 17:50
    Marek_Skalski
    Moderator Projektowanie

    http://www.findchips.com/search/ts1100
    Ja preferuję Mouser, bo oni dbają o cło i podatki, a przesyłka FedEx jest za darmo przy zamówieniu chyba >65EUR. Farnell jest droższy jednostkowo, ale w Polsce wychodzi korzystnie przy małych zamówieniach ze względu na niski koszt przesyłki i ceny w złotówkach. DigiKey zawsze robi problemy, a do kosztów z faktury trzeba doliczyć cło i dopłaty "za paliwo" jeżeli wybierzesz dostawę przez UPS.
    Na początek możesz dobrać elementy tutaj: http://www.daycounter.com/Calculators/
    dokładnie to: http://www.daycounter.com/Calculators/Switching-Converter-Calculator.phtml
    Pamiętaj, że separatorem jest kropka, a nie przecinek.
    Przykładowo:
    Dane wejściowe: Uin = 24V, Uout = 12V, UD = 1V, UT = 0,3V, f=125kHz, I=0,3A, Ir =35%, Ur = 1%
    Wynik: D = 48,4%, L = 43uH, C = 97uF.
    Przyjąłem 125kHz, bo to daje 6-bitowy PWM@8MHz.

    0
  • #16 01 Lis 2015 20:16
    slawcioo88
    Poziom 21  

    Przy małych ilościach nie opłaca się kupować tam, czy nie ma ktoś może w Polsce do sprzedania? Chętnie bym odkupił i po testował.

    0
  • #17 03 Lis 2015 22:04
    robiw
    Poziom 26  

    Do dokładnego pomiaru prądu możesz użyć specjalizowanych układów typu Current Monitor od Analoga lub TI. Dodatkowo posiadają inne, unikalne funkcje jak Overcurrent czy overpower alarm itp. Zobacz sobie projekt powerBank z jednej z ostatnich EP. robiw

    0