5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 1/157
Politechnika RzeszowskaIm. Ignacego Łukasiewicza
Wydział Budowy Maszyn i Lotnictwa
Katedra Awioniki i Sterowania
Mikrokomputerowy sterownik rozmytydo sterowania aparatem latającym.
PRACA DYPLOMOWA
Wykonał: Promotor:
Maksymilian Sobczak dr inż. Józef GrzybowskiRafał Traczyński
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 2/157
Rzeszów 2008
2
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 3/157
Podziękowania:
− Panu dr inż. Józefowi Grzybowskiemu za udostępnienie sprzętu niezbędnego do
realizacji badań, cenne uwagi i przekazaną wiedzę w czasie realizacji pracy dyplomowej,
3
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 4/157
− kolegom: Maćkowi, Grześkowi i Błażejowi za udostępnienie samolotu bezzałogowego
Gacek i pomoc w badaniach w locie.
4
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 5/157
Spis treści
1. Wstęp………………………………………………………………………………...…….7
2. Narzędzia do programowania z wykorzystaniem algorytmu Fuzzy Logic …………..9
2.1. Architektura rozmytych układów sterowania ……………………………….……......9
2.2. FIDE ………………………………………..………………………..……………....13
2.3. FUZZY TECH ….………………………………………………………………...…15
2.3.1. FUZZY TECH 3.0……………………………..…………………………..…15
2.3.2. FUZZY TECH 5.31..…………………………..………………………...…...17
2.4. Matlab Toolbox Fuzzy ………………………………………………………………18
2.5. Synteza dyskretnego układu rozmytego w programie MATLAB – własny projekt ..19
2.5.1. Pierwsza wersja bloku regulatora……..…………………………………...…19
2.5.2. Druga wersja bloku regulatora ..…………………………..………………….44
3. Projekt wstępny regulatora rozmytego do sterowania powierzchniamisterowymi BAL ……………………………………………………….……………….51
3.1. Struktura regulatora rozmytego…………………………………………...…………51
3.2. Analiza sprzętowa projektu regulatora rozmytego………………………………..…644. Przygotowanie bazy do wykonania prób w locie………………………………………69
4.1. Aparat latający PR-2 GACEK…………...……….………………………………….69
4.2. Programowany rejestrator PRP-J5………………………………………….…….….70
4.3. Sensory wejściowe…………………………………………..…………………….…72
4.4. Przetwornik wychylenia powierzchni sterowych……………………………………77
4.5. Schemat instalacji elektrycznej………………………………...…………………….78
4.6. Konfiguracja rejestratora…………………………………………………………….80
4.7. Wyznaczenie współczynników wychylenia powierzchni sterowych ……….………82
5. Wykonanie prób w locie i analiza uzyskanych danych…………………………….....83
5.1. Organizacja próby w locie…………………………………………………………...83
5.2. Przetworzenie danych………………………………………………………………..84
5.3. Przygotowanie danych do budowy bazy reguł………………………………………87
5.3.1. Wyznaczenie współczynników dla pochylania……………………………….87
5.3.2. Wyznaczenie współczynników dla przechylania……………………………..92
5.3.3. Wyznaczenie współczynników dla odchylania…………………..……..…….966. Rozmyty układ stabilizowania aparatu bezzałogowego GACEK……………...……..99
5
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 6/157
6.1. Wymagania dotyczące układów sterowania obiektami autonomicznymi…………...99
6.2. Projekt regulatora rozmytego dL_dh_30……………………………………..…….100
6.3. Mikroprocesor c8051f020…………………………………………………………..116
6.4. Configuration Wizard 2 – funkcje peryferii mikroprocesora………………………118
6.5. Końcowy algorytm regulatora rozmytego dL_dh_30………………………………120
7. Analiza sprzętowa projektu regulatora rozmytego dL_dh_30………………………143
8. Wnioski…...…………………………………………………………………………….153
9. Bibliografia………………………………………………..............................................155
10. Dodatki………………………………………………………………………………….157
6
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 7/157
1. Wstęp
„Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym” to temat
pokrewny tematom podejmowanym w Katedrze Awioniki i Sterowania Politechniki
Rzeszowskiej: automatycznego sterowania samolotem, programowania mikroprocesorów,
identyfikacji współczynników modelu samolotu, a także trochę nowocześniejszych jak logika
rozmyta. Niniejsza praca prezentuje próbę zaadoptowania rozmytego układu sterowania do
samolotu bezzałogowego GACEK . Ze względu na brak narzędzi do implementacji rozmytego
układu sterowania autorzy przedstawili metodykę zaadoptowania takiego systemu do
sterowania samolotem bezzałogowym.
Praca prezentuje próbę zaadoptowania rozmytego układu sterowania do samolotu
bezzałogowego GACEK. Ze względu na brak narzędzi do implikacji rozmytego układu
sterowania autorzy przedstawili metodykę zaadoptowania takiego systemu do sterowania
samolotem bezzałogowym.
Rozdział drugi opisuje podstawowe informacje na temat architektury rozmytych
systemów sterowania – np. regulator rozmyty jako sterownik statyczny czy jako układ do
strojenia parametrów regulatora klasycznego. W rozdziale tym zostały również przybliżone jedne z głównych narzędzi do projektowania regulatorów rozmytych jak i autorski projekt
syntezy dyskretnego układu rozmytego w programie Matlab.
Rozdział trzeci - projekt wstępny regulatora rozmytego do stabilizacji kąta
przechylenia – prezentuje metodykę uzyskiwania algorytmu regulatora w języku asemblera
ST6, a także wyniki jakościowe badań uzyskanego projektu wstępnego.
W rozdziale czwartym znajdują się informacje o badanym obiekcie, elementach
składowych układu pomiarowego przeznaczonego do wykonania badań w locie oraz schematmontażowy instalacji elektrycznej z układem pomiarowym. Opisano tutaj niezbędne
czynności wykonane przed przystąpieniem do prób w locie.
Rozdział piąty to część pracy poświęcona zagadnieniom związanym z wyznaczeniem
charakterystyk dynamicznych badanego aparatu latającego, dla którego docelowo autorzy
podjęli się wykonania układu stabilizacji lotu obiektu. Zasadniczo rozdział ten można
podzielić na dwa główne etapy: organizację i wykonanie prób w locie oraz analizę
uzyskanych danych.
7
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 8/157
Rozdział szósty zawiera wyjściową wersję właściwego projektu regulatora rozmytego
do stabilizacji kąta przechylenia i pochylenia aparatu latającego. Przedstawiono tutaj
metodykę uzyskiwania algorytmu regulatora w języku C.
W rozdziale siódmym przedstawiono badania wyjściowej wersji właściwego projektu
regulatora rozmytego do stabilizacji kąta przechylenia i pochylenia aparatu latającego.
Wyniki z uzyskanych badań przedstawiono w formie dogodnej do oceny i weryfikacji
parametrów regulatora wynikających z toku jego syntezy.
W podsumowaniu przedstawione są wnioski i uwagi z doświadczeń wynikających
z wykonywanego oprogramowania oraz aplikacji na rzeczywistym obiekcie.
8
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 9/157
2. Narzędzia do programowania z wykorzystaniem algorytmu Fuzzy Logic
Z dostępnych na rynku inżynierskim narzędzi programowania układów rozmytych
przedstawione zostają:
– FIDE,
– fuzzyTECH,
– fuzzy – MATLAB Toolbox.
W rozdziale 2 zostały przedstawione podstawowe informacje na temat rozmytych
układów sterowania oraz wymienionych powyżej programów. A ponadto omówiony został
tutaj własny projekt syntezy regulatora rozmytego w SIMULINKU.
2.1. Architektura rozmytych układów sterowania.
Przegląd aplikacji układów sterowania obiektami autonomicznymi można dokonać
analizując regulatory rozmyte wg przedstawionych poniżej kryteriów:
– Regulatory rozmyte statyczne
Regulator ten, nie posiada własności dynamicznych i jest na ogół nieliniowym
regulatorem statycznym. Kształtowanie własności dynamicznych takiego układu sterowania
można dokonać poprzez wprowadzenie do bazy reguł zależności o charakterze predykcyjnym.
Rys 2.1 Statyczny regulator rozmyty.
Charakterystyczną cechą statycznych regulatorów (rys. 2.1) jest właściwość
kształtowania skomplikowanej charakterystyki statycznej poprzez różne kształty funkcji
przynależności. Jego charakter odzwierciedla powierzchnia sterowania jak na rys. 2.2.
9
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 10/157
Rys.2.2 Przykład powierzchni sterowania rozmytego regulatora o skomplikowanej charakterystycestatycznej.
– Rozmyte regulatory dynamiczne
Procesy rzeczywiste są na ogół procesami nieliniowymi. Wynika z tego, że wartości
parametrów procesu zmieniają się wraz z punktem pracy. Sterowanie automatyczne wymaga
przestrojenia regulatora odpowiednio do punktu pracy w miarę upływającego czasu. Zmiana
punktu pracy klasycznych regulatorów liniowych jest często stosowana chociażby w fazie
dostrojenia najbardziej rozpowszechnionych regulatorów dynamicznych, jakimi są regulatoryPID. Mając na uwadze cyfrowe układy sterowania, regulator taki umożliwia zmianę nastaw
współczynników członów: proporcjonalnego, całkującego i różniczkującego w szerokim
zakresie, co daje uniwersalność zastosowania takiego regulatora do obiektów różniących się
znacznie własnościami dynamicznymi.
Uzupełnienie klasycznego regulatora PID blokiem regulatora rozmytego, stwarza
możliwość kształtowania powierzchni sterowania wejścia – wyjścia. Przykładem
pokazującym takie rozwiązanie jest prezentowany na rys.2.3, regulator rozmyty sterującyobiektem pośrednio poprzez zespół regulatorów klasycznych PID. Działanie regulatora
rozmytego powoduje zmianę nastaw regulatorów klasycznych. Jest on regulatorem głównym
kształtującym charakterystyki statyczne i dynamiczne układu sterowania. Rola regulatora
rozmytego w tym przypadku ograniczona jest do działania na podstawie reguł określających
zależności wiążące stan obiektu z wymaganymi parametrami regulatorów klasycznych.
Działanie regulatora rozmytego w tej konfiguracji ograniczone jest własnościami regulatorów
klasycznych.
10
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 11/157
Rys.2.3 Rozmyty regulator w konfiguracji nastawnika parametrów regulatorów klasycznych.
W zastosowaniu do procesów nieliniowych dostrajane są parametry regulatorów PID
według założenia, że proces może być linearyzowany odcinkami lub może być stabilizowany
ze względu na wybrane kryteria.
– Adaptacyjne sterowanie rozmyte
Regulatory rozmyte jako nieliniowe radzą sobie z pewnymi nieliniowościami procesu,
jednak zagadnienie sterowania z nieliniowościami w wielu zakresach pracy wymaga
wypracowania monitora procesu oraz mechanizmu adaptacyjnego. Jako monitor można
wykorzystać:
– miarę jakości szacującą jakość sterowania,
– estymator parametru, który na bieżąco aktualizuje model procesu.
Zadaniem monitora procesu jest wykrywanie zmian w charakterystykach procesu
i zmiana parametrów regulatora. W zakresie zmian czynników regulatora mogą to być
współczynniki skalujące, współczynniki własności dynamicznych i tłumienia niepożądanych
sygnałów. Odbywa się to na ogół przez zmianę kształtów zbiorów rozmytych
reprezentowanych przez funkcje przynależności.
Wśród zmiennych związanych ze stanem procesu i służących do jego oceny należy
wymienić:
– przeregulowanie,
– czas narastania,
– czas regulacji,
– współczynnik tłumienia sygnału,
– częstotliwość oscylacji przebiegu nieustalonego,
– całka kwadratu błędu,
– całka wartości bezwzględnej błędu,
11
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 12/157
– całka wartości bezwzględnej błędu ważonej w czasie,
– zapas wzmocnienia i fazy.
Mechanizm adaptacyjny musi zmieniać parametry regulatora, aby poprawić jego
działania na danym etapie sterowania procesem. Zarówno na etapie monitora oraz
mechanizmu adaptacyjnego można stosować układy klasyczne, rozmyte lub łącznie.
Regulator rozmyty w układzie adaptacyjnym przedstawiony na rys.2.4.
Rys. 2.4 Adaptacyjny regulator rozmyty nastrajający regulator bezpośredni PID.
Działanie regulatora rozmytego określone jest poprzez zmienne określające aktualny
stan obiektu i odpowiadające jemu sygnały sterujące. W tym układzie regulator rozmyty„widzi” rezultat działania regulatora klasycznego w sensie jakościowym i ilościowym.
Ustawienie przez operatora punktu pracy pozwala na osiągnięcie wartości zadanej w drodze
przygotowania nastaw regulatora klasycznego PID poprzez regulator rozmyty z regułami
wiążącymi wielkości sterujące z aktualnym stanem obiektu. Przedstawione powyżej struktury
regulatorów dynamicznych wprowadzają ograniczenia powierzchni sterowania, wynikające
z bezpośredniego sterowania regulatorem PID. Dla stanów anormalnych lub awaryjnych
korzystniejsze jest zastosowanie struktury przedstawionej na rys. 2.5. W tym przypadku rolaregulatora rozmytego sprowadzona jest do funkcji monitora stanu i nadrzędnego układu
sterującego. Działanie układu nadrzędnego może korygować działania regulatora klasycznego
lub całkowicie przejmować sterowanie na czas określony funkcjami przynależności
i regułami.
12
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 13/157
Rys.2.5 Regulator dynamiczny z rozmytym regulatorem nadrzędnym.
Działanie regulatorów nadrzędnych najczęściej związane jest z anormalnymi stanami
procesu sterowania, gdzie udział występujących silnych nieliniowości, szybkich zmian
sygnałów ogranicza możliwości dokładnego sterowania. Dlatego podstawową funkcją takich
regulatorów jest zapewnienie powrotu do stanu umożliwiającego sterowanie regulatorem
klasycznym.
W przedstawionych strukturach niewyczerpane zostały wszystkie możliwości
wynikające chociażby z kombinacji przedstawionych struktur. Zaprezentowanie wybranych
przykładów regulatorów rozmytych pokazujących sposób podejścia do problemu, rozwiązania
i uzyskane rezultaty pozwoli przybliżyć problemy będące tematem niniejszej pracy.
2.2 FIDE
Kolejnym programem przeznaczonym do tworzenia regulatorów rozmytych jest FIDE -
Fuzzy Inference Development Environment. Program ten, jest bardzo podobny do wyżej
opisanego fuzzyTECH-a. Jego struktura przypomina środowisko Windows, co sprawia że jest
łatwym w obsłudze. Na rysunku 2.6 są przedstawione okna głównych narzędzi jakie posiada program FIDE, którymi są:
– CAD Composer – okno struktury regulatora (1)
– Edytor zmiennych (2)
– Tabela reguł (3)
– Analyzer – płat powierzchniowy (4)
– Okno kompilacji projektu systemu (5)
13
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 14/157
Rys. 2.7 Narzędzia programu FIDE.
Do głównych funkcji programu należą:
– Tworzenie systemu przy użyciu edytora funkcji przynależności i edytora tabeli reguł
– Rozbudowany graficzny interfejs użytkownika (GUI) pozwalający na budowę,
– Testowanie i analizowanie systemów rozmytych w technologii point-and-click.
– Moduł graficznej konstrukcji i edycji zmiennych lingwistycznych – CAD Composer
– Moduł analityczny z wizualizacją w postaci trój-wymiarowej - Analyzer
– Możliwość automatycznego testowania i symulacji działania systemów - Tracer
– Możliwość integrowania ze środowiskami MATLAB,
– Wszelkie interakcje z modelem rozmytym odbywają się w czasie rzeczywistym
– Bogata baza narzędzi do optymalizowania systemów.
– Zdolność do generowania kodu w języku C i asemblerze.
Przedstawiony program FIDE nie był wykorzystywany przez autorów w procesie
tworzenia regulatora rozmytego do sterowania aparatem latającym. Jest on przykładem
innego podejścia do budowy układów rozmytych
14
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 15/157
2.3 FuzzyTECH ST6
FuzzyTech jest środowiskiem zaprojektowanym przez firmę INFORM GmbH. Za
wyborem tego środowiska przemawia ponad 20 letnie doświadczenie w konstruowaniu
systemów rozmytych. Zgodnie z informacjami podanymi przez producenta jest to obecnie
najwydajniejsze środowisko dostępne na rynku.
2.3.1 FuzzyTech ST6 3.0
FuzzyTech ST6 3.0 to narzędzie z językiem programowania wysokiego poziomu.
Dzięki interfejsowi wzorowanemu na Windows-ie, użytkowanie jest łatwe oraz
intuicyjne. Pozwala na tworzenie kompletnych projektów z wykorzystaniem LogikiRozmytej dla mikrokontrolerów rodziny ST6 SGM THOMSON i mikrokontrolerów
MICROCHIP.
Program posiada trzy edytory graficzne (rys.2.8) służące do tworzenia regulatora
rozmytego.
Rys. 2.8 Edytory graficzne fuzzyTECH.
Przedstawione okna na rysunku 2.8 to:
− Okno służące do budowy struktury regulatora (1)
− Okno służące do definiowania zmiennych wejściowych i wyjściowych (2)
− Okno służące do tworzenie reguł (3)
15
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 16/157
Program ten posiada opcję analizy projektu utworzonego regulatora, poprzez Transfer
Plot i Time Plot , przedstawionych na rysunku 2.9.
Rys. 2.9 Okna służące do analizy projektów.
Opis:
– System 8-bitowy: do 4 wejść i jedno wyjście,
– Zmienne: do 7 poziomów dla wejścia/wyjścia,
– Reguły: do 125 reguł.
Optymalizacja on-line:
– Wizualizacja i modyfikacja w czasie rzeczywistym, – Zapisywanie danych.
Optymalizacja off-line:
– Transfer Plot,
– Debugger: konfiguracja z poziomu PC w czasie rzeczywistym,
– Przebiegi czasowe: time plot dla wejść/wyjść,
– Symulacja: analiza zbudowanego modelu.
Generowany kod: – Zoptymalizowany kod asemblera ST6.
Interfejs użytkownika
– Graficzny Interfejs Użytkownika (GUI).
Właściwości kodu
– 7 reguł / 2 wejścia / 1 wyjście 10ms 580 bajtów ROM – 30 bajtów RAM.
– 20 reguł / 2 wejścia / 1 wyjście 15ms 670 bajtów ROM – 34 bajtów RAM.
16
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 17/157
2.3.2 FuzzyTECH™ 5.31
FuzzyTECH 5.31 to nowsza wersja programu fuzzyTECH. Do podstawowych cech tego
produktu można zaliczyć [1]:
– Rozbudowany graficzny interfejs użytkownika GUI (rys. 2.10) pozwalający na budowę,
testowanie i analizowanie systemów rozmytych w technologii point-and-click.
– Moduł graficznej konstrukcji i edycji zmiennych lingwistycznych
– Rozbudowany system debugowania i walidacji modeli.
– Moduł analityczny z wizualizacją w postaci dwu- lub trój-wymiarowej.
– Możliwość automatycznego testowania i symulacji działania systemów.
– Możliwość integrowania ze środowiskami MATLAB/SIMULINK, MATRIXX, MS
EXCEL, MS ACCESS, VISUAL BASIC.
– Wszelkie interakcje z modelem rozmytym odbywają się w czasie rzeczywistym
– Bogata baza narzędzi do optymalizowania systemów.
– Zdolność do generowania kodu w języku C i asemblerze.
– Budowa systemów w technologii RAID (Rapid Application Development).
Rys. 2.10 GUI środowiska FuzzyTECH [1].
FuzzyTech można na pewno zaliczyć do najbardziej rozbudowanych i zaawansowanych
technicznie środowisk związanych z logiką rozmytą. Jest to jednak aplikacja komercyjna
i droga, dedykowana firmom lub ośrodkom badawczym trwale związanym z systemami
rozmytymi.
17
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 18/157
2.4 MATLAB – Fuzzy Logic Toolbox
MATLAB jest komercyjnym pakietem firmy Mathworks służącym do wykonywania
obliczeń numerycznych lub symbolicznych.
Fuzzy Logic Toolbox rozszerza środowisko MATLAB o narzędzia do projektowania
systemów opartych na logice rozmytej. Graficzne interfejsy użytkownika (GUI) umożliwiają
przejście przez kolejne etapy projektowania systemu wnioskowania rozmytego. Moduł
zawiera funkcje dla wielu typowych metod logiki rozmytej [1]:
– Wyspecjalizowane graficzne interfejsy użytkownika (GUI), do budowy rozmytych
systemów wnioskujących oraz podglądu i analizy wyników.
– Funkcje przynależności do tworzenia systemów rozmytego wnioskowania.
– Obsługa logiki AND, OR i NOT w zdefiniowany przez użytkownika sposób.
– Umieszczania systemu rozmytego wnioskowania w modelu Simulinka.
– Generowania kodu C lub samodzielnie wykonywalnego modelu systemu rozmytego
wnioskowania.
Rys. 2.11 Rozbudowane GUI w pakiecie Fuzzy Logic Toolbox [1].
Na rys. 2.11 są przedstawione okna wykorzystywane w czasie tworzenia projektów:
główne okno Toolbox Fuzzy (1) – do określania ilości zmiennych wejść/wyjść, okno edycji
funkcji przynależności wejść (2) – do określania ilości i przebiegu funkcji przynależności
kolejnych zmiennych, okno edycji tabeli reguł (3) – do określania reguł regulatora, okno
18
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 19/157
analizy tabeli reguł (4) – do testowania dobranych reguł, płat powierzchniowy (5) – graficzna
wizualizacja funkcji przejść.
Podstawową zaletą tego rozwiązania są olbrzymie możliwości integracji systemów
rozmytych z innymi systemami i budowanie z nich systemów hybrydowych oraz bardzo
rozbudowane GUI, ułatwiające pracę z programem. Rozbudowany interfejs graficzny
użytkownika pomaga w budowie systemów, bez konieczności znajomości szczegółów składni
języka MATLAB.
2.5 Synteza dyskretnego układu rozmytego w programie MATLAB – własny projekt
W module Simulink programu MATLAB został utworzony przez autora blok regulatora
rozmytego z zamysłem zastosowania go do symulacji układu stabilizacji kąta przechylenia(lub pochylenia) samolotu, w celu wprowadzenia i zbadania w nim bloku modyfikatora.
Budowa utworzonego bloku regulatora rozmytego oparta jest na podstawowych blokach
biblioteki Simulink. Struktura utworzonego regulatora ulegała zmianie –zaprezentowano tutaj
dwie podstawowe jego wersje.
2.5.1 Pierwsza wersja bloku regulatora rozmytego.
Projekt własny w Simulinku regulatora rozmytego zakładał:
– cztery główne bloki regulatora rozmytego: fuzyfikacji, modyfikator, wnioskowania,
defuzyfikacji,
– trzy wejścia i jedno wyjście,
– trzy liniowe funkcje przynależności dla każdego wejścia,
– modyfikator liniowych funkcji przynależności wejść na funkcje paraboliczne,
– trzy funkcje defuzyfikacji wyjścia,
– CoM (centrum of maximum) jako metodę defuzyfikacji.
Rys. 2.12 Utworzony przez autora blok regulatora rozmytego.
19
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 20/157
Blok utworzonego regulatora rozmytego (rys. 2.12), dalej zwanym regulatorem
rozmytym, posiada strukturę wielopoziomową. Struktura wielopoziomowa regulatora
rozmytego wynika nie tylko z podziału funkcji regulatora rozmytego, ale również
uwarunkowana jest złożonością całego układu tworzonego bloku.
Blok regulatora rozmytego składa się z trzech zasadniczych bloków: fuzyfikacji, reguł
i defuzyfikacji, a jako czwarty – dodatkowy blok – wprowadzono modyfikator (rys. 2.13).
Rys. 2.13 Struktura wewnętrzna regulatora rozmytego – własny projekt
Wejścia: we_1, we_2, we_3 są wejściami regulatora rozmytego, które wchodzą do
bloku fuzyfikacji. Z bloku fuzyfikacji wychodzi dziewięć współczynników przynależności(trzy wejścia, każde z trzema funkcjami przynależności – to daje dziewięć współczynników).
20
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 21/157
Współczynniki przynależności są zamieniane w modyfikatorze według jednej z dostępnych
funkcji i podawane do bloku reguł, gdzie tworzą możliwe dwadzieścia siedem kombinacji,
(taka również liczba wyjść bloku reguł). W bloku defuzyfikacji, na podstawie wartości
z bloku reguł, uzyskiwany jest końcowy wynik i podawany na wyjście regulatora wy.
Blok fuzyfikacji składa się z trzech bloków fuzyfikacji, z których każdy odpowiada za
rozmywanie jednej zmiennej wejściowej regulatora (rys. 2.14). Do każdego bloku wchodzi po
jednej wartości sygnału wejściowego, a wychodzą współczynniki przynależności do trzech
funkcji.
Rys. 2.14 Struktura wewnętrzna bloku fuzyfikacji.
Każdy blok fuzyfikacji wejścia składa się z trzech bloków, z których każdy odpowiada
za inną funkcję przynależności (rys. 2.15). Mamy tutaj kolejno trzy funkcje: ze zboczem
opadającym, ze zboczem narastającym i opadającym oraz ze zboczem narastającym.
21
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 22/157
Rys. 2.9 Struktura wewnętrzna jednego z bloków fuzyfikacji wejść.
Każdy z bloków funkcji przynależności (rys. 2.15) składa się z podstawowych bloków
biblioteki Simulinku: stałych, sumatorów, bloków mnożących, przełączników warunkowych,
wejść, wyjść.
Rys. 2.16 Struktura bloku funkcji przynależności ze zboczem opadającym
Blok funkcji przynależności ze zboczem opadającym (rys. 2.16) posiada dwa parametry
p1 i p2. Określają one wartość zmiennej wejściowej dla początku i końca zbocza opadającego
funkcji – f (p1) = 1, f (p2) = 0. Przełączniki warunkowe x-p1>0 i p2-x>0 są tak ustawione, że
znajdują się w górnym położeniu gdy sygnał sterujący (podawany na wejście środkowe) jest
większy od zera. Zmienna wejściowa, wchodząca przez blok we, może należeć do jednegoz trzech przedziałów:
– (∞; p1) – przełącznik x-p1>0 znajduje się w dolnym położeniu, przełącznik p2-x>0
znajduje się w górnym położeniu – w efekcie na wyjście wy podawana jest wartość 1,
– <p1; p2) – przełączniki x-p1>0 i p2-x>0 znajdują się w górnym położeniu – na wyjście wy
podawany jest iloraz (p2-x)/(p2-p1),
– <p2; ∞) - przełącznik p2-x>0 znajduje się w położeniu dolnym – na blok wy podawana jest
wartość 0.
22
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 23/157
Blok funkcji przynależności ze zboczem narastającym i opadającym (rys. 2.17) posiada
cztery parametry p1, p2, p3, p4. Określają one wartość zmiennej wejściowej dla początku
i końca zbocza narastającego funkcji – f (p1) = 0 i f (p2) = 1, oraz początku i końca zbocza
opadającego funkcji – f (p3) = 1 i f (p4) = 0. Przełączniki warunkowe x-p3>0, p2-x>0, p4-
x>0, p5-x>0 są tak ustawione, że znajdują się w górnym położeniu gdy sygnał sterujący
(podawany na wejście środkowe) jest większy od zera.
Rys. 2.17 Struktura bloku funkcji przynależności ze zboczem narastającym i opadającym
Zmienna wejściowa układu funkcji przynależności ze zboczem narastającym
i opadającym, wchodząca przez blok we, może należeć do jednego z pięciu przedziałów:
– (∞; p3) – przełącznik x-p3>0 znajduje się w dolnym położeniu, przełącznik p4-x>0
znajduje się w górnym położeniu – w efekcie na wyjście wy podawana jest wartość 0,
– <p3; p4) – przełączniki x-p1>0 i p2-x>0 znajdują się w górnym położeniu – na wyjście wy
podawany jest iloraz (x-p3)/(p4-p3),
– <p4; p5) – przełącznik p5-x>0 znajduje się w położeniu górnym, przełącznik p4-x>0
znajduje się w położeniu dolnym – na blok wy podawana jest wartość 1.
– <p5; p6) – przełącznik p6-x>0 znajduje się w górnym położeniu, przełączniki p5-x>0 i p4-
x>0 znajdują się w dolnym położeniu – na wyjście wy podawany jest iloraz (p5-x)/(p6-p5),
– <p6; ∞) – przełącznik p6-x>0, p5-x>0 i p5-x>0 znajdują się w dolnym położeniu – na
wyjście wy podawany jest wartość 0.
23
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 24/157
Blok funkcji przynależności ze zboczem narastającym (rys. 2.18) posiada dwa
parametry p7 i p8. Określają one wartość zmiennej wejściowej dla początku i końca zbocza
narastającego funkcji – f (p7) = 0, f (p8) = 1. Przełączniki warunkowe x-p7>0 i p8-x>0 są tak
ustawione, że znajdują się w górnym położeniu, gdy sygnał sterujący (podawany na wejście
środkowe) jest większy od zera.
Rys. 2.18 Struktura bloku funkcji przynależności ze zboczem narastającym
Zmienna wejściowa układu funkcji przynależności ze zboczem narastającym,
wchodząca przez blok we, może należeć do jednego z trzech przedziałów:
– (∞; p7) – przełącznik x-p7>0 znajduje się w dolnym położeniu, przełącznik p8-x>0
znajduje się w górnym położeniu – w efekcie na wyjście wy podawana jest wartość 0,
– <p7; p8) – przełączniki x-p7>0 i p8-x>0 znajdują się w górnym położeniu – na wyjście wy
podawany jest iloraz (x-p7)/(p8-p7),
– <p8; ∞) - przełącznik p8-x>0 znajduje się w położeniu dolnym – na blok wy podawana jest
wartość 1.
Dla pozostałych dwóch bloków fuzyfikacji wejść (rys. 2.14) struktura wewnętrzna jest
analogiczna jak dla bloku fuzyfikacji pierwszego wejścia, tzn. każdy z nich składa się z trzech
bloków funkcji przynależności, bloki funkcji przynależności ma taką samą strukturę jak te
opisane powyżej.
Kolejnym blokiem regulatora rozmytego (rys. 2.13), po bloku fuzyfikajci, jest
modyfikator. Celem zastosowania modyfikatora jest dążenie do zmian charakteru sterowania
rozmytego.
24
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 25/157
Rys. 2.19 Trójkątna funkcja przynależności.
W prezentowanej syntezie dyskretnego układu rozmytego przewidziano dwa typy
modyfikacji wejściowych funkcji przynależności: x2 i 2x- x2. Na rys. 2.19 przedstawiono
trójkątną funkcję przynależności. Zadaniem modyfikatora typu x2 jest zamienić trójkątną
funkcję przynależności na funkcję wklęsłą, jak na rys. 2.14.
Rys. 2.20 Zmodyfikowana trójkątna funkcja przynależności modyfikatorem typu x2.
Zadaniem modyfikatora typu 2x-x2 jest zamienić trójkątną funkcję przynależności na
funkcję wypukłą, jak na rys. 2.21.
Rys. 2.21 Zmodyfikowana trójkątna funkcja przynależności modyfikatorem typu 2x-x2.
25
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 26/157
Bloki modyfikatora (rys. 2.22a, 2.22b, 2.22c) składają się z podstawowych bloków
biblioteki Simulinku: stałych, sumatorów, bloków mnożących, przełączników warunkowych,
wejść, wyjść.
Układ przedstawiony na rys. 2.22a – pierwsza część modyfikatora – odnosi się do
zmiany współczynników przynależności funkcji pierwszego wejścia regulatora rozmytego. Za
pomocą układów mnożących i sumatorów, w modyfikatorze ze zmiennej wejściowej we_11
(której wartość przyjmujemy jako x) otrzymywane są dwie inne wartości: x 2 i 2x-x2.
Środkowe przełączniki warunkowe Switch, Switch2 i Switch4 są tak ustawione, że gdy
na wejście sterujące (środkowe) podawany jest sygnał większy od 1.5, wtedy przełączają one
w górne położenie. Końcowe przełączniki warunkowe Switch1, Switch3, Switch5 są tak
ustawione, że gdy na wejście sterujące (środkowe) podawany jest sygnał większy od 2.5,
wtedy przełączają one w górne położenie.
Rys. 2.22a Pierwsza część bloku modyfikatora.
Blok parametru m1 (rys. 2.22a) ma za zadanie przełączanie sygnałów:
– m1 = 1 – na blok wyjścia wy podawana jest wartość z bloku wejścia we,
– m1 = 2 – na blok wyjścia wy podawana jest wartość z bloku wejścia we zmodyfikowana
według funkcji x2,
26
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 27/157
– m1 = 3 – na blok wyjścia wy podawana jest wartość z bloku wejścia we zmodyfikowana
według funkcji 2x-x2.
Dalej zostały przedstawione układy części modyfikatora współczynników
przynależności funkcji dla wejścia drugiego (rys. 2.22b) i wejścia trzeciego regulatora
rozmytego (rys. 2.22c). Ich działanie jest analogiczne jak układu pierwszej części
modyfikatora – występujące różnice to: współczynnik bloku parametru przełączającego,
nazwy zmiennych wejściowych i wyjściowych, nazw bloków mnożących, sumatorów
i przełączników warunkowych.
Rys. 2.22b Druga część bloku modyfikatora.
27
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 28/157
Rys. 2.22c Trzecia część bloku modyfikatora.
Kolejnym blokiem regulatora rozmytego (rys. 2.23), po bloku modyfikatora, jest blok
reguł. Składają się on z podstawowych bloków biblioteki Simulinku: stałych, sumatorów, przełączników warunkowych, wejść, wyjść (rys. 2.24a, 2.24b, 2.24c). Algorytm
poszczególnych reguł polega na znalezieniu najmniejszej wartości spośród wybranych wejść
(współczynników przynależności do funkcji wejściowych, tworzących daną regułę).
Rys. 2.23 Przykład dyskretnego bloku tabeli reguł.
Do omówienia bloku reguł posłużono się dyskretnym członem bloku (rys. 2.23), który
jest odpowiedzialny za pierwszą regułę.
Przełączniki warunkowe Switch i Switch1 członów reguł są ustawione tak, że gdy na
wejście sterujące (środkowe) podawany jest sygnał dodatni lub równy zero, wtedy
przełącznik znajduje się w dolnej pozycji, a gdy na wejście sterujące podawany jest sygnałujemny, wtedy przełącznik znajduje się w pozycji górnej. A więc, jeśli wartość na górnym
28
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 29/157
wejściu jest większy od wartości podanej na wejście dolne, wtedy ujemna różnica podawana
na wejście sterujące powoduje, że przełącznik znajduje się w dolnej pozycji, a tym samym na
wyjściu pojawia się wartość mniejsza z dwóch wartości podawanych na wejścia przełącznika
warunkowego.
W bloku wnioskowania znajduje się dwadzieścia siedem analogicznych członów,
z których każdy odpowiada za jedną regułę. Ilość reguł wynika z możliwych kombinacji
funkcji przynależności – jedna funkcja przynależności z wejścia pierwszego, jedna funkcja
przynależności z wejścia drugiego i jedna funkcja przynależności z wejścia trzeciego (każde
wejście ma po trzy funkcje przynależności – 3*3*3=27). Nie wszystkie reguły muszą być
używane. Końcowe przełączniki warunkowe wl/wyl są tak ustawione, że dodatniemu
sygnałowi sterującemu odpowiada górne położenie przełącznika. Przypisanie wartości 0 dla
parametru r powoduje pojawienie się na wyjściu wartości 0 – jednoznaczne z wyłączeniem
reguły. Przypisanie wartości 1 dla parametru r powoduje, że na wyjście podawana jest
wyszukana najmniejsza wartość współczynnika przynależności.
29
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 30/157
R s. 2.24a.
30
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 31/157
R s. 2.24b.
31
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 32/157
R s. 2.24c.
32
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 33/157
Kolejnym blokiem regulatora rozmytego (rys. 2.13), po bloku wnioskowania, jest blok
defuzyfikacji. Blok defuzyfikacji (rys. 2.27) składa się z podstawowych bloków biblioteki
Simulinku: wejść, wyjść, stałych, sumatorów, bloków mnożących, przełączników
warunkowych.
Rys. 2.25 Przykład dyskretnego członu bloku defuzyfikacji.
Blok defuzyfikacji składa się z powtarzających się części jak na rys. 2.25. Zadaniem
tego członu jest wyszukanie wartości większej spośród wartości podawanych na wejścia.
Człon ten składa się z przełącznika warunkowego 1, którego sygnał sterujący jest sygnałem
różnicowym wejścia górnego i dolnego. Przełącznik warunkowy ustawiony jest tak, że gdy
sygnał na wejściu sterującym jest dodatni (wartość na wejściu górnym większa od wartości na
wejściu dolnym), wtedy przełącznik znajduje się w pozycji górnej podając na wyjście wartość
większą.
Rys. 2.26 Część bloku defuzyfikacji odpowiedzialna za algorytm metody defuzyfikacji COM.
33
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 34/157
R s.2.27
34
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 35/157
Zadaniem części bloku defuzyfikacji (rys. 2.27) odpowiedzialnej za algorytm metody
defuzyfikacji COM (rys. 2.26) jest wyznaczenie końcowej wartości wyjściowej regulatora.
Algorytm metody CoM opisany jest równaniem:
(Lotki w prawo) * W_L_P + (Lotki w lewo) * W_L_L--------------------------------------------------------------------
[2.1](Lotki w prawo) + (Lotki zero) + (Lotki w lewo)
gdzie:
– Lotki w prawo – wartość uzyskana z bloku 23, która odpowiada największej wartości
z tabeli reguł przypisanej funkcji przynależności wyjścia Lotki w prawo,
– Lotki zero – wartość uzyskana z bloku 13, która odpowiada największej wartości z tabeli
reguł przypisanej funkcji przynależności wyjścia Lotki zero, – Lotki w lewo – wartość uzyskana z bloku 11, która odpowiada największej wartości
z tabeli reguł przypisanej funkcji przynależności wyjścia Lotki w lewo.
– W_L_P – wartość zmiennej wyjściowej odpowiadająca maksimum funkcji Lotki w prawo,
– W_L_L – wartość zmiennej wyjściowej odpowiadająca maksimum funkcji Lotki w lewo.
Struktura układu regulatora rozmytego zawiera szereg parametrów, które określają:
– przebieg funkcji przynależności,
– wybór funkcji modyfikacji współczynników przynależności,
– stan włączona/wyłączona reguła,
– wartości zmiennych wyjściowych odpowiadających maksimom wyjściowych funkcji
przynależności.
Do określenia tych parametrów służy m-plik konfiguracyjny:
Parametry_regulatora_rozmytego.m , którego zawartość znajduje się poniżej.
% Maksymilian Sobczak% 02.05.2008 Rzeszów%________________________________________________________________% * * * * * * * * * * * * * * * *% 'Parametry_regulatora_rozmytego.m'% * * * * * * * * * * * * * * * *% Plik zawierający definicje parametrów 'REGULATORA ROZMYTEGO'%________________________________________________________________%* * * * * * FUZYFIKACJA * * * * * * * *%________________________________________________________________% Parametry pierwszego wejscia (żyroskop)% _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _% * * Parametry pierwszej funkcji przynależności * * *% ____p1_
% \% \_p2____
35
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 36/157
% p1 - początek zbocza opadajacego% p2 - koniec zbocza opadajacegop1=-0.2p2=0% * * Parametry drugiej funkcji przynależności * * *% _p4_p5_
% / \% ____p3_/ \_p6____% p3 - początek zbocza narastajacego% p4 - koniec zbocza narastajacego% p5 - poczatek zbocza opadajacego% p6 - koniec zbocza opadajacegop3=-0.2p4=0p5=0p6=0.2% * * Parametry trzeciej funkcji przynależności * * *% _p8____% /
% ____p7_/% p7 - początek zbocza narastajacego% p8 - koniec zbocza narastajacegop7=0p8=0.2%________________________________________________________________% Parametry drugiego wejscia (klinometr)% _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _% * * Parametry pierwszej funkcji przynależności * * *% ____p9_% \% \_p10____% p9 - początek zbocza opadajacego
% p10 - koniec zbocza opadajacegop9=-0.1p10=0% * * Parametry pierwszej drugiej przynależności * * *% _p12_p13_% / \% ____p11_/ \_p14____% p11 - początek zbocza narastajacego% p12 - koniec zbocza narastajacego% p13 - poczatek zbocza opadajacego% p14 - koniec zbocza opadajacegop11=-0.1p12=0
p13=0p14=0.1% * * Parametry ptrzeciej funkcji przynależności * * *% _p16____% /% ____p15_/% p15 - początek zbocza narastajacego% p16 - koniec zbocza narastajacegop15=0p16=0.1%________________________________________________________________% Parametry trzeciego wejscia (korekcja)% _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _% * * Parametry pierwszej funkcji przynależności * * *% ____p17_% \
36
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 37/157
% \_p18____% p17 - początek zbocza opadajacego% p18 - koniec zbocza opadajacegop17=-1p18=0% * * Parametry drugiej funkcji przynależności * * *
% _p20_p21_% / \% ____p19_/ \_p22____% p19 - początek zbocza narastajacego% p20 - koniec zbocza narastajacego% p21 - poczatek zbocza opadajacego% p22 - koniec zbocza opadajacegop19=-1p20=0p21=0p22=1% * * Parametry trzeciej funkcji przynależności * * *% _p24____
% /% ____p23_/% p23 - początek zbocza narastajacego% p24 - koniec zbocza narastajacegop23=0p24=1% Koniec fuzyfikacji%________________________________________________________________% * * * * * MODYFOKATOR * * * * * * * *%________________________________________________________________% Zadaniem modyfikatora jest zmiana charakteru funkcji przynależności.% Liniowe funkcje przynależności (dla m=1) mogą zostać zastąpione przezfunkcje:
% * x^2 - paraboliczna wklęsła (dla m=2),% *% * *% * *% * *% * *% * 2x-x^2 - paraboliczna wypukła (dla m=3).% **% * *% * *% * *% * *m1=1 % parametr ustawiający modyfikację wejścia pierwaszego,
m2=1 % parametr ustawiający modyfikację wejścia drugiego,m3=1 % parametr ustawiający modyfikację wejścia pierwaszego.% Koniec modyfikatora%________________________________________________________________% * * * * * TABELA REGUŁ * * * * * * *%________________________________________________________________% Włączenie reguły następuje poprzez przypisanie '1' dla parametru% 'rnr', gdzie litera 'r' oznacza słowo 'reguła', a 'nr' - numer% reguły% WE_1 - zyroskop% WE_2 - klinometr% WE_3 - korekcja
% WE_1 WE_2 WE_3r1=1 % \_ \_ \_ Pr2=1 % \_ \_ _/\_ P
37
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 38/157
r3=1 % \_ \_ _/ Pr4=1 % \_ _/\_ \_ Zr5=1 % \_ _/\_ _/\_ Pr6=1 % \_ _/\_ _/ Pr7=1 % \_ _/ \_ Lr8=1 % \_ _/ _/\_ L
r9=1 % \_ _/ _/ Pr10=1 % _/\_ \_ \_ Zr11=1 % _/\_ \_ _/\_ Pr12=1 % _/\_ \_ _/ Pr13=1 % _/\_ _/\_ \_ Lr14=1 % _/\_ _/\_ _/\_ Zr15=1 % _/\_ _/\_ _/ Pr16=1 % _/\_ _/ \_ Lr17=1 % _/\_ _/ _/\_ Lr18=1 % _/\_ _/ _/ Zr19=1 % _/ \_ \_ Lr20=1 % _/ \_ _/\_ Zr21=1 % _/ \_ _/ P
r22=1 % _/ _/\_ \_ Lr23=1 % _/ _/\_ _/\_ Lr24=1 % _/ _/\_ _/ Zr25=1 % _/ _/ \_ Lr26=1 % _/ _/ _/\_ Lr27=1 % _/ _/ _/ L% Koniec tabeli reguł%________________________________________________________________% * * * * * DEFUZYFIKACJA * * * * * * *%________________________________________________________________% A - maksymalne lewe wychylenie lotek [rad]W_L_L=0.7% B - maksymalne prawe wychulenie lotek [rad]
W_L_P=-0.7% Koniec tabeli defuzyfikacji%________________________________________________________________
Zbudowany blok regulatora rozmytego zastosowano w układzie do stabilizacji kąta
pochylenia samolotu Koliber (rys. 2.28). Symulacja miała na celu ocenę poprawności
działania utworzonego regulatora.
Rys. 2.28 Układ symulacji ruchu podłużnego samolotu KOLIBER z regulatorem rozmytym.
38
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 39/157
Ustawienia regulatora rozmytego jak w pliku Parametry_regulatora_rozmytego.m
(powyżej).
Do bloku KOLIBER podłużny (na Rys. 2.28) został wczytany poniższy model:
%Model zlinearyzowany
%wektor stanu symetryczny [u,alfa,q,teta]%Faza startu, prędkość większa od prędkości oderwania V = 100 km/h (Vlif=95km/h)%Wyważenie 0.000, masa 810 Lot na wysokości 250 m%dla kąta toru 2.3 i prędkości 27.8%Wychylone klapy 50.0 %%alfa0= 15.7, de0= -12.3, dT0= 99.1 %, Cz/Cx= 6.1%Częstości własne (sym) : 0.413203 ; 0.413203 ; 1.945111 ; 1.945111 ;%Tłumienie 0.003296 ; 0.003296 ; 0.605874 ; 0.605874 ;
Ap = [ -0.1149 -0.2350 0 -9.7987;-0.0254 -1.2766 1.0000 -0.0142;0.0027 -2.4726 -0.9682 0;
0 0 1.0000 0]; Bp = [ 0 0.0200;
-0.1058 0.0001;-3.6408 0;0 0];
Cp=eye(4);Dp=[0 0; 0 0; 0 0; 0 0];
U0=27.8;dT = 30Step = 0.5
W wyniku przeprowadzonej symulacji układu z regulatorem rozmytym otrzymano
przebiegi czasowe: prędkości kątowej q i kąta pochylenia samolotu teta (rys. 2.29), oraz
przebieg czasowy sygnału sterującego z wyjścia regulatora rozmytego.
Rys. 2.29 Przebiegi czasowe q i θ samolotu KOLIBER podłużny z regulatorem rozmytym.
39
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 40/157
Rys. 2.30 Przebieg czasowy sygnału sterującego z regulatora rozmytego.
Przebiegi czasowe układu do stabilizacji kąta pochylenia samolotu Koliber
z regulatorem rozmytym (rys. 2.29 i rys. 2.30) pokazują, że układ zachowuje się poprawnie,
tzn. stabilizuje pewną wartość kąta pochylenia θ, ma czas regulacji około 5[s], a występujące
przeregulowania są dopuszczalne i sygnał sterujący jest do osiągnięcia dla rzeczywistych
układów wykonawczych.
Dla porównania uzyskanych wyników układu z regulatorem rozmytym (rys. 2.29)utworzono układ stabilizacji kąta pochylenia samolotu Koliber z jednostkowym ujemnym
sprzężeniem zwrotnym (rys. 2.31). Układ ten zawiera taki sam model samolotu KOLIBER
podłużny, takie same wymuszenia Step, dT i dh.
Rys. 2.31 Układ samolotu KOLIBER z jednostkowym ujemnym sprzężeniem zwrotnym.
W wyniku symulacji układu z rys. 2.31 otrzymano przebiegi czasowe na rys. 2.32
i 2.33. Porównanie wyników symulacji układu do stabilizacji kąta pochylenia samolotu
Koliber z regulatorem rozmytym (rys. 2.34) z wynikami symulacji układu do stabilizacji
40
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 41/157
z jednostkowym ujemnym sprzężeniem zwrotnym kąta pochylenia samolotu Koliber (rys.
2.25) pokazuje, że regulator rozmyty stabilizuje kilkakrotnie mniejszą wartość kąta
pochylenia oraz że wprowadza charakter oscylacyjny do układu.
Rys.2.32 Przebiegi czasowe q i θ samolotu KOLIBER podłużny ze sprzężeniem zwrotnym.
Rys. 2.33 Przebieg czasowy sygnału wychylenia steru wysokości.
Dla lepszego zobrazowania wpływu modyfikatora na sterowanie obiektem, został
utworzony układ (rys. 2.34) zawierający trzy takie same bloki z modelem samolotu
KOLIBER podłużny, z których każdy sterowany jest regulatorem rozmytym z innym
modyfikatorem wejściowych funkcji przynależności.
41
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 42/157
Rys. 2.34 Układ do badania wpływu modyfikatora na sterowanie obiektem KOLIBER podłużny
W układzie przedstawionym na rys. 2.34 Regulator rozmyty1 jest bez aktywnego
modyfikatora, Regulator rozmyty2 ma modyfikator typu x2 (jak na rys. 2.20), a Regulator
rozmyty3 ma modyfikator typu 2x-x2 (jak na rys. 2.21). Sygnały wyjściowe prędkości
pochylania q, z wszystkich trzech bloków modelu KOLIBER podłużny, są podane na wspólny
wykres q – analogicznie dla sygnału wyjściowego kąta pochylenia θ i wejściowego sygnału
sterującego dh.
Uzyskane wyniki przedstawione są na wykresach rys. 2.35, 2.36 i 2.37.
42
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 43/157
Rys. 2.35 Przebiegi czasowe kąta pochylania θ układu z rys. 2.33.
Z wykresów na rys. 2.35 można wnioskować, że modyfikator typu x2 przyspiesza
stabilizację kąta pochylenia samolotu θ, tzn. powoduje skrócenie czasu regulacji,
a modyfikator typu 2x-x2 powoduje wydłużenie czasu regulacji
Rys. 2.36 Przebiegi czasowe prędkości pochylania q układu z rys. 2.34.
Z wykresów na rys. 2.36 można wnioskować, że modyfikator typu x2 nadaje brutalny
charakter sterowania regulatorowi rozmytemu, co widać poprzez większą częstotliwość
i większe wartości przebiegu prędkości pochylania q. Modyfikator typu 2x-x2 nadaje łagodny
charakter sterowania regulatorowi rozmytemu, co wyraża się poprzez mniejszą częstotliwość
i mniejsze wartości przebiegu prędkości pochylania q.
43
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 44/157
Rys. 2.37 Przebiegi czasowe sygnału sterującego dh układu z rys. 2.34.
Na rys. 2.37 zostały przedstawione przebiegi czasowe sygnałów sterujących
regulatorów z różnym typem modyfikatora, na których widać, że regulatora z modyfikatorem
x2 (2x-x2) generuje większe (mniejsze) wartości i większą (mniejszą) częstotliwość sygnał
sterującego niż regulator bez modyfikatora.
2.5.2 Druga wersja bloku regulatora rozmytego.
Prace symulacyjne z własnym blokiem regulatora rozmytego oraz zapoznanie się
z coraz to nowszymi komercyjnymi narzędzia do tworzenia regulatorów rozmytych
spowodowały wprowadzenie zmian do własnego bloku regulatora rozmytego:
– bardziej rozbudowana struktura wielopoziomowa,
– ograniczenie ilości połączeń pomiędzy blokami,
– zastąpienie pojedynczych połączeń połączeniami zbiorczymi,
– wprowadzenie dodatkowych współczynników określających wagę reguł.
Struktura wewnętrzna regulatora rozmytego (rys. 2.38) nadal składa się z czterech bloków, mają one jednak pojedyncze połączenia.
Rys. 2.38 Nowa struktura wewnętrzna regulatora rozmytego własnego projektu.
44
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 45/157
Blok fuzyfikacji (rys. 2.39) różni się tym od poprzedniej wersji, że posiada jedno
wyjście zamiast dziewięciu, które uzyskano poprzez demultiplikację sygnałów.
Rys. 2.39 Nowa struktura wewnętrzna bloku fuzyfikacji regulatora rozmytego.
Blok fuzyfikacji poszczególnych wejść (rys. 2.40) ma strukturę podobną jak wcześniej
– zamiast trzech wejść i wyjść posiada po jednym wejściu z multiplekserem i wyjście
z demultiplekserem.
Rys. 2.40 Struktura wewnętrzna bloków fuzyfikacji poszczególnych wejść.
Blok modyfikatora (rys. 2.41) ma strukturę podobną jak wcześniej – zamiast trzech
wejść i wyjść posiada po jednym wejściu z multiplekserem i wyjście z demultiplekserem.
Rys. 2.41 Nowa struktura wewnętrzna bloku modyfikatora funkcji przynależności
45
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 46/157
Bloki modyfikacji funkcji przynależności poszczególnych wejść (rys. 2.42) podzielono
na trzy bloki, z których każdy odpowiedzialny jest za modyfikację jednej funkcji
przynależności danego wejścia. Blok ten posiada jedno wejście z multiplekserem i jedno
wyjście z demultiplekserem.
Rys. 2.42 Struktura wewnętrzna bloku modyfikatora funkcji przynależności wejścia pierwszego
Każdy z bloków modyfikacji określonej funkcji przynależności zawiera jeden układ
modyfikacji współczynnika przynależności (rys. 2.43).
Rys. 2.43 Struktura wewnętrzna bloku modyfikatora funkcji przynależności ze zboczem opadającymwejścia pierwszego
Blok reguł został podzielony na trzy bloki, z których każdy zawiera po dziewięć reguł.
Została tutaj przeniesiona część bloku z wcześniejszego bloku defuzyfikacji, która
odpowiedzialna była za przypisanie reguł do jednej z wyjściowych funkcji przynależności
i wyszukiwanie najmocniejszej reguły spośród reguł przypisanych do danej wyjściowej
funkcji przynależności.
Nowy blok reguł, pokazany na rys. 2.38, zawiera jedno wejście i jedno wyjście
z demultiplekserem sygnałów.
46
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 47/157
Rys. 2.44 Nowa struktura wewnętrzna bloku reguł
Bloki Reguly 1-9, Reguly 10-18, Reguly 20-27 , na rys. 2.44, składają się z dziewięciu bloków, z których każdy odpowiedzialny jest za jedną regułę (co widać na rys. 2.45).
Rys. 2.45 Struktura wewnętrzna bloku reguły 1-9
Wewnętrzna struktura bloków wyjściowych funkcji przynależności Lotki w prawo,
Lotki zero i Lotki w lewo (rys. 2.44), zawiera część z wcześniejszego bloku defuzyfikacji oraz
dodatkowo multiplekser sygnałów (co przedstawiono na rys. 2.46) za pomocą którego
w łatwy sposób można przypisać wybrane reguły do danej wyjściowej funkcji przynależności.
47
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 48/157
Rys. 2.46 Struktura wewnętrzna bloku wyjściowej funkcji przynależności Lotki w prawo
Multiplekser sygnałów w bloku wyjściowej funkcji przynależności (rys. 2.46) posiada
dwadzieścia siedem wyjść, gdyż każde wyjście prezentuje jedna z dwudziestu siedmiu reguł.
Każdy blok poszczególnych reguł (rys. 2.45) składa się z układu wyznaczającego
najmniejszą wartość spośród trzech tworzących daną regułę (rys. 2.47). Dodatkowo znajduje
się tutaj multiplekser sygnałów, za pomocą którego w łatwy sposób można utworzyćkombinację wejść tworzącą daną regułę.
48
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 49/157
Rys. 2.47 Struktura wewnętrzna bloku reguła 1
Nowy blok defuzyfikacji (rys. 2.48) zawiera układ mający na celu wyznaczenie
końcowej wartości regulatora rozmytego według metody defuzyfikacji podobnej do Centrum
Of Maximum. W porównaniu z wcześniejszą wersją regulatora rozmytego zawartość tego
bloku została pomniejszona o część przeniesioną do bloku reguł, a która odpowiedzialna była
za przypisanie reguł do danej wyjściowej funkcji przynależności.
Rys. 2.48 Nowa struktura wewnętrzna bloku defuzyfikacji
49
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 50/157
Uwagi do zbudowanego dyskretnego modelu regulatora rozmytego.
Zalety dyskretnego modelu regulatora rozmytego:
– działa poprawnie (co świadczy o znajomości struktury regulatora rozmytego przez autora),
– zawiera modyfikator funkcji przynależności, którego efekt działania jest sensowny, – ma możliwość rozbudowy, co widać przez porównanie wersji pierwszej i drugiej,
– w przeprowadzonej symulacji wykazuje się dobrymi parametrami (krótki czas regulacji).
Wady dyskretnego modelu regulatora rozmytego:
– nie posiada graficznego interfejsy użytkownika GUI do tworzenia projektu,
– nie posiada możliwości generowania płata powierzchniowego,
– jest sztywny w swojej strukturze, tzn. wprowadzanie zmian takich jak dodawanie wejść,dodawanie funkcji przynależności, czy jakże ważnej modyfikacji tabeli reguł (konkretnie
przypisania wyjściowej funkcji przynależności do danej reguły), wymaga ingerencji
w strukturę układu,
– jest konfigurowany z poziomu m-pliku.
50
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 51/157
3. Projekt wstępny regulatora rozmytego do sterowania powierzchniamisterowymi BAL.
Realizację projektu wstępnego regulatora rozmytego przewidziano na mikroprocesorze
THOMSON. W celu uzyskania algorytmu regulatora posłużono się programami fuzzyTECH 3.0 i Realizer 2.20. Do zapisu uzyskanego algorytmu regulator rozmytego wykorzystano
program WINNE oraz urządzenie ST626x Starter Kit.
3.1. Struktura regulatora rozmytego
W programie fuzzyTECH 3.0 został utworzony projekt wstępny AP_5 regulatora
rozmytego stabilizującego kąt przechylenia samolotu. Celem projektu jest zbadanie
właściwości zaimplementowanego układu zbudowanego na mikrokomputerze ST6 SGMTHOMSON.
Rys. 3.1 Okno główne programu fuzzyTECH 3.0 z projektem regulatora rozmytego AP_5
Założenia projektu wstępnego AP_5:
a) dysponujemy trzema sygnałami wejściowymi:
– prędkością kątową p przechylania samolotu – mierzoną za pomocą żyroskopu,
– kątem φ przechylenia samolotu – mierzonym za pomocą klinometru,
– korekcją/sygnałem_nakazowym – z potencjometru,
b) otrzymujemy sygnał wyjściowy kształtujący PWM, który steruje
serwomechanizmami lotek
c) praca regulatora polega na generowaniu sygnału wyjściowego tak, aby :
– kąt przechylenia φ był równy zero lub przyjmował wartość jak zadana na wejście korekcji,
– prędkość kątowa p była równa zero lub była zgodna z kierunkiem zmian kąta φ do korekcji
(a jej wartość proporcjonalna do wartości rozbieżności pomiędzy kątem φ a wartością
korekcji).
W projekcie AP_5 zmienne wejściowe regulatora rozmytego posiadają po trzy etykiety
liniowych funkcji przynależności. Środkowe funkcje przynależności wejść żyroskopu
51
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 52/157
i klinometru są trapezowe (rys. 3.2 i 3.3) – posiadają tzw. luz, który powoduje, że regulator
rozmyty nie reaguje na odchyłki prędkości kątowej i kąta bliskie zeru, i tym samym praca
regulatora nie jest nadwrażliwa.
Rys.3.2 Funkcje przynależności zmiennej WE1_zyroskop.
Rys. 3.3 Funkcje przynależności zmiennej WE2_klinometr.
Zmienna WE3_korekcja była przewidziana jako wejście, którego zadaniem było
wprowadzanie poprawek stabilizowanego kąta φ przechylenia samolotu (np. w przypadku
bocznego wiatru). Posiada ona jednak charakter wejścia sterującego przechyleniem samolotu
i dlatego może spełniać podwójna rolę: wejścia korygującego i sterującego. Praktyczna
realizacja takiego rozwiązania to szeregowe połączenie potencjometru dokładnego (korekcja)
i zgrubnego (sterowanie), z których napięcie jest sygnałem podawanym na wejście
WE3_korekcja. Rysunek 3.9 przedstawia ustawienie funkcji przynależności dla wejścia
trzeciego WE3_korekcja.
Rys. 3.4 Funkcje przynależności zmiennej WE3_korekcja.
52
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 53/157
Zmienna wyjściowa WY_lotki posiada siedem funkcji przynależności (rys. 3.5). Ich
rozkład jest nieliniowy – zagęszczony wokół wartości zero i rzadszy dla skrajnych wartości.
Taki rozkład funkcji przynależności powoduje sterowanie:
– precyzyjne – poprzez funkcje w_prawo i w_lewo,
– szybkie – poprzez funkcje duzo_w_prawo i duzo_w_lewo,
– brutalne – poprzez funkcje b_duzo_w_prawo i b_duzo_w_lewo.
Rys. 3.5 funkcje przynależności zmiennej WY_lotki
Algorytm sterowania regulatora AP_5 określony jest poprzez 27 reguł. Tabela reguł
zawiera implikacje, trzech wejść i wyjścia, ułożone przez projektanta na podstawie własnej
wiedzy i doświadczenia o sterowanym obiekcie. Poniżej znajduje się krótki opis każdej
z reguł:1 żyroskop zero, klinometr zero, korekcja zerowa – optymalna sytuacja – lotki zero,
2 żyroskop dodatni, klinometr zero, korekcja zerowa – niepożądana dodatnia prędkość
kątowa – kontruj lotkami w_lewo,
3 żyroskop ujemny, klinometr zero, korekcja zerowa – niepożądana ujemna prędkość kątowa
kontruj lotkami w_prawo,
4 żyroskop zero, klinometr dodatni, korekcja zerowa – niepożądane dodatnie przechylenie –
kontruj lotkami w_lewo,5 żyroskop dodatni, klinometr dodatni, korekcja zerowa – niepożądana dodatnia prędkość
kątowa i niepożądane dodatnie przechylenie – kontruj lotkami duzo_w_lewo,
6 żyroskop ujemny, klinometr dodatni, korekcja zerowa – ujemna prędkość kątowa
korygująca niepożądane dodatnie przechylenie – lotki zero,
7 żyroskop zero, klinometr ujemny, korekcja zerowa – niepożądane ujemne przechylenie –
kontruj lotkami w_prawo,
8 żyroskop dodatni, klinometr ujemny, korekcja zerowa – dodatnia prędkość kątowa
korygująca niepożądane ujemne przechylenie – lotki zero,
53
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 54/157
9 żyroskop ujemny, klinometr ujemny, korekcja zerowa – niepożądane ujemne przechylenie
powiększane ujemną prędkością kątową – kontruj lotkami duzo_w_prawo,
10 żyroskop zero, klinometr zero, korekcja w_prawo – wprowadź dodatnią korekcję
przechylenia – lotki w_prawo,
11 żyroskop dodatni, klinometr zero, korekcja w_prawo – dodatnia prędkość kątowa
podążająca za wprowadzaną dodatnią korekcją – lotki zero,
12 żyroskop ujemny, klinometr zero, korekcja w_prawo – niepożądana ujemna prędkość
kątowa, przeciwna do wprowadzanej dodatniej korekcji – lotki duzo_w_prawo,
13 żyroskop zero, klinometr dodatni, korekcja w_prawo – dodatni klinometr zgodny
z dodatniej korekcji – lotki zero,
14 żyroskop dodatni, klinometr dodatni, korekcja w_prawo – dodatnie przechylenie zgodne
z dodatnia korekcją, niepożądana dodatnia prędkość kątowa – lotki w_lewo,
15 żyroskop ujemny, klinometr dodatni, korekcja w_prawo – dodatnie przechylenie zgodne
z dodatnią korekcją, niepożądana ujemna prędkość kątowa – lotki w_prawo,
16 żyroskop zero, klinometr ujemny, korekcja w_prawo – ujemne przechylenie przeciwne do
dodatniej korekcji – lotki duzo_w_prawo,
17 żyroskop dodatni, klinometr ujemny, korekcja w_prawo – dodatnia prędkość kątowa
zgodna z kierunkiem korekcji ujemnego przechylenia przeciwnego do dodatniej korekcji –
lotki w_prawo,
18 żyroskop ujemny, klinometr ujemny, korekcja w_prawo – ujemne przechylenie przeciwne
do dodatniej korekcji i niepożądana ujemna prędkość kątowa – lotki b_duzo_w_prawo ,
19 żyroskop zero, klinometr zero, korekcja w_lewo – wprowadź ujemną korekcję
przechylenia – lotki w_lewo,
20 żyroskop dodatni, klinometr zero, korekcja w_lewo – niepożądana dodatnia prędkość
kątowa, przeciwna do wprowadzanej ujemnej korekcji – lotki duzo_w_lewo,
21 żyroskop ujemny, klinometr zero, korekcja w_lewo – ujemna prędkość kątowa podążająca
za wprowadzaną ujemną korekcja – lotki zero,
22 żyroskop zero, klinometr dodatni, korekcja w_lewo – dodatni klinometr przeciwny do
ujemnej korekcji – lotki duzo_w_lewo,
23 żyroskop dodatni, klinometr dodatni, korekcja w_lewo – dodatni klinometr przeciwny do
ujemnej korekcji i niepożądana dodatnia prędkość kątowa – lotki b_duzo_w_lewo,
24 żyroskop ujemny, klinometr dodatni, korekcja w_lewo – dodatni klinometr przeciwny do
ujemnej korekcji, ujemna prędkość kątowa zgodna z wprowadzaną korekcją – lotkiw_lewo,
54
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 55/157
25 żyroskop zero, klinometr ujemny, korekcja w_lewo – ujemny klinometr zgodny z ujemną
korekcją – lotki zero,
26 żyroskop dodatni, klinometr ujemny, korekcja w_lewo – ujemny klinometr zgodny
z ujemną korekcją, niepożądana dodatnia prędkość kątowa – lotki w_lewo,
27 żyroskop ujemny, klinometr ujemny, korekcja w_lewo – ujemny klinometr zgodny
z ujemną korekcją, niepożądana ujemna prędkość kątowa – lotki w_prawo.
Tabela 3.1 - Reguły regulatora rozmytego AP_5.
Przedstawiona powyżej tabela 3.1 została wygenerowana w programie fuzzyTECH ,
w wyniku projektowania regulatora rozmytego AP_5.
Regulator rozmyty AP_5 posiada trzy wejścia, dlatego do jego oceny wygenerowano
trzy płaty powierzchniowe:
55
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 56/157
– z WE3_korekcja jako stały parametr (rys. 3.6),
– z WE2_klinometr jako stały parametr (rys. 3.7),
– z WE1_zyroskop jako stały parametr (rys. 3.8),
Rys 3.6 Transfer Plot – parametr WE3_korekcja= 20.47
Rys 3.7 Transfer Plot – parametr WE2_klinometr = -8.42
Rys 3.8 Transfer Plot – parametr WE1_zyroskop = - 7.47
Na przedstawionych płatach powierzchniowych widać, że praca regulatora jest w miarę
łagodna, w większości nieliniowa i miejscami nieciągła. W celu uzyskania pełniejszego
56
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 57/157
obrazu jakości sterowania regulatorem AP_5 należy przeanalizować płaty powierzchniowe
dla innych wartości parametrów.
Przy użyciu opcji Time Plot zostały wygenerowane przebiegi czasowe podstawowych
stanów zmiennych wejściowych i wyjściowych (Rys. 3.9). Dla pełniejszej oceny pracy
regulatora rozmytego, za pomocą Time Plot , niezbędnym jest rozpatrzenie większej ilości
możliwych kombinacji stanów wejść.
Rys 3.9 Time Plot regulatora rozmytego AP_5
Wnioski z powyższego wykresu:
– liniowe zmiany sygnałów wejściowych wywołują nieliniowe zmiany sygnałuwyjściowego,
– dodatni sygnał na wejście korekcji powoduje dodatni wychylenie lotek,
– dodatnie sygnały kąta przechylenia i prędkości kątowej przechylania powodują ujemne
wychylenie lotek,
– wychylenie lotek jest sumą reakcji regulatora na poszczególne sygnały wejściowe.
Efektem kompilacji projektu regulatora rozmytego AP_5 są dwa pliki kodu asemblera
ST6:
a) AP_5.inc – plik ten zawiera:
– adres pierwszego wolnego bajtu pamięci RAM,
– definicje adresów zmiennych wejściowych i zmiennej wyjściowej,
– definicje adresów zmiennych pomocniczych do obliczeń regulatora rozmytego,
b) AP_5.st6 – plik ten zawiera: – definicje adresów rejestrów mikroprocesora,
57
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 58/157
– odwołanie do pliku AP_5.inc,
– definicje adresów zmiennych wejściowych i zmiennej wyjściowej regulatora,
– definicje przestrzeni zarezerwowanej dla jądra logiki rozmytej,
– definicje adresów parametrów fuzyfikacji,
– tabele stałych określających funkcje przynależności zmiennych wejściowych,
– tabele stałych określających reguły regulatora,
– tabele stałych defuzyfikacji zmiennej wyjściowej,
– wybór metody agregacji,
– odwołanie do pliku biblioteki logiki rozmytej FUZZYLIB.ST6 ,
– globalne funkcje: regulatora rozmytego ap_5 i inicjalizującą regulator rozmyty initap_5.
Dodatkowym plikiem dopełniającym algorytm regulatora rozmytego jest biblioteka
FUZZYLIB.ST6 . Zawartość plików AP_5.inc, AP_5.st6 i FUZZYLIB.ST6 znajduje się
w dodatkach A, B oraz C.
Modyfikator wejściowych funkcji przynależności w języku asemblera ST6.
Modyfikator wejściowych funkcji przynależności został wprowadzony do kodu
regulatora rozmytego, w pliku AP_5.st6, po algorytmie fuzyfikacji. W procesie fuzyfikacji
wartościom wejściowym tzw. ostrym zostały przypisane współczynniki przynależności do
wejściowych funkcji przynależności. Wartości współczynników zostały wpisane do wcześniej
określonej przestrzeni danych. Adres pierwszej komórki przestrzeni danych, w której mają
być zapisane współczynniki przynależności jest określona przez zmienną fuzin. Zmienna
fuzin w pliku AP_5.st6 jest zdefiniowana jako ftstart + 005H, a zmienna ftstart jest
zdefiniowana w pliku AP_5.inc jako stała wartość 0084H – w efekcie zmienna fuzin jest
zdefiniowana jako 089H.
;----------------------------- modyfikacja --------------------------------
;--------------- wprowadzone przez: Maksymilian Sobczak -------------------
;------------------------ 12.05.2008 --------------------------------------
ldi x, 089H
Do zmiennej x wpisywany jest adres pierwszej komórki danych z współczynnikami
przynależności. Zamiast wartości 089H można wpisać zmienną fuzin.
ldi y, 009H
58
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 59/157
Do zmiennej y wpisywana jest ilość wszystkich wejściowych funkcji przynależności.
modyf: ldi op1, 002Hld a, (x)ld op2, a
call mul ;2*MI(we)
Powyżej znajduje się początek pętli modyfikatora.
W tym miejscu wykonywane jest mnożenie 2*wsp_prz. Do zmiennej op1 wpisywana
jest wartość pierwszego czynnika mnożenia – 2, do zmiennej op2 wpisywana jest zawartość
komórki o adresie podanym w rejestrze x – w rejestrze x wpisana jest wartość pierwszego
współczynnika przynależności, następnie wywoływana jest funkcja mnożenia zmiennych op1
i op2 (funkcja mul znajduje się w pliku fuzzylib.st6). Wynik mnożenia wpisywany jest do
dwóch zmiennych l_res (młodszy bajt) i m_res (starszy bajt).
ld a, l_resld l_op1, ald a, m_resld m_op1, aldi op2, 0FFHcall div16by8 ;2*mi(we)=2*MI(we)/255
Powyżej znajduje się algorytm dzielenia wyniku 2*wsp_prz przez wartość 0FFH.
Działanie to ma na celu sprowadzenie uzyskanego wyniku do wspólnego poziomu
z wartościami uzyskiwanymi w dalszej części algorytmu modyfikatora (współczynniki przynależności w algorytmie regulatora rozmytego przyjmują wartości 0-255).
Dzielna jest 16-bitowa i znajduje się w dwóch zmiennych 8-bitowych: l_op1 (młodszy
bajt dzielnej) i m_op1 (starszy bajt dzielnej). Wynik mnożenia 2*wsp_prz zawarty
w zmiennych l_res i m_res spisywany jest poprzez akumulator a do dzielnej. Do zmiennej
op2 – dzielnika – wpisywana jest wartość 0FFH (255). Po wpisaniu wartości do dzielnej
i dzielnika następuje wywołanie funkcji dzielenia liczby 16-bitowej przez liczbę 8-bitową.
Definicja funkcji dzielenia znajduje się w pliku biblioteki rozmytej fuzzylib.st6.
ld a, (x)ld v, ald a, l_resld (x), a ;(x) <- 2*mi(we)
Wynik dzielenia 2*wsp_prz/0FFH znajduje się w dwóch zmiennych: l_res i m_res.
Pod adresem zawartym w rejestrze x znajduje się wartość starego współczynnika
przynależności, który będzie jeszcze używany, dlatego jego wartość poprzez akumulator
zostaje wpisana do pomocniczej zmiennej v. Pod adres zawarty w zmiennej x zostaje wpisana
59
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 60/157
wartość wyniku (l_res – młodszy bajt, gdyż z analizy wcześniejszych działań wynika, że
wynik nie może być większy niż 8-bitowy) dzielenia 2*wsp_prz/0FFH.
Ld a, v
ld op1, a
ld op2, a
call mul ;MI(we)*MI(we)
Powyżej znajduje się algorytm mnożenia starego współczynnika przynależności do
funkcji przez siebie samego, co ma na celu uzyskanie wartości wsp_prz*wsp_prz. Wynik
mnożenia zapisywany jest w dwóch zmiennych: l_res i m_res.
Ld a, l_resld l_op1, a
ld a, m_resld m_op1, aldi op2, 0FFHcall div16by8
ld a, l_resld l_op1, ald a, m_resld m_op1, aldi op2, 0FFHcall div16by8 ;mi(we)*mi(we)=MI(we)*MI(we)/(255*255)
Powyżej znajduje się ponownie algorytm sprowadzania częściowego wyniku do
wspólnego poziomu odniesienia – tutaj przez dwukrotne dzielenie wyniku przez 0FFH.
ld a, l_resld w, ald a, (x)sub a, w ;2*mi(we)-mi(we)*mi(we)
Powyższy algorytm ma na celu:
- wpisanie wyniku dzielenia wsp_prz*wsp_prz/0FFH/0FFH przez akumulator do
pomocniczej zmiennej w,- wpisanie wartości chwilowej 2*wsp_prz/0FFH, zapisanej pod adresem zawartym
w zmiennej x, do akumulatora a,
- wykonanie odejmowania 2*wsp_prz/0FFH – wsp_prz*wsp_prz/0FFH/0FFH.
ld op1, aldi op2, 0FFHcall mul ;MI(we)=mi(we)*255
Powyżej wynik wcześniejszego odejmowania, zawarty w akumulatorze, jest
sprowadzany z wspólnego poziomu odniesienia do zakresu 0-255 poprzez przemnożeniezawartości akumulatora przez wartość 0FFH.
60
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 61/157
ld a, l_resld (x), a
Powyżej wynik wcześniejszego mnożenia wpisywany jest ze zmiennej l_res,
zawierający młodszy bajt wyniku (z analizy wcześniejszych działań wynika, że wynik mnożenia nie jest większy niż 8-bitowy), przez akumulator pod adres zawarty w zmiennej
x. Czynność ta powoduje zamianę starego współczynnika przynależności i wartości
chwilowych na nową wartość współczynnika przynależności.
inc xdec yjrnz skok_do_mod
Adres komórki zawierający współczynniki przynależności jest zwiększany o jeden –
przechodzimy do następnego współczynnika przynależności. Zawartość zmiennej y (z ilością
wejściowych funkcji przynależności) jest zmniejszana o jeden – jeżeli zawartość zmiennej
y jest równa zero, wtedy wystawiana jest flaga z. Jeśli jest wystawiona flaga z, wtedy
wykonywane jest polecenie poniższe skok do inferencje.
jp inference
W przypadku, gdy nie jest wystawiona flaga z, wtedy wykonywany jest krótki skok do
linijki poniżej.
skok_do_mod:
Stąd wykonywany jest długi sok do początku modyfikatora.
Jp modyf
;----------------------------- inference ----------------------------------
inference: ldi drwr, rt0.w
Powyższe polecenie wykonywane jest, jeśli wystąpiła wcześniej flaga z i został
wykonany długi skok do inference.
Algorytm przypisania i obsługę wejść/wyjść wykonano za pomocą programu ST
REALIZER 2.20. W programie tym został utworzony projekt AP (rys. 3.10) o strukturze
zawierającej:
– trzy wejścia z przetwornikami analogowo/cyfrowymi,
– blok generujący PWM na wyjściu Auto Reload Timer,
– stałą określającą czas pomiędzy impulsami sygnału PWM,
– własny blok regulatora rozmytego, – blok generatora impulsów podłączony do wyjścia cyfrowego z diodą LED.
61
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 62/157
Rys 3.10. Schemat projektu AP.
Do prawidłowego skompilowania projektu niezbędnym było napisanie biblioteki
utworzonego bloku i wskazanie ścieżki dostępu pliku zawierającego tę bibliotekę.
Zawartość pliku utworzonej biblioteki bibl.mac:
.MACRO FLwwww lv0_we_1, Tlv0_we_1, lv1_we_2, Tlv1_we_2, lv2_we_3, Tlv2_we_3, lv3_wy,Tlv3_wy
NOP.ENDM
.MACRO IFLwwww lv0_we_1, Tl0v0_we_1, lv1_we_2, Tlv1_we_2, lv2_we_3, Tlv2_we_3,lv3_wy, Tlv3_wy
NOP.ENDM
Wynikiem kompilacji projektu AP jest poprawny plik AP.st6 . Plik ten zawieraalgorytm:
– przypisania wejść/wyjść,
– obsługi przetworników A/C,
– generowania sygnału wyjściowego PWM.
Zawartość pliku AP.st6 , wraz z wprowadzonymi zmianami, znajduje się w dodatku D.
Pik hex został uzyskany w wyniku wykonania kroków, zgodnie ze schematem
przedstawionym na rysunku 3.11. Zaznaczona ścieżka jest jednym z kilku sposobów na
uzyskanie pliku hex.
62
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 63/157
Rys.3.11 Schemat uzyskania pliku o rozszerzeniu hex.
Wstępny projekt regulatora rozmytego składa się z 4 plików: AP.st6 , AP_5.inc,
AP_5.st6 , FUZZYLIB.ST6 . W tym przypadku uzyskanie pliku hex wymaga kompilacji
poszczególnych plików i ich połączenia – do tego celu utworzono plik BUILD.BAT .
Zawartość pliku BUILD.BAT :
ast6.exe -l -o -w0 AP_5.st6ast6.exe -l -o -w0 AP.ASMlst6.exe -s -j -m -i -o R_FL_3_1 -P0:800-F9F AP.OBJ -P0:800-F9F AP_5.OBJ
Plik wsadowy BUILD.BAT powinien znajdować się w katalogu z plikami AP.st6 ,
AP_5.inc, AP_5.st6 , FUZZYLIB.ST6 , oraz z programami ast6.exe i lst6.exe. Uruchomienie go
powoduje generowanie plik R_FL_3_1.HEX .
Szczegółowe informacje na temat łączenia programu ST REALIZER 2.20 z programem
fuzzyTECH™ 3.0 i uzyskiwania wykonawczego pliku HEX znajdują się w pracy Jacka Rybki
63
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 64/157
„Współczesne metody programowania procesorów na przykładzie integracji pakietów ST6-
REALIZER i fuzzyTECH ”.
3.2. Analiza sprzętowa projektu regulatora rozmytego
Po uzyskaniu pliku R_FL_3_1.HEX przystąpiono do zaprogramowania mikroprocesora
ST62E65C rodziny SGM THOMSON, którego przyporządkowanie wyprowadzeń widoczne
jest na rysunku 3.12.
Rys 3.12. Wyprowadzenia mikroprocesora ST62E65C
Parametry mikrokontrolera ST62E65C :
– maksymalna częstotliwość zegara taktowania 8 [MHz]
– zakres napięcia zasilania 3 – 6 [V]
– trzy tryby pracy działanie, czekanie, zatrzymanie
– ilość przerwań 5
– pamięć RAM 128 bajtów
– pamięć EEPROM 128 bajtów
– 8-bitowy przetwornik A/C dla 13 wejść,
– 8-bitowe Tajmer/Licznik,
– 8-bitowy Tajmer automatycznie przeładowywany,
– cyfrowy Watchdog,
– 21 pinów wejścia/wyjścia,
– 8 pinów wejścia/wyjścia o obciążalności prądowej 30[mA].
Więcej informacji na temat mikrokontrolera ST62E65C znajduje się w dodatku F.
Przyporządkowania wejść i wyjść projektu AP do portów mikroprocesora:
64
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 65/157
– we_1 – PA0, 8-bitowe wejście analogowe,
– we_2 – Ain/PA1, 8-bitowe wejście analogowe,
– we_2 – PA2, 8-bitowe wejście analogowe,
– wyjście PWM – PB7, wyjście automatycznego przeładowania timera,
– LED – PA3, wyjście prądowe 5[mA] (open drain).
Do wykonania zapisu posłużyła płytka ST626x Starter Kit Bard, której widok jest
przedstawiony na rysunku 3.13.
Rys. 3.13 - ST626x Starter Kit.
Oraz program winee.exe:
Rys.3.14 Główne okno programu WINEE z projektem R_FL_3_1.HEX.
Proces programowania mikroprocesora odbywał się poprzez połączenia komputera(z programem WINNE) z ST626X Starter Kit za pomocą kabla LPT.
65
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 66/157
Rys 3.15. Szkic połączenia komputera z ST626X Starter Kit
Mikroprocesor ST62E65C po zaprogramowaniu został umieszczony w laboratorium na
stanowisku badawczym pokazanym na rys. 3.16.
Rys. 3.16 stanowisko do badania mikroprocesorów THOMSON.
Układ został połączony zgodnie ze schematem przedstawionym na rysunku 3.17.
66
Potencjometr 1
Potencjometr 2
Serwomechanizm
Potencjometr 3
Mikrokomputer ST62E65
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 67/157
Rys. 3.17 Podłączenie mikrokomputera jednoukładowego do układów wejść. – wyjść.
Po przeprowadzeniu badań uzyskane zostały wyniki jakościowe, będące wychyleniem
serwomechanizmu w zależności od nastawy potencjometrów. Trzy potencjometry
symulowały:
– Prędkość kątową – P1 – Kąt przechylenia – P2 – Korekcje - P3
W wyniku nastawy położenia potencjometrów układ sterowania rozmytego sterował
serwomechanizmem wychylenia powierzchni sterowej. Tabela 3.2 zawiera wyniki
przeprowadzonych badań.
Tabela 3.2 - Wyniki symulacji.
Potencjometr P1 Potencjometr P2 Potencjometr P3Wychylenie
serwomechanizm
W prawo Neutrum Neutrum W lewo Neutrum Neutrum Neutrum neutrum
W lewo Neutrum Neutrum W prawo
Neutrum W prawo Neutrum W lewo
Neutrum Neutrum Neutrum neutrum
Neutrum W lewo Neutrum W prawo
Neutrum Neutrum W prawo W prawo
Neutrum Neutrum Neutrum Neutrum
Neutrum Neutrum W lewo W lewo
67
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 68/157
Z tabeli 3.2 wynika iż zamierzony cel, jakim było stworzenie wstępnego regulatora
rozmytego został osiągnięty (patrz punkt 3.1). Mikrokomputer wypracowywał sygnał
sterujący serwomechanizmem, powodując jego wychylenie. W wyniku zmiany sygnałów z
potencjometrów P1 oraz P2 (symulujących zmianę prędkości kątowej i kąta przechylenia)
serwomechanizm wychylał się w przeciwnym kierunku, niż w wyniku takiej samej zmiany
sygnału z potencjometru P3.
68
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 69/157
4. Przygotowanie bazy do wykonania prób w locie
Aby wykonać regulator należy posiadać wiedzę o badanym obiekcie. Po
przeanalizowaniu, jakie informacje będą potrzebne, zostały dobrane i zakupione odpowiednie
podzespoły. Kryterium ich doboru obejmował: zakres pomiarowy, masę oraz wymiary. Po
skompletowaniu wszystkich elementów w laboratorium został opracowany schemat instalacji
układu pomiarowego.
4.1. Aparat latający PR-2 GACEK
Naszym obiektem badań jest bezzałogowy aparat latający „PR-2 Gacek” (rys. 4.1), jest
to górnopłat wolnonośny o usterzeniu klasycznym, napędzany dwoma silnikami
elektrycznymi. Struktura płatowca wykonana jest z epoksydowych kompozytów szklanych
i węglowych oraz kompozytowych struktur przekładkowych. Sterowanie odbywa się za
pomocą aparatury RC.
Rys. 4.1 Aparat latający PR-2 Gacek w czasie przygotowań do lotu.
PR-2 został zaprojektowany w sposób umożliwiający szybki demontaż płatowca
i wyposażenia. Skrzydła umocowane są przy pomocy ruchomych bagnetów i gumowego
69
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 70/157
łącznika, umożliwiającego natychmiastowy demontaż. Statecznik poziomy mieści w sobie
dwa serwomechanizmy co upraszcza demontaż i poprawia niezawodność w kanale
pochylania. Rozmontowanie statecznika poziomego polega na odkręceniu śrub i zwolnieniu
sworznia oraz odpięcia wtyczki serw. Wszystkie połączenia elektroniczne są na
szybkozłączki. Dostęp do wszelkiego wyposażenia jest możliwy z uwagi na górne klapki
umożliwiające demontaż całej elektroniki.
Wymiary:
– Rozpietość: 1800 [mm],
– Dlugość: 1300 [mm],
– Wysokość: 282 [mm],
Masa: ok. 3500 – 4500 [g],Napęd: dwa silnik elektryczne trójfazowe AXI 2820/12,
Zasilanie: Wysokowydajne ogniwa Li-Pol (11.1 [V], 3700mAh),
Czas lotu: 30-60 [min],
Predkość: 30-80 [km/h],
Technologia wykonania:
– Kompozyty szklane oraz węglowe,
– struktury przekładkowe, – styrodur + balsa;
Do samolotu bezzałogowego GACEK przygotowywany jest układ nawigacji
i sterowania. Niniejsza praca jest pierwszym etapem opracowania układu dla tego obiektu.
4.2. Programowany rejestrator PRP-J5.
Programowany rejestrator pomiarowy przeznaczony jest do pomiaru i rejestracji
parametrów analogowych.
System rejestracji PRP-J5 składa się z modułu rejestratora oraz wymiennej karty
pamięci FLASH. Uzupełnieniem jest czytnik kart pamięci, interfejs połączenia z komputerem
i oprogramowanie nadzorujące. Moduł rejestratora bazuje na specjalizowanym układzie
mikrokomputera jednoukładowego z wejściami analogowymi, interfejsem szeregowym
i interfejsem pamięci FLASH. Układ elektroniczny rejestratora zrealizowany został w jednym
70
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 71/157
układzie scalonym (SoC – system on chip). Rejestrowanie danych wykonywane jest na
wymiennej karcie pamięci FLASH typu SD. Stan pracy rejestratora sygnalizuje dioda LED.
Rejestrator zasilany jest napięciem 3.0V z baterii litowej lub z zasilacza typu LDO
zabezpieczającym jego poprawną pracę dla napięć zasilania od 4.5V do 12V. Interfejs
szeregowy z separacją galwaniczną pozwala na kontrolę funkcji rejestratora danych, oraz
pracę rejestratora w trybie „ON LINE” z przyłączonym komputerem osobistym.
Rys. 4.2 Widok rejestratora PRP-J5 z kartą pamięci.
Rysunek 4.2 przedstawia rejestrator w wersji „OPEN FRAME ” z zamontowaną kartą
pamięci. Brak duralowej obudowy, chroniącej rejestrator przed udarami mechanicznymi
spowodowany jest ograniczeniami konstrukcyjnymi badanego aparatu latającego. Ilość
miejsca na pokładzie jaką dysponuje „GACEK ”, a którą można wykorzystać do
zamontowania aparatury pomiarowej jest mocno ograniczona.
Podstawowe dane techniczne:
a) Sygnały wejściowe
– 24 programowane wejścia analogowe typu niesymetrycznego ze wspólną masą (single
ended),
– rozdzielczość przetwornika AC 12 bit,
– zakres przetwarzanych napięć wejściowych 0 – 6V,
71
Karta pamięci
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 72/157
– programowo ustawiane wzmocnienie indywidualnie dla każdego kanału ( x0.5, x1, x2, x4,
x8, x16),
– maksymalne dopuszczalne napięcie wejściowe –5V, +20V.
b) Pamięć
– wymienna karta pamięci FLASH typu SD o pojemności 8MB, 16MB, 32MB, 64MB,
128MB, 256MB, 512MB,1GB.
c) Czas akwizycji
– programowany w interwałach 5 ms, 10 ms, 50 ms, 100 ms, 200 ms, 500 ms, 1 s, 5 s, 60 s.
Czas próbkowania dla każdego kanału ustawiany jest indywidualne
d) Konfiguracja parametrów rejestratora
– ustawianie parametrów programowo z przyłączonego komputera PC pod kontrolą
narzędziowego programu nadzorującego PRP-J5
e) Odczyt zarejestrowanych danych
– odczyt bezpośredni karty pamięci SD czytnikiem karty przyłączonym do komputera PC
f) Zasilanie
– bezpośrednie z baterii litowej 3V pobór prądu 20mA
– zasilanie napięciem stałym o wartościach 4.5V-12V
– maksymalny pobór prądu 30mA
g) Wymiary
– podstawowe wymiary wersji bez obudowy (open frame) 57mm x 37mm x 9mm
– wersja obudowana 100 mm x 60 mm x 35 mm
h) Waga
– waga płytki rejestratora wersja (open frame) ze źródłem zasilania 10 g
– waga rejestratora z obudową i żródłaem zasilania NiMh 170 g
4.3. Sensory wejściowe.
Pomiar prędkości kątowej jest realizowany poprzez 3 żyroskopy. Każdy z nich mierzy
prędkość wokół jednej z osi X, Y oraz Z. W wyniku tego otrzymujemy informację
o prędkości przechylania, pochylania i odchylania. Wzdłuż wszystkich 3 osi jest również
wykonywany pomiar przyspieszeń, za pomocą jednego 3-osiowego przyspieszeniomierza.
Żyroskopy i przyspieszeniomierz zostały przymocowane do odpowiednich ścian sześcianu
(rys. 4.3), który został umieszczony w środku ciężkości badanego aparatu latającego.
72
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 73/157
Rys. 4.3 Położenie żyroskopów i przyspieszeniomierza.
Cyframi od 1 do 3 są oznaczone żyroskopy, cyfrą 4 jest oznaczony przyspieszeniomierz.
ADXRS150 to kompletny przetwornik prędkości kątowej w jednym chipie. Odporny na
wibracje i wysokie częstotliwości, którego poziom szumów własnych wynosi 0.05 °/s/Hz.
Małe wymiary i masa oraz wysoka odporność na chwilowe przeciążenie sięgająca 2000 g.
sprawiają, że bardzo dobrze nadaje się on do aplikacji na pokładzie BAL. Posiada
wewnętrzny sensor do kalibracji temperaturowej, oraz precyzyjny pomiar napięcia
odniesienia [i1].
Sygnałem wyjściowym jest napięcie, proporcjonalne do prędkości obrotowej. Sygnał
jest dodatni, kiedy patrząc z góry obrót wykonywany jest zgodnie z ruchem wskazówek
zegara wokół osi prostopadłej do górnej powierzchni.
Rys. 4.4 Wykres skalowania żyroskopu ADXRS150.
73
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 74/157
Tabela 4.1 Parametry pracy ADXRS150..
Parametr Wartość Jednostka
Zakres pomiarowy +/- 150 °/s
Czułość 12.5 mV/°/s
Pasmo przenoszenia 2 kHz
Czujnik temp. Tak —
Napięcie zasilania 4.75 – 5.25 V
Prąd zasilania 6 mA
Temperatura pracy -40 do 85 °C
Czułość 12.5 mV/°/s
Tabela 4.1 zawiera wybrane informacje o parametrach pracy żyroskopu, szczegółowe
informacje na temat czujnika ADXRS150 znajdują się w dodatku E.
LIS3L06AL to 3- osiowy przyspieszeniomierz z analogowym wyjściem. Urządzenie
zawiera czujniki mierzące przyspieszenie oraz wbudowany chip, który przetwarza je na
sygnał analogowy. Przyspieszeniomierz może pracować w dwóch trybach określonych
poprzez zakres pomiarowy: 2g oraz 6g.
Rys. 4.5 Wyprowadzenia przyspieszeniomierza.
Powyższy rysunek przedstawia orientację osi w zakresie których są mierzone
przyspieszenia. Ponadto pokazane jest rozmieszczenie wyprowadzeń LIS3L06AL [i4]. Opis
poszczególnych wyprowadzeń jest przedstawiony w tabeli 4.2.
74
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 75/157
Tabela 4.2 Wyprowadzenia przyspieszeniomierza LIS3L06AL.
PIN Symbol Funkcja
1 ST Self Test (Logic 0: normal mode; Logic 1: Self-test)
2 Voutz Napięcie wyjściowe, kanał Z
3 GND masa
4 Reserved -
5 FS Tryb pracy (Logic 0:2g Full scale; Logic1: 6g Full Scale)
6 Vouty Napięcie wyjściowe, kanał Y
7 Voutx Napięcie wyjściowe, kanał X
8 Vdd Napięcie zasilania
Rysunek (4.6) przedstawia sygnały wyjściowe, w zależności od położenia
przyspieszeniomierza względem ziemi.
Rys.4.6 Sygnały wyjściowe przyspieszeniomierza.
Tabela 4.3 Parametry pracy LIS3L06AL.
Symbol Parametr Min. Max. Jednostka
Vdd Napięcie zasilania 2.4 3.6 V
Idd Prąd zasilania — 1.5 mA
T Temperatura pracy -40 +85 °C
Ar Zakres pomiarowy2g ±1.8
g6g ±5.4
S Czułość 2gVdd/5–10% Vdd/5+10%
g6g Vdd/15–10% Vdd/15+10%
75
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 76/157
Pozostałe szczegółowe informacje na temat przyspieszeniomierza LIS3L06AL znajdują
się w dodatku F.
Do pomiaru wysokości lotu wykorzystany jest czujnik ciśnienia barometrycznego typu
MPX5100A (rys. 4.7) w obudowie 867B-04. Jest to scalony krzemowy czujnik ciśnienia,skompensowany temperaturowo i skalibrowany [i2]. Krzemowe, piezzooporowe przetworniki
MPX5100 są monolitycznymi czujnikami ciśnienia zaprojektowanymi do wielu zastosowań,
szczególnie z przetwornikami A/C. Elementy wykonano w technologii cienkowarstwowej.
Sygnał wyjściowy zależny jest od wielkości przyłożonego ciśnienia.
Cechy szczególne:
– pomiar od 0-400kPa
– niewielki błąd do 2,5% przy temperaturze 0 do 85 °C,
– zdolny do pracy z obwodami mikroprocesorowymi,
– wytrzymała obudowa epoksydowa,
– łatwy w użyciu
W tabeli 4.4 są zawarte wybrane informacje na temat charakterystyki pracy.
Tabela 4.4 Charakterystyki pracy czujnika ciśnienia.
Parametry Symbol Min Typ Max Jednostka
Zakres pomiarowy ciśnienia POP 15 115 kPa
Napięcie zasilania V S 4.75 5.0 5.25 VDC
Prąd zasilania IO — 7.0 10 mAdc
Napięcie wyjściowe dla Pmin. VOFF 0.088 0.20 0.313 VDC
Napięcie wyjściowe dla Pmax VFSO 4.587 4.700 4.813 VDC
Różnica skrajnych napięć VFSS — 4.500 — VDC
Dokładność — — — ±2.5 %VFSS
Czułość V/P — 45 — St/kPa
Prąd wyjściowy dla Pmax. IO+ — 0.1 — mAdc
Stała czasowa — — 20 — ms
Stabilność offsetu — — ±0.5 — %VFSS
76
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 77/157
Czujnik ciśnienia posiada sześć pinów, z których do pomiaru wykorzystywane są 3
zaznaczone na rysunku 4.7.
Rys. 4.7 Wyprowadzenia czujnika ciśnienia
W dodatku G znajdują się szczegółowe informacje na temat czujnika ciśnienia
MPX5100.
4.4. Przetwornik wychylenia powierzchni sterowych.
Odbiornik radiowy aparatury zdalnego sterowania wytwarza sygnały PWM, sterujące
wychylaniem powierzchni sterowych i silnikami. Sygnały sterujące są przetwarzane przez przetworniki, na odpowiednie napięciowe sygnały analogowe, i w takiej postaci są
rejestrowane. Płytka przetwornika w widoku z obu stron pokazana jest na rysunku 4.8.
Rys. 4.8 Widok przetwornika wychylenia powierzchni sterowych.
77
Mikroprocesor
Wyjście sygnałuanalogowego
Wejście sygnału PWM
PIN 1: sygnał wyjściowy
PIN 2: masa
PIN 3: napięcie zasilania
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 78/157
Poniżej na rysunku 4.9 jest przedstawiony schemat blokowy przetwornika wychylenia
powierzchni sterowych.
Rys. 4.9 Schemat blokowy przetwornika wychylenia powierzchni sterowych.
Przetwornik w bloku wejściowym kondycjonuje sygnał napięciowy do standardu
mikrokomputerowego. Mikrokomputer w pętli programowej zamienia sygnał PWM A na
sygnał PWM B przyłączony do filtru dolnoprzepustowego.
4.5. Schemat instalacji elektrycznej z układem pomiarowym.
Na kolejnej stronie znajduje się schemat elektryczny z układem pomiarowym, jaki
został zainstalowany na aparacie latającym GACEK do przeprowadzenia badań w locie.
Wszelkie połączenia zostały narysowane w kolorach odpowiadających rzeczywistemu
okablowaniu. Poszczególne podzespoły były zasilane przy użyciu 4 akumulatorów i tak:
− Rejestrator, czujnik ciśnienia, żyroskopy oraz przyspieszeniomierze były zasilane
stabilizowanym napięciem 5V,
− Odbiornik sygnałów sterujących wychylaniem powierzchni sterowych oraz przetworniki
cyfrowo/analogowe zasilane były z akumulatora RC.
− Każdy silnik posiadał osobne źródło zasilania.
Istotnym elementem układu pomiarowego jest wspólna masa dla wszystkich kanałów
rejestratora.
78
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 79/157
79
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 80/157
4.6. Konfiguracja rejestratora
Przygotowanie rejestratora do pracy wymaga zaprogramowania pracy rejestratora na
kartach pamięci, na których rejestrator zapisuje wszystkie sygnały. Do zapisu konfiguracji
wykorzystujemy program PRP-J5.
Po uruchomieniu programu w głównym oknie wciskając przycisk ”F2”, lub w menu
„recorder setup” wybierając polecenie „config”, uzyskujemy dostęp do okna
konfiguracyjnego (rys. 4.11). Okno konfiguracyjne zawiera wykaz wszystkich 24 kanałów,
i szczegółowe ustawienia dla każdego z nich. Można w nim zmieniać takie parametry jak
krok dyskretyzacji, wzmocnienie czy jednostkę pomiarową. W programie jest możliwość
wyłączenia każdego kanału. Wyłączając kanały, do których nie są podpięte żadne sygnały,
można zarejestrować większą ilość danych. Jest to przydatna opcja z uwagi na nieduże
pojemności kart pamięci, na których są zapisywane dane.
Rys. 4.11 Widok okna konfiguracyjnego programu PRP-J5
80
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 81/157
Po wskazaniu docelowego dysku „MMC”, można określić rozmiar bufora pamięci
przeznaczonego do zapisu „File size” (rys. 4.12), który może być mniejszy od całkowitej
pojemności pamięci.
Rys. 4.12 Okno deklarowania rozmiaru pamięci.
Podczas badań w locie rejestrowanych było 14 sygnałów. Tabela 4.5 zawiera ich
wykaz, oraz numery kanałów rejestratora do których zostały one podłączone.
Tabela 4.5 Przyporządkowanie sygnałów wejściowych do kanałów rejestratora.
Prędkości kątowe
Przechylania - ωx Kanał 2
Pochylania - ωy Kanał 3
Odchylania – ωz Kanał 4
Przyspieszenia
na osi Y - ay Kanał 5
na osi Z - az Kanał 6 i 7
na osi X - ax Kanał 8
Wychylenia powierzchni sterowych
Wychylenie lotki lewej – δLL
Kanał 10
Wychylenie lotki prawej – δLP
Kanał 11
Wychylenie sterukierunku – δK
Kanał 12
Wychylenie steruwysokości - δH
Kanał 13
Napięcie zasilania U Z Kanał 1
Ciśnienie PS Kanał 15
81
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 82/157
4.7. Wyznaczenie współczynników wychylenia powierzchni sterowych.
Rejestrator przetwarza napięciowe sygnały sterujące na wartość liczbową
z rozdzielczością, dla której napięcie 3V jest rejestrowane jako liczba 4096. Do analizy
danych zgromadzonych podczas prób w locie niezbędna jest wiedza o wychyleniu
powierzchni sterowych. Aby z zarejestrowanych danych uzyskać takie informacje, została
wykonana kalibracja. W tym celu korzystając z programu PRP-J5 w trybie TEST „on line”
zostały zarejestrowane wartości odpowiadające maksymalnym wychyleniom powierzchni
sterowych. Dane te są przedstawione w tabeli 4.6.
Tabela 4.6 Przyporządkowanie zmiennych wejściowych do kanałów rejestratora..Wychylenie powierzchni sterowej Kanał
lewa lotkaMax. w dół neutrum Max. w góre
102350 1550 250
prawa lotkaMax. w dół neutrum Max. w góre
11270 1380 2330
ster kierunkuW prawo neutrum W lewo
12280 1360 2340
ster hMax. w dół neutrum Max. w góre
13270 1400 2340
Dobrane wzmocnienie podczas konfiguracji jest odpowiednie dla zakresu pomiarowego
rejestratora. Stwierdzić to można po przeskalowaniu zarejestrowanych podczas kalibracji
wartości granicznych na napięcia, które dla maksymalnych wychyleń powierzchni sterowych
wynoszą:
– około 0,2V minimalne,
– około 1,7 V maksymalne.
Z tabeli 4.6 wynika ponadto, że symetryczność wychylania się powierzchni sterowych
lotek nie jest zachowana. Uzyskanie idealnej pracy lotek jest jednak bardzo trudne. Wynika to
zarówno ze strony budowy układu elektrycznego jak i mechanicznego, sterującymi
wychylaniem lotek.
82
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 83/157
5. Wykonanie prób w locie i analiza uzyskanych danych
Głównym celem prób w locie było zgromadzenie danych na podstawie, których można
wyznaczyć charakterystyki dynamiczne obiektu dla przechylania, pochylania i odchylania.
Poznanie tych właściwości aparatu latającego, pozwala na wykonanie bazy reguł a dalej na
dostrojenie regulatora rozmytego i w rezultacie jego efektywniejszą pracę.
5.1. Organizacja próby w locie
Podstawowym dokumentem określającym zakres oraz metodykę badań jest „ Program
prób w locie”. Opracowany program zawiera wykaz czynności do wykonania w trakcie prób.
Czynności te zostały podzielone na 3 etapy. Poniżej znajduje się szczegółowy opis
zaplanowanych czynności dla poszczególnych etapów prób w locie:
1. Przygotowanie do startu
a) Złożenie modelu PR-2 GACEK,
b) Włączenie rejestratora,
c) Test aparatury sterującej,
2. Oszacowanie prędkości i wysokości lotu.
a) Istotnym parametrem lotu jest prędkość. W celu oszacowania prędkości zostałwyznaczony odcinek pomiarowy. Zadaniem pilota był przelot wzdłuż
wyznaczonego odcinka, w dwóch kierunkach. Znając czas przelotu w obie strony
oraz długość wyznaczonego odcinka, została oszacowana średnia prędkość lotu.
b) Wysokość lotu została oszacowana, poprzez przelot obok punktu odniesienia
o znanej wysokości.
3. Rejestracja procesów po wytrąceniu samolotu ze stanu równowagi poprzez:
a) Wychylenie steru wysokości,
W locie poziomym wykonać:
– impulsowe wychylenie steru wysokości w górę
– impulsowe wychylenie steru wysokości w dół
– skok jednostkowy sterem wysokości w górę
– skok jednostkowy sterem wysokości w dół
b) wychylenie lotek,
W locie poziomym wykonać:
83
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 84/157
– impulsowe przechylenie w prawo
– impulsowe przechylenie w lewo
c) wychylenie steru kierunku,
Dane na temat oddziaływania wychylenia tej powierzchni sterowej uzyskane
zostały w wyniku wykonywania zadań z podpunktów a) i b). Pilot po każdym
wykonanym zadaniu wykonywał marker, którym umownie było wychylenie steru
kierunku.
Dokumentacja z przeprowadzonych prób znajduje się w dodatku H.
5.2. Przetworzenie danych
Pierwszy lot „Gackiem” z użyciem rejestratora PRP-JP odbył się dnia 13.05.08.
W czasie tego lotu zamontowany na pokładzie naszego modelu rejestrator zarejestrował
6 minut lotu. Po wstępnej analizie danych okazało się, że wpływ różnego rodzaju zakłóceń
jest na tyle duży, że niezbędne będzie wykonanie odpowiedniej obróbki zarejestrowanych
sygnałów. Do tego celu posłużył program MATHCAD 14.
Pierwszym krokiem było wczytanie zarejestrowanych danych do programu, w tym celu
z karty pamięci został skopiowany plik z danymi i przetworzony do formatu z rozszerzeniem„txt”. Po wpisaniu odpowiedniej komendy w programie MATHCAD (rys 5.1) dane zostały
załadowane do 14 kolumn, z których każda odpowiadała jednemu rejestrowanemu
parametrowi.
Rys. 5.1 Okno programu Mathcad – wczytanie danych.
84
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 85/157
W celu łatwiejszej analizy lotu, uzyskane wykresy zostały wygładzone poprzez
uśrednianie wartości. Efekt obróbki jest widoczny na rysunkach od 5.2 do 5.5.
Rys. 5.2 Wykres wychylenia steru kierunku w funkcji czasu.
Na rysunku 5.2 kolorem czerwonym przedstawiono surowe dane wychylenia steru
kierunku z wykonanych badań w locie. Kolorem czarnym zobrazowano wygładzony
sygnał wychylenia steru kierunku. Można zauważyć, że składowa sygnału surowegoo wysokiej częstotliwości to zakłócenia. Wygładzenie uzyskanych danych precyzyjniej
odzwierciedla charakter rzeczywistego sygnału.
Rys. 5.3 Wykres wychylenia lotki prawej w funkcji czasu.
85
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 86/157
Rys. 5.4 Wykres wychylenia lotki lewej w funkcji czasu.
Rys. 5.5 Wykres wychylenia steru głębokości w funkcji czasu.
Wygładzone przebiegi czasowe sygnałów sterujących wychylaniem powierzchni
sterowych dokładniej pokazują oddziaływania aparatu latającego na zadane wymuszenia
pilota. Biorąc pod uwagę fakt, że każdy z rysunków 5.2, 5.3, 5.4, 5.5 przedstawia około
25 - cio sekundowy fragment lotu, da się zauważyć, że sygnałem sterującym
o największej dynamice są wymuszenia w kanale przechylania, za który odpowiedzialne
są lotki.
86
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 87/157
5.3. Przygotowanie danych do budowy bazy reguł.
Do wykonania bazy reguł potrzebna jest wiedza na temat oddziaływania wychyleń
powierzchni sterowych na aparat latający „GACEK”,. W czasie lotu badany obiekt zmieniał
swoje położenie w wyniku sterowania przez pilota jak i wpływu zaburzeń atmosfery.
Zaburzenia ruchu spowodowane wiatrem występowały, kiedy pojawiała się prędkość kątowa,
a wychylanie powierzchni sterowych w tym samym czasie było zerowe, bądź nieznaczne.
Takie fragmenty lotu należało pominąć podczas analizy uzyskanych wyników.
Z zarejestrowanych danych zostały wybrane fragmenty lotu w czasie, których w wyniku
wychylania powierzchni sterowych pojawiały się prędkości kątowe. Na podstawie tych
danych zostały wyznaczone parametry określające dynamikę aparatu latającego. Znajomość
wartości tych parametrów jest niezbędna do dostrojenia regulatora.
5.3.1. Wyznaczenie współczynników dla pochylania.
Z pośród zarejestrowanych danych, do wyznaczenia współczynników określających
właściwości dynamiczne aparatu latającego w kanale pochylenia, zostały wybrane
2 fragmenty lotu. Są one przedstawione na rysunkach 5.6 oraz 5.7.
Rys. 5.6 Odpowiedź BAL na wychylenie steru kierunku.
87
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 88/157
Rys. 5.7 Odpowiedź BAL na wychylenie steru kierunku.
Wpływ na ruch badanego obiektu w kanale pochylania mogą mieć nie tylko
powierzchnie sterowe steru głębokości, ale także lotki i ster kierunku. Dlatego powyższe
wykresy zawierają przebiegi czterech wielkości:
– Wychylenie steru głębokości δh,
– Wychylenie steru kierunku δK,
– Wychylenie lewej lotki δL L,
– Prędkość kątową pochylania q.
Na wykresach nie zostało przedstawione wychylenie lotki prawej. A to dlatego, że działa ona
symetrycznie do wychylenia lotki lewej. Zatem wystarczającą informacją jest wychylenie
jednej z lotek. Na wybranych fragmentach lotu widoczne jest wychylenie tylko steru
głębokości, co oznacza, że występująca prędkość kątowa przechylania jest odpowiedzią
obiektu na wymuszenie będące wychyleniem steru głębokości.
Uwzględniając, że prędkości kątowe zawierają zakłócenia spowodowane zaburzeniami
atmosfery założono, że model samolotu w ruchu pochylania można przybliżyć układem
inercyjnym pierwszego rzędu. Do wyznaczenia parametrów określających dynamikę obiektu
w ruchu pochylania posłużył program MATLAB. Po wczytaniu do programu danych, jakimi
były wychylenie steru głębokości oraz prędkość pochylania, został stworzony układ
przedstawiony na rysunku 5.8.
88
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 89/157
Rys. 5.8 Schemat układu do wyznaczenia parametrów dynamicznych dla kanału pochylania.
Układ ten generował wykres przedstawiający:
– Wychylenie steru głębokości,
– Prędkość kątową pochylania,
– Odpowiedź układu inercyjnego pierwszego rzędu na wymuszenie będące wychyleniem
steru głębokości.
Układ inercyjny pierwszego rzędu przybliżający model samolotu w ruchu pochylania
jest określony dwoma parametrami: stałą czasową T oraz wzmocnieniem k . Uzyskanie
parametrów opisujących dynamikę badanego obiektu sprowadza się do wyznaczenia tych
dwóch parametrów w taki sposób, aby odpowiedź układu inercyjnego na wychylenie steru
głębokości była jak najbliższa rzeczywistej odpowiedzi na to wymuszenie tj. prędkości
kątowej pochylania. Początkowo stałej czasowej przypisano wartość T = 0.01, a wzmocnieniu
wartość k =1, po czym przeprowadzona została symulacja. Wynik symulacji jest
przedstawiony na rysunku 5.9.
Rys. 5.9 Przebiegi czasowe δh, q i odpowiedź modelu.
89
Układ inercyjny I rzędu
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 90/157
Na powyższym wykresie widać, że ustawione początkowo wartości parametrów T i k
nie są najlepsze. Stosując metodę prób i błędów wygenerowany został wykres (rys. 5.10) na
podstawie, którego można stwierdzić, że dobrane wartości stałej czasowej i wzmocnienia
dobrze określają dynamikę badanego obiektu.
Rys. 5.10 Przebiegi czasowe δh, q i odpowiedź modelu.
Uzyskane na podstawie powyższego wykresu wartości wzmocnienia i stałej czasowej
wynoszą: k = 1 oraz T = 0.05.Dla drugiego z wybranych fragmentów lotu przedstawionego na rys. 5.7, w analogiczny
sposób jak to zostało pokazane wyżej, zostały wyznaczone nowe parametry wzmocnienia
i stałej czasowej. Wynosiły one: k = 1.1 oraz T = 0.04, a wykres na podstawie, którego
parametry zmiennych zostały uznane jako najodpowiedniejsze jest pokazany na rysunku 5.11.
Rys. 5.11 Przebiegi czasowe δh, q i odpowiedź modelu.
90
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 91/157
Porównując uzyskane wartości zmiennych opisujących dynamikę obiektu w ruchu
pochylania dla dwóch przypadków wznoszenia (wychylenie steru głębokości w górę).
Przyjmujemy uśrednione wartości wzmocnienia i stałej czasowej, które odpowiednio
wynoszą:
k = 1.05 oraz T = 0.045.
Zachowanie BAL w czasie wznoszenia i opadania może się jednak różnić. Dlatego na
trzecim z wybranych fragmentów lotu, wymuszeniem jest wychylenie steru głębokości w dół.
Postępując analogicznie jak poprzednio na podstawie wykresu pokazanego na rysunku 5.12
uzyskane zostały następujące wyniki k = 0.6 oraz T = 0.05.
Rys. 5.12 Przebiegi czasowe δh, q i odpowiedź modelu.
Czas, w którym wykorzystane fragmenty lotu do wyznaczenia dynamiki obiektu
wystąpiły, odpowiadają etapowi prób w locie w czasie, którego pilot wykonywał zadaniazwiązane z badaniem reakcji BAL-u na wymuszenia w kanale pochylenia. W tabeli 5.1 są
przedstawione wyniki uzyskanych wartości parametrów opisujących dynamikę „GACKA”
z wybranych fragmentów lotu.
Tabela 5.1 Wyniki uzyskanych parametrów określających model samolotu.
Wznoszenie Opadanie
Stałą czasowa T 0.05 0.04 0.05
Wzmocnienie k 1 1.1 0.6
91
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 92/157
Uzyskane stałe czasowe zarówno dla wznoszenia jak i opadania są bardzo zbliżone do
siebie. Wzmocnienie natomiast w przypadku wznoszenia różni się od wzmocnienia
wyznaczonego w przypadku opadania o około 40%.
5.3.2. Wyznaczenie współczynników dla przechylania.
W czasie badań w locie zostały wykonane wszystkie z zaplanowanych zadań. Niestety
z przyczyn technicznych etap, w którym były wykonywane zadania związane z wytrącaniem
samolotu ze stanu równowagi poprzez wychylanie lotek nie został zarejestrowany. W czasie
analizy danych, jakimi dysponowaliśmy udało się wyodrębnić fragmenty na podstawie,
których możliwe było wyznaczenie parametrów określających model aparatu latającego
w kanale przechylania.
Na podstawie wybranych fragmentów (rys. 5.14, 5.16 i 5.18) przyjęto, że model
samolotu w ruchu przechylania można przybliżyć układem inercyjnym pierwszego rzędu.
Zatem tok postępowania jest identyczny jak w punkcie 5.3.1 – gdzie zostało przedstawione
uzyskanie wartości określających model aparatu latającego.
Kolejno zostały wykonane:
– Wczytanie danych,
– Zbudowanie układu (rys.5.13),
– Przeprowadzenie symulacji.
Rys. 5.13 Schemat układu do wyznaczenia parametrów dynamicznych dla kanału przechylania.
Pierwszy z wybranych fragmentów jest przedstawiony na rysunku 5.14, wymuszenie
będące wychyleniem lewej lotki w tym przypadku powoduje przechylenie „GACKA” na
prawe skrzydło. Na wykresie widoczne jest również nieznaczne wychylenie steru głębokości,
co może powodować zafałszowanie odpowiedzi na wymuszenie. W wyniku przeprowadzonej
symulacji został wygenerowany wykres (rys. 5.15), na którym jest przedstawione wychylenie
92
Układ inercyjny I rzędu
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 93/157
lotki, odpowiedź badanego obiektu oraz odpowiedź układu inercyjnego pierwszego rzędu.
Współczynniki, dla jakich uzyskana została odpowiedź układu inercyjnego mają wartości:
− Wzmocnienie k = 2.7,
− Stała czasowa T = 0.04.
Rys. 5.14 Odpowiedź BAL na wychylenie lotki.
Rys. 5.15 Przebiegi czasowe δL L ,, p i odpowiedź modelu.
Aby sprawdzić jak aparat latający zachowuje się w trakcie przechylania na leweskrzydło, zostały wybrane dwa fragmenty lotu, na których widoczne jest wymuszenie
93
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 94/157
powodujące przechylenie aparatu latającego na lewe skrzydło. Poniżej na rysunku 5.16
przedstawiony jest pierwszy fragment.
Rys. 5.16 Odpowiedź BAL na wychylenie lotki..
Parametry opisujące model w ruchu przechylania, na podstawie danych z rysunku 5.16,
zostały wyznaczone w wyniku uzyskania odpowiedzi układu inercyjnego I rzędu,
przedstawionej na rys. 5.17. Współczynniki, dla jakich uzyskana została odpowiedź układu
inercyjnego mają wartości:
− Wzmocnienie k = 2.7,
− Stała czasowa T = 0.05.
Rys. 5.17 Przebiegi czasowe δL L ,, p i odpowiedź modelu.
94
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 95/157
Rysunek 5.18 przedstawia drugi z wybranych fragmentów lotu.
Rys. 5.18 Odpowiedź BAL na wychylenie lotki.
Parametry opisujące model w ruchu przechylania, na podstawie danych z rysunku 5.18,
zostały wyznaczone w wyniku uzyskania odpowiedzi układu inercyjnego I rzędu,
przedstawionej na rys. 5.19. Współczynniki, dla jakich uzyskana została odpowiedź układu
inercyjnego mają wartości:
− Wzmocnienie k = 2.8,
− Stała czasowa T = 0.07.
Rys. 5.19 Przebiegi czasowe δL L ,,p i odpowiedź modelu.
95
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 96/157
W tabeli 5.2 są przedstawione wyniki uzyskanych wartości parametrów opisujących
dynamikę „GACKA” z wybranych fragmentów lotu dla przechylania.
Tabela 5.2 Wyniki uzyskanych parametrów określających model samolotu.
Przechylenie na lewe skrzydło Przechylenie na lewe skrzydło
Stałą czasowa T 0.05 0.07 0.04
Wzmocnienie k 2.7 2.8 2.7
Uzyskane stałe czasowe oraz wzmocnienia opisujące model, zarówno dla ruchu
przechylania w lewo jak i w prawo, mają wartości bardzo zbliżone do siebie. Świadczy to
o symetrii aparatu latającego w przechylaniu. Własność ta powoduje, że opracowywany
algorytm na stabilizację kąta przechylenia będzie jednakowy niezależnie od kierunku
przechylania. Niesymetria BAL-u w ruchu przechylania dodatkowo komplikowałaby
utworzenie struktury regulatora.
5.3.3. Wyznaczenie współczynników dla odchylania
W czasie prób w locie wykonywane manewry związane z wytrącaniem samolotu ze
stanu równowagi poprzez wychylanie steru kierunku również nie zostały zarejestrowane. Do
uzyskania przybliżonego modelu w ruchu odchylania BAL-u posłużono się danymiz fragmentów lotu, w czasie których wykonywane były markery.
Rys. 5.20 Odpowiedź BAL na wychylenie steru kierunku.
96
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 97/157
Rys. 5.21 Odpowiedź BAL na wychylenie steru kierunku.
Rysunek 5.20 przedstawia pojedyncze wychylenie steru kierunku, a na rysunku 5.21 jest
widoczne dwukierunkowe wychylenie. W obu zaprezentowanych przykładach odpowiedź
Gaceka w postaci prędkości kątowej odchylania ma charakter oscylacyjny [12]. Na podstawie
tej własności został zbudowany układ do wyznaczenia parametrów określających dynamikę
samolotu w kanale odchylania (rys. 5.13).
Rys. 5.13 Schemat układu do wyznaczenia parametrów dynamicznych dla kanału odchylania.
W wyniku wielokrotnego doboru parametrów opisujących dynamikę ruchu przechylania
aparatu latającego zostały uzyskane następujące wyniki.
Tabela 5.3 Wyniki uzyskanych parametrów określających model samolotu.
parametr Na podstawie rys. 5.14 Na podstawie rys. 5.15
k 0.2 0.185
T 0.18 0.185
d 0.075 0.32T1 0.35 0.58
97
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 98/157
Rys. 5.14 Przebiegi czasowe δK,,r i odpowiedź modelu.
Rys. 5.15 Przebiegi czasowe δK,,r i odpowiedź modelu.
Wyznaczone współczynniki określające dynamikę obiektu należy traktować jako dane
wymagające dalszej weryfikacji. Określenie tych współczynników wymaga przeprowadzenia
dokładniejszych i w większej ilości badań. W naszym przypadku dysponowaliśmy niewielką
ilością danych pomiarowych, na podstawie których byłoby możliwe pełniejsze i wierniejsze
rozpoznanie obiektu.
98
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 99/157
6. Rozmyty układ stabilizowania aparatu bezzałogowego GACEK
Projekt właściwy regulatora rozmytego docelowo przewidziano jako rzeczywisty układ
rdzenia autopilota – moduł do stabilizacji kątów przechylenia i pochylenia samolotu.
Tworzony układ ma zawierać pięć sygnałów wejściowych: z dwóch żyroskopów dla prędkości kątowych p i q, dwa sygnały sterujące: ster wysokości dh i lotki dL, sygnał
z różnicowego przetwornika ciśnienia (pomiar prędkości lotu) oraz dwa wyjścia sygnałowe
do sterowania mechanizmami wykonawczymi lotek i steru wysokości.
Realizację projektu właściwego regulatora rozmytego do stabilizacji kątów przechylenia
i pochylenia samolotu przewidziano na mikroprocesorze rodziny Silicon Laboratories –
C8051F020.
W celu uzyskania rdzenia algorytmu regulatora rozmytego posłużono się programem
fuzzyTECH 5.31. Przypisanie i obsługę wejść/wyjść mikroprocesora napisano w programie
Keil uVision2 przy pomocy programu: Configuration Wizard 2. Do zapisu i debuggingu
uzyskanego algorytmu regulator rozmytego na mikroprocesor wykorzystano program Silicon
Laboratories IDE .
6.1 Wymagania dotyczące układów sterowania obiektami autonomicznymi.
Różnorodność obiektów i ich właściwości nie pozwalają na wypracowanie uniwersalnej
formuły sterowania, jednak możliwe jest wyłonienie wspólnych atrybutów. Utrzymanie
(stabilizacja) określonej orientacji przestrzennej obiektu odniesiona do zmiennej, jaką jest
czas, pozwala wyodrębnić charakterystyczne fazy sterowania:
– ustatecznianie (sterowanie w krótkim przedziale czasowym) jest warunkiem precyzyjnegoutrzymania obiektu na trajektorii. Zdefiniowanie własności może być związane
z odpowiedzią na skokowe impulsy sterowania. Przyporządkować tutaj można następujące
parametry:
– czułość sterowania – początkowe przyspieszenie kątowe na jednostkę impulsu sterowania;
– czułość odpowiedzi prędkości kątowej – ustalona, odpowiadająca stanowi równowagi,
końcowa prędkość kątowa wynikająca z jednostki impulsu sterowania;
– stała czasowa – odcinek czasu do osiągnięcia przez odpowiedź pewnej części stanuustalonego;
99
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 100/157
– opóźnienie czasowe – odcinek czasu do momentu pojawienia się dającej się zmierzyć
odpowiedzi;
– przesterowanie – stosunek kolejnych wartości szczytowych w czasie oscylacyjnego
przebiegu odpowiedzi,
– prowadzenie (sterowanie prędkością i położeniem w średnim czasie) inaczej pilotowanie
nakłada na układ sterowania funkcję manewrowania, np. omijania przeszkód i adaptacji
parametrów sterowania. Prowadzenie możliwe jest przy opanowanej niestateczności, czyli
pozytywnym spełnieniu warunków ustateczniania,
– nawigowanie (sterowanie kursem i wysokością w długim czasie) polega na określeniu
gdzie aktualnie obiekt się znajduje oraz gdzie jest cel, czyli wyznaczony punkt toru
i przeprowadzenie obiektu do celu. Nawigowanie dotyczy prowadzenia obiektu, gdy
pozytywnie spełnione są warunki ustateczniania i prowadzenia. Dla obiektów określanych
mianem autonomicznych trudności w spełnieniu powyższych warunków mogą kształtować
się różnie, np. ustatecznianie aparatu latającego wymaga ciągłych korekt powierzchniami
sterowymi dla zapewnienia utrzymania się na zadanym torze.
6.2 Projekt regulatora rozmytego dL_dh_30
W programie fuzzyTECH 5.31 został utworzony projekt dL_dh_30 regulatora
rozmytego do stabilizowania kątów pochylenia θ i przechylenia ϕ samolotu (rys .6.1).
Rys 6.1 Schemat projektu dL_dh_30
100
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 101/157
Założenia projektu dL_dh_30:
a) dysponujemy pięcioma sygnałami wejściowymi:
– przyspieszeniem liniowym a x – mierzonym poprzez przyspieszeniomierz wzdłuż osi
podłużnej samolotu (alternatywnie żyroskop mierzący prędkość kątową q pochylania), – wychyleniem steru wysokości dh – zadanym przez pilota lub ustawionym na
potencjometrze (symulującym sygnał nakazowy dh),
– przyspieszeniem liniowym a y – mierzonym poprzez przyspieszeniomierz wzdłuż prawego
skrzydła (alternatywnie żyroskop mierzący prędkość kątową p przechylania),
– wychyleniem steru lotek dL – zadanym przez pilota lub ustawionym na potencjometrze
(symulującym sygnał nakazowy dL),
– prędkością lotu U – mierzoną za pomocą czujnika ciśnienia lub z potencjometru(symulującego prędkość),
b) otrzymujemy dwa sygnały wyjściowe:
– dh_wy – kształtujący PWM sterujący serwomechanizmami steru wysokości,
– dL_wy – kształtujący PWM sterujący serwomechanizmem lotek,
c) praca regulatora polega na generowaniu sygnałów wyjściowych dh_wy i dL_wy tak,
aby:
– wartość przyspieszenia a x i a y, dla zerowych wychyleń sterów dh i dL, wynosiła 0[g] – mato na celu stabilizowanie zerowego pochylenia i przechylenia samolotu w locie poziomym,
– wartość prędkości kątowych pochylania q i przechylania p, dla zerowych wychyleń sterów
dh i dL, wynosiły 0[rad/s] – ma to na celu tłumienie prędkości kątowych niewynikających
ze sterowania samolotem (punk ten odnosi się do sytuacji, gdy przyspieszeniomierze a x
i a y zostaną zastąpione żyroskopami q i p).
– dh_wy było równe dh i dL_wy buło równe dL w przypadku, gdy dh i dL są niezerowe,
– wychylenia dh_wy i dL_wy były proporcjonalne do prędkości lotu U.
W opcjach projektu regulatora rozmytego został wybrany 8-bitowy typ zmiennych.
Na rysunku 6.2 i 6.3 znajdują się funkcje przynależności zmiennych wejściowych
regulatora dL_dh_30 dla kanału pochylania, tj. dla przyspieszenia liniowego a x mierzącego
wzdłuż osi lotu i dla sygnału nakazowego dh.
101
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 102/157
Rys.6.2 funkcje przynależności wejścia ax.
Rys. 6.3 funkcje przynależności wejścia dh.
Poniżej, na rysunku 6.4 i 6.5, znajdują się funkcje przynależności zmiennych
wejściowych regulatora dL_dh_30 dla kanału przechylania, tj. dla przyspieszeniomierza
liniowego a y i dla sygnału nakazowego dL.
Rys. 6.4 funkcje przynależności wejścia ay.
Rys. 6.5 funkcje przynależności wejścia dL.
102
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 103/157
Wejścia przyspieszeniomierzy i sygnałów sterujących mają po trzy funkcje
przynależności, z których środkowe są trapezowe.
Trapezowe funkcje przynależności dla wejść przyspieszeniomierzy mają za zadanie
wprowadzenie tzw. luzu, który w pracy regulatora wprowadza nieczułość na niewielkie
odchyłki wartości przyspieszeń od 0[g] i tym samym praca regulatora jest łagodniejsza,
z lekkimi odchyłkami.
Trapezowe funkcje przynależności dla wejść sygnałów sterujących mają za zadanie
zwiększenie zakresu zasadniczej pracy regulatora, gdyż projekt dL_dh_ 30 zakłada, że
niezerowe sygnały sterujące wywołują proporcjonalne wartości sygnały wyjściowych
niezależnie od wartości sygnałów przyspieszeniomierzy.
Zmienna wejścia prędkości lotu ma dwie funkcje przynależności (rys. 6.6).
Rys.6.6 Funkcje przynależności wejścia prędkości lotu U
Zmienne wyjściowe dh_wy i dL_wy (rys. 6.7 i 6.8) posiadają po pięć funkcji
przynależności. Ilość funkcji przynależności uwarunkowana jest wprowadzaniem zmian pracy
regulatora w zależności od prędkości lotu – dla małych prędkości lotu przewidziane są duże
wychylenia sterów, dla dużych prędkości lotu przewidziane są małe wychylenia sterów.
Rys. 6.7 funkcje przynależności wyjścia dh_wy
103
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 104/157
Rys. 6.8 funkcje przynależności wyjścia dL_wy
Algorytm regulatora dL_dh_ 30 dla kanału pochylania znajduje się w Tabeli 6.1.
Algorytm regulatora dL_dh_ 30 dla kanału przechylania znajduje się w Tabeli 6.2. Tabele te
zawierają reguły dla wszystkich możliwych kombinacji wejść. Wszystkie reguły mają taki
sam stopień wagi reguł równy 1.
Tabela 6.1 Reguły kanału pochylania
104
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 105/157
Tabela 6.2 Reguł kanału przechylania
Poniżej, na rysunkach 6.9 i 6.10, znajdują się płaty powierzchniowe regulatora
rozmytego dL_dh_ 30 kanału pochylania dla minimalnej i maksymalnej prędkości lotu.
Minimalnej prędkości lotu (30 km/h) odpowiada wartość 0 na wejściu U regulatora,
a maksymalnej prędkości lotu (80 km/h) odpowiada wartość 255 na wejściu U regulatora..
Rys.6.9 Płat powierzchniowy kanału pochylania dla U = 0.
105
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 106/157
Rys. 6.10 Płat powierzchniowy kanału pochylania dla U = 255.
Poniżej, na rysunku 6.11 i 6.12, znajdują się płaty powierzchniowy regulatora
rozmytego dL_dh_ 30 kanału przechylania dla minimalnej i maksymalnej prędkości lotu.
Rys. 6.11 Płat powierzchniowy kanału przechylania dla U = 0.
Rys. 6.12 Płat powierzchniowy kanału pochylania dla U = 255.
106
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 107/157
Dla regulatora rozmytego dL_dh_ 30 wygenerowano przebiegi czasowe dla kanału
pochylania (rys. 6.13) i przechylania (rys. 6.14). Zostały na nich zaprezentowane podstawowe
stany wejść i odpowiedzi wyjść.
Rys. 6.13 Przebiegi czasowe dla kanału pochylania.
Rys. 6.14 Przebiegi czasowe dla kanału pochylania.
Z powyższych przebiegów czasowych widać, że: wartości sygnałów wyjściowych są: duże dla małych prędkości lotu i małe dla dużych,
dodatnie (ujemne) zmiany sygnałów sterujących wywołują dodatnie (ujemne) zmiany
sygnałów wyjściowych,
dodatnie (ujemne) zmiany sygnałów z przyspieszeniomierzy wywołują ujemne
(dodatnie) zmiany sygnałów wyjściowych,
dla niezerowych sygnałów sterujących zmienne wyjściowe zależą od sygnałów
z przyspieszeniomierzy – niezgodne z założeniami projektu dL_dh_30.
Po uzyskaniu powyższych wyników przystąpiono do wprowadzania zmian
w regulatorze rozmytym. Na początku przystąpiono do optymalizacji tabeli reguł. W tabeli
6.1 wprowadzono zmiany mające na celu odseparowanie wpływu sygnałów
z przyspieszeniomierzy przy sterowaniu samolotem sygnałami nakazowymi. W efekcie
uzyskano Tabelę reguł 6.3.
Analogicznie postąpiono z Tabelą 6.2, z której uzyskano Tabelę 6.4.
107
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 108/157
Tabela 6.3 Zoptymalizowane reguły dla kanału pochylania
Tabela 6.4. Zoptymalizowane reguły dla kanału przechylania
Dla regulatora rozmytego o zmienionej tabeli reguł ponownie wygenerowano płaty
powierzchniowe i przebiegi czasowe. Na ry. 6.15 znajduje się płat powierzchniowy kanału
pochylania dla prędkości U = 0 – na rys. 6.16 znajduje się płat powierzchniowy kanału
przechylania dla prędkości U = 0.
Rys. 6.15 Płat powierzchniowy dla kanału pochylania U = 0
108
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 109/157
Rys. 6.16 Płat powierzchniowy dla kanału przechylania U = 0
Na rysunku znajdują się przebiegi czasowe regulatora rozmytego, którego sterowanie
opisuje Tabela reguł 6.3.
Rys. 6.17 Przebiegi czasowe regulatora dL_dh_30.
Z powyższych przebiegów czasowych widać, że:
– wartości sygnałów wyjściowych są: duże dla małych prędkości lotu i małe dla dużych,
– dodatnie (ujemne) zmiany sygnałów sterujących wywołują dodatnie (ujemne) zmiany
sygnałów wyjściowych, – dodatnie (ujemne) zmiany sygnałów z przyspieszeniomierzy wywołują ujemne (dodatnie)
zmiany sygnałów wyjściowych,
– dla niezerowych sygnałów sterujących zmienne wyjściowe zależą od sygnałów
z przyspieszeniomierzy – niezgodne z założeniami projektu dL_dh_30.
Powyższe wnioski świadczą o podobnym charakterze sterowania regulatora
rozmytego jak dla wcześniejszych tabel reguł.
109
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 110/157
Efektem kompilacji projektu regulatora rozmytego dL_dh_30 są dwa pliki kodu C, które
znajdują się w tym samym katalogu, co plik utworzonego projektu:
a) dL_dh_30.h – plik ten zawiera:
– definicje tabeli zmiennych jako zewnętrzna,
– definicje adresów zmiennych wejściowych/wyjściowej,
– prototypy: funkcji inicjującej regulator rozmyty i funkcji regulatora rozmytego,
b) dL_dh_30.c – plik ten zawiera:
– odwołanie do pliku biblioteki ftlibc.h,
– odwołanie do pliku dL_dh_30.h,
– definicje tablicy zmiennych i tablicy stałych,
– zawartość tablic stałych,
– funkcja dL_dh_30 regulatora rozmytego,
– funkcja initdL_dh_30 inicjująca regulator rozmyty.
Plikami dopełniającymi algorytm regulatora rozmytego są: biblioteka rejestrów
mikroprocesora c8051F020.h, biblioteka logiki rozmytej FTLIBC.h, plik Hf4p.c z funkcją
flms, plik Hf2p.c z funkcją flmss, plik Hdcom.c z funkcją com, plik HPUBVARS.c z
definicjami typów zmiennych regulatora rozmytego, plik Himmin.c z funkcja iMMin – pliki
te znajdują się kolejno w dodatkach I, J, K, L, Ł, M oraz N(w dodatkach podane są ścieżki
dostępu do tych plików). Zawartość plików dL_dh_30.h i dL_dh_30.c znajduje się w
dodatkach O i P.
Przeprowadzona analiza projektu dh_dL_30, za pomocą opcji Transfer Plot oraz Time
Plot, pokazała, że projekt nie spełnia wstępnych założeń.
W programie fuzzyTECH 5.31 został utworzony nowy projekt FT na bazie projektu
dh_dL_30. W projekcie tym dokonano zmian w funkcjach przynależności wejść sygnałów
nakazowych oraz w tabelach reguł.
Przebiegi funkcji przynależności zmiennych wejściowych kanału pochylania znajdują
się na rys. 6.18 i na rys. 6.19.
Rys. 6.18 Przebieg funkcji przynależności zmiennej ax w projekcie FT
110
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 111/157
Rys. 6.19 Przebieg funkcji przynależności zmiennej dh w projekcie FT
Przebiegi funkcji przynależności zmiennych wejściowych kanału przechylania znajdują
się na rys. 6.20 i rys. 6.21. Są one analogiczne jak funkcje przynależności zmiennych
wejściowych kanału pochylania
Rys. 6.20 Przebieg funkcji przynależności zmiennej ay w projekcie FT
Rys. 6.21 Przebieg funkcji przynależności zmiennej dL w projekcie FT
Funkcje przynależności zero zmiennych wejściowych dh i dL odpowiadają za
wyznaczanie zakresu pracy automatycznego tłumienia niepożądanych stanów samolotu
odpowiednio w ruchu pochylania i ruchu przechylania. Regulator rozmyty FT uwzględnia
stany przyspieszeniomierzy ax i ay, wtedy i tylko wtedy, gdy zmienne wejściowe sygnałów
nakazowych chociaż w części przynależą do funkcji zero.
111
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 112/157
Funkcje przynależności zmiennych regulatora rozmytego w projekcie FT: prędkości
lotu U, wyjściowego wychylenia steru wysokości dh_wy i wyjściowego wychylenia lotek,
zostały takie same jak w projekcie dh_dL_30 (na rysunkach 6.22, rys. 6.23 i 6.23
przedstawiono ich kształt).
Rys. 6.22 Przebieg funkcji przynależności zmiennej U w projekcie FT.
Rys. 6.23 przebieg funkcji przynależności zmiennej dh_wy w projekcie FT.
Rys. 6.24 Przebieg funkcji przynależności zmiennej dL_wy w projekcie FT.
W projekcie regulatora rozmytego FT wprowadzono duże zmiany. Tabela reguł 6.5 w
projekcie FT została utworzona na podstawie Tabeli reguł 6.3, a Tabela 6.6 w projekcie FT
została utworzona na podstawie Tabeli reguł 6.4 z projektu dh_dL_30.
112
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 113/157
Tabela 6.5 Reguły kanału pochylania dla regulatora rozmytego FT.
Tabela 6.6 Reguł kanału pochylania dla regulatora rozmytego FT.
Algorytm regulatora rozmytego dla kanału pochylania i przechylania, w tej fazie
projektu, jest taki sam. Składa się on z dziewięciu reguł:
1 Sygnał nakazowy ujemny – wychyl ster dużo ujemnie (Dminus dh_wy i dL_wy odpowiada
wychyleniu minus dh i dL),
2 Sygnał nakazowy dodatni – wychyl ster dużo dodatni (Dplus dh_wy i dL_wy odpowiada
wychyleniu plus dh i dL),3 Przyspieszeniomierz (żyroskop) ujemny, sygnał nakazowy zero, prędkość lotu mała – tłum
ujemny kąt (prędkość kątową), wychylenie steru dużo dodatnio (dużo, gdyż mała prędkość
lotu i małe siły na powierzchniach sterowych),
4 Przyspieszeniomierz (żyroskop) zero, sygnał nakazowy zero, prędkość lotu mała – sytuacja
dobra,
5 Przyspieszeniomierz (żyroskop) dodatni, sygnał nakazowy zero, prędkość lotu mała – tłum
dodatni kąt (prędkość kątową), wychylenie steru dużo ujemnie,
113
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 114/157
6 Przyspieszeniomierz (żyroskop) ujemny, sygnał nakazowy zero, prędkość lotu duża – tłum
ujemny kąt (prędkość kątową), wychylenie steru dodatni,
7 Przyspieszeniomierz (żyroskop) zero, sygnał nakazowy zero, prędkość lotu duża – sytuacja
optymalna,
8 Przyspieszeniomierz (żyroskop) dodatni, sygnał nakazowy zero, prędkość lotu duża – tłum
dodatni kąt (prędkość kątową), wychylenie steru ujemny,
9 Sygnał nakazowy z – wychylenie steru zero.
Reguły, w których na wejściach występują tylko sygnały nakazowe, mają stopnie
przynależności 0.1. Jest to w zupełności wystarczające do sterowania jeden do jeden
sygnałami nakazowymi dh i dL do wyjściowych dh_wy i dL_wy, gdy sygnały nakazowe są
niezerowe. Gdy sygnały nakazowe dh i dL są bliskie zeru, wtedy na wychylenie sterów
dh_wy i dL_wy mają wpływ wartości z przyspieszeniomierzy (żyroskopów).
Przedstawione powyżej zmiany w tabelach reguł kanału pochylania i kanału
przechylania (Tab. 6.5 i Tab. 6.6) poważnie zmieniły charakter sterowania regulatora
rozmytego. Na rys. 6.25, 6.26, 6.27, 6.28 przedstawiono płaty powierzchniowe regulatora dla
nowych tabel reguł (Tab. 6.5 i Tab. 6.6).
Rys. 6.25 Płat powierzchniowy regulatora rozmytego FT dla kanału pochylania i U = 0.
114
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 115/157
Rys. 6.26 Płat powierzchniowy regulatora rozmytego FT dla kanału pochylania i U = 255.
Rys. 6.27 Płat powierzchniowy regulatora rozmytego FT dla kanału przechylania i U = 0.
Rys. 6.28 Płat powierzchniowy regulatora rozmytego FT dla kanału przechylania i U = 255.
115
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 116/157
Z przedstawionych płatów powierzchniowych wynika, że:
– dla sygnałów nakazowych bliskich zeru wychylenie sterów zależne jest od wartości
przyspieszeniomierzy (żyroskopów),
– niezerowe sygnały sterujące powodują liniowe wychylenie sterów,
– wpływ sygnałów z przyspieszeniomierzy (żyroskopów) na wychylenie sterów jest większy
dla mniejszych prędkości lotu.
Rys. 6.29 Przebiegi czasowe regulatora rozmytego FT dla kanału pochylania.
Rys. 6.30 Przebiegi czasowe regulatora rozmytego FT dla kanału przechylania.
Przebiegi czasowe regulatora rozmytego FT potwierdzają wnioski uzyskane z płatów
powierzchniowych regulatora FT.
6.3 Mikroprocesor c8051f020
Realizację projektu właściwego regulatora rozmytego do stabilizacji kątów przechylenia
i pochylenia samolotu przewidziano na mikroprocesorze rodziny Silicon Laboratories –
C8051F020. Struktura wewnętrzna wybranego procesora przedstawiona jest na rys. 6.31.
116
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 117/157
Rys. 6.31 Struktura wewnętrzna mikroprocesora C8051F020.
Opis mikroprocesora c8051f020:a) 8-bitowy przetwornik AC
− szybkość działania do 500ksps
− 8 zewnętrznych wejść
− programowane wzmocnienie: 4, 2, 1, 0.5
b) 12-bitowy przetwornik AC
− szybkość działania do 100ksps
− 9 wejść
− programowane wzmocnienie: 16, 8, 4, 2, 1, 0.5
c) dwa 12-bitowe przetworniki CA
d) dwa analogowe komparatory
e) napięcie odniesienia
f) dużej prędkości rdzeń µC 8051
− 70% instrukcji wykonywanych w 1-ym lub 2-óch taktach zegarowych
− wektor 22 przerwań
117
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 118/157
g) pamięć
− 4352 Bajt wewnętrznych danych RAM (4k + 256)
− 64k Bajt pamięci FLASH
h) zegar systemowy− wewnętrzny oscylator o częstotliwości taktowania od 2 do 16[MHz]
− zewnętrzny oscylator kwarcowy lub RC
i) napięcie zasilania 2.7 – 3.6[V]
j) zakres temperetur: -40 do +85[°C]
k) cyprowe peryferia
− Programowany 16-bitowy moduł 5 modułów Capture/Compare
− 5 ogólnego przeznaczenia 16-bitowych liczników/Timerów− Watch-Dog
6.4 Configuration Wizard 2 – funkcje peryferii mikroprocesora
Program Configuration Wizard 2 jest produktem firmy Silicons Labolatories. Służy on
do pisania funkcji ustawień peryferii mikroprocesorów Silikon Laboratories.
W czasie uruchamiania programu został wybrany rodzaj mikroprocesora: c8051f020, naktórym na zostać zapisany algorytm regulatora, a poniżej przedstawiono ustawienia peryferii
dla tego mikroprocesora.
Rys. 6.32 Okna ustawień portów i zegara systemowego.
Na rys. 6.32 (powyżej) po lewej znajduje się okno ustawień portów wejściowy/
wyjściowych mikroprocesora. Na porcie P0 ustawiono dwa wyjścia CX0 (P0.6) i CX1 (P0.7)z modułu PCA, które są odpowiedzialne za generowanie sygnału PWM dla
118
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 119/157
serwomechanizmów. Ustawienie CX0 i CX1 na P0.6 i P0.7 odbyło się pośrednio, tzn. na
P0.0-5 ustawiono UART0 i SPI0 (które są używane), a zaznaczenie CX0 i CX1 spowodowało
przypisanie ich do P0.6 i P0.7. Zabieg ten wykonano ze względu na fizyczne podłączenie
serwomechanizmów do portu P0 (P0.6, P07, GND i Vdd poru P0 są pinami bezpośrednio
sąsiadującymi ze sobą). Takie podłączenie daje możliwość wprowadzenia do algorytmu
obsługi komunikacji szeregowej bez dodatkowego przeprogramowywania portów.
Na rysunku 6.32 po prawej stronie znajduje się okno ustawień zegara systemowego.
Wybrany jest wewnętrzny oscylator o częstotliwości taktowania 16[MHz].
Rys. 6.33 Okna ustawień modułu PCA i napięcia odniesienia.
Na rys. 6.34 po lewej znajduje się okno ustawień PCA. Został ustawiony on na
taktowanie SYSCLK/4. Uaktywniono tutaj flagę przerwania od przepełnienia licznika modułu
PCA. Moduł PCA0 i PCA1 zostały ustawiony jako 16-bitowy PWM z wartością początkową
E88Fh zapisaną w rejestrze Capture/Compare (dającą poziom ‘1’ sygnału PWM przez 1[ms]).
Na rys. 6.34 po prawej znajduje się okno ustawień napięcia referencyjnego.
Uaktywniono wewnętrzny generator i wewnętrzny bufor napięcia referencyjnego.
Na rys. 6.35 po lewej znajduje się okno ustawień przetwornika analogowo-cyfrowego
ADC1. Został on uaktywniony, ustawiony na przetwarzanie z częstotliwością 2[MHz] oraz
ustawiono rozpoczęcie przetwarzania AC przy instrukcji AD0BUSY=1.
Na rys. 6.35 po prawej znajduje się okno ustawień wektora przerwań. Ustawiono tutaj
uaktywnienie wektora przerwań z przerwaniem od modułu PCA.
119
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 120/157
Rys. 6.35 Okna ustawień przetwornika ADC1 i wektora przerwań.
Program Configuration Wizard 2, na podstawie ustawień w prezentowanych oknach
generuje plik tekstowy zawierający funkcje ustawień peryferii. Zawartość pliku z uzyskanymi
funkcji znajduje się w dodatku R.
6.5 Końcowy algorytm regulatora rozmytego dL_dh_30
Po uzyskaniu plików rdzenia algorytmu regulatora rozmytego z programu fuzzyTECH
5.31 przystąpiono do opracowania algorytmu końcowego regulatora rozmytego. Do
połączenia i uzupełnienia algorytmu regulatora rozmytego posłużono się programem Keil
uVision2. Przy pomocy programu Configuration Wizard 2 uzyskano funkcje ustawień:
portów, napięcia referencyjnego, przetwornika analogowo-cyfrowego, przetwornika cyfrowo-
analogowego, modułów PCA, zegara systemowego.
Poniżej znajduje się pierwsza wersja pełnego algorytmu regulatora rozmytego
z komentarzami< >. Należy zaznaczyć tutaj, że plikiem wyjściowym procesu tworzenia
algorytmu końcowego regulatora rozmytego jest plik dL_dh_30.c. Przedstawiony listing
zawarty jest w treści pracy dyplomowej, a nie w dodatkach, ze względu na to, iż został on
utworzony z kilku niezależnych plików, których kolejność została nadana przez autora
według zasad programowania w języku C. Należy dodać, że uzyskany algorytm regulatorarozmytego do sterowania aparatem latającym jest bardzo nowatorskim rozwiązaniem.
120
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 121/157
//-------------------------------------------------------------------------
// B I B L I O T E K A//-------------------------------------------------------------------------
#include "c8051f020.h"
<Powyższe linijki zostały napisane przez projektanta; linijka #include
"c8051f020.h" jest odwołaniem do pliku biblioteki danego typu mikroprocesora. W pliku
tym znajdują się definicje rejestrów mikroprocesora – pominięcie tego odwołania spowoduje
pojawienie się błędów, w kompilacji projektu, odnoszących się do niezdefiniowanych
zmiennych używanych w dalszej części projektu.>
<Poniżej zaczyna się zawartość pliku dL_dh_30.c. Został tutaj wstawiony, gdyż jest to
plik zawierający funkcję regulatora rozmytego i przyjęto go za plik bazowy.>
/*-----------------------------------------------------------------------*//*----------------- fuzzyTECH 5.31 Professional Edition -----------------*//*-----------------------------------------------------------------------*//*-------------------- Code Generator: C Source Code --------------------*//*----------- Code Generation Date: Thu Oct 02 15:33:46 2008 ------------*//*----------------------- Fuzzy Logic System: PR1 -----------------------*//*-----------------------------------------------------------------------*//*------ (c) 1991-1999 INFORM GmbH, Pascalstr. 23, D-52076 Aachen -------*//*---- Inform Software Corp., 2001 Midwest Rd., Oak Brook, IL 60523 -----*//*-----------------------------------------------------------------------*/
#define PRECOMPILER#define FTLIBC8//#include "ftlibc.h"
<Linijka #include "ftlibc.h" została zamieniona na komentarz poprzez znaki //,
a w zamian za nią wstawiono zawartość pliku ftlibc.h, do którego to polecenie się
odwoływało. Uczyniono tak z powodu błędu, jaki się pojawiał – potraktowanie pliku ftlibc.h
jako zewnętrznego powodowało, że definicja #define FTLIBC8 znajdująca się w pliku
dL_dh_30.c powyżej odwołania #include "ftlibc.h", nie była widziana przez plik
biblioteki ftlibc.h. Plik biblioteki wymaga określenia opcji regulatora (np. 8-bitowy, 16- bitowy itp.), które znajduje się w pliku dL_dh_30.c, a w którym znajduje się odwołanie do
pliku biblioteki ftlibc.h – powstało zapętlenie, które rozwiązano sprowadzając cały algorytm
regulatora do jednego pliku. Doświadczenie projektanta pozwoliło natenczas tutaj na takie
rozwiązanie – wydaje się być możliwym inne rozwiązanie, z plikami zewnętrznymi będące
rozwiązaniem lepszym.>
<Poniżej zaczyna się zawartość pliku biblioteki ftlibc.h, którą wprowadzono zamiast polecenia #include "ftlibc.h".>
121
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 122/157
/*------------------------------------------------------------*//* fuzzyTECH 5.3 C Runtime Library: Header File *//* (c) 1999 INFORM GmbH, Pascalstr. 23, 52076 Aachen, Germany *//*------------------------------------------------------------*/
/*************************************************************************\
* Modul $RCSfile: $* $Revision: $* $Log: $\*************************************************************************/
#ifndef __INC_FTLIBC#ifndef FTLIB99C#ifndef FTLIBC8#ifndef FTLIBC16#error Use -DFTLIBC16 or -DFTLIBC8 or -DFTLIB99C as compiler command
line switch#endif
#endif
#endif
<Powyżej znajduje się algorytm wyświetlania błędu w czasie kompilacji, który sygnalizujeo niezdefiniowaniu rodzaju regulatora.>
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *//* !!! Please don't change the following lines !!! *//* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
#ifndef __VOIDCONST_DEFINED#ifndef FT_KRC
#define VOID void#define CONST const
#define FTCALL#else
#define VOID#define CONST#define FTCALL
#endif#define __VOIDCONST_DEFINED
#endif
#define FTSTORAGECLASS
#define __TRC_STATUS (TrcBuf[0])#define __TRC_MAXSTEP (TrcBuf[1])
#define __TRC_STEPWIDTH (TrcBuf[2])#define __TRC_ON (TrcBuf[3])#define __TRC_STP_CNTDWN (TrcBuf[4])#define __TRC_SW_CNTDWN (TrcBuf[5])
#define TRC_STOP 0x0000#define TRC_STARTING 0x0001#define TRC_TRACING 0x0002#define TRC_INITWAIT 0x0004#define TRC_WAITING 0x0008#define TRC_EXT_TRIGGER 0x0010#define TRC_FULL 0x0020
#ifdef ONLINE#define PRECOMPILER#define TT_PRJID 0
122
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 123/157
#define TT_TRCBUF 1#define TT_MONITOR 2#define TT_4PMBF 3#define TT_XCOM 4#define TT_TABOFS 5#define TT_IONAMES 6
#define TT_KBM 7#define TT_FTLZIP 8#define TT_BVRSHELL 9#define TT_BVRCODE 10#define TT_MBF 11#define TT_WEIGHTS 12#define TT_STATE 13#define TT_ICL 14#define TT_FRAT 15#define TT_DEFUZ 16#define TT_SHAPES 17#define TT_INFTYPES 18#define TT_RT 19
#define TT_IO 20#define TT_FUZZYS 21#define TT_PTRCBUF 22#define TT_SIZE 23
#define FTS_HG 0x0001#define FTS_CR 0x0002#define FTS_CY 0x0003#define FTS_CG 0x0004
#define FTS_MASK_ONLINE 0x8000#define FTS_MASK_FTRREV 0x7F00#define FTS_MASK_DIRTY 0x0008
#define FTS_MASK_STATE 0x0007
#define FTS_STATE 0#define FTS_NUMIN 1#define FTS_DTIO 2#define FTS_KBMSIZE 3#define FTS_KBMUSED 4#define FTS_FTLSIZE 5#define FTS_FTLUSED 6#define FTS_TRCSIZE 7#define FTS_NUMOUT 8#define FTS_SIZE 9
#ifndef __PTAB_DEFINEDtypedef unsigned char * PTAB;typedef PTAB * PTABTAB;#define __PTAB_DEFINED
#endif
#endif
<Poniżej znajduje się algorytm określania typów zmiennych i charakterystycznych
wartości dla regulatora rozmytego 8-bitowego.>
#ifdef FTLIBC8
typedef unsigned char FUZZY;typedef unsigned short LFUZZY;#ifdef PRECOMPILER
123
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 124/157
typedef unsigned long int FLAGS;#else
typedef unsigned char FLAGS;#endif
#define MAXDOS 0x80
#define DOSSHIFT 7#define MAXACPAR 0x80#define ACSHIFT 7#define MAXSHAPEPAR 0x80#define SHAPESHIFT 7#define MAXFUZZY 0xFF#define MAXFUZZYL 0x00FF#define MAXBVRANGE 0x00FF
#endif
<Poniżej znajduje się algorytm określania typów zmiennych i charakterystycznych
wartości dla regulatora rozmytego 16-bitowego.>
#ifdef FTLIBC16typedef unsigned short FUZZY;typedef unsigned long int LFUZZY;#ifdef PRECOMPILER
typedef unsigned long int FLAGS;#else
typedef unsigned short FLAGS;#endif
#define MAXDOS 0x80#define DOSSHIFT 7#define MAXACPAR 0x80
#define ACSHIFT 7#define MAXSHAPEPAR 0x80#define SHAPESHIFT 7#define MAXFUZZY 0xFFFF#define MAXFUZZYL 0x0000FFFF#define MAXBVRANGE 0xFFFF
#endif
<Poniżej znajduje się algorytm określania typów zmiennych i charakterystycznych
wartości dla regulatora rozmytego typu 99C.>
#ifdef FTLIB99Ctypedef unsigned char FUZZY;typedef unsigned short LFUZZY;typedef unsigned long int FLAGS;
#define MAXFUZZY 0x3F#define MAXFUZZYL 0x003F#define MAXBVRANGE 0x00FF
#endif
typedef unsigned char BYTE;typedef BYTE * PFTBYTE;typedef unsigned short FTUSHORT;
typedef FTUSHORT * PFTUSHORT;typedef unsigned short FRAT;typedef FRAT * PFRAT;
124
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 125/157
typedef FUZZY * PFUZZY;typedef FUZZY * PTRACE;
typedef struct tag_FPV {BYTE bTNum;FUZZY crisp;
FLAGS invalidflags;PFRAT fratptr;PFUZZY tpptr;PFUZZY fuzptr;PFUZZY pfuzvals;PFUZZY xcomptr;PFUZZY defuzz;PFTBYTE rtptr;
#ifdef PRECOMPILERunsigned short * prt;BYTE bPar;PFUZZY wptr;
FTUSHORT usNumber;#endif} FPV;typedef FPV * PFPV;
<Poniżej znajdują się polecenia przypisania definicji typów zmiennych regulatora
rozmytego jako zewnętrzne. Zamieniono te linijki na komentarz poprzez znaki /* */ - zamiast
tych poleceń wklejono zawartość pliku, w którym znajdują się właściwe definicje tych typów
zmiennych.>
/*extern FTSTORAGECLASS BYTE bTNum;extern FTSTORAGECLASS FUZZY crisp;extern FTSTORAGECLASS FLAGS invalidflags;extern FTSTORAGECLASS PFRAT fratptr;extern FTSTORAGECLASS PFUZZY tpptr;extern FTSTORAGECLASS PFUZZY fuzptr;extern FTSTORAGECLASS PFUZZY pfuzvals;extern FTSTORAGECLASS PFUZZY xcomptr;extern FTSTORAGECLASS PFUZZY defuzz;extern FTSTORAGECLASS PFTBYTE rtptr;
*/
<Poniżej znajduje się wklejona zawartość pliku HPUBVARS.c, w którym znajdują siędefinicje typów zmiennych regulatora rozmytego.>
/*-----------------------------------------------------------------------*//* Module HPUBVARS of fuzzyTECH Kernel C-Library, Vs. 4 *//* (c) 1995 Inform Software Corp., 2001 Midwest Rd., Oak Brook, IL 60521,USA *//* (c) 1995 INFORM GmbH, Pascalstr. 23, D-52076 Aachen *//*-----------------------------------------------------------------------*/
// #include "ftlibc.h"
FTSTORAGECLASS BYTE bTNum;FTSTORAGECLASS FUZZY crisp;
125
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 126/157
FTSTORAGECLASS FLAGS invalidflags = 0;FTSTORAGECLASS PFRAT fratptr;FTSTORAGECLASS PFUZZY tpptr;FTSTORAGECLASS PFUZZY fuzptr;FTSTORAGECLASS PFUZZY xcomptr;FTSTORAGECLASS PFUZZY defuzz;
FTSTORAGECLASS PFTBYTE rtptr;
#ifdef PRECOMPILERFTSTORAGECLASS unsigned short *prt;FTSTORAGECLASS BYTE bPar;FTSTORAGECLASS PFUZZY wptr;FTSTORAGECLASS FTUSHORT usNumber;#endif
<Koniec wklejonego pliku. Poniżej dalsza część biblioteki ftlibc.h>
#ifdef PRECOMPILERextern FTSTORAGECLASS unsigned short * prt;extern FTSTORAGECLASS BYTE bPar;extern FTSTORAGECLASS PFUZZY wptr;extern FTSTORAGECLASS FTUSHORT usNumber;
#endif
#ifndef FT_KRCVOID FTCALL PushFuzzyPubVars(PFPV pFPV);VOID FTCALL PopFuzzyPubVars (PFPV pFPV);
#elseVOID FTCALL PushFuzzyPubVars();VOID FTCALL PopFuzzyPubVars();
#endif
#ifndef PRECOMPILERVOID FTCALL flmss(VOID);
#endifVOID FTCALL flms(VOID);VOID FTCALL iMMin(VOID);VOID FTCALL iMMax(VOID);VOID FTCALL iMFMin(VOID);VOID FTCALL iMFMax(VOID);VOID FTCALL com(VOID);VOID FTCALL mom(VOID);
#ifdef FTLIB99CVOID FTCALL iBMin(VOID);VOID FTCALL cogmax(VOID);VOID FTCALL cogbsum(VOID);VOID FTCALL mommax(VOID);VOID FTCALL mombsum(VOID);
#endif
#ifdef PRECOMPILERVOID FTCALL fLinear(VOID);VOID FTCALL fsShape(VOID);
VOID FTCALL iMinProd(VOID);VOID FTCALL iMP(VOID);
VOID FTCALL iMFMM(VOID);VOID FTCALL iMFMax(VOID);
126
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 127/157
VOID FTCALL iMFMA(VOID);VOID FTCALL iMFAvg(VOID);VOID FTCALL iMFP(VOID);VOID FTCALL iMFG(VOID);
VOID FTCALL iBMin(VOID);
VOID FTCALL iBMax(VOID);VOID FTCALL iBP(VOID);
VOID FTCALL iBFMin(VOID);VOID FTCALL iBFMM(VOID);VOID FTCALL iBFMax(VOID);VOID FTCALL iBFMA(VOID);VOID FTCALL iBFAvg(VOID);VOID FTCALL iBFP(VOID);VOID FTCALL iBFG(VOID);
VOID FTCALL i2MFMin(VOID);VOID FTCALL i2MFMM(VOID);
VOID FTCALL i2MFMax(VOID);VOID FTCALL i2MFMA(VOID);VOID FTCALL i2MFAvg(VOID);VOID FTCALL i2MFP(VOID);VOID FTCALL i2MFG(VOID);
VOID FTCALL i2BFMin(VOID);VOID FTCALL i2BFMM(VOID);VOID FTCALL i2BFMax(VOID);VOID FTCALL i2BFMA(VOID);VOID FTCALL i2BFAvg(VOID);VOID FTCALL i2BFP(VOID);VOID FTCALL i2BFG(VOID);
VOID FTCALL dHyperCoM(VOID);VOID FTCALL dwCoXX(VOID);VOID FTCALL dwMoM(VOID);
#ifndef FT_KRCFUZZY xpowy(FUZZY x, BYTE y);
#elseFUZZY xbpowy();
#endif#endif
#ifdef ONLINE
#ifndef FT_KRCFLAGS FTCALL fuzzyTECH(PTABTAB TabTab);VOID FTCALL InitfuzzyTECH(PTABTAB TabTab, PTAB pKbm,
PTAB pTrcBuf, PTAB pMonBuf, PTAB pIOBuf);VOID FTCALL fTStartTrace(PTABTAB TabTab);VOID FTCALL fTStopTrace(PTABTAB TabTab);
#elseFLAGS FTCALL fuzzyTECH();VOID FTCALL InitfuzzyTECH();VOID FTCALL fTStartTrace();VOID FTCALL fTStopTrace();
#endif#endif
#define __INC_FTLIBC#endif
127
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 128/157
<Koniec pliku biblioteki logiki rozmytej ftlibc.h. Poniżej znajdują się dwie kolejne
definicje z pliku dL_dh_30.c – pliku bazowego.>
#define FUZZYDEFINED#define FLAGSDEFINED//#include "dl_dh_30.h"
<Powyżej polecenie #include "dl_dh_30.h" zostało zamienione na komentarz
(poprzez znaki //), a w zamian za nie poniżej została wklejona zawartość pliku dL_dh_30.h.>
/*-----------------------------------------------------------------------*//*----------------- fuzzyTECH 5.31 Professional Edition -----------------*//*-----------------------------------------------------------------------*//*-------------------- Code Generator: C Source Code --------------------*//*----------- Code Generation Date: Fri Oct 17 13:49:31 2008 ------------*//*-------------------- Fuzzy Logic System: DL_DH_30 ---------------------*/
/*-----------------------------------------------------------------------*//*------ (c) 1991-1999 INFORM GmbH, Pascalstr. 23, D-52076 Aachen -------*//*---- Inform Software Corp., 2001 Midwest Rd., Oak Brook, IL 60523 -----*//*-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------*//*---------------- export interface of project DL_DH_30 -----------------*//*-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------*//*------------------------------ typedefs -------------------------------*/
/*-----------------------------------------------------------------------*/#ifndef FUZZYDEFINED/*--------- type of data for computation of fuzzy logic system ----------*/typedef unsigned char FUZZY;#define FUZZYDEFINED#endif
#ifndef FLAGSDEFINED/*------------- type of return value of fuzzy logic system --------------*/typedef unsigned long int FLAGS;#define FLAGSDEFINED#endif
/*--------------------- data only used by fuzzyTECH ---------------------*/extern FUZZY * const pcvdl_dh_30;
/*-----------------------------------------------------------------------*//*-- use the following #defines to set the inputs of the fuzzy system ---*//*-----------------------------------------------------------------------*/#define ax_dl_dh_30 (*(pcvdl_dh_30+ 0)) /* 0000H .. 00FFH */#define ay_dl_dh_30 (*(pcvdl_dh_30+ 1)) /* 0000H .. 00FFH */#define dh_dl_dh_30 (*(pcvdl_dh_30+ 2)) /* 0000H .. 00FFH */#define dL_dl_dh_30 (*(pcvdl_dh_30+ 3)) /* 0000H .. 00FFH */#define U_dl_dh_30 (*(pcvdl_dh_30+ 4)) /* 0000H .. 00FFH */
/*-----------------------------------------------------------------------*//*-- use the following #defines to get the outputs of the fuzzy system --*//*-----------------------------------------------------------------------*/
128
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 129/157
#define dh_wy_dl_dh_30 (*(pcvdl_dh_30+ 5)) /* 0000H .. 00FFH */#define dL_wy_dl_dh_30 (*(pcvdl_dh_30+ 6)) /* 0000H .. 00FFH */
/*-----------------------------------------------------------------------*/
/*------------------------- function prototypes -------------------------*//*-----------------------------------------------------------------------*/
/*----- for starting up the generated fuzzy logic system, call once -----*/void initdl_dh_30(void);
/*------------ for calling the generated fuzzy logic system -------------*/FLAGS dl_dh_30(void);
<Koniec pliku dL_dh_30.h. Poniżej znajduje się dalsza część pliku dL_dh_30.c. W tej
części pliku bazowego dL_dh_30.c znajdują się definicje rozmiaru tablic zmiennych, definicje
tablic stałych określające przebiegi funkcji przynależności, definicje tablic określających bloki reguł.
Wprowadzane zmiany w programie fuzzyTECH 5.32 takie jak: zmiana reguł, zmiana
przebiegu kształtu funkcji przynależności, zmiana ilości zmiennych wejściowych/
wyjściowych, zmiana ilości funkcji przynależności, nie wymagają sklejania algorytmu
regulatora od początku. Wprowadzanie zmian może następować poprzez zamianę
odpowiednich fragmentów algorytmu. Dodawanie zmiennych wiąże się ze zmianami w pliku
dL_dh_30.h. Aby uaktualnić program regulatora należy podmienić linijki powyżej, od
miejsca, gdzie polecenie #include "dl_dh_30.h" zostało zamieniona na zawartość
odpowiedniego pliku. Ze zmianą ilości zmiennych związana jest zmiana ilości funkcji
przynależności – te zmiany aktualizujemy poprzez zmianę wielkości poniżej. Linijka static
FUZZY crispio[5+2]; określa ile jest zmiennych wejściowych (5) i wyjściowych (2).
Linijka static FUZZY fuzvals[14+10+0]; określa ilość funkcji przynależności zmiennych
wejściowych (14) i wyjściowych (10). Linijka FUZZY * const pcvdl_dh_30 = crispio;
odpowiedzialna jest za wskaźniki zmiennych wejściowych / wyjściowych. Tablica static
const FUZZY code tpts[56] określa przebieg funkcji przynależności zmiennych
wejściowych (UWAGA!!! W programie fuzzyTECH należy uważać, aby punkty funkcji
przynależności leżały na poziomie zera, jeśli mają leżeć na poziomie zera (itd.) – drobne
niedokładności skutkują: zmianą charakteru funkcji przynależności, dalej zmianą używanych
funkcji rozmytych i w efekcie komplikacjami i błędami w kompilacji projektu w programie
Keil ). Tablica static const FUZZY code xcom[10] określa przebieg funkcji
przynależności zmiennych wyjściowych (dla defuzyfikacji metodą COM są ośrodki
maksimów funkcji przynależności). Tablica static const BYTE code rt0[90] określa
129
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 130/157
reguły bloku wnioskowania, a że w projekcie dL_dh_30 są dwie tabele reguł, to tablica
static const BYTE code rt1[90] określa drugi blok wnioskowania. Znaczenie tablicy
static const FRAT code frat0[6] i static const FRAT code frat1[6] nie zostało
tutaj rozpoznane (najprawdopodobniej związane z opcją degree of suport tablic reguł).>static FUZZY crispio[5+2];
static FUZZY fuzvals[14+10+0];
FUZZY * const pcvdl_dh_30 = crispio;
static const FUZZY code tpts[56] = {0x00, 0x00, 0x95, 0xB4,0x95, 0xB4, 0xB4, 0xD1,0xB4, 0xD1, 0xFF, 0xFF,0x00, 0x00, 0x99, 0xB2,
0x99, 0xB2, 0xB2, 0xCF,0xB2, 0xCF, 0xFF, 0xFF,0x00, 0x00, 0x00, 0x80,0x00, 0x80, 0x80, 0xFF,0x80, 0xFF, 0xFF, 0xFF,0x00, 0x00, 0x00, 0x80,0x00, 0x80, 0x80, 0xFF,0x80, 0xFF, 0xFF, 0xFF,0x00, 0x00, 0x00, 0xFF,0x00, 0xFF, 0xFF, 0xFF};
static const FUZZY code xcom[10] = {0x00, 0x3E, 0x80, 0xBF, 0xFF,
0x00, 0x3E, 0x80, 0xBF, 0xFF};
static const BYTE code rt0[90] = {0x02, 0x01, 0x09, 0x0C, 0x13,0x02, 0x01, 0x09, 0x0D, 0x14,0x02, 0x01, 0x0A, 0x0C, 0x13,0x02, 0x01, 0x0A, 0x0D, 0x14,0x02, 0x01, 0x0B, 0x0C, 0x17,0x02, 0x01, 0x0B, 0x0D, 0x16,0x02, 0x01, 0x09, 0x0C, 0x13,0x02, 0x01, 0x09, 0x0D, 0x14,0x02, 0x01, 0x0A, 0x0C, 0x15,0x02, 0x01, 0x0A, 0x0D, 0x15,
0x02, 0x01, 0x0B, 0x0C, 0x17,0x02, 0x01, 0x0B, 0x0D, 0x16,0x02, 0x01, 0x09, 0x0C, 0x13,0x02, 0x01, 0x09, 0x0D, 0x14,0x02, 0x01, 0x0A, 0x0C, 0x17,0x02, 0x01, 0x0A, 0x0D, 0x16,0x02, 0x01, 0x0B, 0x0C, 0x17,0x02, 0x01, 0x0B, 0x0D, 0x16};
static const FRAT code frat0[6] = {0x001E, 0x0003, 0x001E, 0x0004, 0x001E, 0x0005};
static const BYTE code rt1[90] = {
0x02, 0x01, 0x06, 0x0C, 0x0E,0x02, 0x01, 0x06, 0x0D, 0x0F,0x02, 0x01, 0x07, 0x0C, 0x0E,
130
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 131/157
0x02, 0x01, 0x07, 0x0D, 0x0F,0x02, 0x01, 0x08, 0x0C, 0x12,0x02, 0x01, 0x08, 0x0D, 0x11,0x02, 0x01, 0x06, 0x0C, 0x0E,0x02, 0x01, 0x06, 0x0D, 0x0F,0x02, 0x01, 0x07, 0x0C, 0x10,
0x02, 0x01, 0x07, 0x0D, 0x10,0x02, 0x01, 0x08, 0x0C, 0x12,0x02, 0x01, 0x08, 0x0D, 0x11,0x02, 0x01, 0x06, 0x0C, 0x0E,0x02, 0x01, 0x06, 0x0D, 0x0F,0x02, 0x01, 0x07, 0x0C, 0x12,0x02, 0x01, 0x07, 0x0D, 0x11,0x02, 0x01, 0x08, 0x0C, 0x12,0x02, 0x01, 0x08, 0x0D, 0x11};
static const FRAT code frat1[6] = {0x001E, 0x0000, 0x001E, 0x0001, 0x001E, 0x0002};
<Poniżej znajdują się funkcje utworzone przez projektanta w oparciu o programConfiguration Wizard 2. Funkcje te mają na celu skonfigurowanie pracy mikroprocesora.>
//-------------------------------------------------------------------------// F U N K C J E
<Poniżej znajduje się funkcja ustawień zegara systemowego. Polecenie OSCICN =
0x07; ustawia zegar systemowy na wewnętrzny oscylator o częstotliwość 16[MHz] –
największa, dostępna częstotliwość z wewnętrznego oscylatora.>
void Oscillator_Init(){
OSCICN = 0x07;}
<Poniżej znajduje się funkcja ustawień portów. Polecenie P1MDIN = 0xC4; powoduje
ustawienie pinów P1.0, P1.1, P1.2, P1.3, P1.4 jako wejścia analogowe (kolejno ax, ay, dh, dL,
U). Polecenie XBR0 = 0x16; powoduje ustawienie UART0 na piny P0.0-3, SPI0 na piny
P0.4-5, CX0 na pin P0.6, CX1 na pin P0.7 (istotne CX0 i CX1, UART0 i SPI0 – nie
używane). Polecenie XBR2 = 0x40; powoduje uaktywnienie zadanych ustawień portów.>
void Port_IO_Init(){
P1MDIN = 0xC4;XBR0 = 0x16;XBR2 = 0x40;
}
<Poniżej znajduje się funkcja ustawień napięcia referencyjnego. Polecenie REF0CN =
0x03 włączenie wewnętrznego generatora i włączenie wewnętrznego bufora odniesienia.>
void Voltage_Reference_Init()
131
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 132/157
{REF0CN = 0x03;
}
<Poniżej znajduje się funkcja ustawień 8-bitowgo przetwornika AC. Polecenie ADC1CF
= 0x39; powoduje ustawienie wzmocnienia równego 1, oraz ustawia częstotliwość przetwarzania na 2[MHz]. Polecenie ADC1CN = 0x88 uaktywnia przetwornik AC (ADC1)
i ustawia początek przetwarzania po wystąpieniu polecenia AD0BUSY = 1.>
void ADC_Init(){
ADC1CF = 0x39;ADC1CN = 0x88;
}
<Poniżej znajduje się pięć funkcji, z których każda odnosi się do odczytywania sygnału
analogowego z innego pinu (ADC_0 – P1.0, ADC_1 – P1.1, ADC_2 – P1.3, ADC_3 – P1.4,
ADC_4 – P1.5). Polecenie AMX1SL = 0x00; powoduje ustawienie multipleksera
przetwornika AC na pin P1.0 (analogicznie jest dla pozostałych funkcji przetwornika AC).
Polecenie while((ADC1CN & 0x20) == 0); ma za zadanie czekanie na zakończenie
przetwarzania AC.>
void ADC_0(){
AMX1SL = 0x00;AD0BUSY = 1;while((ADC1CN & 0x20) == 0);
}
void ADC_1(){
AMX1SL = 0x01;AD0BUSY = 1;while((ADC1CN & 0x20) == 0);
}
void ADC_3()
{AMX1SL = 0x03;AD0BUSY = 1;while((ADC1CN & 0x20) == 0);
}
void ADC_4(){
AMX1SL = 0x04;AD0BUSY = 1;while((ADC1CN & 0x20) == 0);
}
void ADC_5(){
AMX1SL = 0x05;
132
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 133/157
AD0BUSY = 1;while((ADC1CN & 0x20) == 0);
}
<Poniżej znajduje się funkcja ustawień Programable Counter Array. Polecenie PCA0CN
= 0x40; powoduje uaktywnienie PCA. Polecenie PCA0MD = 0x03; powoduje ustawienietaktowania PCA na co czwartym impulsem zegara systemowego (z zegarem systemowym
16[MHz] powoduje to, że cykl PCA trwa około 16,4[ms]), oraz włączenie wystawiania flagi
przerwania dla przepełnienia timera PCA. Polecenie PCA0CPM0 = 0xC2; (PCA0CPM1 = 0xC2)
powoduje ustawienie modułu 0 (1) PCA jako 16-bitowy Pulse Width Modulator. Polecenia
PCA0CPL0 = 0x8F; (PCA0CPL1 = 0x8F;) powoduje ustawienie wartości młodszego bajtu
rejestru CPH0 (CPH1). Polecenie PCA0CPH0 = 0xE8; (PCA0CPH1 = 0xE8;) powoduje
ustawienie wartości starszego bajtu rejestru CPH0 (CPH1).>
void PCA_Init(){
PCA0CN = 0x40;PCA0MD = 0x03;PCA0CPM0 = 0xC2;PCA0CPM1 = 0xC2;PCA0CPL0 = 0x8F;PCA0CPL1 = 0x8F;PCA0CPH0 = 0xE8;PCA0CPH1 = 0xE8;
}
<Poniżej znajduje się funkcja ustawień wektora przerwań. Polecenie IE = 0x80;
powoduje uaktywnienie wektora przerwań. Polecenie EIE1 = 0x08; powoduje uaktywnienie
przerwania od modułu PCA.>
void Interrupts_Init(){
IE = 0x80;EIE1 = 0x08;
}
<Poniżej znajdują się definicje zmiennych globalnych zm1, zm2 i funkcja inicjowana
przez przerwanie od modułu PCA. W funkcji tej znajdują się:
- funkcje odczytywania sygnałów z przetworników AC (ADC_0(); itd),
- polecenia wpisywania wyników przetwarzania AC do odpowiednich zmiennych
wejściowych regulatora rozmytego (ax_dl_dh_30 = ADC1; itd),
- polecenia wyłączania przetwarzania AC i zatrzaskiwania wyników (ADC1CN &=
0xDF;),
- funkcja regulatora rozmytego dl_dh_30();,
133
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 134/157
- polecenia wyznaczania zmiennych pomocniczych do modyfikowania sygnałów
PWM ( zm1 = 63000 - ( 33 * dh_wy_dl_dh_30 ); , zm2 = 63000 - ( 33 *
dL_wy_dl_dh_30 ); - zmienne zm1 i zm2 zależą od wyniku regulatora rozmytego),
- polecenia wpisywania wartości do rejestrów modułu PCA (PCA0CPL0 = zm1;PCA0CPH0 = zm1 >> 8; PCA0CPL1 = zm2; PCA0CPH1 = zm2 >> 8;).>
unsigned short zm1;unsigned short zm2;
void funkcja_1() interrupt 9{ADC_0();ax_dl_dh_30 = ADC1;ADC1CN &= 0xDF;
ADC_1();ay_dl_dh_30 = ADC1;ADC1CN &= 0xDF;
ADC_3();dh_dl_dh_30 = ADC1;ADC1CN &= 0xDF;
ADC_4();dL_dl_dh_30 = ADC1;ADC1CN &= 0xDF;
ADC_5();
U_dl_dh_30 = ADC1;ADC1CN &= 0xDF;
dl_dh_30();
zm1 = 63000 - ( 33 * dh_wy_dl_dh_30 ); // CX0 - P0.6zm2 = 63000 - ( 33 * dL_wy_dl_dh_30 ); // CX1 - P0.7
PCA0CPL0 = zm1; // CX0 - P0.6 - dhPCA0CPH0 = zm1 >> 8;
PCA0CPL1 = zm2; // CX1 - P0.7 - dLPCA0CPH1 = zm2 >> 8;
}
//-------------------------------------------------------------------------
<Poniżej znajduje się definicja funkcji flms, która wywoływana jest przez funkcję
regulatora rozmytego. Została tutaj dodana ze względu na rozpoczęty wyżej ciąg prototypów
funkcji i definicji funkcji wcześniejszych. Zawartość tej funkcji znajduje się w pliku Hf4p.c,
który znajduje się w dodatkach. Funkcja ta odnosi się do wyznaczania współczynnika
przynależności zmiennej do funkcji.>
134
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 135/157
/*-----------------------------------------------------------------------*//* Module FLMS of fuzzyTECH Kernel C-Library, Vs. 4 *//* (c) 1995 INFORM GmbH, Pascalstr. 23, D-52076 Aachen *//*-----------------------------------------------------------------------*/
// #include "ftlibc.h" // biblioteka wywolana w innym pliku
VOID FTCALL flms(VOID) {FUZZY x1, x2, x3, x4;while (bTNum--) {x1 = *tpptr++;x2 = *tpptr++;x3 = *tpptr++;x4 = *tpptr++;if ((crisp>=x2) && (crisp<=x3))
*fuzptr++ = MAXFUZZY;elseif ((crisp<=x1) || (crisp>=x4))*fuzptr++ = 0;
elseif ((crisp>x1) && (crisp<x2))*fuzptr++ = (FUZZY)( ((LFUZZY) MAXFUZZY * (crisp-x1))/(x2-x1) );else*fuzptr++ = (FUZZY)( ((LFUZZY) MAXFUZZY * (x4-crisp))/(x4-x3) );
}}
<Poniżej znajduje się definicja funkcji com, która wywoływana jest przez funkcję
regulatora rozmytego. Zawartość tej funkcji znajduje się w pliku Hdcom.c, który znajduje się
w dodatkach. Funkcja ta odnosi się do procesu defuzyfikacji – wyznaczania wartości
wyjściowych regulatora rozmytego.>
/*-----------------------------------------------------------------------*//* Module HCOM of fuzzyTECH Kernel C-Library, Vs. 4 *//* (c) 1995 INFORM GmbH, Pascalstr. 23, D-52076 Aachen *//*-----------------------------------------------------------------------*/
//#include "ftlibc.h"
#ifdef FTLIBC16VOID FTCALL com(VOID) {unsigned long int numerator;
unsigned short int denominator;FUZZY out;
invalidflags <<= 1;
denominator = (unsigned short int) (*fuzptr) >> 3;*fuzptr++ = 0;numerator = (unsigned long int) denominator * (*xcomptr++);
while ((--bTNum) != 0) {out = (*fuzptr) >> 3;*fuzptr++ = 0;denominator += (unsigned short int) (out);
numerator += (unsigned long int) (out) * (*xcomptr++);}if (denominator)
135
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 136/157
*defuzz = (FUZZY) (numerator/denominator);else
invalidflags++;}#endif
#ifdef FTLIBC8VOID FTCALL com(VOID) {unsigned long int numerator;unsigned short int denominator;invalidflags <<= 1;
denominator = (unsigned short int) (*fuzptr);*fuzptr++ = 0;numerator = (unsigned long int) denominator * (*xcomptr++);
while ((--bTNum) != 0) {denominator += (unsigned short int) (*fuzptr);
numerator += ((unsigned long int) (*fuzptr) * (*xcomptr++));*fuzptr++ = 0;}
if (denominator){
while ((numerator > (unsigned long int) 0xFFFF) || (denominator >0x00FF)){
denominator >>= 1;numerator >>= 1;
}*defuzz = (FUZZY) ((unsigned short int) numerator/denominator);
}
elseinvalidflags++;}#endif
<Poniżej znajduje się definicja funkcji iMMin, która wywoływana jest przez funkcję
regulatora rozmytego. Zawartość tej funkcji znajduje się w pliku Himmin.c, który znajduje się
w dodatkach. Funkcja ta odnosi się do procesu wnioskowania.>
/*------------------------------------------------------------*//* fuzzyTECH 5.3 C Runtime Library: Module Himmin.c */
/* (c) 1999 INFORM GmbH, Pascalstr. 23, 52076 Aachen, Germany *//* Last Edit: Thomas Haase - 24. Nov. 1999 15:14 (+0100) *//*------------------------------------------------------------*/
//#include "ftlibc.h"
VOID FTCALL iMMin(VOID) {PFTBYTE pBlockEnd;PFUZZY pfuzDest;FUZZY term, pcf, pcfbak;BYTE nConditions, nConclusions;do {pBlockEnd = rtptr + *fratptr++;
pcfbak = *(fuzptr + (*fratptr++));if (pcfbak == 0) {rtptr = pBlockEnd;
136
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 137/157
goto NextBlock;}do {nConditions = (BYTE) *rtptr++;nConclusions = (BYTE) *rtptr++;pcf = pcfbak;
while ((nConditions--) != 0) {term = *(fuzptr + (*rtptr++));if (term < pcf) {pcf = term;if (pcf == 0) {rtptr += (nConditions + (nConclusions));goto NextRule;
}}
}do {pfuzDest = fuzptr + *rtptr++;if (pcf > *pfuzDest)
*pfuzDest = pcf;} while ((--nConclusions) != 0);NextRule: ;
} while (rtptr != pBlockEnd);NextBlock: ;
} while ((--bTNum) != 0);}
<Koniec prototypów funkcji i funkcji. Poniżej znajduje się funkcja główna algorytmu.>
//-------------------------------------------------------------------------//-------------------------------------------------------------------------// * * F U N K C J A G L O W N A * *//-------------------------------------------------------------------------
void main(){
EA = 0; // wyłaczenie wektora przerwan
WDTCN = 0xDE; // wylaczenie watchdogaWDTCN = 0xAD;
// funkcje ustawien ukladow mikroprocesoraOscillator_Init();Port_IO_Init();Voltage_Reference_Init();ADC_Init();PCA_Init();Interrupts_Init();
initdl_dh_30(); // funkcja inicjujaca regulator rozmyty
EA = 1; // wlaczenie wektora przerwan
while(1) // petla nieskonczona{
}}
137
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 138/157
<Funkcja główna zawiera: funkcje ustawień układów mikroprocesora, ustawienia
wektora przerwań i watchdoga, funkcję inicjującą algorytm regulatora rozmytego, pętle
nieskończoną. Algorytm wykonywanych działań jest zawarty w funkcji funkcja_1(), która
rozpoczynana jest wraz z dziewiątym przerwaniem.>
//-------------------------------------------------------------------------//-------------------------------------------------------------------------
<Poniżej znajduje się funkcja regulatora rozmytego – dalsza część pliku dh_dL_30.c,
która została poprzedzona utworzonymi funkcjami układów mikroprocesora i funkcją główną.
Została tutaj umieszczona, ponieważ w zawartości pliku dh_dL_30.h, który jest przed funkcją
główną, znajduje się prototyp funkcji regulatora rozmytego dl_dh_30(void) (składnia jezyka
C zakłada kolejność: prototypy funkcji pomocniczych, funkcja główna, definicje funkcji pomocniczych). W funkcji dl_dh_30() znajduje się w niej algorytm wczytywania wartości
zmiennych każdego wejścia (np. crisp = crispio[0];), określenie ilości funkcji
przynależności dla danego wejścia (bTNum = 3;), wywołanie funkcji liczącej współczynniki
przynależności zmiennej do funkcji przynależności (flms();), wczytywanie danych tabeli
reguł i funkcja wnioskowania (iMMin();), operacje na zmiennych wyjściowych i funkcja
defuzyfikacji (com();).>
FLAGS dl_dh_30(void) {fuzptr = (PFUZZY) fuzvals;tpptr = (PFUZZY) tpts;
crisp = crispio[0];bTNum = 3;flms();
crisp = crispio[1];bTNum = 3;flms();
crisp = crispio[2];
bTNum = 3;flms();
crisp = crispio[3];bTNum = 3;flms();
crisp = crispio[4];bTNum = 2;flms();
fuzptr = (PFUZZY) fuzvals;
bTNum = 3;fratptr = (PFRAT) frat0;
138
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 139/157
rtptr = (PFTBYTE) rt0;iMMin(); /* Max-Min */
bTNum = 3;fratptr = (PFRAT) frat1;rtptr = (PFTBYTE) rt1;
iMMin(); /* Max-Min */
invalidflags = 0;fuzptr = &fuzvals[14];xcomptr = (PFUZZY) xcom;
crispio[5] = 0x80;bTNum = 5;defuzz = &crispio[5];
com(); // ţ·—<mI q();
<W pierwszej linijce powyżej i czwartej poniżej znajdują się poprawione błędne
instrukcje algorytmu regulatora rozmytego, które zostały wygenerowane przez programfuzzyTECH. Że ţ·—<mI q(); są błędnymi instrukcjami świadczy to, że zawierają znaki kodu
innego niż ASCII a także pojawiający się błąd w kompilacji projektu. Miejsce, w jakim
znajdują się te błędy i nawiasy jakie zawierają, świadczą o tym, że miał to być funkcja
defuzyfikacji. W katalogach programu fuzzyTECH został odnaleziony plik z funkcją com() –
Centum Of Maximum. W programie fuzzyTECH można stosować inne funkcje defuzyfikacji,
ale ich algorytmy nie zostały odnalezione w katalogach tego programu. Należy więc w takim
przypadku korzystać z dostępnej funkcji com(), co też zostało tutaj zastosowane poprzez
zamienienie błędnego polecenia ţ·—<mI q(); wywołaniem funkcji com().>
crispio[6] = 0x80;bTNum = 5;defuzz = &crispio[6];
com(); // ţ·—<mI q();
return invalidflags;}
void initdl_dh_30(void) {
for (fuzptr = &fuzvals[14];fuzptr <= &fuzvals[23];*fuzptr++ = 0);
}
Modyfikator wejściowych funkcji przynależności w języku C.
Modyfikator wejściowych funkcji przynależności, utworzony we własnym projekcie
regulatora rozmytego w programie Matlab (rozdział 2.5), charakteryzował się pozytywnym
wpływem na sterowanie obiektem. Został on zaadoptowany do rzeczywistego algorytmuregulatora rozmytego na procesorze ST62E65C rodziny Thomson (rozdział 3.1). Tutaj
139
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 140/157
przedstawiono adaptację modyfikatora wejściowych funkcji przynależności dla algorytmu
regulatora rozmytego w języku C (na mikroprocesor C8051F020).
Poniżej znajdują się definicje trzech zmiennych globalnych stosowanych w algorytmie
modyfikatora. Zmienne mod1 i mod2 służą do pośredniej zamiany starych współczynników
przynależności na nowe. Zmienna licz_mod jest zmienną globalną, która odpowiedzialna jest
za określenie ilości współczynników przynależności do zmiany. Ilości współczynników
przynależności można z góry wpisać jako stałą wartość i dla kolejnych projektów zmieniać tą
wartość, lub, ja to zostało zastosowane w opisywanym przypadku, określanie ilości
współczynników ustawić automatycznie – zwiększanie o jeden wartości licz_mod, zaczynając
od zera, za każdym użyciem funkcji flis() w jednym cyklu algorytmu regulatora rozmytego.
Unsigned char mod1, licz_mod = 0; // zmienna do modyfikatora
unsigned short mod2;
Poniżej znajduje się funkcja modyfikatora.
Void modyfikator(void)
{
fuzptr = (PFUZZY) fuzvals;
Powyższa instrukcja ma za zadanie ustawienie wskaźnika fuzptr na pierwszy
współczynnik przynależności. Poniżej w pętli wykonywana jest zamiana starychwspółczynników przynależności na nowe według funkcji x2.
while (licz_mod--)
{
mod1 = *fuzptr;
Powyżej instrukcja wpisuje wartość starego współczynnika do zmiennej mod1. Poniżej
do zmiennej mod2 wpisywana jest wartość starego współczynnika w kwadracie. Dzielenie
przez liczbę 255 ma za zadanie odniesienie wartości nowego współczynnika do zakresu 0-255(czyli liczby 8-bitowej).
mod2 = mod1 * mod1 / 255 ;
Poniżej wartość zmiennej mod2 z nowym współczynnikiem przynależności wpisywana
jest pod adres wskazany przez wskaźnik fuzptr. Po wpisaniu wartości mod2 w wskazane
miejsce następuje zwiększenie wskaźnika o jeden. W pętli while zmienna licz_mod,
zawierająca ilość współczynników przynależności, jest za każdym kolejną pętla pomniejszana
o jeden. Gdy jej wartość wynosi zero, wtedy następuje wyjście z pętli i algorytm przechodzido dalszej części funkcji regulatora rozmytego do_mod(), tzn. do wnioskowania.
140
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 141/157
*fuzptr++ = mod2;
}
}
Poniżej przedstawiona jest zawartość funkcji regulatora rozmytego do_mod . Po
wywołaniu funkcji flms() fuzyfikacji została wywołana funkcja modyfikatora wejściowychfunkci przynależności.
FLAGS do_mod(void) {
fuzptr = (PFUZZY) fuzvals;
tpptr = (PFUZZY) tpts;
crisp = crispio[0];
bTNum = 3;
flms();
modyfikator(); // modyfikator
fuzptr = (PFUZZY) fuzvals;
bTNum = 3;
fratptr = (PFRAT) frat0;
rtptr = (PFTBYTE) rt0;iMMin(); /* Max-Min */
invalidflags = 0;
fuzptr = &fuzvals[3];
xcomptr = (PFUZZY) xcom;
crispio[1] = 0x80;
bTNum = 3;
defuzz = &crispio[1];
com(); // ţ·—<mI q();
return invalidflags;
}
Poniżej przedstawiona jest funkcja flis() fuzyfikacji.
VOID FTCALL flms(VOID)
{
FUZZY x1, x2, x3, x4;
while (bTNum--)
141
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 142/157
{
x1 = *tpptr++;
x2 = *tpptr++;
x3 = *tpptr++;
x4 = *tpptr++;if ((crisp>=x2) && (crisp<=x3))
*fuzptr++ = MAXFUZZY;
else
if ((crisp<=x1) || (crisp>=x4))
*fuzptr++ = 0;
else
if ((crisp>x1) && (crisp<x2))
*fuzptr++ = (FUZZY)( ((LFUZZY) MAXFUZZY * (crisp-x1))/(x2-x1) );
else
*fuzptr++ = (FUZZY)( ((LFUZZY) MAXFUZZY * (x4-crisp))/(x4-x3) );
Poniżej, w funkcji fuzyfikacji, wprowadzono jedną instrukcję mającą na celu liczenie
ilości współczynników przynależności. Zmienna ta określa ilość pętli w algorytmie
modyfikatora.
licz_mod++; // dodane ze zwgledu na modyfikator}
}
Powyższy algorytm można streścić w następujących punktach:
− Odwołanie do biblioteki rejestrów mikroprocesora,
− Biblioteka logiki rozmytej zawierająca definicje typów zmiennych,
− Prototypy funkcji pomocniczych,
− Tablice stałych,
− Funkcja główna,
− Definicje funkcji pomocniczych [12].
Przedstawiona kolejność części składowych algorytmu regulatora rozmytego wynika
z zasad programowania w języku C.
142
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 143/157
7. Analiza sprzętowa projektu regulatora rozmytego dL_dh_30
Analiza sprzętowa projektu regulatora rozmytego dL_dh_30 została przeprowadzona
jako badania laboratoryjne regulatora rozmytego do stabilizacji kąta pochylenia i przechyleniasamolotu na mikroprocesorze c8051f020.
Badania laboratoryjne utworzonego regulatora rozmytego miały na celu wyznaczenie
rzeczywistych zależności wielkości wyjściowych od wielkości wejściowych i porównanie ich
z zależnościami uzyskiwanymi w toku projektowania regulatora.
Badania regulatora rozmytego zostały podzielone na pięć części:
1 badanie kanału pochylania;
2 badanie kanału przechylania;
3 badanie oddziaływania wielkości wejściowych kanału pochylania na wielkość wyjściową
kanału przechylania;
4 badanie oddziaływania wielkości wejściowych kanału przechylania na wielkość wyjściową
kanału pochylania;
5 badanie oddziaływania obciążenia na napięcie zasilania i w dalszej konsekwencji na pracę
regulatora.
Układ pomiarowy, przedstawiony na rysunku 7.1, składał się z:
− płytki TOOLSTICK UNI DC (z mikroprocesorem c8051f020) z płytką
TOOLSTICK;
− pięciu potencjometrów z podłączeniem do płytki TOOLSTICK UNI DC;
− komputera PC z kablem COM, kablem USB i czytnikiem kart;
− rejestratora PRP J5 z kartą pamięci SD;
− baterii do zasilania rejestratora.
Kabel COM służył do przesyłania danych w trybie on-line z rejestratora do programu
PRP-J5. W programie tym za pomocą opcji „Chanell test ” przesyłane dane były
wizualizowane.
Kabel USB spełniał dwie funkcje: służył do zasilania płytki TOOLSTICK UNI DC oraz
do przeprogramowywania mikroprocesora.
Schemat połączeń układu pomiarowego widoczny jest na rysunku 7.2.
143
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 144/157
Rys. 7.1 Zdjęcie układu pomiarowego do badań regulatora rozmytego dL_dh_30.
W tabeli 7.1 zostały przedstawione przyporządkowania rejestrowanych sygnałów do
poszczególnych kanałów rejestratora PRP-J5.
Tabela 7.1 Podłączenia kanałów rejestratora.
1 masa –
2 DAC0 dh_wy
3 DAC1 dL_wy
4 P1.0 ax
5 P1.1 ay
6 P1.2 dh
7 P1.3 dL
8 P1.4 U
9 –
10 Vdd –
11 P0.6 – CX0 dh_wy
12 P0.7 – CX1 dL_wy
Pierwsze osiem kanałów było podłączonych dla badania kanałów pochylania
i przechylania oraz dla badania oddziaływań skrośnych. Kanały 10, 11 i 12 zostały dodatkowo podłączone do rejestratora dla badań oddziaływania napięcia zasilania mikroprocesora.
144
Kabel COMRejestrator
Kabel USB
TOOLSTICK UNI DCBateria
Potencjometry
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 145/157
Rys. 7.2 Schemat połączeń układu pomiarowego do badania regulatora rozmytego dL_dh_30.
145
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 146/157
a) Badanie kanału pochylania
Badanie kanału pochylania zaczęto od zapisania na karcie ustawień rejestratora.
Ustawiono aktywne kanały rejestratora: 2, 4, 6 i 8. Karta została ustawiona na 60[MB]
przestrzeni danych z rejestracji.Badania kanału pochylania zostały wykonane dla dwóch skrajnych prędkości lotu. Dla
małej prędkości lotu najpierw stopniowo zwiększano sygnał nakazowy dh, a sygnał ax
zmieniano od minimalnej do maksymalnej wartości. Następnie dla tej samej prędkości lotu
wyzerowano sygnały i stopniowo zwiększa sygnał ax, a sygnał nakazowy zmieniano od
wartości minimalnej do maksymalnej. Następnie prędkość zwiększono do maksymalnej
i wykonano analogiczne czynności. Wyniki rejestracji przedstawia rys. 7.3.
Rys. 7.3 Przebiegi czasowe zarejestrowanych danych kanału pochylania.
Rys. 7.4 Wykres przestrzenny zarejestrowanych danych kanału pochylania.
146
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 147/157
W celu oceny uzyskanych wyników został wygenerowany wykres przestrzenny
(rys.7.4), który ma obrazować płat powierzchniowy regulatora. Z porównania tego wykresu
(rys. 7.4) z płatem powierzchniowym (rys.6.25) można stwierdzić, że sterowanie regulatora w
ruchu pochylania jest zgodne z założeniami.
b) Badanie kanału przechylania
Badanie kanału przechylania wykonano analogicznie jak dla kanału pochylania. Na
rys. 7.5 zaprezentowano uzyskane wyniki.
Rys. 7.5 Przebiegi czasowe zarejestrowanych danych kanału przechylania.
Rys. 7.6 Wykres przestrzenny zarejestrowanych danych kanału przechylania.
147
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 148/157
Na podstawie uzyskanych danych dla kanału przechylania wygenerowany został wykres
przestrzenny (rys. 7.6). Z porównania tego wykresu z płatem powierzchniowym na rys.6.27
odpowiadającym mu widać, że sterowanie w kanale przechylania jest zgodne
z oczekiwanymi.
c) Badania oddziaływań skrośnych ax i dh na dL_wy
Badanie oddziaływań skrośnych ax i dh na dL_wy zaczęto od zapisania na karcie
ustawień rejestratora. Ustawiono aktywne kanały rejestratora: 3, 4, 5, 6, 7 i 8. Karta została
ustawiona na 60[MB] przestrzeni danych z rejestracji.
Badania kanału pochylania zostały wykonane dla trzech różnych wartości sygnału
nakazowego dL. Dla każdej wartości sygnału nakazowego dL stopniowo zwiększano sygnał
nakazowy dh, a sygnał ax zmieniano od minimalnej do maksymalnej wartości, oraz dla tej
samej wartości sygnału nakazowego dL, po wyzerowaniu sygnałów ax i dh, stopniowo
zwiększano sygnał ax, a sygnał nakazowy zmieniano od wartości minimalnej do
maksymalnej.
Rys. 7.7 Przebiegi czasowe zarejestrowanych danych oddziaływań skrośnych ax i dh na dL_wy.
W celu zobrazowania uzyskanych wyników wygenerowano wykres przestrzenny (rys.
7.8). Na wykresie tym da się zauważyć krzywe pomiarowe tworzące trzy powierzchnie –
każda dla innej wartości dL. Analizując wykres przestrzenny na rys. 7.8 można wnioskować,
że sygnały wejściowe ax i dh kanału pochylania mają wpływ na wielkość wyjściową dL_wy
kanału przechylania, gdyż brak oddziaływań skrośnych obrazowałyby płaszczyzny poziome.
148
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 149/157
Rys. 7.8 Wykres przestrzenny oddziaływań skrośnych ax i dh na dL_wy.
Oddziaływanie skrośne sygnałów ax i dh na dL_wy jest tym większe, im mniejsza jest
wartość sygnału nakazowego dL.
d) Badania oddziaływań skrośnych ay i dL na dh_wy
Badanie oddziaływań skrośnych ay i dL na dh_wy wykonano analogicznie jak badania
oddziaływań skrośnych ax i dh na dL_wy. Tutaj pomiary wykonano dla dwóch wartości
sygnału nakazowego dh. Uzyskane wyniki prezentuje rys. 7.9
Rys. 7.9 Przebiegi czasowe zarejestrowanych danych oddziaływań skrośnych ay i dL na dh_wy.
149
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 150/157
Powierzchnie uzyskane na wykresie przestrzennym z rys. 7.10, przedstawiający
zależności wielkości wyjściowej dh_wy kanału pochylania od wartości wejściowych ax i dh
kanału przechylania, kształtują się podobnie jak dwie górne powierzchnie wykresu
przestrzennego na rys. 7.8. Świadczą one o oddziaływaniu skrośnym wielkości wejściowych
kanału przechylania na wartość wyjściową kanału pochylania.
Rys. 7.10 Wykres przestrzenny oddziaływań skrośnych ay i dL na dh_wy.
e) Badanie oddziaływania obciążenia na napięcia zasilania mikroprocesora
Badanie oddziaływań obciążenia na napięcie zasilania mikroprocesora zaczęto od
zapisania na karcie ustawień rejestratora. Ustawiono aktywne kanały rejestratora: 2, 3, 4, 5, 6,
7, 8 i 10. Karta została ustawiona na 60[MB] przestrzeni danych z rejestracji.
Rys.7.11 Przebiegi czasowe zarejestrowanych danych dla badania oddziaływań obciążenia.
150
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 151/157
Badania oddziaływania obciążenia na napięcie zasilania mikroprocesora zostały
wykonane dla dwóch stanów: z podłączonymi serwomechanizmami i z odłączonymi
serwomechanizmami. Uzyskane wyniki przedstawiono na rys. 7.11.
Rys. 7.12 Wybrane dane z rysunku 7.11 w wybranym fragmencie czasu.
Przebiegi zarejestrowanych sygnałów, widoczne na rys.7.11, świadczą o tym, że
obciążenie mikroprocesora serwomechanizmami zakłóca pracę układu. Jednak, jak widać na
rys.7.12 , brak obciążenia serwomechanizmami nie eliminuje sprzężenia skrośnego
w układzie sterowania.
151
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 152/157
8. Wnioski
„Mikroprocesorowy sterownik rozmyty do sterowania aparatem latającym” to temat
bardzo ambitny nawet i jak na absolwentów kierunku Lotnictwa Wydziału Budowy Maszyn
i Lotnictwa Politechniki Rzeszowskiej. Zapewne można popatrzeć na to z innego punktu
widzenia – temat jak każdy inny w Katedrze Awioniki i Sterowania: posiadasz obiekt
i tworzysz do niego układ sterujący.
Regulator rozmyty posiada duże możliwości w sterowaniu procesami nieliniowymi i do
jednoznacznego rozpoznawania stanów, najczęściej o charakterze nienaturalnych dla danego
obiektu. Autorzy niniejszej pracy zrozumieli, że nieliniowości w bezzałogowym aparacie
latającym, o którym również tutaj mowa, nie jest trudno zaleźć. Niemalże każdy układ
kinematyki, zastosowany do wychylania powierzchni sterowych, to niełatwa do rozpoznania
nieliniowość. W sterowaniu takim obiektem niezbędne jest wielokrotne strojenie
zastosowanego regulatora rozmytego.
W trakcie realizacji tej pracy autorom udało się zapoznać ze strukturą regulatora
rozmytego, a nawet utworzony został własny dyskretny układ rozmyty. Krytyczna ocena tego
układu nie jest najwyższa, jednak wprowadzony dodatkowy blok modyfikatora jest niezbitym
argumentem, który tłumaczy zasadność tak dużego nakładu pracy nad własnym, dyskretnym
układem rozmytym. Podejmując temat oceny jego działania można stwierdzić, że przy
niewielkiej ilości funkcji przynależności zmiennych można za pomocą modyfikatora w łatwy
sposób wpływać na charakter sterowania regulatorem rozmytym.
Wstępny projekt AP_5 regulatora rozmytego to udana próba praktycznego, jakościowo
poprawnie sterującego układu rozmytego. Wnioski z tego dokonania: aby utworzyć działający
regulator rozmyty, w oparciu o mikroprocesor, należy umieć programować i znać algorytmy
logiki rozmytej.
Tworzenie nie tylko poprawnie działającego regulatora rozmytego, ale i poprawnie
sterującego wymaga doświadczenia i wiedzy na temat sterowanego obiektu. Autorzy, w celu
uzyskania wiedzy na temat bezzałogowego aparatu latającego Gacek, przeprowadzili
doświadczenia mające na celu przybliżyć dynamikę sterowanego obiektu. I tutaj pojawiły się
niemałe trudności – mały obiekt z napędem elektrycznym wprowadza duże zakłócenia do
układu pomiarowego i układu czujników układu odniesienia przestrzennego AHRS.
Wygładzanie zarejestrowanych danych w czasie analizy nie jest zbyt skomplikowane, ale
eliminacja zakłóceń w czasie rzeczywistym jest bardzo zagadnieniem trudnym i nie zawsze
osiągalnym. Pomijając zakłócenia mamy do czynienia z nieliniowościami wynikającymi zrzeczywistej konstrukcji płatowca, bo np. samolot łatwiej może pochylić dziób niż nim
152
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 153/157
poderwać do góry. Jeśli chodzi o zakłócenia mające wpływ na sterowanie aparatem
latającym, to nie tylko wynikają one z elektryki i układu pomiarowego – zakłócenia
atmosfery utrudniają nie mniej rozpoznanie charakterystyk sterowania obiektem.
Synteza rzeczywistego rozmytego układu sterującego to nie tylko rozpoznanie obiektu,
utworzenie algorytmu sterowania i dostrojenie parametrów regulatora. Jedną z przyczyn,
która przeszkodziła autorom uzyskanie poprawnie sterującego regulatora rozmytego, były
sprzężenia skrośne od sygnałów sterujących na sygnały wynikowe kanałów teoretycznie
niezależnych (chodzi tutaj konkretnie o sygnały kanał pochylania i przechylania regulatora
dL_dh_30).
Niniejszą pracę należy traktować jako nowatorskie podejście tworzenia układu
sterowania aparatem latającym – próba stabilizacji kątów pochylenia i przechylenia samolotu
regulatorem sterującym w oparciu o prawa logiki rozmytej. Dużym atutem tej pracy jest
rozpoznanie problemów pojawiających się przy tworzeniu układów sterowania
bezzałogowym aparatem latającym: nieliniowości w wychylaniu powierzchni sterowych,
zakłócenia od napędu samolotu, zakłócenia atmosfery, układy sterowania posiadające
początkowo niezrozumiałe sprzężenia, unifikacja poziomów odniesienia sygnałów układu
sterowania.
Praca wymaga dalszej kontynuacji.
153
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 154/157
9. Bibliografia
1. Praca Dyplomowa Magisterska: Rozmyty system oceny pracy operatorów
katastralnego systemu informacyjnego Tomasz Karczyński, Wrocław 2007
2. SGS-Thomson Microelectronics: FuzzyTECH St6 Explorer Edition. User Manual. France June 1993
3. SGS-Thomson Microelectronics: St6 family. Software tools AST6, LST6, SIMST6.
User Manual. Italy August 1994
4. SGS-Thomson Microelectronics: St6 family. Software development tools AST6, LST6,
WGDB6. User Manual. France June 1997
5. SGS-Thomson Microelectronics: St62 family. Starter kit for ST625x, ST626x. User
manual. France March 1998
6. Realizer – graficzne programowanie mikrokontrolerów Krzysztof Górski, Warszawa
2005
7. „Wprowadzenie do sterowania rozmytego” - D. Driankov, H.Hellendoorn, M.
Reinfrank, Warszawa 1996
8. „Podstawy modelowania i sterowania rozmytego” – Rondla R. Yager, Dimitar P.
Filev, Warszawa 1995
9. „Modelowanie i sterowanie rozmyte” – Andrzej Piega, Warszawa 1999.
10. „Sieci neuronowe, algorytmy genetyczne i systemy rozmyte” – Danuta Rutkowska,
Maciej Piliński, Leszek Rutkowski, Warszawa – Łódź 1997.
11. „Sieci neuronowe” – Stanisław Osowski, Warszawa 1996.
12. „Układy sterowania automatycznego samolotem” – Stanisław Bociek, Jan
Gruszeczki, Rzeszów 1999.
13. „Teoria sterowania” – Tadeusz Kaczorek, Warszawa 1981,
14. „Symfonia C++” – Jerzy Grębosz, Kraków 1999,
15. ToolStick UniversityDaughter Card User’s Guide, 2007 by Silicons Labolatories,
16. “Wykład: Mikrokontrolery i mikrosystemy” – dr inż Zbigniew Czaja, Gdańsk 2003,
17. „8K ISP FLASHMCU Family” – 2003 by Silicons Labolatories,
Adresy internetowe i publikacje
i1. http://www.analog.com/en/mems-and-sensors/imems-gyroscopes/adxrs150/products/product.html
i2. http://www.freescale.com/files/sensors/doc/data_sheet/MPX5100.pdf?fsrch=1&WT_TYPE=Data%20Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation
154
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 155/157
i3. http://www.freescale.com/files/sensors/doc/data_sheet/MPX2100.pdf?fsrch=1&WT_TYPE=Data%20Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation
i4. http://www.elektroda.pl/rtvforum/topic384805.html
i5. http://www.fuzzytech.com
155
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 156/157
Politechnika Rzeszowska Rzeszów, 13 listopad 2008Wydział Budowy Maszyn i Lotnictwa
STRESZCZENIE MAGISTERSKIEJ PRACY DYPLOMOWEJTemat: MIKROPROCESOROWY STEROWNIK ROZMYTY DO STEROWANIA
APARATEM LATAJĄCYM
Autorzy: Traczyński Rafał, Sobczak Maksymilian
Promotor: dr. inż. Józef Grzybowski
Słowa kluczowe: logika rozmyta, bezzałogowy aparat latający, mikroprocesor.
Niniejsza praca jest opracowaniem, którego autorzy mieli na celu zebraniei usystematyzowanie wiedzy na temat projektowania układu sterowania rozmytego dla
bezzałogowego aparatu latającego. Zaprojektowany i wykonany został system stabilizacjikąta przechylenia i pochylenia własnego autorstwa.
Przedstawiono w niej układ pomiarowy jaki został zaprojektowany i wykonany w celu przeprowadzenia badań na aparacie latającym. W wyniku przeprowadzonych badań zostaływyznaczone charakterystyki dynamiczne BAL. Na koniec zostały wyciągnięte wnioski.
Rzeszów University of Technology Rzeszów, 13 listopad2008Faculty of Mechanical Engineering and Aeronautics
DIPLOMA THESIS (MS) ABSTRACT
SUBJECT: MICROCHIP FUZZY CONTROLLER OF UNMANNED AIR VEHICLE
Author: Traczyński Rafał, Sobczak Maksymilian
Supervisor: dr. inż. Józef Grzybowski
Key words: fuzzy logic, unmanned air vehicle, microchip.
Autor of this paper wants to collect and systematize knowledge about the designing of fuzzy control system for unmanned air vehicle. Designated and made system of stabilization
pich and roll.There was represent measurement system, which was made to do research on the air
vehicle. Thereby research there were designated dynamic characteristic of UAV.
156
5/6/2018 Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym - slidepdf.com
http://slidepdf.com/reader/full/mikrokomputerowy-sterownik-rozmyty-do-sterowania-aparatem-latajacym 157/157
In the end the conclusions.