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

Łatwo "przyswajalny" tryb pracy buck dla mikrokontrolera

nsvinc 14 Lis 2011 18:15 3571 17
  • #1 14 Lis 2011 18:15
    nsvinc
    Poziom 35  

    Witam,

    Rozmyślam nad następującym zagadnieniem:
    jaki tryb pracy przetwornicy buck (CCM, DCM, CrM, Fixed-On-Time CCM, ZVS,....) zastosować w układzie, gdzie nadzór nad kluczowaniem tranzystora będzie pełnił mikrokontroler o wybitnie ograniczonych peryferiach "analogowych". Tak naprawdę mam do dyspozycji tylko szybki PWM (w dowolnej jego postaci...), niezbyt szybkie ADC i przerwania zewnętrzne (edge/level).

    Cały temat byłby prosty (wybór padłby na oczwistą oczywistość, czyli CCM z obliczaniem trip point'a na podstawie valley current dławika) gdyby nie fakt, że przetwornica ma obowiązek na siłę minimalizować zajmowaną powierzchnię PCB, a co za tym idzie, częstotliwość jej pracy musi znacznie przekraczać rozsądne wartości - widziałbym tutaj najchętniej 1..2MHz (mikro-dławik i mikro-kondensatory, mikro-diode o niezłych parametrach mam 'z magazynu'), więc pokładowy ADC się po prostu nie wyrobi z pomiarem valley current ułamki us zanim włączy się tranzystor (niestety, obwody S/H w zastosowanym procesorze pozostawiają nieco do życzenia)...

    No więc na chwilę obecną skłaniam się ku CrM, gdzie dwoma komparatorami (+dwa DACe na PWM) będę kończył Ton (trip point), i rozpoczynał cykl (IL=0). Dzięki temu procek będzie zawsze wiedział, ile dokładnie wynosi Iavg, a to jest jedno z głównych założeń (o ile nie jedyne) - prostą matematyką na pole trójkąta szybki Cortex-M0 bez problemu obliczy Iavg z cyklu na cykl, więc dostosuje PIDem trip point tak, aby Iavg wynosił narzuconą z góry wartość. Lub analogowy trip point zostanie odrzucony, a PID będzie korygował tylko Ton (trip point vs. Ton to tylko wzór)

    Mam jakieś inne opcje?... Wertuję różne opracowania i analogowych, i cyfrowych kontrolerów SMPS; jak na razie nie trafiłem na nic przełomowego. Być może po prostu się 'nie da inaczej'. Ale jesli się da, chciałbym mieć tego świadomość...

    0 17
  • Sklep HeluKabel
  • #2 14 Lis 2011 19:15
    Dar.El
    Poziom 40  

    Witam
    Nie napisałeś do czego ma być ta przetwornica, od tego zależy jej precyzja działania. Czy prąd będzie spadał do "0" ?

    0
  • #3 14 Lis 2011 19:27
    nsvinc
    Poziom 35  

    Jeśli postanowię, aby przetwornica pracowała w trybie CrM to prąd powinien spadać do 0 pod konie cyklu - dokładnie pod koniec cyklu. Wtedy to będzie fixed on time (przy czym ten czas bedzie mogl byc dostrajany pod kątem sprawności dla wymaganej jasnosci ledów), nie fixed frequency. T będzie miał być w sumie zależny od wymaganej jasności LEDów.
    Przetwornica ma być do zasilania LEDów, przy czym założenia mówią o tym, że prąd średni musi być precyzyjnie stabilizowany, może nawet kosztem tętnień (CrM/DCM).

    Prąd średni w pewnych okolicznościach ma prawo osiagnąć 0, tj. obciążenie nie jest zasilone.

    0
  • #4 15 Lis 2011 11:01
    -RoMan-
    Poziom 42  

    Wiktorze, popełniasz dość istotny błąd w samym założeniu. Jedynie poniżej prądu krytycznego możesz panować wypełnieniem bez sprzężenia zwrotnego nad prądem wyjściowym. Przekroczenie prądu krytycznego i utrzymanie - choćby tylko przez pomyłkę - wypełnienia dla obciążenia o takim charakterze, jaki ma dioda LED będzie powodowało dość niekontrolowany wzrost prądu. Bez kontroli prądu i sprzężenia zwrotnego układ sensu nie ma.

    Nie rozumiem uporu w stosowaniu mikrokontrolerów tam, gdzie one się do tego nie nadają. Firmy produkują coraz wymyślniejsze kontrolery PWM o wysokiej sprawności - tylko stosować.

    Kolejny błąd - dioda LED nie może być zasilana prądem o dużej pulsacji przy prądzie średnim równym znamionowemu. Szczególnie dioda LED dużej mocy. Czyli pracy w trybie prądu krytycznego bez wygładzania nie wchodzi w grę. Zazwyczaj konieczna jest praca w głębokim trybie CCM z pulsacją p-p na poziomie max 20% prądu średniego.

    0
  • #5 15 Lis 2011 11:30
    nsvinc
    Poziom 35  

    Niestety - chętnie użyłbym gotowego układu przetwornicy, którą bym tylko dodatkowo mikrokontrolerem nadzorował (regulacja jasności itp itd), ale nie udało mi się znaleźć scalaka o wymaganych parametrach...

    -RoMan- napisał:
    Przekroczenie prądu krytycznego i utrzymanie - choćby tylko przez pomyłkę - wypełnienia dla obciążenia o takim charakterze, jaki ma dioda LED będzie powodowało dość niekontrolowany wzrost prądu.

    To nie ma prawa się zdarzyć, gdyż planuję zastosować obwód detekcji sytuacji, gdzie prąd dławika spadnie do zera. Czyli procek włączy tranzystor na 'jakiś' czas, a po wyłączeniu go grzecznie czeka aż zewnętrzny komparator stwierdzi, że przez dławik przestał płynąć prąd. Wtedy rozpoczyna się kolejny cykl...
    W takich okolicznościach tranzystor nigdy nie włączy się, gdy przez dławik jeszcze płynie prąd, więc problem niekontrolowanego wejścia w CCM zostaje wyeliminowany.

    -RoMan- napisał:
    Szczególnie dioda LED dużej mocy. Czyli pracy w trybie prądu krytycznego bez wygładzania nie wchodzi w grę

    Ależ ja chcę wygładzać. Tyle, że przy np. 1MHz, wystarczy mi do tego kilka malutkich MLCCków 10uF (szacuję, nie obliczyłem).

    Oczywiście nie upieram się przy CrM - inne tryby pracy wchodzą w grę, o ile tylko będzie istniał patent na implementację kontroli w "nie przetwornicowy" uC.
    Chętnie zastosowałbym po prostu CCM, tyle, że przy tej częstotliwości pracy przetwornicy implementacja rampy kompensacji w ten mikrokontroler jest niewykonalna.

    Wertując literaturę, wpadłem gdzieś na stwierdzenie, że kontrola variable frequency fixed on time nie wymaga takowej rampy - tyle, że ja nie rozumiem, dlaczego nie, skoro ta metoda również pozwala na pracę w problematycznym CCM...

    0
  • Sklep HeluKabel
  • #6 15 Lis 2011 12:40
    -RoMan-
    Poziom 42  

    Wiele kontrolerów PWM ma wejścia sterowania, umożliwiające sterowanie jasnością przebiegiem PWM o mniejszej częstotliwości. Nawet stary, dobry LM2675 to umożliwia.

    Zajrzyj na stronę SuperTex - oni się bawią różnymi, dziwnymi kontrolerami LED.

    Co do trybu prądu krytycznego - im wyższa pulsacja na dławiku, tym wymagana większa pojemność na wyjściu. Może się okazać, że dla tego trybu przy 1MHz (o ile kontrole nadąży!) będzie konieczna pojemność tego samego rzędu, co dla trybu CCM w LM2675 przy 260kHz. W efekcie zysk powierzchni PCB na dławiku zostanie zjedzony przez powierzchnię na kondensatory.

    0
  • #7 15 Lis 2011 19:02
    Dar.El
    Poziom 40  

    Nie podałeś ile prądu przy jakim napięciu, ale zmniejszanie płytki niekoniecznie jest możliwe, przecież ona też działa jako radiator. 1MHz przejdzie tylko w zintegrowanym scalaku, na piechotę będzie trzeba nieźle kombinować ze ścieżkami.

    0
  • #8 15 Lis 2011 19:34
    nsvinc
    Poziom 35  

    Nikt sie nie martwi o ścieżki przy kilku MHz - mamy doświadczenie. Przetwornica nie jest na PCB z LEDem - jest na zupełnie oddzielnej, dwuwarstwowej płytce, więc kwestia radiatora na PCB jest niedotycząca, jeśli chodzi o rozpraszanie mocy wytraconej przez LEDa.

    Udało mi się z powodzeniem uruchomić czterokanałową (RGBW) przetwornicę na dsPIC33FJ16GS502 pracującą z częstotliwością 1526kHz. Bez problemu, tyle, że na sprawność możnaby ponarzekać (nieszczególnie poprowadzone ścieżki między tranzystorem a dławikiem i diodą - przez przelotkę). Ale kontroler działał prawidłowo...

    Prąd - spory. Chciałoby się popchnąć Iout z 1.5 do 2A przy Vout=12.6V. Takie mam założenia...

    0
  • #9 15 Lis 2011 22:41
    Dar.El
    Poziom 40  

    Czyli sama przetwornica się nie grzeje i można ją zrobić na PCB o powierzchni 2cm²? Tak zależy Ci na małym dławiku, żeby płytka była mniejsza. Przełączanie 2A na 1MHz ale prostokącie, będzie się działo :D . Trzeba będzie projektować płytkę i zrobić ją, sprawdzać jak działa i znowu przeprojektować i znowu zrobić. Jak masz doświadczenie z w.cz to może szybko się z tym uwiniesz. Najlepszym rozwiązaniem będzie zrobienie przetwornicy synchronicznej na dedykowanym scalaku albo coś szybszego, jakiś DSP.

    0
  • #10 15 Lis 2011 22:53
    nsvinc
    Poziom 35  

    Wspomniana przetwornica (ta na 1526kHz) przełączała troszkę ponad 1A, no i... przełączała. Z temperaturą kluczy i dławików - ujdzie. Układ generował nad wyraz dużo zakłóceń EMI, ale o powodach już napisałem powyżej...

    Bez problemu projektujemy PCB pod przetwornice Lineara 2.2MHz, bez komplikacji lub niestabilności. Dysponujemy i funduszami, i sprzętem na tego typu eksperymenty. Nie umiejętności projektowania PCB są przeszkodą, raczej braki w wiedzy nt. praktycznych teorii działania układów impulsowych :)

    DSP zajmuje dużo miejsca, niestety. Mały (2.5x2.5mm BGA) DSP jest praktycznie niedostepny dla śmiertelników. A procek z rdzeniem CM0 w dokładnie takiej obudowie ma się znaleźć w projektowanym układzie.

    Trafiłem jeszcze na ZCS-buck. Stąd. Być może to też jest akceptowalne rozwiązanie. I do tego jeszcze o znacznie lepszej sprawności, niż twardo przełączany buck. No i pętla kontroli jest raczej łatwa do zaimplementowania w mikrokontroler. Jedyna niedogodność to drugi dławik z kondensatorem który będzie siłą rzeczy zuzywać miejsce na PCB...

    Znalazłem fajną przetwornicę Supertex HV9861A. Tyle, że tego scalaka praktycznie nie da się kupić, a wszyscy nasi dystrybutorzy albo nie mają, albo czasy dostawy są bliskie wieczności.
    Więc chciałoby się jakoś użyć ich sposobu kontroli prądu średniego na podstawie prądu szczytowego dławika nie mierząc praktycznie żadnego innego parametru (!). Jak oni to robią?...Zrozumienie tego ichniego sposobu pozwoliłaby najpewniej na bezproblemową implementację algorytmu w dosyć szybki (w końcu to cortex) mikrokontroler. Wtedy miałbym swój CCM, malutki dławik, brak Cout...

    Tymczasem proszę poprawić ten slang w poście. Takie pisanie jest chyba dość typowe u Kolegi ( https://obrazki.elektroda.pl/9004943900_1317385680.jpg ) [Mirek Z.]

    0
  • #11 07 Sty 2012 19:51
    CosteC
    Poziom 26  

    Podziwiam że nikt się nie martwi o ścieżki przy prostokącie 2MHz i 2A....
    Dalej nie rozumiem czemu nie użyjesz dedykowanego sterownika który na pewno będzie tańszy od DSP. A użycie w tak banalnej aplikacji mikrokontrolera albo wręcz procesora uważam podobnie jak RoMaN za bezsens. Robię teraz zasilacz dający 17V 10A i procka tam nie będzie.

    National/TI nic nie ma dla ciebie?

    0
  • #12 07 Sty 2012 20:29
    nsvinc
    Poziom 35  

    Jakbym miał robić "zwykły zasilacz" to też bym się nie upierał przy mikrokontrolerze. Tyle, ze ja nie potrzebuję zwykłego zasilacza, tylko czterokanałową przetwornicę do LED, gdzie średni prąd każdego kanału ma być regulowany osobno, i ustawialny na dowolnym poziomie na podstawie zewnętrznych ustawień, i.e. po UARTcie/radyjku. Do tego wszystkiego potrzebuję obsługę algorytmu wykrywającego gwałtowne zmiany prądu (bez czynnika zewnętrznego) przy stałym napięciu wyjściowym - detekcja spalonego/odłączonego LEDa (+powiadomienie zewn. centralki przez wyzej wspomnianym medium), i sporo innych ficzerów. Nie ma się co tu rozpisywać, co ten układ ma potrafić, aczkolwiek jego konstrukcja w oparciu o standardowe kontrolery będzie trudna i nieopłacalna, a dodatkowo zeżre cenne miejsce.

    0
  • #13 08 Sty 2012 13:58
    CosteC
    Poziom 26  

    Czyli zamiast zrobić dobrą, małą, sprawną przetwornicę na dedykowanym kontrolerze + procek nadzorczy (prosty) do zadawania prądu i detekcji awarii, chcesz skomplikowany kombajn. Według uznania.

    BTW nie wiem czemu LED ma się spalić w dobrze zaprojektowanym układzie. Zazwyczaj 10kh LEDy mocy powinny znieść. Detekcja zaniku prądu jest trywialna. Wzrostem powinna się zająć przetwornica.

    Jakie ty w ogóle przewidujesz napięcie wejściowe?

    0
  • #14 08 Sty 2012 14:42
    nsvinc
    Poziom 35  

    LED który stosujemy zazwyczaj ma wytrzymać 30kh (mamy dobry radiator). Problem w tym, że czasami trafi się nawet jeden wadliwy chip, który już po paruset godzinach świecenia zaczyna zmieniać kolor, maleje jego spadek napięcia, aż w końcu 'pufff'.
    Dodatkowo, ludzie z biedną lampą potrafią robić różne rzeczy...

    Projekt ma istnieć w dwóch wersjach: jedna zasilana z 12..48VDC (i o tej tutaj rozmawiamy),a druga z 320VDC.
    Zresztą już topologia została wybrana - mianowicie QR-buck ze wspólnym plusem, i to dla obu przetwornic. Przy czym oczywiście ta, która chodzi z wyprostowanego napięcia sieciowego, nie będzie pędzona na 2MHz, a tylko na 300kHz. Założenia już sobie zasymulowałem w PSPICE, i ogólnie wygląda to obiecująco.

    0
  • #15 08 Sty 2012 21:49
    CosteC
    Poziom 26  

    Nie zapomnij się zatem podzielić wynikami!

    Co do chipów które robią puff - odkryłeś powód dlaczego selekcjonowane ledy od dobrych producentów są droższe - bo są tańsze w serwisie.

    0
  • #16 09 Sty 2012 04:16
    nsvinc
    Poziom 35  

    Stosujemy tylko selekcjonowane w binach LEDy od cree. Ale nawet one potrafią spłatać figla raz na kilka gotowych lamp. Dlatego też preferuję system oparty o cyfrowe algorytmy zamiast łatać gotowe kontrolery prockami np. używając PWM-DAC.

    Oczywiscie, gdy układ zostanie uruchomiony i oprogramowany, opiszę go tutaj (nie w DIY - mam swoje powody) i chętnie podzielę się doswiadczeniami i wiedzą na temat przetwornic QR-buck ;]
    Oczywiscie nie twierdzę tu, że jestem mistrzem np. tak jak RoMan, ale w każdym razie, staram się. W koncu konstruuję komercyjne układy, które mają niezawodnie działać przez conajmniej 30kh; juz zdążyłem trafić na problemy konstrukcyjne omawianej przetwornicy, ale z racji tego, że chyba nie wypada mi się na ten temat tutaj rozpisywać, poradzę sobie z tym sam; pewne rozwiązania na pewno upublicznię.

    Pozdrawiam wszystkich forumowiczów udzielających się w tym wątku ;]

    0
  • #17 09 Sty 2012 08:21
    CosteC
    Poziom 26  

    Tak z ciekawości jak liczysz takie układy? Tylko symulacja w jakimś SPICE?

    0
  • #18 13 Sty 2012 11:54
    nsvinc
    Poziom 35  

    To, co potrafię policzyć, to liczę. Ogólnie wyposażyłem się w kilkadziesiąt pdfów literatury z internetu, no i się dokształcam na bieżąco. Jak nie umiem czegoś policzyć, to element dobieram 'na oko', i symuluję układ... Zresztą i tak większość analogowych rozwiązań (obwody smps,filtry,uklady na opampach,...) po prostu symuluję, by gdzieś babola przez nieuwagę nie popełnić.

    0