Zusammenfassung
Diese Arbeit ist im Rahmen eines Projektes angesiedelt, welches sich mit der Entwicklung von Hapkeys beschäftigt. Dies sind aus mehreren Elementen bestehende, flexible Eingabefelder mit haptischer Rückkopplung. Kernpunkt dieser Arbeit stellt die Regelung eines Verbundes aus mehreren Einzelelementen dar. Alle Elemente werden auf einer Höhe gehalten, so dass der Gesamteindruck einer Taste mit einer ebenen Oberfläche vermittelt wird (Abbildung I). Beim Herunterdrücken der Taste wird dem Finger abhängig von der Tastenhöhe eine definierte Kraft entgegengebracht. Diese wird aus einer Kraft-Weg-Kennlinie berechnet. Die Kennlinie kann über eine Software verändert werden, so dass unterschiedliche haptische Eindrücke beim Betätigen der Taste entstehen.
In der Arbeit wird die Konzeptbildung der Regelung vorgestellt (Abbildung II). Diese führt zu einer regelungstechnischen Betrachtung des Systems. Es sind Übertragungsfunktionen der einzelnen Teile und des gesamten Systems aufgestellt. Mit Hilfe der Übertragungsfunktionen und mit dem Simulationstool "Simulink" (aus Matlab ® ) wird das System analysiert und werden Verhaltensweisen beschrieben.
Nach Abschluss der theoretischen Betrachtungen erfolgt die Umsetzung in die Praxis. Die Regelung ist in Flussdiagrammen beschrieben und in C-Quellcode umgesetzt. Die entwickelten Programme realisieren die beschriebene Regelung.
Inhaltsverzeichnis
Inhaltsverzeichnis
1 Einführung Hapkeys. 1
1.1 Anwendungsbereiche von Hapkeys. 1
1.2 Die Aktorik 2
1.3 Die Sensorik. 3
2 Aufgabenstellung 4
3 Konzeptbildung 6
3.1 Beschreibung der Systembedingungen. 6
3.1.1 Berechnung der Kraft-Weg-Kennlinie. 9
3.1.2 Kräfte Vergleich 9
3.2 Gesamtkonzept in Funktionsblöcken. 12
4 Beschreibung des Regelungskonzepts 13
4.1 Beschreibung des inneren Regelkreislaufes 13
4.1.1 Die Regelstrecke 13
4.1.2 Der Aktor 15
4.1.3 Der Positionssensor. 15
4.1.4 AD/DA-Wandlung. 15
4.1.5 Störgröße Finger 16
4.1.6 Der Regler. 17
4.1.7 Zusammensetzten der Teilübertragungsfunktionen. 17
4.1.8 Zusammenfassen des inneren Regelkreislaufes. 17
4.2 Übertragungsfunktionen 18
4.2.1 Auslegung des Reglers. 18
4.2.2 Auslegung der Reglerparameter 19
4.3 Der äußere Regelkreislauf 23
4.4 Die Gesamtübertragungsfunktion 24
4.5 Simulation mit Simulink. 26
5 Umsetzung in Regelungsprogramm. 29
5.1 Flussdiagramme zur zeitdiskreten Regelung 29
5.1.1 Unterscheidung von Tastenfeldern 29
5.1.2 Unterscheidung von Rückwärts-/Vorwärts-Kennlinie. 30
5.2 Die Programmierung. 32
5.2.1 Der Projektfile Hapkey 32
5.2.2 Umsetzung der Flussdiagramme in Quellcode 33
5.2.3 Kompilierung des Quellcodes 34
Inhaltsverzeichnis
5.3 Die eingesetzte Hardware (Test-P)C 34
6 Tests und Ergebnisse 35
6.1 Erreichte Regelfrequenzen. 35
6.2 Das Regeln der Elemente. 35
6.3 Die Hapkey Programme. 35
7 Kritik und Ausblick 37
8 Literaturverzeichnis 38
Einführung Hapkeys
1 Einführung Hapkeys
Um die Bedienung von technischen Geräten zu ermöglichen, ist es aufgrund des wachsenden Funktionsumfanges der Geräte sinnvoll, variable Bedienflächen zu realisieren. Diese Bedienflächen können sich den möglichen Eingabeoptionen des Gerätes anpassen. Das Projekt Hapkey beschäftigt sich mit variablen Bedienflächen, welche im Gegensatz zu Touch-Screens nicht nur eine visuelle Darstellung der Eingabemöglichkeiten zulassen, sondern auch reelle Tasten mit haptischen Eindrücken ermöglicht. Eine Hapkey Bedienfläche besteht aus mehreren, kleinen, aktiven Tastenelementen, welche zusammen eine gesamte Taste darstellen können (siehe Abbildung 1.1) Die Tastenelemente sind auf so kleine Abmessungen realisiert, dass durch unterschiedliche Ansteuerung der Elemente, verschiedene Tasten-Größen, -Anordnungen und -Formen verwirklicht werden können.
Abbildung 1.1: Hapkey Bedienfläche
1.1 Anwendungsbereiche von Hapkeys
Stellt man sich eine Menüführung wie z.B. bei einem Bankautomaten vor, so kann das Bedienfeld abhängig vom derzeitig aufgerufenen Menü auch die Tastenkonfiguration anpassen. Weiterhin kann eine variable Fernbedienung realisiert werden, welche für mehrere Geräte ausgelegt ist. Möchte man den Fernseher bedienen, so werden Tasten für Lautstärke und Senderwahl auf der Bedienfläche erscheinen. Möchte man jedoch den Videorekorder bedienen, so erscheinen Tasten für Play, Rekord, Vor- und Rücklauf. So ist in vielen Bereichen, bei denen Benutzereingaben getätigt werden, diese Anpassung des Bedienfeldes an die benötigten Funktionen vorstellbar. Hinzu kommt die Programmierbarkeit einer Kraft-Weg-Kennlinie. Das bedeutet, eine Taste bringt dem Finger eine definierte Kraft abhängig von der Position der Taste
Einführung Hapkeys
entgegen. Eine Kennlinie, wie sie bei vielen Tastaturen und Eingabegeräten typisch ist, ist auch in Abbildung 1.2 dargestellt. Hier erkennt man einen "Knackpunkt", welcher dem Benutzer die Information "Taste gedrückt" haptisch vermittelt. Die Kraft, die dem Finger beim Drücken der Taste entgegengebracht wird, nimmt zuerst in einem proportionalen Verhältnis zur Tastenposition zu. An dem Knackpunkt nimmt die entgegengebrachte Kraft abrupt ab, so dass der Finger mit der Taste schnell weiter nach unten und gegen einen Anschlag fällt. Bei den Hapkeys ist es möglich diese Kraft-Weg-Kennlinie zu variieren, so dass z.B. der Knackpunkt stärker oder schwächer ausfällt oder ganz verschwindet. Das Gesamtsystem mit den bereits bestehenden Komponenten ist in Abbildung 1.2 dargestellt. Auf die Aktoren und Sensoren wird im Folgenden weiter eingegangen.
Abbildung 1.2: Das Gesamtsystem Hapkeys
1.2 Die Aktorik
Wie in Abbildung 1.3 zu sehen, ist der Aktor nach dem elektrodynamischen Prinzip realisiert. Spulen sind im Stator des Aktors untergebracht und Magnete bilden den Translator, welcher bei Bestromung der Spule eine Linearbewegung ausführt. Bei den bisher realisierten Aktoren können bei einem Hub von 5mm, Kräfte von bis zu 1,5 Nm pro Aktor aufgebracht werden.
Auf die genaue Funktion und Entwurf des Aktors wird an dieser Stelle nicht näher eingegangen, sondern auf die Studienarbeit von T. Kern [1] verwiesen.
Einführung Hapkeys
Abbildung 1.3: Aktor eines Tastenelementes der Hapkeys
1.3 Die Sensorik
Zum Messen der Position des Aktorläufers und damit der Taste wird eine Reflexlichtschranke eingesetzt. Sie ist unterhalb der Aktorik eingebaut, wie in Abbildung 1.4 zu sehen. Die Auswahl dieses Positionsmessverfahrens und deren Auslegung sind Gegenstand der Studienarbeit von T. Weber [2].
Abbildung 1.4: Eingebaute Sensorik in Hapkey Elementen
Aufgabenstellung
Testaufbauten mit Aktorik und Sensorik sind in Vorgängerarbeiten bereits entwickelt worden. Offen ist jedoch noch die Regelung des Gesamtsystems, welche zur Bereitstellung der gewünschten Funktionalität notwendig ist.
2 Aufgabenstellung
Das Gesamtkonzept Hapkey sieht eine variable Bedienfläche vor, bei der jedes einzelne Element individuell angesteuert wird. Für das Erzeugen einer Taste müssen mehrere Elemente das gleiche Niveau einnehmen. Dies muss auch dann gewährleistet sein, wenn der Finger mit unterschiedlicher Kraft auf die einzelnen Elemente der Taste drückt (siehe Abb. 2.1)
=> Anforderung 1: Alle Elemente einer Taste auf einem Niveau, unabhängig von der Kräfteverteilung
Es soll die dem Finger entgegengebrachte Kraft durch eine Kraft-Weg-Kennlinie berechnet werden. Jeder Position der Taste ist damit eine definierte Kraft zugeordnet (siehe Abb. 2.2). Die Kraft wird dabei aus der Summe der Kräfte der einzelnen Elemente gebildet. Es soll möglich sein unterschiedliche Kraft-Weg-Kennlinie in der Regelung zu implementieren, um unterschiedliche haptische Eindrücke zu erzeugen.
=> Anforderung 2: Taste mit variierbarer Kraft-Weg-Kennlinie
Aufgabenstellung
Auf der Bedienfläche sollen unterschiedliche Größen und Formen einer Taste realisiert werden können (siehe Abb. 2.3). Die Elemente der Bedienfläche müssen daher zu individuellen Tasten definiert werden können.
=> Anforderung 3: Tasten mit unterschiedlichen Formen und Größen
Aus den genannten Bedingungen soll ein Konzept für eine Regelung entwickelt werden, welches anschließend durch analytische Berechnungen und Simulationen auf Funktion und Auslegung überprüft werden muss. Weiterhin soll das entwickelte Konzept in die Praxis umgesetzt werden. Dazu ist zum Zeitpunkt der Diplomarbeit bereits geplant, die Regelung und Ansteuerung der Elemente vollständig mit einem Mikrocontroller (µC) zu realisieren. Die Hardware und auch die Auswahl des µC sind jedoch innerhalb einer Studienarbeit noch in der Aufbauphase, so dass die Realisierung mit geringen Einschränkungen auf einem herkömmlichen PC mit AD/DA-Wandler Karten durchzuführen ist. Bei der Programmierung ist jedoch darauf zu achten, dass die Übertragbarkeit des Quellcodes auch für die spätere Realisierung mit dem µC gewährleistet ist. Am Ende der Arbeit soll eine fertige Hapkey Bedienfläche aus acht Elementen ansteuerbar sein, welche mit unterschiedlichen Kraft-Weg-Kennlinien und variablen Tastenkonfigurationen geregelt werden kann.
Konzeptbildung
3 Konzeptbildung
Für die Einarbeitung in die Problematik ist es wichtig, den Sachverhalt der Aufgabenstellung genau zu erörtern. Die verbal formulierten Anforderungen an das System werden in mathematisch beschreibbare Systembedingungen überführt. Funktionsblöcke der Systembedingungen werden aufgestellt und abschließend zu einem Gesamtkonzept verbunden.
3.1 Beschreibung der Systembedingungen
Definition der Begriffe:
Die erste Anforderung an das System lautet:
Alle Elemente eines Tastenfeldes auf gleichem Niveau regeln, unabhängig von der Kräfteverteilung des Fingers
Konzeptbildung
Aus der Aufgabenstellung ergibt sich weiterhin die Forderung, dass auf der Bedienfläche Tasten mit unterschiedlichen Formen und Größen realisierbar sein sollen.
Um beide genannten Anforderungen zu vereinbaren, muss jedes Element eine eigene Regelung besitzen. Nur so können die Elemente untereinander zu verschiedenen Tasten kombiniert werden.
Da die Kräfteverteilung des Fingers auf die Elemente unbekannt ist, kann nur die Position jedes Elementes geregelt werden. Für die Konzeptbildung ist daher an dieser Stelle bereits eine wichtige Entscheidung zu treffen:
Jedes Element muss eine eigene Positionsregelung besitzen.
Um die erste Anforderung zu erfüllen, muss die Regelung von jedem Element gewährleisten, dass unabhängig von der durch den Finger entgegengebrachten Kraft, immer die vorgegebene Position eingehalten wird:
x ist = x soll 3.2
In Abbildung 3.2 ist eine Positionsregelung für ein Element dargestellt, welche bei entsprechender Auslegung des Reglers die Anforderungen erfüllt:
Der Finger wird als Störgröße beschrieben, denn er behindert die Aufgabe des Regelungskreises, welcher den Sollwert einstellen soll. Durch den Aktor wird diese Störgröße kompensiert.
Die Vorgabe des x soll -Wertes, muss durch die Berechnung der Kraft-Weg-Kennlinie erfolgen. Ein weiterer Regelkreislauf muss diese Berechnungen vornehmen. Er wird äußerer Regelkreislauf genannt da er, wie im Kapitel 3.3 geschildert, den inneren Regelkreisläufen (Positionsregelungen) übergeordnet ist.
Für den inneren Regelungskreislauf ergibt sich der Funktionsblock:
Konzeptbildung
Die F ist -Kraft ist im Funktionsblock ebenfalls aufgeführt, da sie für weitere Berechnungen benötigt wird. Sie kann aus dem Strom berechnet werden, der vom Regler zur Ansteuerung des Aktors aufgebracht wird.
Die Anforderung, dass alle Elemente eines Tastenfeldes auf dem gleichen Niveau gehalten werden, wird dadurch erreicht, dass alle Elemente des Tastenfeldes die gleiche X soll -Wert Vorgabe haben (siehe Abbildung 3.4). Aus Formel 3.1 und 3.2 folgt dann:
Nach der oben dargestellten Auslegung der inneren Regelkreisläufe wird für eine Vorgabe des Sollwertes x soll = 0 jedes Element des Tastenfeldes an der obersten Position gehalten. Die Aktoren würden auch beim Draufdrücken des Fingers auf das Tastenfeld so bestromt werden, dass die Fingerkraft genau kompensiert wird, so dass sich keine Positionsveränderung ergibt. Das Tastenfeld wäre für den Finger wie eine unnachgiebige "Tischplatte" (theoretisch, wenn die Aktoren ausreichend viel Kraft aufwenden könnten)
Konzeptbildung
3.1.1 Berechnung der Kraft-Weg-Kennlinie
Gefordert ist ein definiertes Nachgeben des Tastenfeldes, welches durch die Kraft-Weg-Kennlinie bestimmt wird. Für eine definierte Position ist eine definierte Kraft vorgegeben, welche dem Finger entgegengebracht werden soll:
F soll = f(x ist ) 3.4
Aufgrund der Auslegung des inneren Regelkreislaufes und der daraus resultierenden Formel 3.2: x ist = x soll 3.2
kann die Soll-Kraft auch durch den x soll -Wert berechnet werden:
F soll = f(x soll ) 3.5
Dies wird als Funktionsblock definiert:
Die inneren Regelkreisläufe müssen durch eine Positionsvorgabe angesteuert werden. Bei der Berechnung der Kraft-Weg-Kennlinie resultiert jedoch eine einzustellende Kraft! Daher ist ein weiterer Zwischenschritt notwendig.
Es muss ein Vergleich zwischen Ist-Kraft und Soll-Kraft (berechnet aus der Kennlinie) stattfinden. Aus diesem Vergleich resultiert dann wieder eine Anpassung der Soll-Position. Im Folgenden soll auf diesen Vergleich weiter eingegangen werden.
3.1.2 Kräfte Vergleich
Wenn der Finger (Ist-Kraft) stärker auf das Tastenfeld drückt, als er an dieser Position sollte (Soll-Kraft), dann wird die Position der Taste um eine feste Schrittweite nach unten korrigiert.
F Finger >F soll => x soll =x soll +dX (mit dX = konstante Schrittweite)
Wenn der Finger schwächer auf das Tastenfeld drückt, als er an dieser Position sollte, dann wird die Position der Taste um eine feste Schrittweite nach oben korrigiert. F
Finger
Dieser Vergleich soll in Abbildung 3.6 und 3.7 verdeutlicht werden. Dazu ist die einzuhaltende Kraft-Weg-Kennlinie dargestellt. Weiterhin bildet in dem Diagramm die Fingerkraft zusammen mit dem aktuellen x soll -Wert einen Punkt oberhalb bzw. unterhalb der Kennlinie. Aufgrund des Kräftevergleichs, wird ein neuer x soll -Wert berechnet und so der letzte "falsche" x soll -Wert korrigiert.
Konzeptbildung
Wenn dieser Vergleich ständig durchgeführt wird, entspricht die Sollwertvorgabe für die inneren Regelkreisläufe immer der Kennlinie.
Der Kräftevergleich wird als Funktionsblock definiert:
Konzeptbildung
Die aktuelle Fingerkraft, die für den Kräftevergleich benötigt wird, kann aus der genau entgegengerichtet wirkenden Kraft des Tastenfeldes ermittelt werden. Die Gesamtkraft des Tastenfeldes setzt sich aus den einzelnen Kräften der Elemente zusammen:
F Finger = - F TFeld = - ( F ist 1 +F ist 2 +F ist 3 +...+F ist N ) 3.6
Die Aufsummierung der Einzelkräfte des Tastenfeldes wird ebenfalls als Funktionsblock dargestellt:
Es sind nun alle Anforderungen und Bedingungen an das System erfüllt. Die Formulierung der Systembedingungen in mathematischen Gleichungen soll hier zur Übersicht noch einmal dargestellt werden:
Tabelle 3.1.: Übersicht aller Formeln und Größen
Konzeptbildung
3.2 Gesamtkonzept in Funktionsblöcken
Um das entwickelte Gesamtkonzept übersichtlich darzustellen, werden alle Funktionsblöcke zusammengeschaltet (siehe Abbildung 3.10). Alle Rückkopplungen von Systemgrößen werden durch punktierte Linien gekennzeichnet:
Abbildung 3.10: Gesamtsystem in Funktionsblöcken
In dieser Darstellung des Gesamtsystems sind alle Anforderungen und Abhängigkeiten des Systems enthalten. Der äußere Regelkreislauf ist durch die Funktionsblöcke der Kraft-Weg-Kennlinie, der Kräfte Summation und des Kräftevergleichs gegeben. Er bildet durch die Rückkopplung der Kräfte einen Regelkreislauf, der den Positionsregelungen übergeordnet ist.
An dieser Stelle ist die Grundaufgabe gelöst, ein Konzept zur Regelung der Hapkeys zu entwickeln. Es folgt die detaillierte Beschreibung des inneren und des äußeren Regelkreislaufes, sowie deren Auslegung und Parameterbestimmung.
Beschreibung des Regelungskonzepts
4 Beschreibung des Regelungskonzepts
Der erste Abschnitt der Regelungsauslegung besteht aus der Analyse der einzelnen Übertragungsfunktionen der Systemkomponenten und Bestimmung deren Parameter. Dafür werden vor allem die Arbeiten [1] und [2] herangezogen, wobei die Parameter für die Aktoren bisher nur theoretischen in [1] ermittelt wurden.
Anschließend wird das regelungstechnische Blockschaltbild für den inneren und den äußeren Regelkreislauf aufgestellt. Daraus ergeben sich die Übertragungsfunktionen im Laplace Bereich.
4.1 Beschreibung des inneren Regelkreislaufes
Für die Auslegung des inneren Regelkreislaufes (Abbildung 4.1) ist die in der Regelungstechnik übliche Analyse der Führungsübertragungsfunktion notwendig, welche das Verhältnis von Eingangsgröße zu Ausgangsgröße beschreibt. Um diese aufstellen zu können, müssen zuerst die Teilübertragungsfunktionen des Systems erfasst werden:
Abbildung 4.1.: innerer Regelkreislauf
4.1.1 Die Regelstrecke
Bei einem Hapkey Element besteht die Strecke aus der Taste zu der, aufgrund des Aufbaus, auch Teile des Aktors gehören. Die Eingangsgröße der Strecke ist die Kraft des Aktors und des Fingers und als Ausgangsgröße resultiert eine Positionsänderung bzw. ein Weg. Das Grundgesetz der Regelstrecke wird durch den Zusammenhang von Kraft und Weg gegeben:
⋅ = ) (t x m F & & 4.1 (mit m = Masse aller beweglichen Teile)
Umgestellt nach x als Ausgangsgröße ergibt sich daraus:
Beschreibung des Regelungskonzepts
Berücksichtigt man noch eine (lineare) Reibungskraft (mit r als Reibungskonstante)
⋅ = ) ( t x r F ib & 4.3
Re
und eine Federkraft, welche durch die Rückstellwirkung des Aktor-Magnetkreises verursacht wird (mit n = Nachgiebigkeit):
so kann man über die Kräftesumme
− − = F F dF F 4.5
Feder ib Re
die Strecke wie folgt im Laplace-Bereich darstellen:
Abbildung 4.2: Blockschaltbild Regelstrecke
Stellt man ausgehend von diesem Blockschaltbild die Übertragungsfunktion im Laplace Bereich auf, so erhält man:
n
Dies entspricht einem PT2 Glied. Fügt man Koeffizienten zur Standard PT2 Darstellung ein, so ergibt sich:
mit
K s = n T 1 = nr T 2 = nm
Beschreibung des Regelungskonzepts
4.1.2 Der Aktor
Für die Übertragungsfunktion des Aktor ist das Übersetzungsverhältnis des elektromechanischen Wandlers von Bedeutung:
⋅ ⋅ = ) ( ) ( t i l B t F 4.8
In der Praxis weist der Hapkey Aktor einen Linearitätsfehler auf. Durch eine Korrekturkennlinie, welche durch Messungen ermittelt wird, kann dieser Fehler per Software korrigiert werden.
Der Aktor kann somit als ein proportionales Glied, mit dem Übersetzungsverhältnis B*l beschrieben werden:
Abbildung 4.3: Blockschaltbild des Aktors
4.1.3 Der Positionssensor
Bei dem verwendeten Sensor handelt es sich um eine Reflexlichtschranke mit nichtlinearer Kennlinie. Bei der Messung wird diese Nichtlinearität durch eine Korrekturkennlinie in der Software korrigiert. Der Positionssensor kann somit als Proportionalglied mit dem idealen Übertragungsfaktor von K se = 1 angenommen werden kann:
Abbildung 4.4: Blockschaltbild des Sensors
4.1.4 AD/DA-Wandlung
Die Regelung des Systems ist digital realisiert. Daher muss zur Verarbeitung der Messdaten und Ansteuerung der Aktoren eine AD/DA-Wandlung stattfinden.
Beschreibung des Regelungskonzepts
Quantisierung
Die Übertragungseigenschaften, welche durch die Quantisierung der Werte auftreten, werden nicht explizit in der Gesamtübertragungsfunktion berechnet. Die Fehler, die durch Quantisierung auftreten, sind jedoch in der Software weitgehend korrigiert.
Zeitdiskrete Abtastung
Eine AD/DA-Wandlung verzögert den Signalfluss in einem zeitkontinuierlichen System um die Abtastzeit T A . Die Wandlung wird daher als Totzeitglied beschrieben, welches eine Phasenverschiebung abhängig von der Frequenz verursacht:
Abbildung 4.5: Blockschaltbild des AD/DA-Wandlers
In der Betrachtung der Stabilität des Gesamtsystems spielen die AD/DA-Wandler-Zeiten eine wichtige Rolle. Für die Berechnungen der Gesamtübertragungsfunktion ist es jedoch nicht sinnvoll die AD/DA-Wandlung mit einzubeziehen, da dadurch die anschauliche Interpretierbarkeit der Übertragungsfunktion nicht mehr möglich ist. In den Simulationen des Gesamtsystems (siehe Kapitel 4.5) ist die AD/DA-Wandlung jedoch berücksichtigt.
4.1.5 Störgröße Finger
Der Finger ist bei dem inneren Regelkreislauf eine Störgröße. Der Angriffspunkt des Fingers ist die Tastenoberfläche an der auch die Kraft des Aktor angreift. Die Aktor-Kraft wird aufgrund der Regelung der Finger-Kraft immer entgegen gesetzt sein, weshalb eine Kraftdifferenz (dF) aus der Addition der Kräfte erfolgt:
Abbildung 4.6: Blockschaltbild Störgröße Finger
Beschreibung des Regelungskonzepts
4.1.6 Der Regler
Die Auslegung des Reglers kann erst nach Aufstellen der Führungsübertragungsfunktion erfolgen. Im Abschnitt 4.2.1 wird darauf genau eingegangen. In den folgenden Abbildungen wird der Regler bereits als PID-Regler realisiert dargestellt.
4.1.7 Zusammensetzten der Teilübertragungsfunktionen
Es ergibt sich aus den beschriebenen Elementen der gesamte innere Regelkreislauf (siehe Abbildung 4.7). Die Berechnung des für den äußeren Regelkreislauf benötigten F ist -Wertes ist ebenfalls dargestellt. Aus dem durch den Regler berechneten Strom des Aktors kann sie über die Formel 4.8 (F=I*B*l) bestimmt werden.
Abbildung 4.7: innerer Regelkreislauf
4.1.8 Zusammenfassen des inneren Regelkreislaufes
Zur Übersichtlichkeit wird Abbildung 4.7 vereinfacht. Die Darstellung der Strecke wird zusammengefasst zur PT2 Darstellung. Die AD/DA-Wandler werden aus den in Abschnitt AD/DA-Wandler genannten Gründen innerhalb der weiteren Berechnungen nicht berücksichtigt.
Abbildung 4.8.: Innerer Regelkreislauf (zusammengefasst)
Beschreibung des Regelungskonzepts
4.2 Übertragungsfunktionen
Es soll nun die Übertragungsfunktion des inneren Regelkreislaufes betrachtet werden. Die Übertragungsfunktionen der einzelnen Blöcke sind in dem vorangegangenen Kapitel erfasst worden und sind hier noch einmal zusammengefasst:
Strecke (PT2)
l B⋅ Aktor
K Sensor
Se
Der Regler ist als PID-Regler realisiert, dessen Übertragungsfunktion wie folgt lautet:
Regler (PID)
Legende zu Übertragungsfunktionen
K
R
= P-Anteil des Reglers T
i
= I-Anteil der Reglers T
d
= D-Anteil der Reglers
Kse = Übertragungsfaktor Sensor T 2 = m*n = Zeitkonstanten der Strecke
Es wird die Übertragungsfunktion des offenen Regelkreislaufes F 0 aufgestellt, welche sich aus der Multiplikation des PID-Reglers, des Aktors und der Regelstrecke ergibt:
B F 0 =
Aufgrund dieser aufgestellten Funktion des offenen Regelkreises, kann die Auslegung des Reglers erklärt werden.
4.2.1 Auslegung des Reglers
Der Regler hat die primäre Aufgabe, die Regelstrecke so zu kompensieren, dass sich ideal ein Gesamtübertragungsfaktor von eins ergibt.
Er muss weiterhin so ausgelegt werden, dass die entscheidende Bedingung aus der Konzeptbildung Formel 3.2 eingehalten wird:
x ist = x soll 3.2
Die Störgröße Finger darf keinen Einfluss auf die Ausgangsgröße haben!
Beschreibung des Regelungskonzepts
Um dies zu gewährleisten, muss nach [3] (Auszug siehe A.2.1) der offene Regelkreislauf F 0 einen integralen Anteil besitzen.
Betrachtet man die aufgestellte Formel 4.9 für F 0 , so wird der integrale Anteil durch den I-Anteil des Reglers realisiert (sT i im Nenner von F 0 ). Durch den D- und P- Anteil des Reglers wird das PT2 Glied und die Proportionalglieder kompensiert. Mit den Bedingungen aus Formel 4.10 kürzen sich der Nenner und der Zähler von F 0 , bis auf den notwendigen integralen Anteil 1/sT i heraus.
Kompensationsbedingungen:
(1) T i = T 1 (2) T d = T 2 /T i (3) Kr=1/(B*l*K S ) 4.10
Die Bedingungen zur Kompensation der Strecke und Beinhaltung eines integralen Anteils zur Störgrößen Kompensation wird somit von einem PID-Regler erfüllt.
Nach den Kompensationsbedingungen scheint die Auslegung der Regler-Parameter eindeutig vorgegeben. Das Problem besteht allerdings darin, dass der Parameter T i sowohl die Kompensation, als auch das integrale Verhalten und damit die Dynamik des Systems beeinflusst. Im Folgenden wird daher die Parameterauslegung beschrieben.
4.2.2 Auslegung der Reglerparameter
Einen integralen Anteil kann man analog zur Elektrotechnik auch als das Aufladen einer Kapazität betrachten. Ist die Kapazität groß, so dauert es bei konstantem Strom länger bis eine definierte Spannung aufgeladen ist, als bei einer kleineren Kapazität. Das System ist in diesem Falle weniger dynamisch, da es die Ausgangsgröße (Spannung) relativ langsam erreicht. Betrachtet man den Strom analog zur Kraft und die Spannung analog zur Geschwindigkeit so folgt:
Bei einem großen integralen Anteil ist eine definierte Geschwindigkeit bei konstanter Krafteinwirkung später erreicht, als bei niedrigem integralen Anteil. => hoher I-Anteil (T i ) => geringes dynamisches Verhalten
Um die aus dem integralen Anteil resultierenden Auswirkungen auf das Gesamtsystem zu erörtern, wird die Führungsübertragungsfunktion (F w ) aufgestellt. Sie beschreibt das Verhältnis von Eingangsgröße zu Ausgangsgröße in Abhängigkeit der Frequenz und gibt Aufschluss über das dynamische Verhalten.
Weiterhin wird die Störübertragungsfunktion (F stör ) aufgestellt. Sie zeigt wie groß der Einfluss der Störgröße auf die Ausgangsgröße ist. Um die Bedingung an den inneren Regelkreislauf zu erfüllen, darf kein erwähnenswerter Einfluss vorhanden sein.
Die genannten Funktionen ergeben sich aus den Formeln:
= F
w
Beschreibung des Regelungskonzepts
F w =
F stör =
Der Einfluss des Parameter T i auf das Übertragungsverhalten kann anhand der Formeln qualitativ abgeschätzt werden:
Durch die Multiplikation von T i mit dem Nennerpolynom werden alle Grenzfrequenzen des Systems beeinflusst. Aus einem großen T i folgen niedrige Grenzfrequenzen. Im Bodediagramm wird dies durch frühes Abfallen der Betragsfunktion nach unten deutlich. Für F stör führt T i zu einem differenziellen Verhalten (sT i steht im Nenner). Für niedrige Frequenzen ist der Betrag von F stör daher klein. Dies entspricht der Anforderung an das System: Ein Störgrößeneinfluss ist klein bei niedrigen Frequenzen. Um die Interpretationen der Übertragungsfunktion zu verdeutlichen, werden der Beträge nd Phasen von F w , F stör und F 0 im Bodediagramm aufgetragen. Die Parameter der Strecke sind aus [1] vorgegeben und durch die Kompensationsbedingung werden die Parameter für den Regler bestimmt.
Abbildung 4.9.: Bodediagramm (Betrag und Phasengang)
Beschreibung des Regelungskonzepts
In Abbildung 4.9 sind alle Parameter so optimiert, dass die Regelstrecke vollkommen kompensiert ist. Dies ist vorallem an dem reinen I-Anteil von F 0 zu sehen. (Phasengang konstant 90°, Betragfunktion konstant fallend mit 20dB/Dekade)
Jedoch erfolgt mit steigender Frequenz relativ schnell ein Abfall der Amplitude von F w , was auf die geringe Dynamik des Systems aufgrund des relativ hohen I-Anteils hindeutet. Stabilitätsprobleme sind vorhanden, da der Phasengang von F w nach dem Nyquist-Kriterium unkritisch verläuft.
Die Dynamik des Systems ist aber Vorraussetzung für einen guten haptischen Gefühlseindruck des Menschen beim Betätigen der Taste. In den dargestellten Frequenzen (mit f = w/2π) besteht das Problem, dass das System zu träge reagiert und der Mensch dieses langsame Nachführen der Position unmittelbar fühlt. Daher ist eine Variation von T i notwendig, was im folgenden Bodediagramm dargestellt ist: (T i neu = 0.001s)
Abbildung 4.10: Bodediagramm (Betrag und Phasengang) bei Verringerung von T i
Bei der Verringerung von T i von 0,0699s auf 0,001s ergibt sich nun eine deutlich späteres Abknicken der Betragsfunktion von F w und damit höheres dynamisches Verhalten. Jedoch
Beschreibung des Regelungskonzepts
nimmt der Phasengang in noch erreichbaren Frequenzen kritische Werte an, die zu einem Aufschwingen des Systems führen können.
Daher müssen weitere Parameteroptimierungen vorgenommen werden. Dies soll zuletzt mit einer Erhöhung des D-Anteils erfolgen, was notwendig ist, um die Kompensationsbedingung mit dem neuen T i von 0,001s zu erfüllen: (T d neu = 2.1s)
Abbildung 4.11: Bodediagramm (Betrag und Phasengang) bei Erhöhung von T d
Der Phasengang ist aufgrund der Kompensationsbedingung wieder im unkritischen Bereich. Da der Betragsabfall von F w im Vergleich zu Abbildung 4.9 und 4.10 deutlich später erfolgt, hat sich die Dynamik weiter verbessert.
Der Eindruck könnte nun entstehen, dass durch die Variation der Parameter das System auf jede Anforderung eingestellt werden kann. Dies ist jedoch leider nicht der Fall, da alles seine Grenzen hat und diese nicht durch die reine theoretische Betrachtung gefunden werden können, worauf im abschließenden Kapitel 7 eingegangen wird.
Die Parameteroptimierung muss nun unter Kenntnis der dargestellten Zusammenhänge in der Praxis erfolgen. Vor allem der haptische Eindruck ist dabei maßgeblich entscheidend.
Beschreibung des Regelungskonzepts
Grundsätzlich für die Funktion der Regelung ist dabei das richtige Verhältnis von T i zu T d ausschlaggebend, welches in den Kompensationsbedingungen dargestellt ist. Nach der Beschreibung der elementaren Auslegung des inneren Regelkreislaufes, soll nun auf die X soll -Wert vorgebende, äußere Regelung eingegangen werden.
4.3 Der äußere Regelkreislauf
Durch die Auslegung des inneren Regelkreislaufes ist nun gewährleistet, dass jedes Element eines Tastenfeldes das gleiche Niveau einnimmt, da die jeweilige Positionsregelung jedes Elementes den gleichen Soll-Wert vorgegeben bekommt. (siehe Abbildung 4.12)
Wie in der Konzeptbildung beschrieben findet aus den Ist-Kräften, die aufgebracht werden und aus der Soll-Kraft, die über die Kennlinie aus dem aktuellen X soll -Wert berechnet wird, ein Vergleich statt. Dadurch wird berechnet, ob die Kraft-Weg-Kennlinie auch eingehalten wird. Wenn nicht, wird der aktuelle X soll -Wert korrigiert. Dabei gilt:
-F TFeld = F Finger > F soll => X soll = X soll + dX
-F TFeld = F Finger < F soll => X soll = X soll - dX
Abbildung 4.12: Gesamtkonzept
Die Rechenvorschrift des Vergleichs wird nun in ein regelungstechnisches Blockschaltbild umgesetzt werden. Dies ist in Abbildung 4.13 dargestellt. Der Kräftevergleich wird zuerst durch die Signum Funktion auf eins normiert. Ergebnis ist somit nur noch +1 oder -1. Darauf folgt die Multiplikation mit der Konstanten dX, wodurch nun +dX oder -dX berechnet ist. Dieses Ergebnis wird auf den letzten X soll -Wert addiert, welcher durch den "Memory" gespeichert ist. Es ergibt sich wie gefordert:
Beschreibung des Regelungskonzepts
X
soll
= X
soll
+dX für F
Finger
>F
soll
bzw. X
soll
= X
soll
-dX für F
Finger
Abbildung 4.13: Blockschaltbild des äußeren Regelkreises
Eine einzelne theoretische Betrachtung, wie bei dem inneren Regelkreislauf, ist hier nicht möglich. Die Berechnungen des äußeren Regelkreislaufes ergeben nur zusammen mit den inneren Regelkreisläufen ein System. Dieses Gesamtsystem, welches alle Anforderungen der Aufgabenstellung beinhaltet, wird im Folgenden betrachtet.
4.4 Die Gesamtübertragungsfunktion
Durch das Zusammenschalten der beiden Regelungskreisläufe ergibt sich eine neue Betrachtungsweise von Eingabegröße und Ausgabegröße. Da der X soll -Wert durch die Rückkopplung über den äußeren Regelkreislauf berechnet wird, kann dieser nicht mehr als Eingabegröße betrachtet werden. Sieht man das Gesamtsystem Hapkey als Benutzer, so ist die Eingangsgröße die Finger-Kraft und die Ausgangsgröße die Position der Elemente.
Dies wird als regelungstechnisches Blockschaltbild dargestellt (Abbildung 4.14). Dazu wird der innere und der äußere Regelungskreislauf zusammengeschaltet und so umgestellt, dass die Fingerkraft als Eingangsgröße ganz links steht. Zur besseren Übersicht wird der Vergleich von F Finger und F soll als ein Block dargestellt.
Wichtig!: Dies ist kein neuer Regelungskreislauf, sondern lediglich eine andere graphische Darstellung der bekannten Regelungskreisläufe.
Beschreibung des Regelungskonzepts
Abbildung 4.14: Blockschaltbild Gesamtübertragungsfunktion
Für jedes weitere Element mit gleicher X soll -Wert Vorgabe lässt sich die Regelung wie in der Abbildung 4.15 darstellen:
Abbildung 4.15: Blockschaltbild Gesamtübertragungsfunktion (weiteres Element)
Beschreibung des Regelungskonzepts
Aus dem regelungstechnischen Blockschaltbild aus Abbildung 4.14 kann die Gesamtübertragungsfunktion im Laplace-Bereich aufgestellt werden. Dazu werden die einzelnen Rückkopplungszweige mit den Regeln der Blockschaltbildumstellung immer weiter zusammengefasst, bis sich nur noch eine Übertragungsfunktion ergibt.
mit den Teilen:
Kl = Kennlinienfunktion G
X
= F
ist
zu F
soll
Vergleich G
V
= Additionsblock, mit der Summation aller Kräfte der Elemente
Unter Einsetzten der bekannten Übertragungsfunktionen von dem PID-Regler und dem PT2 Glied der Strecke:
PID =
PT 2
ergibt sich schließlich die Gesamtübertragungsfunktion (4.15) (Berechnet mit Matlab ® ):
Diese Gesamtübertragungsfunktion bietet aufgrund ihrer Komplexität keinen wirklichen Anschauungswert mehr. Eine Darstellung im Bodediagramm ist ebenfalls nicht sinnvoll, da die definierten Teile Kl, G X und G V analytisch nur sehr schwer beschrieben werden können. Deshalb wird an dieser Stelle die analytische Betrachtung beendet. Um jedoch untersuchen zu können, ob das Gesamtkonzept die eigentlichen Systembedingungen erfüllt, wird das Simulationstool "Simulink" von Matlab ® eingesetzt.
4.5 Simulation mit Simulink
Alle regelungstechnischen Blockschaltbilder, wie sie in der Diplomarbeit zu finden sind, stammen aus der Benutzeroberfläche von Simulink. Das Programm bietet eine grafisch orientierte Benutzeroberfläche, in der per "drag-and-drop" alle möglichen Regelungsfunktionen zusammengebaut werden können. Die Simulation der Systeme wird
Beschreibung des Regelungskonzepts
im Zeitbereich durchgeführt, so dass das dynamische Verhalten durch Variation der Eingabefrequenzen betrachtet werden muss.
Bei der konzeptionellen Erarbeitung des Regelungssystems für die Hapkeys, stellt Simulink eine wichtige Möglichkeit zur Überprüfung des Gesamtkonzepts dar. Ein Beispiel einer durchgeführten Simulation soll anschließend kurz dargestellt werden.
Simulation des Gesamtsystems
Das Gesamtsystem wie in Abbildung 4.14 dargestellt wird in Simulink aufgebaut. Bei der Simulation, wird eine Finger-Kraft als Eingangsgröße auf ein Element gegeben. Bei einem zweiten simulierten Element, mit gleicher X soll -Vorgabe wird keine Kraft eingegeben. Die Kräfte, die von den Aktoren der zwei Elemente durch die Positionsregelung entgegengebracht werden, sind in Abbildung 4.16. zu sehen. Der obere Graph stellt die Aktor-Kraft des ersten Elementes F ist1 da, welche entgegengesetzt zu der simulierten Finger-Kraft ist. Der zweite Graph zeigt die Aktor-Kraft F ist2 des unbelasteten Elementes, welches lediglich Kraft zum Positionieren der eigenen Masse benötigt. Der dritte Graph zeigt die berechnete Sollkraft, welche aus der Kennlinie berechnet wird. In Abbildung 4.17 sind die Positionen der beiden Elemente aufgeführt und im dritten Graph der Vergleich zu X soll dargestellt.
Abbildung 4.16: Kräfte der Aktoren Abbildung 4.17: Position der Elemente
Es ist zu erkennen, dass sich beide Elemente genau wie die X soll -Wert Vorgabe bewegen. Damit ist bereits die erste Anforderung erfüllt!
Beschreibung des Regelungskonzepts
Der Verlauf der Graphen aus Abbildung 4.17 zeigt
weiterhin die Darstellung des Weges beim Verfahren der Kraft-Weg-Kennlinie. Die simulierte Finger-Kraft nimmt bis auf einen Wert von 4N bei 500ms mit konstanter Steigung zu (siehe Graph "Fist1" Abb. 4.16). Bei der Knackpunkt-Kraft von 2,5 N (siehe Abb. 4.18) nimmt die Position der Elemente abrupt zu (Taste fällt nach unten). Nach Erreichen des Tastenanschlages wird die Position
Ab dem Zeitpunkt 500ms wird die Finger-Kraft wieder schwächer (bis 0 N bei 1000ms, siehe Graph "Fist1" Abb. 4.16). Die Taste bleibt solange an der unteren Position, bis die Minimalkraft von 1N erreicht ist. Dann springt die Taste wieder über den Tastenanschlag zurück.
Vergleicht man das beschriebene Verhalten mit einer herkömmlichen mechanischen Taste (z.B. von einer Computertastatur), so ist kein Unterschied im Verhalten festzustellen. Drückt man solch eine Taste, so wird erst bei höherem Kraftaufwand der Knackpunkt überwunden und die Taste lässt sich nach unten drücken. An der unteren Position kann man die Taste auch mit geringer Kraft halten. Erst wenn man der Taste im Verhältnis zur Knackpunkt-Kraft deutlich weniger Kraft entgegenbringt, springt die Taste wieder nach oben.
Durch die Simulation kann somit gezeigt werden, dass das Verhalten der entwickelten Hapkey Regelung allen Anforderungen der Aufgabenstellung entspricht und das Hapkey Konzept bei den haptischen Eindrücken den rein mechanischen Tasten in nichts nachsteht.
Durch Variation der Reglerparameter in Simulink, kann untersucht werden, wann sich die Systemeigenschaften hinsichtlich der Anforderungen verschlechtern oder verbessern. Die Ergebnisse aus den analytischen Betrachtungen aus Kapitel 4.2 werden dabei voll bestätigt.
Mit Hilfe der Simulation des Gesamtsystems und den analytischen Berechnungen des inneren Regelkreislaufes ist ein theoretisches Fundament für das weitere Vorgehen geschaffen worden. Die systematische Umsetzung des Systems in die Praxis kann erfolgen.
Umsetzung in Regelungsprogramm
5 Umsetzung in Regelungsprogramm
Die Berechnung der Reglerwerte, die Auswertung und Korrektur der Messsignale und die Ansteuerung der Aktoren soll über einen PC erfolgen. Um eine Programmierung der Regelung zu ermöglichen, ist eine Umsetzung des beschriebenen zeitkontinuierlichen in ein zeitdiskretes Regelungskonzept notwendig. Dazu werden Ereignisse definiert, welche nacheinander ablaufen müssen, um die Regelung zu verwirklichen. Diese Ereignisse und deren zeitliche Abfolge, werden in den folgenden Flussdiagrammen beschrieben.
5.1 Flussdiagramme zur zeitdiskreten Regelung
Nach der Initialisierung des Systems und dem Setzten aller Parameter auf die Startwerte (mit n = Anzahl der Elemente) beginnt die erste Schleife (siehe Abbildung 5.1). Diese ist gleichbedeutend mit dem inneren Regelkreislauf, da hier die Regelabweichung der einzelnen Elemente berechnet wird und der PID-Regler aufgerufen wird. Über die AD/DA-Wandler werden die Messsignale eingelesen und die Ansteuerung der Aktoren realisiert. Aus den berechneten Reglerwerten müssen die Kräfte der einzelnen Aktoren gespeichert werden, damit sie für den danach aufgerufenen äußeren Regelkreislauf zur Verfügung stehen.
Ist ein Zyklus der Regelung aller Elemente durchgeführt, beginnt die Berechnung des äußeren Regelkreislaufes. Der Kräftevergleich wird durchgeführt und daraus die Korrektur des X soll -Wertes vorgenommen. Falls der Benutzer das Programm nicht abbricht, wird wieder von vorne begonnen die Regelung für einen weiteren Zyklus durchzuführen.
5.1.1 Unterscheidung von Tastenfeldern
Das in Abbildung 5.1 dargestellte Flussdiagramm beinhaltet die Regelung eines Tastenfeldes, da nur ein X soll berechnet wird. Für die Berechnung mehrere Tastenfelder müssen daher auch mehrer X soll -Werte im äußeren Regelkreislauf berechnet werden. Dies wird in Abbildung 5.2 gezeigt. Durch eine Zuordnung von jedem Elemente zu einem Tastenfeld, kann so die Variation der Bedienfläche in Größe und Form der Tastenfelder erfolgen. Die Zuordnung wird in der Praxis durch eine Feldvariable realisiert. Die Zuordnung aller Elemente zu den möglichen Tastenfeldern wird in TFeld[Element] abgespeichert. Die möglichen X soll -Werte werden in Xsoll[Tastenfeld] abgespeichert. Bei der Bestimmung der Regeldifferenz, bei der nun der zu dem Element passende X soll -Wert als Vorgabe berechnet wird, wird dann Xsoll[TFeld[Element]] aufgerufen.
Umsetzung in Regelungsprogramm
Abbildung 5.1: Flussdiagramm ein Tastenfeld
5.1.2 Unterscheidung von Rückwärts-/Vorwärts-Kennlinie
Eine weitere Ergänzung zur Untersuchung der haptischen Sinneseindrücke stellt die Unterscheidung der Kraft-Weg-Kennlinie in Abhängigkeit der Bewegungsrichtung dar. Es stehen zwei Kennlinien zur Verfügung, die pro Tastenfeld gelten können. Anhand der Überprüfung von Schwellwerten, welche ca. 0,5 mm vor den Endanschlägen der Taste liegen, werden die Entscheidungen zur Auswahl der Kennlinien getroffen. Die Kennlinie gilt solange, bis wieder der andere Schwellwert erreicht ist. Dabei gilt:
- Ist die Taste an dem oberen Anschlag, wird die Vorwärts-Kennlinie aktiviert.
- Ist die Taste an dem unteren Anschlag, wird die Rückwärts-Kennlinie aktiviert.
Umsetzung in Regelungsprogramm
Die dargestellten Funktionen (Tastenfeld-Berechnung und Vorwärts-/Rückwärts-Kennlinien Unterscheidung) werden im dargestellten Flussdiagramm Abbildung 5.1 eingefügt, so dass sich Abbildung 5.2 ergibt:
Abbildung 5.2: Flussdiagramm mit Tastenfeld und Kennlinien Unterscheidung
Umsetzung in Regelungsprogramm
5.2 Die Programmierung
Das entwickelte Regelungskonzept wird durch die Realisation in einem C-Programm in die Praxis umgesetzt. Es soll alle dargestellten Anforderungen an die Regelung der Elemente erfüllen und zusätzlich noch über Benutzermenüs zur Variation der Reglerparameter und der Kraft-Weg-Kennlinien verfügen.
Für die Zukunft ist geplant, die Programmierung auf einem µC zu übersetzten. Daher wurde bei der Auslegung des Programms darauf geachtet, dass der größte Teil des Quellcodes direkt auf die µC Programmierung übertragbar ist und die Programmierung strukturiert und übersichtlich gestallten ist.
5.2.1 Der Projektfile Hapkey
Für die Programmierung wurde ein Konzept in Form eines Projektfiles erarbeitet. Dieses ermöglicht ein leichtes Verständnis der Zusammenhänge der Funktionen, so dass Veränderungen in der Programmierung sehr einfach vorgenommen werden können. Im Folgenden soll kurz auf dieses Konzept eingegangen werden.
Um alle für das Gesamtprojekt benötigten Funktionen in einen übersichtlichen Zusammenhang zu bringen, ist das Projekt in vier Dateien aufgeteilt. Die Aufteilung gliedert sich in die folgenden Dateinamen und Inhalte:
Tabelle 5.1: Dateien in Projektfile Hapkey
Alle Dateien werden zusammen mit den Treiber Dateien für die "apci3120"-AD/DA Karte im Projektfile Hapkey(V).ide zusammengefasst. (V=Versionsnummer) Der Aufruf der Funktionen aus den entsprechenden Dateien und Zusammenfassung zu der eigentlichen Regelung wird in der Datei hapkey(V).c realisiert, welche ebenfalls im Projektfile enthaltende ist. Diese Projektstruktur soll in der folgenden Abbildung verdeutlicht werden. Die eckigen Kästen beinhalten den Namen der Datei. Darunter stehen jeweils die beinhalteten Dateien und die zugehörigen Daten Dateien, aus denen die Kennlinien und Parameter mit den Funktionen gelesen werden.
Umsetzung in Regelungsprogramm
Abbildung 5.3: Dateistruktur und Inhalte Projekt hapkey3.ide
Die Namensgebung der einzelnen Funktionen innerhalb der Dateien ist, wie oben zu sehen, so realisiert, dass sich wie in Abbildung ein nahezu selbsterklärender Quellcode ergibt. Dieser soll im Folgenden kurz dargestellt werden.
5.2.2 Umsetzung der Flussdiagramme in Quellcode
Die in Abschnitt 5.1 gezeigten Flussdiagramme stellen mit dem Ablauf der Ereignisse die Grundlage für die Programmierung. Im Folgenden wird ein Auszug des C-Quellcodes aus dem Projekt Hapkey gezeigt. Er stellt die Interpretation des Flussdiagramms aus Abbildung 5.1 dar. Selbst ohne Kenntnis der Details der Programmierung kann man hier die Struktur des Flussdiagramms erkennen.
Die vollständige und sehr umfangreiche Dokumentation des Quellcodes mit Details der Programmierung, Flussdiagrammen zu jeder Funktion und Auflistung aller Variablen und Projekte ist im Anhang dieser Arbeit zu finden.
Umsetzung in Regelungsprogramm
Abbildung 5.4: Quellcode der Regelung
5.2.3 Kompilierung des Quellcodes
Die Entwicklung des Projektes Hapkey wurde unter dem Borland C++ 4.5 vorgenommen. Kompiliert wird der Projektfile zu einer ausführbaren .exe Datei, welche auf dem DOS Betriebssystems des Test-PCs ausgeführt wird.
5.3 Die eingesetzte Hardware (Test-PC)
Das Ausführen des Regelungsprogramms erfolgt auf einem 400 MHz-PC, der mit AD/DA-Wandler Karten der Firma ADDI-DATA ausgestattet ist. Die Wandlerkarte ist mit 16 A/D-Wandlern (16 Bit) und 8 D/A-Wandlern (14 Bit) ausgestattet. Aufgrund der Anzahl der D/A-Wandler ist somit die Regelung auf acht Elemente beschränkt. Zur Ansteuerung der Aktoren werden in Arbeit [1] entwickelten gesteuerte Stromquellen verwendet, die die Signale der D/A-Wandler verstärken. Die Positionssensoren, welche mit Reflexlichtschranken-Modulen realisiert sind, können direkt an die A/D-Wandler angeschlossen werden.
Tests und Ergebnisse
6 Tests und Ergebnisse
Innerhalb der Diplomarbeit wurden die aus dem Regelungskonzept entwickelte Regelungssoftware auf dem Test-PC und dem Tastensimulator am Institut getestet. Der Tastensimulator ist von der Funktion identisch zu einem Hapkey Element, nur von den Abmessungs- und Massenverhältnissen größer.
6.1 Erreichte Regelfrequenzen
Die nach Pflichtenheft geforderten Regelfrequenzen liegen aufgrund der haptischen Grenze des Menschen bei min. 500 Hz. Wunsch ist eine Regelfrequenz von bis zu 5 kHz. In den Tests haben sich je nach Anzahl der geregelten Elemente die Regelfrequenz zwischen 1,2 kHz (bei einem Element) und 600 Hz (bei 8 Elementen) eingestellt. Für die spätere Realisierung auf einem µC sind höherer Regelfrequenzen möglich, indem die Ansteuerung der AD/DA-Wandler durch verbesserte Interrupt-Routinen optimiert wird.
6.2 Das Regeln der Elemente
Es konnte in den Tests gezeigt werden, dass für den Tastensimulator das Verfahren der Kraft-Weg-Kennlinie sehr gut funktioniert. Durch Variation der Parameter konnten die theoretisch bestimmten Verhaltensweisen bestätigt werden. Zum Zeitpunkt der Berichtsabgabe, war die Fertigstellung von dem eigentlich zu testenden Hapkey Bedienfeld noch nicht abgeschlossen. Daher konnte die Regelungssoftware auch nicht daran getestet werden. Es bleibt damit noch offen, ob die Regelung mehrer Elemente wie gefordert funktioniert. Dies wird jedoch in den nächsten Wochen geklärt.
6.3 Die Hapkey Programme
Für die Tests wurden drei Programme entwickelt:
(1) hapkey1.exe realisiert die Regelung eines Elementes und stellt auf dem Bildschirm Diagnose Daten des Reglers und der AD/DA-Wandler dar. Das Programm eignet sich daher besonders zur Fehleranalyse.
(2) Mit hapkey2.exe ist die Regelung von bis zu acht Elementen möglich. Die Unterscheidung zwischen Vorwärts- und Rückwärts-Kennlinie findet statt. Es sind bis zu 10 mögliche Kennlinien und Parameter-Konfigurationen möglich, die abgespeichert und aufgerufen werden können. hapkey2.exe ist für Tests zur haptischen Wahrnehmung von unterschiedlicher Kennlinien und
Parameterabstimmungen gut geeignet.
Tests und Ergebnisse
(3) hapkey3.exe realisiert alle in der Aufgabenstellung geforderten Bedingungen. Bis zu acht Elementen können geregelt werden. Jedes Element kann zu einem von insgesamt fünf möglichen Tastenfeldern frei zugeordnet werden. Jedem Tastenfeld kann eine eigene Vorwärts- und Rückwärts-Kennlinie zugeordnet werden. Die unterschiedlichen Tastenkonfigurationen können in einer Datei abgespeichert bzw. daraus gelesen werden.
Bei allen Programmen sind Eingaben von Korrektur-Kennlinien für jedes Element möglich, um die Linearitätsfehler der Aktoren und Sensoren zu korrigieren. Über ein selbsterklärendes Benutzermenü können die Regelparameter und Kraft-Weg-Kennlinien verändert und die Regelung gestartet werden.
Kritik und Ausblick
7 Kritik und Ausblick
In dieser Diplomarbeit ist eine ausführliche theoretische Beschreibung eines Konzeptes für die Hapkey - Regelung entstanden. Damit ist es möglich die Anforderungen, die man an die Hapkey Entwicklung stellt, zu erfüllen. Weiterhin konnte das theoretische Konzept in Form einer Regelungssoftware umgesetzt werden. Die Tests der Software konnten teilweise zeigen, dass das Konzept nicht nur theoretisch funktioniert, sondern auch in der Praxis umgesetzt werden kann. Leider konnte eine vollständige Bestätigung des Konzeptes in der Praxis nicht erbracht werden, da die Hardware zum Testen beim Abschluss der Diplomarbeit noch nicht zur Verfügung stand.
Innerhalb dieser zeitlichen begrenzten Diplomarbeit mussten sowohl die Theorie, als auch ihre praktische Umsetzung erarbeitet werden. Trotz des engen Zeitplans konnten alle Aufgaben bewältigt werden.
Jedoch war gerade zum Abschluss der theoretischen Konzeptphase die Frage offen, ob nicht noch mehr analytische Berechnungen durchgeführt werden müssen, um bei der Konzeptauslegung keine wichtigen Tatsachen zu übersehen.
Es war daher eine schwierige Entscheidung, wie viel Theorie benötigt wird um eine sichere Auslegung in der Praxis zu gewährleisten und ob es überhaupt möglich ist Dinge mit gerechtfertigtem Aufwand theoretisch zu behandeln, welche man in der Praxis einfach austesten kann. Vorallem auch der haptische Gefühlseindruck des Menschen, auf den es am Ende schließlich ankommt, ist definitiv nicht vorausberechenbar, so dass das System ohnehin in der Praxis noch abgestimmt werden muss.
Aufgrund der erfolgreichen Simulation des Konzeptes mit Simulink wurde dann jedoch mit der Realisierung des Konzeptes begonnen.
Es wird sich in den Wochen nach Abgabe dieser Arbeit schließlich herausstellen, ob Tatsachen übersehen worden sind und ob die Software flexibel genug ist, damit eventuell auftretende Probleme gelöst werden können.
Das entwickelte Regelungskonzept wird nach Abschluss dieser Arbeit mit Hilfe der Regelungssoftware getestet und verfeinert. Immer mehr zusätzlich Funktionen (wie z.B. Temperaturschutz der Aktoren) müssen noch implementiert werden um einen sicheren Betrieb der Hapkeys zu gewährleisten.
Weiterhin erfolgt die Umsetzung der Regelung auf einem µC mit entsprechender Hardware, welcher derzeit noch in einer Studienarbeit aufgebaut wird. Alle Entwicklungen werden schließlich zu einem ersten Prototyp einer Hapkey Bedienfläche führen.
Literaturverzeichnis
8 Literaturverzeichnis
[1] Kern, Thorsten:
Bedienfeld mit Variablen Tasten bzgl. Haptik und Größe (Studienarbeit #1481) TU-Darmstadt, Institut für Elektromechanische Konstruktionen (EMK), Juni 2001
[2] Weber, Thomas:
Bedienfeld mit variablen Tasten bezüglich Haptik und Größe Sensorik, Elektronik, Regelung (Studienarbeit #1480) TU-Darmstadt, Institut für Elektromechanische Konstruktionen (EMK), Juni 2001
[3] Hasse, Karl:
Skript zur Vorlesung „Einführung in die Regelungstechnik“ TU-Darmstadt, Institut für Stromrichtertechnik und Antriebsregelung, 1996
[4] Iserman, Rolf:
Digitale Regelsysteme Band 1 "Grundlagen deterministische Regelungen" (2 Auflage) Springer Verlag, Berlin, 1988
[5] Orttmar, Beucher:
Matlab und Simulink lernen "Grundlegende Einführung" Addison-Wesley Verlag, München, 2000
[6] Josef, Hoffmann:
Matlab und Simulink
"Beispielorientierte Einführung in die Simulation dynamischer Systeme" Addison-Wesley Verlag, München, 1998
[7] ADDI-DATA ®
Technisches Referenzhandbuch
ADDIALOG APCI-/CPCI-3120 Standardsoftware (5. Ausgabe), ADDI-DATA ® , April 2000
[8] RRZN (Regionales Rechenzentrum für Niedersachsen) / Universität Hannover Zentralinstitut für angewandte Mathematik Forschungszentrum Jülich GmbH Die Programmiersprache C. Ein Nachschlagewerk (10. veränderte Auflage) RRZN, Hannover, Mai 1998
Inhaltverzeichnis Anhang
Inhaltsverzeichnis Anhang
A.1 Pflichtenheft. A.1
A.2 Übersicht zur Regelung A.3
A.2.1 Auszug zu Entwurf von Regelkreisen A.3
A.2.2 Regelungstechnische Blockschaltbilder A.4
A.2.2.1 Innerer Regelungskreislauf A.4
A.2.2.2 Innerer Regelungskreislauf (vereinfacht) A.4
A.2.2.3 Äußerer Regelungskreislauf A.4
A.2.2.4 Regelungskreislauf Umgestellt zur Gesamtübertragungsfunktion A.5
A.2.2.5 Regelungskreislauf für jedes weitere Element. A.5
A.2.3 Übertragungsglieder. A.6
A.2.4 Parameter A.7
A.3 Umsetzung in die Praxis A.7
A.3.1 Größen-Fluss-Verlauf A.7
A.3.2 Flussdiagramme A.10
A.3.2.1 Parallele AD/DA Verarbeitung. A.10
A.3.2.2 Sequenzielle AD/DA Verarbeitung A.11
A.3.2.3 Verarbeitung der Vorwärts und Rückwärts Kennlinie A.12
A.3.2.4 Regelung mehrere Tastenfelder A.13
A.4 Dokumentation zu Programmen A.14
A.4.1 Bemerkungen zum Quellcode. A.14
A.4.1.1 Feldvariablen als Kennlinien A.14
A.4.1.2 Kraft-Weg-Kennlinien Dateien Eingabe A.14
A.4.1.3 Korrektur Kennlinien. A.15
A.4.1.4 Header-Datei (Hapkey(v) h) A.15
A.4.1.5 Definition von globalen Variablen A.16
A.4.1.6 Idee der i ReturnValue: A.16
A.4.1.7 Watchdog Funktion der AD/DA Wandler Karte A.16
A.4.1.8 Besonderes zur Schleifenprogrammierung. A.16
A.4.1.9 Programmierstruktur von Benutzerabfragen A.17
A.4.2 Hapkey Projekte. A.17
A.4.3 Variablen in Projekt Hapkey 1,2,3. A.21
A.4.3.1 Variablen in Projekt Hapkey1. A.21
A.4.3.2 Variablen in Projekt Hapkey2. A.24
A 4 3 3 Variablen in Projekt Hapkey3 A 27
Inhaltverzeichnis Anhang
A.4.4 Funktionen Hapkey 1,2,3. A.30
A.4.5 Funktionen und Prozeduren der AD-Wandler Karte A.33
A.4.6 Daten Dateien. A.35
A 4 7 Flussdiagramme zu Funktionen A 36
1 ) was eine plane Oberfläche für den Finger noch spürbar ergibt, ist in Versuchen noch zu klären. Grundsätzlich gibt es bereits Erfahrungswerte in der Haptik, welche den Bereich von 0,18 mm Höhendifferenz als gerade noch spürbar verifizieren. Durch die Wahl der Bitbreite über die Strecke, sollte aber ein deutlich höhere Auflösung der Strecke ermöglicht werden.
2 ) die Taktfrequenz der Regelung, welche vom Menschen noch als fühlbar empfunden wird ist für diese Anwendung nicht genau vorhersagbar. Auch hier müssen Versuche die genau Grenze klären. Aus Fachliteratur ist jedoch zu entnehmen, dass die Regelfrequenz nicht deutlich unter 1000 Hz liegen sollte. Die Grenzfrequenz für spürbare Schwingungen liegt beim Menschen bei ca. 500 Hz, weshalb das zehnfache dieser Frequenz (5 kHz) als ausreichend betrachtet werden kann (*Quelle*). Diese Vorgabe war auch Berechnungsgrundlage für die µC Auswahl des PEM III Seminars (2001/02)
3 ) Das Durchlaufen der Weg-Kraft-Kennlinie soll beim Hereindrücken anders verlaufen als beim Herausfahren.
4 ) Um die Regelung und die Ansteuerung der Aktoren zu testen, soll über den PC eine Menüstruktur mit bereits vorgefertigten Möglichkeiten existieren, um verschieden Tastenanordnungen wählen zu können und auch die Reaktion des Systems auf den Tastendruck (z.B. ein Wechseln der Tastenfelder) soll auswählbar sein.
A.2 Übersicht zur Regelung
A.2.1 Auszug zu Entwurf von Regelkreisen
Auszug aus [3], Seite 86: Entwurf von Regelkreisen:
A.2.2 Regelungstechnische Blockschaltbilder
A.2.2.1 Innerer Regelungskreislauf
A.2.2.2 Innerer Regelungskreislauf (vereinfacht)
A.2.2.3 Äußerer Regelungskreislauf
A.2.2.4 Regelungskreislauf Umgestellt zur Gesamtübertragungsfunktion
A.2.2.5 Regelungskreislauf für jedes weitere Element
A.2.3 Übertragungsglieder
Führungsübertragungsfunktion und Störübertragungsfunktion
G X = F ist zu F soll Vergleich G V = Additionsblock, mit der Summation aller Kräfte der andern Elemente
A.2.4 Parameter
Berechnet aus den Daten:
Maximalwerte des Aktors:
A.3 Umsetzung in die Praxis
A.3.1 Größen-Fluss-Verlauf
Alle Variablen und deren Verlauf im analogen und digitalen Bereich des Systems sind dem Diagramm "Größen-Fluß-Verlauf" zu entnehmen. Eine exakte Auflistung aller Werte gibt die Tabelle "Größenvergleich Hardware und Software" im Anschluss wieder. Hier ist alles erwähnt, was zur Interpretation, Umrechnung und Vorzeichenwahl der Systemvariablen notwendig ist.
A.3.2 Flussdiagramme
Für die Umsetzung der Regelung werden, wie im Hauptteil beschrieben, die Regelungsalgorithmen in Flussdiagramme umgesetzt. Insgesamt sind dabei vier Flussdiagramme entstanden, wobei die ersten beiden sich vom Grundkonzept der AD/DA-Wandlung unterscheiden und die zwei letzteren Erweiterungen der Grundkonzepte bilden. Realisiert ist das Grundkonzept 2 (sequenzielle Ausgabe) mit den Erweiterungen 1 und 2. Für die µC Programmierung ist eventuell auch das Grundkonzept 1 interessant und deswegen hier ebenfalls dargestellt.
A.3.2.1 Parallele AD/DA Verarbeitung
Im ersten Flussdiagramm ist die AD/DA-Wandlung so integriert, dass alle Messdaten bzw. Stellgrößen immer erst gewandelt werden, wenn ein Zyklus der inneren Regelung für alle Elemente berechnet wurde.
A.3.2.2 Sequenzielle AD/DA Verarbeitung
Das Einlesen und die Ausgabe der Werte wird bei der Berechnung des inneren Regelkreislaufes für jedes Element einzeln vorgenommen.
A.3.2.3 Verarbeitung der Vorwärts und Rückwärts Kennlinie
Vor der Neuberechnung des X soll -Wertes, wird die letzte Position mit definierten Schwellwerten verglichen. Die Schwellwerte liegen ca. 0,5 mm vor den Endanschlägen. Abhängig vom Erreichen des letzten Schwellwertes, wird jeweils eine der beiden Kennlinie zur Berechnung des neuen Xsoll benutzt. (Schwellwert unten erreicht => Rückwärts Kennlinie) (Schwellwert oben erreicht => Vorwärts Kennlinie)
A.3.2.4 Regelung mehrere Tastenfelder
Im äußeren Regelkreislauf werden mehrere X soll innerhalb einer Schleife berechnet. Jedem Element muss ein X soll zugeordnet sein, welches im inneren Regelkreislauf für das Element als Sollwert-Vorgabe gilt. Alle Elemente mit dem gleichen X soll bilden eine Taste.
A.4 Dokumentation zu Programmen
A.4.1 Bemerkungen zum Quellcode
A.4.1.1 Feldvariablen als Kennlinien
Die Realisation der Kennlinien für Aktor, Sensor Korrektur und die zu verfahrene Kraft-Weg-Kennlinie ist über Feldvariablen realisiert. Um dies zu ermöglichen ist eine vorher definierte, diskrete Auflösung der Kennlinie nötig. Für die Sensor-Korrektur-Kennlinie sind 1024 Werte (10 Bit) vorgesehen, für die Aktor-Korrektur-Kennlinie 256 Werte (8 Bit). Diese Werte ergeben sich aus den späteren Realisationsbedingungen für den Mikrocontroller, auf dem in einer folgenden Arbeit die Software implementiert werden soll.
Die Kraft-Weg-Kenlinien sind mit 1024 Werten (10 Bit) realisiert, was in Anbetracht der Auflösung der Sensor Kennlinie bereits die optimale Auflösung darstellt. Es ergeben sich so die Feldvariablen der Kennlinien:
Sensor Kennlinie: Xist[1024] Aktor Kennlinie:
KW Kennlinien: (vor und rückwärts) A.4.1.2 Kraft-Weg-Kennlinien Dateien Eingabe
Die Kraft-Weg-Kennlinie ist als Tabelle von 1024 Werten (10 Bit) abgelegt. Diese wird aus einer Datei in eine Feldvariable geschrieben, womit schnelle Berechnung während der Regelung gewährleistet ist. Über das Hauptmenue (in Hapkey 2 und 3) ist eine Eingabe der Kennlinie möglich. Dabei wird die Kennlinie aus max. 10 Punkten gebildet, wobei die Werte zwischen den eingegebenen Punkten als Gerade interpoliert werden. Bei der Eingabe der Punkte ist darauf zu achten, dass der letzte Punkt mit einem X-Wert von 1024 (oder mehr) abschließt, weil die Kennlinie auch aus 1024 Punkten bestehen muss. Andernfalls kann es beim Einlesen der Kenlinie zu Fehlern kommen. Weiterhin dürfen zwei Punkte nicht mit gleichem X-Wert (Relation) definiert werden. Solch eine Eingabe führt zum Abbruch des Programms.
Die eingegebenen Y-Werte sind nach Tabelle "Größen in Hard und Software" proportional zur aufgebrachten Aktor-Kraft. Der erste Punkt, welcher eingegeben wird, ist der Offset, und daher bei x=0. Hier muss nur der Y-Wert eingegeben werden. Ansonsten erfolgt die Eingabe der Punkte durch Eingabe des X-Wertes, dann ein Leerzeichen und anschließend Eingabe des Y-Wertes. Dabei können nur ganze Zahlen eingegeben werden !
Aus wie viel Punkten die Kennlinie bestehen soll, kann zu Beginn gewählt werden, genauso wie die Option, ob die Vorwärts- und Rückwärts-Kennlinie gleich sein soll, oder unterschiedlich. Falls sie nicht identisch sein soll, wird nach der Eingabe der Vorwärts Kennlinie nochmal die selben Abfragen für die Rückwärtskennlinie aufgerufen. Bei Hapkey3 muss vor der Eingabe der Kennlinien noch ausgewählt werden, für welches Tastenfeld die Kennlinie definiert werden soll. Unter Hapkey 2 wird die Kennlinie einfach unter der aktuellen Konfigurationsnummer abgespeichert. Hapkey 1 verfügt nicht über die Möglichkeit einer Kennlinieneingabe, jedoch kann das Programm Kennlini.exe aufgerufen werden, welches die unter Hapkey 2 und 3 integrierten Funktionen beinhaltet. Nur die Anzahl der möglichen Punkte ist auf vier und Offset festgelegt.
A.4.1.3 Korrektur Kennlinien
Die Korrektur-Kennlinien sind ebenfalls in Dateien abgelegt und werden beim Programmstart in Feldvariablen geschrieben. Jedes Element kann eine eigene Korrekturkennlinie haben. Die Datei zum Speichern der Kennlinie muss 8 Spalten haben, in denen jeweils 1023 (Sensor) bzw. 255 (Aktor) Werte stehen. Es müssen immer 8 Spalten sein, auch wenn weniger Elemente geregelt werden ! Die Spalten sind durch Leerzeichen oder Tabstops zu trennen.
Für die Sensor Kennlinie gilt: Wert von 1023 = Anschlag unten (5mm) Wert von 0 = Anschlag oben (0mm)
Für die Aktor Kennlinie gilt: Wert von -127 =-1A Strom
siehe auch Tabelle "Größen in Hardware und Software"
A.4.1.4 Header-Datei (Hapkey(v).h)
In einer Header-Datei sind alle Prozeduren und Funktionen aufgelistet, die die gleichnamige C-Datei enthält, damit der Compiler vor der eigentlichen Beschreibung einer Funktion/Prozedur diese in der Header-Datei definiert findet. Damit wird verhindert, dass Funktionsaufrufe in Prozeduren erfolgen, ohne dass diese dem Compiler noch unbekannt ist.
Weiterhin können in einer Header Datei auch Prozeduren/Funktionen und Variablen definiert werden, welche auch in anderen Quellcodes durch den Include Befehl zur Verfügung stehen sollen. So sind in der Header-Datei Hapkey(v).h alle globalen Variablen definiert, welche bei dem Projekt Hapkey(v).c zu Verfügung stehen sollen. Durch das
Einfügen von #include "Hapkey(v).h“ in jede Quellcode-Datei werden so die globalen Kennlinien und Parameter für das gesamte Projekt zur Verfügung gestellt.
A.4.1.5 Definition von globalen Variablen
Dem Compiler wir durch die Syntax "extern" vor einer Variablen mitgeteilt, dass diese bereits an anderer Stelle definiert ist und sie global zur Verfügung gestellt werden soll. Alle globalen Variablen sind in der Datei hapkey(V).c definiert und werden anschließend durch die globale Definition in der Header Datei hapkey(V).h in allen anderen Quelltexten durch den #Include Befehl zu Verfügung gestellt.
Beispiel:
int Taste[8]; extern int Taste[8]; #Include "hapkey3.h";
A.4.1.6 Idee der i_ReturnValue:
Die i_ReturnValue wird von allen Funktionen der AD/DA-Wandler-Karte gesetzt. Ist sie gleich null, so ist die Funktion korrekt ausgeführt worden. Eine stetige Überprüfung dieser Variable während des Ausführens des Programms vermeidet Programmabstürze.
A.4.1.7 Watchdog Funktion der AD/DA Wandler Karte
Die Watchdog Funktion dient dem Schutz der AD/DA-Wandler-Karten sowie dem Schutz der Hardware. Der Watchdog ist wie ein Monoflop anzusehen, welches ständig wieder zurückgesetzt werden muss, damit es nicht ausschaltet. Das Zurücksetzten wird innerhalb des Programms durch den Aufruf der Funktion readWatchdog() durchgeführt. Kommt es zu einem Programmabsturz oder einer Verzögerung, so dass der Watchdog nicht rechtzeitig zurückgesetzt wird, dann schaltet er ab und unterbricht damit die A/D- und die D/A Wandlung. Alle Kanäle werden in diesem Falle auf Null gesetzt.
A.4.1.8 Besonderes zur Schleifenprogrammierung
Bei der Programmierung von Schleifen in Hapkey, welche nur ein Abbruchkriterium haben wird oft die for(;;)-Schleifen-Syntax gebraucht, welche nur durch den Befehl break; abgebrochen wird.
(z.B. die Hauptschleife der inneren und äußeren Regelung, welche mit ESC abgebrochen wird)
A.4.1.9 Programmierstruktur von Benutzerabfragen
Um falsche Eingaben des Benutzers zu ignorieren, ist der Programmierstil so ausgeführt worden, dass mit Hilfe der switch case Abfragen, nur die richtigen Benutzereingaben eine Wirkung zeigen. Alle anderen Eingaben führen zu einem erneuten Aufruf der Abfrage, solange bis der Benutzer eine richtige Eingabe macht.
Eine Abfrage besteht damit aus einer Endlosschleife, die nur bei den richtigen Eingaben mit dem Befehl break abgebrochen wird. Abgebrochen wird, wenn eine definierte Variable den Wert 1 annimmt. Diese Variable wird vor Beginn der Benutzerabfrage auf 0 gesetzt und nur bei einer richtigen Eingabe auf 1 gesetzt.
Beispiel aus Funktion Tastenzuordnung:
printf("Eingabe fuer welches Tastenfeld ? (1-5): ");
i=0; // Nullsetzen der
for (;;)
}
A.4.2 Hapkey Projekte
In den folgenden drei Diagrammen sind die Dateistruktur des Programm Projektfiles hapkey(V).ide dargestellt. Die eckigen Kästen beinhalten den Namen der Datei. Darunter stehen jeweils die beinhalteten Funktionen und die zugehörigen Daten Dateien, aus denen die Kennlinien und Parameter mit den Funktionen gelesen werden. Alle Dateien werden zusammen mit den Treiber Dateien für die "apci3120" AD/DA-Karte im Projektfile hapkey(V).ide zusammengefasst. (V=Versionsnummer)
A.4.5 Funktionen und Prozeduren der AD-Wandler Karte
Die folgende Liste gibt einen Überblick über die im Projekt Hapkey(V) benutzten ADDI-DATA ® Funktionen, welche in getAD.c benutzen werden. Die genaue Beschreibung ist in der Dokumentation der AD-Wandler-Karte von Hersteller ADDI-DATA ® zu finden. Dort wird jede einzelne Funktion mit Flussdiagrammen beschrieben, Beispiele angeführt und Ein- und Ausgabe-Werte genau erläutert. Um die Funktionen nutzen zu können, muss in den Projektfile alle C-Dateien von ADDI-DATA ® mit eingebunden werden.
Die folgenden Abkürzungen sind wie folgt zu interpretieren:
b = byte i = integer ui = unsigned int l = long
p = pointer auf Typ => z.B. pb == pointer auf byte
A.4.7 Flussdiagramme zu Funktionen
Alle Funktionen des Projektes Hapkey mit Ausnahme der Funktionen aus getAD.c sind im Folgenden mit Flussdiagrammen beschrieben. Die Funktionen aus getAD.c rufen nur die in den Treiber Dateien von apci3210 enthaltenden Funktionen auf und werten die Funktionsantwort aus. Die Dokumentation zu den Treiberdateien ist in [7] nachzuschlagen.
Arbeit zitieren:
Daniel Prutz, 2002, Regelungskonzept für ein Aktor-Sensor-Array und dessen praktische Umsetzung, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Daniel Prutz hat den Text Regelungskonzept für ein Aktor-Sensor-Array und dessen praktische Umsetzung veröffentlicht
Daniel Prutz hat einen neuen Text hochgeladen
0 Kommentare