Mikroprocesorowy układ sterowania liniowych serwonapędów

Transkrypt

Mikroprocesorowy układ sterowania liniowych serwonapędów
Mikroprocesorowy układ sterowania liniowych serwonapędów
elektrohydraulicznych
Chciuk Marcin1,
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
2
Chciuk Marcin mgr, Uniwersytet Zielonogórski
Bachman Paweł mgr, Uniwersytet Zielonogórski
stawiane sterownikowi
niezbędnych elementów.
serwomechanizmów
elektrohydraulicznych
Blok sterowania
0..10V
C/A
PC
jego
Elektrozawór
Sterownik serwomechanizmu
elektro-hydraulicznego
Blok komunikacji oraz
przetwarzania danych
oraz
Karta sterowania
elektrozaworem
RS 232C
Blok pomiaru
 10V
A/C
LCD
Czujnik
analogowy
P1
lub
Klawiatura
encoder
A
B
P2
P3
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
Pomiar
prędkości
Pomiar
położenia
Rys. 2. Schemat blokowy serwomechanizmu
Przekładnia
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ść.
Pa
Pb
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:
Rw 
Z w[V ]
Wd
(1)
gdzie:
Zw zakres wartości najczęściej 0..10V albo 10V,
Wd 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 
Rozdzielczość wartości Rw
0...10V
-10...10V
20[V ]
 0,0003[V ]
65536
8 bitów
0,039V
0,078V
10 bitów
0,00976V
0,0195V
(2)
12 bitów
0,00244V
0,00488V
16 bitów
0,00015V
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
RS232
PC
Data 8 bit
A/C
C/A
Wejście
analogowe
RAM
ROM
Wyjście
analogowe
Rys. 5. Schemat blokowy sterownika
LS7166
Wejście
kanał A i B
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/224=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ść
Pomiar położenia
Prędkość
0..5V
Prędkość
5..10V
Nie
Koniec
Tak
Tak
Położenie
L
Kierunek
P
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.