Meine Diplomarbeit - Institute of Automatic Control and Control

Meine Diplomarbeit - Institute of Automatic Control and Control
Technisch-Naturwissenschaftliche
Fakult¨
at
Regelung eines 3-Tank-Labormodells
mit einem Linux-Echtzeitsystem auf einem
PC/104-Modul
Projektseminar
in der Studienrichtung
Mechatronik
Angefertigt am Institut f¨
ur Regelungstechnik und Prozessautomatisierung
Beurteilung:
o.Univ.–Prof. Dipl.–Ing. Dr.techn. Kurt Schlacher
Mitwirkung:
Univ.–Ass. Dipl.–Ing. Dr.techn. Karl Rieger, MSc.
Eingereicht von:
Leopold Grießler
3233 Kilb, Christenberg 8
16. M¨
arz 2010
Linz, M¨arz 2010.
Johannes Kepler Universit¨
at Linz
A-4040 Linz, Altenberger Str. 69, Internet: http://www.jku.at, DVR 0093696
Inhaltsverzeichnis
Einleitung
1
1 Aufbau
1.1 3-Tank-Labormodell . . . . . . . . . . .
1.1.1 Tanks . . . . . . . . . . . . . . .
1.1.2 Pumpen . . . . . . . . . . . . . .
1.1.3 Sensoren . . . . . . . . . . . . . .
1.2 Verbesserungen am 3-Tank-Labormodell
1.2.1 Neue Schlauchanordnung . . . . .
1.2.2 Pumpen- und Abflussschl¨auche .
1.3 PC/104 System . . . . . . . . . . . . . .
1.4 Elektrische Zusammenschaltung . . . . .
2 Software und Installation
2.1 Betriebssystem Debian GNU/Linux .
2.2 Grafikbibliothek MesaLib . . . . . . .
2.3 Systembibliothek eFLTK . . . . . . .
2.4 Patchen des Linux-Kernels . . . . . .
2.5 Konfiguration des Linux-Kernels . . .
2.6 Konfiguration des Bootloaders Grub
2.7 Bibliothek ComediLib . . . . . . . .
2.8 RTAI (1) . . . . . . . . . . . . . . . .
2.9 Comedi . . . . . . . . . . . . . . . .
2.10 RTAI (2) . . . . . . . . . . . . . . . .
2.11 Testen der Ein-/Ausgabekarte . . . .
2.12 Scilab / Scicos . . . . . . . . . . . . .
2.13 RTAI-Lab Add-on f¨
ur Scilab . . . . .
2.14 QRtaiLab . . . . . . . . . . . . . . .
2.15 Matlab f¨
ur RTAI konfigurieren . . . .
I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
5
6
6
7
8
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
15
16
17
17
18
18
19
20
21
21
22
22
23
INHALTSVERZEICHNIS
INHALTSVERZEICHNIS
3 Modellbildung
3.1 Modell eines Tanks . . . . . . . . . . . . . . . . . . .
3.2 Modell einer Pumpe . . . . . . . . . . . . . . . . . .
3.2.1 Elektrisches Teilsystem . . . . . . . . . . . . .
3.2.2 Mechanisches Teilsystem . . . . . . . . . . . .
3.2.3 Gesamtsystem der Pumpe . . . . . . . . . . .
3.3 Modell des Gesamtsystems . . . . . . . . . . . . . . .
3.4 Modellreduktion . . . . . . . . . . . . . . . . . . . . .
3.4.1 Vernachl¨assigung der elektrischen Dynamik . .
3.4.2 Vernachl¨assigung der mechanischen Dynamik
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Parameterbestimmung
4.1 Parameterbestimmung der Drucksensoren . . . . . . . . .
4.2 Parameterbestimmung der Tanks . . . . . . . . . . . . .
4.2.1 Ausfließverhalten im Hauptbetriebsbereich . . . .
4.2.2 Ausfließverhalten im Bereich Geringer Pegelstand
4.3 Parameterbestimmung der Pumpen . . . . . . . . . . .
4.3.1 Durchfluss aufgrund der Ankerspannung . . . . .
4.3.2 Durchfluss aufgrund der Pegelst¨ande . . . . . . .
4.4 Parameterbestimmtes Gesamtsystem . . . . . . . . . . .
5 Mehrgr¨
oßenregelung der Pegelst¨
ande
5.1 Strecke . . . . . . . . . . . . . . . . .
5.2 Stellgr¨oßentransformation . . . . . .
5.3 PI-Regler . . . . . . . . . . . . . . .
5.4 Aufbau und Test der Regelung . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
II
.
.
.
.
.
.
.
.
.
25
25
28
28
29
30
30
32
32
33
.
.
.
.
.
.
.
.
34
35
36
38
40
42
42
44
47
.
.
.
.
50
50
51
53
56
6 Softwareseitige Umsetzung
60
6.1 Betriebssysteme und Rechner . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.2 Umstellung auf Scilab/Scicos . . . . . . . . . . . . . . . . . . . . . . . . . 60
7 Inbetriebnahme
63
A Anhang
68
A.1 Messungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
A.2 Simulationsmodelle in Scilab/Scicos . . . . . . . . . . . . . . . . . . . . . . 70
Literaturverzeichnis
72
Abbildungsverzeichnis
1
Gesamtsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
3-Tank-Laboraufbau . . . . . . . . . . . . . . . . .
Tank . . . . . . . . . . . . . . . . . . . . . . . . . .
Tauchpumpe . . . . . . . . . . . . . . . . . . . . . .
Drucksensor . . . . . . . . . . . . . . . . . . . . . .
Aufwallen des Wassers bei alter Schlauchanordnung
Neue Schlauchanordnung . . . . . . . . . . . . . . .
Motherboard Wafer-LX 3.5 . . . . . . . . . . . . . .
Ein-/Ausgabekarte von Sensoray . . . . . . . . . .
PC/104 System Innenansicht . . . . . . . . . . . . .
PC/104 System Außenansicht . . . . . . . . . . . .
Blockschaltbild Gesamtsystem . . . . . . . . . . . .
Verbindungsbox . . . . . . . . . . . . . . . . . . . .
Anschlussbox . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
3
4
5
6
7
7
9
9
10
10
11
12
12
2.1 Architektur RTAI [6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1
3.2
3.3
3.4
Tank . . . . . . . . . . . . . . . . . . . . . . . . .
Ausfließkennlinie . . . . . . . . . . . . . . . . . .
Elektrisches Schaltbild einer Gleichstrommaschine
H¨ohendifferenzen . . . . . . . . . . . . . . . . . .
.
.
.
.
25
28
28
31
4.1
4.2
4.3
4.4
4.5
Strecke mit Pumpenansteuerung und Sensorspannungsmessung . . . . . . .
Sensorkennlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausfließkennlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
in Abh¨angigkeit der Pegeldifferenz ∆h . . . . .
Ausfließgeschwindigkeit dh
dt
dh
Ausfließgeschwindigkeit dt in Abh¨angigkeit des darunterliegenden Pegelstandes hu am Bspl. von Tank 2 . . . . . . . . . . . . . . . . . . . . . . . .
Pumpenkennlinie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erforderliche Spannungen uA,i zum Halten eines Pegels . . . . . . . . . . .
F¨
ullgeschwindigkeit dh
in Abh¨angigkeit von uA . . . . . . . . . . . . . . . .
dt
Blockschaltbild der simulierten Strecke . . . . . . . . . . . . . . . . . . . .
34
35
38
40
4.6
4.7
4.8
4.9
III
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
43
45
47
48
ABBILDUNGSVERZEICHNIS
ABBILDUNGSVERZEICHNIS
IV
4.10 Stellgr¨oße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.11 Pegelst¨ande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1
5.2
5.3
5.4
5.5
5.6
5.7
Regler und Strecke mit u
¨berlagerter Stellgr¨oßentransformation
PI-Regler mit Transformation und Stellgr¨oßenbeschr¨ankung .
PI-Regler . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PI-Regelung Simulation . . . . . . . . . . . . . . . . . . . . .
PI-Regelung PC/104-System . . . . . . . . . . . . . . . . . . .
Ergebnis der PI-Regelung . . . . . . . . . . . . . . . . . . . .
Stellgr¨oße der PI-Regelung . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
52
55
56
57
57
58
59
6.1 Scopes Manager von qRtailab . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.1
7.2
7.3
7.4
Oberfl¨ache von qRtailab . . . . . . . . . . . . . . . . .
Sprungvorgabeparameter . . . . . . . . . . . . . . . . .
F¨
uhrungssprungvorgabeparameter . . . . . . . . . . .
F¨
uhrungsverlauf-Vorgabe bei der Ablaufregelung . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
64
65
65
66
A.1
A.2
A.3
A.4
A.5
A.6
A.7
Messungen zur Identifikation von Pumpe 1
Messungen zur Identifikation von Pumpe 2
Messungen zur Identifikation von Pumpe 3
Blockschaltbild der Strecke . . . . . . . . .
Blockschaltbild eines Tanks . . . . . . . .
Blockschaltbild des Sammelbeh¨alters . . .
Blockschaltbild einer Pumpe . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
68
69
70
70
71
71
71
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Tabellenverzeichnis
1.1 Abmessungen der Tanks . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1 Mit Synaptic einzubindende Pakete . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Ben¨otigte Softwarepakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1 Gew¨ahlte Eigenwerte beim PI-Regler . . . . . . . . . . . . . . . . . . . . . 54
¨
7.1 Dateien-Ubersicht
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.2 Beispiel zur Regelung mit dem Sprungmodus . . . . . . . . . . . . . . . . . 66
V
Einleitung
Im Rahmen dieses Projektseminars wird ein kompaktes Linux basierendes Automatisierungssystem zur Pegelstandsregelung eines bestehenden 3-Tank-Labormodells entwickelt.
Die Simulation und Regelung werden dabei ausschließlich mit Open-Source Paketen durchgef¨
uhrt. Das gesamte System ist in Abbildung 1 dargestellt. Es handelt sich um u
¨bereinanderliegende Tanks, die mit Pumpen aus einem darunterliegenden Sammelbeh¨alter versorgt
werden. Die Tanks sind so miteinander verbunden, dass der Abfluss von Tank 1 in Tank
2, jener von Tank 2 in Tank 3 und jener von Tank 3 in den Sammelbeh¨alter f¨
uhrt. Die
Pegelst¨ande der Tanks werden mit Drucksensoren gemessen. Die Pumpen werden u
¨ber
ein Automatisierungssystem angesteuert und geregelt. Als Automatisierungssystem wird
ein PC/104 System mit einem durch RTAI (Real T ime Application I nterface) erweiterten Linux -Betriebssystem entwickelt. Durch diese Erweiterung k¨onnen die f¨
ur Echtzeitanwendungen strengen Zeitbeschr¨ankungen bez¨
uglich Lese- und Schreibprozesse eingehalten
werden.
Abbildung 1: Gesamtsystem
¨
Zur Ubersicht
dieser Arbeit werden die Inhalte der einzelnen Kapitel an dieser Stelle erl¨autert. Der Aufbau des Labormodells, vorgenommene Verbesserungen an diesem und der
Aufbau des PC/104 Systems werden in Kapitel 1 erkl¨art. In Kapitel 2 wird die vollst¨andige Installation des echtzeitf¨ahigen Betriebssystems, des Open-Source Simulationspaketes
Scilab/Scicos und des Visualisierungspaketes qRtailab am PC/104 System beschrieben.
Mit der mathematischen Modellbildung und der Bestimmung der ben¨otigteParameter befassen sich Kapitel 3 und 4. Die Mehrgr¨oßenregelung der Pegelst¨ande, welche eine Vorgabe
1
TABELLENVERZEICHNIS
TABELLENVERZEICHNIS
2
f¨
ur alle drei Pegelst¨ande gleichzeitig zul¨asst, ist in Kapitel 5 erkl¨art. Dieses Kapitel enth¨alt
ebenso einen Vergleich von der Simulation der Regelung am mathematischen Modell und
der Regelung am realem 3-Tank-Labormodell. In Kapitel 6 wird auf die softwareseitige
Umsetzung des Projektes eingegangen. Weiters wird auf Probleme aufmerksam gemacht,
die bei der Umstellung vom Programm Matlab/Simulink auf das Open-Source Projekt
Scilab/Scicos entstanden sind. Die Inbetriebnahme des 3-Tank-Labormodells sowie die
Durchf¨
uhrung einer Regelung werden in Kapitel 7 erl¨autert.
1 Aufbau
In diesem Kapitel wird der Aufbau des 3-Tank-Labormodells vorgestellt. Abschnitt 1.1
beschreibt die konstruktiven Elemente des alten Modells [3], welche bis auf die in Abschnitt 1.2 beschriebenen Verbesserungen, u
¨bernommen wurden. Unter Abschnitt 1.3 wird
das neue Automatisierungssystem, ein f¨
ur das 3-Tank-Labormodell entwickelte PC/104
System, erkl¨art. Dieses wird zur Ansteuerung und Regelung verwendet. Die Zusammenschaltung des PC/104 Systems mit dem 3-Tank-Labormodell sowie die Versorgung der
elektrischen Komponenten wird in Abschnitt 1.4 beschrieben.
1.1
3-Tank-Labormodell
Abbildung 1.1: 3-Tank-Laboraufbau
Das 3-Tank-Labormodell (Abb. 1.1) besteht aus drei u
¨bereinander liegenden Tanks, welche mit Ausflussschl¨auchen verbunden sind. Jeder Tank wird mit einer Pumpe u
¨ber einen
Pumpenschlauch aus dem Sammelbeh¨alter mit Wasser versorgt. Dazu wird angenommen,
dass sich immer genug Wasser im Sammelbeh¨alter befindet, damit die Pumpen keine Luft
¨
ansaugen k¨onnen. Ein Uberfließen
der Tanks verhindern Sicherheitsschl¨auche. Alle Wasserleitungen sind als Schl¨auche ausgef¨
uhrt, wodurch das Modell in Hinsicht auf Umbauten
3
1. Aufbau
1.1.1. Tanks
4
flexibel ist. Um den Pegelstand der Tanks zu messen, sind drei Drucksensoren an der Unterseite der Tanks angebracht. Die Sensoren messen den Differenzdruck zwischen Druck
im Tank und Atmosph¨are und geben diesen als Spannung proportional zum Pegelstand
aus. Weiters k¨onnen die Pegelst¨ande an Skalen an den Tanks und am Sammelbeh¨alter abgelesen werden. Im Folgenden wird auf die Komponenten Tanks, Pumpen und Sensoren
genauer eingegangen.
1.1.1
Tanks
Abbildung 1.2: Tank
Es werden quaderf¨ormige Tanks verwendet, welche aus Plexiglasteilen aufgebaut sind. Die
Abmessungen k¨onnen Tab. 1.1 entnommen werden. Der oberste Tank, welcher in Abb. 1.1
als Tank 1 bezeichnet ist, hat einen Zuflussschlauch von der Pumpe. Die beiden anderen
Tanks haben zwei, einen von der Pumpe und einen vom dar¨
uberliegenden Tank. Alle
drei Tanks haben zwei fl¨
ussigkeitsabf¨
uhrende Schl¨auche, einen Abflussschlauch und einen
Sicherheitsschlauch, welche u
usse an den Tanks angebracht
¨ber eingeklebte Schlauchanschl¨
sind. Alle Schl¨auche haben einen Innendurchmesser von 10 mm.
Tank 1, 2, 3
Sammelbeh¨alter
H¨ohe H
90 mm
100 mm
L¨ange a
51 mm
70.5 mm
Breite b
100 mm
501 mm
Tabelle 1.1: Abmessungen der Tanks
1.1.2
Pumpen
Es werden handels¨
ubliche Gartenpumpen verwendet, da diese einen geringen Anschaffungspreis haben. Die Pumpen werden so ausgelegt, dass deren F¨ordermenge doppelt so
hoch ist, als die durchschnittliche Ausfließgeschwindigkeit von 5 l/min, welche aus Messungen bestimmt wurde. Theoretisch k¨onnen diese Pumpen damit einen Tank doppelt so
schnell mit Fl¨
ussigkeit bef¨
ullen, als diese vom Tank ausfließen kann.
1. Aufbau
1.1.3. Sensoren
5
Abbildung 1.3: Tauchpumpe
Die Pumpen sind Niederspannungs-Tauchpumpen und haben eine geringe Betriebsspannung von 12 V DC. Weiters sind sie als Membranpumpen ausgef¨
uhrt, welche nach folgendem Prinzip funktionieren. Die Membran wird durch einen St¨oßel auf und ab bewegt,
wodurch das Volumen einer Arbeitskammer st¨andig vergr¨oßert und verkleinert wird. Diese
Kammer hat ein Saug- und ein Druckventil, welche beide Fl¨
ussigkeit nur in eine Richtung
durchlassen. Dadurch sind die Pumpen unabh¨angig von der Drehrichtung und f¨ordern
immer in die gleiche Richtung.
In folgender Auflistung sind die wichtigsten Daten der Pumpen zusammengefasst:
• Betriebsspannung von 12 V DC (nur f¨
ur Intervallbetrieb (max. 30 Minuten ein/aus)
zul¨assig)
• Max. F¨ordermenge von 10 l/min
• Max. Stromaufnahme 1.7 A
• Max. zul¨assige Dauerspannung 9 V
1.1.3
Sensoren
Zur Messung der Pegelst¨ande werden Drucksensoren (Honeywell 164PC01D37 ) verwendet (siehe Abb. 1.4). Diese werden unter jedem Tank angebracht und mit einem d¨
unnen
Schlauch mit dem Tankboden verbunden. Somit kann der Druck im Tank gemessen wer¨
den. Uber
den Differenzdruck p = pT − p0 zwischen dem Druck im Tank pT und dem
Umgebungsdruck p0 kann u
¨ber die Bernouli-Gleichung
p0 + ρgh = pT
(1.1)
die Verbindung zum Pegelstand
h=
p
ρg
1. Aufbau
1.2. Verbesserungen am 3-Tank-Labormodell
6
Abbildung 1.4: Drucksensor
mit ρ der Dichte des Wassers und g der Erdbeschleunigung, hergestellt werden1 . Der
Sensor liefert eine Spannung proportional zum Differenzdruck p. Diese Spannung f¨
uhrt
u
¨ber die Empfindlichkeit des Sensors auf den Pegelstand.
Die wichtigsten Daten der Sensoren sind hier angef¨
uhrt:
• Versorgungsspannung von 8 V
• Empfindlichkeit von 19.69 V/m (0.5 V/in, 1 in = 25.4 mm)
1.2
Verbesserungen am 3-Tank-Labormodell
Am alten Labormodell [3] sind einige Probleme aufgetreten. Diese werden durch konstruktive Verbesserungen in diesem Abschnitt gel¨ost.
1.2.1
Neue Schlauchanordnung
Beim alten Labormodell enden die Zuflussschl¨auche am rechten Rand der Tanks, wie
Abb. 1.5 entnommen werden kann. Da das Wasser mit einem gewissen Druck in die Tanks
fließt, str¨omt das Wasser mit diesem Druck an den rechten Rand und wird dort in die H¨ohe
gewallt (Abb. 1.5), da es sonst keine Ausweichm¨oglichkeiten gibt. Dieses Aufwallen ist sehr
unregelm¨aßig und physikalisch nicht zu erfassen. Daher kann es nicht in die Modellbildung
einfließen.
Wenn an die Pumpen die maximale Spannung von 12 V gelegt wird, erh¨oht sich dadurch
der Druck so hoch, dass das Wasser so stark nach oben wallt, dass es aus den Tanks
spritzt. Daher wurden die Ankerspannungen bei der Regelung des alten Labormodells auf
10 V begrenzt, wodurch das Ausspritzen verhindert wurde, das Aufwallen jedoch nicht.
1
Die Dynamik wird dabei nicht ber¨
ucksichtigt.
1. Aufbau
1.2.2. Pumpen- und Abflussschl¨auche
7
Abbildung 1.5: Aufwallen des Wassers bei alter Schlauchanordnung
Aus diesem Grund wird folgende konstruktive Verbesserung durchgef¨
uhrt: Die Schlauchanordnung der Pumpen- und Abflussschl¨auche wird ver¨andert. Der wesentliche Unterschied ist, dass in der neuen Anordnung die Enden der Schl¨auche nach unten zeigen und
nicht mehr an den rechten Rand. Dadurch kann sich das einfließende Wasser nun am
Tankboden gleichm¨aßig verteilen. Versuche ergaben, dass bei der Platzierung der Pumpenschl¨auche in Tankmitte (siehe Abb. 1.6), das ruhigste Verhalten entsteht und kein
Aufwallen des Wassers mehr stattfindet. Da das Wasser durch die Abflussschl¨auche mit
weniger Druck in die Tanks fließt, gen¨
ugt es, diese nach unten am linken Tankrand senkrecht zu platzieren, wie Abb. 1.6 entnommen werden kann.
Durch die neue Anordnung k¨onnen die Pumpen mit maximaler Betriebsspannung von 12
V betrieben werden und m¨
ussen nicht mit 10 V, wie beim alten Labormodell, begrenzt
werden.
Abbildung 1.6: Neue Schlauchanordnung
1.2.2
Pumpen- und Abflussschl¨
auche
Beim alten Labormodell wurden billige Schl¨auche verwendet. An manchen Stellen der
Pumpen- und Abflussschl¨auchen wurden nach einiger Zeit Querschnittsverengungen sichtbar. Messungen ergaben, dass sich dadurch das Durchflussverhalten der Pumpen und das
Ausfließverhalten der Tanks ver¨andert hat. Daher mussten die Durchflussparameter der
1. Aufbau
1.3. PC/104 System
8
Pumpen und die Ausfließparameter neu identifiziert werden. Um eine weitere Identifikation in Zukunft zu vermeiden, wurden die alten Pumpen- und Abflussschl¨auche mit neuen
hochwertigen PVC-Gewebeschl¨auchen ersetzt, welche einen dauerhaften Querschnitt und
somit konstante Parameter garantieren sollen.
1.3
PC/104 System
Zur Steuerung und Regelung des 3-Tank-Labormodells wird ein Automatisierungssystem
ben¨otigt. Am alten Labormodell [3] wurde ein kommerzielles System des Herstellers dSpace
verwendet. Ziel dieses Projektseminars ist es, ein gleichwertiges viel kosteng¨
unstigeres
System zu entwickeln.
Das Betriebssystem Linux mit der Echtzeiterweiterung RTAI kann die f¨
ur Echtzeitanwendungen geforderten, strengen Zeitbeschr¨ankungen bez¨
uglich Lese- und Schreibprozesse
¨
einhalten und l¨auft auf jedem standardm¨aßigen Rechner. Uber
eine entsprechende Ein/Ausgangskarte kann vom Rechner mit dem 3-Tank-Labormodell kommuniziert werden.
F¨
ur industrielle Anwendungen wird kein herk¨ommlicher PC verwendet. Es werden Systeme verwendet, welche kompakt sind und an den jeweiligen Fall angepasst werden k¨onnen.
Darum wird f¨
ur das 3-Tank-Labormodell ein PC/104 System verwendet. Im Folgenden
wird dieses System n¨aher erl¨autert. PC/104 ist ein Standard f¨
ur kompakte eingebettete
Systeme, auf dessen Basis underschiedliche Platinen angeboten werden. Als Beispiele k¨onnen komplette Einplatinenrechner und Platinen f¨
ur digitale und analoge Ein-/Ausg¨ange
genannt werden. Verbunden k¨onnen diese ein komplexes Rechensystem bilden.
Folgende Anspr¨
uche werden an das hier zu verwendete PC/104 System gestellt:
• Installation eines echtzeitf¨ahigen Betriebssystem.
• Drei analoge Ausg¨ange zur Ansteuerung der drei Pumpen des 3-Tank-Modells.
• Drei analoge Eing¨ange zum Einlesen der drei Drucksensoren des 3-Tank-Modells.
• Ausreichend Anschl¨
usse f¨
ur Peripherieger¨ate.
Folgende Komponenten wurden gew¨ahlt, um diesen Anspr¨
uchen gerecht zu werden:
• Motherboard: Wafer-LX 3.5” Low Power AMD Geode-LX 800 Motherboard von IEI
Technology Corp. (Abb. 1.7)
• Ein-/Ausgangskarte: PC/104 Multifunction I/O Board von Sensoray (Abb. 1.8)
• 80 GB Festplatte
Das PC/104 System hat nun folgende Eigenschaften:
• 5V Versorgung
1. Aufbau
1.3. PC/104 System
Abbildung 1.7: Motherboard Wafer-LX 3.5
Abbildung 1.8: Ein-/Ausgabekarte von Sensoray
• AMD LX-800 500MHz Prozessor
• 1 GB SDRAM
• 4 USB-Anschl¨
usse
• 2 Ethernet-Anschl¨
usse
• 2 SATA-Kan¨ale
• 4 Analoge Ausg¨ange
• 8 Analoge Eing¨ange
• 8 Digitale Ein-/Ausg¨ange
• 4 Encoder Eing¨ange
• 80 GB Festplattenspeicher
9
1. Aufbau
1.3. PC/104 System
10
• Latenzzeit von 61 µs2
Abbildungen 1.9 und 1.10 zeigen die einzelnen Komponenten, deren Verbindung und die
Anschl¨
usse des gesamten PC/104 Systems.
Abbildung 1.9: PC/104 System Innenansicht
Abbildung 1.10: PC/104 System Außenansicht
2
Die Latenzzeit wird in Abschnitt 2.8 durch Ausf¨
uhren des Echtzeittests bestimmt.
1. Aufbau
1.4
1.4. Elektrische Zusammenschaltung
11
Elektrische Zusammenschaltung
Abbildung 1.11: Blockschaltbild Gesamtsystem
In diesem Abschnitt wird beschrieben, wie das PC/104 System mit dem 3-Tank-Labormodell verbunden wird und welche Versorgung die Pumpen und Sensoren ben¨otigen. Abb.
¨
1.11 zeigt die Zusammenschaltung aller Komponenten. Uber
die Ein-/Ausgangskarte (I/OBoard) kann das PC/104 System analoge Signale an die Pumpen senden bzw. analoge
Signale von den Sensoren empfangen. Als Schutz f¨
ur das PC/104 System, wird dieses von
den Pumpen und Sensoren potentialgetrennt. Dies erfolgt durch Trennverst¨arkerkarten
(ISO-2/4 Analog vom Hersteller Imtron). Zur Ansteuerung der Pumpen wird Strom ben¨otigt. Diesen liefern Leistungsverst¨arker (Universal Power Module von Quanser ), welche
als Spannungsfolger mit hohem Innenwiderstand realisiert werden. Die Pumpen k¨onnen
bis zu einer Betriebsspannung von 12 V betrieben werden, die Ein-/Ausgangskarte des
PC/104 Systems hat jedoch nur einen Spannungsbereich von ±10 V. Um die Pumpen
mit voller Leistung betreiben zu k¨onnen, werden in diesem Fall Kabel mit 3-facher Verst¨arkung verwendet, wodurch die 12 V erreicht werden k¨onnen. Die Sensoren ben¨otigen
eine Versorgungsspannung von 8 V. Diese wird von einem Netzger¨at bereitgestellt.Um
das PC/104 System sicher mit den Trennverst¨arkerkarten verbinden zu k¨onnen, wurde
die Verbindungsbox (Abb. 1.12) mit den entsprechenden Anschlusssteckern hergestellt.
Ebenso sorgt die Anschlussbox (Abb. 1.13) daf¨
ur, dass die Sensoren und Pumpen am
3-Tank-Labormodell einfach und sicher mit Kabel angeschlossen werden k¨onnen.
1. Aufbau
1.4. Elektrische Zusammenschaltung
Abbildung 1.12: Verbindungsbox
Abbildung 1.13: Anschlussbox
12
2 Software und Installation
Dieses Kapitel beschreibt die Installation eines echtzeitf¨ahigen Betriebssystems mit ausschließlich Open-Source-Software am PC/104 System, welches in Kapitel 1.3 beschrieben
ist (vgl. [1, 2]).
2.1
Betriebssystem Debian GNU/Linux
Aufgrund von Erfahrungen aus anderen Projekten (unter anderem aus [1, 2]) wird als Betriebssystem die stabile Linux -Distribution Debian GNU/Linux 4.0r3 “Etch”) ausgew¨ahlt.
Diese steht im Internet unter [4] frei zur Verf¨
ugung. Eine genaue Installationsanleitung
und eine umfassende Dokumentation ist ebenfalls unter [4] zu finden. F¨
ur dieses System
wird das netinst-Image mit Basispaketen f¨
ur ein i386-System ausgew¨ahlt. Die Installation
erfolgt u
¨ber ein externes CD-ROM-Laufwerk, welches u
¨ber den eSata-Anschluss mit dem
PC/104 System verbunden wird. Dazu muss im BIOS-Setup-Men¨
u1 unter Advanced BIOS
Features/First Boot Device : CDROM eingestellt werden. Nach dem Booten der CD sind
folgende Schritte durchzuf¨
uhren:
¨
• Sprache und Tastaturlayout ausw¨ahlen: Deutsch, Osterreich.
• Netzwerkeinstellungen werden per DHCP automatisch eingerichtet. Wenn sich der
Rechner in keinem Netzwerk befindet, k¨onnen die Einstellungen auch manuell get¨atigt werden.
• Partionierung der 80 GB Festplatte: Standardeinstellung prim¨are Partition von 78,5
GB und swap Speicher von 1,5 GB best¨atigen. Der swap Bereich dient als Auslagerungsspeicher, um den Arbeitsspeicher zu erweitern.
• Passwort f¨
ur den “root”-Administrator eingeben und einen regul¨aren Benutzer anlegen.
• Die Pakete Desktop und Web f¨
ur die Verwendung des Rechners ausw¨ahlen.
• Netzwerkspiegel ausw¨ahlen, von dem die erforderlichen Pakete heruntergeladen werden k¨onnen.
• F¨
ur alle weiteren Eingaben k¨onnen die Standard-Einstellungen belassen werden.
1
Ins BIOS-Men¨
u gelangt man beim Award BIOS durch Dr¨
ucken von Strg-Alt-Esc oder Enf w¨ahrend
des POST (Power on S elf T est).
13
2. Software und Installation
2.2. Grafikbibliothek MesaLib
14
• Der Grafikchip ist vom Hersteller AMD. Damit die grafische Oberfl¨ache funktioniert,
muss der AMD Geode Driver installiert werden: Das Paket xf86-video-geode-2.11.3
kann von http://cgit.freedesktop.org/xorg/driver/xf86-video-geode/ heruntergeladen
und mit der Synaptic-Paketverwaltung installiert werden.
Nach der Grundinstallation von Linux werden f¨
ur die folgenden Schritte, die in Tabelle 2.1
aufgelisteten Pakete ben¨otigt, welche mit der Synaptic-Paketverwaltung installiert werden.
Um alle Rechte zu haben und Probleme auszuschließen, sollen ab jetzt alle Kommandomake
g77
automake
autoconf
pvm-dev
libtool
bison
doxygen
libqt3-mt-dev
libgtk2.0-dev
cvs
gcc-3.4
g++-3.4
gettext
ocaml
initrd-tools
swig
flex
ruby
lshw
ruby1.8-dev python2.4-dev docbook-utils docbook-to-man
patch
sablotron
tcl8.4-dev
tk8.4-dev
xaw3dg-dev
Tabelle 2.1: Mit Synaptic einzubindende Pakete
zeilenoperationen mit Administratorrechten ausgef¨
uhrt werden. Um das zu erm¨oglichen,
muss im Startbildschirm unter dem Men¨
u Aktionen die Option Systemadministrator einloggen m¨oglich ausgew¨ahlt werden.
Abschließend werden die verwendeten Kompiler im Root-Terminal mit folgenden Operationen eingestellt:
cd /usr/bin
ln -sf gcc-3.4 gcc
ln -sf gccbug-3.4 gccbug
ln -sf g++-3.4 g++
ln -sf cpp-3.4 cpp
Im n¨achsten Schritt werden die Quellcodes der ben¨otigten Softwarepakete, welche in Tabelle 2.2 aufgelistet sind in ein beliebiges Download-Verzeichnis z.B. root/Desktop/ Download heruntergeladen, woraus diese dann sp¨ater installiert werden. Die gew¨ahlten Versionen sind bewusst nicht die aktuellsten. Diese haben jedoch bereits auf anderen Systemen
erfolgreich und stabil funktioniert. Die Bedeutung und Verwendung der einzelnen Softwarepakete wird sp¨ater bei der jeweiligen Implementierung erl¨autert.
2.2
Grafikbibliothek MesaLib
Die 3D-Grafikbibliothek MesaLib wird f¨
ur die grafische Verarbeitung des Visualisierungspaketes qRtailab ben¨otigt. Sie ist vergleichbar mit DirektX unter Microsoft Windows,
aber plattformunabh¨angig und ein Open-Source Paket. In den folgenden Schritten wird
die Version MesaLib-6.4.2 installiert und eingerichtet. Als Download-Verzeichnis wird
root/Desktop/Download gew¨ahlt.
2. Software und Installation
Softwarepaket
Mesa Bibliothek
EFLTK Bibliothek
Linux Kernel
RTAI
Comedi
Comedi Bibliothek
Scilab
RTAI-Erweiterung f¨
ur Scilab
2.3. Systembibliothek eFLTK
Quelle
www.mesa3d.org
www.equinox-project.org
www.kernel.org
www.rtai.org
www.comedi.org
www.comedi.org
www.scilab.org
wiki4students
15
Datei
MesaLib-6.4.2.tar.bz2
efltk-2.0.7.tar.gz
linux-2.6.17.14.tar.bz2
rtai-3.5.tar.bz2
comedi-0.7.76.tar.gz
comedilib-0.8.1.tar.gz
scilab-4.1.2-src.tar.gz
scilab-4.1.2-rtailab.tgz
Tabelle 2.2: Ben¨otigte Softwarepakete
cd /usr/local/src
cp /root/Desktop/Download/MesaLib-6.4.2.tar.bz2 .
→Achte auf das Leerzeichen und den Punkt am Ende dieser Anweisung.
tar xjvf MesaLib-6.4.2.tar.bz2
→Hier werden die Dateien in ein Verzeichnis mit dem selben Namen entpackt.
cd Mesa-6.4.2
make realclean
→Dieser Befehl entfernt die nicht mehr ben¨otigten Dateien.
make linux -x86-static
→Damit werden die Dateien f¨
ur ein x86 System kompiliert.
make install
→Folgende Pfade m¨
ussen bei den folgenden Abfragen angegeben werden:
/usr/x11R6/include
/usr/x11R6/lib
2.3
Systembibliothek eFLTK
Efltk (E xtended f ast l ight toolkit) ist die zweite Systembibiliothek, die f¨
ur die grafische
Verarbeitung von qRtailab notwendig ist. Mit folgenden Anweisungen wird dieses Paket
installiert:
cd /usr/local/src
cp /root/Desktop/Download/efltk-2.0.7.tar.gz .
tar xzf efltk-2.0.7.tar.gz
ln -s efltk-2.0.7 efltk
cd efltk
./efltk-config.in –prefix=/usr/local/ –multithread
./emake
2. Software und Installation
2.4. Patchen des Linux-Kernels
16
./emake install
gedit /etc/ld.so.conf
→Die Anweisung /usr/local/lib wird am Anfang der Datei eingef¨
ugt.
¨
→Mit “Speichern” und “Beenden” wird diese Anderung abgeschlossen.
ldconfig
2.4
Patchen des Linux-Kernels
RTAI (Real T ime Application I nterface) ist eine Erweiterung von Linux zu einem Echtzeitsystem. Als Grundlage dient der noch unver¨anderte Linux-Kernel, welcher mit dem
RTAI-Patch erweitert wird. Wie in Abb. 2.1 zu sehen ist, wird durch diesen Patch ein
Echtzeit-Kernel zwischen Hardware (Prozessor) und Linux-Kernel eingef¨
ugt. Danach verwaltet dieser die Interrupts des Prozessors mit folgender Rangordnung: Der urspr¨
ungliche
Linux-Kernel erh¨alt die niedrigste Priorit¨at, wodurch f¨
ur die Echtzeittasks die h¨ochste
Priorit¨at bleibt und die strikten Zeitbeschr¨ankungen bez¨
uglich Lese- und Schreibprozessen gew¨ahrleistet werden k¨onnen. Der Linux-Kernel wird also immer nur dann ausgef¨
uhrt,
wenn die Echtzeittasks nichts zu tun haben. Die folgenden Anweisungen f¨
uhren das Pat-
Abbildung 2.1: Architektur RTAI [6]
chen des Kernels durch.
cd /usr/src
cp /root/Desktop/Download/linux-2.6.17.14.tar.bz2 .
tar xjvf linux-2.6.17.14.tar.bz2
mv linux-2.6.17.14 linux-2.6.17.14-rtai
ln -s /usr/src/linux-2.6.17.14-rtai linux
cp /root/Desktop/Download/rtai-3.5.tar.bz2 .
tar xjvf rtai-3.5.tar.bz2
ln -s /usr/src/rtai-3.5 rtai
2. Software und Installation
2.5. Konfiguration des Linux-Kernels
17
cd linux
patch -p1 < /usr/src/rtai/base/arch/i386/patches/...
...hal-linux-2.6.17-i386-1.5-02.patch
make oldconfig
→Alle Abfragen mit ENTER-Taste best¨atigen um den Standard-Wert auszuw¨ahlen.
make xconfig
→Siehe Abschnitt 2.5
make
make modules install
make install
mkinitrd -o /boot/initrd.img-2.6.17.14-rtai 2.6.17.14-rtai
gedit /boot/grub/menu.lst
→Siehe Abschnitt 2.6
Die Installation wird in Abschnitt 2.7 fortgesetzt.
2.5
Konfiguration des Linux-Kernels
Die Konfiguration wird vom Linux-Knoppix-Kernel u
¨bernommen und ist auf der beigelegten CD angef¨
uhrt (kernel configuration.rtf).
2.6
Konfiguration des Bootloaders Grub
Als Bootloader dieses Linux Systems wird der Haupt-Bootloader f¨
ur i386 Grub (Gr and
unified bootloader) verwendet. Durch gedit /boot/grub/menu.lst kann man die Datei menu.lst, welche das Aussehen und die Funktionalit¨at des Bootmen¨
us festlegt, bearbeiten
und folgende Flags setzen:
default = 0
howmany = all
memtest86 = false
¨
Die Anderungen
mit “Speichern” und “Beenden” abschließen und mit
update-grub
aktualisieren. Danach muss das System neu gestartet werden. Bei jedem Start erscheint
nun das Bootmanager-Men¨
u, in dem das gew¨
unschte startf¨ahige Betriebssystem mit dem
richtigen Kernel, ausgew¨ahlt werden kann.
2. Software und Installation
2.7
2.7. Bibliothek ComediLib
18
Bibliothek ComediLib
Comedi (Control and measurement d evice i nterface) stellt den Treiber f¨
ur die Ein-/
Ausgabekarte bereit. Dieses Open-Source Paket steht f¨
ur viele der g¨angigsten Messkarten
zur Verf¨
ugung. Die folgenden Anweisungen installieren die Bibliothek von Comedi mit der
Version Comedilib-0.8.1.
cd /usr/local/src
cp /root/Desktop/Download/comedilib-0.8.1.tar.gz .
tar xzf comedilib-0.8.1.tar.gz
cd comedilib-0.8.1
sh autogen.sh
./configure -sysconfdir=/etc -localstatedir=/var
make
gedit /usr/local/src/comedilib/doc/Makefile
→Die Eintr¨age install man und uninstall man auskommentieren.
make install
make dev
Nach erfolgreicher Installation sollen im Verzeichnis /dev die Comedi Devices comedi0 comedi9 erstellt worden sein.
2.8
RTAI (1)
Aufgrund der Abh¨angigkeit von RTAI und Comedi wird im ersten Schritt RTAI ohne
Comedi-Unterst¨
utzung installiert.
cd /usr/src/rtai
make xconfig
→Machine(x86): Number of CPUs auf 1 setzen, speichern und beenden.
make
make install
gedit /etc/bash.bashrc
→Anweisung export PATH=/usr/realtime/bin:$PATH am Ende der Datei
einf¨
ugen.
→Speichern, beenden und System neu starten.
Um RTAI verwenden zu k¨onnen, m¨
ussen Module geladen werden. Dazu wird dieses Startskript loadrtai geschrieben, welches am Beginn jedes Tasks ausgef¨
uhrt werden muss.
gedit /usr/realtime/bin/loadrtai
#!/bin/bash
2. Software und Installation
2.9. Comedi
19
mknod -m66/dev/rtai shm c 10 254
for n in ‘seq 0 9‘
do
f=/dev/rtf$n
mknod -m 666 $f c 150 $n
done
MOD DIR=/usr/realtime/modules
insmod $MOD DIR/rtai hal.ko
insmod $MOD DIR/rtai lxrt.ko
insmod $MOD DIR/rtai fifos.ko
insmod $MOD DIR/rtai sem.ko
insmod $MOD DIR/rtai mbx.ko
insmod $MOD DIR/rtai msg.ko
insmod $MOD DIR/rtai netrpc.ko ThisNode=”10.0.0.50”2
insmod $MOD DIR/rtai shm.ko
insmod $MOD DIR/rtai signal.ko
insmod $MOD DIR/rtai tasklets.ko
#!/usr/realtime/bin/urtnet &
→Speichern und beenden
cd /usr/realtime/bin
chmod a+x loadrtai
gedit /etc/profile
→Nach der Zeile export PATH Anweisung export PATH=/usr/realtime/bin:
$PATH einf¨
ugen
Mit folgender Anwendung wird ein Echtzeittest des Systems durchgef¨
uhrt, mit dem eine
erfolgreiche Installation u
uft werden kann.
¨berpr¨
loadrtai
cd /usr/realtime/testsuite/kern/latency
./run
¨
Hier d¨
urfen bei der Ausgabe keine zeitlichen Uberl¨
aufe (overruns) vorkommen.
2.9
Comedi
An dieser Stelle wird nun die Schnittstelle zwischen der Sensoray Ein-/Ausgabekarte und
dem Linux-Echtzeitsystem mit der Version Comedi-0.7.76 installiert.
2
10.0.0.50: Hier wird die IP-Adresse des Rechners im verwendeten Netzwerk angegeben.
2. Software und Installation
2.10. RTAI (2)
20
mkdir /usr/local/src/comedis586
cd /usr/local/src/comedis586
cp /root/Desktop/Download/comedi.tar.bz2 .
tar xvf comedi.tar.bz2
gedit /usr/src/linux/.config
→Am Ende folgende Anweisung anf¨
ugen: CONFIG RTHAL=y
→Speichern und beenden
make
make install
cp include/linux/comedi.h /usr/include/
cp include/linux/comedilib.h /usr/include/
ln -s /usr/include/comedi.h /usr/include/linux/comedi.h
ln -s /usr/include/comedilib.h /usr/include/linux/comedilib.h
ln -s /usr/include/linux /usr/local/include/linux
Die Treiber der Sensoray-Karte werden mit folgendem Startskript loadcomedi geladen:
gedit /usr/realtime/bin/loadcomedi
#!/bin/bash
insmod /lib/modules/2.6.17.14-rtai/comedi/comedi.ko
insmod /lib/modules/2.6.17.14-rtai/comedi/kcomedilib/kcomedilib.ko
insmod /lib/modules/2.6.17.14-rtai/comedi/drivers/s526.ko
comedi config /dev/comedi0 s526 0x200,0x33
modprobe comedi fc
sync
insmod /usr/realtime/modules/rtai comedi.ko
sync
2.10
RTAI (2)
Mit dem eingebundenen Paket Comedi kann nun im zweiten Schritt RTAI mit Comedi Unterst¨
utzung installiert werden.
cd /usr/src/rtai
make xconfig
• Add-ons:
3
0x200 ist die Adresse der Sensoray-Karte. Als Standard ist 0x2c0 eingestellt. Diese kann durch den
Jumper J1 auf der Karte ver¨
andert werden. Genauere Informationen k¨onnen im Handbuch der Karte unter
www.sensoray.com nachgelesen werden. Die eingestellte Adresse muss mit der Adresse, welche im BIOS
unter Integrated Peripherals/IT8888 ISA Decode IO/Decode I/O Addr. eingegebenen ist, u
¨bereinstimmen.
0x3 beschreibt die Interrupt-Linie, welche auch durch den Jumper J1 auf der Sensoray-Karte gesetzt
wird.
2. Software und Installation
2.11. Testen der Ein-/Ausgabekarte
21
– Comedi support over LXRT - aktivieren
– COMEDI installation directory: /usr/local eingeben
• RTAI-Lab
– RTAI-Lab - aktivieren
– EFLTK installation directory: /usr/local eingeben
→Speichern und beenden.
make
make install
2.11
Testen der Ein-/Ausgabekarte
Um die Sensoray-Karte zu pr¨
ufen, kann das Testprogramm tut2.c von wiki4students 4 im
Verzeichnis
/usr/local/src/comedilib/demo
ausgef¨
uhrt werden. Dieses Programm liest einen analogen Eingang ein und schreibt einen
Wert auf einen analogen Ausgang. Die Information u
¨ber die Adressen und Kan¨ale der
Karte, welche im Programm zugewiesen werden m¨
ussen (mit gedit tut2.c), erh¨alt man
u
¨ber die Anwendung:
./board info
Mit
./tut2.c
kann die Karte nun getestet werden.
2.12
Scilab / Scicos
Das Open-Source Paket Scilab/Scicos wird f¨
ur die Simulation des mathematischen Modells und der zugeh¨origen Regler sowie f¨
ur die automatische Echtzeitcodegenerierung von
RTAI verwendet. In diesem Abschnitt wird das Softwarepaket mit der Version Scilab-4.1.2
installiert.
4
wiki4students ist ein Studentennetzwerk und internes Informationsportal u
ur
¨ber RTAI des Institut f¨
Regelungstechnik und Prozessautomatisierung der JKU Linz.
2. Software und Installation
2.13. RTAI-Lab Add-on f¨
ur Scilab
22
cd /usr/local
cp /scilab-4.1.2.tar.gz .
tar xzvf scilab-4.1.2.tar.gz
cd scilab-4.1.2
./configure –without-java
make all
cd /usr/src/rtai/rtai-lab/scilab/macros
gedit Makefile
→Scilab-Version auf 4.1.2 umstellen
make install
ln -s /usr/local/scilab-4.1.2/bin/scilab /usr/local/bin/scilab5
Mit Eingabe von scilab im root-Terminal kann nun das Programm gestartet werden.
2.13
RTAI-Lab Add-on fu
¨ r Scilab
Um in Scicos einen Echtzeitcode generieren zu k¨onnen, wird dieses Zusatzpaket installiert.
cd /usr/local
cp /root/Desktop/Download/scilab-4.1.2-rtailab.tgz .
tar zxvf scilab-4.1.2-rtailab.tgz
Nun m¨
ussen die Dateien vom Add-on /usr/local/scilab-4.1.2-rtailab im Verzeichnis
/usr/src/rtai-3.5/rtai-lab/scilab/ u
¨berschrieben werden.
cd scilab-4.1.2-rtailab/macros
make install
exit
make user
Beim Start von Scilab soll nun die Kommandozeile RTAI ready erscheinen. Weiters stehen
in Scicos die Optionen CodeGen und Set Target und die RTAI-Lib-Palette zur Verf¨
ugung.
2.14
QRtaiLab
QRtailab ist ein Visualisierungspaket, mit dem Daten eines laufenden Echtzeitprozesses
angezeigt und ver¨andert werden k¨onnen. Dieses kann nur auf einem Linux-Betriebs-system
mit RTAI-Erweiterung verwendet werden. Hier folgt der Installationsvorgang f¨
ur qRtailab.
• qRtailab on etch von wiki4students herunterladen und den Anweisungen in readme.txt folgen:
5
Dieser Link wird gesetzt, damit Scilab in jedem Verzeichnis gestartet werden kann.
2. Software und Installation
2.15. Matlab f¨
ur RTAI konfigurieren
23
• Zeilen mit “file:/// ” und “etch-backports main” von sources.list am Ende der Systemdatei /etc/apt/sources.list (mit gedit /etc/apt/sources.list) hinzuf¨
ugen.
• Pakete von rootfs/root/Desktop/Downloads nach /root/Desktop/Downloads am System ablegen.
• Synaptic Paketverwaltung aktualisieren und alle qt4-4 -Pakete und das Paket libqwt5qt4-dev aus den etch backports installieren.
• Die ausf¨
uhrbare Datei qRtailab von /qrtailab on etch/binary etch in den Ordner
/usr/realtime/bin ablegen.
• Mit ./qrtailab starten.
2.15
Matlab fu
¨ r RTAI konfigurieren
In Matlab besteht die M¨oglichkeit eine automatische Echtzeitcodegenerierung durchzuf¨
uhren. Im aktuellen Projekt kommt dies zur Anwendung, um die bereits vorhandenen
Reglerentw¨
urfe in Matlab am Windows-dSpace-System mit dem Linux-PC/104-System zu
vergleichen. Im folgenden Abschnitt wird die Einbindung von RTAI in Matlab beschrieben. Dabei muss auf die verwendeten Softwareversionen R¨
ucksicht genommen werden.
Bei diesem Projekt werden RTAI-3.5 und Matlab R14 SP3 verwendet. (Die Kombination
RTAI-3.5 und Matlab R2007b funktioniert zur Zeit noch nicht.)
• Kopiere vom Linux -System den Inhalt des Ordners /usr/src/rtai-3.5/rtai-lab/ matlab in den Ordner C:\Program Files\Matlab\2007a\rtw\c\rtai 6 am Windows- Rechner
• F¨
uhre die Datei setup.m vom rtai -Ordner in Matlab aus. Danach sollten in der
Simulink -Bibliothek RTAI-Devices ausw¨ahlbar sein.
• Ver¨andere die Datei rtai.tmf im rtai -Ordner folgendermaßen:
– MATLAB ROOT=/usr/local/matlab →Es wird das Matlab-Arbeitsverzeichnis
am Linux-System angegeben.
– COMPUTER=GLNX86 →Es wird vorausgesetzt, dass das Linux-System eine
x86-Architektur besitzt.
– LINUX HOME=/usr/src/linux →Installationsverzeichnis von Linux
– RTAIDIR=/usr/realtime →Installationsverzeichnis von rtai
– COMEDI HOME=/usr/src/comedi →Installationsverzeichnis von comedi
6
Dieser Pfad h¨
angt vom Installationsverzeichnis von Matlab ab. Er k¨onnte z.B. auch
C:\Matlab701\rtw\c\rtai sein.
2. Software und Installation
2.15. Matlab f¨
ur RTAI konfigurieren
24
– L¨osche folgende Zeilen im root-Abschnitt:
|>START EXPAND RULES<|%.o : |>EXPAND DIR NAME<| /%.c
gcc -c $(CFLAGS) $<
|>END EXPAND RULES<|
• Kopiere die drei Ordner extern, rtw und simulink vom Verzeichnis C:\Program Files\Matlab\2007a\ im Windows-System in den am Linux -System erstellten Ordner
¨
/usr/local/matlab. Uberpr¨
ufe, ob alle c Dateien vom \rtw\c\libsrc-Ordner mitkopiert wurden.
• Um die Code-Generierung zu testen, kopiere die Datei
C:\Program Files\Matlab\2007a\rtw\c\rtai\examples\test.mdl in einen anderen
¨
Ordner z.B. C:\Program Files\Matlab\2007a\work. Offne
diese Datei in Simulink
und f¨
uhre sie aus.
¨
• Uberpr¨
ufe, ob RTAI-Target unter dem Men¨
upunkt
Simulation/Configuration Parameters/Real-Time Workshop ausgew¨ahlt ist und generiere den Code mit Build.
• Danach kopiere den generierten Ordner test rtai ins Linux-System z.B. nach
/usr/local/src/tests. Folgende Anweisungen kompilieren und f¨
uhren das Testprogramm 5 sec aus. Die Eingaben m¨
ussen als root-Ben¨
utzer durchgef¨
uhrt werden.
cd /usr/local/src/tests/test rtai
make -f test.mk
cd /usr/local/src/tests/
./test -v -f 5
• Um das Visualisierungsprogramm zu testen, starte den Prozess test im Warte-Modus
und f¨
uhre qRtaiLab aus:
./test &
qrtailab &
3 Modellbildung
Die hier angef¨
uhrte Modellbildung basiert auf der Modellbildung in [3]. Der wesentliche
Unterschied zu [3] ist, dass in dieser Arbeit nur die Untersuchung von dem verwendeten
Modell mit dichtem Abfluss, wie in Abb. 3.1 dargestellt, durchgef¨
uhrt wird. Jedes Teilsystem (Tank und Pumpe mit Motor) wird im Einzelnen betrachtet und am Ende zu einem
Gesamtsystem zusammengefasst.
3.1
Modell eines Tanks
Abbildung 3.1: Tank
Jeder Tank l¨asst sich allgemein als dynamisches System
q zu (t)
dh(t)
= −fab (h(t), hu (t)) +
dt
A
qab (t) = fab (h(t), hu (t))A
(3.1)
(3.2)
beschreiben. Der Zustand h stellt den Pegelstand des betrachteten Tanks dar. Der Pegelstand des darunterliegenden Tanks hu und der Zufluss qzu , angegeben als Volumenstrom,
sind die beiden Eing¨ange des Systems. Der Ausgang des Tankmodells ist der Abfluss
25
3. Modellbildung
3.1. Modell eines Tanks
26
qab , ebenfalls angegeben als Volumenstrom. Aus physikalischer Sicht wird nur der Bereich
h(t) ≥ 0 betrachtet. A ist der Querschnitt des Tanks. Die Funktion fab beschreibt das
Ausfließverhalten. Das Wasser wird durch einen Schlauch in den darunterliegenden Tank
gef¨
uhrt. Das Ende dieses Schlauches liegt am Boden und somit unter dem Wasserpegel
dieses Tanks. Das Wasser wird als inkompressibles Fluid (r =const.) modelliert. Weiters wird der Pegelstand waagrecht und gleich u
¨ber dem gesamten Tank angenommen.
Oberfl¨achenwellen werden vernachl¨assigt.
Das hinunterfließende Wasser tritt am Ende des Abflussschlauches aus (siehe Abb. 3.1
Drucklevel 2). Dort herrscht ein h¨oherer Druck als der Atmosph¨arendruck p0 . Mit dem
erweiterten Satz von Bernoulli (mit Reibung) wird das Ausfließverhalten modelliert. Dieser wird zweimal angesetzt. In Gl. 3.3 wird die Stromr¨ohre zwischen Drucklevel 1 und
Drucklevel 2 (siehe Abb. 3.1) betrachtet und in Gl. 3.4 die Stromr¨ohre zwischen Drucklevel 3 und Drucklevel 2 (siehe Abb. 3.1). Drucklevel 1 variiert mit dem Pegelstand h, sowie
Drucklevel 3 mit dem Pegelstand des darunterliegenden Tanks hu . Drucklevel 2 befindet
sich an der Austrittsstelle des Wassers am Boden des darunterliegenden Tanks und ist
konstant.
p0 + ρg(h + H) = p2 +
ρv 2
(1 + ζ)
2
p0 + ρghu = p2
(3.3)
(3.4)
v ist die Austrittsgeschwindigkeit aus dem Schlauch, p0 der Atmosph¨arendruck, p2 der
hydrostatischer Druck an der Austrittsstelles des Wassers am Boden des darunterliegenden
Tanks, ζ die Druckverlustzahl des Ausflusses, welche alle Reibungsverluste der Str¨omung
beschreibt, und H der vertikale Abstand der beiden Tanks.
Aus den beiden Gleichungen 3.3 und 3.4 ergibt sich die Austrittsgeschwindigkeit im
Schlauch
v(h) =
s
2g(h + H − hu )
.
1+ζ
(3.5)
Aus dieser Austrittsgeschwindigkeit v(h) und der Beziehung
ASch
A
wird das Ausfließverhalten
fab (h) = v(h)
mit dem Schlauchquerschnitt ASch
ASch
fab (h) =
A
s
2g(h + H − hu )
1+ζ
hergeleitet. Das nun erhaltene dynamische System
(3.6)
(3.7)
3. Modellbildung
3.1. Modell eines Tanks
ASch
dh(t)
=−
dt
A
s
2g(h(t) + H − hu (t)) qzu (t)
+
1+ζ
A
s
2g(h(t) + H − hu (t))
qab (t) = ASch
1+ζ
27
(3.8)
(3.9)
hat h(t) als Zustand, qzu (t) und hu (t) als Eing¨ange und qab (t) als Ausgang. Hier l¨asst
sich die Verkoppelung der Tanks erkennen. Der untere Pegelstand hu (t) beeinflusst das
Ausflussverhalten des Tanks. Totzeiten treten auf Grund der Massenkontinuit¨atsbeziehung
keine auf, da ein inkompressibles Fluid zu Grunde gelegt wird1 .
Um das Ausfließverhalten des Tanks u
¨ber die Zeit zu betrachten, wird die Differentialgleichung 3.8 f¨
ur h(t) gel¨ost, wobei qzu (t) = 0 angenommen wird, um nur das Ausfließverhalten ohne Zufluss zu erhalten. Der Anfangszustand h(0) wird mit h0 festgelegt. Zuerst
wird allgemein folgende Differentialgleichung mit Anfangsbedingung
betrachtet, welche die L¨osung
p
dx(t)
= −a x(t), x(0) = x0
dt
x(t) =
( √
0
x0 −
at 2
2
√
(3.10)
x
f¨
ur t < 2 a 0
√
x
f¨
ur t > 2 a 0
(3.11)
besitzt. Mit Hilfe von Gl. 3.10 und Gl. 3.11 kann Gl. 3.8 mit a =
h(t) + H − hu gel¨ost werden. Die L¨osung lautet


 √h + H − h −
0
u
h(t) =


0
ASch
A
q
2
2g
t
1+ζ
2
− H + hu
ASch
A
f¨
ur t < 2
A
√
f¨
ur t > 2
A
√
q
2g
1+ζ
und x(t) =
(h0 +H−hu )(1+ζ)
√
ASch 2g
(3.12)
(h0 +H−hu )(1+ζ)
√
ASch 2g
und stellt eine Parabel dar, wie Abb. 3.2 zeigt. Es wird nur der Bereich h(t) ≥ 0 betrachtet.
1
Im kompressiblen Fall ergeben sich vernachl¨assigbar kleine Totzeiten (Druckwellen mit Schallgeschwindigkeit).
3. Modellbildung
3.2. Modell einer Pumpe
28
80
60
h in mm
40
20
0
−20
−40
−60
−80
−100
−120
0
5
t in s
10
15
Abbildung 3.2: Ausfließkennlinie
3.2
Modell einer Pumpe
Der Antrieb der Pumpe wird als Gleichstrommotor modelliert, welcher die Ankerspannung
uA (t) als Eingangsgr¨oße besitzt. Das System wird in zwei Teilsysteme unterteilt:
• Elektrisches Teilsystem: Gleichstrommotor ohne Massentr¨agheit
• Mechanisches Teilsystem: Pumpe mit zus¨atzlicher Massentr¨agheit des Motors
3.2.1
Elektrisches Teilsystem
Abbildung 3.3: Elektrisches Schaltbild einer Gleichstrommaschine
In Abbildung 3.3 ist das elektrische Schaltbild der Pumpe dargestellt. Daraus l¨asst sich
die Maschengleichung 3.13, mit dem Ankerwiderstand RA , der Ankerinduktivit¨at LA und
der induzierten Spannung ui (t), aufstellen
uA (t) = RA iA (t) + LA
diA (t)
+ ui (t).
dt
(3.13)
3. Modellbildung
3.2.2. Mechanisches Teilsystem
29
Mit dieser und den Motorgleichungen f¨
ur die induzierte Spannung (Gl. 3.14) und das
elektrische Drehmoment (Gl. 3.15), mit der Motorkonstante kM und der Winkelgeschwindigkeit ω(t),
ui (t) = kM ω(t)
(3.14)
Mel (t) = kM iA
(3.15)
l¨asst sich das elektrische Teilsystem (Gl. 3.16 und 3.17) herleiten. Der Ankerstrom iA (t)
stellt den Zustand dieses dynamischen Systems dar, uA (t) und ω(t) die Eing¨ange und das
elektrische Drehmoment Mel (t) den Ausgang dieses Systems.
3.2.2
1
diA
=
(uA (t) − RA iA (t) − kM ω(t))
dt
LA
(3.16)
Mel (t) = kM iA (t)
(3.17)
Mechanisches Teilsystem
Das mechanische Teilsystem besteht aus den rotierenden Massen des Gleichstrommotors
und der Pumpe. F¨
ur die Motorwelle gilt der Drallsatz (Gl. 3.18), mit dem Moment der
Pumpe MP (t) und den Massentr¨agheitsmomenten JM des Motors und JP der Pumpe.
dω(t)
(3.18)
dt
In den folgenden Gleichungen 3.19 - 3.23 wird das noch unbekannte Moment der Pumpe
hergeleitet. Dazu wird die F¨ordermenge der Pumpe qP (t) als Volumenstrom proportional
mit der Pumpenkonstante kP zur Winkelgeschwindigkeit ω(t) angenommen (Gl. 3.19).
Mel (t) − MP (t) = (JM + JP )
qP (t) = kP ω(t)
(3.19)
Weiters wird die Leistungsbilanz (Gl. 3.20) mit konstantem Wirkungsgrad ηP angesetzt.
MP (t)ω(t)ηP = 4p(t)qP (t)
(3.20)
Der Druckanstieg der Pumpe ∆p(t) ist dem hydrostatischen Druck der zu u
¨berwindenden
F¨orderh¨ohe hP (t) gleichzusetzen (Gl. 3.21)
4p(t) = ρghP (t),
(3.21)
wobei hP (t) unter Gl. 3.27 definiert ist. Durch Zusammenf¨
uhren der Gleichungen 3.19
- 3.21 erh¨alt man folgende Beziehung (Gl. 3.22), aus welcher die Unabh¨angigkeit des
Moments der Pumpe von der Winkelgeschwindigkeit ersichtlich wird.
3. Modellbildung
3.2.3. Gesamtsystem der Pumpe
MP (t)ω(t)ηP = ρghP (t)kP ω(t)
30
(3.22)
Durch Umformen der Gl. 3.22 ergibt sich folgendes Moment der Pumpe.
MP (t) =
1
ρghP (t)kP
ηP
(3.23)
¨
Die zeitliche Anderung
von hP (t) ergibt sich durch die Pegel¨anderung des Tanks, in den
gepumpt wird, und von der Pegel¨anderung des Sammelbeh¨alters. Die
3.2.3
Gesamtsystem der Pumpe
Das dynamische Gesamtsystem der Pumpe ergibt sich durch Zusammenf¨
uhren der Gl. 3.16
und 3.17 aus dem elektrischen Teilsystem (Abschnitt 3.2.1) und den Gl. 3.18 und 3.22 aus
dem mechanischen Teilsystem (Abschnitt 3.2.2), mit iA (t) und ω(t) als Zust¨ande, uA (t)
und hP (t) als Eing¨ange und qP (t) als Ausgang.
diA
dt
dω(t)
dt
=
1
(uA (t) − RA iA (t) − kM ω(t))
LA
1
(kM iA (t) − η1P ρgkP hP (t))
JM +JP
qP (t) = kP ω(t)
(3.24)
(3.25)
Das Wasser wird als inkompressibles Fluid vorausgesetzt. Daher treten keine Totzeiten
auf.
3.3
Modell des Gesamtsystems
Die in den vorherigen Abschnitten hergeleiteten Teilsysteme f¨
ur einen Tank (Gl. 3.8 und
3.9) und eine Pumpe (Gl. 3.24 und 3.25) werden zu dem Gesamtsystem mit 3 Tanks
und 3 Pumpen zusammengesetzt. Der Eingang qzu (t) setzt sich aus dem Ausgang qP des
Pumpenteilsytems bzw. dem Ausgang qab des dar¨
uberliegenden Tanks zusammen. Daraus
ergibt sich ein System mit neun Zust¨anden, drei Eing¨angen und 3 Ausg¨angen.
• Zust¨ande: h1 (t), h2 (t), h3 (t), ω1 (t), ω2 (t), ω3 (t), iA,1 (t), iA,2 (t), iA,3 (t)
• Eing¨ange: uA,1(t), uA,2(t), uA,3(t)
• Ausg¨ange: h1 (t), h2 (t), h3 (t)
Weiters wird das Verhalten des Sammeltanks ben¨otigt. Dessen Pegel hS (t) l¨asst sich direkt
aus den Pegelst¨anden h1 (t), h2 (t), h3 (t) der Tanks und den Anfangsf¨
ullst¨anden h1,0 =
h1 (0), h2,0 = h2 (0), h3,0 = h3 (0), hS,0 = hS (0) berechnen, wobei AS der Querschnitt des
Sammeltanks und A1 , A2 , A3 die Querschnitte der jeweiligen Tanks sind.
3. Modellbildung
3.3. Modell des Gesamtsystems
31
(h1,0 − h1 (t))A1 + (h2,0 − h2 (t))A2 + (h3,0 − h3 (t))A3
+ hS,0
(3.26)
AS
Die wirksamen F¨orderh¨ohen der Pumpen sind abh¨angig von den Pegelst¨anden der Tanks
und setzen sich wie folgt zusammen.
hS (t) =
hP,i (t) = Hi + hi (t) − hS (t) mit i = 1, 2, 3
(3.27)
Abbildung 3.4: H¨ohendifferenzen
Es ergibt sich folgendes dynamisches System, welches in die Simulation eingebunden wird
3. Modellbildung
















dh1 (t)
dt
dh2 (t)
dt
dh3 (t)
dt
dω1 (t)
dt
dω2 (t)
dt
dω3 (t)
dt
diA,1 (t)
dt
diA,2 (t)
dt
diA,3 (t)
dt



 
 
 
 
 
 
 
=
 
 
 
 
 
 
 


3.4. Modellreduktion
q
ASch,1
k ω (t)
2g(h1 (t)+H1,2 −h2 (t))
+ P,1A11
A1
1+ζ1 q
q
ASch,1
A
k ω (t)
2g(h1 (t)+H1,2 −h2 (t))
2g(h2 (t)+H2,3 −h3 (t))
− Sch,2
+ P,2A22
A1
1+ζ1
A2 q
1+ζ2
q
2g(h3 (t)+H3,S −hS (t))
A
k ω (t)
ASch,2
2g(h2 (t)+H2,3 −h3 (t))
− Sch,3
+ P,3A33
A2
1+ζ2
A3
1+ζ3
1
1
(kM,1 iA,1 (t) − ηP,1
ρgkP,1(H1 + h1 (t) − hS (t))
JM,1 +JP,1
1
1
(kM,2 iA,2 (t) − ηP,2
ρgkP,2(H2 + h2 (t) − hS (t))
JM,2 +JP,2
1
1
(kM,3 iA,3 (t) − ηP,3 ρgkP,3(H3 + h3 (t) − hS (t))
JM,3 +JP,3
1
(uA,1(t) − RA,1 iA,1 (t) − kM,1 ω1 (t))
LA,1
1
(uA,2(t) − RA,2 iA,2 (t) − kM,2 ω2 (t))
LA,2
1
(uA,3(t) − RA,3 iA,3 (t) − kM,3 ω3 (t))
LA,3
−
32










.








(3.28)
Die verwendeten H¨ohenangaben k¨onnen Abb. 3.4 entnommen werden. Hi ist die H¨ohendifferenz zwischen dem Tank i und dem Sammeltank und Hi,j ist die H¨ohendifferenz
zwischen Tank i und Tank j. Dabei werden die Angaben auf die B¨oden der jeweiligen
Tanks bezogen.
3.4
Modellreduktion
Um den Reglerentwurf zu vereinfachen, wird die Dynamik der Teilsysteme genauer untersucht und schnelle Systeme als statisch angesehen. Daraus ergeben sich folgende Reduktionen:
3.4.1
Vernachl¨
assigung der elektrischen Dynamik
Das dynamische System l¨asst sich durch Vernachl¨assigung der elektrischen Dynamik auf
sechs Zust¨ande reduzieren, indem die Ankerinduktivit¨at LA = 0 gesetzt wird. Durch diese
Vernachl¨assigung entsteht aus den Gleichungen 3.13 und 3.14 eine statische Beziehung
zwischen Ankerstrom iA,i (t), Ankerspannung uA,i (t) und der Winkelgeschwindigkeit ωi (t)
f¨
ur die Pumpe i (Gl. 3.29)
iA,i (t) =
1
(uA,i (t) − kM,i ωi (t)).
RA,i
Dadurch entsteht folgendes reduzierte dynamische System
(3.29)
3. Modellbildung









dh1 (t)
dt
dh2 (t)
dt
dh3 (t)
dt
dω1 (t)
dt
dω2 (t)
dt
dω3 (t)
dt
3.4.2



 
 
 
 
=
 
 
 


3.4.2. Vernachl¨assigung der mechanischen Dynamik
q
33
ASch,1
k ω (t)
2g(h1 (t)+H1,2 −h2 (t))
+ P,1A11
A1
1+ζ1 q
q
ASch,1
A
k ω (t)
2g(h1 (t)+H1,2 −h2 (t))
2g(h2 (t)+H2,3 −h3 (t))
− Sch,2
+ P,2A22
A1
1+ζ1
A2 q
1+ζ2
q
2g(h3 (t)+H3,S −hS (t))
A
k ω (t)
ASch,2
2g(h2 (t)+H2,3 −h3 (t))
− Sch,3
+ P,3A33
A2
1+ζ2
A3
1+ζ3
1
1
1
(kM,1 RA,1
(uA,1(t) − kM,1 ω1 (t))) − ηP,1
ρgkP,1(H1 + h1 (t) − hS (t))
JM,1 +JP,1
1
1
1
(kM,2 RA,2
(uA,2(t) − kM,2 ω2 (t))) − ηP,2
ρgkP,2(H2 + h2 (t) − hS (t))
JM,2 +JP,2
1
1
1
(kM,3 RA,3 (uA,3(t) − kM,3 ω3 (t))) − ηP,3 ρgkP,3(H3 + h3 (t) − hS (t))
JM,3 +JP,3
−






.





(3.30)
Vernachl¨
assigung der mechanischen Dynamik
Eine weitere Reduzierung des dynamischen Systems kann erfolgen, wenn angenommen
wird, dass das hydraulische Teilsystem, das Modell der Tanks, langsamer als das mechanische Teilsystem der Pumpen ist. Hiermit verhalten sich die Pumpen rein statisch. Die
Tr¨agheiten von Pumpen und Motoren werden als vernachl¨assigbar klein angenommen und
zu Null gesetzt. Folglich ergibt sich aus dem Gesamtsystem der Pumpe Gl. 3.24 und 3.25
folgendes statische Beziehung
1
kp
uA (t) − RA ρg
qP (t) =
kM
ηP
kP
kM
2
hP (t),
(3.31)
welche zu einem dynamischen System dritter Ordnung f¨
uhrt



dh1 (t)
dt
dh2 (t)
dt
dh3 (t)
dt



 
=

+
+
+
q
ASch,1
2g(h1 (t)+H1,2 −h2 (t))
A1
1+ζ1 q
q
ASch,2
ASch,1
2g(h1 (t)+H1,2 −h2 (t))
2g(h2 (t)+H2,3 −h3 (t))
− A2
A1
1+ζ1
1+ζ2
q
q
2g(h3 (t)+H3,S −hS (t))
ASch,3
ASch,2
2g(h2 (t)+H2,3 −h3 (t))
− A3
A2
1+ζ2
1+ζ3
−
kp,1
u (t)− η 1 RA,1 ρg
kM,1 A,1
P,1
kP,1
kM,1
A
1
kp,2
u (t)− η 1 RA,2 ρg
kM,2 A,2
P,2
kp,3
u (t)− η 1
kM,3 A,3
P,3
kP,2
kM,2
2
2
(H1 +h1 (t)−hS (t))
(H2 +h2 (t)−hS (t))
A
2
2
k
RA,3 ρg k P,3
(H3 +h3 (t)−hS (t))
M,3
A3




.



(3.32)
Dieses vollst¨andig reduzierte dynamische System (3.32) dient als Grundlage f¨
ur den Reglerentwurf unter Kap. 5.
4 Parameterbestimmung
Dieses Kapitel beschreibt die Parameterbestimmung des Labormodells. Die grunds¨atzliche
Vorgangsweise wurde [3] entnommen und an dieses Projekt angepasst. Zur sinnvollen
mathematischen Beschreibung wird das Gesamtsystem in folgende Teilsysteme zerlegt
und die Parameter getrennt voneinander bestimmt:
• Drucksensoren
• Tanks
• Pumpen
Insbesondere werden die Sensorkennlinien, die Ausfließkennlinien der Tanks und die Pumpenkennlinien aufgenommen und anschließend die Kennlinien parametriesiert.
1
Scope
Ankerspannungen
Demux
Scope
Sensor
COMEDI D/A
comedi0 CH−0
Demux
Stellgroesse
COMEDI A/D
comedi0 CH−1
Sensor 2
Pumpe 2
COMEDI D/A
comedi0 CH−2
Pumpe 3
Demux
Sensor 1
Pumpe 1
COMEDI D/A
comedi0 CH−1
1/3
COMEDI A/D
comedi0 CH−0
u_S
Mux
COMEDI A/D
comedi0 CH−2
offset
h
Scope
Pegelstaende
−K−
Demux
Pegelstaende
Sensor 3
Step
Offset−Abgleich 1
Step
Offset−Abgleich 2
Mux
Step
Offset−Abgleich 3
Abbildung 4.1: Strecke mit Pumpenansteuerung und Sensorspannungsmessung
Die dazu n¨otige Ansteuerung der Pumpen und Messung der Sensorspannungen werden
ausschließlich mit dem PC/104 System durchgef¨
uhrt. Abb. 4.1 zeigt die Implementierung
der Strecke mit Pumpenansteuerung und Sensorspannungsmessung in Scilab/Scicos. Der
Subblock Stellgroesse dient der Aufschaltung der Ankerspannungen. Der D¨ampfungsfaktor
1/3 drittelt die Ankerspannungen damit sie im ±10 V Ein-/Ausgangsbereich des PC/104
Systems sind. Die Signale werden durch die 3-fache Kabelverst¨arkung, wie unter Abschnitt
1.4 beschrieben, wieder auf Originalgr¨oße skaliert. Die COMEDI -Bl¨ocke sind Hardwaretreiber, welche die Verbindung mit der Ein-/Ausgabekarte von Comedi darstellen. Diese
34
4. Parameterbestimmung
4.1. Parameterbestimmung der Drucksensoren
35
Bl¨ocke dienen zur Ansteuerung der Pumpen und zur Messung der Sensorspannungen. Signale, welche zu den Scope-Bl¨ocken f¨
uhren, k¨onnen u
¨ber das Visualisierungspaket qRtailab
angezeigt und gemessen werden. Der Subblock Pegelstaende und die Bl¨ocke Offset-Abgleich
dienen der Umrechnung der Sensorspannungen auf die Pegelst¨ande, welche im Abschnitt
4.1 n¨aher erl¨autert wird.
4.1
Parameterbestimmung der Drucksensoren
Die Parameter der Sensoren werden einzeln bestimmt. Dazu werden die Abfl¨
usse der Tanks
1
abgeschlossen und manuell mit Wasser gef¨
ullt . Dies kann in 10 mm Schritten erfolgen
um gen¨
ugend Messpunkte u
¨ber den ganzen Pegelbereich zu erhalten. Als Vergleichsmaß
dient die Skala an den Tanks. Die Sensorspannungen zu den vorgegebenen Pegelst¨anden
werden mit dem PC/104 System (Abb. 4.1) gemessen und in Kennlinien aufgenommen.
Abb. 4.2 zeigt die Messpunkte, sowie die angen¨aherten Kennlinien.
3.5
3.0
uS in V
2.5
2.0
Sensor 1 Näherung
Sensor 1 Messpunkte
Sensor 2 Näherung
1.5
Sensor 2 Messpunkte
Sensor 3 Näherung
Sensor 3 Messpunkte
1.0
0
10
20
30
40
50
60
70
80
90
100
hi in mm
Abbildung 4.2: Sensorkennlinien
Diese werden durch Regressionsgeraden durch Minimieren der Fehlerquadrate erhalten.
uS,i (hi ) = uS0,i + kS,i hi
hi (uS,i ) =
1
uS,i − uS0,i
kS,i
Das Abschließen der Tanks kann durch Ersetzen der Abflussschl¨auche mit St¨opsel erfolgen.
(4.1)
(4.2)
4. Parameterbestimmung
4.2. Parameterbestimmung der Tanks
36
Daraus werden die Sensorparameter uS0,i und kS,i berechnet, wobei uS0,i die Sensorspannung bei leerem Tank darstellt. Folgende Parameter werden bestimmt:
• uS0,1 = 1.580 V
• uS0,2 = 1.503 V
• uS0,3 = 1.521 V
• kS,1 = 19.178
V
m
• kS,2 = 18.371
V
m
• kS,3 = 19.266
V
m
Jede durch die Sensoren gemessene Sensorspannung wird mit Gl. 4.2 auf den dazugeh¨origen Pegelstand umgerechnet.
Aus mehreren Messungen wird festgestellt, dass sich die Offsetspannung verschieden einstellt. Ein Grund k¨onnte die unterschiedliche Wasser-Luft-Zusammensetzung im d¨
unnen
Verbindungsschlauch von Sensor und Tankboden (siehe Abb. 1.4) sein. Dieser Verbindungsschlauch hat ein kleines Volumen. Wenn dieses Volumen voll mit Wasser ist, ergibt
das eine h¨ohere Sensorspannung, als w¨
urde es voll mit Luft gef¨
ullt sein. Da es schwierig ist,
in diesem Verbindungsschlauch immer die gleiche Zusammensetzung von Wasser und Luft
¨
zu erhalten, kann eine Anderung
der Offsetspannung dadurch nicht verhindert werden. Ein
weiterer Grund k¨onnten Ungenauigkeiten der Sensoren sein. Die Sensoren sind schon alt
und verlieren mit der Zeit an Genauigkeit. Dagegen w¨
urde jedoch nur ein Austauschen
der Sensoren Abhilfe schaffen. Da weiterhin die alten Sensoren verwendet werden, ist bei
jeder Inbetriebnahme ein Offsetabgleich durchzuf¨
uhren. Der Offsetabgleich und die Umrechnung von Sensorspannung auf Pegelstand, welche im Subblock Pegelstaende integriert
ist, sind in jeder verwendeten Scicos-Schaltung (siehe u. a. Abb. 4.1) implementiert.
Die Sensorspannungsmessung ist rein statisch, da der eingeschwungene Zustand gemessen
wird. Die Dynamik des Sensors ist schwierig zu messen, da kein geeignetes Referenzmaß vorhanden ist. Jedoch kann verfolgt werden, dass bei angeregter Wasseroberfl¨ache,
die Sensorspannungen den Pegelschwingungen folgen. Somit wird von einer ausreichend
schnellen Sensordynamik ausgegangen. Die gemessenen Schwingungen bewegen sich um
10 Hz.
4.2
Parameterbestimmung der Tanks
Beim Tankmodell, wie in Abschnitt 3.1 hergeleitet, wird ein konstanter Wasserstand
u
¨ber die gesamte Wasseroberfl¨ache angenommen. Somit hat das dynamische System eines Tanks, welches bei der Parameterbestimmung verwendet wird, einen Zustand, den
4. Parameterbestimmung
4.2. Parameterbestimmung der Tanks
37
Pegelstand hi . Durch die Annahme, dass u
¨berlagerte Pegelschwingungen einen geringen
Einfluss haben, k¨onnen diese vernachl¨assigt werden.
Eine wesentliche Rolle bei der Parameterbestimmung der Tanks und Pumpen spielen die
verwendeten Zu- und Abflussschl¨auche. Außerhalb des Betriebs ist in den Schl¨auchen
Luft. Werden die Tanks mit Wasser bef¨
ullt, fließt dieses durch die Schl¨auche und verdr¨angt, durch die h¨ohere Dichte die Luft. Damit nirgendwo Luft in die Schl¨auche dringen
kann, m¨
ussen die Schl¨auche entsprechend abgedichtet sein und an den Enden in Wasser
f¨
uhren. Luftblasen in den Schl¨auchen w¨
urden den Durchflusswiderstand vergr¨oßern. Diese
ver¨anderlichen Luftblasen bzw. der daraus entstehende Widerstand k¨onnen nicht gemessen und daher nicht identifiziert werden. Dieser Umstand macht folgende Maßnahmen
notwendig, um ein nachvollziehbares Ausfließverhalten des Wassers zu garantieren:
• Nach jedem Einschaltvorgang muss solange Wasser durch die Schl¨auche fließen, bis
die gesamte Luft aus den Schl¨auchen verdr¨angt wurde. Dadurch erh¨alt man ein
eindeutiges, sich nicht ver¨anderntes Ausfließverhalten2 .
• Das Labormodell kann erst ab einem gewissen Pegelstand identifiziert und geregelt
werden, da ab einer geringen Wasserh¨ohe auf Grund der Saugwirkung Luft in die
Schl¨auche dringt, wodurch das Ausfließverhalten nicht mehr nachvollziehbar ist.
Dieser kritische Pegelstand kann am Labormodell beobachtet werden.
Um das Ausfließverhalten zu messen, m¨
ussen die Pumpen weggeschalten werden, damit
kein Wasser durch die Pumpen abfließen kann3 . Danach werden alle drei Tanks u
¨ber das
PC/104 System mit der Pumpensteuerung (Abb. 4.1) oder manuell voll bef¨
ullt, damit
das Ausfließverhalten u
¨ber den ganzen Bereich gemessen werden kann. Sobald lange genug Wasser durch die Schl¨auche geflossen ist, sodass sich keine Luftblasen mehr darin
befinden, kann der Ausfließvorgang und somit die Messung beginnen. Dabei werden die
Pegelst¨ande hi aller drei Tanks u
¨ber die mit dem PC/104 System gemessenen Sensorspannungen uS,i und der integrierten Umrechnung laut Gl. 4.2 berechnet und in einer Kennlinie
u
¨ber die Zeit aufgenommen. Abb. 3.2 zeigt dieses Ausfließverhalten der drei Tanks. Die
Ausfließkennlinien werden in zwei Bereiche unterteilt. Der hinterlegte Bereich ist jener, in
dem ein nachvollziehbares Ausfließen stattfindet, und das 3-Tank-Labormodell normalerweise betrieben wird. Dieser Bereich wird im Folgenden Hauptbetriebsbereich genannt.
Beim nicht hinterlegten Bereich haben die Tanks nur noch einen geringen Pegelstand.
Ab diesem Grenzpegelstand tritt auf Grund der Saugwirkung bereits Luft in die Abflussschl¨auche. Dieser Effekt zeigt sich unterschiedlich und ist nicht nachvollziehbar. Daher
k¨onnen die Parameter in diesem Bereich nicht eindeutig bestimmt werden. Er wird im
Folgendem Bereich bei geringem Pegelstand bezeichnet.
2
Dieser Vorgang kann durch gezieltes Zusammendr¨
ucken der Schl¨auche an entsprechenden Stellen
beschleunigt werden.
3
Die einfachste Methode um die Pumpen “wegzuschalten” ist die Pumpenschl¨auche aus den Tanks zu
ziehen. Die Schlauchenden sollen sich u
ullt werden
¨ber den Tanks befinden, damit die Tanks weiterhin bef¨
k¨onnen.
4. Parameterbestimmung
4.2.1. Ausfließverhalten im Hauptbetriebsbereich
38
Abbildung 4.3: Ausfließkennlinien
4.2.1
Ausfließverhalten im Hauptbetriebsbereich
Der Hauptbetriebsbereich ist jener Bereich, in dem der Tank noch voll genug ist und keine
Luft in den Abflussschlauch dringt. Zur Parameterbestimmung darf aus der Messung in
Abb. 4.3 nur jener Bereich ausgew¨ahlt werden, in dem der dar¨
uberliegende Tank schon
leer ist und beim aktuellen Tank noch keine Luft in den Abflussschlauch gesaugt wird4 .
Die Differentialgleichung
dhi (t)
ASch,i
=−
dt
Ai
s
2g∆hi (t)
1 + ζi
(4.3)
beschreibt das Ausfließverhalten eines Tanks, welches in Abschnitt 3.1 hergeleitet wurde.
∆hi (t) = hi (t)+Hi,i+1 −hi+1 (t) ist die Pegeldifferenz zum darunter liegenden Wasserspiegel
mit hi (t) als Pegel des betrachteten Tanks, hi+1 (t) als Pegel des darunterliegenden Tanks
und Hi,i+1 als vertikaler Abstand der beiden Tankb¨oden. ζi beschreibt die Druckverlustzahl
im Abflussschlauch, ASch,i den Schlauchquerschnitt und Ai den Tankquerschnitt. Durch
die Definition von
4
Der dar¨
uberliegende Tank muss leer sein, damit die Bedingung, dass nichts zufließt, erf¨
ullt ist.
4. Parameterbestimmung
4.2.1. Ausfließverhalten im Hauptbetriebsbereich
ASch,i
αi =
Ai
r
2g
1 + ζi
39
(4.4)
l¨asst sich die Differentialgleichung 4.3 kompakt darstellen:
q
dhi (t)
= −αi hi (t) + Hi,i+1 − hi+1 (t)
(4.5)
dt
Die einzigen unbekannten Parameter sind αi . Diese m¨
ussen identifiziert werden. Gl. 4.5
l¨asst sich f¨
ur hi nicht l¨osen, da hi+1 unbekannt ist. Wenn in Gl. 4.5 dhidt(t1 ) und
p
hi (t1 ) + Hi,i+1 − hi+1 (t1 ) f¨
ur einen Zeitpunkt t1 bekannt sind, l¨asst sich αi (t1 ) mit der
Beziehung
αi (t1 ) = − p
dhi (t1 )
dt
hi (t1 ) + Hi,i+1 − hi+1 (t1 )
(4.6)
berechnen. Die Bestimmung von dhdti (t) erfolgt mit nummerischer Differenzierung, da die
Messungen von hi (t) und hi+1 (t) Abtastungen mit der Abtastzeit TA = 10 ms sind und
in Form der Folgen (hi,k ) und (hi+1,k ) mit dem Abtastindex k vorliegen.
hi,k+1 − hi,k
∆hi,k
=
∆tk
tk+1 − tk
(4.7)
F¨
ur jeden Abtastpunkt k ergibt sich durch Verkn¨
upfen der Gleichungen 4.6 und 4.7 ein
αi,k :
αi,k = − p
∆hi,k
∆tk
(4.8)
hi,k + Hi,i+1 − hi+1,k
Der Mittelwert aller αi,k f¨
uhrt zum identifizierten Wert αi :
√
m
s
√
0.0322 sm
√
0.0286 sm
• α1 = 0.0333
• α2 =
• α3 =
Mit diesen Parametern l¨asst sich die Ausfließgeschwindigkeit
Pegeldifferenz ∆hi (t) = hi (t) + Hi,i+1 − hi+1 (t) ermitteln.
dhi (t)
dt
in Abh¨angigkeit der
4. Parameterbestimmung 4.2.2. Ausfließverhalten im Bereich Geringer Pegelstand
40
−9
Tank 1
Tank 2
−10
Tank 3
dh/dt in mm/s
−11
−12
−13
−14
−15
−16
100
120
140
160
180
200
220
240
260
280
∆h in mm
Abbildung 4.4: Ausfließgeschwindigkeit
dh
dt
in Abh¨angigkeit der Pegeldifferenz ∆h
Aus Abb. 4.4 l¨asst sich ablesen, dass bei vollem und leerem darunterliegenden Tank (gr¨oßtes ∆h) eine maximale Ausfließgeschwindigkeit von 15 mm/s erreicht werden kann. Weiters
kann erkannt werden, dass durch die Variation der Pegelst¨ande hi und hi+1 die Ausfließgeschwindigkeit bis zu einem Drittel ver¨andert werden kann. Der Rest ist durch den fixen
H¨ohenunterschied der Tanks bestimmt. Die Auswirkung der Ausfließgeschwindigkeit vom
Pegelstand des darunterliegenden Tanks kann Abb. 4.5 entnommen werden. In dieser Abbildung wird angenommen, dass z. B. bei leerem Tank 3 keine Pegel¨anderung im Tank
2 stattfindet. Wird jedoch der darunterliegende Tank 3 auf hu bef¨
ullt, w¨
urde sich aufgrund der Kopplung Tank 2 mit bis zu 3.5 mm/s auff¨
ullen. Ein h¨oherer Pegelstand des
darunterliegenden Tanks bremst also den Ausfluss, da die H¨ohendifferenz ∆h verringert
wird.
4.2.2
Ausfließverhalten im Bereich Geringer Pegelstand
In diesem Bereich kann angenommen werden, dass an der Ausfließkante des Tanks Umgebungsdruck herrscht und das Ausfließverhalten unabh¨angig vom darunterliegenden Tank
ist. Die Gleichung 4.3 aus Abschnitt 4.2.1 f¨
uhrt zu folgender Differentialgleichung
dhi (t)
ASch,i
=−
dt
Ai
s
2ghi (t)
1 + ζL,i
(4.9)
4. Parameterbestimmung 4.2.2. Ausfließverhalten im Bereich Geringer Pegelstand
41
4.0
h=0mm
h=50mm
3.5
h=80mm
dh/dt in mm/s
3.0
2.5
2.0
1.5
1.0
0.5
0.0
0
10
20
30
40
50
60
70
80
hu in mm
Abbildung 4.5: Ausfließgeschwindigkeit
standes hu am Bspl. von Tank 2
dh
dt
in Abh¨angigkeit des darunterliegenden Pegel-
mit ζL,i der Druckverlustzahl, welche nun auch abh¨angig von der Luft im Abflussschlauch
ist. Werden die konstanten Parameter zu
s
ASch,i
2g
αL,i =
(4.10)
Ai
1 + ζL,i
zusammengefasst, l¨asst sich die Differentialgleichung 4.9 mit
p
dhi (t)
= −αL,i hi (t)
dt
kompakt darstellen. Die L¨osung dieser Gleichung
hi (t) =
p
αL,i t
hi (0) −
2
(4.11)
2
(4.12)
stellt die Ausflusskurve dar. Die Parameter αL,i sollen bestimmt werden. Mit Einsetzen
von Randbedingungen kann diese Gleichung gel¨ost werden. Folgende Werte ergeben sich
f¨
ur αL,i :
√
m
s
√
0.0665 sm
• αL,1 = 0.0553
• αL,2 =
4. Parameterbestimmung
• αL,3 = 0.0877
4.3. Parameterbestimmung der Pumpen
42
√
m
s
Aus mehreren Messungen ergibt sich, dass diese Parameter unterschiedlich sind. Der
Grund daf¨
ur ist, die fehlende Nachvollziehbarkeit der Menge an Luft, welche in den
Abflussschlauch dringt und nicht gemessen werden kann. Um den ganzen Pegelbereich
simulieren zu k¨onnen, werden die angef¨
uhrten Parameter αL,i verwendet.
4.3
Parameterbestimmung der Pumpen
Die Pumpe verh¨alt sich etwas anders als im mathematischen Pumpenmodell Abschnitt
3.2 hergeleitet. Die Funktionsweise kann Abschnitt 1.1.2 entnommen werden.
Durch Messungen stellte sich heraus, dass sich die Dynamik der Pumpe im 100 ms-Bereich
befindet. Im Vergleich zum dynamischen Gesamtverhalten, welches im Sekundenbereich
liegt, ist die Pumpendynamik ausreichend klein und kann vernachl¨assigt werden. Dadurch
wird jede Pumpe mit dem statischen Zusammenhang
1
kp,i
(uA,i (t) −
RA,i ρg
qP,i (t) =
kM,i
ηP,i
kP,i
kM,i
hP,i (t))
(4.13)
welcher im Abschnitt 3.4.2 hergeleitet wurde, beschrieben. Mit hP,i (t) = Hi + hi (t) − hS (t)
in Gl. 4.13 eingesetzt, wird ersichtlich, dass der Durchfluss von der Ankerspannung uA,i (t)
und von der F¨orderh¨ohe hP,i (t) bzw. den ver¨anderlichen Pegelst¨anden hi (t) und hS (t)
abh¨angt. Es wird eine Funktion
qP,i = fP,i (uA,i , hi , hS )
(4.14)
gesucht.
4.3.1
Durchfluss aufgrund der Ankerspannung
Der Durchfluss qP,i h¨angt theoretisch u
¨ber die Beziehung
qP,i (t) = Ai
dhi (t)
dt
(4.15)
¨
mit der Anderung
des Pegelstandes dhdti (t) und dem Tankquerschnitt Ai zusammen. Die
¨
Anderung
des Pegelstandes kann nur u
¨ber die Ankerspannung der Pumpe gesteuert werden. Daher wird vorerst die Abh¨angigkeit der Pegelst¨ande nicht ber¨
ucksichtigt. Durch
Messungen stellte sich heraus, dass eine konstante Ankerspannung der Pumpe eine be¨
stimmte Anderung
des Pegelstandes nach sich zieht und zu einem bestimmten Durchfluss
f¨
uhrt. Es ist eine Beziehung f¨
ur den Durchfluss
qP,i = gP,i (uA,i )
(4.16)
4. Parameterbestimmung
4.3.1. Durchfluss aufgrund der Ankerspannung
43
in Abh¨angigkeit der Ankerspannung gesucht. Bei verschlossenem Abfluss der Tanks5 werden Messungen mit dem PC/104 System mit Variation der Spannung uA,i u
¨ber den gesamten Betriebsbereich von 0 - 12 V f¨
ur alle drei Pumpen durchgef¨
uhrt und die jeweiligen
¨
Anderungen
des Pegelstandes ermittelt. Diese Messungen sind im Anhang A zu finden.
• An die Pumpe wird u
¨ber das PC/104 System eine Spannung uA,i angelegt, wodurch
¨
der Tank bef¨
ullt bzw. bei niedrigen Spannungen entleert wird und eine Anderung
des Pegelstandes erfolgt.
• W¨ahrenddessen wird der Pegelstand hi u
¨ber die mit dem PC/104 System gemessene
Sensorspannung uS,i und der integrierten Umrechnung laut Gl. 4.2 berechnet und
in eine Kennlinie u
¨ber die Zeit aufgenommen (Abb. A.1 - A.3).
• Aus dieser Kennlinie ist ein linearer Verlauf erkennbar, welcher durch eine Gerade
¨
angen¨ahert wird. Die Steigung dieser Gerade ist die Anderung
des Pegelstandes dhdti (t)
bei einer bestimmten Spannung uA,i .
• Daraus erh¨alt man u
¨ber die Beziehung 4.15 eine Durchfluss-Spannungsabh¨angigkeit,
welche in der Pumpenkennlinie Abb. 4.6 dargestellt ist.
Pumpenkennlinie
10
8
qP in l/min
6
4
2
Pumpe 1 Näherung
0
Pumpe 1 Messung
Pumpe 2 Näherung
Pumpe 2 Messung
−2
Pumpe 3 Näherung
Pumpe 3 Messung
−4
0
2
4
6
8
10
12
uA in V
Abbildung 4.6: Pumpenkennlinie
Die Funktion
5
In den folgenden Messungen wird nur das Pumpenverhalten untersucht. Um den Ausfluss wegzuschalten, werden die Abfl¨
usse der Tanks mit St¨opseln geschlossen.
4. Parameterbestimmung
qP,g,i
4.3.2. Durchfluss aufgrund der Pegelst¨ande
(
√
β1,1,i (uA,i − uA,0,i ) − β1,2,i 5 uA,0,i − uA,i
=
√
β2,1,i (uA,i − uA,0,i ) + β2,2,i uA,i − uA,0,i
f¨
ur 0 ≤ uA,i ≤ uA,0,i
f¨
ur uA,0,i ≤ uA,i
44
(4.17)
stimmt fast vollkommen mit den Messpunkten u
¨berein, wobei uA,0,i der Ankerspannung
bei qP,g,i = 0 entspricht. Folgende Parameter der Funktion sind zu bestimmen:
• β1,1,i ,β1,2,i ,β2,1,i ,β2,2,i
• uA,0,i
Bevor diese Parameterbestimmung durchgef¨
uhrt werden kann, muss die Untersuchung der
Durchflussabh¨angigkeit von den Pegelst¨anden der Tanks erfolgen.
4.3.2
Durchfluss aufgrund der Pegelst¨
ande
Aus den Messungen aus Abschnitt 4.3.1 ist ein konstanter Durchfluss bei konstanter Ankerspannung festgestellt worden. Bei genauer Betrachtung stimmt dieser Zusammenhang
jedoch im Bereich qP,i ≈ 0, in dem kein Durchfluss zustande kommt, nicht ganz. Diese
Abweichung kann auf die vorher vernachl¨assigte Abh¨angigkeit des Durchflusses von den
Pegelst¨anden zur¨
uckgef¨
uhrt werden und wird in diesem Abschnitt vervollst¨andigt. Um
den Durchfluss durch die Ankerspannung wegzublenden, wird untersucht, welche Ankerspannung n¨otig ist, um einen Pegel auf konstantem Level zu halten. Zur Messung wird
Tank i auf ungef¨ahr halbe Tankh¨ohe hi,0,id gef¨
ullt, welcher den Startpegelstand darstellt.
Die H¨ohe des Pegels des Sammelbeh¨alters hS,0,id,i zu diesem Zeitpunkt wird an der Skala
abgelesen. Wird eine Ankerspannung uA,H,i angelegt, welche qP,i ≈ 0 erzeugt, der sogenannten Haltespannung, pendelt sich der Wasserpegel auf einer bestimmten H¨ohe hi ein.
Der Pegelstand des Sammelbeh¨alters hS berechnet sich zu diesem Zeitpunkt mit
(hi,0,id − hi )Ai
(4.18)
hS = hS,0,id,i +
AS
Die Haltespannung uA,H,i und die H¨ohendifferenz ∆hi = (hi −hi,0,id −hS + hS,0,id,i ) werden
in einem Diagramm eingetragen. Dieser Vorgang wird durch eine minimale Ver¨anderung
der Ankerspannung mehrmals durchgef¨
uhrt bis der ganze Pegelbereich erfasst ist. Die
Messungen k¨onnen Abb. 4.7 entnommen werden.
4. Parameterbestimmung
4.3.2. Durchfluss aufgrund der Pegelst¨ande
45
40
Pumpe 1 Näherung
30
Pumpe 1 Messung
Pumpe 2 Näherung
20
Pumpe 2 Messung
∆h in mm
Pumpe 3 Näherung
10
Pumpe 3 Messung
0
−10
−20
−30
−40
−50
2.2
2.4
2.6
2.8
3.0
3.2
3.4
3.6
3.8
4.0
uA in V
Abbildung 4.7: Erforderliche Spannungen uA,i zum Halten eines Pegels
Daraus l¨asst sich erkennen, dass sich die Haltespannung uA,H,i f¨
ur beliebige hi und hS
nach dem Gesetz
uA,H,i(hi , hS ) = kH,i ∆hi + uA,0,i
(4.19)
verh¨alt, wobei uA,0,i die Haltespannung bei den Pegelst¨anden hi,0,id und hS,0,id,i ist. Durch
die Minimierung der quadratischen Abweichung der Messpunkte k¨onnen die Parameter
kH,i und uA,0,i bestimmt werden.
V
• kH,1 = 3.35 m
V
• kH,2 = 3.91 m
V
• kH,3 = 6.74 m
• uA,0,1 = 3.8V
• uA,0,2 = 3.2V
• uA,0,3 = 2.4V
Im Rahmen der Messungen f¨
ur die Pumpenkennlinie ist der gesamte Pegelbereich der
Tanks ausgenutzt worden. Es wird angenommen, dass Gl. 4.17 das Pumpenverhalten f¨
ur
hi (t) = hi,0,id und hS (t) = hS,0,id,i beschreibt. Daher gilt
4. Parameterbestimmung
4.3.2. Durchfluss aufgrund der Pegelst¨ande
qP,g,i (t) = gP,i (uA,i (t)) = fP,i (uA,i (t), hi,0,id , hS,0,id,i )
46
(4.20)
Da nun die Parameter uA,0,i bekannt sind, lassen sich auch alle weiteren Parameter aus
Gl. 4.17 durch Minimierung der quadratischen Abweichung der Messpunkte bestimmen:
3
3
3
3
, β1,2,1 = −308 · 10−7 m
, β2,1,1 = 52 · 10−7 m
, β2,2,1 = 269 · 10−7 m
• β1,1,1 = 36 · 10−7 m
Vs
Vs
Vs
Vs
3
3
3
3
• β1,1,2 = 36 · 10−7 m
, β1,2,2 = −276 · 10−7 m
, β2,1,2 = 69 · 10−7 m
, β2,2,2 = 255 · 10−7 m
Vs
Vs
Vs
Vs
3
3
3
3
• β1,1,3 = 8 · 10−7 m
, β1,2,3 = −248 · 10−7 m
, β2,1,3 = 66 · 10−7 m
, β2,2,3 = 221 · 10−7 m
Vs
Vs
Vs
Vs
Die Funktionen mit diesen Parametern sind in Abb. 4.6 ersichtlich, und ergeben eine
gute Ann¨aherung an die Messpunkte. Die Durchflussabh¨angigkeit von der Ankerspannung
gP,i (uA,i (t)) und der Haltespannungsanteil kH,i ∆hi (t) werden zusammengef¨
uhrt. Daraus
entsteht das fertige Modell f¨
ur jede Pumpe
qP,i (t) = gP,i (uA,i (t) − kH,i ∆hi (t)),
(4.21)
welches eingesetzt in Gl. 4.17 die vollst¨andige Form
qP,g,i
p

β1,1,i (uA,i − kH,i ∆hi − uA,0,i ) − β1,2,i 5 uA,0,i − (uA,i − kH,i ∆hi )




f¨
ur 0 ≤ uA,i − kH,i ∆hi ≤ uA,0,i
p
=

(uA,i − kH,i ∆hi ) − uA,0,i
β
(u
−
k
∆h
−
u
)
+
β
2,1,i
A,i
H,i
i
A,0,i
2,2,i



f¨
ur uA,0,i ≤ uA,i − kH,i ∆hi
(4.22)
mit ∆hi = (hi − hi,0,id − hS + hS,0,id,i ) annimmt. Der Pegelstand des Sammelbeh¨alters hS
h¨angt allgemein von allen drei Tanks ab und l¨asst sich mit
(h1,0 − h1 )A1 + (h2,0 − h2 )A2 + (h3,0 − h3 )A3
(4.23)
AS
berechnen. Aus der Pumpenkennlinie kann direkt auf die F¨
ullgeschwindigkeit in Abh¨angigkeit der Ankerspannung geschlossen werden.
In Abb. 4.8 wird ersichtlich, dass durch die Pumpe eine F¨
ullgeschwindigkeit von 25
mm/s erreicht werden kann. Dies setzt jedoch voraus, dass kein Abfließen durch die Abflussschl¨auche aus den Tanks stattfindet. Weiters kann die Ausfließgeschwindigkeit durch
die Pumpe um 10 mm/s erh¨oht werden.
hS = hS,0 +
4. Parameterbestimmung
4.4. Parameterbestimmtes Gesamtsystem
47
Pumpenkennlinie
30
25
dh/dt in mm/s
20
15
10
5
0
−5
Pumpe 1
−10
Pumpe 2
Pumpe 3
−15
0
2
4
6
8
10
12
uA in V
Abbildung 4.8: F¨
ullgeschwindigkeit
4.4
dh
dt
in Abh¨angigkeit von uA
Parameterbestimmtes Gesamtsystem
Die parameterbestimmten Teilmodelle werden zum Gesamtmodell

 
p
dh1 (t)
h1 (t) + H1,2
−α
1
p− h2 (t)
p
 dhdt2 (t)  
=
α1p h1 (t) + H1,2 − h2 (t) − α2p h2 (t) + H2,3 − h3 (t)
 dt 
dh3 (t)
α
h2 (t) + H2,3 − h3 (t) − α3 h3 (t) + H3,S − hS (t)
2
dt

g (u
(t)−kH,1 (h1 (t)−hS (t)+hS,0,id,1 −h1,0,id ))
+ P,1 A,1
A1
gP,2 (uA,2 (t)−kH,2 (h2 (t)−hS (t)+hS,0,id,2 −h2,0,id )) 
+

A2
gP,3 (uA,3 (t)−kH,3 (h3 (t)−hS (t)+hS,0,id,3 −h3,0,id ))
+
A3
(4.24)
zusammengef¨
uhrt. F¨
ur dieses mathematische Modell wird nur der Hauptbetriebsbereich
g (u (t)−kH,i (hi (t)−hS (t)+hS,0,id,i −hi,0,id ))
der Tanks ber¨
ucksichtigt. Die Terme P,i A,i
in den GleiAi
chungen beschreiben die nichtlinearen Pumpenkennlinien,
die anderen Terme die Ausq
ASch,i
2g
fließkennlinien der Tanks mit αi = Ai
. Dieses Modell wird dem Reglerentwurf in
1+ζi
Kap. 5 zugrunde gelegt. Der Bereich mit geringem Pegelstand, indem ein anderes Ausfließverhalten auftritt, wird im Regelbetrieb nicht erreicht. In der Simulation ist der gesamte
Pegelbereich implementiert.
Abb. 4.9 zeigt die identifizierte Strecke implementiert in Scilab/Scicos. Das detailierte
Simulationsmodell der Strecke mit allen Unterblockschaltbildern ist im Anhang A abgebildet (Abbildungen A.4 - A.7).
4. Parameterbestimmung
4.4. Parameterbestimmtes Gesamtsystem
48
+
To workspace
−
u_sim
Stellgröße
+
u_A
1
−
Mux
h
1e3
Ein/Aus
Füllstände
Strecke
To workspace
h_sim
+
−
Abbildung 4.9: Blockschaltbild der simulierten Strecke
Es wird eine Simulation durchgef¨
uhrt, bei der die in Abb. 4.10 gezeigten Ankerspannungen
angelegt werden. Das zeitliche Verhalten der Pegelst¨ande, zeigt das Ergebnis in Abb. 4.11.
Stellgröße Tank 1
u in V
9
8
7
6
5
4
3
2
1
0
0
5
10
15
20
25
30
t in s
5
Stellgröße Tank 2
u in V
4
3
2
1
0
0
5
10
15
20
25
30
t in s
5
Stellgröße Tank 3
u in V
4
3
2
1
0
0
5
10
15
20
t in s
Abbildung 4.10: Stellgr¨oße
25
30
4. Parameterbestimmung
4.4. Parameterbestimmtes Gesamtsystem
h in mm
80
60
40
20
0
49
Pegelstand Tank 1
0
5
10
15
20
25
30
t in s
h in mm
80
60
40
20
0
Pegelstand Tank 2
0
5
10
15
20
25
30
t in s
h in mm
80
60
40
20
0
Pegelstand Tank 3
0
5
10
15
20
25
30
t in s
Pegelstand Sammelbehälter
h in mm
70
60
50
40
0
5
10
15
t in s
Abbildung 4.11: Pegelst¨ande
20
25
30
5 Mehrgro
¨ßenregelung der
Pegelst¨
ande
Dieses Kapitel befasst sich mit einem Reglerkonzept, welches in der Simulation und am
Labormodell durch Implementierung mit dem PC/104 System getestet wird. Es baut auf
das Reglerkonzept, welches unter [3] verwendet wurde, auf und wurde an dieses Projekt
angepasst.
In Abschnitt 5.1 wird die Strecke untersucht, f¨
ur welche der Regler entworfen werden soll.
Unter Abschnitt 5.2 wird eine Stellgr¨oßentransformation durchgef¨
uhrt, um die Strecke zu
entkoppeln und den Reglerentwurf zu vereinfachen. In Abschnitt 5.3 wird ein PI-Regler
entworfen, welcher zeitdiskret mit einer Abtastzeit von Ta = 10 ms aufgebaut wird. Das
verwendete Simulationsmodell ist im Abschnitt 5.4 als Scicos-Blockschaltbild dargestellt.
Weiters wird in diesem Abschnitt ein Testergebnis der Mehrgr¨oßenregelung pr¨asentiert.
5.1
Strecke
Als Strecke f¨
ur den Reglerentwurf wird das identifizierte Gesamtmodell aus Kap. 4.4
verwendet. Wird der Pegelstand h als Zustand x

 

x1
h1
x =  x2  =  h2 
x3
h3
(5.1)
und die Ankerspannug uA als Eingang u

 

u1
uA,1
u =  u2  =  uA,2 
u3
uA,3
(5.2)
eingef¨
uhrt, kann das Gesamtmodell in folgender allgemeinen Form
x˙ = f(x, u)
(5.3)
y = g(x, u)
(5.4)
mit y als Ausgang angef¨
uhrt werden. In dieser Darstellung ergibt sich die Strecke zu
50
5. Mehrgr¨oßenregelung der Pegelst¨ande
5.2. Stellgr¨oßentransformation
51
p
 
(x1 + H1,2
−α
x˙ 1
1
p− x2 )
p
 x˙ 2  =  α1 (x1 + H1,2 − x2 ) − α2 (x2 + H2,3 − x3 )
p
p
x˙ 3
α2 (x2 + H2,3 − x3 ) − α3 (x3 + H3,S − xS )

g (u −k (x −x +h
−h
))
+ P,1 1 h,1 1 AS1 S,0,id,1 1,0,id
g (u −k (x −x +h
−h
)) 
+ P,2 2 h,2 2 AS2 S,0,id,2 2,0,id 
g (u −k (x −x +h
−h
))
+ P,3 3 h,3 3 AS3 S,0,id,3 3,0,id

 

y1
x1
 y2  =  x2 
y3
x3
(5.5)
(h1,0 − x1 )A1 + (h2,0 − x2 )A2 + (h3,0 − x3 )A3
.
AS
(5.7)

(5.6)
mit dem Pegelstand des Sammelbeh¨alters
xS = hS,0 +
5.2
Stellgr¨
oßentransformation
Das System aus Gl. 5.5 und Gl. 5.6
x˙ = f(x, u)
(5.8)
y=x
(5.9)
¯ = f(x, u)
u
(5.10)
¯)
u = fu−1 (x, u
(5.11)
kann mit der Stellgr¨oßentransformation
nach Invertierung dieser1
auf die lineare Form von drei entkoppelten Integratoren
1
s

0 0
y(s) 
G(s) =
= 0 1s 0 
u
¯ (s)
0 0 1s

(5.12)
gebracht werden. Die Stellgr¨oßentransformation kann jedoch nur diskret implementiert
werden.
uk = fu−1 (xk , u¯k )
(5.13)
1
Wie Gl. 5.5 entnommen werden kann, ist f (x, u) nach u invertierbar.
5. Mehrgr¨oßenregelung der Pegelst¨ande
5.2. Stellgr¨oßentransformation
52
Wie in Abb. 5.1 zu erkennen ist, befindet sich durch die diskrete Implementierung ein
Digital/Analog-Wandler (DA) zwischen der Stellgr¨oßentransformation und der zeitkontinuierlichen Strecke, wodurch Abweichungen entstehen. Unter der Annahme, dass diese
Abweichungen klein genug sind, wird die Strecke auf die Form von drei entkoppelten
Integratoren gebracht.
 Ta

0
0
z−1
Ta
0 
G(z) =  0 z−1
(5.14)
Ta
0
0 z−1
Abbildung 5.1: Regler und Strecke mit u
¨berlagerter Stellgr¨oßentransformation
Werden die Gleichungen 5.10 und 5.13 auf die Strecke aus Gl. 5.5 angewendet, ergibt sich
die Stellgr¨oßentransformation
p
 
−1
gP,1
(A1 (¯
u1,k + α1 x1,k + H1,2p− x2,k ))
u1,k
p
−1
 u2,k  =  gP,2
(A2 (¯
u2,k − α1 px1,k + H1,2 − x2,k + α2 p(x2,k + H2,3 − x3,k ))
−1
u3,k
gP,3
(A3 (¯
u3,k − α2 x2,k + H2,3 − x3,k + α3 x3,k + H3,S − xS,k ))

+kh,1 (x1,k − xS,k + hS,0,id,1 − h1,0,id )
+kh,2 (x2,k − xS,k + hS,0,id,2 − h2,0,id )  ,
(5.15)
+kh,3 (x3,k − xS,k + hS,0,id,3 − h3,0,id )

−1
welche zu jedem Abtastzeitpunkt durchgef¨
uhrt wird. Die Bestimmung von gP,i
erfolgt
−1
numerisch, da sie analytisch schwer durchf¨
uhrbar ist. Die Funktion gP,i (uA,i ) wird in
Abst¨anden von ∆uA,i = 1 mV ausgewertet und dazwischen linear interpoliert. Diese
Interpolation l¨asst sich leicht invertieren und wird als Lookup-Table in Scilab-Scicos implementiert.
Der Reglerentwurf f¨
ur lineare Abtastsysteme gestaltet sich wie f¨
ur zeitkontinuierliche Sys¨
teme, wenn die q-Ubertragungsfunktionen
f¨
ur Strecke und Regler verwendet werden. Dazu
werden die Transformationsvorschriften zwischen z- und q-Bereich
z=
1 + q T2a
1 − q T2a
(5.16)
5. Mehrgr¨oßenregelung der Pegelst¨ande
5.3. PI-Regler
53
und
2 z−1
·
Ta z + 1
verwendet, welche zur q-transformierten Strecke
(5.17)
q=


G# (q) = 

1−q T2a
q
0
0
0
0
1−q T2a
q
0
0
1−q T2a
q




(5.18)
f¨
uhren. Durch die Stellgr¨oßentransformation k¨onnen die Pegelst¨ande als entkoppelt betrachtet werden und die Regler Ri# (q) einzeln f¨
ur die Strecken
G#
i (q)
1 − q T2a
=
q
(5.19)
entworfen werden. Dies f¨
uhrt zu drei voneinander unabh¨angigen Regelkreisen mit den
Regler

0
0
R1# (q)
.
R# (q) =  0
R2# (q)
0
0
0
R3# (q)0

(5.20)
Somit kann der Reglerentwurf als Eingr¨oßenentwurf durchgef¨
uhrt werden.
5.3
PI-Regler
Der PI-Regler wird mittels algebraischem Reglerentwurf [5] entwickelt, um im geschlossenen Regelkreis nur reelle Polstellen auftreten zu lassen2 . Die Pole werden bei diesem
Entwurfsverfahren vorgegeben. Der PI-Regler
RP#I,i (q) =
VI,i + VP,i q
q
(5.21)
f¨
uhrt zu den F¨
uhrungs¨
ubertragungsfunktionen
Ta
V
+
V
−
V
q − VP,i T2a q 2
−VP,i T2a
(q − q0,1,i ) (q − q0,2,i )
I,i
P,i
I,i
2
·
TP#I.i (q) =
=
Ta
Ta
Ta
2
1 − VP,i 2 (q − q∞,1,i ) (q − q∞,2,i )
VI,i + VP,i − VI,i 2 q + 1 − VP,i 2 q
(5.22)
2
Komplexe Polstellen k¨
onnen ein Schwingen der Pegelst¨ande zur Folge haben. Dies wird mit der
Polvorgabe vermieden.
5. Mehrgr¨oßenregelung der Pegelst¨ande
5.3. PI-Regler
54
und den St¨or¨
ubertragungsfunktionen
q2
1
·
.
1 − VP,i T2a (q − q∞,1,i ) (q − q∞,2,i )
VI,i + VP,i − VI,i 2 q + 1 − VP,i 2 q 2
(5.23)
Die Pole q∞,1,i und q∞,2,i werden laut Tabelle 5.1 vorgegeben.
SP#I,i (q) =
q2
Ta
Ta
q∞,1,i
Regler 1 -1.15
Regler 2 -0.80
Regler 3 -0.95
=
q∞,2,i
-1.25
-0.90
-1.00
Tabelle 5.1: Gew¨ahlte Eigenwerte beim PI-Regler
Damit ergibt sich der P-Anteil
VP,i =
und der I-Anteil
2(q∞,1,i q∞,2,i Ta − 2q∞,1,i − 2q∞,2,i )
(q∞,1,i Ta − 2) (q∞,2,i Ta − 2)
(5.24)
4q∞,1,i q∞,2,i
.
(q∞,1,i Ta − 2) (q∞,2,i Ta − 2)
(5.25)
VI,i =
Das Ergebnis bei einer Abtastzeit Ta =10 ms sind die Regler
RP#I,1(q) =
2.4q + 1.438
q
RP#I,2 (q) =
1.7q + 0.72
q
RP#I,3(q) =
1.95q + 0.95
q
im q-Bereich und
2.401z − 2.399
z−1
1.7z − 1.7
RP I,2(z) =
z−1
RP I,1 (z) =
RP I,3(z) =
1.95z − 1.95
z−1
5. Mehrgr¨oßenregelung der Pegelst¨ande
5.3. PI-Regler
55
im z-Bereich. Die Pole werden f¨
ur jeden Regler unterschiedlich vorgegeben, da die Tanks
verschieden sensibel auf schnelle Eigenwerte reagieren. Tank 2 ist mit den beiden anderen
Tanks direkt u
¨ber Schl¨auche verbunden und reagiert dadurch am Sensibelsten.
Der Aufbau des Regelkonzeptes kann Abb. 5.2 und 5.3 in Form von Scicos-Blockschaltbildern
entnommen werden. Abb. 5.2 zeigt den PI-Regler mit u
¨berlagerter Stellgr¨oßentransfor¨
mation sowie eine dem Regler u
der
¨bergeordnete Schutzabschaltung, die ein Uberlaufen
Becken verhindert. Die Schutzabschaltung schaltet die betreffende Pumpe ab, wenn der
Pegelstand 90 mm u
¨bersteigt.
1
*
*
Tiefpass
r
1
+
−
e
u
u_dach
udach
y
PI_Regler1
switch
u
Demux
Transformation
*
Product
*
u
Product *
1
Mux
*
Mathematical
Expression
y
Product
Mathematical
2
Expression
Demux
Mathematical
Expression
TP ein/aus
3
Abbildung 5.2: PI-Regler mit Transformation und Stellgr¨oßenbeschr¨ankung
Der genaue Aufbau des PI-Reglers ist in Abb. 5.3 zu sehen. Hier ist zu erw¨ahnen, dass
der Eingang des Integrators auf Null geschalten wird, sobald sich die Stellgr¨oße in der
Begrenzung (uA,i =0 V oder uA,i =12 V) befindet. Somit bleibt der Ausgang des Integrators auf seinem Wert. Verl¨asst die Stellgr¨oße die Begrenzung, wird der Integrator wieder
aktiv3 .
3
Anti-Windup
5. Mehrgr¨oßenregelung der Pegelst¨ande
5.4. Aufbau und Test der Regelung
56
1
−K−
e
1
u_dach
1
−K−
Demux
Mux
−K−
Mathematical
Expression
*
*
num(z)
den(z)
Product
u
Mathematical
Expression
2
*
*
num(z)
den(z)
Product
Demux
Mathematical
Expression
*
*
num(z)
den(z)
Product
Abbildung 5.3: PI-Regler
5.4
Aufbau und Test der Regelung
Zum Testen wird ein Zyklus f¨
ur die drei Soll-Pegelst¨ande, bezeichnet als F¨
uhrungsgr¨oße
r, vorgegeben. Dieser beinhaltet Pegelspr¨
unge sowie gleichm¨aßige Pegelstand¨anderungen.
Der Test wurde zuerst in der Simulation und anschließend am Labormodell durchgef¨
uhrt.
Abbildungen 5.4 und 5.5 zeigen den Aufbau der Regelung in der Simulation und am
PC/104 System.
5. Mehrgr¨oßenregelung der Pegelst¨ande
5.4. Aufbau und Test der Regelung
57
Mux
+
−
Führungsgröße
regelung.Sprung_Ablauf
Stellgröße
r
switch −K−
y
Ein/Aus TP ein/aus
+
−
Mux
u_sim
u
u_A
1
h
1e3
Füllstände
Ein/Aus
regelung.TP_ein
To workspace
Strecke
PI−Regler
+
−
To workspace
h_sim
Demux
Abbildung 5.4: PI-Regelung Simulation
1
Scope
Fuehrungsgroesse
−K−
Demux
Scope
Stellgroesse
Demux
Scope
Sensor
COMEDI D/A COMEDI A/D
comedi0 CH−0
comedi0 CH−0
Pumpe 1
r
y
TP ein/aus
u
0
1/3
Sensor 1
COMEDI D/A COMEDI A/D
comedi0 CH−1
comedi0 CH−1
Sensor 2
Regler Ein/Aus Demux Pumpe 2
PI−Regler
COMEDI D/A COMEDI A/D
Stellgroesse
Demux
Mux
comedi0 CH−2
comedi0 CH−2
Step
Pumpe 3
u_S
offset
Scope
h −K−
Pegelstand
Demux
Pegelstaende
Sensor 3
TP Ein_Aus
Step
Offset−Abgleich 1
Step
Scope
Demux u_y
Demux
Offset−Abgleich 2 Mux
Step
Offset−Abgleich 3
Abbildung 5.5: PI-Regelung PC/104-System
Gemessen wurden die drei Ist-Pegelst¨ande y und die drei Ankerspannungen u, welche als
Stellgr¨oße dienen. In Abb. 5.6 werden die F¨
uhrungsgr¨oßen r und die Ist-Pegelst¨ande y
dargestellt. Die dazugeh¨origen Ankerspannungen u zeigt Abb. 5.7.
h in mm
Tank 1
Vorgabe
Messung
Simulation
0
20
40
60
80
100
t in s
h in mm
Tank 2
Vorgabe
Messung
Simulation
0
20
40
60
80
100
t in s
Tank 3
h in mm
80
70
60
50
40
30
Vorgabe
Messung
Simulation
0
20
40
60
80
100
t in s
Sammelbehälter
h in mm
80
70
60
50
40
30
Messung
Simulation
0
20
40
60
100
58
t in s
80
5.4. Aufbau und Test der Regelung
Abbildung 5.6: Ergebnis der PI-Regelung
80
70
60
50
40
30
5. Mehrgr¨oßenregelung der Pegelst¨ande
80
70
60
50
40
30
Messung
uA in V
12
10
8
6
4
2
0
Simulation
20
40
60
80
100
t in s
Tank 2
Messung
uA in V
12
10
8
6
4
2
0
Simulation
0
20
40
60
80
100
t in s
Tank 3
Messung
uA in V
12
10
8
6
4
2
0
Simulation
0
20
40
60
80
100
5.4. Aufbau und Test der Regelung
Abbildung 5.7: Stellgr¨oße der PI-Regelung
0
5. Mehrgr¨oßenregelung der Pegelst¨ande
Tank 1
t in s
59
6 Softwareseitige Umsetzung
In diesem Kapitel wird beschrieben, wie die Umsetzung der Programmierung und Simulation durchgef¨
uhrt wurde. Es wird weiters auf einzelne Probleme aufmerksam gemacht,
um diese bei zuk¨
unftigen Projekten von vornherein auszuschließen.
6.1
Betriebssysteme und Rechner
Wie Kapitel 2 entnommen werden kann, wurde auf das PC/104 System ein echtzeitf¨ahiges
Betriebssystem installiert. Es sollte auch die M¨oglichkeit geschaffen werden, mit dem
Programm Scilab/Scicos direkt am PC/104 System die Simulation und Programmierung
durchzuf¨
uhren. Durch Testen stellte sich jedoch heraus, dass die Leistung von 500 MHz des
PC/104 Systems nicht ausreicht um vern¨
unftig darauf arbeiten zu k¨onnen. Dadurch ist ein
zus¨atzlicher Rechner erforderlich, auf dem die Programmierung und Simulation mit dem
Programm Scilab/Scicos erfolgt. Wird eine RTAI-Code-Generierung auf einem gleichen,
echtzeitf¨ahigen Betriebssystem durchgef¨
uhrt, kann eine Datei generiert werden, welche
am PC/104 System ausgef¨
uhrt werden kann. Dies f¨
uhrt zu folgender Vorgehensweise: Auf
einem zweiten Rechner mit Windows-Betriebssystem wird das Programm Scilab/Scicos
installiert und die Simulation durchgef¨
uhrt. Zus¨atzlich wird das gleiche echtzeitf¨ahige
Betriebssystem, welches auf dem PC/104 System l¨auft, mit Hilfe von VMware Player 1
darauf installiert. Dazu wird das fertige Linux -Paket debian.vmx, auf welchem bereits das
Programm Scilab/Scicos mit RTAI-Lab Add-on (siehe auch Kap. 2.13) integriert ist, von
wiki4students heruntergeladen.
Bei der VMware Player Version 2.5 ist standardm¨aßig der RAM-Speicher auf 196 MB
eingestellt. Dies kann bei gr¨oßeren Scicos-Programmen (>1 MB) zu wenig sein. Mit dem
Programm VMmanager, welches ebenso frei aus dem Internet bezogen werden kann, l¨asst
sich der RAM-Speicher erh¨ohen. Dabei ist darauf zu achten, ihn maximal auf die H¨alfte
des verf¨
ugbaren RAM-Speichers einzustellen. Damit k¨onnen beide Betriebssysteme, die
am Rechner laufen, auf den halben RAM-Speicher zugreifen.
6.2
Umstellung auf Scilab/Scicos
F¨
ur die Simulation kann das Modell von Matlab/Simulink in Scilab/Scicos nachgebaut
werden, da es sehr ¨ahnlich ist. Da es schon einige Literatur gibt, die sich mit Dokumentationen u
¨ber Scilab/Scicos besch¨aftigen, wird in diesem Abschnitt nur auf einige wenige
1
VMware Player bietet die M¨
oglichkeit mehrere Betriebssysteme gleichzeitig auf einem PC ausf¨
uhren
zu k¨onnen, ist Opensource-Software und kann aus dem Internet frei bezogen werden.
60
6. Softwareseitige Umsetzung
6.2. Umstellung auf Scilab/Scicos
61
n¨
utzliche Themen eingegangen, welche die Umsetzung von einem Matlab/Simulink -Modell
auf dSpace auf ein Scilab/Scicos-Modell auf dem echtzeitf¨ahigen PC/104 System, erleichtern sollen. Folgende Hinweise k¨onnen dabei n¨
utzlich sein:
• Mit dem Scicos-Block Mathematical Expression k¨onnen Funktionen wie If - Bedingungen, Gr¨oßer/Kleiner -Abfragen oder sin/cos-Funktionen implementiert werden.
• Der Scicos-Block Generic Block ist vergleichbar mit einer s-function von Mat¨
lab/Simulink : Dazu muss eine sci-function in Scilab erstellt werden. Die Ubergabeparameter dieser Funktion werden im Scicos-Block Generic Block definiert und
nicht wie bei der s-function von Matlab/Simulink direkt in der Funktion.
• Die Scicos-Bl¨ocke Lookup-table und Curve verwenden ein Grafikfenster, in dem eine
Funktion gezeichnet oder u
¨ber eine Datei eingelesen werden kann. Die Datei hat
ein xy-Format, welche folgendermaßen erstellt werden kann: Zwei Spalten-Vektoren
x y werden in eine Matrix xy=[x y] zusammengefasst und mit save(’datei.xy’,xy)
als xy-Datei gespeichert. Das Einlesen von datei.xy erfolgt u
¨ber Data-read und anschließendem Speichern mit Edit-Ok.
F¨
ur die Umstellung auf RTAI m¨
ussen folgende Punkte beachtet werden:
• Alle Ein-/ und Ausg¨ange wie z.B. Steps und Scopes, sowie die comedi -HardwareTreiber m¨
ussen durch die Bl¨ocke aus der Bibliothek RTAI-Lib ersetzt werden.
• Um zu große Scicos-Dateien zu vermeiden, k¨onnen Bl¨ocke durch den Scicos-Block
Mathematical Expression ersetzt werden. Dieser Block kann lange mathematische
Ausdr¨
ucke beinhalten, und somit Bl¨ocke einsparen wodurch die Dateigr¨oße verkleinert wird.
Als Visualisierungsprogramm wird qRtailab f¨
ur das PC/104 System verwendet, welches
equivalent zum Programm Control-Desk von dSpace ist. Auf folgende Problematiken ist
zu achten:
• Im Visualisierungspaket qRtailab k¨onnen nur Parameter eines Scicos-Blocks eindeutig wieder erkannt werden, wenn diesem eine “Identifikation” unter FormatIdentification hinzugef¨
ugt wurde. Ansonsten hat dieser Block eine aufsteigende Nummer, wodurch dieser bei einem großen Programm mit vielen Bl¨ocken schwer zu finden
ist. Deshalb ben¨otigen alle Bl¨ocke, auf welche in qRtailab zugegegriffen werden soll,
einen eindeutigen Identifikationsnamen.
• Die Parameter der Bl¨ocke in Scicos werden in einer Datenpunktliste gespeichert.
qRtailab kann nur eine begrenzte Anzahl verarbeiten. Wenn die Anzahl der Parameter zu groß ist, wird der Fehler Speicherzugriffsfehler angezeigt und das Programm
beendet. Bei der Verwendung von Scicos-Bl¨ocken wie Lookup-Tables oder Curves
werden Kurven implementiert. Besonders dabei soll darauf geachtet werden, diese
Kurven mit nicht zu vielen Datenpunkten (<1000) zu beschreiben.
6. Softwareseitige Umsetzung
6.2. Umstellung auf Scilab/Scicos
62
• Bei der Verwendung von Scopes k¨onnen Probleme auftreten, wenn qRtailab mehrere
Verl¨aufe mit vielen Datenpunkten anzeigen soll. Es kann zu langen Verz¨ogerungen
in der Men¨
uf¨
uhrung kommen, was eine vern¨
unftige Verwendung von qRtailab nicht
gew¨ahrleistet. Um Verz¨ogerungen zu verhindern, m¨
ussen folgende Einstellungen get¨atigt werden, bevor ein Verlauf angezeigt wird: Anzeigen eines kleineren Bereichs
durch Senken von sec/div bzw. erh¨ohen der Abtastzeit durch Erh¨ohen des Dividers
im Men¨
upunkt Display, damit nie das Datenpunktemaximum von 9999 erreicht
wird. Ein vern¨
unftiges Arbeiten erfolgt, je nach Anzahl der Anzeigen, bei bis zu 999
Datenpunkten. Weiters sollen die Anzahl der Frames auf maximal f¨
unf eingestellt
werden, um qRtailab nicht zu u
¨berlasten.
Abbildung 6.1: Scopes Manager von qRtailab
Wenn die Umsetzung direkt von Matlab/Simulink auf das PC/104 System durchgef¨
uhrt
wird, sind folgende Aspekte zu beachten:
• Alle Ein-/ und Ausg¨ange wie z.B. Steps und Scopes, sowie die comedi -HardwareTreiber m¨
ussen mit den Bl¨ocken aus der Simulink -Bibliothek RTAI-Devices ersetzt
werden.
• Bei der Verwendung von Lookup-Tables muss darauf geachtet werden, diese mit nicht
zu vielen Datenpunkten (<1000) zu benutzen. Ansonsten w¨
urde die Simulink -Datei
unn¨otig groß werden, wodurch es zu Problemen bei der Visualisierung mit qRtailab
kommen kann.
7 Inbetriebnahme
In diesem Kapitel wird beschrieben, wie das 3-Tank-Labormodell mit dem PC/104 System
gesteuert und geregelt werden kann. Hier folgt eine Anleitung, wie Schritt f¨
ur Schritt das
3-Tank-Labormodell in Betrieb genommen werden kann und darauf Regelungen, Steuerungen und Messungen durchgef¨
uhrt werden k¨onnen. Die dazu vorbereiteten Dateien k¨onnen
Tabelle 7.1 entnommen werden.
Steuerung und Messung
Regelung und Messung
Ausf¨
uhrbare Datei qRtailab-Profil Verzeichnis
Strecke rtai.exe
s.qrl
/home/exe
PI rtai.exe
r.qrl
/home/exe
¨
Tabelle 7.1: Dateien-Ubersicht
1. Vorbereitung der ben¨otigten Komponenten:
(a) Das 3-Tank-Modell nach Kap. 1 aufbauen und nach Abb. 1.11 verbinden, sowie
die verwendenten elektrischen Komponenten, Leistungsverst¨arker, Netzger¨at,
Trennverst¨arkerkarten, PC/104 System und Bildschirm entsprechend mit Spannung versorgen und einschalten. Dabei muss am Netzger¨at 8 V eingestellt und
u
uhrt werden. Das PC/104 System wird mit
¨ber den Schalter Output hinausgef¨
dem Hauptschalter und dem Ein/Aus-Taster (siehe Abb. 1.10) eingeschaltet.
(b) Den Sammelbeh¨alter auf Pegelh¨ohe 75 mm mit Wasser bef¨
ullen.
2. Das PC/104 System starten:
(a) Am Betriebssystem Linux mit dem Benutzer “root” und dem Passwort “rtai”
anmelden.
(b) Den Root Terminal unter dem Men¨
upunkt Anwendungen/Zubeh¨or/Root Terminal starten.
(c) Im Root Terminal folgende Anweisungen durchf¨
uhren:
i. Durch Eingabe von loadrtai das rtai -Skript starten.
ii. Durch Eingabe von loadcomedi das comedi -Skript starten.
3. Steuerungs- oder Regelungsprozess starten:
(a) Im Root Terminal folgende Anweisungen durchf¨
uhren:
63
7. Inbetriebnahme
64
i. In das Verzeichnis mit der ausf¨
uhrbaren Datei laut Tab. 7.1 wechseln: cd
/home/exe
ii. Den Steuerungsprozess durch Eingabe von ./Strecke rtai & bzw. den Regelungsprozess durch Eingabe von ./PI rtai & starten (siehe Tab. 7.1).
iii. Einen neuen Reiter im Terminal ¨offnen und mit Eingabe von qrtailab &
das Visualisierungspaket qRtailab starten.
Abbildung 7.1: Oberfl¨ache von qRtailab
(b) Die weiteren Anweisungen sind im Visualisierungspaket qRtailab durchzuf¨
uhren. In Abb. 7.1 ist die Oberfl¨ache von qRtailab zu sehen. Weiters werden in
dieser Abbildung die wichtigsten Werkzeuge des Visualisierungspaketes hervorgehoben.
i. Das vorbereitete qRtailab-Profil s.qrl (f¨
ur die Steuerung) bzw. r.qrl (f¨
ur
die Regelung) in qRtailab laden (siehe Abb. 7.1). Dadurch verbindet sich
qRtailab mit dem laufenden Prozess Strecke rtai bzw. PI rtai und zeigt
die gew¨
unschten Anzeigen mit den richtigen Einstellungen.
ii. Bei den Sensoren muss ein Offset-Abgleich durchgef¨
uhrt werden. Der Offset¨
Abgleich erfolgt durch Anderung des Parameters Offset-Abgleich 1 f¨
ur den
Sensor 1. Im Feld V alue[0] wird die Differenz zwischen Skalenwert am Tank
1 und Anzeige 1 im Scope Pegelstand eingetragen. Dies erfolgt ebenso f¨
ur
¨
die Sensoren 2 und 3 durch Anderung der Parameter Offset-Abgleich 2 und
3.
4. Steuerung durchf¨
uhren:
(a) Punkte 1 - 3 m¨
ussen ausgef¨
uhrt sein.
7. Inbetriebnahme
65
(b) Zur Ansteuerung ist folgendes Steuerungsprofil eingebunden:
Abbildung 7.2: Sprungvorgabeparameter
Mit den Parametern T ein, T aus und r kann nach Abb. 7.2 im Parameters
Manager ein Spannungssprung f¨
ur die drei Pumpen vorgegeben werden. Zum
Beispiel wird mit den Parameterwerten T1 ein = 0, T1 aus = 5, r1 = 12 an die
Pumpe 1 ein f¨
unf Sekunden andauernder Spannungssprung von 12 V angelegt.
(c) Mit Ein Aus = 1 wird die Steuerung gestartet.
(d) Beendet wird diese durch Setzen von Ein Aus = 0.
(e) Eine Messung kann im Scopes Manager durch Ausw¨ahlen des gew¨
unschten
Scope (z.B. Pegelstaende) im Men¨
upunkt Saving gespeichert werden. Nach
Eingabe von Dateinamen, Verzeichnis und Dauer der Messung werden durch
Klicken auf Save die Messwerte vom Scope Pegelstaende gespeichert.
(f) Nach dem der Prozess laut Abb. 7.1 beendet wurde, kann durch Beenden von
qRtailab die Steuerung abgeschlossen werden. Das Programm ist an dieser Stelle
zum Starten eines neuen Prozess laut Punkt 3 bereit.
5. Regelung: F¨
ur die Regelung gibt es zwei Modi, den Sprung-Modus und den AblaufModus.
(a) Punkte 1 - 3 m¨
ussen ausgef¨
uhrt sein.
(b) Regelung mit dem Sprung-Modus
i. Beim Sprungmodus ist folgendes F¨
uhrungsgr¨oßenprofil eingebunden:
Abbildung 7.3: F¨
uhrungssprungvorgabeparameter
Durch Setzen der Parameter Value[0]-Value[4] in r1, r2 und r3 im Parameters Manager kann nach diesem F¨
uhrungsgr¨oßenprofil geregelt werden.
Als Beispiel werden alle drei Pegelst¨ande durch Setzen der Parameter laut
Tabelle 7.2 auf 50 mm geregelt.
7. Inbetriebnahme
66
r1 r2
0
0
0
0
0
0
0
0
50 50
Value[0]
Value[1]
Value[2]
Value[3]
Value[4]
r3
0
0
0
0
50
Tabelle 7.2: Beispiel zur Regelung mit dem Sprungmodus
ii.
iii.
iv.
v.
Mit Sprung/Ablauf = 0 den Sprung-Modus ausw¨ahlen.
Mit Sprung Ein/Aus = 1 den Sprung aufschalten.
Mit Regler Ein/Aus = 1 den Regler einschalten
Am Ende der Regelung den Sprung mit Sprung Ein/Aus = 0 und den
Regler mit Regler Ein/Aus = 0 ausschalten.
(c) Regelung mit dem Ablaufmodus
i. Beim Ablaufmodus ist folgender F¨
uhrungsverlauf eingebunden:
Tank 1
h in mm
80
70
60
50
40
30
20
10
0
0
20
40
60
80
100
60
80
100
60
80
100
t in s
Tank 2
h in mm
80
70
60
50
40
30
20
10
0
0
20
40
t in s
Tank 3
h in mm
80
70
60
50
40
30
20
10
0
0
20
40
t in s
Abbildung 7.4: F¨
uhrungsverlauf-Vorgabe bei der Ablaufregelung
ii.
iii.
iv.
v.
Mit Sprung/Ablauf = 1 in den Ablaufmodus wechseln.
Mit Ablauf Ein/Aus = 1 den Ablauf einschalten.
Mit Regler Ein/Aus = 1 den Regler einschalten
Am Ende der Regelung den Ablauf mit Ablauf Ein/Aus = 0 und den
Regler mit Regler Ein/Aus = 0 ausschalten..
7. Inbetriebnahme
67
(d) Nach dem der Prozess laut Abb. 7.1 beendet wurde, kann durch Beenden von
qRtailab die Regelung abgeschlossen werden. Das Programm ist an dieser Stelle
zum Starten eines neuen Prozess laut Punkt 3 bereit.
Bemerkung: Durch die Ungenauigkeiten der alten Sensoren stimmt der Skalenwert mit der Anzeige nicht immer u
¨ berein. Es kann bei jedem Pegelstand
zu jeder Zeit ein Offset-Abgleich nach Punkt 3.b.ii durchgefu
¨ hrt werden.
A Anhang
Im Anhang werden alle fehlenden Messungen zur Identifikation und die restlichen Simulationsmodelle in Scilab/Scicos angef¨
ugt.
A.1
Messungen
In den folgenden Diagrammen sind die Messungen zur Identifikation der drei Pumpen
dargestellt. In jedem Diagramm ist die Reaktion des Pegelstandes hi auf eine angelegte
Spannung uA,i u
¨ber die Zeit t abgebildet. Aus den Abbildungen geht deutlich hervor, dass
niedrige Ankerspannungen eine absteigende Kennlinie aufweisen und somit die Tanks
entleeren und erst ab einer bestimmten Spannung die Tanks bef¨
ullt werden.
40
30
70
70
70
70
50
2
3
t in s
4
5
40
30
30
30
30
20
0
70
70
h in mm
80
50
40
1
2
3
t in s
4
5
6
60
50
20
0
90
1
2
3
4 5
t in s
6
7
8
9
2
5
6
7
5
10
70
65
65
60
60
55
50
5
6
7
20
1
2
3
4
t in s
5
6
7
0
uA = 6V
100
45
40
40
35
35
4
6
100
8 10 12 14 16 18 20
t in s
uA = 10V
60
50
100
2
3
4
t in s
5
6
7
0
uA = 11V
85
1
2
3
t in s
4
5
6
uA = 12V
60
50
50
40
40
90
80
80
70
60
75
70
h in mm
70
60
90
h in mm
70
h in mm
80
h in mm
h in mm
80
80
70
60
65
60
55
50
50
50
40
40
45
40
35
30
0.0
0.5
1.0
1.5 2.0
t in s
2.5
3.0
3.5
30
0.0
0.5
1.0
1.5 2.0
t in s
2.5
3.0
3.5
30
0.0
0.5
1.0
1.5
t in s
2.0
2.5
3.0
30
0.0
0.5
1.0
1.5
t in s
2.0
2.5
30
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
t in s
Abbildung A.1: Messungen zur Identifikation von Pumpe 1
68
4
5
t in s
6
7
8
uA = 7V
70
60
40
30
1
3
50
40
0
2
80
70
30
2
1
90
80
50
50
30
0
90
55
45
0
uA = 9V
3
4
t in s
75
t in s
90
2
uA = 5V
80
70
15
1
60
40
20
0
30
0
uA = 8V
3
4
t in s
75
30
20
1
uA = 4V
80
40
30
20
0
uA = 3.5V
90
80
60
50
40
6
uA = 3V
90
50
60
40
h in mm
1
50
60
40
20
0
60
h in mm
70
h in mm
80
60
uA = 2.5V
90
80
h in mm
50
uA = 2V
90
80
h in mm
60
uA = 1.5V
90
80
h in mm
h in mm
h in mm
70
uA = 1V
90
80
h in mm
80
h in mm
uA = 0.5V
90
h in mm
uA = 0V
90
30
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
t in s
A. Anhang
A.1. Messungen
40
40
30
30
20
20
10
0
1
2
3
4
t in s
5
6
7
uA = 3V
90
20
0
1
2
3
4
5
t in s
6
7
8
uA = 4V
90
75
60
5
6
60
50
70
70
60
50
60
50
40
40
30
30
1
2
3
4 5
t in s
6
7
8
9
uA = 6V
20
70
70
60
50
1
2
3
4
5 6
t in s
7
8
9 10
0
uA = 7V
90
80
100
40
45
30
30
40
35
20
0
5
10
15
20
0
2
4
6
t in s
t in s
uA = 9V
90
80
80
70
h in mm
60
50
70
60
40
30
30
30
20
20
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
t in s
20
0.0
1.0
1.5 2.0
t in s
2.5
3.0
50
4
5
t in s
6
7
40
30
20
70
60
50
20
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5
t in s
2
3
t in s
4
5
6
40
uA = 12V
110
80
70
60
50
40
0.5
1.0
1.5
t in s
2.0
2.5
30
0.0
3.0
0.5
1.0
1.5
t in s
2.0
2.5
30
30
1
2
3
4 5
t in s
6
7
8
9
uA = 3V
85
1
2
3
4
5 6
t in s
7
8
9 10
uA = 4V
90
90
3
4
5 6
t in s
7
8
9 10
uA = 5V
85
50
60
65
60
55
50
45
50
40
40
35
30
30
0
2
4
6
8
t in s
10
12
14
0
1
2
3
4
t in s
5
6
7
40
30
1
2
3
4
5 6
t in s
7
8
9 10
0
5
10
15
t in s
uA = 6V
100
80
uA = 8V
90
75
80
70
h in mm
55
h in mm
60
70
60
50
0
75
70
65
h in mm
h in mm
2
80
70
70
30
1
85
80
75
70
40
0
80
80
60
uA = 2V
90
80
50
20
0
uA = 1.5V
90
50
40
20
0
uA = 1V
60
40
60
30
1
h in mm
70
70
20
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5
t in s
0
65
60
55
50
45
45
40
40
35
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
t in s
35
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
t in s
h in mm
50
80
uA = 8V
30
90
90
80
h in mm
h in mm
60
h in mm
uA = 0.5V
90
12
30
8
h in mm
uA = 0V
70
10
40
Abbildung A.2: Messungen zur Identifikation von Pumpe 2
80
8
80
60
100
10
0.0
3.5
3
50
40
0.5
2
60
50
40
1
uA = 11V
100
90
6
t in s
40
20
0
100
80
70
12
uA = 10V
110
90
10
h in mm
100
8
4
50
40
h in mm
50
2
90
50
55
50
30
0
80
60
40
20
0
90
60
h in mm
70
7
70
h in mm
h in mm
65
3
4
t in s
80
70
70
2
90
80
80
1
uA = 5V
100
85
80
20
0
h in mm
30
h in mm
50
uA = 2.5V
90
80
h in mm
50
h in mm
50
60
h in mm
h in mm
60
uA = 2V
90
80
h in mm
70
60
uA = 1.5V
90
70
40
h in mm
uA = 1V
80
80
70
h in mm
uA = 0.5V
90
80
h in mm
uA = 0V
90
69
70
60
50
40
30
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
t in s
A. Anhang
uA = 9V
110
uA = 10V
100
100
90
90
70
70
60
0.5
1.0
1.5
t in s
2.0
2.5
3.0
30
0.0
0.5
1.0
1.5
t in s
2.0
2.5
3.0
30
0.0
60
50
40
40
40
uA = 12V
70
70
50
50
50
70
80
60
60
40
0.0
90
80
80
h in mm
h in mm
h in mm
80
uA = 11V
90
h in mm
100
A.2. Simulationsmodelle in Scilab/Scicos
0.5
1.0
1.5
t in s
2.0
2.5
30
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
t in s
3.0
Abbildung A.3: Messungen zur Identifikation von Pumpe 3
A.2
Simulationsmodelle in Scilab/Scicos
Hier wird das detailierte Simulationsmodell der Strecke mit allen Unterblockschaltbildern
gezeigt. Der Aufbau des in Abb. 4.9 benannten Block Strecke ist in Abb. A.4 dargestellt.
In diesem Blockschaltbild sind die Bl¨ocke Beh¨alter, Sammelbeh¨alter und Pumpe enthalten.
q_zu
h_unten
h
q_ab
q_rueck
Behälter1
h
q_ab
q_rueck
q_zu
h_unten
Behälter2
q_zu
h_unten
h
q_ab
q_rueck
Behälter3
u_A
1
h
Demux
Mux
u_A
h
h_S
q
q
Pumpe2
u_A
h
h_S
q
Pumpe3 +
+
+
+
+
++
−
Pumpe1
u_A
h
h_S
q_zu
q_ab
h_S
Sammelbehälter
Abbildung A.4: Blockschaltbild der Strecke
Deren Aufbau wird in den Abbildungen A.5, A.6 und A.7 gezeigt.
1
A. Anhang
A.2. Simulationsmodelle in Scilab/Scicos
q_zu
+
1
num(s)
h
−K−
1
den(s)
−
h_unten
GENERIC
2
−K−
1/s
q_ab
2
Mux
tank(1).H_next
*
constant1
*
tank(1).H
+
−
q_rueck
3
Mathematical
Product
Expression
constant1
Abbildung A.5: Blockschaltbild eines Tanks
Abbildung A.6: Blockschaltbild des Sammelbeh¨alters
Abbildung A.7: Blockschaltbild einer Pumpe
71
Literaturverzeichnis
[1] Ludwig P.: Regelung des Labormodells Wagen und Pendel mit minimalem Linux basierenden Echtzeitsystem und Open-Source Software, Projektseminar am Institut f¨
ur
Regelungstechnik und Prozessautomatisierung, JKU Linz, 2009
[2] F¨
urnhammer T.: Regelung des Labormodells Air Levitated Ball mittels Linux Echtzeitsystem und einer Hardware von National Instruments, Projektseminar am Institut
f¨
ur Regelungstechnik und Prozessautomatisierung, JKU Linz, 2009
[3] Wieser P.: Drei-Tank-Modell Aufbau, Identifikation und Regelung, Projektseminar am
Institut f¨
ur Regelungstechnik und Prozessautomatisierung, JKU Linz, 2008
[4] www.debian.org : Homepage des Betriebssystems Debian Gnu/Linux, 30.10.2009 um
06:12
[5] Schlacher K.: Vorlesungsskript aus Automatisierungstechnik II, WS 2009
[6] http://de.wikipedia.org/wiki/RTAI, 12.11.2009 um 14:32
72
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement