Professional Documents
Culture Documents
1. Wstęp _______________________________________________________ 5
5 Przeprowadzone badania_________________________________________ 48
3
Streszczenie
Tytuł: Implementacja podstawowych algorytmów sterowania silnikiem indukcyjnym.
Praca skupia się na implementacji oraz opisie 2 metod rozruchu silnika indukcyjnego i
metody modulacji z dodaniem trzeciej harmonicznej, na mikrokontrolerze STM32F411 oraz na
opisie teoretycznym zorientowanego polowo sterowania silnikiem indukcyjnym. Pod uwagę
zostały wzięte również przebiegi elektryczne, generowane podczas testowania metod na 2
różnych silnikach. Oprócz omówienia poszczególnych metod, praca objęła również opis silnika
asynchronicznego czy pośredniego przemiennika częstotliwości.
Abstract
My thesis focuses on the implementation and description for 2 basic methods of starting
an induction motor as well as on the modulation with injection of the third harmonic. The
application is based on STM32F411 microchip. My work also describes the field oriented
control of the induction motor. In addition to this, electrical waveforms generated by
implemented methods on 2 different induction motors are characterized. What is more, the
thesis includes a description of the asynchronous motor and the frequency converter.
4
1. Wstęp
1.1 Wprowadzenie
Wybór tematu pracy przede wszystkim podyktowany był chęcią zgłębienia wiedzy
zakresu silników, energoelektroniki oraz programowania systemów wbudowanych. Temat
pozwala na stworzenie programu i zastosowaniu go na rzeczywistym obiekcie, a takie
doświadczenie może być bardzo przydatne w późniejszym życiu zawodowym. Innym
powodem jest wspomniana wcześniej popularność silników indukcyjnych. Praca dotyczy
tematu, który jest bardzo ważny z punktu widzenia przemysłu, a zatem może odpowiedzieć
na istotne problemy z którymi spotyka się ta dziedzina.
5
1.2 Cel i założenia projektu
6
1.3.1.2 Budowa silnika indukcyjnego
7
Rysunek 2 Schemat ideowy budowy wirnika pierścieniowego [6]
8
1.3.1.3 Zasada działania silnika indukcyjnego trójfazowego
𝑛1 − 𝑛
𝑠=
𝑛1
Gdzie:
s – poślizg
n1 – prędkość synchroniczna
n – prędkość wirnika
𝑀 2
= 𝑠 𝑠
𝑀𝑚𝑎𝑥 𝑘
𝑠𝑘 + 𝑠
Gdzie:
9
𝑀 – Moment na wale silnika
𝑀𝑚𝑎𝑥 – Moment krytyczny
𝑠 – Poślizg
𝑠𝑘 – Poślizg krytyczny
11
1.3.1.5 Silnik używany w projekcie
W pracy zostały użyte 2 silniki indukcyjne. Pierwszy to silnik SZJe 24a, w dalszej części
pracy, nazywany będzie silnikiem A. Jego parametry znamionowe to:
Drugim silnikiem jest model s371-26, w następnych rozdziałach, nazywany silnikiem B. Jego
parametry znamionowe to:
W obu przypadkach pierwsza wartość napięcia i prądu dotyczy połączenia uzwojeń stojana w
trójkąt, a druga – w gwiazdę.
12
Rysunek 8 Ideowy schemat elektryczny przemiennika częstotliwości [8]
Jak widać, cały układ, składa się z trzech części – prostownika 6D lub 6T, układu
pośredniczącego oraz falownika 3-fazowego.
W pierwszej części układu wyróżnia się 2 warianty. W pierwszym prostownik zwany jest
prostownikiem niesterowanym i nie jest możliwe sterowanie wartością napięcia wyjściowego,
natomiast w drugim – sterowanym, czyli składającym się na ogół z tyrystorów. Sterując kątem
wyzwalania tyrystorów, możliwa jest regulacja wartości napięcia wyjściowego.
Drugą częścią jest układ pośredniczący, który jest filtrem LC. Eliminuje on tętnienia
napięcia oraz prądu, powstałe w wyniku działania prostownika.
Trzecią częścią układu jest 3-fazowy falownik mostkowy. Topologia takiego falownika
wygląda następująco:
13
1.3.2.2 Kształtowanie napięcia w falowniku
z zależności:
𝑢𝐴 2 −1 −1 𝑢𝐴𝑀
𝑢
[ 𝐵 ] = [−1 2 −1 ] ∗ 𝑢
[ 𝐵𝑀 ]
𝑢𝐶 −1 −1 2 𝑢𝐶𝑀
𝑢𝐴𝐵 1 −1 0 𝑆𝑎
𝑢
[ 𝐵𝐶 ] = 𝑈𝑑 [ 0 1 −1 ] ∗ [𝑆𝑏 ]
𝑢𝐶𝐴 −1 0 1 𝑆𝑐
14
Falownik można także opisać za pomocą tzw. zespolonych wektorów przestrzennych.
Wszystkie trzy składowe fazowych napięć odbiornika w 3-osiowym układzie współrzędnych
można przedstawić jako jeden wypadkowy wektor na płaszczyźnie zespolonej za pomocą
przekształcenia:
2 2π 4π
̅=
𝑈 (𝑈𝐴 + 𝑈𝐵 𝑒 𝑗 3 + 𝑈𝑐 𝑒 𝑗 3 )
3
Na powyższym rysunku wskaz U0 wygenerowany jest dla wartości Sa, Sb, Sc równych
kolejno 0 0 0, U1 dla 1 1 0, U2 dla 0 1 0, U3 dla 0 1 1, U4 dla 0 0 1, U5 dla 1 0 1, U6 dla 1 1 0,
U7 dla 1 1 1. Wskazy U0 oraz U7 nie są widoczne na grafice, gdyż są wektorami zerowym –
czyli o zerowej długości.
15
Rysunek 11 Przebiegi napięć w falowniku [11]
Jest to przykład modulacji jednopulsowej, gdyż w całym półokresie napięcie jest kształtowane
z pojedynczego pulsu prostokątnego. Wadą takiego sterowania jest fakt, że sygnał wyjściowy
zawiera dużo wyższych harmonicznych, co skutkować może przeciążeniem sieci zasilającej,
przeciążeniem przewodu neutralnego, czy przedwczesnym starzeniem się izolacji.
W celu zniwelowania tego problemu stosuje się szereg innych metod sterujących
tranzystorami. Jedną z tych metod jest metoda modulacji SPWM (sinusoidal pulse width
modulation), która jest przykładem sterowanie wielopulsowego. Oznacza to, że napięcie w
półokresie kształtowane będzie z wielu pulsów prostokątnych. Polega ona na porównywaniu
przez mikroprocesor sygnału trójkątnego/piłokształtnego z 3 sygnałami sinusoidalnym
przesuniętymi od siebie o 120º.
16
Rysunek 12 Modulacja sinusoidalna PWM [10]
17
Rysunek 13 Schemat blokowy modulacji sinusoidalnej PWM [12]
18
Rysunek 14 Przebiegi modulujące w modulacji THIPWM
19
1.3.3 Platforma do programowania
1.3.3.1 Płytka ewaluacyjna Discovery
20
Specjalne układy pozwalające na wyłączenie generowanego sygnału PWM (ustawienia
na wyjściach sterujących tranzystorami stanu niskiego), za pomocą sygnału
zewnętrznego, jak i również wewnętrznego.
19 multipleksowanych kanałów przetwornika ADC z maksymalną rozdzielczością 12
bitów.
Kontroler przerwań NVIC.
Wszystkie opisane powyżej cechy wraz z możliwością używania bibliotek HAL, oraz programu
STM32CubeMX sprawiają, że wykorzystana przeze mnie platforma bardzo dobrze nadaje się
do sterowania maszynami elektrycznymi.
1.3.3.2 Oprogramowanie
21
bibliotek HAL, zawierających funkcje obsługujące wszystkie układy wewnętrzne procesora
STM32F411VET6.
22
2 Sterowanie silnikiem indukcyjnym
1 0 0 𝐷𝑎
𝐷𝛼
[𝐷 ] = [ √3 √3] ∗ [𝐷𝑏 ]
𝛽 0 − 𝐷𝑐
3 3
1 0
𝐷𝑎 1 √3
− 𝐷𝛼
[𝐷𝑏 ] = 2 3 ∗ [𝐷 ]
𝛽
𝐷𝑐 1 √3
[− 2 − 3 ]
23
Oznaczenia:
𝐷𝛼 , 𝐷𝛽 – składowe wektora w kartezjańskim układzie współrzędnych
𝐷𝑎 , 𝐷𝑏 , 𝐷𝑐 – składowe wektora w 3-osiowym układzie współrzędnych
24
Rysunek 20 Graficzna interpretacja transformacji Parka [7]
𝐷1 𝑐𝑜𝑠𝜽 𝑠𝑖𝑛𝜽 𝐷𝛼
[ ]= [ ] ∗ [𝐷 ]
𝐷2 −𝑠𝑖𝑛𝜽 𝑐𝑜𝑠𝜽 𝛽
Operacja ta również może zostać wykonana w drugą stronę, a zatem może służyć również do
przedstawienia wektora znajdującego się w wirującym układzie współrzędnych, przy pomocy
niewirującego układu współrzędnych.
Odwrotna transformacja Parka w postaci macierzowej:
𝐷𝛼 𝑐𝑜𝑠𝜽 −𝑠𝑖𝑛𝜽 𝐷
[𝐷 ] = [ ] ∗ [ 1]
𝛽 𝑠𝑖𝑛𝜽 𝑐𝑜𝑠𝜽 𝐷2
25
Rysunek 21 Podział metod sterowania silnikiem indukcyjnym [7]
26
Rysunek 22 Przykładowa charakterystyka sterowania silnikiem indukcyjnym
Jak widać, stosunek U/f jest stały w zakresie napięć mniejszych bądź równych napięciu
nominalnemu. Jeśli potrzebne jest uzyskanie prędkości większej niż nominalna to podwyższa
się tylko częstotliwość napięcia zasilania. Wynika to z faktu, że podanie napięcia większego
niż nominalnie na silnik, mogłoby skutkować jego uszkodzeniem. Przy stosowaniu takiej
charakterystyki sterowania, charakterystyki mechaniczne silnika indukcyjnego dla różnych
napięć i częstotliwości zasilania wyglądają następująco:
Sterując silnikiem tak, aby uzyskać prędkość wyższą niż nominalna (podwyższać
jedynie częstotliwość), zmniejsza się moment krytyczny maszyny. Przy zadawaniu prędkości
niższej od nominalnej, zachowujemy stały stosunek U/f, a zatem moment krytyczny pozostaje
stały.
Innym układem sterowania skalarnego jest układ soft-start. Układ ten wykorzystywany
jest do rozruchu silnika indukcyjnego. Polega on na stopniowym zwiększaniu napięcia
27
zasilającego silnik przy zachowaniu stałej częstotliwości. Aby rozważyć wpływ zmieniania
amplitudy napięcia zasilania silnika indukcyjnego na jego właściwości, należy przeanalizować
jego charakterystyki mechaniczne dla różnych wartości napięć.
Ważnym wnioskiem jest fakt, że zmniejszanie samej amplitudy napięcia zasilania silnika
znacząco zmniejsza moment krytyczny maszyny. Oznacza to, że podczas rozruchu
wykonanego przy użyciu układu soft-start, maszyna charakteryzuje się bardzo małym
momentem krytycznym. Z tego względu układu typu soft-start nie nadają się do urządzeń
wymagających dużego momentu rozruchowego. Jego zaletą natomiast jest brak konieczności
używania kosztownych falowników.
Drugą grupą metod sterowania są metody wektorowe. Do grupy tych metod należą
sterowanie FOC (zorientowane polowo), oraz DTC (z bezpośrednim sterowaniem momentem).
Stosując wektorowe metody sterowania, silnik indukcyjny analizuje się za pomocą
wektorowych równań obwodu elektromagnetycznego oraz równań ruchu:
Równania obwodu elektromagnetycznego:
𝑑
𝑢̅𝑠 = 𝑟𝑠 𝑖̅𝑠 + 𝑇𝑁 ̅ + 𝑗ω𝑘 𝛹
𝛹 ̅𝑠
𝑑𝑡 𝑠
𝑑
𝑢̅𝑟 = 𝑟𝑟 𝑖̅𝑟 + 𝑇𝑁 ̅ + 𝑗(ω𝑘 − ω𝑚 )𝛹
𝛹 ̅𝑟
𝑑𝑡 𝑟
̅𝑠 = 𝑥𝑠 𝑖̅𝑠 + 𝑥𝑀 𝑖̅𝑟
𝛹
̅𝑟 = 𝑥𝑟 𝑖̅𝑟 + 𝑥𝑀 𝑖̅𝑠
𝛹
28
Równania ruchu:
̅𝑠 × 𝑖̅𝑠 |𝑠𝑔𝑛{𝛹
𝑚𝑒 = |𝛹 ̅𝑠 × 𝑖̅𝑠 } = 𝐼𝑚{𝛹
̅𝑠 𝑖̅𝑠 }
𝑑ω𝑚 1
= (𝑚 − 𝑚0 )
𝑑𝑡 𝑇𝑀
Gdzie:
1
𝑇𝑁 = 2𝜋𝑓
𝑛
Oznaczenia:
𝑢̅𝑠 , 𝑢̅𝑟 – wektor napięcia skojarzonego kolejno ze stojanem i z wirnikiem
𝑖̅𝑠 , 𝑖̅𝑟 – wektor prądu skojarzonego kolejno ze stojanem i z wirnikiem
̅𝑠 , 𝛹
𝛹 ̅𝑟 – wektor strumienia magnetycznego skojarzonego kolejno ze stojanem i z
wirnikiem
𝑟𝑠 , 𝑟𝑟 – rezystancja zastępcza uzwojeń kolejno stojana i wirnika
𝑥𝑠 , 𝑥𝑟 , 𝑥𝑚 – kolejno indukcyjność uzwojeń stojana, wirnika i indukcyjność magnesująca
ω𝑘 , ω𝑚 – prędkość synchroniczna oraz prędkość kątowa wirnika
m𝑒 , 𝑚0 – moment elektromagnetyczny generowany przez maszynę oraz moment
obciążenia
T𝑀 , 𝑓𝑁 – mechaniczna stała czasowa i nominalna częstotliwość zasilania
29
Rysunek 25 Idea sterowania FOC wyrażona w kartezjańskim układzie współrzędnych [7]
Gdzie:
𝑇𝑟 – stała czasowa wirnika
30
względu na sposób uzyskania kąta obrotu wirującego układu współrzędnych, sterowanie można
podzielić na 2 warianty. Pierwszy to wariant bezpośredni, w którym kąt jest mierzony lub
odtwarzany ze składowych wektora strumienia w stacjonarnym układzie α, β. W drugim
wariancie wektor jest wyznaczany poprzez całkowanie pulsacji poślizgu. Schematy blokowe
przedstawiające oba warianty sterowanie pokazane są poniżej:
a) wariant bezpośredni
b) wariant pośredni
31
3 Inicjalizacja urządzeń
htim1.Instance = TIM1;
htim1.Init.Prescaler = 0;
htim1.Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED1;
htim1.Init.Period = 4800;
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim1.Init.RepetitionCounter = 0;
Timer ustawiony jest w tryb „center aligned” (przy pomocy pola strukturalnego
Init.CounterMode), co oznacza, że zlicza on najpierw w górę aż do wartości rejestru
określającego przepełnienie, a następnie w dół do 0. W ten sposób timer generuje symetryczny
sygnał trójkątny. Timer1 jest taktowany poprzez magistralę APB2, na której ustawiona jest
częstotliwość taktowania 96 MHz. Po ustawieniu preskalera i wewnętrznego dzielnika timera
na 0 (pole strukturalne Init.Prescaler oraz Init.ClockDivision) oraz wartości rejestru
przepełnienia na 960 (pole strukturalne Init.Period), okres sygnału trójkątnego wynosi 100
µs. Okres sygnału trójkątnego generowanego przez PWM, można wyznaczyć ze wzoru:
Gdzie:
𝑃𝑟𝑒 – wartość preskalera
𝐴𝑅𝑅 – wartość rejestru przepełnienia
𝐶𝐷 – wartość rejestru wewnętrznego dzielnika timera
32
𝑓𝑐𝑙𝑘 – częstotliwość taktowania na magistrali timera
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 0;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
Pole struktury o nazwie Pulse określa wartość, z którą porównywany jest sygnał trójkątny
(wartość jest wpisywana do rejestru CCR). Wartość ta w każdym kanale została ustawiona na
0, gdyż w trakcie wykonywania programu będzie ona cyklicznie zmieniana. Pozostałe pola
pozwalają na konfigurację stanów logicznych wyjścia, po przekroczeniu wartości wpisanej do
pola Pulse. Taka konfiguracja oznacza, że na kanałach wyjściowych OCx licznika stan wysoki
utrzymywany jest, dopóki timer, licząc w górę, nie osiągnie wartości wpisanej do rejestru CCR.
Następnie stan niski utrzymywany jest dopóki licznik, licząc w dół, znowu nie osiągnie wartość
wpisanej do rejestru CCR. Oznacza to, że wzrost wartości wpisanej do CCR zwiększa
wypełnienie sygnału na wyjściu kanałów. Wyjścia komplementarne OCNx utrzymują stan
przeciwny do wyjść OCx.
33
Rysunek 29 Idea generowania sygnałów PWM [18]
htim2.Instance = TIM2;
htim2.Init.Prescaler = 0;
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
htim2.Init.Period = 4800;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
Timer2 ustawiony jest w tryb liczenia w górę, a zatem generuje on przebieg piłokształtny.
34
Rysunek 30 Tryb liczenia Timera2 [18]
Aby obliczyć okres takiego sygnału należy tym razem wykorzystać następujący wzór:
Jako że Timer2 jest umieszczone na magistrali APB1, na której częstotliwość taktowania zegara
wynosi 48 MHz, to aby uzyskać okres wynoszący 100 µs, wystarczyło ustawić rejestr
przepełnienia na wartość 4800.
GPIO_InitStruct.Pin = WeB_Pin|ResetFalownika_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
35
Piny zostały ustawione w trybie push-pull. Oznacza to, że może na nich pojawić się tylko stan
wysoki albo niski. Wartość wpisana do pola Pull, oznacza że nie został podciągnięty ani do
napięcia zasilania, ani do masy. Stan wyjścia ResetFalownika zależy od jednego z wejść,
wyjście WeB jest ustawione w stan wysoki, gdyż w stanie niskim nie pozwala na kluczowanie
tranzystorów.
GPIO_InitStruct.Pin = Stop_Pin|Start_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
Lub
36
Trzeci pin wejściowy jest skonfigurowany identycznie jak 2 omówione poprzednio i różni się
jedynie funkcjonalnością. Służy on do wysłania impulsu na wejście falownika resetujące go.
Jest to konieczne, aby uruchomić falownik po dostarczeniu do niego zasilania.
Aby nie dopuścić do zwarcia gałęzi falownika, ustawiony został dead time, czyli czas
pomiędzy wprowadzeniem w stan nieprzewodzenia jednego z tranzystorów, a wprowadzeniem
w stan przewodzenia komplementarnego mu tranzystora.
sBreakDeadTimeConfig.DeadTime = 100;
𝐴𝑅𝑅 ∗ 𝑡𝑖
𝐶 = 𝐴𝑅𝑅 −
𝑇𝑃𝑊𝑀
Gdzie:
𝐶 – Szukana wartość, którą należy wpisać do rejestru CCRx, aby uzyskać oczekiwany
czas impulsu
𝑡𝑖 – Oczekiwany czas impulsu
37
𝑇𝑃𝑊𝑀 – Okres sygnału PWM
Dla znanej konfiguracji Timera1 wartość ta wynosi 4704 dla 2 µs oraz 96 dla 98 µs.
b) Przycisk „Stop” lub „Start” naciśnięty w momencie, gdy impuls jest krótszy niż 2 µs.
Aby wyeliminować ten problem komenda Stop lub Start wykonywana jest tylko
wtedy, gdy licznik Timera1 zrówna się z wartością wpisaną do rejestru ARR lub z
zerem. Z tego względu sygnał PWM, po wciśnięciu przycisku, zatrzymywany i
uruchamiany jest zawsze w połowie sygnałów wyjściowych. Oznacza to, że najkrótszy
możliwy sygnał wygenerowany po wciśnięciu przycisku Stop/Start będzie wynosić 1
µs. Niemniej jednak w zdecydowanej większości przypadków będzie to sygnał dłuższy
niż 2 µs.
Jest to pin, służący do sprzętowego wyłączenia sygnału PWM. Podanie na BKIN stanu
wysokiego skutkuje natychmiastowym wprowadzeniem wyjść PWM w stan niski. Widać
zatem, że ta funkcjonalność nie uwzględnia minimalnego czasu podawanego na bramkę
tranzystora i dlatego powinna być używana tylko w sytuacjach awaryjnych.
38
4 Implementacja algorytmów w programie
v = 0.0001*velocity;
alfa_r = alfa_r + v;
39
if (alfa_r > 360 - v)
{
alfa_r = v - (360 - alfa_r);
}
TIM1->CCR1 = comp_a;
TIM1->CCR2 = comp_b;
TIM1->CCR3 = comp_c;
}
Polega to na tym, że tworzony jest wektor napięcia, o współrzędnych Dx i Dy w 2 -osiowym
układzie współrzędnych. Zakłada się, że wektor i układ wspólnie wirują z tą samą, zadaną
prędkością obrotową określoną przez parametr velocity i dlatego względem siebie pozostają
nieruchome. Za pomocą odwrotnej transformacji Parka wektor wyrażony w wirującym
układzie współrzędnych przekształcony zostaje w wektor wyrażony w nieruchomym układzie,
a zatem wiruje względem niego. Aby wektor mógł krążyć względem stacjonarnego układu
współrzędnych, należy do funkcji InvertParkTransform przekazywać kąt, który jest tworzony
przez wektor i oś odciętych nieruchomego układu współrzędnych. Kąt ten jest zmienną, której
szybkość zmian liniowo zależy od prędkości ω1. Można zatem powiedzieć, że kąt obrotu
wektora jest całką z prędkości obrotowej wektora. Zostaje to zapisane za pomocą następującego
wyrażenia:
v = 0.0001*velocity;
alfa_r = alfa_r + v;
Współczynnik 0,0001 przez który przemnażany jest parametr velocity wynika z tego, że
funkcja wywoływana jest co 100 µs (przerwanie od Timera2) i w ciągu jednej sekundy zostanie
wywołana 10000 razy. Umożliwia to podanie do funkcji prędkości obrotowej wektora w
jednostce stopni na sekundę. Następnie przy użyciu odwrotnej transformacji Clarka, wektor ten
zostaje wyrażony w trójosiowym układzie współrzędnych. Współrzędne osiowe Da, Db i Dc
powstałego wektora, w dziedzinie czasu są 3 sinusoidami przesuniętymi od siebie w fazie o
40
120°, o pulsacji równej ω1 i amplitudzie równej długości zadanego wektora napięcia. W
następnym kroku do zmiennych comp_a, comp_b i comp_c wpisywane są następujące wartości:
41
Transform(amp, 0, velocity);
W funkcji, za pomocą parametrów można ustawić czas rozruchu, prędkość z jaką krążyć ma
wektor oraz początkową długość wektora. Funkcja w pierwszym wywołaniu przypisuje zadaną
wartość początkową długości wektora do zmiennej amplituda. Następnie wywołana jest funkcja
Transform, do której przekazywany jest wektor o długości amplitudy początkowej i wirujący z
zadaną prędkością. Przy każdym wywołaniu funkcji, długość wektora przekazywanego do
funkcji Transform jest zwiększana aż do momentu, gdy osiągnie wartość równą stosunkowi
zadanej prędkości do prędkości nominalnej silnika (50 obr/s). Wartość o którą zwiększana jest
długość wektora wyliczona jest tak żeby długość wektora osiągnęła wartość końcową po czasie
przekazanym w parametrze time. Poniżej wykres przedstawiający współrzędne wektora
przekazywanego do funkcji Transform, wyrażonego w nieruchomym, 2-osiowym układzie
współrzędnych:
42
Jak widać wektor krąży ze stałą prędkością, zwiększając swoją długość. Charakterystyka
sterowania, przy użyciu tej metody, wygląda następująco:
Gdzie:
𝑓𝑧𝑎𝑑 – zadana częstotliwość obrotów wektora (velocity/360)
𝑓𝑛 – nominalna częstotliwość obrotów wektora (50 obr/s)
𝑈𝑛 – nominalne napięcie maszyny
void UFConst (float time, float velocity, float amp_pocz, float amp_konc)
{
if (amp == 0)
{
amp = amp_pocz;
}
Transform(amp, 0, v2);
43
}
Funkcja pozwala ustawić czas rozruchu, prędkość końcową z jaką ma wirować wektor po czasie
rozruchu, początkową długość wektora i końcową. Podobnie jak przy funkcji SoftStart po
pierwszym wywołaniu wektorowi zostaje nadana długość początkowa przekazana w
parametrze amp_pocz. Wektor zostaje przekazany do funkcji Transform, tym razem z prędkością
v2, która zainicjalizowana jest wartością 0. W następnych krokach zwiększane są wartości
prędkości wirowania i długości wektora aż do momentu osiągnięcia swoich wartości
końcowych określonych w parametrach przekazanych funkcji. Obie te wartości przestaną
rosnąć w tym samym momencie, po czasie przekazanym w parametrze time. Współrzędne
wektora napięcia wyrażonego w nieruchomym, 2-osiowym układzie współrzędnych w trakcie
rozruchu wyglądają następująco:
Rysunek 35 Trajektoria wektora w nieruchomym układzie współrzędnych przy rozruchu U/f = const
W tym przypadku wektor krąży z coraz wyższą prędkością obrotową, jednocześnie zwiększając
swoją długość. Charakterystyka sterowania wygląda w sposób następujący:
44
Rysunek 36 Charakterystyka sterowania przy rozruchu U/f = const
45
Sygnał vmid przemnażany jest przez współczynnik 0,5, a następnie dodany do każdej ze 3
współrzednych wektora. Implementacja wymagała stworzenia nowej funkcji zadającej napięcie
Transform2. Wygląda ona w sposób następujący:
v = 0.0001*velocity;
alfa_r = alfa_r + v;
Da += 0.5*Dmid;
Db += 0.5*Dmid;
Dc += 0.5*Dmid;
TIM1->CCR1 = comp_a;
TIM1->CCR2 = comp_b;
TIM1->CCR3 = comp_c;
}
W pierwszych linijkach kodu funkcja Transform2 jest taka sama jak funkcja Transform. Pojawia
się w niej natomiast wywołanie funkcji FindMid(Da, Db, Dc), używającej prostego algorytmu
46
do znalezienia wartości środkowej z 3 liczb. Wartość ta zostaje dodana do zmiennych Da, Db,
Dc. Zmienił się również algorytm sprawdzający czy wartość comp_x zawiera się w takim
przedziale aby na wyjściach PWM nie pojawiały się sygnały krótsze niż 2 µs. Jego działanie
przedstawia poniższy schemat blokowy, który uwzględnia że wartość rejestru TIM1->ARR
wynosi 4800:
Schemat blokowy funkcji Transform2 jest bardzo podobny do schematu funkcji Transform,
dlatego też nie został on umieszczony w niniejszej pracy.
W następnym kroku stworzono funkcje UFConst2 i SoftStart2, które różnią się od
UFConst i SoftStart tylko tym, że zamiast zadawania napięcia przy pomocy funkcji Transform,
korzystają z funkcji Transform2.
47
5 Przeprowadzone badania
Oscylogram potwierdza, że okres sygnałów PWM wynosi 100 µs. Widać również, że w
momencie uchwycenia zdjęcia 2 z przebiegów mają równą wartość wypełnienia. Oznacza to,
że w chwili tej przebiegi modulujące się przecinały, a zatem trzeci z przebiegów przyjmował
swoje minimum. Dobrze obrazuje to poniższa ilustracja:
48
Rysunek 40 3-fazowa sinusoida [20]
49
Rysunek 42 Przebiegi napięć generowanych na wyjściach OCx
Dzięki takiej skali można zobaczyć, że obwód przebiegów wygląda jak wierzchołki sinusoidy
o częstotliwości 20 Hz, czyli takiej jak zadana pulsacja wektora. Linie czerwone (pokazujące
okres sinusoidy zaznaczonej na pomarańczowo) oraz czarna i niebieska (pokazujące
przesunięcie kolejnych sinusoid) pozwalając zobaczyć, że sinusoidy są przesunięte względem
siebie o 1/3 swojego okresu, czyli o 120º.
50
Rysunek 43 Zmierzenie dead time'u
Jak widać na oscylogramach, dead time’y rzeczywiście wynoszą 1 µs, a zatem zapewniają
bezpieczne przełączanie między tranzystorami górnymi a dolnymi.
51
2 następne oscylogramy to przebieg 3 kanałów OCx, zaraz po wciśnięciu kolejno
przycisku Startu i Stopu.
53
Rysunek 47 Przebiegi napięć – generowanego na wyjściu OCx oraz fazowego z filtrem RC
Zbadane zostały przebiegi prądu (fioletowy) i napięcia (różowy) jednej z faz podczas rozruchu
UFConst. W tym badaniu napięcie zasilania falownika zostało podniesione do wartości 150 V
oraz podłączone do zacisków stojana silnika B. Najistotniejszym parametrem silnika B z punktu
widzenia tego badania jest prąd nominalny który wynosi 1,32 A. Jest to wartość skuteczna, a
zatem dopuszczalna amplituda sinusoidalnego prądu może wynosić około 2 A. Oscylogramy
pokazane poniżej zostały wygenerowane dla parametrów ustawiających początkową długość
wektora na 0,1 (co odpowiada napięcie równemu 15 V), końcową na 1, końcową prędkością
wirowania wektora na 12,5 obr/s oraz czasu rozruchu na:
54
a) 2 s
Rysunek 48 Przebiegi napięcia i prądu przy rozruchu typu U/f = const, przy czasie rozruchu równym 2 s
Tak krótki czas rozruchu spowodował powstanie dużego prądu rozruchowego, którego
maksymalna amplituda wyniosła około 2,36A. Jest to prąd większy niż amplituda prądu
znamionowego o 18%. Taki prąd nie powinien być szkodliwy dla maszyny, ale skracanie
czasu rozruchu jeszcze bardziej mogłoby okazać się niebezpieczne.
55
b) 9 s
Rysunek 49 Przebiegi napięcia i prądu przy rozruchu typu U/f = const, przy czasie rozruchu równym 9 s
56
c) 4 s
Rysunek 50 Przebiegi napięcia i prądu przy rozruchu typu U/f = const, przy czasie rozruchu równym 4 s
Aby wpłynąć na prąd ustalony należy regulować długość lub prędkość wirowania
wektora. Znamionowy strumie magnetyczny uzyskuje się dla prądu ustalonego równemu 40%
prądu nominalnego. Oznacza to, że aby uzyskać znamionowy strumień magnetyczny należy
tak zmieniać długość lub prędkość wirowania wektora, aby prąd ustalony był równy 0,8 A. Taki
przypadek został zaobserwowany przy ustaleniu prędkości wirowania wektora równej 13,9
obr/s:
57
Rysunek 51 Przebiegi napięcia i prądu przy rozruchu typu U/f = const przy znamionowym strumieniu
magnetycznym
W kolejnym kroku, przy tych samych warunkach zasilania falownika, zbadany został
rozruch SoftStart. Tym razem rozruch wykonany był na silniku B o prądzie nominalnym
równym 3,5 A. Daje to maksymalną amplitudę prądu sinusoidalnego na poziomie około 5A.
Wektor napięcia w chwili włączenia rozruchu przyjmuje 0,1 swojej maksymalnej długości oraz
wiruje z prędkością 40 obr/s. Zbadane zostały przebiegi prądu oraz napięcia fazowego w
układzie dla różnych czasów rozruchu:
a) 4 s
58
Rysunek 52 Przebiegi napięcia i prądu przy rozruchu typu soft-start przy czasie rozruchu równym 4 s
Prąd podczas rozruchu uzyskał maksymalną wartość równą 4.1 A. Jest to wartość niższa
niż amplituda prądu znamionowego, dlatego też możliwe jest bezpieczne skrócenie czasu
rozruchu.
59
b) 1,5 s
Rysunek 53 Przebiegi napięcia i prądu przy rozruchu typu soft-start przy czasie rozruchu równym 1,5 s
Metoda soft-start pozwala na włączanie ponownie rozruchu, nawet gdy silnik jeszcze
nie został wyhamowany. Wynika to z faktu, że pole w tej metodzie wiruje zawsze ze stałą
prędkością, która jest większa od prędkości wirnika. Z tego powodu nie odbywa się tu proces
przekazywania energii do sieci. W przypadku metody U/f ponowne załączanie rozruchu, przy
jeszcze niezatrzymanym wirniku byłoby możliwe tylko jeśli przekształtnik częstotliwości
pozwalał na oddanie energii do sieci, ponieważ pole wiruje na początku z małą prędkością.
Taki przekształtnik musiałby składać się ze sterowanego prostownika oraz zawierać
kondensator magazynujący energię. Stosuje się również tranzystor zabezpieczający na
wypadek, gdy napięcie na kondensatorze wzrośnie do wartości mogących go uszkodzić. Jako
że używany przeze mnie przemiennik nie jest przystosowany do oddawania energii do sieci,
mogłem wykonać próby ponownego włączanie rozruchu, przy niewyhamowanym silniku, tylko
dla metody soft-start. Poniższy oscylogram przedstawia jedną z takich prób:
60
Rysunek 54 Wyłączenie i ponowne uruchomienie rozruchu typu soft-start
5.4 Komutacja
61
Rysunek 55 Czas komutacji pomiędzy wysłaniem impulsu sterującego a zmianą napięcia fazowego
Rysunek 56 Czas komutacji pomiędzy wysłaniem impulsu sterującego a zmianą napięcia fazowego
62
Co ciekawe czas pomiędzy wysłaniem impulsu wprowadzającego w stan przewodzenia
tranzystor górny, a zmianą napięcia fazowego jest krótszy i wynosi 0,88 µs. Aby zrozumieć to
zjawisko warto rozpatrzyć jedną z gałęzi falownika podczas trwania komutacji.
Na rysunku 55, przedstawiona jest sytuacja, w której prąd i napięcie jednej z faz mają przeciwne
znaki. Oznacza to, że indukcyjność odbiornika, nie pozwalając na gwałtowną zmianę prądu,
spowodowała, że energia oddawana jest do sieci. W skutek tego, prąd płynie przez tranzystor
T1. Gdy tranzystor zostaje wprowadzony w stan nieprzewodzenia, przewodzić zaczyna dioda
D1, a zatem napięcie na odbiorniku pozostaje bez zmian. Dopiero gdy tranzystor T2 zostanie
wprowadzony w stan przewodzenia to napięcie na odbiorniku zmienia się i przyjmuje wartość
-Ud/2. Na rysunku 56 początkowo przewodzi tranzystor T2. Tym razem jednak wprowadzenie
łącznika w stan nieprzewodzenia zmienia napięcie fazowe, gdyż prąd zaczyna płynąć diodą D1
(a więc odbywa się to szybciej). Skutkuje to przejęciem napięcia przez diodę. Również sama
zmiana napięcia fazowego przebiega inaczej i nie jest skokowa (czas narastania również wynosi
0,88 µs). Ta różnica wynika z faktu, że dioda charakteryzuje się czasem magazynowania
ładunków w złączu p-n i dlatego napięcie na niej nie ma charakteru skokowego [21]. Wszystkie
3 oscylogramy zostały ujęte dla ujemnego prądu fazowego. Dla prądu dodatniego, zjawisko
nieskokowej zmiany napięcia oraz krótszego czasu komutacji odbywa się po wprowadzeniu w
stan przewodzenia dolnego tranzystora.
63
Rysunek 58 Napięcie fazowe na filtrze RC przy modulacji THIPWM
Dla porównania, sprawdzone zostało napięcie fazowe wygenerowane przy pomocy modulacji
SPWM:
64
W kolejnym kroku zwarty został punkt gwiazdowy gwiazdy z punktem środkowym falownika,
aby sprawdzić jak wygląda badane napięcie w odniesieniu do punktu środkowego falownika:
65
Rysunek 61 Napięcie fazowe na filtrze RC po podniesieniu zadanego napięcia o 15% przy modulacji THIPWM
Rysunek 62 Napięcie na filtrze RC odniesione względem punktu środkowego falownika po podniesieniu zadanego
napięcia o 15%
66
Amplituda napiecia fazowego na odbiorniku, tak jak przewidywano, wzrosła o około 15%,
natomiast amplituda napięcia mierzona względem punktu środkowego jest bliska 20 V, czyli
połowie napięcia zasilania. Oznacza to, że modulacja THIPWM, w tym wypadku, maksymalnie
wykorzystuje źródło zasilania.
67
6 Podsumowanie i wnioski
Podsumowując, udało się wykonać wszystkie założone cele. W używanym przeze mnie
mikrokontrolerze udało się zaimplementować 2 metody rozruchu silnika indukcyjnego oraz
metodę modulacji pozwalającą na zwiększenie napięcia fazowego. Co więcej, praca zgłębiła
zagadnienie sterowania zorientowanego polowo od strony teoretycznej. Zaimplementowane
metody przetestowane zostały na dwóch różnych silnikach asynchronicznych, co pozwoliło na
sprawdzenie ich w różnych warunkach pracy. Dzięki sporej możliwości zmiany parametrów
rozruchu, metody mogą być implementowane w innych maszynach i przemiennikach
częstotliwości, i pozwala to na dalszy rozwój projektu, przy braku ingerencji w kodzie
programistycznym. Do połączenia mikrokontrolera z przemiennikiem częstotliwości stworzona
została płytka, która może posłużyć w przyszłości do stworzenia stanowiska dydaktycznego,
związanego z nauką sterowania falownika przy pomocy użytej przeze mnie płytki Discovery.
Warto również pomyśleć nad implementacją nowych metod, takich jak regulacja prędkości
przy stałym stosunku U/f, w przypadku gdy dostępny byłby przemiennik częstotliwości
pozwalający na zwracanie energii do sieci.
68
7 Bibliografia
[ „http://www.ime.pw.edu.pl/zme/pub/bienkow/mpsi99.pdf,” [Online].
1]
[ „http://portalnarzedzi.pl/artykul/krotka-historia-elektrycznego-silnika/,”
2] [Online].
[ „http://silnikielektryczne.prv.pl/html/asynchroniczne.html,” [Online].
3]
[ „http://www.ee.pw.edu.pl/~merchyy/,” [Online].
4]
[ „http://www.bezel.com.pl/index.php/maszyny-elektryczne/maszyny-
5] indukcyjne,” [Online].
[ „http://slideplayer.pl/slide/86322/,” [Online].
6]
[ „http://www.old.imnipe.pwr.wroc.pl/znemiap/dydaktyka/lan/instrukcja_automat
7] yka_napedu.pdf,” [Online].
[ „http://automatykaonline.pl/Artykuly/Technika-napedowa/falowniki-z-funkcja-
8] zwrotu-energii-do-sieci,” [Online].
[ J. T. M. Marian P. Kaźmierkowski, Wprowadzenie do elektroniki i
9] energoelektroniki, Warszawa: Oficyna Wydawnicza Politechniki Warszawskiej, 2005.
[ „http://www.imnipe.pwr.wroc.pl/files/prv/id35/zn/GT/Naped%20Elektryczny%
10] 20-%20Mechatronika/Instrukcje/Badanie%20ukladow%20modulacji%20PWM%20-
%20instrukcja.pdf,” [Online].
[ „http://www.ee.pw.edu.pl/~jrabkows/TP_W7.pdf,” [Online].
11]
[ „http://www.isep.pw.edu.pl/icg/vlab/pol/metody.html,” [Online].
12]
[ „https://forbot.pl/blog/kurs-stm32-f4-1-czas-poznac-hal-spis-tresci-kursu-
13] id14114,” [Online].
[ „http://www.komel.katowice.pl/ZRODLA/FULL/113/ref_03.pdf,” [Online].
14]
[ „https://pl.wikipedia.org/wiki/Transformacja_Clarka_i_Parka,” [Online].
15]
69
[ „https://cdn.pg.edu.pl/documents/184045/282792/udof.pdf,” [Online].
16]
[ „http://www.ti.com/lit/an/sprabp8/sprabp8.pdf,” [Online].
17]
[ „http://microchipdeveloper.com/pwr3101:pwm-edge-center-aligned-modes,”
18] [Online].
[ „http://www.st.com/content/ccc/resource/technical/document/application_note/
19] 1a/d5/a5/cd/98/4e/47/76/DM00080497.pdf/files/DM00080497.pdf/jcr:content/translati
ons/en.DM00080497.pdf,” [Online].
[ „https://elektronikab2b.pl/biznes/2189-3-fazowy-uklad-zasilajacy-z-
20] rownomiernym-podzialem-mocy#.Wm9AdqjiaUk,” [Online].
[ „https://ea.elportal.pl/diody.html,” [Online].
21]
[ „http://www.old.imnipe.pwr.wroc.pl/zme/zielinski/ELEKTROTECH%205.pdf,
22] ” [Online].
[ „https://botland.com.pl/stm32/3563-stm32f411e-disco-discovery-
23] stm32f411ediscovery.html,” [Online].
[ „https://eia.pg.edu.pl/documents/184045/282792/udof2.pdf,” [Online].
24]
[ „https://www.eal.ei.tum.de/fileadmin/tueieal/www/courses/PE/tutorial/2013-
25] 2014-W/07_PWM.pdf,” [Online].
70
8 Spis obrazów
72
Rysunek 55 Czas komutacji pomiędzy wysłaniem impulsu sterującego a zmianą
napięcia fazowego .................................................................................................................... 62
Rysunek 56 Czas komutacji pomiędzy wysłaniem impulsu sterującego a zmianą
napięcia fazowego .................................................................................................................... 62
Rysunek 57 Jedna z gałęzi falownika [9] ..................................................................... 63
Rysunek 58 Napięcie fazowe na filtrze RC przy modulacji THIPWM ....................... 64
Rysunek 59 Napięcie fazowe na filtrze RC przy modulacji SPWM ............................ 64
Rysunek 60 Napięcie na filtrze RC odniesione względem punktu środkowego falownika
.................................................................................................................................................. 65
Rysunek 61 Napięcie fazowe na filtrze RC po podniesieniu zadanego napięcia o 15%
przy modulacji THIPWM......................................................................................................... 66
Rysunek 62 Napięcie na filtrze RC odniesione względem punktu środkowego falownika
po podniesieniu zadanego napięcia o 15% ............................................................................... 66
73