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

SMPS i uC - Przetwornica DC-DC i sterowanie mikrokontrolerem

morozaw 20 Gru 2013 12:49 2385 8
  • #1 20 Gru 2013 12:49
    morozaw
    Poziom 14  

    Witam, szukam sposobu na kontrolę napięcia wyjściowego przetwornicy dc-dc step down buck za pomocą mikrokontrolera.
    Początkowo myślałem nad wykorzystaniem potencjometru cyfrowego lub wejścia ON/OFF w dedykowanych scalakach przetwornic.
    W sieci jest bardzo mało informacji na jakikolwiek temat.

    Później znalazłem jakąś wzmiankę, że można także kontrolować poprzez DAC i pin feedback w przetwornicy, ale za dużo informacji na ten temat nie znalazłem.
    Szukałem też dedykowanego jakiegoś kontrolera (z zewnętrznym mosfetem) przetwornicy, który można by sterować z poziomu mikrokontrolera, ale nic nie znalazłem. Podobnie nie znalazłem gotowej przetwornicy, którą można by sterować z poziomu uC.

    Niedawno firma Aquacomputer wypuściła swój nowy kontroler obrotów oparty na TPS54383 od Texas Instruments, ale nie wiem w jaki sposób nim sterują. Na fotce zrobionej przez kolegę z innego forum widać LM324 i prawdopodobnie jego jakoś wykorzystali.
    W datasheet scalaka też nic nie znalazłem.

    Proszę o jakieś porady i pomysły jak to dobrze rozwiązać, ewentualnie wskazanie jakiegoś dobrego źródła.

    //edit
    //zapomniałem o najważniejszym

    Regulacja napięcia wyjściowego w zakresie: 5V-12V
    Max prad wyjściowy 3A
    Max napięcie wejściowe 12,6V.

    Obrazek na serwerze elektrody kontrolera od Aquacomputer:
    SMPS i uC - Przetwornica DC-DC i sterowanie mikrokontrolerem

    0 8
  • Servizza
  • #2 20 Gru 2013 21:11
    Poprostujakub
    Poziom 17  

    Przede wszystkim, używanie przetwornicy w regulatorze obrotów jest według mnie przerostem formy nad treścią. Wystarczy zwykłe sterowanie PWM z mikrokontrolera, kluczujące MOSFETa.

    Ale jeśli się upierasz: ciężko będzie uzyskać 12V z 12,6V przy 3A - to wymaga bardzo wysokiego wypełnienia albo wręcz pracy liniowej. Da się to zrobić, tylko trzeba poszukać odpowiedniego układu, który niekoniecznie będzie dostępny w Polsce.
    Kontrolę napięcia można zrobić w najprostszej wersji wykorzystując moduły A/C i C/A. Cały myk polega na tym, żeby przy żądanym napięciu na wyjściu, powiedzmy 5V, mierzone przez układ A/C, układ przetwornicy dostawał odpowiednie napięcie generowane przez układ C/A na nóżkę feedback, podawane w nocie katalogowej. Można to zrobić poprzez ustalanie proporcji napięcia wejściowego do wyjściowego mikrokontrolera. Np. przy Uwy=12V i Vfb=0,8V proporcja będzie 15:1 i tak trzeba będzie ustawić stosunek napięć A/C do C/A. W przypadku gdy Uwy=5V, stosunek ten wyniesie 6,25:1. Konkretnych rozwiązań Ci nie podam, bo nie zajmuję się programowaniem.

    0
  • #3 20 Gru 2013 23:00
    morozaw
    Poziom 14  

    Dzięki za odpowiedź, ale niestety dużo mi to nie pomogło.

    Wybrałem przetwornicę gdyż nie chcę LDO, ani innych liniowym regulatorów ani tak samo czystego PWM na zasilaniu. Początkowo chciałem oprzeć to wszystko o atmegę i z niej zrobić sterownik, ale możliwe, że lepiej będzie oprzeć to o dedykowany scalak.
    Nie wnikajmy do tego dlaczego wybrałem przetwornice, nie znam jak na razie lepszego sposobu na sterowanie wentylatorów napięciem - jak na razie jest to chyba najlepszy sposób.

    Druga sprawa, mogłem zaznaczyć, że zdaję sobie sprawę, że nie uzyskam pełnych 12V, że wiem co to są straty i problemy z pełnym wypełnieniem. Przyjmijmy dla uproszczenia około 12V na wyjściu, ale nic to nie zmienia.

    Możesz coś więcej na ten temat? Czyli musiałbym mierzyć napięcie, wprowadzić je do atmegi, i dopiero sprawdzić warunek i jeszcze jakoś próbować sterować przetwornicą?
    Nie potrzebuję znać dokładnego napięcia na wyjściu, wystarczy mi kontrola duty cycle w procentach max napięcia.

    Jeszcze jakieś pomysły jak sterować dedykowanym scalakiem przetwornicy dc-dc (z wbudowanym kluczem czy też zewnętrznym), ewentualnie jakiś inny scalak wybrać?

    Jakieś pomysły jak wyżej wykorzystano op ampa?

    0
  • Servizza
  • #4 21 Gru 2013 02:27
    Poprostujakub
    Poziom 17  

    Mogłeś uprzedzić że masz już jeden podobny temat, oszczędziłoby mi to pisaniny.

    Musisz jeszcze z atmegi wyprowadzić feedback dla przetwornicy, żeby ona wiedziała co ma na wyjściu. Na tym najbardziej musisz się skupić. W przeciwnym razie ustawi się albo minimalne albo maksymalne napięcie wyjściowe.

    Nie uzyskasz prosto bezpośredniej kontroli nad wypełnieniem impulsu w układzie z przetwornicą PWM. Do tego potrzebowałbyś układu PFM, ale to też mało eleganckie rozwiązanie i raczej trudno będzie znaleźć odpowiedni scalak.

    Poza tym, układ użyty w tym projekcie jest kiepski, więc zaopatrz się na przykład w jakiś układ MPxxxx, których parę typów widziałem na znanym portalu aukcyjnym a które mają o niebo lepsze parametry.

    Na zdjęciu płytki widzę co najmniej dwie operacyjki, a do tego 8 układów o nieznanej proweniencji - zgadywanie do czego służą mija się z celem.

    0
  • #5 21 Gru 2013 09:54
    morozaw
    Poziom 14  

    Jest inny temat, ale jest chyba zbyt długi już i nikomu nie chcę się go czytać.

    Wybrać inny scalak to nie problem, myślę, że spokojnie znajdę lepszy, ale muszę wiedzieć jak nimi sterować, a z tego co zauważyłem większość ma tak samo zrobiony pin feedback, więc to tylko kwestia znalezienia sposobu na ich kontrolę. Sam się dziwię, że AquaComputer wybrało ten scalak, pewnie ze względów ekonomicznych.
    Nie chcę oszczędzać aż tak bardzo, dlatego przetwornica, chcę by to było dobrze wykonane.

    Na innym forum (TI) polecono mi coś takiego:
    http://www.ti.com/product/LM10011
    http://e2e.ti.com/blogs_/b/powerhouse/archive...03/how-to-optimize-your-dsp-power-budget.aspx

    Oczywiście niedostępne nigdzie, a nie uśmiecha mi się z USA sprowadzać.
    Najchętniej skłaniałbym się chyba na jakiś DAC oparty na opampie i podanie jakoś sygnału do scalaka przetwornicy.
    Na logikę, chcę zastąpić tylko potencjometr, a przetwornica niech sama sobie dba o napięcie na wyjściu, chyba, że jest to niemożliwe.

    Czy na prawdę nie istnieje jakieś dobre rozwiązanie tego problemu?
    Myślałem nawet nad przetwornicą sterowaną po i2c, ale żadna nie miała wymaganych parametrów napięcia i obciążenia - przynajmniej z jakich znalazłem.

    Dwie operacyjki czyli LM324 i LM358? Domyślam się, że LM358 jest raczej za coś innego odpowiedzialny, a LM324 steruje 4 kanałami przetwornicy.

    0
  • #6 21 Gru 2013 11:01
    Poprostujakub
    Poziom 17  

    Czasami sam się zastanawiam jak mogę nie wpaść na takie proste rozwiązania...
    Wystarczy górny rezystor dzielnika ustawić na stałe, a dolny zrobić albo w postaci szeregu rezystorów załączanych przez procesor małymi MOSami, albo wręcz sterować MOSem połączonym szeregowo z dolnym rezystorem liniowo.

    Jakiś, jakoś... tak nic nie zaprojektujesz. Trzeba testować rozwiązania od najprostszego do najtrudniejszego. Przetwornica musi wiedzieć co się dzieje na wyjściu, więc od linii feedback zależy czy "sama sobie" zadba.

    Rozwiązań tego problemu istnieje całe multum, tylko nie wiem które według Ciebie będzie dobre.

    0
  • #7 10 Sty 2014 12:09
    morozaw
    Poziom 14  

    Dzięki za odpowiedź.
    Jednak takie trochę utrudnianie sobie życia, nie wiem czy ATmega sobie poradzi, a chcę z jednej ATmegi sterować czterema takimi przetwornicami.

    W międzyczasie znalazłem coś takiego:
    http://www.maximintegrated.com/app-notes/index.mvp/id/818

    Tylko czy schematy maxima nadają się do każdej przetwornicy w tym Texasa / Lineara / innych?
    W sumie są potwierdzeniem moich pierwszych pomysłów z wykorzystaniem DAC / potka cyfrowego / bezpośrednio sygnału PWM po wygładzeniu filtrem.

    Co o tym myślisz?
    Czy i w tym przypadku muszę prowadzić feedback do przetwornicy, czy jestem w stanie operować na stałych by uzyskać zadane wartości napięcia na wyjściu?
    W zupełności wystarczy mi możliwość tylko ustalenia procentowo napięcia na wyjściu względem napięcia na wejściu.

    Napięcie wejściowe się nie zmienia, tylko wyjściowe oraz natężenie.

    0
  • #8 10 Sty 2014 16:21
    Poprostujakub
    Poziom 17  

    Podałem Ci zasadniczo rozwiązanie z punktu drugiego z Twojego linka, tylko zrealizowane na elementach dyskretnych.

    Wszystkie znane mi scalone przetwornice mają taki sam układ. Będzie działało.

    Wyobraź sobie, że masz za zadanie wlewać wodę do szklanek po połowy ich wysokości. A teraz zamknij oczy i spróbuj nalać odpowiednią ilość wody. Feedback jest oczami przetwornicy.

    0
  • #9 27 Sty 2015 10:36
    morozaw
    Poziom 14  

    Wykorzystuję metodę opisaną na stronach Maxima.
    Zależało mi na maksymalnie małym użyciu pinów wyjściowych z ATmegi oraz nie angażowaniu jej mocy w stabilizację napięcia. (wiele przetwornic podpiętych pod jedno Arduino oraz brak zamkniętej pętli przetwornica-ATmega). Szkoda, że nikt nie zaproponował takiego rozwiązania.

    Pozdrawiam.

    Zamykam wątek i uznaję za rozwiązany. Gdyby coś to proszę o PW.

    0