Politechnika Śląska w Gliwicach
Wydział Automatyki, Elektroniki i Informatyki
LABORATORIUM
PODSTAW STEROWANIA ROBOTÓW
Wprowadzenie do LabVIEW
– paleta
CONTROL DESIGN & SIMULATION
2
1.
Omówienie pakietu LabView
Istota środowiska LabView opiera się na graficznym interfejsie użytkownika, na który składa
się panel frontowy oraz schemat blokowy. Użytkownik ma do wyboru różne gotowe
komponenty znajdujące się w pogrupowanych listach.
Po uruchomieniu programu pojawia się okno startowe ze zbiorem standardowych funkcji
(rysunek 1).
Rysunek 1. Strona startowa pakietu LabVIEW
Rozpoczynając pracę z pakietem wybieramy Blank VI. Wówczas otwiera się panel główny
nowego projektu oraz okno komponentów (rysunek 2).
Rysunek 2. Pusty projekt
3
Przejście do okna schematu blokowego odbywa się poprzez skrót klawiszy Carl+E. Okno
schematu blokowego przedstawia poniższy rysunek.
Rysunek 3. Okno schematu (diagramu) blokowego
Towarzyszące schematowi blokowemu komponenty są różne od komponentów skojarzonych
z panelem głównym. Tworzenie programu odbywa się zarówno z poziomu panelu głównego,
jak i schematu blokowego. Okno schematu blokowego zawiera komponenty odpowiedzialne,
między innymi za programowanie obliczeń, tworzenie klastrów, macierzy oraz obiektów
wykorzystywanych w teorii sterowania.
Elementy paska narzędzi (Toolbar)
Run - uruchamia program (pojedyncze wykonanie)
Run Continously - uruchamia programw trybie ciągłym (po
zakończeniu - rozpoczyna ponownie)
Abort Execution - przerywa wykonywanie programu
Pause - wstrzymuje (pauzuje) wykonywanie programu
Text Settings - ustawienia tekstu
Align Objects -pozwala rozmieszczać zaznaczone obiekty w
określony sposób
Distribute Objects -pozwala rozmieszczać zaznaczone obiekty w
określony sposób
Resize Objects - pozwala zmieniać wielkość zaznaczonych obiektów
4
Reorder - układa obiekty (który jest z przodu, który z tyłu; pozwala
grupować je itp.)
Show Context Help Window - bardzo przydatna i porączna pomoc
dotycząca funkcji i elementów LabVIEW
Icon - ikona
W celu manipulowania elementami diagramu blokowego, jak również ich edycji - korzystamy
z palety narzędzi (Tools Palette)
Automatic Tool Selection - automatycznie wybiera narzędzie w
zależności od wskazania kursora
Operate Value - pozwala na zmianę wartości wybranego elementu
Position/Size/Select- Wybiera element, zmienia jego rozmiar lub
pozycję
Edit Text - edytuje tekst
Connect wire - łączy elementy
Object shortcut menu -tworzy skrót do obiektu
Scroll Window -przewija okno
Set/Clear Breakpoint - ustawia / kasuje pułapkę (breakpoint) - służy
do wykrywania
błędów
Probe data - pobiera dane
Get Color - pobiera kolor - zgodnie ze wskazaniem
Set Color - ustawia kolor
unsigned byte (bajt (bez znaku), 8-bit.)
byte stream (strumień bajtów)
unsigned word (słowo (bez znaku), 16-
bit.)
enum (typ enum)
unsigned long (podwójne słowo
(b/znaku), 32-bit.)
cluster mixed (klaster, różne
elementy)
5
byte (bajt (ze znakiem), 8-bit.)
cluster numeric (klaster, el.
numeryczne)
word (słowo (ze znakiem), 16-bit.)
array 1D (tablica 1-wymiarowa)
long (podwójne słowo (ze znakiem), 32-
bit.)
array 2D (tablica 2-wymiarowa)
single (rzecz., pojedyncza precyzja)
waveform graph (wykres)
double (rzecz., podwójna precyzja)
time stamp (znacznik czasu,
<64.64>-bit.)
extended (rzecz., rozszerzona prec.)
waveform (wykres)
complex extended (zespolona, rozszerz.
precyzja)
digital waveform (wykres cyfrowy)
complex double (zesp., podwójna
precyzja)
digital data (dane cyfrowe)
complex single (zesp., pojedyncza
precyzja)
I/O name (nazwa zasobu wejścia /
wyjścia)
boolean (typ boolowski)
picture (obraz)
string (łańcuch znakowy)
variant (wariant)
path (scieżka (dostępu do pliku))
LabVIEW pozwala na tworzenie i przedstawianie obrazów. Jest to przydatna opcja -
szczególnie-w celach wizualizacji niektórych wyników pomiarowych
Prześledźmy prosty przykład.
Rysunek 4. Okno palety Numeric Controls
Rysunek 5. Okno palety Numeric Indicators
6
Rysunek 6. Panel frontowy
Rysunek 7. Wykonanie połączenia w oknie schematu blokowego
Rysunek 8. Uruchomienie projektu
7
Rysunek 9. Rozbudowa projektu o dodatkowe kontrolki
8
Rysunek 10. Uruchomienie projketu
2. Paleta Control Design
Zbiór wszystkich bloków funkcyjnych, które mogą być wykorzystane w projektowaniu
i modelowaniu układów sterowania przedstawia poniższy rysunek.
Rysunek 11. Paleta Control Design
W skład palety Control design wchodzą następujące podzbiory bloków funkcyjnych:
Model Construction palette.
Model Information palette.
Model Conversion palette.
Model Interconnection palette.
Time Response palette.
Frequency Response palette.
Dynamic Characteristics palette.
Model Reduction palette.
State Space Model Analysis palette.
State Feedback Design palette.
Implementation palette.
Analytical PID Design.
Predictive Control.
Solvers.
Na potrzeby niniejszego ćwiczenia są potrzebne tylko niektóre bloki funkcyjne. Z tego
powodu zostaną przedstawione tylko wybrane funkcje. Poniższa tabela przedstawia
najważniejsze bloki funkcyjne z palety Model Construction.
Tabela 1. Bloki funkcyjne z palety Model Construction
9
Construct State-Space Model
Konstrukcja modelu w przestrzeni stanu
Construct Transfer Function Model
Konstrukcja modelu w postaci funkcji przejścia
Draw State-Space Equation
Wyświetlenie równia stanu
Draw Transfer Function Equation
Wyświetlenie funkcji przejścia
W zależności od postaci posiadanego modelu obiektu można przeprowadzać odpowiednie
konwersje. W tabeli 2 przedstawiono wybrane bloki funkcyjne z palety Model Conversion.
Tabela 2. Bloki funkcyjne z palety Model Conversion
Convert to State-Space Model
Konwersja do modelu w przestrzeni stanu
Convert to Transfer Function Model
Konwersja do modelu w postaci funkcji przejścia
W tabeli 3 przedstawiono wybrane bloki funkcyjne niezbędne do budowy modeli obiektów
sterowania oraz do przeprowadzenia analizy ich działania.
Tabela 3. Wybrane bloki funkcyjne z palety odpowiednio Model Interconnection palette, Frequency
Response palette, Dynamic characteristics
Parallell
Konwersja do modelu w przestrzeni stanu
Serial
Konwersja do modelu w postaci funkcji przejścia
Feedback
Tworzenie sprzężenia zwrotnego
Step Response
Konwersja do modelu w przestrzeni stanu
Nyquist
Konwersja do modelu w postaci funkcji przejścia
10
Bode
Charakterystyki Bodego
2.1. Przykłady wykorzystania powyższych bloków funkcyjnych
Tworzenie ciągłego modelu na podstawie równań stanu.
Załóżmy, że obiekt jest opisany równaniami
:
u
x
y
u
x
x
D
C
B
A
0
33
,
0
66
,
1
0
1
0
1
3
,
0
6
,
0
Do zbudowania powyższego modelu stosujemy bloczek CD Construct State-Space Model
(przy budowie modelu w postaci operatorowej nie jest istotny rząd obiektu). Widok panelu
frontowego przedstawiony jest poniżej.
Rysunek 12. Panel frontowy
11
Natomiast schemat blokowy jest następujący:
Rysunek 13. Schemat blokowy powyższego przykładu
Tworzenie wykresu odpowiedzi skokowej.
Mając juz stworzony model, jak powyżej można przeprowadzić analizę odpowiedzi
skokowej. W tym celu należy do schematu blokowego wprowadzić następujący bloczek
Przykład:
Rysunek 14. Panel frontowy
Rysunek 15. Schemat blokowy
12
Tworzenie charakterystyk Nyquista
Do badania obiektu na podstawie charakterystyk Nyquista należy wykorzystać bloczek
przedstawiony na poniższym rysunku.
Rysunek 16. Bloczek CD Nyquist
Rysunek 17. Panel frontowy
Rysunek 18. Schemat blokowy
Tworzenie połączenia szeregowego
Do tego celu należy użyć bloczku o nazwie CD Series z palety Control Design.
Rysunek 19. Bloczek CD Series
13
Rysunek 20. Panel frontowy
Rysunek 21. Schemat blokowy
Tworzenie układu ze sprzężeniem zwrotnym
Poniżej przedstawiono przykład wykorzystania bloczku CD Feedback.
Rysunek 22. Bloczek CD Feedback
14
Rysunek 23. Panel frontowy
Rysunek 24. Schemat blokowy
3.
Badanie właściwości silników DC oraz BLDC
3.1. Silnik BLDC
Uzwojenia silnika BLDC znajdują się w stojanie a wirnik wykonany jest z odpowiednio
ukształtowanego magnesu. Mechaniczny komutator w silniku BLDC został zastąpiony
elektronicznym przełącznikiem, którego stan wyjściowy określony jest funkcją położenia
rotora. Ze względu na liczbę uzwojeń, silniki BLDC możemy podzielić na jednofazowe,
dwufazowe i trójfazowe. Najbardziej popularne i najszerzej stosowane są silniki trójfazowe.
Silniki trójfazowe pozwalają ze znacznie większą dokładnością sterować położeniem wirnika.
W związku z tym znajdują one coraz częściej zastosowanie w aplikacjach, które wymagają
dużej precyzji, czyli m.in. takich jak robotyka.
3.2. Model matematyczny
Schemat zastępczy silnika BLDC trójfazowego zamieszczony na rysunku 9 jest wyjściowym
w budowie modelu matematycznego silnika.
15
Rysunek 25. Schemat zastępczy silnika BLDC
Rozpoczynając budowę modelu matematycznego należy rozpatrzyć indukcyjność uzwojeń
stojana. W celu określenia wartości strumienia magnetycznego skojarzonego z uzwojeniem
fazy a, należy uwzględnić strumienie od prądu I
a
płynącego w fazie a oraz strumienie od
prądów I
b
i I
c
w uzwojeniach faz b oraz c skojarzone z uzwojeniem fazy a.
Strumień magnetyczny skojarzony z uzwojeniem fazy a stojana wyrażony będzie zależnością:
𝜓
𝑎
= 𝐼
𝑎
𝐿
𝑎𝑎
+ 𝐼
𝑏
𝐿
𝑎𝑏
+ 𝐼
𝑐
𝐿
𝑎𝑐
(1)
Postać macierzowa równań dla wszystkich faz ma postać:
𝜓
𝑎
𝜓
𝑏
𝜓
𝑐
=
𝐿
𝑎𝑎
𝐿
𝑎𝑏
𝐿
𝑎𝑐
𝐿
𝑏𝑎
𝐿
𝑏𝑏
𝐿
𝑏𝑐
𝐿
𝑐𝑎
𝐿
𝑐𝑏
𝐿
𝑐𝑐
𝐼
𝑎
𝐼
𝑐
𝐼
𝑐
(2)
gdzie:
I
a
, I
b
, I
c
- prądy fazowe stojana
Ψ
a
. Ψ
b
. Ψ
c
. - strumienie magnetyczne skojarzone odpowiednio z fazą stojana
L
aa
,L
bb
,L
cc
- indukcyjności własne
L
ij
- indukcyjności wzajemne gdzie: i,j=a,b,c oraz i≠j
Na podstawie schematu zastępczego można wyznaczyć równania napięciowe obwodu
twornika:
𝑉
𝑎𝑠
− 𝑣
𝑛
𝑉
𝑏𝑠
− 𝑣
𝑛
𝑉
𝑐𝑠
− 𝑣
𝑛
=
𝑅
𝑠
0
0
0
𝑅
𝑠
0
0
0
𝑅
𝑠
𝐼
𝑎
𝐼
𝑏
𝐼
𝑐
+
𝑑
𝑑𝑡
𝐿
𝑎𝑎
𝐿
𝑎𝑏
𝐿
𝑎𝑐
𝐿
𝑏𝑎
𝐿
𝑏𝑏
𝐿
𝑏𝑐
𝐿
𝑐𝑎
𝐿
𝑐𝑏
𝐿
𝑐𝑐
𝐼
𝑎
𝐼
𝑐
𝐼
𝑐
+
𝐸
𝑎
𝐸
𝑏
𝐸
𝑐
(3)
gdzie:
R
s
- rezystancje uzwojeń faz stojana
E
a
,E
b
,E
c
- siły elektromotoryczne indukowane w uzwojeniach stojana
V
as
,V
bs
,V
cs
- potencjały na zaciskach faz uzwojeń stojana
v
n
- potencjał punktu neutralnego uzwojeń stojana, który wyraża się zależnością:
𝑣
𝑛
=
1
3
𝑉
𝑎𝑠
+ 𝑉
𝑏𝑠
+ 𝑉
𝑐𝑠
−
𝐸
𝑘
𝑐
𝑘=𝑎
(4)
16
Wartość szczytową indukowanej w uzwojeniach SEM można wyznaczyć z równania:
𝐸𝑝 = 𝜆𝜔
(5)
gdzie:
- całkowity strumień sprzężony skojarzony z kolejnymi uzwojeniami stojana,
- prędkość obrotowa rotora,
p – liczba par biegunów
Jeżeli założymy, że uzwojenia fazowe silnika są symetryczne to ich indukcyjności własne
będą takie same:
𝐿
𝑎𝑎
= 𝐿
𝑏𝑏
= 𝐿
𝑐𝑐
= 𝐿
(6)
Podobnie jednakowe będą indukcyjności wzajemne faz a−b, a−c, b−c w odniesieniu do jednej
fazy:
𝐿
𝑎𝑏
= 𝐿
𝑎𝑐
= 𝐿
𝑏𝑎
= 𝐿
𝑏𝑐
= 𝐿
𝑐𝑎
= 𝐿
𝑐𝑏
= 𝑀
(7)
Po uwzględnieniu zależności (6) i (7) równanie (3) przyjmie postać:
𝑉
𝑎𝑠
− 𝑣
𝑛
𝑉
𝑏𝑠
− 𝑣
𝑛
𝑉
𝑐𝑠
− 𝑣
𝑛
=
𝑅
𝑠
0
0
0
𝑅
𝑠
0
0
0
𝑅
𝑠
𝐼
𝑎
𝐼
𝑏
𝐼
𝑐
+
𝑑
𝑑𝑡
𝐿
𝑀 𝑀
𝑀
𝐿
𝑀
𝑀 𝑀
𝐿
𝐼
𝑎
𝐼
𝑐
𝐼
𝑐
+
𝐸
𝑎
𝐸
𝑏
𝐸
𝑐
(8)
Jeżeli przyjmie się, że suma prądów fazowych jest równa zeru (I
a
+I
b
+I
c
=0) to ostatecznie
otrzymamy:
𝑉
𝑎𝑠
− 𝑣
𝑛
𝑉
𝑏𝑠
− 𝑣
𝑛
𝑉
𝑐𝑠
− 𝑣
𝑛
=
𝑅
𝑠
0
0
0
𝑅
𝑠
0
0
0
𝑅
𝑠
𝐼
𝑎
𝐼
𝑏
𝐼
𝑐
+
𝑑
𝑑𝑡
𝐿 − 𝑀
0
0
0
𝐿 − 𝑀
0
0
0
𝐿 − 𝑀
𝐼
𝑎
𝐼
𝑐
𝐼
𝑐
+
𝐸
𝑎
𝐸
𝑏
𝐸
𝑐
(9)
Równanie strumieniowo - prądowe (2) i prądowo-napięciowe (8) stanowią układ równań
wiążących wielkości elektryczne symetrycznego trójfazowego silnika synchronicznego prądu
stałego z trapezoidalnym rozkładem pola w szczelinie powietrznej.
Dla pełnego opisu silnika należy jeszcze uwzględnić zależność określającą wartość
wytwarzanego momentu elektromagnetycznego T
e
. W wytwarzaniu tego momentu
uczestniczą składowe zależne od zmian energii elektromagnetycznej przy obrocie wirnika:
𝑇
𝑒
=
𝐸
𝑎
𝐼
𝑎
+𝐸
𝑏
𝐼
𝑏
+𝐸
𝑐
𝐼
𝑐
𝜔
(10)
Wartość SEM indukowana w odpowiednich fazach silnika:
𝐸
𝑎
= 𝑓
𝑎
θ
𝜆𝜔
𝐸
𝑏
= 𝑓
𝑏
θ
𝜆𝜔
(11)
17
𝐸
𝑐
= 𝑓
𝑐
θ
𝜆𝜔
Funkcje f
a
(q), f
b
(q), f
c
(q) mają przebieg o kształcie indukowanej SEM i przyjmują wartości
z przedziału [−1,1].
Prędkość kątowa wirnika jest opisana zależnością:
𝑑𝜃
𝑑𝑡
=
𝑝
2
𝜔
(12)
Równania stanu silnika BLDC w postaci macierzowej można wyrazić w następujący sposób:
𝑥
= 𝐴𝑥 + 𝐵𝑢
(13)
Wektor stanu x:
𝑥 =
𝐼
𝑎
𝐼
𝑏
𝐼
𝑐
𝜃
𝜔
(14)
Macierz silnika A:
𝐴 =
𝑅
𝑠
𝐿
𝑙
0
0
𝜆𝑝 𝑓
𝑎
𝜃
𝐿
𝑙
0
𝑅
𝑠
𝐿
𝑙
0
𝜆𝑝 𝑓
𝑏
𝜃
𝐿
𝑙
0
0
𝑅
𝑠
𝐿
𝑙
𝜆𝑝 𝑓
𝑐
𝜃
𝐿
𝑙
𝜆𝑝 𝑓
𝑎
𝜃
𝐿
𝑙
𝜆𝑝 𝑓
𝑏
𝜃
𝐿
𝑙
𝜆𝑝 𝑓
𝑐
𝜃
𝐿
𝑙
−𝐵
𝐽
0
0
0
𝑝
2
(15)
Macierz wymuszenia B:
𝐵 =
1
𝐿
𝑙
0
0
0
0
1
𝐿
𝑙
0
0
0
0
1
𝐿
𝑙
0
0
0
0
−1
𝐽
0
0
0
0
(16)
Wektor wymuszenia u:
18
𝑢 =
𝑉
𝑎
𝑉
𝑏
𝑉
𝑏
𝑇
𝑙
(17)
gdzie:
L
l
– L-M,
B – tarcie (w macierzy A),
V
a
,V
b
,V
c
- napięcia fazowe,
T
l
- moment obciążenia.
3.3. Model matematyczny silnika DC
Poniżej przedstawiono schemat zastępczy silnika prądu stałego sterowanego twornikowo.
Rysunek 26. Schemat zastępczy silnika prądu stałego
Dla takiego schematu można przedstawić wielkości fizyczne umożliwiające opisanie, w
postaci modelu matematycznego, silnik DC:
moment bezwładności wirnika J = 0.01 kg.m^2/s^2,
współczynnik tłumienia b = 0.1 Nms,
stałe zależne od właściwości fizycznych (K=Ke=Kt) = 0.01 Nm/Amp,
rezystancja R = 1 ohm,
indukcyjność L = 0.5 H,
wejście V: napięcie wejściowe,
wyjście kąt Ѳ: pozycja wału,
założenie wirnik oraz wał silnika są sztywne.
Moment T, widziany od strony wału, jest proporcjonalny do prądu indukowanego przez
napięcie przyłożone
i
K
T
t
gdzie: K
t
- stała uzwojenia silnika, związana z jego właściwościami fizycznymi.
Indukowana w silniku siła elektromotoryczna, jest proporcjonalna do prędkości kątowej
Ѳ(t).
K
e
, jest pewną stała zależną od własności silnika.
e
K
e
19
Stosując jednostki SI stała Kt jest równa stałej Ke. Stosując dodatkowo prawa mechaniki
Newtona oraz twierdzenie Kirchhoff'a, można zapisać równanie równowagi momentów:
Ki
b
J
K
V
Ri
dt
di
L
Transfer Function
Stosując transformatę Laplace, powyższe równania można wyrazić w postaci:
)
(
)
(
s
KI
s
b
Js
s
)
(
)
(
s
Ks
V
s
I
R
Ls
Eliminując I(s) można otrzymać funkcję transformacji układu otwartego, gdzie prędkość
obrotową traktujemy, jako wyjście układu, a napięcie prądu wejście.
2
)
)(
(
K
R
Ls
b
Js
K
V
Równanie w przestrzeni stanu
Model silnika DC można przedstawić w postaci równania stanu oraz równania wyjścia. Zapis
macierzowy równań przedstawiono poniżej.
V
L
i
L
R
L
K
J
K
J
b
i
dt
d
1
0
i
0
1
Przykład modelowania silnika DC
Na poniższych rysunku przedstawiono schemat blokowy zastosowany do modelowania
silnika DC w środowisku LabView.
20
Rysunek 27. Schemat blokowy układu sterowania
Rysunek 28 przedstawia panel główny programu symulacyjnego, na którym przedstawiono
nastawy regulatora PID, sygnał wymuszający oraz odpowiedź skokową układu zamkniętego.
W trybie on-line można zmieniać parametry układu sterowania oraz obserwować wyniki
wprowadzonych zmian.
Natomiast na rysunku 29 zaprezentowano schemat blokowy ze szczegółowym
zobrazowaniem elementów wykorzystanych do budowy modelu symulacyjnego.
Rysunek 28. Panel frontowy
Control Systems
• A control system consists of a Controller model
and a Plant model.
• Control systems can be open or closed loop.
2
m
m
eq
m
K
s
R
J
K
s
1
+ _
Setpoint
Output
m
V
m
PID
Controller
)
(Motor
Plant
error
21
Rysunek 29. Schemat blokowy w LabView
22
4.
Przebieg ćwiczenia
- wykonać model symulacyjny silnika DC,
- przeprowadzić badanie własności dynamicznych silnika,
- dobrać nastawy regulatora PID,
- wykonać model symulacyjny silnika BLDC,
- przeprowadzić badanie własności dynamicznych silnika,
- dobrać nastawy regulatora PID,
- porównać otrzymane wyniki dla obu obiektów,
- sporządzić raport zawierający wyniki badań oraz wnioski.
5. Raport
23
RAPORT Z ĆWICZENIA LABORATORYJNEGO
Grupa dziekańska ……. Rok akademicki ……../…….. Semestr …..
Data wykonania ćwiczenia laboratoryjnego …………. Nr ćwiczenia …….
Skład sekcji:
…………….
…………….
…………….
…………….
…………….
Treść raportu
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………