75
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 ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 2: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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č

Page 3: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 4: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

II

Page 5: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 6: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 7: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 8: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 9: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 10: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 11: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 12: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 13: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 14: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 15: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 16: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 17: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 18: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 19: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 20: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 21: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 22: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 23: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 24: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 25: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 26: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 27: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 28: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 29: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan 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

Page 30: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 31: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 32: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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 %.

Page 33: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 34: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 35: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 36: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 37: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 38: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 39: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 40: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 41: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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«.

Page 42: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 43: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 44: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 45: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 46: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 47: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 48: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 49: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 50: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 51: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 52: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 53: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 54: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 55: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 56: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 57: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 58: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 59: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 60: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 61: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 62: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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).

Page 63: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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)

Page 64: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

Page 65: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 66: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 67: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 68: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 69: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 70: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 71: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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

]

Page 72: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 73: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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.

Page 74: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]

Page 75: Snovanje in izdelava sistema vodenja elektrohidravlične ... · vodenja hidravličnega servosistema, vključujoč elektronske komponente in ustrezno zasnovan uporabniški vmesnik

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]