Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Przetwornica impulsowa sterowana mikroprocesorowo

Kubald 06 Jan 2013 23:01 20475 17
Computer Controls
  • Przetwornica impulsowa sterowana mikroprocesorowo

    Poniżej opisana przetwornica impulsowa o topologii boost pozwala, przy zasilaniu napięciem 5-20 V, uzyskiwać napięcia wyjściowe wystarczające na przykład do zasilania lamp Nixie (170-200 V) – jest to główny cel stosowania opisanej przetwornicy. Projekt przetwornicy został oparty na nocie aplikacyjnej TB053 firmy Microchip, z kilkoma modyfikacjami. Poniższy rysunek i opis w telegraficznym skrócie wyjaśniają działanie przetwornicy tego typu.

    Przetwornica impulsowa sterowana mikroprocesorowo

    Mikrokontroler steruje tranzystorem FET Q1, i kiedy znajduje się on w stanie przewodzenia następuje gromadzenie energii w cewce L1. Kiedy zaś tranzystor FET jest zatkany, zgromadzona energia w postaci ładunku elektrycznego przepływa przez diodę D1 i ładuje kondensator C1. Vvfb jest napięciem zmniejszonym w dzielniku rezystorowym i pozwala mikroprocesorowi na monitorowanie poziomu napięcia wyjściowego i odpowiednie kluczowanie tranzystora FET, aby osiągnąć pożądane napięcie.

    Autor projekt swojej przetwornicy rozpoczął od wyboru odpowiedniego elementu indukcyjnego – wybór padł na dławik o indukcyjności 100 µH firmy C&D Technologies (dostępne wersje 1,2 oraz 0,67A). Ten element został wybrany ze względu na bardzo mały rozmiar, przystępną cenę i wystarczające do danego rozwiązania parametry. Maksymalna wydajność prądowa trwała jest dobrze znana (0,67A), ale potrzeba wiedzieć jeszcze, jak długo zajmie, zanim w elemencie indukcyjnym zostanie zgromadzona odpowiednia energia:
    $$t = \frac{L}{U} \cdot I \ [\mu s= \frac{\mu H}{V} \cdot A]$$
    W omawianym przypadku wyliczony czas, przy napięciu 5V, wynosi 13,5 µs. Oczywiście, wartość ta zależy od napięcia. Istotnym pytaniem jest też, ile mocy można zgromadzić w elemencie indukcyjnym, przy prądzie 0,67 A. W tym celu należy posłużyć się równaniem:
    $$P = \frac{t \cdot U^2}{2L}$$
    Dla omawianego elementu indukcyjnego jest to moc rzędu 1,68 wata, co odpowiada – dla napięcia wyjściowego 180 V – przepływowi prądu o natężeniu 9,31 mA. Dlatego, używając takiego właśnie dławika, pomijając wszelkie straty, można uzyskać maksymalnie prąd o natężeniu 9,31 mA, przy napięciu zasilania wynoszącym 5V i napięciu wyjściowym 180V.

    Przetwornica impulsowa sterowana mikroprocesorowo

    Po wyliczeniu czasu niezbędnego na gromadzenie energii w cewce można przystąpić do przygotowania programu dla mikrokontrolera, który będzie sterował „ładowaniem” cewki tak długo, by można było uzyskiwać odpowiedni, wyliczony powyżej prąd. W opisywanym rozwiązaniu autor wykorzystał sprzętową modulację szerokości impulsów zaimplementowaną w procesorze PIC. Zgodnie z sugestią z noty aplikacyjnej, czas gromadzenia energii powinien stanowić 75% czasu całego cyklu pracy przetwornicy, w przypadku omawianego rozwiązania został on ustalony na 17,9 µs. Znając te wartości można wyliczyć współczynnik wypełnienia, mnożąc czas narastania przez częstotliwość oscylatora taktującego procesor. Tym sposobem uzyskuje się wartość 107, którą należy zapisać w odpowiednim rejestrze procesora. Kolejnym niezbędnym obliczeniem jest określenie wartości dla czasu odpowiadającemu całemu cyklowi pracy przetwornicy, czyli okresu. Dla procesora taktowanego zegarem 8 MHz wartość ta wynosi 35. Nie należy się niepokoić, że jest ona niższa, niż wartość dla współczynnika wypełnienia – jest to spowodowane tym, że współczynnik wypełnienia zapisywany jest w 10-bitowym rejestrze, a okres – w rejestrze 8-bitowym. Zobrazowanie pojęć współczynnika wypełnienia i okresu można zobaczyć na powyższym rysunku.

    Przetwornica impulsowa sterowana mikroprocesorowo

    Schemat przetwornicy można zobaczyć powyżej. Autor, posiłkując się wskazówkami zawartymi w nocie aplikacyjnej, zaprojektował również płytkę dla przetwornicy.

    Przetwornica impulsowa sterowana mikroprocesorowo
    Przetwornica impulsowa sterowana mikroprocesorowo

    Jako sterownik tranzystora pracuje układ TC4427A, pozwala to na zabezpieczenie procesora i umożliwia sterowanie tranzystora wyższymi napięciami, niż pozwalają na to porty mikrokontrolera. Także, w czasie projektowania, ścieżka, którą przekazywane są do tranzystora impulsy kluczujące, została zaprojektowana jako możliwie najkrótsza, a odległości pomiędzy tranzystorem, dławikiem i kondensatorem – jako jak najmniejsze.

    Do sterowania przetwornicą został wybrany procesor PIC12F683 w obudowie DIP-8. Procesor posiada sprzętowy PWM, 4 przetworniki A/D, wbudowany wewnętrzny oscylator 8 MHz i 256 bajtów pamięci EEPROM. Jako tranzystor wybrano IRF740. Autor zastosował także kondensatory wysokonapięciowe.

    Do przetworników A/D procesora podawane są dwa napięcia: pierwsze z nich to napięcie wyjściowe, zmniejszone w dzielniku rezystorowym (aby właściwie sterować kluczowaniem tranzystora, dzielnik rezystorowy został także wyposażony w potencjometr celem dokładniejszej jego kalibracji), drugie – napięcie zasilania, aby móc odpowiednio dobrać okres i współczynnik wypełnienia impulsów, w sposób opisany powyżej.

    Autor przewidział także możliwość wyboru napięcia zasilającego układ TC4427A, tranzystor oraz dławik – możliwe jest zasilanie napięciem 5V ze stabilizatora 7805 lub podanie zewnętrznego napięcia zasilania (maksymalnie 20V). Umożliwia to np. zasilanie przetwornicy z baterii, z pominięciem stabilizowania napięcia przez układ 7805. Procesor sam rozpoznaje wartość podawanego napięcia i dobiera do niego parametry pracy przetwornicy. Dodatkowo przewidziano dwie diody LED sygnalizujące stan przetwornicy (np. nadmierne obciążenie).

    Oprogramowanie dla procesora powstało przy użyciu kompilera MikroBasic dla procesorów PIC. Gotowy program działa następująco:
    1. Odczekanie 1 s na ustabilizowanie się napięcia.
    2. Odczyt napięcia wyjściowego i wyliczenie optymalnych parametrów pracy.
    3. Zapisywanie wartości w pamięci EEPROM (wartości te mogą być odczytane np. za pomocą programatora i mogą pomóc w rozwiązywaniu problemów w przypadku, kiedy przetwornica nie pracuje prawidłowo).
    4. Nieskończona pętla – mierzone jest napięcie wyjściowe i ew. obliczane są raz jeszcze parametry pracy.

    W programie, przed umieszczeniem go w pamięci procesora, konieczne jest ustalenie kilku parametrów:

    Code: text
    Log in, to see the code


    gdzie: v_ref to napięcie odniesienia dla przetwornika A/D (zmierzone pomiędzy wyprowadzeniem 1 procesora a masą, odpowiada napięciu generowanemu przez stabilizator 7805), supply_ratio to stosunek dokładnych oporności rezystorów pracujących w dzielniku napięcia (należy określić, dokonując pomiaru napięcia podawanego na dzielnik i podawanego na przetwornik A/D procesora), osc_freq to częstotliwość taktowania procesora, L_Ipeak to wartość uzyskana przez przemnożenie indukcyjności dławika i maksymalnej wartości prądu i wreszcie – fb_value to wartość pozwalająca określić procesorowi, czy napięcie wyjściowe jest powyżej bądź poniżej ustalonej wartości – sposób ustalania tejże jest szerzej opisany w oryginalnym artykule.

    Po poprawnej kalibracji w czasie pracy tranzystor ani dławik nie powinny się rozgrzewać, także element indukcyjny nie powinien generować „dzwoniącego” dźwięku. Jeśli którykolwiek z tych objawów pojawi się, wskazuje to na błąd w kalibracji – odczytanie zapisanych w pamięci EEPROM wartości pozwoli łatwiej dojść, gdzie leży problem.

    Autor także radzi m.in. aby pogrubić ścieżki doprowadzające zasilanie do dławika i kondensatorów; pracę przetwornicy powinno poprawić także zastosowanie stabilnego źródła napięcia odniesienia.

    Na stronie projektu dostępne jest do ściągnięcia archiwum zawierające wzory płytek w formacie Eagle’a, arkusz kalkulacyjny pozwalający wyliczać wszelkie omówione parametry pracy przetwornicy (dostępne są w nim też np. parametry najpopularniejszych cewek), kod źródłowy w języku Basic oraz skompilowany wsad dla procesora oraz wszelkie szczegóły dotyczące zaprezentowanych obliczeń.

    Cool? Ranking DIY
    About Author
    Kubald
    Level 15  
    Offline 
    Has specialization in: spektroskopia exafs/xanes, uc, it
    Kubald wrote 188 posts with rating 102. Live in city Kraków. Been with us since 2004 year.
  • Computer Controls
  • #3
    Anonymous
    Anonymous  
  • Computer Controls
  • #5
    Andrzej_;)
    Level 14  
    Przepraszam za laickie pytanie...ale czy nie uzyskamy większej sprawności prostując napięcie sieciowe i zmniejszając je za pomocą przetwornicy obniżającej?
    -pytanie w kontekście uzyskiwania napięcia dla lamp...

    Projekt bardzo ciekawy...
  • #6
    airnox
    Level 24  
    Teoretycznie można tak, ale wtedy leży separacja galwaniczna, jeśli użyjemy prostego układu. A co za tym idzie ucierpią kwestie bezpieczeństwa użytkowania. Ale takie rozwiązanie jest obiecujące choćby ze względu na możliwość zasilenia tym przedwzmacniacza lampowego.

    Pozdrowienia
  • #7
    kip
    Level 13  
    Obawiam się, że równanie opisujące moc jest trochę błędnie przepisane - na oryginalnej stronie zabrakło końca indeksu górnego, tu dodatkowo wkradło się dzielenie zamiast mnożenia.

    Oryginalny wzór (nr 5 w dokumencie TB053 Microchipa):
    P = (t * U^2) / (2*L)
  • #10
    komatssu
    Level 29  
    Ewidentny przerost formy nad treścią - zamiast 1 układu za 2 zł (np. UC3843) użyłeś aż 3 scalaki za ponad 10 zł, w tym procesora który wymaga zaprogramowania. Poza tym przetwornica ta nie kontroluje prądu tranzystora, a to jest dużą wadą.
  • #11
    androot
    VIP Meritorious for electroda.pl
    komatssu wrote:
    Ewidentny przerost formy nad treścią - zamiast 1 układu za 2 zł (np. UC3843) użyłeś aż 3 scalaki za ponad 10 zł, w tym procesora który wymaga zaprogramowania. Poza tym przetwornica ta nie kontroluje prądu tranzystora, a to jest dużą wadą.


    Całkowicie nie zgadzam się. To tylko przykład wykorzystania mikrokontrolera jako układu sterującego przetwornicy.
    Wykonałem podobny układ do sterowania 30W diodą LED i jednocześnie µC obsługuje włącznik, mierzy napięcie akumulatorów i wyświetla na wskaźniku.
  • #12
    komatssu
    Level 29  
    androot wrote:
    Wykonałem podobny układ do sterowania 30W diodą LED i jednocześnie µC obsługuje włącznik, mierzy napięcie akumulatorów i wyświetla na wskaźniku.

    Ale w tym konkretnym przypadku nic więcej nie robi, niestety.
  • #14
    kip
    Level 13  
    komatssu wrote:
    Ale w tym konkretnym przypadku nic więcej nie robi, niestety.

    Myślę, że to proof of concept. Skoro autor pisze o nixie to pewnie docelowo chce zrobić coś więcej niż tylko zasilanie :)
    Prawdę mówiąc od paru dni zastanawiałem się na ile PWM w Atmedze nadawałoby się do takiego zadania, teraz bardziej chce mi się to sprawdzić w praktyce... Jak wyjdzie po mojej myśli to zaprezentuję w DIY.
  • #15
    androot
    VIP Meritorious for electroda.pl
    Na schemacie jest: 500V 250ns.

    We wspomnianym przeze mnie projekcie użyłem attiny261, które posiada wewnętrzne PLL. Przy taktowaniu µC 8MHz, układ czasowo-licznikowy otrzymuje 64MHz. Daje to 8bit PWM o częstotliwości 250kHz.

    Pomiar prądu klucza można łatwo dorobić.
  • #16
    Urgon
    Level 38  
    AVE...

    Jutro trawi mi się PCB pod drugi prototyp mikroprocesorowego kontrolera przetwornic na PIC16F785. Z PWM dwukanałowym pracującym do 10Mhz...
  • #17
    RitterX
    Level 39  
    daroslav15 wrote:
    Dioda D1 to powinien być Schottky, a nie zwykła prostownicza.


    Sprawdź maksymalne napięcie pracy dla diod Schottky-ego. W tym przypadku nie ma znaczenia czy na przewodzącej diodzie będzie spadek 0.25V czy 0.7V. Straty na niej są pomijalnie małe a wspomniany spadek napięcia przy 200V napięcia wyjściowego jest bez znaczenia.

    W przypadku przetwornic sterowanych uC podobnia jak w przypadku specjalizowanych układów analogowych np. wspomnianego UC38xx rozstrzygającym problemy są dwa. Pierwszy to zapobieżenie nasyceniu indukcyjności gromadzącej i tu praca w trybie prądowym jest wielce wskazana. Drugi to stabilność układu po zamknięciu pętli sprzężenia zwrotnego. Zwykle w specjalizowanych układach analogowych mamy w nocie podany sposób kompensacji wzmacniacza błędu tak by układ po zamknięciu pętli sprzężenia zwrotnego miał, najogólniej rzecz biorąc, odpowiedni zapas fazy i amplitudy. W przypadku stosowania uC trzeba zatroszczyć się o to samemu a zwykle nie jest to takie proste.
    Ogólnie projekt ciekawy i dobrze przedstawiony merytorycznie.
  • #18
    Bojleros
    Level 16  
    Jak dla mnie w tym projekcie brakuje jednego elementu ... rezystora bramkowego. Bez niego w momencie załączenia popłyną znaczne prądy impulsowe. Nie mam tu na myśli wyłącznie ograniczonej wydajności prądowej wyjść układu TC ale też kwestie zakłóceniowe.

    Osobiście podzielam argumenty Kolegi RitterX. Pomiary to sobie zawsze można dorobić ale sama regulacja powinna odbywać się w trybie prądowym za pomocą choćby popularnego UC38**. Taki układ reguluje na bieżąco w trybie prądowym a nie co któryś okres w trybie "quasi" napięciowym. Z tego wynika choćby większa stabilność. Pomiary zawsze można sobie dorobić a i kombinując będzie się dało zrobić n.p. ściemnianie do ledów.

    Ten zakres napięć ociera się o stosowanie diod prostowniczych szybkich i ultraszybkich lub ewentualnie kilku SMBYW02-200 szeregowo.

    Warto wspomnieć o konieczności stosowania kondensatorów odprzęgających (małe ESR) możliwie blisko wyprowadzeń układów pobierających prądy impulsowe. Autor robi to dość konsekwentnie.