Przedstawiona aplikacja (GUI) jest integralną częścią większego projektu – Stanowisko BLDC – urządzenie mierzące parametry pracy silnika. Została utworzona do wizualizacji parametrów pracy silnika BLDC. Aplikacja została napisana w języku C++, z wykorzystaniem biblioteki Qt oraz Qwt.
Główne okno programu zostało podzielone na grupy komponentów odpowiadające poszczególnym funkcjonalnościom aplikacji. Zawiera wykres prędkości obrotowej silnika, a także wskaźnik poziomu temperatury.
Funkcjonalności aplikacji
Wizualizacja danych sensorycznych
- Wartość temperatury silnika zmierzonej sensorem DS18B20 w postaci numerycznej i graficznej. Rozdzielczość pomiaru w postaci numerycznej została ograniczona do 0,1 oC
- Wartość prędkości obrotowej silnika zmierzonej enkoderem magnetycznym AS5040 w postaci numerycznej i na wykresie. Wykres aktualizowany jest ze stałą częstotliwością, którą można ustawić podczas kompilacji programu. Przedstawiana jest wartość prędkości obrotowej w przedziale czasowym równym 120 sekund.
- Wartość prędkości obrotowej obliczona na podstawie czasu między komutacjami w postaci numerycznej.
- Wartość pobieranego przez silnik prądu w postaci numerycznej. Rozdzielczość pomiaru została ograniczona do 0,01 A.
- Wartość napięcia zasilania silnika w postaci numerycznej. Rozdzielczość pomiaru została ograniczona do 0,01 V.
- Ustawiona wartość zadana w postaci graficznej wyrażona w procentach maksymalnej prędkości obrotowej.
Sterowanie pracą silnika
- Ustawianie wartości zadanej wyrażonej w RPM za pomocą suwaka. Wartość jest wysyłana od razu po zwolnieniu klawisza. Dodatkowo aktualizowane jest pole tekstowe z wartością i wskaźnik procentowy.
- Ustawianie wartości zadanej przez wartość wpisaną do pola tekstowego. Wysyłanie wartości do regulatora następuje dopiero po wciśnięciu przycisku Wyślij. Aktualizowana jest wtedy wartość suwaka i wskaźnika procentowego.
- Modyfikowanie nastaw regulatora PID zaimplementowanego w regulatorze BLDC. Wysłanie wartości nastaw poszczególnych członów następuje po wciśnięciu przycisku Wyślij odpowiedniego dla danej grupy komponentów.
Sterowanie pracą jednostki pomiarowej
- Ustawianie wartości podświetlenia wyświetlacza LCD.
- Aktywowanie i dezaktywowanie komunikacji I2C jednostki pomiarowej z regulatorem.