Programowany zasilacz z 4 wyjściami i obsługą za pomocą touch-panela na STM32F429I-DISC1

Drugim wykorzystywanym oprogramowaniem jest STM32CubeMX – graficzny konfigurator, pozwalający generować część inicjalizacyjną kodu dla mikrokontrolera w C. Generowany kod zawiera odwołania do bibliotek, główną funkcję programu oraz funkcje zawierające rejestry peryferii mikrokontrolera (wcześniej wybranych). Proces ten znacznie oszczędza czas i pracę programisty. Klasyczne podejście z czytaniem noty katalogowej układu zabierałoby wiele godzin żmudnej pracy.

Pisząc oprogramowanie korzystano z bibliotek HAL. Biblioteka ta zawiera kompletny zestaw gotowych do użycia interfejsów programistycznych (API), które uproszczają inicjalizację i konfigurację peryferii, których sporą liczbę użyto w projekcie, są to m.in.:

  • DMA2D (Direct Memory Access 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 generacji 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).

Pomiary ADC dokonują się z częstotliwością wynikająca z przerwań (4,5 kHz). Przetwornik na wejściu otrzymuje wartości analogowe napięć z układu zasilacza i zamienia je na wartości cyfrowe, poddawane obróbce arytmetycznej w celu uzyskania łatwych do interpretacji wartości wyników. Wyliczone aktualne wartości napięć i prądów są na bieżąco wyświetlane na LCD. Program sterujący pracą mikrokontrolera porównuje następnie wartości napięć mierzonych oraz wartości ustalonych przez użytkownika (zapisanych w pamięci). W zależności od tego czy wartości są jednakowe czy się różnią, jest generowany sygnał PWM korygujący w odpowiednią stronę aktualną wartość napięcia wyjściowego. Jeżeli napięcie wybrane przez użytkownika zgadza się z aktualnym (generowanym przez zasilacz) wtedy sygnał PWM pozostaje bez zmian.

Rys. 7. Sprawności przetwornic przy różnych prądach i napięciach wyjściowych

Przeprowadzając test sprawności przetwornic 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. Na rysunku 7 pokazano wyniki badania sprawności dla różnych wartości napięcia wyjściowego przy napięciu wyjściowym 12 VDC i poborze prądu bez dołączonego obciążenia o wartości 200 mA.

Rys. 8. Sprawności całego zasilacza przy różnych prądach i napięciach wyjściowych

Weryfikacja sprawności energetycznej całego zasilacza dała wyniki pokazane na rysunku 8.

Rys. 9. Tętnienia napięcia wyjściowego

Przebadano także tętnienia napięcia wyjściowego przy napięciu wyjściowym o wartości 5V i prądzie obciążenia 0,5 A. Amplituda zakłóceń wynosiła 143,75mV (2,5% ustawionej wartości napięcia wyjściowego) – rysunek 9.

Paweł Sławiński, WETiI Politechniki Gdańskiej

Do pobrania