snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega...
Post on 11-May-2020
11 Views
Preview:
TRANSCRIPT
UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
FAKULTETA ZA STROJNIŠTVO
Nejc Pirc
SNOVANJE IN IZDELAVA SISTEMA VODENJA
ELEKTROHIDRAVLIČNE LINEARNE
SERVO OSI
Magistrsko delo
Maribor, avgust 2017
SNOVANJE IN IZDELAVA SISTEMA VODENJA
ELEKTROHIDRAVLIČNE LINEARNE SERVO OSI
Magistrsko delo
Študent: Nejc Pirc
Študijski program: Študijski program 2. stopnje
Mehatronika
Mentor FS: Izr. prof. dr. Darko Lovrec
Mentor FERI: Red. prof dr. Riko Šafarič
Somentor: Doc. dr. Vito Tič
I
ZAHVALA
Zahvaljujem se mentorjema, izr. prof. dr.
Darku Lovrecu in red. prof. dr. Riku Šafariču, ter somentorju
doc. dr. Vitu Tiču za pomoč in vodenje pri izdelavi magistrskega
dela.
Posebna zahvala gre tudi staršem in vsem domačim, ki so mi
študij omogočili ter me tekom študija tudi podpirali.
II
III
Snovanje in izdelava sistema za vodenje elektrohidravlične linearne servo osi
Ključne besede: servohidravlika, linearni servopogon, TwinCAT3, regulacija
UDK: 681.513.3(043.2)
Povzetek
V magistrskem delu so opisani posamezni sklopi hidravličnega linearnega servosistema ter
sestava močnostnega in krmilnega električnega dela. Zasnovan je uporabniški vmesnik z
možnostjo položajne regulacije batnice ter preskušanje različnih metod optimizacij
regulatorjev. V uvodnem delu so podrobneje opisani krmilnik in dodatni moduli, kateri so
uporabljeni za zajemanje podatkov in vodenje servosistema. Izdelan je program za zajemanje
podatkov senzorjev in zaprtozančno vodenje batnice z uporabo regulatorjev. Za hitrejšo in lažjo
nastavitev parametrov regulatorja in nastavitev različnih trajektorij vodenja, je izdelan
namenski uporabniški vmesnik. Na koncu magistrskega dela so predstavljeni osnovni koncepti
vodenja hidravličnega servosistema ter testirani različni koncepti optimizacij regulatorjev.
IV
Designing and construction of a control system for electrohydraulic linear servo axis
Key words: Servohydraulics, linear servo drive, TwinCAT 3, regulation
UDK: 681.513.3(043.2)
Abstract
In the master’s thesis the assembly of the used linear electrohydraulic servo system is described
and the composition of the electrical power and control signals. The user interface is designed
with the ability to control the position of the piston. The first part describes the controller and
additional modules used for data capture and servo systems management. The program for
data acquisition of sensors and closed loop control of the piston is explained. A user friendly
interface is created for faster and easier setting of controller parameters and setting of
different control profiles for controlling the piston. The basic concepts of the management of
the hydraulic servo system are presented and various concepts of optimization of the
regulators are explained and tested.
V
KAZALO
1 UVOD ................................................................................................................................... 1
2 UPORABA IN ZGRADBA EH LINEARNIH SERVOOSI .............................................................. 2
2.2 Koncepti elektrohidravličnih sistemov ............................................................................. 3
2.3 Primerjava servo pogonov ................................................................................................ 5
2.4 Hidravlični sistem kot celota ............................................................................................. 6
2.5 Servoventil ........................................................................................................................ 7
3 ZASNOVA IN IZVEDBA OŽIČENJA ......................................................................................... 9
3.1 Beckhoff krmilnik .............................................................................................................. 9
3.2 Moog servoventil ............................................................................................................ 10
3.3 Wago-v bipolarni izolacijski ojačevalnik ......................................................................... 11
3.4 Senzor pomika in hitrosti ................................................................................................ 12
3.5 Senzor tlaka .................................................................................................................... 13
3.6 Ožičenje .......................................................................................................................... 14
4 SNOVANJE SISTEMA VODENJA ......................................................................................... 17
4.1 Programsko okolje .......................................................................................................... 17
4.2 Vzpostavitev komunikacije in konfiguracija krmilnika ................................................... 18
4.3 Zasnova programov vodenja .......................................................................................... 22
4.31 Zasnova proge s sinusnim generatorjem .................................................................. 25
4.32 Trapezni trajektorija proge ....................................................................................... 28
4.33 Stopnični odziv .......................................................................................................... 28
4.34 Zasnova S-trajektorije proge ..................................................................................... 29
4.4 Uporaba implementiranega PID regulatorja .................................................................. 30
4.5 Grafični prikaz odzivov .................................................................................................... 32
5 UPORABNIŠKI VMESNIK .................................................................................................... 33
VI
5.1 Kreiranje oken in povezovanje spremenljivk .................................................................. 34
6 ZAPRTOZANČNO VODENJE ............................................................................................... 41
6.1 Regulacijska proga .......................................................................................................... 42
6.1.1 Regulacija položaja ................................................................................................... 43
6.1.2 Regulacij hitrosti ali sile-navora ............................................................................... 43
6.2 PID regulator ................................................................................................................... 44
6.3 Optimizacija parametrov PID regulatorja ....................................................................... 46
6.3.1 Kriteriji za ocenjevanje regulatorja .......................................................................... 46
6.3.2 Ziegler-Nichols metoda optimizacije ....................................................................... 48
6.33 Chien-Hrones-Reswick metoda optimizacije ............................................................ 49
6.3.4 Ročna nastavitev regulatorja ................................................................................... 51
7 TESTIRANJE ODZIVNOSTI SISTEMA ................................................................................... 53
7.1 Ziegler-Nichols metoda optimizacije .......................................................................... 54
7.2 Ročna nastavitev regulatorja ...................................................................................... 59
8 SKLEP ................................................................................................................................. 62
9 VIRI IN LITERATURA ........................................................................................................... 63
VII
KAZALO SLIK
Slika 2.1: Simulator letenja izveden z elektrohidravličnim sistemom [18] ................................ 2
Slika 2.2: Shema, kjer reguliramo vrtljaje elektromotorja [4] .................................................... 3
Slika 2.3: Izvedba regulacije aktuatorja z regulacijo pretoka črpalke [4] ................................... 4
Slika 2.4: Izvedba regulacije aktuatorja s servoventilom [4] ...................................................... 4
Slika 2.5: Primerjava karakteristik različnih konceptov vodenja [4] .......................................... 5
Slika 2.6: Frekvenčne karakteristike različnih servosistemov [4] ............................................... 6
Slika 2.7: Shematski prikaz hidravličnega sistema [19] .............................................................. 7
Slika 2.8: Prerez uporabljenega servoventila Moog G761 [20] .................................................. 8
Slika 3.1: Uporabljen Beckhoff-ov krmilnik [14] ......................................................................... 9
Slika 3.2: Princip pomikanja drsnika v servoventilu [8] ............................................................ 10
Slika 3.3: Možne vezave tuljav v servoventilu [9] .................................................................... 11
Slika 3.4: Wago-v bipolarni izolacijski ojačevalnik[15] ............................................................. 11
Slika 3.5: Princip delovanja senzorja pomika in hitrosti [21] ................................................... 12
Slika 3.6: Vgradnja senzorja za detekcijo položaja batnice ...................................................... 13
Slika 3.7: Tlačna senzorja .......................................................................................................... 14
Slika 3.8: Namestitev krmilnih in varnostnih tipk .................................................................... 15
Slika 3.9: Digitalni modul ki prebira stanja stikal ..................................................................... 15
Slika 3.10: Izgled notranjosti elektro omarice .......................................................................... 16
Slika 4.1: Spremenljivka za branje trenutnega položaja .......................................................... 19
Slika 4.2: Nastavitev hitrosti izvajanja glavnega programa ...................................................... 20
Slika 4.3: Programski del ki izvaja preračun položaja ............................................................... 21
Slika 4.4: Program za ročni pomik batnic ................................................................................. 22
Slika 4.5: Primer programa za eno izmed prog vodenja .......................................................... 24
Slika 5.1: Prehodi med okni za vodenje batnic......................................................................... 33
Slika 5.2: Začetni ekran ............................................................................................................. 34
Slika 5.3: Program ki se izvrši ob kliku na gumb »ROČNO VODENJE« ..................................... 35
Slika 5.4: Del programa, ki prikazuje vklop stikala za ročni pomik........................................... 36
Slika 5.5: Program za upravljanje s kurzorjem ......................................................................... 37
Slika 5.6: Branje in izpisovanje maksimalne in minimalne vrednosti tlaka .............................. 38
VIII
Slika 5.7: Koda, ki se izvrši ob pritisku tipke start .................................................................... 39
Slika 6.1: Regulacijska proga .................................................................................................... 41
Slika 6.2: Regulacijska proga hidravličnega servosistema ........................................................ 42
Slika 6.3: Zaprtozančno vodenje batnice valja [4] .................................................................... 43
Slika 6.4: Regulacija vrtljajev hidromotorja (levo), regulacija sile (desno) [4] ........................ 44
Slika 6.5: Shema PID regulatorja .............................................................................................. 44
Slika 6.6: Odziv na stopnico [5] ................................................................................................ 47
Slika 6.7: Tipičen sistem z mejno stabilnim odzivom [4] .......................................................... 48
Slika 6.8: Primer vzbujalnega in odzivnega signala CHR metode optimizacije [4] ................... 49
Slika 6.9: Karakteristični odziv, primeren za CHR metodo [4] .................................................. 49
Slika 6.10: Odziv s 25 % prenihajem ......................................................................................... 51
Slika 6.11: Odziv, ko povečamo integralni del.......................................................................... 52
Slika 7.1: Nastavitev pretoka in tlaka za izvedbo poskusov ..................................................... 53
Slika 7.2: Mejno stabilno stanje pri 140 bar in 15 L/min in vrednosti ojačenja 14,5 ............... 54
Slika 7.3: Mejno stabilno stanje pri 210 bar in vrednosti ojačenja 13 ..................................... 55
Slika 7.4: Začetek in konec periode pri tlaku 140 bar .............................................................. 56
Slika 7.5: Začetek in konec periode pri tlaku 210 bar .............................................................. 57
Slika 7.6: Odziv po optimizaciji po ZN metodi pri tlaku 140 bar .............................................. 58
Slika 7.7: Odziv po optimizaciji po ZN metodi pri tlaku 210 bar .............................................. 58
Slika 7.8: Odziv s 25 % prenihajem ........................................................................................... 59
Slika 7.9: Zmanjšanje statičnega pogreška ............................................................................... 60
Slika 7.10: Končni odziv ročno nastavljenega regulatorja ........................................................ 60
IX
KAZALO TABEL
Tabela 1: Velikost posameznih spremenljivk ........................................................................... 18
Tabela 2: Predlagani parametri po ZN metodi [4].................................................................... 48
Tabela 3: Parametri predlagani po CHR metodi [4] ................................................................. 50
Tabela 4: Vpliv regulacijskih konstant na odziv sistema .......................................................... 52
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
1
1 UVOD
Dandanes se v industrijskih procesih vse bolj uveljavlja avtomatizacija procesov. Namen
avtomatizacije je olajšati človeku delo, povečati produktivnost in kvaliteto izdelka ter
zmanjšati stroške izdelave izdelka. V industrijskih aplikacijah, kjer je potreba po velikih silah,
močeh in se hkrati zahteva možnost nastavljanja položaja, se uporabljajo elektrohidravlični
servosistemi. Servosistem je sistem, ki pretvarja šibkejši signal (običajno električni) v želeno
gibanje za katerega je potrebna večja moč. V primeru linearnih gibanj uporabljamo
elektrohidravlične servovalje (poimenovane tudi servo hidravlične valje).
Namen magistrskega dela je zasnovati in implementirati uporabniku prilagodljiv koncept
vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan
uporabniški vmesnik za vodenje servo hidravličnega valja.
Vodenje batnice valja je izvedeno s pomočjo hidravličnega servoventila, katerega krmilimo s
programirljivim logičnim krmilnikom. Glede na signale vgrajenih senzorjev je bilo potrebno
izbrati ustrezne module za zajem signalov in ustrezne module za krmiljenje servoventila.
Zasnovana in izdelana je bila električna povezava izbranih komponent. V programskem paketu
Microsoft Visual Studio in TwinCAT 3 je bilo načrtovanih več variant zaprtozančnega vodenja,
s pomočjo katerih so bili testirani različni parametri regulatorjev. Za hitrejšo in lažjo
nastavljanje parametrov regulatorja in nastavitev prog vodenja smo izdelali uporabniški
vmesnik. V uporabniški vmesnik smo implementirali tudi t.i. scope, ki omogoča grafični prikaz
dejanskega in želenega položaja ter hitrosti. Na koncu smo se spoznali z metodami
optimizacije regulatorjev in jih na našem sistemu tudi testirali.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
2
2 UPORABA IN ZGRADBA EH LINEARNIH SERVOOSI
Elektrohidravlični servosistemi se uporabljajo na različnih področjih industrije, za različne
namene. Uporabljajo se za preskušanje materialnih vzorcev, sistemov vzmetenja, v
simulatorjih letenja (slika 2.1) ter v industrijskih sistemih npr. rudarski stroji, stroji za brizganje
plastike, predelava kovin, robotika itd. Zaradi visokega razmerja moč-masa ter natančnega
nadzora, so pogosto uporabljeni tudi na letalih za premikanje vzletnih kril. V sistemih kjer
potrebujemo veliko moč (silo) in visoko pasovno širino delovanja bi lahko uporabili tudi
električne servosisteme, vendar bi imeli ti veliko slabši izkoristek. Sistemi, ki delujejo s
frekvenco več kot 20 Hz in močjo večjo od 15 kW je, iz praktičnih primerov gledano, najbolj
primerno načrtovati kot elektro-hidravlični sistem. Poleg tega, da hidravlični servosistemi
lahko premagujejo velike sile v kratkem časovnem intervalu imajo tudi druge prednosti v
primerjavi z električnim ali pnevmatičnim servosistemov. So zelo togi, kar se odraža v višji
lastni frekvenci ter s tem izboljšano dinamično zmogljivostjo. Prednost v primerjavi z drugim
sistemom je tudi v tem, da z delovnim medijem (npr. hidravličnim oljem) odvajamo toploto iz
valja ter ostalih komponent ter s tem hladimo sistem. Slabost teh sistemov pa so nelinearne
karakteristike (spreminjanje viskoznosti olja, tlačne konice…) kar otežuje vodenje oziroma
regulacijo aktuatorjev.
Slika 2.1: Simulator letenja izveden z elektrohidravličnim sistemom [18]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
3
2.2 Koncepti elektrohidravličnih sistemov
Aplikacije, ki jih želimo voditi z elektrohidravličnimi servosistemi so zelo različne, zato tudi
zahtevajo različne koncepte vodenja. Primer zasnove takšnega sistema, prikazan na sliki 2.2,
se npr. uporablja v letalski industriji, kjer sta zanesljivost in teža sistema ključnega pomena. Ta
je sestavljen iz elektromotorja ki poganja črpalko, valja ter hidravličnega akumulatorja, ki služi
kot shranjevalnik energije za primere v sili. V tem primeru je reguliran elektromotor, ki poganja
črpalko in ne servoventili kot je to v večini hidravličnih servosistemov. Da bi prihranili na masi,
se v takšnih sistemih ne uporablja klasičnega rezervoarja ter komponent za hlajenje
hidravlične tekočine.
Slika 2.2: Shema, kjer reguliramo vrtljaje elektromotorja [4]
Drugi, praktično pogosteje uporabljeni koncepti, izvajajo regulacijo aktuatorjev s
spreminjanjem pretoka na črpalki (slika 2.3) ali na servoventilu (slika 2.4). Glavna razlika med
tema sistema je v dovajanju energije do sistema. Koncept z nastavljivo črpalko uporablja za
dovajanje energije elektromotor, koncept s servoventilom pa tlak hidravlične tekočine.
Breme
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
4
Slika 2.3: Izvedba regulacije aktuatorja z regulacijo pretoka črpalke [4]
Slika 2.4: Izvedba regulacije aktuatorja s servoventilom [4]
Koncept, ki je zasnovan z regulacijo elektromotorja, ima v primerjavi s konceptom z nastavljivo
črpalko višji izkoristek (Slika 2.5). Oba koncepta sta testirana skozi celotno področje delovanja,
padec tlaka zaradi premika batnice pa je zajet v grafu kot padec izkoristka. Iz grafov je razvidno,
da ima sistem z regulacijo elektromotorja veliko večji izkoristek, zlasti v področju do 50 %
nazivnih vrtljajev elektromotorja. Slabost sistema ki krmili elektromotor pa je v tem, da pri
nizkih vrtljajih povzroča velike tlačne sunke kar povzroča nezaželene vibracije na aktuatorjih.
Breme
Vodenje
črpalke
Breme
Konstantni hidravlični tlak
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
5
Slika 2.5: Primerjava karakteristik različnih konceptov vodenja [4]
2.3 Primerjava servo pogonov
Različne industrijske panoge zahtevajo različne koncepte vodenje ter različne servo pogone. V
odvisnosti od tega kaj zahteva aplikacija, se odločimo med enim izmed treh najpogosteje
uporabljenih servo pogonov oz. sistemov; hidravlični, pnevmatični ali električni. Vsak izmed
teh sistemov ima določene prednosti in slabosti in so specifični za določena področja uporabe.
V nadaljevanju bodo ti primerjani med seboj. Dober servosistem odraža široko frekvenčno
področje, veliko togost ter natančnost. V določenih primerih je zahteva tudi po čim daljši
uporabni dobi ter teži. Najpomembnejša merila za izbor enega od teh treh servosistemov so:
zahteve sistema (natančnost, potrebna moč,…),
cena,
velikost in teža,
število obratovalnih ciklov,
vplivi okolja: vibracije, obratovalne temperature, elektromagnetne motnje itd.
Slika 2.6 prikazuje odvisnost moči od frekvenčne karakteristike za prej omenjene
servosisteme.
Odprtje pretoka črpalke [%] Vrtljaji elektromotorja [obr/min]
Izko
rist
ek [
%]
Izko
rist
ek
Regulacija elektromotorja Regulacija črpalke
Tlačna razlika: 15 MPa
Tlačna razlika: 15 MPa
Vrtljaji EM: 1500 obr/min
60
70
80
90
100
50
Izko
rist
ek [
%]
60
70
80
90
100
50
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
6
Aplikacije, katere zahtevajo manjše moči ter dinamične odzivnosti lahko zasnujemo tudi kot
elektro-pnevmatične ali elektro-mehanske servosisteme. V večini primerov je izbira sistema
odvisna od cene. Pnevmatični in mehanski servosistemi so cenejši, zato so tudi (v področju
manjših moči) večkrat uporabljeni v praksi.
2.4 Hidravlični sistem kot celota
Vsi hidravlični sistemi potrebujejo za delovanje tekočino, to je običajno hidravlično mineralno
olje. Črpalka, katero poganja električni motor, opravlja funkcijo črpanja olja iz rezervoarja v
sistem. Olje se tako pretaka z (bolj ali manj) konstantnim volumskim pretokom v sistem. Takoj
za črpalko je nameščen tlačni (imenovan tudi varnostni) ventil, ki regulira tlak v sistemu. V
primeru da je tlak večji od dovoljenega se odpre povezava varnostni ventil-rezervoar ter s tem
zmanjša tlak na želeno vrednost. S potnimi, tlačnimi in tokovnimi ventili nato preko gibkih ali
togih cevi reguliramo pretok ter tlak, in ga dovajamo do aktuatorjev. Aktuatorji so običajno
hidravlični valji, ki omogočajo linearne gibe, ali pa hidromotorji, ki omogočajo rotacijsko
gibanje. Shematski primer hidravličnega sistema je prikazan na sliki 2.7.
Mo
č [k
W]
Moč [kW]
Frekvenca [Hz]
Elektro-
pnevmatični sistemi
Elektro-mehanski
sistemi
Slika 2.6: Frekvenčne karakteristike različnih servosistemov [4]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
7
Slika 2.7: Shematski prikaz hidravličnega sistema [19]
2.5 Servoventil
Ključni gradnik vsakega zmogljivega hidravličnega servosistema je servoventil. Servoventil je
komponenta, ki pretvarja električni signal v hidravlično energijo s spreminjanjem pretoka ali
tlaka. V nadaljevanju bomo podrobneje opisali delovanje servoventila Moog G761 katerega
smo uporabili za izvedbo regulacije batnice valja. Shematični prerez uporabljenega
servoventila je prikazan na sliki 2.8. Servoventil je dvostopenjski, kar omogoča krmiljenje
hidravličnih aktuatorjev večjih moči z relativno šibkimi električnimi signali. Prva stopnja
(imenovana tudi krmilna) služi za premik drsnika ki se nahaja na drugi stopnji. Krmilna stopnja
je napajana s hidravlično tekočino preko dveh šob. Z dodatnima dvema šobama ter t.i. naletno
Hidravlični valj
4/3 Potni ventil
Tlačni ventil
Elektromotor Hidravlična
črpalka
Hidravlični
rezervoar Filter
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
8
ploščo (sistem šobi zaslonka) usmerjamo tok tekočine ter s tem drsnik, ki se nahaja na drugi
stopnji. Naletna plošča je preko tesnila povezan s kotvo, ki je vstavljena v navitji. Naletna
plošča tako služi kot pretvornik med hidravličnim in elektromehanskim delom. Princip
delovanja je sledeč: ko skozi navitji steče tok, to povzroči magnetno polje. Na kotvo, ki je
vstavljena v to navitje tako deluje sila, ki povzroči odklon kotve in s tem naletna plošča (ki je
pritrjen na kotvo). S tem, ko se naletna plošča premakne poveča pretok skozi eno izmed šob
in zmanjša pretok skozi drugo. Posledica je tlačna razlika na levi in desni strani drsnika. Drsnik
ventila se tako premakne in na eni strani vzpostavi povezavo aktuatorja s tlačno stranjo (P),
na drugi strani pa povezavo z rezervoarjem (T).
Slika 2.8: Prerez uporabljenega servoventila Moog G761 [20]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
9
3 ZASNOVA IN IZVEDBA OŽIČENJA
Za testiranje hidravličnega servosistema je bilo potrebno zasnovati in ožičiti električno krmilno
vezje. Za vodenje sistema smo izbrali krmilnik proizvajalca Beckhoff, ki s svojo modularno
gradnjo omogoča fleksibilnost in možnost nadaljnje nadgradnje sistema. Z enostavno
zamenjavo modulov za vodenje ali zajem podatkov, lahko tako sistem vodenja optimalno
prilagodimo svojim potrebam. Preverili smo signale senzorjev, ki jih želimo »brati«, ter signale
s katerimi vodimo servoventil. Glede na signale je bilo potrebno izbrati ustrezne module za
zajem in krmiljenje servoventila in po potrebi še druge elemente.
3.1 Beckhoff krmilnik
Za izvedbo regulacij in monitoring sistema smo izbrali Beckhoff-ov krmilnik serije CX5010. Za
razliko od drugih proizvajalcev PLK-jev, uporablja Beckhoff kot operacijski sistem Windows CE
ali Windows embedded standard (okrnjeni verziji Windows-a). To omogoča, da lahko Beckhoff
krmilnik upravljamo in programiramo brez potrebe po dodatnem računalniku. Za delovanje
uporablja Intel-ov 1.1 GHz procesor ter 512 MB RAM pomnilnika. Vmesniki, prikazani na sliki
3.1, omogočajo priklop računalniške miške, tipkovnice, monitorja, UTP kabla ter s tem
uporabo PLK-ja kot osebnega računalnika. Vsebujejo tudi serijski vmesnik, ki omogoča
gospodar/suženj komunikacijo. Na sprednji strani je dostopna pomnilniška kartica, ki se
uporablja za zagon in shranjevanje podatkov. Dodatni analogni in digitalni vhodi/izhodi se
lahko namestijo na desni strani (glej sliko 3.1) kjer ima PLK že predvidene kontakte za
napajanje modulov.
Slika 3.1: Uporabljen Beckhoff-ov krmilnik [14]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
10
3.2 Moog servoventil
Servoventilom proizvajalca Moog omogoča natančno regulacijo hidravličnega pretoka z
relativno malimi električnimi signali. Električni del je sestavljen iz dveh navitij skozi katera
poteka kotva (glej sliko 3.2). Na zgornji strani navitja je postavljen N magnetni pol, na spodnji
pa S pol magneta. S tem se kotva, v kolikor električen tok ne teče skozi navitje, samostojno
postavi v ničelni položaj. Navitji sta izdelani iz bakrene žice, kar pomeni da imata neko
električno upornost, ki se temperaturno spreminja, kar lahko pri različnih obratovalnih
temperaturah vodi do zapletov. Pri vodenju dinamičnih sistemov s frekvencami, ki so višje od
100 Hz se pojavi tudi problem z induktivnostjo navitij. Proizvajalec zato poda natančne
vrednosti upornosti navitja pri sobni temperaturi ter induktivnost tuljav pri frekvenci
delovanja nad 50 Hz.
Slika 3.2: Princip pomikanja drsnika v servoventilu [8]
Moog-ov servoventil omogoča več možnih priklopov na tuljave in s tem več različnih tokovnih
območij za vodenja. Možni priklopi so prikazani na sliki 3.3. Pri ožičenju smo uporabili
zaporedno vezavo, ki za krmiljenje potrebuje napajanje ±20 mA.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
11
Slika 3.3: Možne vezave tuljav v servoventilu [9]
3.3 Wago-v bipolarni izolacijski ojačevalnik
Za krmiljenje servoventila smo uporabili Beckhoff-ov modul EL4018 v kombinaciji z Wago-vim
bipolarnim izolacijskim ojačevalnikom, ki je prikazan na sliki 3.4. Modul EL4018 tvori analogne
izhodne signale od 0 do 20 mA z dvanajst bitno resolucijo. Ker Moog-ov servoventil za
krmiljenje potrebuje signal ±20 mA je bilo potrebno zaporedno vezati še Wago-v bipolarni
izolacijski ojačevalnik. To je elektronsko vezje, ki skalira vhodno električno veličino (tok ali
napetost) v želeno izhodno električno veličino. Ima več možnih izhodnih območij, katera lahko
poljubno nastavljamo s stikali na kartici. Ima tudi možnost nastavitve frekvence delovanja in
sicer območje frekvenčnega delovanja pod 100 Hz in območje frekvenčnega delovanja nad 5
kHz. V našem primeru smo nastavili izhodno območje ±20 mA ter frekvenco delovanja pod
100 Hz.
Slika 3.4: Wago-v bipolarni izolacijski ojačevalnik[15]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
12
3.4 Senzor pomika in hitrosti
Za merjenje pomika in hitrosti batnic valja smo uporabili senzor proizvajalca Temposonic.
Senzor za merjenje linearnih pomikov porablja magnetostrikcijski pojav. Magnetostrikcija je
pojav, pri katerem s pomočjo visokofrekvenčne izmenične napetosti prihaja do nihanja
debeline magneta, ki je pod vplivom magnetnega polja. Elektronika ki je nameščena v senzorju
pošilja v valovod tokovne pulze, ki povzročijo magnetne pulze. Na valovodu je nameščen
magnet, ki se ob sproženih impulzih fizično deformira. V točki, kjer se trenutno nahaja magnet
se magnetni polji seštejeta. Nastali magnetni impulz nato potuje dalje po valovodu, kjer nato
elektronika iz časovne razlike izračuna položaj magneta. Tovrstni senzorji so dokaj robustni
(elektromagnetno odporni, neobčutljivi na tresljaje…) zato se pogosto uporabljajo za merjenje
položaja bata (oz. batnice). Shematski prikaz delovanja senzorja je prikazan na sliki 3.5.
Slika 3.5: Princip delovanja senzorja pomika in hitrosti [21]
Magnet v obliki kolobarja (sestavni del merilnika položaja) smo namestili v batnico valja, ki se
med samim delovanjem pomika. Valovod in krmilno elektroniko pa smo namestili na pokrov
batnice ter ga zaščitili. Senzor omogoča merjenje absolutnega položaja z natančnostjo 0.0025
mm in merjenje hitrosti. Senzor ima tako dva 16 bitna analogna izhoda v območju 0 do 10 V.
Glede ne položaj magneta ustrezno skalira napetostni izhod (med 0 in 10 V) katerega smo
zajemali z Beckhoff-ovim analognim modulom EL3004. Modul L3004 je 12 bitni analogni vhod
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
13
ki zajema območje od 0 do 10 V. Za podajanje hitrosti pomika magneta senzor uporablja enako
napetostno območje (od 0 do 10 V). Ker se lahko senzor pomakne levo ali desno ima senzor,
ko je hitrost enaka nič, na izhodu 5 V napetosti. V odvisnosti ali se magnet pomakne levo ali
desno se vrednost zmanjša ali poveča. S tem lahko zaznavamo razen hitrosti tudi smer pomika.
Vgradnja senzorja v batnico valja je prikazana na sliki 3.6.
Slika 3.6: Vgradnja senzorja za detekcijo položaja batnice
3.5 Senzor tlaka
Za zaznavanje sprememb tlaka v komorah valja pri dinamičnih obremenitvah, tlačnih konic
črpalke in tlačnih padcev, smo pred in za servoventilom namestili po en senzor tlaka. Tlačna
senzorja delujeta v tlačnem območju 0 do 315 bar. Senzor nam na izhodu generira električni
signal od 4 do 20 mA. Pri tlaku 0 bar nam tako na izhodu generira tok 4 mA. To je pri industrijski
opremi pogosto, saj se s tem izognemo morebitnim elektromagnetnim motnjam ter s tem
napačnim meritvam. Tokovne signale tlačnih senzorjev smo zajemali z že prej omenjenim
modulom EL3048. Nameščena tlačna senzorja sta prikazana na sliki 3.7.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
14
Slika 3.7: Tlačna senzorja
3.6 Ožičenje
Zaradi varnostnih razlogov smo dodali tudi tipke za vklop/izklop posameznega valja in tipko za
zasilni izklop. Končni zunanji izgled elektro omarice je prikazan na sliki 3.8. Tipko za zasilni
izklop smo zaradi varnostnih razlogov namestili na vidno in hitro dosegljivo mesto. Pri tem
smo za tipke za vklop/izklop pomika valja uporabili tipke z normalno odprtim stikalom (NO),
za tipko za zasilni izklop pa smo uporabili normalno sklenjeno stikalo (NC). Za branje stanja
tipk smo uporabili modul EL1008, ki je prikazan na sliki 3.9. To je digitalni modul, ki vsake 3 ms
prebere stanja vhodov.
Tlačna senzorja
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
15
Slika 3.8: Namestitev krmilnih in varnostnih tipk
Slika 3.9: Digitalni modul ki prebira stanja stikal
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
16
Krmilnik in senzorje smo napajali z enosmerno napetostjo, ki smo jo iz omrežne napetosti
pridobili s pomočjo usmernika. Ta z integriranimi usmernimi diodami vezanimi v mostič
(Graetz-ov mostič) pretvarja sinusno izmenično napetost v 24 V enosmerno napetost. Za
vodenje aktuatorjev in branje stanj senzorjev in tipk smo zasnovali in izvedli električno
napeljavo. Posamezne krmilne kable smo sprva vezali na vrstne sponke in od tam do ustreznih
modulov. Vsi senzorji potrebujejo 24 V enosmerne napetosti, zato smo združili sponke s
potencialom 24 V ter sponke s potencialom 0 V ter s tem pridobili prostor za druge elemente.
Kabel kanala smo namestili na skrajno levo in desno stran v elektro omarici. Pri tem smo po
desnem kabel kanalu položili kable s šibkimi signali, po levem kabel kanalu pa napetostne,
napajalne kable. S tem smo ločili močnostni in krmilni del ter onemogočili nastanek motenj
močnostnega dela na krmilne signale. Končni izgled notranjosti elektro omarice je prikazan na
sliki 3.10.
Slika 3.10: Izgled notranjosti elektro omarice
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
17
4 SNOVANJE SISTEMA VODENJA
Ko smo sistem ožičili in preverili ustreznost signalov, smo se lotili zasnove programa za
vodenje. Izdelali smo več zaprtozančnih variant - prog vodenja, na katerih so bili testirani
različni parametri regulatorjev. Za hitrejšo in lažjo nastavljanje parametrov regulatorja in
nastavitev proge vodenja smo izdelali ustrezni uporabniški vmesnik. V uporabniški vmesnik
smo implementirali tudi t.i. »scope«, ki omogoča grafični prikaz dejanskega, želenega položaja,
hitrosti,… V tem poglavju je podrobneje predstavljena krmilna koda in opisane proge vodenja
ter programska okolja ki so bila uporabljena.
4.1 Programsko okolje
Podjetje Beckhoff je v letu 1986 razvilo računalniški program TwinCAT (The Windows Control
Automation Technology) z namenom, da bi standardizirali sisteme namenjene vodenju
procesov, ki bazirajo na osebnih računalnikih. Beckhoff tako ponuja na tržišču PLK-je ki imajo
pred naložen Windows operacijski sistem (v našem primeru Windows embedded standard).
Tako omogočajo uporabo PLK-ja kot osebni računalnik, hkrati pa v ozadju deluje program za
vodenje procesa. Ker je procesorska moč PLK-ja omejena, je potrebno predvideti in nastaviti
del procesorja, ki bo uporabljen za krmiljenje procesa. V okviru magistrskega dela smo
uporabili programsko opremo TwinCAT 3. Ta podpira objektno orientiran standard IEC 61131-
3 za programiranje PLK-jev v petih programskih jezikih:
LD – lestvični diagram,
FBD – Funkcijski blokovni diagram,
IL – instrukcijska lista,
SFC – sekvenčno funkcijski diagram,
ST – strukturiran tekst.
Poleg tega omogoča tudi programiranje v programskih jezikih C/C++, ter možnost vgraditve
TwinCAT 3 v MATLAB/Simulink. Novost programa TwinCAT 3 je tudi razširitvena verzija
TwinCAT 3 XAE, ki omogoča implementacijo TwinCAT programa v programsko okolje
Microsoft Visual Studio, v katerem smo tudi izdelali krmilni program ter uporabniški vmesnik.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
18
4.2 Vzpostavitev komunikacije in konfiguracija krmilnika
Na namiznem računalniku je že bil naložen Microsoft Visual Studio, potrebno pa je bilo
integrirati razširitveno verzijo TwinCAT XAE. Za vzpostavitev povezave med krmilnikom in
namiznim računalnikom je bilo potrebno oba povezati v isto omrežje. Da smo lahko upravljali
s PLK-jem preko mreže, smo morali na PLK namestiti TwinCAT 3 runtime. Ta omogoča izvajanje
regulacij v realnem času, kjer so lahko posamezni moduli naloženi, izvajani ali administrirani
preko omrežne povezave. Ko smo na PLK in namizni računalnik namestili programsko opremo
smo v Microsoft Visual Studio ustvarili nov TwinCAT projekt. Pri kreiranju novega projekta se
nam v mapi PLC odpre več podmap. Za nas pomembni mapi sta GVL (ang. Global variables list)
kjer lahko kreiramo globalne spremenljivke in POU (ang. Program organization unit) kjer
kreiramo program v želenem programskem jeziku (LD, FBD, IL, SFC ali ST). V mapi POU lahko
kreiramo tudi lokalne spremenljivke. Tabela 1 predstavlja tipe spremenljivk ki jih programski
paket TwinCAT omogoča.
Tabela 1: Velikost posameznih spremenljivk
Tip Spodnja meja Zgornja meja Uporaba pomnilnika [bit]
BOOL 0 0 1
BYTE 0 255 8
WORD 0 65535 16
DWORD 0 4294967295 32
SINT -128 127 8
USINT 0 255 8
INT -32768 32767 16
UINT 0 65535 16
DINT -2147483648 2147483647 32
UDINT 0 4294967295 32
REAL -3.402823 x 1038 3.402823 x 1038 32
LREAL -1.7976931348623E308 1.7976931348623E308 64
STRING / Odvisno od dolžine string-a
TIME T#0ms T#71582m47s295ms 32
TIME_OF_DAY TOD#00:00 TOD#1193:02:47.295 32
DATE D#1970-01-01 D#2106-02-06 32
DATE_AND_TIME DT#1970-01-01-00-00:00
DT#2106-02-06-06:28:15
32
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
19
Za tipke in zasilni izklop smo uporabili spremenljivke BOOL. Za branje podatkov senzorjev iz
AD modulov smo uporabili spremenljivke tipa INT. Programsko okolje TwinCAT omogoča
samodejno iskanje strojne opreme (dodanih modulov) na EtherCAT vodilu. Prej definirane
spremenljivke je bilo potrebno dodeliti ustreznim fizičnim naslovom. Programsko povezovanje
spremenljivke položaj z ustreznim vhodnim signalom je prikazano na sliki 4.1.
Slika 4.1: Spremenljivka za branje trenutnega položaja
V datoteki »system« smo nastavili čas izvajanja opravila na 1 ms ter nastavili vsake koliko ciklov
se naj izvede naše opravilo (program). Naše opravilo se bo izvedlo vsak cikel, torej enkrat na
ms. Nastavitev časa izvajanja in frekvence izvajanja opravila je prikazano na sliki 4.2.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
20
Slika 4.2: Nastavitev hitrosti izvajanja glavnega programa
Naslednji korak je bil kreiranje programa, ki nam zajete signale položaja batnice (oz. bata)
pretvori v skalirane vrednosti naših spremenljivk, npr. vrednost položaja izraženega v mm.
Pomik batnice valja je bil definiran kot spremenljivka tipa INT in ima vrednosti od 0 do 32767.
Za nas lažje berljiv podatek je podajanje v milimetrih, zato je bilo potrebno zajeti podatek
skalirati. Pri poskusu premika batnice iz ene v drugo skrajno lego smo ugotovili, da batnica pri
premiku ne zajame celotnega merilnega območja senzorja. t.i. mrtvo območje, ki je obsegalo
430 pulzov na desnemu valju in 190 pulzov na levemu valju, smo tako na začetku programsko
odšteli. Nato smo s pomičnim merilom izmerili pomik batnice iz ene skrajne lege v drugo in
dobili pomik 112 mm. Programski izračun iz električnih impulzov v pomik batnice, ki je podan
v milimetrih je prikazan na sliki 4.3. Uporabnik bo imel v uporabniškem vmesniku možnost
izbire, kateri valj želi voditi. Glede na izbrani valj se bo v programski kodi preklopil kontakt
»PREKLOP«. S tem se omogoči preračun položaja za izbrani valj. Preračun obeh valjev se shrani
v isto spremenljivko, kar poenostavi programiranje vizualizacije. Brani podatki so tipa INT,
torej celoštevilčni. Ker želimo brati položaj z natančnostjo 0,1 mm smo morali spremenljivko
pretvoriti v tip LREAL.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
21
Slika 4.3: Programski del ki izvaja preračun položaja
Tudi hitrost pomika batnice je podana v vrednostih od nič do 32767. Ko se batnica ne pomika,
je vrednost na senzorju enaka 16383 (polovica maksimalne vrednosti). Ko se batnice pomakne
v eno ali drugo stran začne vrednost padati ali naraščati, kar je odvisno od smeri pomika. S
tem lahko zaznavamo smer pomika in hitrost. Podobne preračune je bilo potrebno izvesti tudi
za tlačna senzorja. Tudi za krmiljenje servoventila smo uporabili spremenljivko tipa INT. Pri
tem je vrednost 0 predstavljala popolnoma odprt ventil za dotok v komoro A, vrednost 32767
pa je predstavljala popolnoma odprt ventil za dotok v komoro B. Teoretično naj bi vrednost
16383 na ventilu zaustavila pretok v obe komori in s tem bi batnica stala na trenutnemu
položaju. Zaradi notranje lekaže, nesimetričnosti izdelave, različnega trenja ter drugih vplivov
in nelinearnosti se lahko kljub ustreznemu električnemu signalu batnica počasi pomika v
določeno smer. To smo rešili z nastavitvijo mehanske ničle na servoventilu in uporabe
regulatorjev. Tudi odprtje servoventila smo programsko skalirali na vrednost 0 do 100 %.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
22
4.3 Zasnova programov vodenja
Ko smo signale, ki jih želimo zajemati ustrezno konfigurirali in skalirali, smo začeli s snovanjem
programov vodenja. Sprva smo zasnovali program za ročni pomik batnice. Tega smo zasnovali
v lestvičnem programu. Na grafičnem vmesniku smo kreirali tipke za pomik navzven in
navznoter. Ob pritisku teh tipk in ob pogoju, če je hkrati vklopljeno stikalo za pomik želenega
valja, se na servoventil s pomočjo bloka MOVE zapiše določena vrednost. V primeru, ko se valj
pomakne navznoter je vrednost na servoventilu 11383, v primeru ko se pomakne navzven
znaša vrednost 21383. Program za ročni pomik je prikazan na sliki 4.4. V primeru, ko ni
pritisnjena nobena tipka se batnice ne sme premikati, zato na servoventil pripišemo nevtralno
vrednost, torej 16383.
Slika 4.4: Program za ročni pomik batnic
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
23
Za namene testiranj smo s pomočjo implementiranih generatorjev signalov zasnovali več
različnih trajektorij za vodenje batnice valja. Zasnovali smo proge za sinusni, stopnični, S-
trajektorijo in trajektorijo v obliki rampe. Zaradi preglednosti programa smo posamezne proge
zasnovali s SFC programskim jezikom. Ta omogoča grafični pristop k strukturiranju kode in s
tem preglednost. S klikom na SFC smo generirali podprograme za preračun položaja, PID blok,
generatorje, zapisali začetne parametre itd. Definiranje lokalnih spremenljivk in zapis začetnih
vrednosti smo definirali v podprogramu kot strukturiran tekst (ang. okrajšava ST), krmilno
logiko pa smo zasnovali z lestvičnim diagramom (ang. okrajšava LD). Primer programa in nekaj
izmed podprogramov je prikazan na sliki 4.5. Program se izvaja ciklično, od zgornjega do
spodnjega podprograma. Posamezne trajektorije vodenja so različno programsko zasnovane,
principielno pa vse delujejo po istem principu. V prvem podprogramu so vpisane začetne
vrednosti spremenljivk, ki so uporabljene tudi v uporabniškem vmesniku. Ker uporabnik pri
zagonu programa še ni definiral želene parametre za izvedbo giba batnice (želen končen
položaj, frekvenca, hitrosti itd.) so v tem programu vpisane začetne vrednosti za te parametre.
Ko uporabnik v uporabniški vmesnik vpiše nove želene parametre, se prvotno definirane
vrednosti prepišejo. Sledi blok »Init« v katerem smo definirali parametre regulatorja ter
generatorjev trajektorij. Regulatorji in generatorji trajektorij sprejmejo kot vhodni parameter
le eno spremenljivko, v katero je potrebno zapisati več podatkov. Na sliki 4.5 je prikazano kako
v eno spremenljivko (v tem primeru »stParams«) zapišemo več parametrov (podani v bloku
»Init«). Ta spremenljivka se kasneje uporablja kot vhodni parameter v generator trajektorije,
prikazan v bloku »GENERATOR«. Ko uporabnik v uporabniški vmesnik vpiše npr. želen položaj,
hitrost, itd. je to potrebno skalirati v ustrezne vrednosti. To se preračuna v bloku
»PRERAČUN«. Sledi blok, v katerem se nahaja generator trajektorije. Generator trajektorije se
sproži le, ko je aktivna spremenljivka »START_REG_HITROSTI«. Ta spremenljivka je povezana
z uporabniškim vmesnikom, in sicer z gumbom, ki zažene test. Sledi blok »PID1«, v katerem se
nahaja regulator, ki primerja želeno in dejansko vrednost ter tvori na izhodu nek signal. Izhodni
signal je potrebno še ustrezno skalirati, da ga lahko uporabimo za vodenje servoventila.
Skaliranje signala se vrši v bloku »IZHOD«. Podprogrami, v katerih so zapisani parametri
regulatorja, generatorja in začetne vrednosti so definirani kot strukturiran tekst, ostali so
definirani kot lestvični diagram.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
24
Slika 4.5: Primer programa za eno izmed prog vodenja
Poleg programov za vodenje proge smo zasnovali tudi program za nastavitev pretoka in tlaka
v hidravličnem sistemu. Program smo zasnovali po sklopih; posamezni sklopi so predstavljeni
na sliki 4.5. Takšna struktura programa nam omogoča, da izvajamo le en sklop programa in se
s tem izognemo nepotrebnemu obremenjevanju procesorja. Na koncu smo dodali še program
in ga naslovili z »main« (slika 4.6). V tem programu smo izvedli programsko zanko, kjer lahko
z izbiro številke zaženemo določen program. Zagon in zaustavitev posameznih programov se
tako vrši z odprtjem ali zaprtjem določenih oken v uporabniškem vmesniku. Npr. v primeru,
ko uporabnik želi spremljati in nastavljati parametre za izvršitev stopničnega odziva, se zažene
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
25
program s številko štiri. Programi za preračunavanje položaja, delovanje črpalke in zasilni izkop
smo definirali izven zanke, torej se izvajajo permanentno.
4.31 Zasnova proge s sinusnim generatorjem
Progo s sinusnim generatorjem smo zasnovali kot SFC program, ki je prikazan na sliki 4.7.
Uporabljen regulator in sinusni generator že pred začetkom testa potrebujeta definirane vse
parametre, zato smo v prvem bloku definirali te parametre, ki pa kasneje za izvajanje testa
niso pomembni (oz. se spremenijo na vpisane vrednosti uporabnika). Drugi blok izvede pomik
v izhodiščno točko. Kot izhodiščno točko smo izbrali polovico maksimalnega giba batnice, kar
omogoča testiranje sinusa z maksimalno možno amplitudo. Program za premik je prikazan na
sliki 4.8. Spremenljivka »IZHODISCNA_POZICIJA« omogoči premik v izhodišče. Ko je premik
omogočen se primerja trenutna vrednost položaja (ki je od 190 do 32767) z vrednostjo, ki
ustreza polovici maksimalnega hoda batnice (16383). V primeru, ko je vrednost večja, se mora
batnica pomakniti navznoter in obratno. Pri tem moramo upoštevati tudi, da sta pritrdilni
plošči za servoventila zasnovani tako, da enak signal na servoventilih izvrši obratna giba
batnice. Npr., če na oba servoventila zapišemo signal z vrednostjo 14500, se bo na prvem
(desnem) valju batnica pomaknila navznoter, na drugem (levem) pa se bo batnica pomaknila
navzven. Uporabnik lahko v uporabniškem vmesniku izbira kateri valj bo vodil. Izbira je
povezana s spremenljivko »PREKLOP«. Torej, če je položaj batnice desnega (prvega) večja kot
polovica (16383) in je izbrano vodenje desnega valja (»PREKLOP«) se na servoventil zapiše
Slika 4.6: Levo - vsi programi, desno - Glavni (main) program
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
26
vrednost 14500. Ta vrednost povzroči premik batnice noter. Ko batnica doseže položaj 16433
(približno polovica hoda) se na servoventil zapiše vrednost 16383. Ta vrednost ustavi gib
batnice valja.
Slika 4.7: Prikaz posameznih podprogramov za sinusno progo vodenja
V blok z imenom »SINUS1« smo vstavili sinusni generator. Ta lahko na izhodu tvori sinusni,
žagasti ali trikotni signal. Pri vstavitvi bloka v program mu je bilo potrebno definirati tip signala
(sinusni), amplitudo, nihajni čas in fazni zamik. Te parametre smo definirali v bloku »Init« in
Pomik v izhodišče (A)
Preračun želenih veličin
PID regulator
Skaliranje vrednosti za vodenje servoventila
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
27
sicer tako, da smo na začetku vsake spremenljivke vpisali SINUS, ter nato ime spremenljivke.
Vsi ti parametri se zapišejo v spremenljivko »SINUS«, katero smo povezali z vhodom
signalnega generatorja. Za tip signala in fazni zamik smo vpisali fiksni vrednosti, nihajni čas in
amplitudo pa smo definirali kot spremenljivki. Ti spremenljivki smo kasneje povezali z
uporabniškim vmesnikom, kjer jih bo uporabnik lahko poljubno spreminjal. Podobno kot za
sinusni generator smo definirali tudi parametre za uporabljen blok regulatorja. Zaradi večje
preglednosti uporabnik vpiše frekvenco, ki se nato preračuna v nihajni čas. Prav tako
amplitudo vpiše v enoti milimeter, ki se nato skalira v vrednost od nič do 16383. Omenjena
preračuna se izvajata v bloku »PRERACUN«. S skaliranjem v to območje lahko z izhodnim
signalom generatorja neposredno krmilimo servoventil. Generatorju sinusnega signala smo
dvignili vrednost nihanja na 16385 (navadno niha okoli vrednosti 0). S tem na izhodu tvori
signale med vrednostmi od 0 do 32767, katere smo pripeljali na vhod PID bloka. Ta primerja
želeni in dejanski položaj in na izhodu tvori ustrezno vrednost.
Slika 4.8: Program za pomik batnice v izhodiščni položaj
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
28
4.32 Trapezni trajektorija proge
Trapezno trajektorijo proge smo generirali s pomočjo t.i. ramp generatorja. Uporabnik bo na
grafičnem vmesniku vpisal želeni končen položaj, čas vzpona (ali hitrost vzpona), generator pa
bo sam generiral potrebno hitrost ali čas vzpona. Potek hoda batnice poteka na sledeč način.
Batnica valja se najprej pomakne v želen položaj A. Uporabnik nato vpiše želen položaj B ter
čas ali hitrost za pomik v točko B. V primeru, da želi hitrostno voditi batnico iz položaja A v B,
mora uporabnik to ustrezno označiti (obkljukati) na uporabniškem vmesniku. Valj nato za
časovni interval T2 ostane na tem položaju, nato pa se z isto hitrostjo pomakne do začetnega
položaja A. Ker gre tudi tukaj za zaprtozančno vodenje, smo izhod generatorja pripeljali na
vhod PID bloka. Ta primerja dejansko in želeno (signal iz generatorja) vrednost in glede na
velikost pogreška in posamezne parametre regulatorja na izhodu tvori ustrezen signal s
katerim krmilimo servoventil. Shematski prikaz trajektorije gibanja batnice je prikazan na sliki
4.9.
Slika 4.9: Trapezni profil gibanja batnice
4.33 Stopnični odziv
Za namene preskušanja odzivnosti sistema in določanja parametrov smo zasnovali tudi
odprtozančni in zaprtozančni stopnični odziv. Pri stopničnem odzivu uporabnik določi začetni
in končni položaj ter odprtje ventila. Iz dobljenega odziva se nato odčitajo želeni parametri
(prenihaj, dušenje, čas vzpona,...) s pomočjo katerih lahko izračunamo optimalne vrednosti
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
29
posameznih členov regulatorja. Za generiranje stopnice nismo uporabili generatorja, ampak
odprtje ventila (ki ga uporabnik vpiše v procentih) ter z množenjem skalirali na ustrezno
vrednost s katero vodimo servoventil.
4.34 Zasnova S-trajektorije proge
Pogosto industrijske aplikacije zahtevajo počasni začetni in končni del giba, kot tudi nastavitev
maksimalne hitrosti in pospeška. Trajektorija, kjer imamo počasnejši začetni in končni del giba
tako dobi obliko, podobno črki S. TwinCAT že ima implementiran generator za tvorjenje
trajektorije s počasnim zagonom in zaustavitvijo. Pri tem lahko uporabnik vpiše maksimalen
pospešek, pojemek, hitrost ter želen končen položaj. Primer tako generirane trajektorije je
prikazan na sliki 4.10.
Slika 4.10: Trajektorija, ki jo tvori generator
Potek programiranja je bil podoben kot pri prejšnjih progah vodenja. Kreirali smo
spremenljivke za hitrost, pospešek, pojemek in končen položaj. Te spremenljivke se iz
uporabniškega vmesnika zapišejo na PLK, kot vhod v generator. Izhod generatorja je povezan
z vhodom PID regulatorja. Ta primerja dejanski in želeni položaj batnice in na izhodu tvori
krmilni signal za vodenje servoventila.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
30
4.4 Uporaba implementiranega PID regulatorja
Programski paket TwinCAT ima za namen splošnih regulacij vgrajen blok z imenom
FB_CTRL_PID. Pri konfiguraciji bloka lahko s spreminjanjem parametrov »bPInFeedbackPath«
in »bDInFeedbackPath« izberemo poljubne kombinacije posameznih členov regulatorja. S
preklopom teh dveh parametrov lahko vklopimo posamezen člen (P, I in D člen) regulatorja. V
našem primeru bomo uporabljali vse tri člene, zato smo oba parametra definirali kot FALSE,
kar prikazuje slika 4.11. V primeru, da bomo želeli uporabljati le en člen, bomo ostala dva
postavili na vrednost nič.
Slika 4.11: Konfiguracija regulacijskega bloka
Prenosno funkcijo regulatorja smo z izbiro parametrov definirali kot:
𝐺𝑃𝐼𝐷(𝑠) = 𝐾𝑃(1 +1
𝑇𝑛𝑠+
𝑇𝑣𝑠
1+𝑇𝑑𝑠) (4.1)
Bloku je bilo potrebno definirati še čas izvajanja opravila (programa) ter čas izvajanja bloka.
Oba parametra smo definirali na najmanjšo možno vrednost, torej eno milisekundo. Vrednosti
za posamezne člene regulatorjev smo definirali kot spremenljivke »KI«, »PD«, »TN« in »TD«.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
31
Regulatorju smo izhodne limite postavili na vrednosti 16383 in -16383. S temi vrednostmi
lahko neposredno krmilimo servoventil. S parametrom »PID_EMODE« smo aktivirali
(spremenljivki smo pripisali vrednost 2) ali zaustavili (spremenljivki smo pripisali vrednost 0)
aktivnosti regulatorja. Vse zgoraj omenjene parametre smo definirali tako, da smo pred
spremenljivkami zapisali PID, kot je prikazano na sliki 4.12. S tem se vsi parametri zapišejo v
eno spremenljivko (PID), katero smo povezali z vhodom v blok regulatorja. Na vhod
»fSetpoinValue« pripeljemo želeno vrednost, ki je v našem primeru vrednost iz generatorja
poti. Na vhod »fActualValue« pa pripeljemo dejansko vrednost, torej trenutni položaj batnice.
Izhod regulatorja »fOut« nam tvori krmilni signal, katerega pripišemo na servoventil.
Regulacijski blok s pripadajočimi vhodnimi in izhodnimi spremenljivkami je prikazan na sliki
4.13.
Slika 4.12: Spremenljivke definirane v regulacijskem bloku
Slika 4.13: Uporabljen PID regulacijski blok
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
32
4.5 Grafični prikaz odzivov
Za namene testiranja različnih prog (oz. trajektorij), z različnimi parametri regulatorja, smo
dodali vizualizacijo posameznih signalov. Za vizualno predstavitev izbranih signalov v
odvisnosti od časa ima TwinCAT na razpolago dodaten modul TwinCAT Scope View. Scope
View smo prenesli iz Beckhoff-ove spletne strani in ga namestili kot dodatek v Microsoft Visual
Studio. Pred začetkom uporabe smo v zavihku »SYSTEM« - »Licence« aktivirali začasno licenco.
Za vsako progo, ter za stanja tlačnih senzorjev, smo kreirali svoj graf, skupno torej šest grafov.
Na abscisni osi grafa smo nastavili prikazovanje časa za interval 10 sekund. Signal iz PLK-ja, ki
smo ga želeli opazovati smo povezali z ordinatno osjo. To smo storili z desnim klikom na
»Axis«, nato smo izbrali ciljni objekt »CX-1B8066« in v tej mapi izbrali spremenljivko ki smo jo
želeli izrisovati na grafu. Izrisane vrednosti so v našem primeru bili signali iz generatorjev
(želeni položaj, hitrost) in položaj batnice valja (dejanski položaj, hitrost) ali signali iz tlačnih
senzorjev. V drevesu pod zavihkom »Axis« so se pojavile izbrane spremenljivke. S klikom na
te, smo dodali še fiksno skalo na ordinatni osi ter vizualno uredili graf (barva izrisa vrednosti,
barva ozadja…). Grafi omogočajo prikaz izbranih signalov v realnem času. Za prikaz tega smo
vzpostavili povezavo s PLK-jem ter se vpisali kot administrator. Po kliku na tipko »record« se
začnejo izrisovati vrednosti izbranih spremenljivk. Primer izrisa grafa je prikazan na sliki 4.14.
Slika 4.14: Primer uporabe scope view
Po
loža
j [m
m]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
33
5 UPORABNIŠKI VMESNIK
Uporabljen PLK ima naložen operacijski sistem Windows embedded standard, zato smo se
odločili, da uporabniški vmesnik zasnujemo v programskem jeziku C#, ki je oblikovan za delo z
Microsoftovo .NET platformo. Ta omogoča kreiranje Windows aplikacije, ki jo lahko
namestimo na PLK-ju. Izdelava aplikacije poteka tako, da v začetno okno iz knjižnic vstavljamo
osnovne elemente, na primer gumbi, vpisna ali izpisna okna, grafi… S klikom na dodane
elemente se nam odpre okno, kjer lahko z ukazi izvedemo neko akcijo, ki je povezana z
dodanim elementom. Akcija je v tem primeru lahko izpis vrednosti spremenljivke, pritisk
gumba in podobno. Programiranje vizualizacije smo prav tako kot program za PLK zasnovali v
programskem paketu Microsoft Visual Studio. Začeli smo s kreiranjem nove Windows
aplikacije v obliki WPF forme, kjer smo za platformo izbrali .NET framework 4. Kreirali smo
devet oken, kjer smo prehode med njimi zasnovali kot to kaže slika 5.1.
Začetni ekran
Ročno vodenje Odprtozančno
vodenje
Nastavitve
črpalke
Zaprtozančno
vodenje
Stopnični
odziv
Stopnični
odziv
Sinus Rampa S-trajektorija
Slika 5.1: Prehodi med okni za vodenje batnic
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
34
5.1 Kreiranje oken in povezovanje spremenljivk
V kreirana okna smo vstavili gumbe, s klikom na le-te se odpirajo nova okna in/ali zapisujejo
določene vrednosti na krmilnik. Uporabniški vmesnik in krmilnik morata komunicirati in si
izmenjevati določene podatke. Iz uporabniškega vmesnika se ob pritisku gumbov na krmilnik
zapišejo določene vrednosti v spremenljivke, uporabniški vmesnik pa bere vrednosti
spremenljivk in jih izrisuje na graf. Za izmenjavo podatkov med njima, smo v projekt
implementirali program, ki omogoča pošiljanje in sprejemanje spremenljivk tipa integer, ki je
velikosti 16 bit. Iz uporabniškega vmesnika na krmilnik smo omogočili zapisovanje
spremenljivk tipa bool in double. Za branje in zapisovanje spremenljivk smo definirati port
(851) in dodelili IP krmilniku. Ker se izmenjava podatkov vrši ves čas, smo program za branje
in pisanje spremenljivk dodali kot vir (v mapo »resources«). V začetni ekran smo vstavili štiri
gumbe, ki omogočajo odprtje novih oken (slika 5.2).
Slika 5.2: Začetni ekran
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
35
Akcije, katere želimo da se izvršijo ob pritisku gumba definiramo tako, da kliknemo na izbran
gumb, odpremo zavihek »properties«, v polje »click« vnesemo ime gumba in pritisnemo tipko
enter. Odpre se nam okno kjer lahko vpišemo želene akcije. Na sliki 5.3 je prikazan primer
programa, ki se izvrši ob proženju gumba »Ročno vodenje«. Ob pritisku na to tipko se skrije
trenutno okno in odpre okno za ročno vodenje. Na krmilnik se v spremenljivko »command«
zapiše vrednost 1. S tem se na krmilniku sproži sklop programa s številko ena, torej program
za ročno vodenje batnice valja.
Slika 5.3: Program ki se izvrši ob kliku na gumb »ROČNO VODENJE«
Za vsako progo vodenja smo izdelali uporabniški vmesnik, ki omogoča nastavitev parametrov
vodenja in izris grafa položajev in tlakov v odvisnosti od časa. Izdelava in programiranje
uporabniškega vmesnika je za vse trajektorije podobno, zato je v nadaljevanje opisana izdelava
le za eno trajektorijo, to je S-profil trajektorije.
V desni zgornji kot ekrana smo locirali tri »luči«, ki signalizirajo stanja tipk za krmiljenje valjev
ter tipko za zasilni izklop. Če sta tipki za krmilje izklopljeni, se obarvata sivo, prav tako se ob
vklopu luč za zasilni izklop obarva sivo. Če se katerikoli tipki spremeni krmilni kontakt, se prav
tako obarva sivo. Obarvanje smo izvršili tako, da smo vstavili dve luči enakih velikosti na isti
položaj. Sivo barvo luči smo postavili v ozadje, tako da so bile vidne luči zelene in rdeče barve.
Preklop med lučmi smo izvršili s prikazovanjem in skrivanjem slik luči. Ob izklopu tipke se slika
zelene luči skrije, slika sive luči pa prikaže. Zaradi omejene procesorske moči PLK-ja smo branje
stanj tipk izvedli vsakih 100 milisekund. To smo storili tako, da smo v okno vstavili časovnik in
mu nastavili interval 100 milisekund. Program za prikazovanje in skrivanje slik krmilnih luči
smo napisali znotraj kode časovnika in je prikazan na sliki 5.4.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
36
Slika 5.4: Del programa, ki prikazuje vklop stikala za ročni pomik
V S-trajektorijo proge smo vstavili dva grafa. Zgornji izrisuje dejansko hitrost, želeno hitrost,
dejanski položaj in želeni položaj. Spodnji graf izrisuje trenutno stanje tlačnih senzorjev. Za
izris grafov smo uporabili knjižnico »ScopeViewControl«. Knjižnica omogoča izris grafov, ki
smo jih konfigurirali in namestili na krmilnik s programom TwinCAT. Knjižnico smo dodali z
desnim klikom v »toolbox« in nato »choose items«. Poiskali smo datoteko, kjer smo namestili
TwinCATscope in izbrali datoteko »TwinCAT.Scope2.View.Control.dl«. Dodano knjižnico je bilo
potrebno še omogočiti (obkljukati) in v zavihku »toolbox« se je pojavil simbol
»ScopeViewControl«. Programiranje tega se vrši podobno kot za gumbe. Knjižnico torej
povlečemo v okno in s klikom nanjo se nam odpre programsko okno, kjer zasnujemo program.
Graf, ki smo ga kreirali v programu TwinCAT se je shranil v datoteko, lokacijo te datoteke pa je
potrebno definirati tudi v programu za uporabniški vmesnik. S klikom na polje
»ScopeViewContol« se nam odpre polje, kjer smo vpisali lokacijo posameznih grafov prog
vodenja. Programska oprema TwinCAT ima že pripravljene programe za odpiranje, začetek in
zaustavitev izrisovanja grafov, katere smo dodali v programsko polje »ScopeViewControl«.
Programa za začetek in zaustavitev izrisovanja sta relativno obsežna in se morata večkrat
izvesti, zato smo jih definirali kot funkcije. S tem smo lahko programa zagnali z vpisom funkcije
in ni bilo potrebno ponovno vpisati celotnega programa, kar pripomore k preglednejši
programski kodi. Ker grafi zajemajo relativno veliko število podatkov, smo ob startu testa graf
ponovno začeli izrisovati. S tem smo podatke, ki so se izrisali do tedaj, izbrisali. Odpiranje in
začetek izrisovanja grafov se začne, ko odpremo okno z opazovano progo. Ko pa vpišemo
parametre in zaženemo test, se trenutni podatki izbrišejo in graf se začne ponovno izrisovati.
V graf, ki prikazuje položaja in hitrosti smo za lažje odčitavanje podatkov dodali kurzor. Tudi
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
37
za kurzor ima TwinCAT že pripravljeno programsko kodo, katero smo morali prilagoditi našim
potrebam. Dodatno smo sprogramirali kodo, ki izračunava in izpisuje razliko med dejanski in
želeni položaj ter hitrostjo. Za kreiranje kurzorja smo v okno povlekli knjižnico
»DataGridView«, z desnim klikom na njo in izbiro »add collumn« pa dodali spremenljivke
katerim želimo odčitavati vrednosti. Uporaba kurzorja med izrisovanjem grafa ni smiselna,
zato smo ob grafu dodali gumb, ki zaustavi izrisovanje grafa. V okno smo vstavili gumb, v
programsko polje gumba pa smo vpisali program, ki zaustavi izrisovanje grafa. Dodali smo tudi
gumb za upravljanje kurzorja. V programsko polje gumba smo kopirali za ta namen zasnovano
kodo, ki jo ponuja proizvajalec. Dodatno smo sprogramirali in dodali spremenljivki ki
predstavljata razliko med dejansko in želeno hitrostjo in položajem. Del programa za izpis
vrednosti kurzorja je prikazan na sliki 5.5.
Slika 5.5: Program za upravljanje s kurzorjem
Za analizo dobljenih odzivov sistema smo dodali gumb, ki omogoča shrambo izrisanih grafov
kot csv format, katerega je možno odpreti s programom Excel. Za shrambo datoteke smo,
podobno kot časovnike, iz zavihka »toolbox« v okno vstavili knjižnico »saveFileDialog«.
Uporabljena knjižnica uporabniku omogoči izbiro lokacije shrambe datoteke. S klikom na
knjižnico se nam odpre programsko polje, kjer smo definirali naj se shranijo izrisani podatki iz
grafa. Program podatke iz grafov shrani v štiri stolpce, mejo med podatki pa predstavlja
presledek. Za risanje grafov v Excelu je potrebno vsak podatek definirati v svojem kvadratu.
Pri uvozu v Excel program je meja med kvadratki določena s podpičjem, zato smo pred
shrambo programsko pretvorili presledke v podpičje. Poleg grafa, ki izrisuje tlak smo vstavili
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
38
tudi polja, kjer se izpisuje trenutni, maksimalni in minimalni tlak. Za vsak omenjeni tlak smo v
začetno okno vstavili »textbox« ter ga poimenovali. Ustvarili smo časovnik s 100 ms intervalom
za branje tlaka. V časovniku smo sprogramirali branje stanj tlačnih senzorjev iz krmilnika. Tlak
je podan kot spremenljivka tipa integer, polje »textbox« pa omogoča le izpisovanje
spremenljivk tipa string, zato je bilo potrebno spremenljivke pretvoriti, kar je prikazano na sliki
5.6.
Slika 5.6: Branje in izpisovanje maksimalne in minimalne vrednosti tlaka
Pod polja, ki izpisujejo vrednosti, smo dodali gumb, ki ponastavi vrednosti za maksimalni in
minimalni tlak. Detekcija maksimalnega in minimalnega tlaka se vrši na krmilniku. V
programsko polje gumba »ponastavi« smo vnesli kodo, ki spremenljivki za minimalno vrednost
pripiše vrednost nič in spremenljivki za maksimalno vrednost pripiše vrednost 400. V
uporabniški vmesnik je bilo potrebno dodati polja, kjer uporabnik vpiše začetni položaj
(položaj A), končni položaj (položaj B), maksimalno hitrost, pojemek in pospešek. Za vpis
omenjenih parametrov smo uporabili knjižnico »textbox« ter jih ustrezno poimenovali.
Pošiljanje vpisanih podatkov se izvrši s pritiskom na gumb. Dodali smo dva gumba: prvi izvrši
pomik batnice v položaj A, drugi (START) izvede gib v obliki S trajektorije. Na sliki 5.7 je prikazan
program, ki se izvede ob pritisku na tipko »start«. Uporabnik lahko vpiše želeni položaj batnice
z natančnostjo 0,1 mm. Na krmilniku smo za izračun položaja uporabili tip spremenljivke
integer, ki pa ne podpira decimalnih števil, zato je bilo potrebno vpisani položaj množiti z 10
in šele nato poslati na krmilnik. V vsako polje, ki omogoča vpisovanje podatkov smo dodali
zaščito, ki uporabniku onemogoči vpisovanje črk. Hidravlični sistem je zasnovan tako, da je
pred začetkom izvajanja testa sistem razbremenjen. Šele po pritisku na tipko »start« (začetek
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
39
testa) se tlak v sistemu poveča. Naraščanje tlaka na želeno vrednost potrebuje nekaj časa, zato
smo zagon izvajanje testa zakasnili za dve sekundi. To smo storili s pomočjo časovnika,
katerega prožimo z začetkom testa, torej s pritiskom tipke »start«. S to tipko zaženemo
časovnik, ki po dveh sekundah zapiše vrednosti na krmilnik in s tem začne test.
Slika 5.7: Koda, ki se izvrši ob pritisku tipke start
Podobno kot za vpis položaja in hitrosti, smo dodali tudi polja za vpis parametrov regulatorja.
Proporcionalni del regulatorja se bo vedno uporabljal, uporabo integralnega in diferencialnega
dela pa smo dodali kot možnost naknadnega vklopa. V okno smo vstavili knjižnico »CheckBox«.
Če polje ni obkljukano se na krmilnik za integralni del regulatorja zapiše vrednost nič. Ko polje
uporabnik s klikom obkljuka, se na krmilniku preklopi kontakt, ki omogoči zapisovanje
vrednosti integralnega dela na blok regulatorja. Regulacijo za vse omenjene proge lahko
izvajamo na dveh valjih. Ko odpremo progo z S trajektorijo smo sprogramirali, da se ob vpisu
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
40
parametrov privzeto vodi batnica desnega valja. Za preklop med valjema smo dodali knjižnico
»RadioButton«. V programskem polju »RadioButton« smo vstavili kodo, ki na krmilniku izvede
preklop preračuna položaja, ki je že opisan v poglavju 4.2. Dodali smo gumb »stop«. S
pritiskom na tega se izvajanje testa ustavi in ob tem se zažene program s številko nič. Ta
program obdrži batnice valjev v trenutnem položaju. Za izhod iz okna z S trajektorijo, smo v
desni spodnji kot vstavili gumb »nazaj«. S pritiskom na tega se zaustavi delovanje programa v
načinu »S-trajektorija« ter, isto kot pri gumbu »stop«, zažene program, ki obdrži batnice valjev
v trenutnem položaju. Zaradi obširnosti programske kode (več kot 700 vrstic) smo posamezne
segmente kode združili in s tem naredili kodo preglednejšo. Začetek segmenta smo označili z
#region »ime regije«, konec segmenta pa z #endregion. Po ureditvi programske kode smo
uporabniški vmesnik testirali in odpravili manjše napake ter ga še vizualno uredili (dodali
logotipe, v vseh progah nastavili isto velikost grafov, pisave…). Pri vseh oknih je bilo potrebno
nastaviti enako resolucijo kot je resolucija na zaslonu krmilnika. Zasnovan uporabniški vmesnik
je bil izdelan na osebnem računalniku, zato ga je bilo potrebno prenesti na krmilnik.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
41
6 ZAPRTOZANČNO VODENJE Zaprtozančno vodenje oz. regulacija je povratno zančno vodenje procesa, pri katerem je cilj,
da se z izhodnimi (reguliranimi veličinami) čim bolj približamo želenimi (referenčnimi)
veličinami ne glede na motnje, katerim je regulacijski sistem podvržen. Pri regulaciji želimo
vplivati na proces tako, da dosežemo želeno vrednost regulirane veličine. To storimo tako, da
uporabimo povratno zanko s katero v regulator pripeljemo izmerjeno vrednost regulirane
veličine. Nato izmerjeno vrednost primerjamo z želeno vrednostjo in glede na velikost napake
tvorimo ustrezen izhod regulatorja, ki vpliva na proces. Izhod regulatorja je pri tem odvisen od
členov, ki nastopajo v regulatorju (P, I in D), ter od velikosti posameznih členov in velikosti
regulacijskega pogreška. Regulator glede na velikost pogreška tvori vhodni signal aktuatorja,
ta pa pretvori (običajno električni) signal v želeno veličino. Pri načrtovanju in izvedbi regulacije
sta pomembna tudi podatka o odzivnosti in točnosti reguliranega sistema. Odzivnost je
pogojena s hitrostjo spreminjanja regulirane veličine in na njo običajno ne moremo vplivati.
Glede na hitrost spreminjanja izhodne veličine moramo ustrezno izbrati merilni sistem in
regulator ter elektroniko za procesiranje podatkov. Kvaliteta regulacij je namreč pogojena s
točnostjo merilnega sistema, hitrostjo procesiranja podatkov in nastavljenimi parametri
regulatorja.
Slika 6.1: Regulacijska proga
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
42
6.1 Regulacijska proga
Shema 6.2 prikazuje tipičen primer vodenja hidravličnega servosistema. Pretvornik ima
funkcijo, da meri izhodno veličino ter jo pretvarja v električni signal. Ta veličina se nato
primerja z želeno, krmilno veličino (položaj, sila, hitrost…). Regulator iz dobljenih signalov
izračuna regulacijski pogrešek ter glede na velikost regulacijskega pogreška tvori ustrezen
električni signal za krmiljenje servoventila. Servoventil nato s premikom drsnika povzroči
ustrezen pretok hidravlične tekočine do aktuatorja ter s tem pomik aktuatorja. Aktuator nato
opravi mehansko delo dokler ne doseže želenega položaja oziroma je regulacijski pogrešek
enak nič. Zunanje motnje lahko povzročijo, da se aktuator premika kljub temu, da je
regulacijski pogrešek nič. Temu se izognemo z ustreznimi filtri ter pravilno nastavitvijo
parametrov regulatorja.
V hidravličnih servosistemih se načeloma uporabljajo naslednji koncepti vodenja:
regulacija položaja (linearno ali rotacijsko gibanje),
regulacija hitrosti (linearno ali rotacijsko gibanje),
regulacije sile ali navora.
Slika 6.2: Regulacijska proga hidravličnega servosistema
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
43
6.1.1 Regulacija položaja
Najbolj osnovna in v praksi tudi največkrat uporabljena, je regulacija položaja linearnega
aktuatorja. Slika 6.3 prikazuje tipičen primer vodenja batnice hidravličnega valja. Merilnik
položaja meri trenutni položaj ter ga pretvori v električno veličino (Uf). Elektronika za vodenje
primerja dejanski položaj (Uf) in želeni položaj (UC) ter izračuna razliko - regulacijski pogrešek.
Izračunan pogrešek nato ojača (Ksa) ter z njim proži servoventil, kateri regulira pretok v komore
valja in s tem smer in hitrost pomika batnice. Ko batnica doseže želeni položaj je pogrešek nič
in servoventil ustavi pretok v komore valja.
Slika 6.3: Zaprtozančno vodenje batnice valja [4]
6.1.2 Regulacij hitrosti ali sile-navora
Osnovni princip regulacij za hitrost ali silo je podoben kot za položaj, a z razliko, da je merjena
in regulirana količina v povratni zvezi hitrost ali sila. V praksi se hitrostna regulacija največkrat
uporablja za rotacijske aktuatorje (hidromotorji). Za merjenje hitrosti lahko uporabimo tudi
senzor pomika tako, da trenutni položaj odvajamo po času. Za preprostejše merjenje sile na
breme lahko merimo tudi tlak v tlačni komori valja, ki je proporcionalen sili bremena. Slabost
takšne meritve sile je, da je nenatančna, saj ne upošteva trenja med batnico in tesnili.
p1 p2
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
44
Slika 6.4: Regulacija vrtljajev hidromotorja (levo), regulacija sile (desno) [4]
6.2 PID regulator
Proporcionalni-integralni-diferencialni (PID) regulator je regulacijski sistem v povratni zanki, ki
se pogosto uporablja v industrijskih aplikacijah. PID regulator neprekinjeno izračunava
pogrešek med želeno vrednostjo x(t) in dejansko y(t). Regulator tako poskuša zmanjšati
pogrešek u(t) s prilagajanjem krmilnega signala r(t) ki je vhod v regulirano progo. Shematski
prikaz PID regulatorja je prikazan na sliki 6.5.
Slika 6.5: Shema PID regulatorja
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
45
Kot že ime pove, je PID regulator sestavljen iz treh členov (P,I in D), katerih vsota predstavlja
regulirano veličino. Enačba PID regulatorja je tako:
𝑥(𝑡) = 𝐾𝑝𝑢(𝑡) + 𝐾𝑖 ∫ 𝑢(𝑡)𝑡
0𝑑𝑡 + 𝐾𝑑
𝑑𝑢(𝑡)
𝑑𝑡 (6.1)
Kjer je: 𝐾𝑝 – proporcionalni ojačenje,
𝐾𝑖 – integralno ojačenje,
𝐾𝑑 – diferencialno ojačenje,
u(t) - pogrešek,
t - trenutni čas.
Proporcionalni del regulatorja Proporcionalni del tvori krmilni signal, ki je proporcionalen vrednosti pogreška. Proporcionalni
odziv se tako lahko prilagodi z množenjem pogreška s konstanto Kp. Proporcionalni del
regulatorja je v enačbi (6.2) predstavljen z:
𝑃 = 𝐾𝑝 𝑢(𝑡) (6.2)
Integralni del regulatorja
Integralni del regulatorja je sorazmeren z velikostjo in trajanjem pogreška. Pogrešek se tako s
časom integrira in se v naslednjem koraku prišteje. Seštevek se nato zmnoži z integralno
konstanto. Integralni del je v enačbi (6.3) predstavljen z:
𝐼 = 𝐾𝑖 ∫ 𝑢(𝑡)𝑡
0𝑑𝑡 (6.3)
Diferencialni del regulatorja
Pri D členih regulatorja, je velikost izhodne veličine sorazmerna hitrosti spremembe vhodne
veličine. Diferencialni del izračunava odvod pogreška in s tem smerni koeficient tangente v
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
46
času ter tako predvidi nadaljnji potek pogreška. Odvod premice se nato pomnoži z
diferencialno konstanto Kd. Diferencialni člen je v enačbi (6.4) predstavljen z:
𝐷 = 𝐾𝑑𝑑𝑢(𝑡)
𝑑𝑡 (6.4)
V praksi se najpogosteje uporabljajo kombinacije regulacijskih členov PI, PD, PID ali pa P kot
samostojni člen regulatorja.
6.3 Optimizacija parametrov PID regulatorja
Običajno se reguliran sistem sprva zapiše kot matematični model. Ko imamo zapisan
matematičen model lahko z različnimi za to namenjenimi programi določimo optimalne
parametre regulatorja za naš sistem. V praksi se pogosto srečamo s sistemi, ki so prezahtevni
oz. prekompleksni, da bi jih lahko matematično natančno opisali oziroma bi za zapis
eksaktnega matematičnega modela porabili preveč časa. Zato so se v praksi pojavile številne
metode, ki omogočajo, da s poskušanjem oz. na osnovi orientacijskih vrednosti nastavimo
parametre PID regulatorja. Sistem najpogosteje vzbudimo s stopnično vhodno spremembo in
spremljamo odziv sistema ter glede na dobljene odzive (čas vzpona, čas zakasnitve, prenihaj,
dušenje, osciliranje sistema…) preračunamo nove parametre za posamezne člene regulatorja.
Pri tem se za izračun novih parametrov uporabljajo tabele, ki so bile dobljene s pomočjo
testiranja različnih procesov in njihovih odzivov.
6.3.1 Kriteriji za ocenjevanje regulatorja
Na prvem mestu mora regulator poskrbeti, da ne pride do nestabilnosti sistema. To pomeni,
da regulirana veličina začne nihati in se ji amplituda nihanja povečuje. Sistem je mejno
stabilen, ko sicer niha okoli določene vrednosti, vendar se mu amplituda nihanja ne povečuje.
Kakovost regulatorja se vidi v samem prehodnem pojavu, ki je prikazan na sliki 6.6.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
47
Slika 6.6: Odziv na stopnico [5]
Ko sistem stopnično obremenimo, lahko kakovost regulatorja ugotovimo iz naslednjih
parametrov:
𝑡𝑚 - mrtvi čas je čas, ko regulirana veličina doseže 10 % stacionarne (maksimalne)
vrednosti. Ta čas je pogojen tudi z elektroniko ki regulira sistem.
𝑡𝑛𝑎𝑟 - času, ko se regulirana vrednost poveča od 10 do 90 % stacionarne vrednosti
imenujemo čas naraščanja. Ta je odvisen od hitrosti odzivnosti sistema ki ga
reguliramo.
∆𝑦 - regulirana veličina lahko v času, preden se ustali, za ∆𝑦 preseže vrednost v
ustaljenem stanju, čemur rečemo prenihaj. Prenihaj po navadi podamo v relativni
obliki kot ∆𝑦/𝑦∞[ % ].
Po prenihaju pride do nihanja regulirane veličini, ki pa ji amplituda upada. Čas 𝑡𝑣𝑛𝑖ℎ, ki
ga regulirana veličina potrebuje da se izniha v pas ∆𝑦∞ (navadno 2 ali 5 %) okoli
vrednosti 𝑦∞ imenujemo vnihajni čas.
Ko se sistem izniha (umiri) ni nujno, da izhodno stanje doseže želeno vrednost. Razliko,
ki po prehodnem stanju in iznihanju sistema ostane imenujemo statični pogrešek.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
48
6.3.2 Ziegler-Nichols metoda optimizacije
Metoda Ziegler-Nichols (krajše ZN) je ena izmed najpogosteje uporabljenih metod za
nastavitev regulatorja, ki omogoča nastavitev s poskušanjem. S to metodo sistem preskušamo
v zaprti zanki, v kateri spreminjamo proporcionalni člen regulatorja, integralni del pa
povečamo na maksimalno (teoretično neskončno) vrednost. Diferencialnega člena pri
testiranju ZN metode ne uporabimo oziroma ga nastavimo na vrednost nič. Sistem
obremenimo s stopnico in povečujemo ojačenje proporcionalnega dela (KP) dokler sistem ne
začne nedušeno nihati (mejno stabilno stanje). Ojačenje, pri katerem regulirana veličina začne
nedušeno nihati, imenujemo kritično ojačenje (Kkr). Mejno stabilnemu sistemu nato odčitamo
periodo nihanja (Tkr). To je perioda s katero sistem niha okoli želene vrednosti. Parametre
regulatorja določimo pri stanju, ko je sistem mejno stabilen, zato to metodo tudi pogosto
imenujemo metoda mejnega nihanja. Tabela 2 prikazuje parametre, ki sta jih s testiranjem
različnih sistemov predlagala Ziegler in Nichols.
Slika 6.7: Tipičen sistem z mejno stabilnim odzivom [4]
Tabela 2: Predlagani parametri po ZN metodi [4]
Vrsta regulatorja KP TI TD
P 0,5Kkr ∞ 0
PI 0,45Kkr 0,83Tkr 0
PID 0,6Kkr 0,5Tkr 0,125 Tkr
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
49
6.33 Chien-Hrones-Reswick metoda optimizacije
Metoda, ki so jo predlagali avtorji Chien, Hrones in Reswick, CHR metoda, je odprtozančna
metoda za določanje parametrov regulatorja. Sistem podobno kot pri ZN metodi vzbudimo s
stopnico, le da v tem primeru nimamo negativne povratne zanke. Proces vzbudimo s
stopničasto spremembo vhodnega signala in posnamemo odziv. Vzbujalni stopnični signal in
primer odzivnega signala je prikazan na sliki 6.8.
Slika 6.8: Primer vzbujalnega in odzivnega signala CHR metode optimizacije [4]
Slabost te metode je, da je ne moremo uporabiti na vsakem sistemu. Karakteristični odziv, ki
je primeren za uporabo te metode je prikazan na sliki 6.9. V primeru, da pri stopničnem odzivu
dobimo prenihaj, potem ta metoda ne pride v poštev za določitev parametrov regulatorja.
Slika 6.9: Karakteristični odziv, primeren za CHR metodo [4]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
50
Za določitev parametrov je potrebno izračunati ojačenje procesa, ki je določen kot kvocient
spremembe izhodnega in vhodnega signala v ustaljenem stanju (enačba 6.5):
𝐾 =∆𝑎
∆𝑢 (6.5)
Nato narišemo tangento v prevojni točki odziva ter odčitamo presečišče te tangente z absciso
(A) in vrednostjo 𝐴 + ∆𝑎. Iz teh presečišč določimo čas zaostajanja Tza in čas izravnave Tiz. Ko
določimo te parametre imamo na izbiro ali želimo, da regulacijski sistem deluje v
regulacijskem ali sledilnem načinu delovanja (ali je vhodni signal referenca ali motnja na vhodu
v proces). Nastavitve upoštevajo tudi zahtevo po odzivu z 20 % prenihajem ali pa zahtevo po
odzivu s čim krajšim vnihajnim časom, kar je prikazano v tabeli 3.
Tabela 3: Parametri predlagani po CHR metodi [4]
Regulator Aperiodični odziv z
najkrajšim vnihajnim časom
Najkrajši vnihajni čas z 20%
prenihajem
Motnja Referenca Motnja Referenca
P KP 0,3 Tiz
K Tza
0,3 Tiz
K Tza
0,7 Tiz
K Tza
0,7 Tiz
K Tza
PI KP 0,6 Tiz
K Tza
0,35 Tiz
K Tza
0,7 Tiz
K Tza
0,6 Tiz
K Tza
TI 4 Tza 1,2 Tiz 2,3 Tza Tiz
PID
KP 0,95 Tiz
K Tza
0,6 Tiz
K Tza
1,2 Tiz
K Tza
0,95 Tiz
K Tza
TI 2,4 Tza Tiz 2 Tza 1,35 Tiz
Td 0,42 Tza 0,5 Tza 0,42 Tza 0,47 Tza
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
51
6.3.4 Ročna nastavitev regulatorja
V praksi je pogosto uporabljena je t.i. manualna ali ročna nastavitev parametrov regulatorja.
Ta metoda temelji na preskušanju sistema, ter je primerna za sisteme, kjer ni potrebe po
natančni regulaciji (ali pa ni neke nevarnosti poškodb naprave ali osebja). Postopek izvedbe je
sledeč:
Integralni (KI) in diferencialni (KD) člen regulatorjev postavimo na vrednost 0
Vrednost proporcionalnega člena povečujemo do vrednosti, da dobimo odziv s
približno 25 % prenihajem (slika 6.10)
Slika 6.10: Odziv s 25 % prenihajem
Nato povečujemo vrednost integralnega dela regulatorja dokler se ne zmanjša
statični pogrešek. Pri tem se prenihaj ter nihanje okoli želene vrednosti poveča,
primer odziva je prikazan na sliki 6.11. Če vrednost integralnega dela povečamo
preveč lahko zanka postane nestabilna (povečanje amplitude nihanja okoli
želene vrednosti).
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
52
Slika 6.11: Odziv, ko povečamo integralni del
V zadnjem koraku povečujemo še vrednost diferencialnega dela regulatorja ter
s tem uravnavamo čas vnihanja ter čas v katerem dosežemo želeno vrednost.
Sistemi, kjer je potreba po hitri regulaciji imajo običajno prenihaj, saj s tem
hitreje dosežejo želen položaj.
V tabeli 4 so prikazane posamezne konstante regulatorju, ter opisano kako njihovo
spreminjanje vpliva na sistem.
Tabela 4: Vpliv regulacijskih konstant na odziv sistema
Parameter Čas vzpona Prenihaj Čas vnihanja Stabilnost sistema
Kp Zmanjša Poveča Majhni vplivi Zmanjša
Ki Zmanjša Poveča Poveča Zmanjša
Kd Majhni vplivi Zmanjša Zmanjša Poveča (če je vrednost majhna)
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
53
7 TESTIRANJE ODZIVNOSTI SISTEMA
Po izdelavi programov za vodenje batnice in uporabniškega vmesnika smo želeli izbrati
optimalne parametre za vodenje batnice. Odzivi sistema so odvisni od številnih parametrov
katere bi pri natančni regulaciji bilo potrebno upoštevati. To je na primer viskoznost olja, ki je
tudi temperaturno odvisna, trenje batnice, lekaže, tlačni sunki, hidravlična induktivnost itd.
Predvidevanje in upoštevanje vseh teh parametrov je kompleksno in zamudno, zato smo
uporabili različne metode, ki omogočajo nastavitev parametrov regulatorja s poskušanjem.
Čas izvajanja programa oz. čas tipanja je pri vseh poskusih enak in znaša 1 ms. Prenosna
funkcija uporabljenega regulacijskega bloka je opisana v enačbi (4.1). Iz te enačbe je razvidno,
da uporabnik ne vpisuje direktno vrednosti posameznih členov regulatorja ampak časovne
konstante Tn, Tv in Td ter vrednost KP. Želene vrednosti posameznega člena dobimo z ustrezno
izbiro omenjenih konstant. Odzivnost sistema je v veliki meri odvisna od pretoka in tlaka v
sistemu, zato smo meritve izvedli pri tlaku 210 bar in pretoku 45 L/min ter pri tlaku 140 bar in
pretoku 15 L/min. V izdelanem uporabniškem vmesniku smo nastavili želen tlak in pretok
tekočine, kar je prikazano na sliki 7.1.
Slika 7.1: Nastavitev pretoka in tlaka za izvedbo poskusov
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
54
7.1 Ziegler-Nichols metoda optimizacije
Po nastavitvi tlaka in pretoka za izvedbo regulacij smo se sprva lotili optimizacije regulatorja
po tako imenovani ZN metodi. Cilj je bil nastaviti takšne parametre regulatorja, da batnico
valja pomaknemo iz začetnega položaja, ki je bila 10 mm, do končnega položaja, torej 100 mm.
Ker je hitrost pomika batnice odvisna od pretoka in tlaka sistema, smo odzivnost sistema
testirali pri dveh različnih vrednostih. Sprva smo batnico postavili v začetni položaj, ki je
znašala 10 mm hoda batnice. Diferencialni člen regulatorja smo izklopili, za integralni del pa
smo vpisali vrednost 100. ZN metoda namreč narekuje, da integralni del postavimo na
teoretično neskončno vrednost, kar pa v praksi ni mogoče, zato smo ta člen nastavili na veliko
vrednost, in sicer 100. Nato smo s poskušanjem povečevali vrednost proporcionalnega dela
regulatorja in batnico pomikali v končni položaj, ki znaša 100 mm hoda batnice. Proporcionalni
člen smo povečevali tako dolgo, dokler sistem pri pomiku iz začetne v končno lego ni začel
nedušeno nihati (mejno stabilno stanje). Sistem smo testirali pri dveh različnih tlakih in
pretokih, kar je predstavljeno na slikah 7.2 in 7.3. Pri nižjem tlaku je sistem postal mejno
stabilen pri proporcionalni ojačitvi 14,5, pri višjem tlaku pa pri vrednosti ojačenja 13.
Slika 7.2: Mejno stabilno stanje pri 140 bar in 15 L/min in vrednosti ojačenja 14,5
Po
loža
j [m
m]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
55
Slika 7.3: Mejno stabilno stanje pri 210 bar in vrednosti ojačenja 13
Naslednji korak pri tej metodi zahteva, da odčitamo periodo nihanja mejno stabilnega stanja.
Periodo smo odčitali s pomočjo grafičnega vmesnika (scope) in sicer tako, da smo se s
kurzorjem postavili v začetno in končno točko periode ter izračunali razliko. Dobljena razlika
je perioda nihanja našega sistema. Na slikah 7.4 in 7.5 je prikazano odčitavanje in izračun
periode nihanja.
Po
loža
j [m
m]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
56
Slika 7.4: Začetek in konec periode pri tlaku 140 bar
Perioda mejno stabilnega nihanja smo izračunali:
𝑇𝑘𝑟 = 𝑇𝑘𝑜𝑛𝑒𝑐 − 𝑇𝑧𝑎č𝑒𝑡𝑒𝑘 = 233 − 148 = 85 ms (7.1)
Prav tako smo začetek in konec periode nihanja odčitali pri tlaku 210 bar.
Po
loža
j [m
m]
Po
loža
j [m
m]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
57
Slika 7.5: Začetek in konec periode pri tlaku 210 bar
Perioda nihanja mejno stabilnega stanja znaša:
𝑇𝑘𝑟 = 𝑇𝑘𝑜𝑛𝑒𝑐 − 𝑇𝑧𝑎č𝑒𝑡𝑒𝑘 = 176 − 96 = 80 ms (7.2)
Glede na odčitano periodo smo nato po predlogih Zieglerja in Nicholsa izračunali vrednosti za
vse tri člene regulatorja, ki so podane v tabeli 2. Nove vrednosti posameznih členov, za dve
različni vrednosti tlakov, določimo na sledeč način:
Pri tlaku 140 bar:
𝑃 = 0,6 𝐾𝑘𝑟 = 0,6 × 14.5 = 8,7
𝐼 = 0,5 𝑇𝑘𝑟 = 0,5 × 85 = 42,5
𝐷 = 0,125 𝑇𝑘𝑟 = 0,125 × 85 = 10,6
Po
loža
j [m
m]
Po
loža
j [m
m]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
58
Pri tlaku 210 bar:
𝑃 = 0,6 𝐾𝑘𝑟 = 0,6 × 13 = 7,8
𝐼 = 0,5 𝑇𝑘𝑟 = 0,5 × 80 = 40
𝐷 = 0,125 𝑇𝑘𝑟 = 0,125 × 80 = 10
Izračunane parametre regulatorja, ki sta jih predlagala Ziegler in Nichols smo nato vpisali ter
zopet posneli odzive, ki so predstavljeni na slikah 7.6 in 7.7.
Slika 7.6: Odziv po optimizaciji po ZN metodi pri tlaku 140 bar
Slika 7.7: Odziv po optimizaciji po ZN metodi pri tlaku 210 bar
Po
loža
j [m
m]
Po
loža
j [m
m]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
59
Pri nastavitvi regulatorja po ZN metodi je bila kvaliteta regulatorja relativno slaba in za
praktične aplikacije neuporabna. Ciljni položaj batnice je bila pozicija 100 mm, kar je 12 mm
manj kot je celotni hod batnice. Pri testiranju pomika iz začetnega položaja, ki je znašal le 10
mm hoda batnice, pa je tako prišlo do tako velikega prenihaja, da je batnica dosegla končni
položaj, kar se tudi vidi na odzivu (slika 7.7). Po prenihaju je batnica okoli želenega položaja
oscilirala.
7.2 Ročna nastavitev regulatorja
Ročno nastavitev parametrov smo testirali pri tlaku 140 bar in pretoku 15 L/min. Začetni
položaj batnice je znašal v tem primeru 10 mm, končni pa 20 mm hoda batnice. Pri ročni
nastavitvi regulatorja smo sprva integralni in diferencialni člen regulatorja postavili na
vrednost nič. Nato smo povečevali vrednost ojačenja proporcionalnega člena tako dolgo, da
smo dobili odziv s približno 25 % prenihajem, prikazan na sliki 7.8.
Slika 7.8: Odziv s 25 % prenihajem
Sledi povečevanje vrednosti integralnega dela do stanja, pri katerem se ne zmanjša statični
pogrešek. Batnica pri tem niha okoli končnega položaja, kar prikazuje slika 7.9. Pri prevelikem
Po
loža
j [m
m]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
60
integralnem delu je prišlo do nestabilnega stanja, amplituda nihanja okoli želenega položaja
se je začela večati.
Slika 7.9: Zmanjšanje statičnega pogreška
V zadnjem koraku smo povečevali vrednost diferencialnega člena regulatorja. Z večanjem
vrednosti se je čas iznihavanja okoli želenega položaja manjšal. Pri dovolj veliki vrednosti do
prenihaja ni prišlo, kar je prikazano na sliki 7.10.
Slika 7.10: Končni odziv ročno nastavljenega regulatorja
Po
loža
j [m
m]
Po
loža
j P
olo
žaj [
mm
]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
61
Končne vrednosti regulatorja pri t.i. ročni nastavitvi so bili naslednji:
P=22,
I=31,
D=16.
Pri t.i. ročni nastavitvi regulatorja je odziv zadovoljiv. Do prenihaja ne pride, statičnega
pogreška ni ter čas, v katerem batnica doseže končni položaj, je relativno kratek. Tako se je ta
metoda izkazala za najbolj učinkovito pri izbranih pogojih testiranja (tlaku in pretoku).
Na koncu magistrskega dela smo prej električno, programsko in vizualno zasnovan sistem
testirali. Ker smo v uporabniški vmesnik vnesli več trajektorij vodenja ter grafični izris pozicije
ter hitrosti batnic je to optimalna izhodiščna točka za testiranje regulacij. Kot primer je
predstavljen delček problematike optimiranja parametrov regulatorja, kjer je bila obravnava
osredotočena na klasični PID regulator.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
62
8 SKLEP
Namen magistrskega dela je bil zasnovati močnosti in krmilni del elektrohidravličnega
servosistema, zasnovati uporabniški vmesnik z možnostjo položajne regulacije batnice ter
preskusiti nekaj najpogosteje uporabljanih metod optimizacije regulatorja. Modularna
zgradba krmilnika in enostavno dodajanje in odvzemanje modulov se je izkazalo kot zelo
uporabno. Od začetka izdelave magistrskega dela smo namreč sistem še nadgradili ter dodali
ustrezne module. Pri testiranju uporabniškega vmesnika na osebnem računalniku se niso
pojavljale nobene težave, pri namestitvi uporabniškega vmesnika na PLK pa se je izkazalo da
krmilnik nima dovolj zmogljivega procesorja. Pri testiranju regulacijskih prog mora krmilnik
hkrati brati stanja senzorjev pomika, hitrosti, tlaka… ter hkrati izrisovati stanj le-teh na grafu.
V času pisanja magistrskega dela je ta pomanjkljivost že odpravljena in sicer je bil obstoječi
krmilnik zamenjan z zmogljivejšim, in sicer štirijedrnim procesorjem. Pri testiranju različnih
optimizacij regulatorja se je kot najboljša oz. najpreprostejša izkazala ročna nastavitev
parametrov. Pri tem je potrebno poudariti, da so vsi odzivi odvisni od nastavljenega pretoka,
tlaka, temperature olja, itd. Kot že rečeno ob koncu prejšnjega poglavja, pa takšna »odprta«
zasnova krmilne elektronike omogoča veliko več kot je to običajno za »zaprte« industrijske
rešitve.
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
63
9 VIRI IN LITERATURA
[1] Beckhoff P,PI and PID controllers [splet], dosegljivo:
https://infosys.beckhoff.com/english.php?content=../content/1033/tcplclibcontrollertoolbo
x/html/tcplclibcontroller_tuning.htm&id= [Datum dostopa:22.7.2017 ]
[2] Beckhoff PID block [splet], dosegljivo:
https://infosys.beckhoff.com/english.php?content=../content/1033/tf4100_tc3_controller_t
oolbox/9007199500176779.html&id [Datum dostopa:22.7.2017 ]
[3] Beckhoff Scope View integration [splet], dosegljivo:
https://infosys.beckhoff.com/english.php?content=../content/1033/te13xx_tc3_scopeview/
45035996456010891.html&id= [Datum dostopa:22.7.2017 ]
[4] Karl-Erik Rydberg, Fluid and engineering systems, Hydraulic servo systems, 2008
[5] Borut Zupančič, Zvezni regulacijski sistemi – I. del, Ljubljana, 2010
[6] Rexroth Hydraulic Proportional and closed loop system design [splet], dosegljivo:
http://www.cmafh.com/enewsletter/PDFs/Hydraulic_Proportional_Closed_Loop_System_D
esign.pdf [Datum dostopa:22.7.2017 ]
[7] Lovrec Darko, Predavanje. Hidravlika in pnevmatika. Maribor: Fakulteta za strojništvo
[8] Lovrec Darko, Predavanje. Mehatronski krmilni in servo sistemi. Maribor: Fakulteta za
strojništvo
[9] Moog servo valve technical data [splet], dosegljivo:
http://www.moog.com/literature/ICD/Moog-ServoValves-G761_761Series-Catalog-en.pdf
[Datum dostopa:22.7.2017]
[10] TwinCAT contact and coil [splet], dosegljivo: http://www.contactandcoil.com/twincat-
3-tutorial/quick-start/ [Datum dostopa:22.7.2017 ]
[11] Beckhoff terminal EL1008 [splet], dosegljivo:
https://www.beckhoff.com/english.asp?ethercat/el1008.htm [Datum dostopa:22.7.2017]
[12] Beckhoff terminal EL3008 [splet], dosegljivo:
http://www.beckhoff.si/english.asp?ethercat/el3004_el3008.htm
[Datum dostopa:22.7.2017]
[13] Beckhoff terminal EL4018 [splet], dosegljivo:
https://www.beckhoff.com/english.asp?ethercat/el4018.htm [Datum dostopa:22.7.2017]
Fakulteta za elektrotehniko, računalništvo in informatiko Magistrsko delo
64
[14] Beckhoff PLC [splet], dosegljivo:
https://www.beckhoff.com/english.asp?embedded_pc/cx5010_cx5020.htm
[Datum dostopa:22.7.2017]
[15] Jumpflex signal conditioner [splet], dosegljivo:
http://www.wago.com/wagoweb/documentation/857/eng_dat/d08570409_00000000_0en.
pdf [Datum dostopa:22.7.2017]
[16] Beckhoff PLC documentation [splet], dosegljivo:
https://download.beckhoff.com/download/document/ipc/embedded-pc/embedded-pc-
cx/cx5000_hwen.pdf [Datum dostopa:22.7.2017]
[17] MTS Systems corporation, Temposonics MTS sensor catalog [splet], dosegljivo:
http://www.mtssensors.com/fileadmin/media/pdfs/R_Series_RP_RH_Analog.pdf
[Datum dostopa:22.7.2017]
[18] Flying simulator with hydraulic system [splet], dosegljivo:
https://www.quora.com/How-do-pilots-use-flight-simulators [Datum dostopa:22.7.2017]
[19] Hydraulic circuit example [splet], dosegljivo:
http://woodsplitterplans.com/guides/hydraulic-wood-splitter-operation.htm
[Datum dostopa:22.7.2017]
[20] Hydraulic servovalve cross section [splet], dosegljivo:
http://www.embedded.com/design/configurable-systems/4006688/Using-simulation-
software-to-simplify-DSP-based-Electro-Hydraulic-Servo-Actuator-Designs-Part-1
[Datum dostopa:22.7.2017]
[21] Temposonics, Magnetostriction explained [splet], dosegljivo:
http://www.mtssensors.com/fileadmin/media/pdfs/551019.pdf [Datum dostopa:22.7.2017]
top related