Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

157
Politechnika Rzeszowska Im. Ignacego Łukasiewicza Wydział Budowy Maszyn i Lotnictwa Katedra Awioniki i Sterowania Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym. PRACA DYPLOMOWA Wykonał: Promotor: Maksymilian Sobczak dr inż. Józef Grzybowski Rafał Traczyński

Transcript of Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

Page 1: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 2: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 3: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 4: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 5: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 6: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 7: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 8: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 9: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 10: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 11: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 12: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 13: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 14: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 15: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 16: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 17: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 18: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 19: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 20: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 21: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 22: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 23: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 24: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 25: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 26: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 27: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 28: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 29: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 30: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 31: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 32: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 33: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 34: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 35: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 36: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 37: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 38: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 39: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 40: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 41: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 42: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 43: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 44: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 45: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 46: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 47: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 48: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 49: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 50: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 51: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 52: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 53: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 54: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 55: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 56: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 57: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 58: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 59: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 60: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 61: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 62: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 63: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 64: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 65: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 66: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 67: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 68: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 69: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 70: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 71: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 72: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 73: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 74: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 75: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 76: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 77: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 78: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 79: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 80: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 81: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 82: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 83: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 84: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 85: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 86: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 87: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 88: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 89: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 90: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 91: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 92: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 93: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 94: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 95: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 96: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 97: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 98: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 99: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 100: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 101: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 102: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 103: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 104: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 105: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 106: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 107: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 108: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 109: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 110: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 111: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 112: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 113: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 114: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 115: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 116: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 117: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 118: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 119: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 120: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 121: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 122: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 123: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 124: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 125: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 126: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 127: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 128: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 129: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 130: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 131: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 132: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 133: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 134: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 135: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 136: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 137: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 138: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 139: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 140: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 141: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 142: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 143: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 144: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 145: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 146: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 147: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 148: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 149: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 150: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 151: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 152: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 153: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 154: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 155: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 156: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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

Page 157: Mikrokomputerowy sterownik rozmyty do sterowania aparatem latającym

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.