
Chciałbym przedstawić projekt dwukierunkowej impulsowej przetwornicy napięcia. Dwukierunkowa przetwornica pozwalająca na przekazywanie energii pomiędzy dwoma rożnymi potencjałami napięcia w obu kierunkach w zależności od chwilowego zapotrzebowania. Przetwornice tego typu są przeważnie stosowane w systemach awaryjnego podtrzymania zasilania. W czasie normalnej pracy przetwornica działa jako ładowarka pobierając energię z szyny zasilania systemu do ładowania baterii. W razie awarii przetwornica zmienia kierunek i zaczyna przekazywać energię z baterii do szyny zasilania. W sieci można znaleźć kilka projektów przetwornic tego typu dużej mocy zarówno w izolowanej jak nieizolowanej topologii [ https://www.ti.com/lit/ug/tiducs2b/tiducs2b.pdf ] [ https://www.ti.com/lit/ug/tidud04/tidud04.pdf ].
Często w własnych projektach zasilanych bateryjnie spotykam się z potrzebą zastosowania równocześnie wbudowanej ładowarki i przetwornicy niwelującej zmiany napięcia baterii podczas wyładowywania. Łącząc te dwie przetwornice można zaoszczędzić na elementach mocy i filtrujących. Dlatego też chciałem spróbować swoich sił tworząc coś prostego o stosunkowo małej mocy.
Topologia
W moim projekcie zdecydowałem się na połączenie dwóch topologii klasycznych nieizolowanych przetwornic; obniżającej i podnoszącej napięcie. Układ w takiej konfiguracji pozwala na przekazywanie energii w obu kierunkach pomimo różnicy potencjałów na wejściach.

Niestety przepływ prąd jest zależny nie tylko od wypełnienia sygnał sterującego ale również od napięcia na obu wejściach. Stworzenie pętli sprzężenia zwrotnego takiego układu było by dość skomplikowane, zwłaszcza kontrola prądu a to właśnie prąd jest jednym z krytycznych parametrów przy ładowaniu i rozładowywaniu akumulatorów. Może dlatego też większość współczesnych przetwornic ładujących baterie zawiera sprzężenie zwrotne kontrolujące prąd poprzez mały rezystor połączony szeregowo z cewką. Rozważając różne sposoby pomiaru tego prądu wpadłem na pomysł poniższego układu.

W prezentowanym diagramie głównym elementem sprężenia zwrotnego jest komparator napięcia z histerezą. W zależności od fazy przetwornicy i stanu tranzystorów sterujących, definiuje on cykl narastania albo opadania prądu w cewce. Monitorując prąd cewki, komparator ogranicza wzrost prądu powyżej zadanej dodatnie i ujemnej wartości, poprzez zmianę fazy przetwornicy. Maksymalny prąd cewki jest zdefiniowany przez rezystor bocznikujący, dzielnik napięcia i histerezę. W ten sposób tworzy się oscylator który utrzymuje prąd cewki w danym przedziale. Częstotliwość oscylacji jest zmienna i zależna od indukcyjności cewki, napięć wejściowych, wartości rezystorów i histerezy komparatora. Choć przetwornica oscyluje, średni prąd cewki jest bliski zeru i energia nie przepływa pomiędzy potencjałami na wejściach. Na samym początku wydawało mi się, że oscylacja taka może być dość stratna ze względu na opory pasożytnicze cewki i kondensatorów wyjściowych, jednak w prezentowanym układzie jest to nie więcej niż 1W. Dodatkowe wejście sterujące (Ictrl) wstrzykuje offset na wejście komparatora wymuszając zmianę średniego prądu cewki i pozwala na transfer energii pomiędzy potencjałami wejściowymi (VH VL). Stwarza to swego rodzaju źródło prądowe sterowane napięciowo.
Wersja podstawowa
Głównym problemem w konstrukcji przetwornicy dwukierunkowej jest potrzeba kontroli zarówno napięcia wejściowego jak i wyjściowego jak również decyzja o kierunku przepływu energii. Z tego też powodu większość konstrukcji opiera się o cyfrowy sposób kontroli gdzie sprzężenie zwrotne jest zaimplementowane w mikrokontrolerze. Próbując uprościć mój układ pod względem układowym i programistycznym zdecydowałem się na użycie małego 8 bitowego mikrokontrolera. Świadomie dokonałem tego wyboru kosztem trochę gorszych parametrów pracy jak czas reakcji i precyzja. W przedstawionej wersji zdecydowałem się na użycie mikrokontrolera Attiny1616 ze względu na rozbudowane peryferia w prostej i małej obudowie. Poniżej przedstawiam diagram uproszczonej konstrukcji przetwornicy.

Tak jak opisałem w poprzednim rozdziale za kontrolę prądu cewki i oscylacje jest odpowiedzialny komparator z histerezą. Zastosowanie wbudowanego komparatora pozwala na programową zmianę częstotliwości pracy poprzez zmianę histerezy jak również łagodne włączenie i wyłączenie przetwornicy z poziomu programu. Za wstrzykiwanie offsetu powodującego przepływ prądu w cewce odpowiedzialny jest 8 bitowy przetwornik cyfrowo analogowy. Za pomiar napięcia na wejściu i wyjściu odpowiedzialne są dwa 10 bitowe przetworniki analogowo cyfrowe pracujące z częstotliwością 96kHz. Z tą częstotliwością obsługiwany jest też kod głównego sprzężenia zwrotnego przetwornicy. W takiej wersji wykonałem pierwszy prototyp który działał poprawnie, jednak jego głównym mankamentem był sposób pomiaru prądu cewki.
Pomiar prądu cewki
Krytycznym elementem przedstawionej przetwornicy jest metoda pomiar prądu cewki. Głównym wyzwaniami tego fragmentu układu jest presja aby spadki napięcia na rezystorze bocznikującym były jak najmniejsze aby zredukować straty mocy, natomiast pasmo sygnału którym jesteśmy zainteresowani może sięgać do 500kHz. Dodatkowo napięcie współbieżne jest bardzo szerokie i mocno zakłócone. Zdecydowałem się nie wykorzystywać wzmacniaczy operacyjnych ze względy na większe skomplikowanie i trudności z zasilaniem ich. Spróbuję pokrótce przedstawić rozwiązania układowe które wypróbowałem i rozważyć ich dodatnie i ujemne strony.

Pierwszym rozwiązaniem jest użycie dzielników napięcia, co prawda pozwalają one na zwiększenie napięcia przetwornicy ponad napięcie zasilania mikrokontrolera jednak redukują one też sygnał spadku napięcia na rezystorze bocznikującym. To rozwiązanie jest proste i spisuje się przy małych napięciach i mocach. Problemem w tym rozwiązaniu jest też wstrzykiwanie offsetu w potencjał który zależy od napięcia współbieżnego.
Moim drugim pomysłem było użycie lustra prądowego, to rozwiązanie nie działało gdyż napięcie na wyjściu miało duży offset i za małe pasmo. Na schemacie który załączę na końcu niestety nadal widnieje to nieudane rozwiązanie.
Trzecie rozwiązanie to użycie dwóch tranzystorów PNP jako wzmacniaczy ze wspólną bazą i zbiasowanie ich czerwoną diodą LED. Te rozwiązanie działało z napięciem współbieżnym od 3 do 20V, choć napięcie wyjściowe lekko zmieniało się z napięciem współbieżnym (zmienny spadek napięcia na diodzie). To rozwiązanie bezproblemowo przenosi/kopiuje spadek napięcia rezystora pomiarowego do potencjału masy jednak nie przynosi żadnego wzmocnienia.
Czwartym rozwiązaniem jest ulepszenie poprzedniego rozwiązania wykorzystując dodatkowy tranzystor NPN do aktywnego biasowania tranzystorów PNP. Dzięki temu układ jest odporny na temperaturowe zmiany napięcia baza-emiter we tranzystorach PNP, co pozwala na zmniejszenie rezystorów emiterowych i wygenerowanie wzmocnienia. Niestety w tym rozwiązaniu zmuszony byłem do wstrzykiwania offsetu do przeciwnej gałęzi wzmacniacza co zredukowało wzmocnienie do około dwóch. To rozwiązanie jest wykorzystywane w przedstawionym projekcie.
Ostatnim rozwiązaniem które jest jeszcze w fazie pomysłu jest zbudowanie kopii oscyloskopowej sondy prądowej. Użycie elementu Hall’a do pomiaru prądu i dedykowania oscylacji przetwornicy i uzwojenia o dużej przekładni do wstrzykiwania offsetu. Nie jestem pewien jak taki układ się zachowa gdyż z tego co wiem w normalnej sondzie prądowej to cewka jest odpowiedzialna za pomiar prądów zmiennych a element hall’a za prądy stałe a ja planuje zamienić ich role. Może ktoś wie czy element Hall’a będzie miał wystarczające pasmo przenoszenia? Nie wiem też na ile ciężkie będzie zdobycie rdzenia z wystarczającą szczeliną lub przecięcie pełnego.
Ciekaw jestem też waszych opinii i pomysłów jak najlepiej można by rozwiązać ten fragment układu.
Cyfrowe sprzężenie zwrotne napięcia
Skonstruowanie pierwszej pętli sprzężenia zwrotnego jako prądowej pozwala na zmodelowanie tego fragmentu przetwornicy jako źródła prądowego zasilającego kondensator i zmienny rezystor obciążający. Taki model nie posiada „inercji”, przez co jego odpowiedź jest opisana tylko pochodną pierwszego rzędu. To pozwala na zastosowanie prostego sterownika typu włącz-wyłącz. Oczywiście można by się pokusić o jakieś bardziej wyrafinowane rozwiązanie, ale wolałem postawić na szybki czas reakcji kosztem lekkiego uchybu i gorszej regulacji. Poniżej zamieszczam pseudo kod sterownika.
Code:
if((NapięcieWyjsciowe<12.0V)&&(NapiecieBaterii>5.6V)) //Tryb zasilania
WymusMaksymalnyPrad();
else if((NapiecieWujsciowe>13.0V)&&(NapiecieBaterii<8.4V)) //Tryb ładowania
PobierzMaksymalnyPrad();
else
UtrzymajZerowyPrad();
Nawet ten prosty fragment wykonywany 96kHz wykorzystuje ok 45% mocy obliczeniowej mikrokontrolera. Ta implementacja pozwala za podłączenie dwóch celi Litowych (5.6V-8.4V) do szyny 12V. Kiedy napięcie spada poniżej 12V układ zaczyna oddawać energię a gdy napięcia jest powyżej 13V układ zaczyna odbierać energię. Dodatkowo bateria jest zabezpieczona przed za dużym rozładowaniem i naładowaniem jak również za dużym prądem. Można by się spodziewać, że takie sprężenie zwrotne będzie miało bardzo skokową odpowiedź jednak trzeba zauważyć, że sam przetwornik ADC wstrzykuje szum który „rozrzedzają” impulsy prądowe a dodatkowy kondensator na wyjściu przetwornika DAC lekko wygładza odpowiedź systemu.
Konstrukcja układu
Pod koniec załączam schemat i projekt płytki, jednak część elementów nie ma wartości a sam układ pomiaru prądu został przerobiony na pająka SMD. Tu postaram się przybliżyć wartości głównych elementów. Myślę, że koszty elementów w zależności od źródła dało by się zmieścić w 100zł.
Cewka: Rdzeń MICROMETALS T106-52, 6 zwojów 64x0.2mm, ~3uH ~2mOhm
Kondensatory VL: 4x2200uF_25V, 3x2.2uF_X7R_50V, 3x100nF_X7R_50V
Kondensatory VH: 4x1000uF_35V, 3x2.2uF_X7R_50V, 3x100nF_X7R_50V
Mosfety: 3xBUK7Y12-40E, 2xBUK7M12-60E
Rezystory pomiarowe: 2x10mOhm
Sterownik Mosfetów: MIC4102YM
Mikrokontroler: Attiny1616
Układy pomocnicze: 1xnapięcie odniesienia dla ADC REF3020, 2x czujniki prądu/napięcia/mocy INA219, wyświetlacz OLED SSD1306 128x64
Rezultaty
Układ samoczynnie oscyluje w częstotliwości 200-400kHz. Jest w stanie utrzymać napięcie z precyzją ~0.2V. Bezproblemowo ogranicza maksymalny prąd baterii. Jest w stanie automatycznie się przełączyć pomiędzy odbieraniem a oddawaniem energii. Głównymi ograniczeniem w mocy maksymalnej jest nagrzewanie spowodowane stratami energii. Układu używam z chłodzeniem pasywnym i pomiary temperatury wykonuje niestety tylko organoleptycznie. Układ jest w stanie pracować ciągle z prądem ok 13A po stronie niskiego napięcia, co daje około 90W i chwilowo (5min) z prądem do 20A (140W), zakładając napięcie baterii 7.2V. W teorii przy większych napięciach i tym samym prądzie byłby wstanie przekazać więcej mocy choć tego nie testowałem. Straty mocy mieszczą się w przedziale od 2W do 7W w zależności od oddanej mocy. W idealnym punkcie sprawność sięga 96% ale przeważnie jest raczej koło 90% a nawet 80% przy małych mocach. W sprawności uwzględniam też zasilanie mikrokontrolera, wyświetlacza i wszystkich układów pomocniczych. Jedynym mankamentem jest to, że układ nie jest wstanie wystartować samoczynnie gdyż sterownik mosfetów potrzebuje wyższego napięcia niż to z baterii aby się obudzić. Dlatego też układ trzeba zastartować napięciem 12V po czym kontynuuje on prace samoczynnie. Oto kilka zdjęć z pracy przetwornicy, wszystkie pomiary zrobione sondą X1.
Poniżej przedstawiam zdjęcia oscyloskopu z napięciem i prądem cewki przy normalnej oscylacji (200kHz).

Tutaj przedstawiam parametry pracy na wyświetlaczu i szumy na wejściu i wyjściu podczas odbierania energii (ładowanie baterii).

Tutaj przedstawiam parametry pracy na wyświetlaczu i szumy na wejściu i wyjściu podczas oddawania energii.

Ostatnim zdjęciem jest pomiar zmian zapięcia na wyjściu 12V podczas zmian obciążenia od 0 do 4A.

Podsumowanie
Jestem zadowolony z uzyskanych efektów. Nie byłem pewny czy taki układ zadziała i jakie będą jego parametry. Spędziłem trochę czasu nad dopracowaniem układu pomiaru prądu. Rzadko kiedy ma się okazje popracować nad wzmacniaczami na pojedynczych tranzystorach. Jestem zadowolony z efektów ale nadal planuję wypróbować pomysł z sondą prądową. Trochę nie doceniłem problemów z przekazywaniem wysokich prądów (20A) płytką drukowaną. Zrobiłem na płytce izolacje termiczne do łatwiejszego lutowania elementów a w większości zalałem je cyną dla poprawy przewodności i oddawania ciepła.
Myślę że taka przetwornica jest dość prosta i pozwala na łatwe wdrożenie się do świata cyfrowych przetwornic napięcia. Nic nie stoi na przeszkodzie aby używać takiej topologi jako przetwornicy jednokierunkowej ale sterowanej cyfrowo. Choć przetwornica taka nie jest wstanie bardzo precyzyjne utrzymać napięcia wyjściowego to jest bardzo dobra w szybkim ograniczaniu prądu.
Warto zauważyć, że taki układ upraszcza i izoluje zachowanie baterii co pozwala na podłączenie wielu różnych baterii do tej samej szyny zasilania. Rozważam nawet zbudowanie małej przydomowej niskonapięciowej, zdecentralizowanej sieci energetycznej.
Na koniec dodaję zdjęcie płytki i załącznik z projektem w eaglu i kodem do uC.

Cool! Ranking DIY