Dr inż. Stanisław ŻYGADŁO Dr inż. Maciej PODCIECHOWSKI Inż. Michał JANKOWSKI Wojskowa Akademia Techniczna ALGORYTMY STEROWANIA IMITATOREM STACJI RADIOLOKACYJNEJ Streszczenie: W referacie przedstawiono opracowane i praktycznie przebadane algorytmy oprogramowania wybranych układów sterowania systemem imitatorów stacji radiolokacyjnej. Parametry układów uzyskane w trakcie badań laboratoryjnych, po implementacji oprogramowania, spełniają wymagania stawiane układom wypracowującym sygnały sterowania systemem imitatorów stacji radiolokacyjnej. CONTROL ALGORITHMS OF RADAR IMITATOR Abstract: This paper presents a developed and practically tested software algorithms for selected control systems of radar imitators. Parameters of control systems achieved during laboratory tests and after software implementation meet the requirements for generating signals to control of radar imitators system. Słowa kluczowe: algorytmy sterowania, mikrokontroler Keywords: control algorithms, microcontroller 1. WPROWADZENIE Praca jest kontynuacją tematów poruszanych w literaturze [1, 2]. Schemat blokowy połączeń systemu imitatora stacji radiolokacyjnej (ISR) pokazano na rys. 1. Rys. 1. Blokowy schemat połączeń systemu ISR 883
Głównymi elementami systemu odpowiedzialnymi za komunikację i sterowanie są mikrokontrolery. Są to urządzenia programowalne, dlatego też zostały napisane programy odpowiednio dla układu urządzenia sterującego i sterownika anten. Podczas pisania programów korzystano ze środowiska programistycznego Atmel Studio 6 [3, 4]. Jest to produkt firmy produkującej wykorzystane w projekcie mikrokontrolery i jest dostosowany do pracy z nimi. Zawiera edytor kodu źródłowego, kompilator umożliwiający pisanie programów w językach C, C++ oraz ASEMBLER. Ponadto obsługuje wiele typów programatorów i zawiera bardzo przydatny symulator, za pomocą którego można testować napisane programy, jeszcze przed zaprogramowaniem procesora. Innym sposobem testowania napisanego programu w tym środowisku jest tak zwany tryb debugowania. Polega on na uruchomieniu programu na rzeczywistym procesorze i wykonywaniu go krok po kroku z jednoczesnym podglądem na monitorze komputera wartości zmiennych i rejestrów procesora. Niestety, wymaga on zastosowania drogiego i specjalistycznego programatora. Celem artykułu jest prezentacja opracowanych i zaimplementowanych w języku C++ [5, 6] algorytmów sterowania systemem imitatorów stacji radiolokacyjnych. 2. ALGORYTMY OPROGRAMOWANIA WYBRANYCH UKŁADÓW Algorytm pętli głównej programu przedstawiony jest na rys. 2. W pętli głównej program cały czas sprawdza, czy nie zostały odebrane jakieś dane. Źródłem danych jest radiomodem oraz układy USART0 i USART1. W przypadku odebrania danych przez radiomodem następuje odczyt tych danych i sprawdzenie ich poprawności. Jeżeli dane są poprawne, następuje aktualizacja zapisanych w pamięci mikrokontrolera parametrów danej anteny i przesłanie ich do pulpitu zdalnego sterowania. Prędkość transmisji danych przez interfejs RS485 i RS232 została ustalona na wartość 9600 bitów na sekundę i może być zmieniana tylko w kodzie programów. Układ cały czas sprawdza, czy nie został odebrany jakiś znak z pulpitu zdalnego sterowania. Jeżeli tak się stało, znak ten wpisywany jest do bufora danych. Jeżeli odebrany znak jest znakiem końca ramki, następuje dekodowanie danych i w zależności od ich rodzaju podejmowane są decyzje. Jeśli dane zawierają nową nastawę dla którejś z anten systemu, to natychmiast są one przesyłane do sterownika anteny drogą przewodową lub radiową. Jeśli natomiast odebranymi danymi jest zapytanie o aktualny stan anten, mikrokontroler wysyła do każdej anteny zapytanie o ich stan. Otrzymując odpowiedź zwrotną za pomocą interfejsu RS485, najpierw poszczególne znaki zapisywane są do bufora, a następnie zostają zdekodowane i przesłane do pulpitu operatora. Aby nie występowała kolizja danych na linii RS485, odpytywanie anten odbywa się co 200 ms. Czas ten jest w zupełności wystarczający dla sterownika anteny na odebranie, zdekodowanie i wysłanie odpowiednich danych zwrotnych. Jeżeli jednak zdarzy się sytuacja, że w ciągu 200 ms od wysłania zapytania nie nadejdzie odpowiedź, mikrokontroler urządzenia sterującego interpretuje to jako brak komunikacji i wysyła zapytanie za pomocą radiomodemu do urządzenia, które nie odpowiada. Na rysunku 3 przedstawiony został algorytm działania sterownika anteny. Algorytm ten jest bardzo podobny do opisanego powyżej dla urządzenia sterującego. Główna idea polega na ciągłym sprawdzaniu, czy nie zostały odebrane jakieś dane od stacji radiolokacyjnej. Jeżeli tak się stało, dane są odpowiednio dekodowane i następuje realizacja funkcji zapisanych w programie. Główną funkcją jest nastawa anteny na wybrany kąt promieniowania. Aby nie blokować działania programu na czas nastawy, obliczana jest ilość kroków, jakie musi wypracować silnik i uruchamiany jest TIMER, który automatycznie generuje odpowiednią ilość impulsów sterujących. Kiedy obliczona ilość impulsów zostanie wygenerowana, 884
następuje zatrzymanie silnika, odczytanie ilości zliczonych impulsów z enkodera i przesłanie informacji zwrotnej o wypracowanej nowej pozycji kątowej anteny. Rozwiązanie takie pozwala na odbiór danych nawet podczas obrotu anteny. Rys. 2. Algorytm funkcjonowania programu urządzenia sterującego 885
Rys. 3. Algorytm programu sterownika anteny Funkcja wyliczająca ilość kroków silnika uwzględnia, czy antena ISR jest w spoczynku, czy się obraca. Jej algorytm działania przedstawiony został na rys. 4. Dzięki temu możliwe jest korygowanie wcześniej zadanej pozycji jeszcze przed jej osiągnięciem. Odebrane dane mogą również zawierać informacje o zmianie trybu pracy lub wysłaniu aktualnego stanu, w jakim antena się znajduje, czyli jej kierunek azymutu, elewacji i wartość napięcia zasilania. 886
Rys. 4. Algorytm funkcji nastawy anteny 887
3. APLIKACJA SYMULUJĄCA PULPIT ZDALNEGO STEROWANIA Do testowania poprawności działania systemu komunikacji została opracowana aplikacja na komputer PC, która komunikuje się z urządzeniem sterującym za pomocą szeregowego portu COM w standardzie RS232C. Widok okna aplikacji przedstawia rys. 5. Po jej uruchomieniu w polu ustawienia połączenia należy wybrać numer portu COM, do którego podłączone jest urządzenie sterujące, a następnie kliknąć przycisk Otwórz port COM, aby dokonać połączenia między komputerem a urządzeniem sterującym. Zadaniem aplikacji jest prezentowanie aktualnego stanu systemu ISR oraz sterowanie poszczególnymi antenami systemu. W górnej części wyświetlane są aktualne dane o ilości podłączonych do systemu aktywnych ISR, ich aktualny azymut i kąt elewacji anteny oraz napięcie akumulatora. Rys. 5. Widok okna aplikacji do sterowania ISR Dolna część okna służy do sterowania antenami. Po lewej stronie rozmieszczone są cztery symbole anten, które reprezentują rzeczywiste urządzenia. Kolor tych symboli zależny jest od aktualnego stanu połączenia. Urządzenia, z którymi nie ma połączenia ani przewodowego, ani bezprzewodowego oznaczone są kolorem czerwonym. ISR połączone z urządzeniem sterującym są koloru żółtego i po wybraniu jednego z nich można nim sterować. Kolor zielony oznacza antenę aktywnego ISR, czyli taką, która została wybrana z możliwych dostępnych. Wybór konkretnego ISR możliwy jest za pomocą pola wyboru, które znajduje się przy każdym symbolu anteny. Jeżeli symbol jest koloru czerwonego, to nie ma możliwości wyboru takiego urządzenia, ponieważ nie jest ono połączone z urządzeniem sterującym. Do zmiany azymutu aktywnej anteny służy obrotowa gałka w centralnej części aplikacji. Do zmiany wychylenia anteny w płaszczyźnie elewacji służy pasek przy prawej krawędzi okna aplikacji. Zmiana wychylenia anteny jest skokowa ze względu na sposób 888
sterowania serwomechanizmem. Ustawienie wskaźnika paska na maksymalną wysokość powoduje wychylenie anteny o kąt ok. 80 od płaszczyzny horyzontu. Przyciski Lewo, Prawo i Stop pozwalają na uruchomienie anteny w trybie ciągłego obrotu w określonym kierunku. Prędkość obrotową w tym trybie regulować można za pomocą poziomego paska, który znajduje się pod przyciskami. Za pomocą opracowanej aplikacji przeprowadzono badania laboratoryjne, które polegały na zadawaniu przypadkowych wartości kąta azymutu i odczytaniu wypracowanego przez mechanizm sterowania anteną kąta z podziałki, jaką zamocowano do nieruchomej względem anteny oprawy łożyska. Po każdej zmianie pozycji, antena pozostawała tam, gdzie się zatrzymała i kolejny ruch rozpoczynała od tego miejsca. Dzięki temu w przypadku wystąpienia gubienia kroków, błąd pozycji narastałby i byłby widoczny jako coraz większe odchyłki od wartości zadanej. Podczas badania zadano 40 nastaw i wykonano tyle samo pomiarów. Wyniki pomiarów przedstawiono na rys. 6. Rys. 6. Wyniki pomiarów kąta wypracowanego przez mechanizm sterowania anteną Wartości zadane azymutu pokazuje linia niebieska, a wartości wypracowane linia czerwona. Jak widać dokładność nastawy anteny jest bardzo dobra, a błąd nie przekracza 8. Można założyć, że zjawisko gubienia kroków w tym silniku nie występuje. Praca finansowana ze środków na naukę jako projekt badawczo-rozwojowy realizowany w latach 2012-2014. 889
LITERATURA [1] Żygadło S., Jankowski M.: Układ sterowania zespołem anten imitatora stacji radiolokacyjnej, materiały konferencyjne, XVII Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji, 13-17 maja, Szczyrk 2013. [2] Żygadło S., Rodzik D., Jankowski M.: Wybrane modele układów sterowania imitatorem stacji radiolokacyjnej, materiały konferencyjne, XVII Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji, 13-17 maja, Szczyrk 2013. [3] Materiały katalogowe firmy Atmel. [4] Kardaś M.: Mikrokontrolery AVR. Język C. Podstawy programowania, Atmel, Szczecin, 2011. [5] Wróblewski P.: Algorytmy, struktury danych i techniki programowania, wydanie IV, Helion, Gliwice, 2008. [6] Prata S.: Język C++. Szkoła programowania, wydanie VI, Helion, Gliwice, 2013. 890