Mikroprocesorowy układ sterowania liniowych serwonapędów elektrohydraulicznych Chciuk Marcin 1, Bachman Paweł 2 Referat dotyczy tematyki sterowania oraz pozycjonowania liniowych serwomechanizmów elektrohydraulicznych. Na wstępie referatu omówione są różne układy tego typu oraz ich wady, zalety i sposoby sterowania. W referacie przedstawiono koncepcję budowy sterownika mikroprocesorowego do regulacji prędkości i pozycjonowania serwonapędów elektrohydraulicznych. Omówiono budowę sterownika, sposób zrealizowania go na bazie mikrokomputera jednoukładowego. Na końcu omówione jest oprogramowanie sterownika. 1. Wprowadzenie Ostatnie lata zaowocowały bardzo dynamicznym rozwojem serwomechanizmów stosowanych w wielu dziedzinach przemysłu takich jak lotnictwo, obrabiarki i roboty, maszyny rolnicze i budowlane, motoryzacja itp. Coraz nowsze i precyzyjniejsze serwomechanizmy wymagają rozwoju układów sterowania i pozycjonowania nimi. Trendy ostatnich lat skłaniają producentów w kierunku zastosowania sterowników cyfrowych. Sterowniki te można łatwo programować, co jest wygodnym rozwiązaniem w stosunku do sterowników analogowych. W celu zmiany sposobu sterowania w układach cyfrowych z mikrokontrolerami wystarczy zmienić tylko algorytm, to znaczy program. Układ elektroniczny w sterownikach cyfrowych (rys. 1) może pozostać niezmieniony, gdyż składa się ze stałych elementów (między innymi takich jak: blok sterowania prędkością i kierunkiem ruchu, blok pomiaru położenia oraz blok komunikacji i pamięci), które zarządzane są mikroprocesorem. Na rynku dostępne są wysokiej klasy sterowniki linowych serwomechanizmów elektrohydraulicznych produkowane między innymi przez firmę BOSCH. Niestety są to sterowniki bardzo drogie w wielu zastosowaniach przekraczające potrzeby w zakresie dokładności i niepotrzebnie podnoszące koszt budowy serwomechanizmu. Praktycznie na rynku istnieje luka w zakresie sterowników o średniej klasie dokładności, co skłania do zaprojektowania i wykonania takiego systemu. Niniejszy referat omawia wymagania 1 Chciuk Marcin mgr, Uniwersytet Zielonogórski 2 Bachman Paweł mgr, Uniwersytet Zielonogórski
stawiane sterownikowi serwomechanizmów elektrohydraulicznych oraz jego niezbędnych elementów. Sterownik serwomechanizmu elektro-hydraulicznego Elektrozawór Blok komunikacji oraz przetwarzania danych Blok sterowania C/A 0..10V Karta sterowania elektrozaworem PC RS 232C Blok pomiaru LCD P1 A/C lub 10V Czujnik analogowy Klawiatura P2 P3 encoder A B Liniał optyczny RAM Rys. 1. Schemat blokowy sterownika serwonapędu elektro-hydraulicznego 1.1. Serwomechanizmy liniowe. Serwomechanizm to układ automatycznego sterowania ze wzmocnieniem mocy oraz układ precyzyjnej regulacji ruchu obiektu (np. kierunku i prędkości). Działanie serwomechanizmu zależy od różnicy między rzeczywistym a żądanym położeniem obiektu. Polega ono na zmniejszaniu tej różnicy do zera i uzgodnieniu w ten sposób położenia rzeczywistego z położeniem żądanym. Pokazany na rys. 2 schemat blokowy serwomechanizmu wyjaśnia zasadę działania tego układu. Położenie zadane Regulacja położenia - - Regulacja prędkości Silnik Przekładnia Pomiar prędkości Pomiar położenia Rys. 2. Schemat blokowy serwomechanizmu
Regulacja automatyczna z punktu widzenia teorii sterowania jest pracą w układzie zamkniętym (ze sprzężeniem zwrotnym ujemnym) realizowanym samoczynnie (bez udziału człowieka) przez odpowiedni układ sterujący. Można rozróżnić dwa zasadnicze rodzaje regulacji automatycznej serwonapędów: regulacja nadążna, oraz programowa. Pierwszy z nich to sterowanie w układzie zamkniętym w przypadku, gdy zadana wartość wielkości regulowanej nie jest znaną z góry funkcją czasu, ale zależy od zjawisk występujących na zewnątrz układu. Stosowana jest np. w układach stabilizacji armaty czołgu na zadany cel podczas jazdy, gdzie dodatkowym czynnikiem nieznanym wcześniej są wahania pojazdu na nierównym terenie. Regulacja programowa, występuje w przypadku, gdy zadana wartość wielkości regulowanej jest znaną z góry funkcją czasu (zmienia się ona wg określonego programu). Stosowana jest w obrabiarkach automatycznych wykonujących elementy o zadanym kształcie. W serwomechanizmach oprócz układu sterującego występuje element wykonawczy odpowiedzialny za wykonanie zadanego ruchu. Serwonapędy liniowe możemy podzielić na trzy podstawowe grupy: serwomechanizmy z obrotowymi silnikami elektrycznymi prądu stałego, zmiennego lub silnikami krokowymi oraz z zespołami zamieniającymi ruch obrotowy na liniowy. Są to różnego rodzaje przekładnie np. śruba kulowa toczna z nakrętką poruszającą się ruchem liniowym. Zaletą takiej przekładni jest to, że gdy ustalimy dane położenie śruby praktycznie nie musimy obawiać się, że pod wpływem nacisku na nią przesunie się w inne położenie. Wadą takiego układu jest wolna odpowiedz układu na zadane położenie, serwomechanizmy z silnikami liniowymi przetwarzającymi energię elektryczną bezpośrednio na energię ruchu postępowego. Silnik liniowy składa się z induktora i z bieżnika, które są odpowiednikami stojana i wirnika zwykłego silnika elektrycznego, lecz rozwiniętymi w linię prostą (rys. 3.). Częścią ruchomą silnika może być zarówno induktor, jak i bieżnik. Głównymi zaletami tego rodzaju silnika są: brak styczności mechanicznej między induktorem a bieżnikiem, idealnie cicha praca, dobre chłodzenie, brak ślizgowych zestyków doprowadzających prąd, łatwość sterowania, możliwość uzyskiwania różnych przebiegów zależności siły od prędkości, możliwość prostego łączenia kilku silników liniowych w jeden zespół o większej mocy. Rozróżnia się silniki elektryczne liniowe prądu stałego, prądu przemiennego, synchroniczne, asynchroniczne, oscylacyjne itp., Bieżnik Induktor Rys. 3. Schemat silnika liniowego
serwomechanizmy z siłownikiem, który zamienia ciśnienie panujące wewnątrz komór na przesunięcie liniowe. Istnieją dwie podstawowe grup siłowników: pneumatyczne oraz hydrauliczne (rys. 4). Podstawową zaletą siłowników jest bezpośrednie uzyskiwanie przemieszczeń liniowych. Wśród innych zalet można wymienić: cicha praca, łatwy montaż i duża niezawodność. P a P b Zawór Pompa Rys. 4. Schemat siłownika z zaworem 2. Koncepcja mikroprocesorowego sterownika serwonapędów elektrohydraulicznych Dla sterowania serwomechanizmami elektrohydraulicznymi konieczne jest zastosowanie układu elektronicznego umożliwiającego sterowanie elektrozaworem hydraulicznym oraz współpracującego z układem pomiaru położenia tłoka siłownika. Sterownik musi umożliwiać sterowanie prędkością oraz kierunkiem przesuwu tłoka. Powyższe wymagania stanowią minimum stawiane sterownikowi. Projektowany układ nie powinien być ograniczony do sterowania tylko jednym sztywnym i z góry wcześniej zaplanowanym procesem poruszania się tłoka. W celu zmiany cyklu roboczego siłownika układ musi być programowalny. Najlepiej gdyby sztywny algorytm sterowania, sterownik pobierał i zapamiętywał ze źródła zewnętrznego w postaci sekwencji poruszania tłoka. W celu programowania układu konieczne jest zastosowanie układu do transmisji szeregowej albo równoległej lub też klawiatury z wyświetlaczem LCD. Wydaje się, że najlepszym rozwiązaniem było by zastosowanie obu rozwiązań naraz, czyli transmisji z urządzenia zewnętrznego oraz połączenia z klawiaturą i wyświetlaczem. Schemat (rys. 5) sterownika przedstawi nam obraz wymaganych elementów układu. Z analizy wymagań, jakie stawiane są sterownikowi serwonapędu elektrohydraulicznego wynika, że najlepszym rozwiązaniem jest zastosowanie mikrokontrolera jednoukładowego, który będzie zarządzał całym układem. Umożliwi on komunikację z urządzeniami zewnętrznymi oraz pozwoli na swobodne programowanie nastaw. Sterownik na bazie C jednoukładowego jest układem cyfrowym, natomiast do sterowania serwomechanizmem potrzebny jest sygnał analogowy, co wymusza zastosowanie przetworników A/C oraz C/A. W zależności od rodzaju zastosowanych przetworników uzyskać można różne prędkości przetwarzania oraz dokładności sygnału analogowego. Na rynku dostępna jest szeroka gama
przetworników. Podstawowymi parametrami je charakteryzującymi są: długość słowa: liczba bitów, na których podawany jest wynik (typowo 8, 10, 12, 16 i więcej); czas przetwarzania i zakres napięcia wejściowego albo wyjściowego. Rozdzielczość napięcia na przetwornikach A/C i C/A można wyznaczyć ze wzoru: R Z [ V ] w w (1) Wd gdzie: Z w zakres wartości najczęściej 0..10V albo 10V, W d wartość dziesiętna odpowiadająca długości słowa bitowego np. 8 bitów = 256. Przykładowo dla przetwornika 16 bitowego o zakresie pomiarowym 10V otrzymujemy: Rw 20[ V ] 0,0003[ V ] 65536 (2) Rozdzielczość wartości Rw 8 bitów 10 bitów 12 bitów 16 bitów 0...10V 0,039V 0,00976V 0,00244V 0,00015V -10...10V 0,078V 0,0195V 0,00488V 0,0003V Na podstawie powyższych wyliczeń można stwierdzić, że wraz z wzrostem rozdzielczości przetworników wzrasta dokładność wartości przetwarzanych przez te układy. Zwiększają się także wymagania stawiane sprzętowi cyfrowemu potrzebnemu do obsługi wartości większych niż 8 bitowe. Należy także wziąć pod uwagę fakt, iż wraz z wzrostem rozdzielczości przetworników układy te są narażone w większym stopniu na szumy sygnału analogowego, co może być powodem zmniejszenia dokładności. Adress 16 bit C Data 8 bit RS232 A/C C/A RAM ROM LS7166 PC Wejście analogowe Wyjście analogowe Wejście kanał A i B Rys. 5. Schemat blokowy sterownika
2.1. Blok sterowania elektrozaworem Na wyjściu bloku sterowania proporcjonalnym elektrozaworem hydraulicznym, należy generować sygnał analogowy zmieniający się w zakresie 0..10V, który przekazywany jest dalej do karty sterowania elektrozaworem. O kierunku ruchu decyduje to, czy sygnał znajduje się w przedziale 0..5V, czy w przedziale 5..10V. Dokładność sterowania natężeniem cieczy dopływającej do siłownika uzależniona jest od dokładności zastosowanego przetwornika C/A. Aby uzyskać jak największy zakres sterowania elektrozaworem proporcjonalnym, należy zastosować przetwornik co najmniej 8 bitowy, a najlepiej 12 bitowy. Wymóg ten wynika z potrzeby uzyskania bardzo małego oraz płynnego skoku tłoczków regulujących powierzchnię szczeliny, przez którą przepływa cieczy robocza. 2.2. Blok pomiarowy Blok pomiaru położenia tłoka w siłowniku hydraulicznym, można wykonać na dwa sposoby: poprzez pomiar wartości analogowej z zastosowaniem liniału indukcyjnego i przetwornika A/C albo za pomocą liniału optycznego, gdzie pomiaru dokonuje się w sposób cyfrowy za pomocą enkodera. W obu przypadkach istotne szybkie uzyskanie jak najdokładniejszej informacji o położeniu elementu wykonawczego. Przy pomiarze analogowym konieczne jest zastosowanie co najmniej 16 bitowego a nawet 24 bitowego przetwornika A/C. Przy pomiarze położenia o zakresie 1m, przy wykorzystaniu przetwornika o rozdzielczości 16 bitów uzyskamy dokładność 1m/2 16 =15,26 m, natomiast przy użyciu przetwornika 24 bitowego dokładność wynosi 1m/2 24 =59,6nm. W praktyce na rynku dostępne są przetworniki 16 bitowe, co oznacza, że duże wymagania w zakresie dokładności wymagają zastosowania układów optycznych. Co prawda dostępne są również przetworniki 24 bitowe, ale pomiar taki jest narażony na duży błąd z powodowany szumami w sygnale analogowym. Wykorzystanie metody pomiaru położenia za pomocą przetwornika indukcyjnego. Na wyjściu takiego czujnika uzyskuje się sygnał analogowy z zakresu 10V, który następnie należy przetworzyć w przetworniku A/C na odpowiadającą mu liczbę. Stawiając za cel uzyskanie bardzo dokładnego pozycjonowania tzn. rzędu 1 m przy zakresie pomiaru (skoku) równym 1m konieczne jest zastosowanie przetwornika o rozdzielczości co najmniej 20 bitów. Taka metoda pomiarowa musi być z góry zdyskwalifikowana z powodu zbyt małej dokładności oraz błędów pomiarowych. Zdecydowanie lepszym rozwiązaniem jest zastosowanie enkodera z liniałem inkrementalnym, który dokonuje pomiaru za pomocą sygnałów cyfrowych, które nie są obarczone błędem przetwarzania A/C. Zaletą tej metody jest duża rozdzielczość (do 1 m), która pozwala na pomiary i pozycjonowanie o dużej dokładności. Zastosowanie inkrementalnego układu pomiaru położenia wymaga użycia specjalnego licznika rewersyjnego. Do jego zbudowania najlepiej wykorzystać układ scalony typu LS7166. Jest to licznik 24-bitowy posiadający możliwość pracy w różnych trybach. Posiada on rejestry i wewnętrzne układy logiczne, co pozwala systemowi mikroprocesorowemu na śledzenie prędkości, kierunku i położenia. Oprócz sterowania za pośrednictwem 8-bitowej szyny danych układ ten posiada także programowalne wejścia i wyjścia, które umożliwiają sprzętową kontrolę jego działania.
3. Oprogramowanie sterownika Do obsługi sterownika mikroprocesorowego konieczny jest program umożliwiający wykonywanie czynności wynikających z założeń sterownika (rys. 6.). Powinien on mieć możliwość pobrania z zewnątrz sekwencji poruszania tłokiem siłownika. Na podstawie tych danych może on sterować elektrozaworem hydraulicznym, określając kierunek ruchu i prędkość. Niejako w tym samym czasie program musi również dokonywać pomiaru aktualnego położenia siłownika. Start Zadane położenie i prędkość Nie Pomiar położenia Prędkość 0..5V Prędkość 5..10V Koniec Tak Położenie L Kierunek P Tak Nie Stop Rys. 6. Prosty algorytm pracy sterownika Liczba i złożoność zadań, jakie ma wykonywać sterownik skłaniają do zastosowania możliwie jak najszybszego C jednoukładowego. Pozwoli to na szybką reakcję układów wyjściowych na pojawiające się sygnały wejściowe. Sterownik musi być odpowiedzialny za współpracę z układem pomiarowym, z pamięcią, a także na komunikacją z urządzeniami zewnętrznymi. Jak widać z algorytmu pracy programu sterownika po zadaniu prędkości i położenia system musi wykonać szereg czynności składających się na jeden cykl ustalenia elementu wykonawczego serwonapędu w zadanym położeniu. W pierwszej kolejności sterownik musi sprawdzić czy serwomechanizm znajduje się już w zadanym położeniu, a jeśli nie to musi określić kierunek i ustalić prędkość przesuwu tłoka siłownika. W kolejnych krokach dokonywany jest pomiar położenia aż do wykonania zadanego ruchu przez serwomechanizm. Na jeden cykl między pomiarem a wysterowaniem układu i ponownym pomiarem przypada wiele instrukcji przetworzenia danych, warunkowych i skoku. Jeśli program napisany będzie w języku asemblera, (najszybszym), to według wstępnego oszacowania, będzie około 10 instrukcji. Jeśli do zbudowania sterownika
zastosujemy np. C 8051 z zegarem 12MHz, w którym na wykonanie standardowej instrukcji potrzeba przynajmniej 6 cykli zegarowych, to do jej wykonania będzie potrzebny czas rzędu 0,5 s. Uwzględniając to, można oszacować, że czas wykonania całego cyklu wyniesie ok. 5 s, czyli częstotliwość pracy układu wyniesie 200kHz. Uwzględniając fakt, że program będzie musiał obsłużyć wartości liczbowe z zakresu 22 bitów należy dodać kolejnych kilkanaście instrukcji, co wydłuży czas wykonania jednego cyklu do ok. 4 ms. Przedstawione wyżej obliczenia szacunkowe wskazują na konieczność zastosowania układu LS7166 do określania pozycji aktualnej. Układ ten działa niezależnie od mikroprocesora i dzięki temu nie trzeba obawiać zgubienia kroków i występowania błędów. 4. Podsumowanie Na podstawie założeń projektu oraz powyższych obliczeń zostały przeprowadzone badania własne, które umożliwiły wykonanie projektu sterownika. Układ w najbliższym czasie zostanie zrealizowany. Na gotowym sterowniku zostaną przeprowadzone badania z, których uzyskane zostaną realne wyniki sterowania. Na podstawie tych wyników będzie można przeprowadzić korekcję układu lub algorytmu sterowania. Literatura [1] Milecki A.: Wybrane metody poprawy własności liniowych serwonapędów elektrohydraulicznych, Politechnika Poznańska 1999. [2] Pizoń A.: Elektrohydrauliczne analogowe i cyfrowe układy automatyki, WNT 1995.