Schemat blokowy zasilacza pokazano na rysunku 1.
Schemat elektryczny obwodu wejściowego pokazano na rysunku 2. Elementy oznaczone P0 oraz J1 to dwa złącza wejściowe, połączone równolegle. Złącze P0 to typowa, dwutorowa listwa zaciskowa, natomiast J1 to złącze zasilania DC, dodane w celu poprawy wygody użytkowania urządzenia. Element D3 to dioda Schottky zabezpieczająca cały układ przed błędną polaryzacją napięcia zasilającego. Kondensatory C18 oraz C20 filtrują napięcie zasilające.
Dalsza część, składająca się z rezystora R17, układu U8 oraz kondensatora C23, odpowiada za pomiar prądu w kanale wejściowym. Płynący prąd powoduje spadek napięcia na rezystorze o małej rezystancji wynoszącej 10 mV. Spadek napięcia jest wartością niewielką (rzędu mV), dlatego jest wzmacniany 100× wzmacniaczem prądowym U8. Wyjście wzmacniacza jest filtrowane kondensatorem C23, zgodnie z zaleceniem noty katalogowej. Etykietę IN_C dołączono do multipleksera, który zostanie opisany dalej. Rezystory R15 i R16 tworzą dzielnik napięcia, który formuje napięcie na wejściu A/C mikrokontrolera w dopuszczalnym zakresie wartości.
Obwody wyjściowe
Schemat elektryczny obwodu wyjściowego (jednego z czterech identycznych) pokazano na rysunku 3. Najistotniejszym elementem kanału wyjściowego jest przetwornica impulsowa ADP2302. Jej zasilanie zrealizowano poprzez doprowadzenie napięcia zasilania (etykieta VCC) do pinu VIN poprzez kondensator filtrujący C6 oraz połączenie pinu GND z potencjałem masy. Etykieta EN3 oznacza port wyjściowy mikrokontrolera – jest on połączony z wyprowadzeniem EN. Pozwala to na sterowanie włączaniem i wyłączaniem przetwornicy przez mikrokontroler, dzięki czemu może mieć on wpływ na wartość napięcia wyjściowego (poprzez sterowanie PWM).
Wyprowadzenie FB (feedback) układu ADP2302 spełnia rolę wejścia komparatora napięcia, który odpowiada za stabilizację wartości napięcia wyjściowego przetwornicy. Standardowa konfiguracja tego układu przewiduje dołączenie pinu do rezystancyjnego dzielnika napięcia wyjściowego. Domyślna konfiguracja umożliwia uzyskanie tylko jednej, ustalonej „na sztywno” wartości napięcia wyjściowego. Regulacja napięcia wymaga zastosowania potencjometru w miejsce jednego z rezystorów, ale w projekcie założyliśmy regulację cyfrową realizowana na drodze elektronicznej.
Konfigurację sygnału PWM oraz filtru można porównać działaniem do przetwornika C/A. Poprzez zmianę współczynnika wypełnienia sygnału PWM jest zmieniane napięcie. Zmieniając napięcie na niższe, przetwornica jest „zmuszona” wygenerować na wyjściu napięcie wyższe, aby utrzymać w węźle FB wartość 0,8 V. Odwrotnie, zmieniając napięcie w węźle na wyższe, przetwornica na wyjściu generuje napięcie niższe. W taki sposób zrealizowano sterowanie napięciem wyjściowym przetwornicy. Konieczne było dobranie odpowiednich wartości rezystorów R4, R5, R6, R7 do zakresu napięciowego sygnału PWM, aby na wyjściu otrzymać zakres napięcia wymagany w projekcie (3…9 V).
Wzór określający zależność napięcia wyjściowego od napięcia PWM i wartości rezystorów ma postać:
gdzie:
VFB – napięcie w węźle FB wynoszące 0,8 V.
VOUT – napięcie wyjściowe przetwornicy.
VPWM – napięcie wynikające z sygnału PWM.
R4, R7 – wartości rezystorów ze schematu (rys. 3).
R56 – suma wartości rezystorów R5 + R6.
W celu ustalenia wartości rezystorów posłużono się symulacją uproszczonej wersji układu w programie LTSpice. Rezystancje R1, R2, R3 dobierano metodą prób i błędów. Zadowalające okazały się wartości, odpowiednio: 10 kV, 1 kV, 2 kV. Takie rezystory zastosowano w urządzeniu, a na rysunku 4 pokazano wyniki symulacji. Stosując wybrane rezystancje uzyskano możliwość otrzymania napięcia wyjściowego z zakresu 3…9 V w zakresie napięcia sterującego od 0,7…2,6 V.
Podczas realizacji projektu zauważono, że napięcie referencyjne przetwornika A/C dostępne na płytce STM32F429I-DISC1 jest niestabilne. Mogłoby to skutkować błędnymi wynikami pomiarów, a w efekcie błędnym działaniem całego zasilacza. Producent płytki nie przewidział możliwości zastosowania zewnętrznego napięcia referencyjnego. Problem rozwiązano dokonując pomiaru precyzyjnego napięcia o wartości 2,5 V wytworzonego za pomocą układu będącego źródłem napięcia odniesienia (złożonego z elementów R32 oraz U12 – rysunek 5). Dokonując pomiaru tak stabilnego napięcia przetwornikiem A/C jest możliwe bieżące obliczanie aktualnego napięcia referencyjnego przetwornika według wzoru:
gdzie:
VREF – aktualne napięcie referencyjne.
VSTAB – stabilne napięcie odniesienia (w tym wypadku 2,5 V).
ADCRESOLUTION – rozdzielczość przetwornika A/C (w tym wypadku 4096).
ADCRESULT – aktualny wynik pomiaru napięcia odniesienia.
Oprogramowanie
Podczas pisania oprogramowania korzystano z dwóch środowisk programistycznych. Pierwsze z nich to System Workbench for STM32 – darmowe środowisko programistyczne oparte o Eclipse. Środowisko to obsługuje wszystkie mikrokontrolery z rodziny STM32 i powiązane z nimi płytki.
Pisząc oprogramowanie korzystano z biblioteki HAL. Biblioteka ta zawiera kompletny zestaw gotowych do użycia interfejsów programistycznych (API), które uproszczają inicjalizację i konfigurację peryferiów.
W projekcie użyto następujące peryferia mikrokontrolera:
- DMA2D (Direct Memory Acces 2D) – umożliwia korzystanie z grafiki 2D jako interfejsu użytkownika, jednocześnie ograniczając implikacje w zakresie podstawowej wydajności procesora.
- LTDC (LCD-TFT Controller).
- TIM (timery 1, 2, 3, 5, 9) – używane do generowania sygnału PWM oraz obsługi przerwań.
- ADC1 – 12-bitowy przetwornik, używany do dokonywania pomiarów napięć oraz prądów.
- FMC, I2C, SPI.
- DMA.
- GPIO (General Purpose Input Output).
- NVIC (Nested Vectored Interrupt Controller).
- RCC (Reset and Clock Control).
Testy urządzenia
Przeprowadzając test sprawności działania przetwornic DC/DC dokonywano pomiarów mocy wejściowej i wyjściowej zmieniając obciążenie. Pomiarów dokonywano tylko na jednym z kanałów wyjściowych ponieważ kolejne są identyczne. Sprawność liczono zgodnie z wzorem:
gdzie:
h – sprawność przetwornicy.
PO – moc wyjściowa.
PI – moc wejściowa.
IO – prąd wyjściowy.
VO – napięcie wyjściowy.
PON – moc wejściowa pobierana przez zasilacz, przy braku obciążenia kanału wyjściowego.
POFF – moc wejściowa pobierana przez zasilacz, przy występowaniu obciążenia na kanale wyjściowym.
Obliczanie sprawności zasilacza, czyli sprawności całego urządzenia przebiegało w identyczny sposób, jak obliczanie sprawności samych przetwornic. Różnica polegała na tym, że przy liczeniu mocy wejściowej nie uwzględniano mocy pobieranej przez zasilacz przy braku obciążenia (przyjęto parametr POFF=0 W). Wyniki pomiarów przedstawiono na rysunku 9.
Zbadano także tętnienia napięcia wyjściowego. Do jednego z kanałów wyjściowych podłączono oscyloskop (Agilent MSO7104B Mixed Signal Oscilloscope). Generowano napięcie 5 V przy prądzie 0,5 A. Badane tętnienia wynosiły 143,75 mV (2,5% napięcia wyjściowego). Rezultaty widoczne na oscyloskopie przedstawiono na rysunku 10.
Paweł Sławiński