PNIMNiPE_nr63 - Instytut Maszyn, Napędów i Pomiarów

advertisement
Nr 64
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych
Politechniki Wrocławskiej
Nr 64
Studia i Materiały
Nr 30
2010
Mikrokontroler ARM, silnik z magnesami trwałymi,
metody sterowania silnikami
Krzysztof P. DYRCZ*, Maciej FAŚCISZEWSKI
STANOWISKO DO BADANIA METOD STEROWANIA
SILNIKAMI Z MAGNESAMI TRWAŁYMI WYKORZYSTUJĄCE
MIKROKONTROLER ARM
W artykule przedstawiono koncepcję budowy stanowiska do badania metod sterowania silnikami
z magnesami trwałymi. Do budowy układu sterowania wykorzystano nowoczesny, wydajny
obliczeniowo mikrokontroler ARM, który umożliwia implementację wybranej metody sterowania w
rzeczywistym układzie laboratoryjnym. Układ sterowania współpracuje ze specjalnym
oprogramowaniem zainstalowanym na komputerze PC, umożliwiającym konfigurację stanowiska,
akwizycję wymaganych wielkości pomiarowych oraz wyświetlanie wybranych przebiegów
czasowych. Stanowisko wykonano w ramach magisterskiej pracy dyplomowej [1].
1. WSTĘP
W ostatnich latach obserwuje się dynamiczny rozwój metod sterowania silnikami
elektrycznymi. Jest to spowodowane rosnącym zapotrzebowaniem na nowoczesne,
regulowane napędy elektryczne, które muszą spełniać wysokie wymagania
eksploatacyjne stawiane przez użytkowników. W chwili obecnej, w technice
napędowej używane są różnego rodzaju silniki elektryczne, z których, jak się wydaje,
coraz chętniej stosowane są silniki z magnesami trwałymi, w różnych odmianach
konstrukcyjnych. Powodem większego zainteresowania tego rodzaju silnikami są z
pewnością takie cechy jak stosunkowo wysokie momenty elektromagnetyczne
wytwarzane przez silniki z magnesami trwałymi, duża przeciążalność, wysoka
niezawodność pracy, a także z pewnością, coraz korzystniejsza cena spowodowana
stosowaniem do ich budowy coraz tańszych i lepszych materiałów magnetycznych.
__________
* Politechnika Wrocławska, Instytut Maszyn, Napędów i Pomiarów Elektrycznych, ul.
Smoluchowskiego 19, 50-372 Wrocław.
2
W procesie opracowywania i testowania metod sterowania silnikami
elektrycznymi, po wykonaniu serii badań symulacyjnych pojawia się konieczność
wykonania badań laboratoryjnych, mających na celu sprawdzenie badanej metody
sterowania na obiekcie rzeczywistym. W związku z tym, istnieje konieczność
skonstruowania zestawu napędowego, który zapewni możliwość wykonania takich
badań. Ze względu na eksperymentalny charakter prowadzonych prac, stanowisko
takie powinno mieć przemyślaną budowę, umożliwiającą możliwie łatwą
rekonfigurację sprzętową.
W niniejszym artykule opisano prototypowe stanowisko laboratoryjne do badania
metod sterowania silnikami z magnesami trwałymi. Przyjęto modułową budowę
całego zestawu, umożliwiając swobodną konfigurację stanowiska w zależności od
badanych silników. W proponowanym rozwiązaniu zastosowano miniaturowe silniki
z magnesami trwałymi, w związku z tym skonstruowano także falownik o niewielkiej
mocy wyjściowej. Należy jednak zauważyć, że mikroprocesorowy sterownik układu
oraz główny program sterujący, uruchamiany na komputerze PC są niezależne od
wielkości sterowanych silników i umożliwiają, po odpowiedniej konfiguracji torów
pomiarowych i zastosowaniu falownika o wymaganej mocy wyjściowej sterowanie
praktycznie dowolnym silnikiem.
2. STANOWISKO LABORATORYJNE
2.1. BUDOWA STANOWISKA
Opisywane stanowisko laboratoryjne funkcjonalnie podzielono na dwie
współpracujące ze sobą części:
część informatyczną, składającą się z oprogramowania zarządzającego pracą
układu oraz służącego do wizualizacji wybranych zmiennych,
zainstalowanego na komputerze PC,
część mechaniczną, składającą się z mikroprocesorowego sterownika oraz
badanego układu napędowego.
W niniejszym rozdziale opisano część mechaniczną stanowiska laboratoryjnego,
natomiast oprogramowanie sterownika i komputera PC przedstawiono w rozdz. 3.
Wygląd części elektronicznej sterownika pokazano na rysunku 1.
Sterownik podzielony został na cztery współpracujące moduły:
moduł cyfrowy,
moduł analogowy,
moduł programatora,
moduł falownika.
3
Rys. 1. Budowa sterownika
Fig. 1. Structure of controller
2.2. MODUŁ CYFROWY
Moduł cyfrowy stanowi podstawowy element składowy opisywanego układu.
Zbudowany został przy użyciu mikrokontrolera STM32f103RET6 i został
zaprojektowany jako uniwersalny sterownik układów napędowych. Z tego powodu
wyposażony został m. in. w trójfazowe, komplementarne wyjście PWM, oraz cztery
wejścia analogowe, z czego trzy mogą być próbkowane równocześnie. Przewidziano
również możliwość podłączeniea enkodera inkrementalnego z wyjściami
różnicowymi, zasilanego napięciem 5V. Dodatkowo, moduł wyposażony jest w złącza
komunikacyjne interfejsów JTAG, UART oraz CAN.
Uproszczony schemat modułu cyfrowej sterownika przedstawiono na rysunku 2.
4
FT2232D
JTAG UART
PC
75173
STM32F103RET6
Enkoder
ANALOG
74LVC4245
3,3V
T
5
A
D
C
SPI
5V
PWM
oe
I/O PWM
5V
Falownik
3,3V
ATMEGA
16L
OR
Rys. 2. Budowa modułu cyfrowego
Fig. 2. Architecture of digital module
Podstawowym elementem modułu jest mikrokontroler STM32F103RET6 [4]. Na
płytce umieszczono również konwertery poziomów napięć 3,3V/5V oraz
mikrokontroler pomocniczy ATMEGA16L [5], obsługujący wejścia/wyjścia cyfrowe
oraz dodatkowe sygnały PWM. Architektura układu pozwala na zabezpieczenie części
mocy przez wyłączenie sygnału sterującego, przy czym źródłem sygnału błędu może
być sygnał błędu pochodzący z falownika, przekroczenie wielkości wartości
analogowej, oraz sygnał błędu z mikrokontrolera pomocniczego. Nadrzędny sygnał
błędu, generowany jako suma wyżej wymienionych, odczytywany jest na wejściu
asynchronicznego resetu timera opowiadającego za generację przebiegu PWM.
Dodatkowo mikrokontroler pomocniczy ma możliwość wyłączenia sygnału
sterującego przez kontrolę wejścia output enable bufora wyjściowego.
2.3. MODUŁ ANALOGOWY
Nowoczesne algorytmy sterowania układami napędowymi wymagają pomiaru
dostępnych zmiennych stanu silnika, przy czym minimalnym zestawem zmiennych
stanu są prądy oraz napięcia fazowe. Przetwornik analogowo-cyfrowy zastosowany w
prezentowanym układzie umożliwia jednoczesny pomiar trzech wielkości. Z tego
powodu zdecydowano, że podstawowymi wielkościami mierzonymi będą dwa prądy
fazowe oraz napięcie w obwodzie pośredniczącym falownika. Dzięki temu możliwe
5
jest odtworzenie trzeciego prądu fazowego silnika dla obciążeń połączonych w
gwiazdę oraz napięć fazowych na podstawie sekwencji załączeń kluczy. Schemat
toru pomiarowego prądu przedstawiono na rysunku 3.
U
C
Algorytm
U
U
U
C
A/C
Wzmacniacz
I
U
Rezystor
I
I
LEM
Rys. 3. Budowa analogowego toru przetwarzania
Fig. 3. Architecture of analog module
Do pomiaru prądu zastosowano przekładniki prądowe LA100P firmy LEM.
Prądowy sygnał wyjściowy zamieniany jest na sygnał napięciowy na rezystorze
pomiarowym i stanowi sygnał wejściowy dla wzmacniacza operacyjnego, który ma za
zadanie dopasowanie poziomu napięć mierzonych (przekładnik prądowy jest
bipolarny) do napięcia zakresu wejściowego przetwornika A/C (0..3.3V). Dodatkowo
zadaniem wzmacniacza jest skompensowanie offsetu przekładnika oraz błędu
wzmocnienia spowodowanego zastosowanym rezystorem.
Jako wzmacniacz operacyjny wykorzystano układ AD8130. Jest to szybki
wzmacniacz operacyjny z aktywnym sprzężeniem zwrotnym, tłumieniem sygnału
wejściowego mniejszym od 0.1dB w paśmie pracy układu do 24Mhz oraz szybkością
narostu napięcia równą ok. 1kV/µs. Częstotliwość odcięcia (-3dB) wzmacniacza
operacyjnego ustawiono filtrem RC na około 2MHz, w związku z tym ograniczenie
pasma części analogowej toru pomiarowego jest rezultatem ograniczenia pasma
przetwornika pomiarowego w celu osiągnięcia jak najmniejszego błędu fazy. Z tego
powodu pomiar prądu realizowany jest w środku czasu załączenia wektora zerowego
– wówczas prąd osiąga wartość średnią, oddaloną maksymalnie od przepięć
komutacyjnych. Dodatkowo w przetworniku A/C czas próbkowania jest ustawiony na
minimalny.
2.4. MODUŁ PROGRAMATORA
Moduł programatora umożliwia zmianę oprogramowania mikrokontrolera, dzięki
czemu możliwa jest implementacja różnych metod sterowania silnika. Programator
połączony jest z mikrokontrolerem za pomocą złącza JTAG, dzięki czemu możliwe
jest również debugowanie programu mikrokontrolera w czasie rzeczywistym.
6
2.5. MODUŁ FALOWNIKA
W proponowanym układzie zastosowano miniaturowy falownik napięcia
dostosowany do silników małej mocy, o konstrukcji typowego trójfazowego
falownika napięcia. Jako klucze zastosowano tranzystory MOSFET, ponadto falownik
wyposażono
w zabezpieczenie
przeciążeniowe
oraz
układ
separujący,
zabezpieczający wyjścia PWM mikrokontrolera w przypadku awarii falownika.
3. OPROGRAMOWANIE
3.1. WPROWADZENIE
Oprogramowanie sterownika zostało podzielone na dwie części: część sprzętową,
zaimplementowaną w głównym mikrokontrolerze sterującym (stanowiące pewnego
rodzaju firmware), oraz interfejs użytkownika zrealizowany na komputerze PC. Taki
podział oprogramowania zastosowano ze względu na optymalizację szybkości
wykonywania algorytmów sterowania, a także w celu uproszczenia akwizycji danych
pomiarowych, prezentacji wybranych przebiegów czasowych oraz uproszczenia
sposobu sterowania systemem.
3.2. OPROGRAMOWANIE SPRZĘTOWE
Oprogramowanie sprzętowe, zaimplementowane w mikrokontrolerze sterującym
zostało podzielone funkcjonalnie na trzy warstwy:
- warstwa pośrednicząca z układami wykonawczymi,
- warstwa implementacji algorytmów sterowania,
- warstwa główna, łącząca dwie wcześniej wymienione warstwy oraz
umożliwiająca komunikację z komputerem nadrzędnym PC.
Dzięki takiemu podziałowi uzyskano przejrzystą strukturę programu,
umożliwiającą stosunkowo łatwą zmianę oprogramowania w przypadku zmiany
struktury sterowania lub struktury sprzętowej układu: stworzono elastyczne
środowisko umożliwiające rozwój programu na zastosowanej platformie CORTEX
M3.
Główna struktura programu zawarta została w procedurze obsługi przerwania
zegara T5 mikrokontrolera. Jest ona wykonywana w każdym cyklu przebiegu PWM,
a obliczone wartości ładowane są do sprzętowego bufora. Następnie po wyzerowaniu
7
licznika, dzięki systemowi zdarzeń równolegle obliczone wcześniej wartości z bufora
sprzętowego przekazywane są do bloku modulatora szerokości impulsu SVM,
rozpoczynana jest konwersja oraz wywoływana jest ponownie funkcja obsługi
przerwania.
Należy zauważyć, że niektóre fragmenty oprogramowania są stałe (procedury
pomiaru, procedura generowania SVM), natomiast niektóre zależą od wybranej
metody sterowania.
Schemat blokowy obsługi przerwania przedstawiono na rysunku 4.
ISR(T5)
start
Funkcje
obliczeniowe
Konwersja
współrzędnych
Regulacja
Przeliczenie współrzędnych
Elementy programu zależne od
wybranej struktury sterowania
Analiza pomiarów
SVM
Koniec
Rys. 4. Schemat blokowy obsługi przerwania
Fig. 4. Diagram of interrupt service
Ze względu na współpracę oprogramowania sterownika z komputerem PC,
istotnym problemem jest sposób komunikacji pomiędzy urządzeniami. Do tego celu
zastosowano programowy moduł pcComm, który za pomocą portu UART
8
wykorzystującego sprzętowe sterowanie przepływem oraz dostęp do kontrolera DMA
umożliwia wymianę danych z prędkością transmisji dochodzącą do 4MBit/s.
Zastosowany algorytm, korzystając z funkcji z grupy PcCommSetVar umożliwia
sterowanie jedną z pięćdziesięciu zdefiniowanych zmiennych. Ze względu na
ograniczone pasmo możliwe jest przesłanie w czasie rzeczywistym maksymalnie
pięciu zmiennych, przy czym wyboru zestawu zmiennych przesyłanych do komputera
oraz dwóch zmiennych przekazywanych do przetwornika C/A można dokonać
wysyłając odpowiednią komendę z komputera PC z poziomu aplikacji zarządzającej.
Algorytm wyposażono w mechanizmy bezpieczeństwa umożliwiające zawieszenie
nadawania oraz awaryjne wyłączenie sterownika.
Schemat opisanego modułu komunikacji przedstawiono na rysunku 5.
5
50
C/A
Bufor
zmiennych
Bufor
nadawczy
Zmienne
Algorytm
Bufor
zapisu
DMA
Wybór
UART
Zmiennych
Komendy
Bufor
komend
DMA
Rys. 5. Budowa modułu komunikacji
Fig. 5. Architecture of communication module
3.3. INTERFEJS UŻYTKOWNIKA
Zaproponowany interfejs użytkownika zapewnia pełną kontrolę nad pracą
stanowiska laboratoryjnego, umożliwia wybór algorytmu sterowania a także
akwizycję danych pomiarowych i podgląd wybranych przebiegów czasowych.
Struktura oprogramowania jest złożona i składa się z kilku współpracujących ze sobą
modułów programowych.
Schemat blokowy programu pokazano na rysunku 6.
9
PC
CDC
Matlab
Ster. Sterowniki
Plik CSV
Serial Input
USB
USB/
UART
Profilic Windows
4MBit
IUP
GL_Plot
SPRZĘT
Skrypt
UserArray
LUA
OPEN GL
Rys. 6. Schemat blokowy interfejsu użytkownika
Fig. 6. User interface diagram
Program główny napisano w języku skryptowy LUA. Z programem głównym
współpracują biblioteki umożliwiające obsługę portu szeregowego oraz
umożliwiające tworzenie wykresów z wykorzystaniem przyśpieszonej sprzętowo
biblioteki graficznej OpenGL. Jako zestaw kontrolek, stanowiących podstawę
interfejsu użytkownika wykorzystano bibliotekę IUP. Dzięki takiemu podejściu
stworzono proste, uniwersalne środowisko przeznaczone do tworzenia szybkich,
lokalnych interfejsów współpracujących ze sprzętem w czasie rzeczywistym.
Wykorzystanie języka skryptowego LUA spowodowało, że złożona aplikacja składa
się jedynie z około 500 linii programowych.
Zaproponowany interfejs współpracujący ze sterownikiem pozwala na:
- jednoczesny podgląd pięciu zmiennych, przy czym cztery z nich grupowane
są parami i przedstawione za pomocą hodografu,
- zmianę stanu jednej z szesnastu zmiennych binarnych,
- wybór wyświetlanych oraz przesyłanych do przetwornika C/A zmiennych,
- ustawienie wartości sześciu zmiennych (np. prędkość zadana),
- ustawienie decymacji próbek,
- awaryjne zatrzymanie sterownika,
- zapis otrzymanych przebiegów do pliku CSV.
Wygląd okna graficznego interfejsu pokazano na rysunku 7.
10
Rys. 6. Wygląd okna interfejsu użytkownika
Fig. 6. User interface window
4. PRZYKŁAD ZASTOSOWANIA
Przedstawione w artykule stanowisko laboratoryjne wykorzystano do
przeprowadzenia przykładowych badań układu napędowego z miniaturowym
silnikiem z magnesami trwałymi stosowanym w napędach komputerowych twardych
dysków. Wygląd układu napędowego pokazano na rysunku 7.
Rys. 7. Testowany układ napędowy
Fig. 7. Tested electrical drive
11
Działanie przedstawionego układu napędowego przetestowano w typowej
strukturze sterowania polowo-zorientowanego przedstawionej na rysunku 8, przy
czym do estymacji zmiennych stanu zastosowano obserwator opisany w [2], [3].
dq
ωz
SVM
PI
PI
ω
Falownik
+
układ
napędowy
-
αβ
Θ
i
Θω
estymator
Pomiar
e, Θ, ω
αβ
u
Rys. 8. Struktura sterowania badanego silnika
Fig. 8. Control structure of tested machine
Na rysunku 9 pokazano przykładowe przebiegi prędkości uzyskane podczas
eksperymentu, natomiast na rysunku 10 pokazano hodograf prądu dla silnika
nieobciążonego i obciążonego momentem znamionowym.
6000
5000
n[obr/min]
4000
nest
3000
2000
nz
nm
1000
0
-1000
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
t[s]
Rys. 9. Przebiegi prędkości zadanej nz, mierzonej nm i estymowanej nest w badanym układzie
Fig. 9. Graph of reference nz, measured nm and estimated nest speed
12
1.5
Silnik obciążony
bieg jałowy
1
I [A]
0.5
0
-0.5
-1
-1.5
-1.5
-1
-0.5
0
I  [A]
0.5
1
1.5
Rys. 10. Hodograf składowych prądu i, i
Fig. 10. Hodograph of current component i, i
5. UWAGI
W
artykule przedstawiono koncepcję budowy uniwersalnego stanowiska
laboratoryjnego do badania metod sterowania silnikami z magnesami trwałymi.
Przyjęta modułowa budowa zestawu umożliwia stosunkowo łatwą zmianę
konfiguracji lub rozbudowę układu w zależności od badanego silnika, przy czym
zaprojektowany falownik napięcia umożliwia zasilanie silnika o prądach fazowych
nie przekraczających 5A. Ponieważ sterownik mikroprocesorowy wyposażony jest w
uniwersalne wyjścia PWM, w przypadku badania silnika o większych prądach
fazowych można wykorzystać je do sterowania falownikiem o mocy odpowiedniej do
badanego silnika, pamiętając o zastosowaniu odpowiednich układów pomiarowych
prądów i napięć zasilających silnik. W trakcie testów laboratoryjnych okazało się
także, że przyjęta koncepcja oprogramowania jest prawidłowa, zastosowane
rozwiązania
zapewniają
szybką
komunikację
pomiędzy
sterownikiem
mikroprocesorowym a komputerem PC umożliwiając akwizycję danych pomiarowych
i wykreślanie wybranych przebiegów w czasie rzeczywistym.
13
LITERATURA
[1] FAŚCISZEWSKI M., Sterowanie silnikiem PMSM z wykorzystaniem mikrokontrolera ARM.
Magisterska praca dyplomowa, Wrocław 2010,
[2] KOWALSKA-ORŁOWSKA T., Bezczujnikowe układy napędowe z silnikami indukcyjnymi. Oficyna
wydawnicza Politechniki Wrocławskiej. Wrocław 2003.
[3] ZAWIRSKI K., Sterowanie silnikiem synchronicznym o magnesach trwałych. Wydawnictwo
Politechniki Poznańskiej, Poznań 2005.
[4] STMicroelectronics, STM32F103xC/D/E, Ref. Manual, September 2009.
[5] ATMEL, 8-bit microcontroller with 16K Bytes In-System Programmable Flash, Ref. Manual, 2009
LABORATORY SET TO INVESTIGATION OF PERMANENT MAGNET MACHINE
CONTROL METHODS USING ARM MICROCONTROLLER
The conception of building of universal laboratory set to investigation of control methods of permanent magnet machine was presented. Thanks use of the modern, computationally effective ARM family
microcontroller, implementation of the chosen control method in the real laboratory set is possible. Control system co-operating with special installed on PC software enabling the controller configuration,
acquisition the required measuring variables and drawing chosen temporary diagrams.
Download