Sterownik trójfazowego falownika dla wielu silników wykorzystuje pojedynczy DSP

    Zwiększona moc obliczeniowa i możliwości urządzeń peryferyjnych mają na celu poszerzenie zastosowań silnika

    W wielu nowych projektach do sterowania silnikiem wykorzystuje się Cyfrowe Procesory Sygnałów (DSP), w celu dostarczenia mocy obliczeniowej do sterowania wektorem maszyn elektrycznych. Do tej pory powszechnie przyjęta zasada mówiła, że każdy falownik (inwertor) i silnik wymagają własnego sterownika DSP – ze względu na pokaźną ilość mocy obliczeniowej i urządzenia peryferyjne, które są potrzebne do sterowania wektorem. Obecnie zarówno moc obliczeniowa DSP, jak i właściwości urządzeń peryferyjnych umożliwiają sterowanie dwoma silnikami, a ich potencjał może obsłużyć nawet większą liczbę silników. Przegląd systemów sterowania podwójnych inwertorów trójfazowych, wykorzystujących pojedynczy sterownik DSP, pokazuje, w jaki sposób realizuje się to w praktyce. Ten przykład pokazuje kompletne wdrożenie systemu napędu, realizowanego przez podwójny silnik synchroniczny z magnesem trwałym (PMSM) razem z DSP, pełniącym rolę interfejsu.

    EKSPERYMENTALNY układ sprzętowy do sterowania dwoma silnikami PMSM przez pojedynczy DSP składa się z dwóch silników, dwóch płytek inwertorów i jednej tablicy rozdzielczej (TMS320F280eZdsp)

    Przełączenie maszyny elektrycznej ze sterowania skalarnego na wektorowe znacznie poprawia sprawność działania i przyczynia się do oszczędzania energii, pozwalając tym samym na używanie mniejszych i tańszych silników. Sterowanie wektorowe zarządza momentem obrotowym i prędkością silników poprzez generowanie odpowiednich wektorów magnetycznych. Ale wymaga to odpowiedniej mocy obliczeniowej w celu rozwiązania algorytmów niezbędnych dowygenerowania właściwych wielkości modulowanych szerokością impulsu (PWM) dla każdego silnika. Obecne aplikacje sterowania silnikiem zwykle wymagają mocy obliczeniowej od 20 do 25 MIPS dla pojedynczego inwertora. Dodatkowo sterowanie każdym inwertorem wymaga bloku osobnego interfejsu kodującego oraz sześciu wyjść PWM.

    Poprzednie metody

    Te surowe wymagania sprawiały, że każda aplikacja silnikowa musiała używać osobnego sterownika DSP. Nie stanowi to problemu dla aplikacji tylko z jednym silnikiem, ale może być uciążliwe i kosztowne w różnych aplikacjach wielosilnikowych. Typowe aplikacje wielosilnikowe to maszyny używane w przemyśle, nawiewy ciepłego powietrza, sprzęt klimatyzacyjny (HVAC), samochody i wiele innych. Przy mocy obliczeniowej od 100 do 150 MIPS, jaką mają dziś najbardziej zaawansowane sterowniki DSP, znacznie wzrastają możliwości zastosowania pojedynczego DSP do sterowania wieloma silnikami. W rzeczywistości, sterowniki DSP zostały opracowane z myślą o właśnie takim zastosowaniu razem z wieloma interfejsami kodującymi i z dużą liczbą wyjść PWM.

    Ciągły rozwój sterowników DSP, wprowadzany przez producentów skupiających się na zwiększeniu ich szybkości i mocy obliczeniowej jest pozytywnym zjawiskiem. Szybsze i wyposażone w dużą moc obliczeniową sterowniki DSP pozwalają użytkownikom systemów napędowych na ciągłe ulepszanie komponentów napędu i osiągów systemu. Sterownik DSP, który może kontrolować jednocześnie więcej niż jeden silnik, będzie użyteczny na rynku sterowników silników, ale nie we wszystkich aplikacjach.

    Aplikacje o dużej mocy, takie jak HVAC i samochodowe (zastosowanie w pojazdach), to już zupełnie inna sprawa. Do tych zastosowań świetnie będą pasowały nowe sterowniki DSP, produkcji Texas Instruments, przeznaczone dla wielu inwertorów.

    George Gulalo,

    prezes Motion Tech Trends

     

     

    Wzrastające możliwości krzemu w formie potężniejszych sterowników DSP przyczyniają się do kontynuacji trendu, dającego użytkownikowi więcej – w zamian za mniej – w sterowaniu napędem. Wielu konstruktorów maszyn używa kilku silników, a te nowe możliwości jeszcze bardziej upraszczają instalację i zmniejszają jej koszty.

    Dan Jones, prezes Incremotion

     

    Opis urządzeń

    Urządzenia do sterowania dwoma silnikami zawierają dwa trójfazowe silniki PMSM, z których każdy zasilany jest ze źródła prądu trójfazowego i z inwertora PWM z pojedynczym sterownikiem DSP (Texas Instruments TMS320F2808), niezależnie sterującym dwoma inwertorami. Chipowy konwerter analogowo- cyfrowy rejestruje prądy fazowe, informacje o napięciu prądu stałego na magistrali, a także inne dane, napływające z obu inwertorów. Moduły kodujące interfejsu w sterowniku DSP przyjmują sprzężenie zwrotne kodera. Urządzenia peryferyjne elektroniki zasilania, bazujące na układach chipowych, dostarczają elastycznego interfejsu z inwertorami, przyczyniając się w taki sposób do uproszczenia projektu całego systemu.

    Aby wygenerować odpowiednie sygnały dla dwóch falowników trójfazowego napięcia ze źródła zasilania, urządzenia używają sześciu wyjść PWM. Kanały PWM pracują z częstotliwością 20 kHz dla funkcji inwertora, uwzględniając porównywanie wartości dla bloków PWM, aktualizowane dla każdego cyklu PWM. Tablica rozdzielcza DSP (TMS320F280eZdsp) służy jako główna platforma sterownicza. Komutowane sinusoidalnie silniki prądu trójfazowego z magnesami trwałymi (Applied Motion A0100-103-3-000) mają osiem biegunów i używają liniowego kodera 2k. Zainstalowane na chipie DSP interfejsy koderów impulsów kwadraturowych (QEP) stanowią połączenie z każdym koderem silnika.

    Rozwój oprogramowania

    Oprogramowanie napisane na bazie modułów w języku C umożliwia przyszły rozwój razem z podprogramami obsługi przerwań (ISR), sterującymi aplikacją. Pętla podstawowa, działająca w tle i zawierająca zasadniczy człon programu, obsługuje urządzenia peryferyjne, łącznie z pętlą blokady fazowej (PLL), układem alarmowym, kontrolą przerwań i segmentem zarządzania wydarzeniami. Pozostała część programu zawiera PWM-ISR. Osobne dla każdego silnika przerwania systemowe, oparte na podstawie czasu, wywołują ISR podczas każdego cyklu PWM.

    Niezależne sterowanie dwóch trójfazowych silników PMSM wymaga wprowadzenia dwóch zestawów algorytmów sterowania polem. Wszystkie obliczenia dla obydwu silników są wykonywane podczas każdego cyklu PWM metodą cykl-po-cyklu z wykorzystaniem wielu bloków programowych. To jasno opisuje wejścia i wyjścia każdego bloku, pozwalając na powtórne wykorzystanie w różnych systemach. Wszystkie obliczenia oparte są na matematyce stałoprzecinkowej, obniżając w ten sposób wymagania dotyczące mocy obliczeniowej.

    Algorytmy sterowania silnikiem

    Dobrze znana transformacja Clarke-Parka sterowania zorientowanego na pole (FOC) przekształca trójfazowe wektory prądu z trójwymiarowego i stacjonarnego zapisu odniesienia na dwuwymiarowy zapis rotacyjny. Osobne regulatory proporcjonalnocałkująco- różniczkujące (PID) przetwarzają wynikowe składniki do układu współrzędnych prostokątnych. Schemat przełączania PWM przekształca informacje wyjściowe z regulatorów PID z powrotem na trójwymiarową, stacjonarną płaszczyznę odniesienia przy zastosowaniu sprzężenia zwrotnego kodera do obliczenia kąta upływu.

    Blok regulatorów PID steruje cyklem roboczym PWM, który z kolei reguluje napięcie dostarczane do silników. Blok QEP przyjmuje impuls kwadratowy – sygnał wyjściowy optycznego kodera, przyłączonego do wału silnika. Następnie blok QEP oblicza pozycję twornika i prędkość obrotową.

    Używając opisanych powyżej algorytmów, regulator PID przelicza wartość porównawczą z rejestru, aby zainicjować działaniew trybie  prędkości zmiennej. Całkowity algorytm realizowany jest przy częstotliwości 20 kHz, przy aktualizacji obciążenia PWM podczas każdego cyklu PWM. Powtórzenie tego ustawienia dla drugiego silnika zapewnia całkowicie niezależne sterowanie napędu dwusilnikowego przez pojedynczy sterownik DSP.

    Algorytm stałoprzecinkowy: rozwój

    Specjalna biblioteka matematyki stałoprzecinkowej, o nazwie IQMATH, optymalizuje funkcjonowanie algorytmu w urządzeniach DSP i w kompilatorze. IQMATH składa się z zestawu wysoko zoptymalizowanych funkcji matematycznych, cechujących się też wysoką precyzją, dla języka C/C++, zaprojektowanych dla płynnej integracji i przejścia z algorytmów zmiennoprzecinkowych na kod stałoprzecinkowy, stosowany w sterownikach DSP. Procedury IQMATH umożliwiają tworzenie programów w formacie stałoprzecinkowym tak, jakby były one w formacie zmiennoprzecinkowym. Te procedury zarządzają także nasyceniem i przekroczeniem zakresu, co mogłoby być

    istotnym problemem, spotykanym w programowaniu  stałoprzecinkowym. Dodatkowo procedury IQMATH działają w intensywnych obliczeniowo aplikacjach czasu rzeczywistego, wymagających znacznej szybkości wykonywania i dokładności.

    Definicje stosowane w modułach programowych powstały jako określony typ danych. Dzięki temu możliwe jest powtórne używanie modułów oprogramowania wiele razy przez wstawianie obiektu modułowego tyle razy, ile trzeba, aby wdrożyć całkowity system. Dla wdrożenia napędu dwoma silnikami wszystkie wymagane moduły były wstawiane dwukrotnie przez proste zadeklarowanie danych odpowiedniego typu. Wprowadzenie podwójnych algorytmów zajęło około 4 KB objętości programu i 0,5 KB przestrzeni danych poza dostępnymi 63 KB pamięci Flash i 18 KB pamięci RAM.

    Zarządzanie błędami stanowi istotny problem w sterownikach wielu inwertorów. Tradycyjne sterowniki DSP, obsługujące pojedynczy inwertor, mają normalnie pojedynczy system zarządzania błędami, który

    wyłącza sterownik po odbiorze sygnału błędu. Sterowniki wielu inwertorów mogą zostać skonfigurowane dedykowanymi stykami, aby otrzymywać sygnał o wykryciu błędu z każdego silnika. Na przykład sześć styków może zostać podłączone do czujników przepięcia, przeciążenia i podwyższonej temperatury dla każdego z dwóch silników. Trzy styki dla pojedynczego silnika połączone są z blokiem OR, który generuje przerwanie, wyłączające PWM, skojarzony z tym silnikiem, jeżeli którykolwiek ze styków przechodzi ze stanu niskiego do wysokiego lub z wysokiego do niskiego.

    Algorytm stałoprzecinkowy: wyniki eksperymentalne

    Rozwój oprogramowania dla napędu dwusilnikowego przebiegał w poszczególnych etapach i w ten sposób znacznie zmniejszył się czas potrzebny na oczyszczenie oprogramowania z błędów (debugging). Podczas tego przyrostowego tworzenia programu sprawdzano kilka bloków programowych jednocześnie i dopiero po zakończeniu tego etapu twórcy przechodzili do budowy kolejnych bloków. W końcowym wyniku z

    powodzeniem uzyskano niezależne sterowanie każdego napędu. Przy zapotrzebowaniu na szybkość przetwarzania danych (MIPS), znacznie mniejszym niż dostępne 100 MIPS sterownika DSP, pozostałą i niewykorzystaną przepustowość można było z łatwością użyć do zapewnienia dodatkowych cech funkcjonalnych.

    Korzyści płynące z wektorowego sterowania silnika PMSM są dobrze znane. Jednakże tradycyjne sterowniki dostarczają tylko wystarczającej przepustowości wraz z peryferiami zbudowanymi na układach chipowych, aby zapewnić sterowanie o wysokich parametrach dla pojedynczego napędu. Z drugiej jednak strony, zapewnienie osobnego sterowania dla każdego silnika zwiększa koszty systemu jako całości. Najnowsza generacja sterowników DSP przekłada aspekt finansowy na dostarczenie mocy obliczeniowej, wiele interfejsów kodowych i zwielokrotnienie sygnałów wyjściowych z PWM, niezbędnych do sterowania dwoma lub nawet większą liczbą silników. Integracja rdzenia DSP z niezbędnymi urządzeniami peryferyjnymi przyczynia się do uproszczenia procesu projektowania i zapewnia możliwości wprowadzenia opcji dla dodatkowych cech użytkowych napędów. Jeden sterownik DSP, zdolny do kontrolowania do czterech trójfazowych inwertorów zasilania, jest w stanie znacząco zmniejszyć koszty i wymagania dotyczące niezbędnej przestrzeni dla maszyn i urządzeń transportowych, wykorzystujących wiele silników.


     Arefeen Mohammed jest specjalistą

    w zakresie aplikacji systemowych z użyciem

    cyfrowego procesora sygnałów C2000

    (Texas Instruments). Można się

    z nim skontaktować pod adresem

    controlanswers@ti.com

    Autor: AREFEEN MOHAMMED, specjalista aplikakcji systemowych w Texas Instruments