Konzeption und Aufbau eines Prüfstandes für taktile - eLib

Transcrição

Konzeption und Aufbau eines Prüfstandes für taktile - eLib
Bachelorarbeit
Konzeption und Aufbau eines
Prüfstandes für taktile Sensoren
Bachelorarbeit
Christian Leupolz
Bachelorarbeit
Mechatronik
Christian Leupolz
Konzeption und Aufbau eines
Prüfstandes für taktile Sensoren
Erstprüfer: Prof. Dr.-Ing. Franz Raps
Thema erhalten am: 13.01.2012
Verfasser der Bachelorarbeit
Christian Leupolz
Nebelhornstraße 18
86854 Amberg
Telefon +49 1578 441 6605
[email protected]
Eingereicht am 13.06.2012
von Christian Leupolz
Studiengang Mechatronik
Hochschule Augsburg - Fakultät für Elektrotechnik
Prüfer:
Prof. Dr.-Ing. Franz Raps
Betreuer: Prof. Dr.-Ing. Franz Raps
Dipl.-Ing.(FH) Michael Strohmayr M.Sc.(TUM)
Institut für Robotik und Mechatronik
Deutsches Zentrum für Luft- und Raumfahrt e.V.
Zusammenfassung
Im Rahmen der vorliegenden Bachelorarbeit wurde ein Prüfstand für taktile Sensoren konzipiert und aufgebaut. Der Prüfstand ermöglicht die Verizierung und den Vergleich neuartiger taktiler Sensorprototypen. Dies
ermöglicht die Erforschung neuer Sensorwerkstoe und Sensorgeometrien, sowie eine Kalibrierung erster Sensorprototypen durch die Aufnahme einer Kraft-/Widerstandskurve.
Nach der Recherche ähnlicher Prüfverfahren für die Analyse der menschlichen Haut, wurden die dort verwendeten mechanischen Lösungsansätze
auf ihre Eignung als Prüfstand für taktile Sensoren hin evaluiert. Unter
Verwendung einer am Institut verfügbaren Zug-/Druckprüfmaschine des
Herstellers Zwick/Roell konnten erste Kraftmessungen kompletter taktiler Sensorelemente durchgeführt werden. Die gewonnenen Messdaten
dienten als Grundlage für die Auslegung eines Mehrachslinearsystems
und dessen Antrieb.
Unter Berücksichtigung der Vor- und Nachteile der möglichen Linearachskombinationen wurde ein Portalsystem mit drei Freiheitsgraden als
Prüfstand entworfen. Hierfür wurden Lineareinheiten des Herstellers Misumi angefordert und passende Aktoren ausgewählt.
Aufgrund von Lieferverzögerungen musste im zeitlichen Rahmen der
Bachelorarbeit auf eine kleinere Lineareinheit zurückgegrien werden.
Mit
dieser
war
die
Realisierung
der
verschiedenen
Prüfarten
mecha-
nisch, wie auch elektrisch und softwaretechnisch möglich. Nach der Fertigstellung einer Benutzeroberäche unter Zuhilfenahme der graschen
Programmier-Software LabVIEW
konnten erste Prüfversuche durchge-
führt werden. Die implementierten Prüfvarianten funktionierten während
den gefahrenen Messungen erwartungsgemäÿ und stellten die Funktion
des Prüfstandes unter Beweis.
Danksagung
An dieser Stelle bedanke ich mich bei Herrn Prof. Dr.-Ing. Franz Raps für die Betreuung von
Seiten der Hochschule. Von Seiten des Instituts für Robotik und Mechatronik des Deutschen
Zentrums für Luft- und Raumfahrt bedanke ich mich besonders bei Herrn Dipl.-Ing. (FH)
Michael Strohmayr M.Sc.(TUM) für die engagierte Unterstützung, Betreuung und fachliche
Inspiration. Für zahlreiche technische Hilfestellungen bedanke ich mich zudem bei den Mitarbeitern der Mechanikwerkstatt und der Elektronikwerkstatt. Des Weiteren möchte ich mich bei
Denis Schneider, Florian Schnös, Sven Grob und Daniel Pourroy, für die produktive und angenehme Zusammenarbeit bedanken. Insbesondere danke ich meiner Mutter Reinhilde Leupolz
und meinem Vater Johann Leupolz, die mich stets während meines Studiums unterstützt haben.
II
Inhaltsverzeichnis
Zusammenfassung
I
Danksagung
II
Tabellenverzeichnis
V
Abbildungsverzeichnis
VI
Quellcodeverzeichnis
VIII
1 Einleitung
1
2 Stand der Technik
3
1.1
1.2
1.3
2.1
2.2
2.3
2.4
Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rahmenbedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Forschungsstand taktiler Sensorsysteme . . . . . . . . . . . . . . . . . . . . .
Prüfmethoden zur Charakterisierung der menschlichen Haut . . . . . . . . . .
2.2.1 R. Lundström: Lokale Vibrationen - Mechanischer Widerstand der unbehaarten menschlichen Haut . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 H. Egekvist: Kraftmessung eines Nadeleinstiches beim Menschen . . . .
2.2.3 M. F. Bruce und D. C. Sinclair: Zusammenhang zwischen der taktilen
Reizschwelle und der Histologie des menschlichen Fingers . . . . . . .
Mehrachssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Lineartechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1.1 Rundwelle . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1.2 Unterstützte Rundwelle . . . . . . . . . . . . . . . . . . . .
2.3.1.3 Schwalbenschwanzführung . . . . . . . . . . . . . . . . . .
2.3.1.4 Linearschiene . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1.5 Kombination zu einem Mehrachslinearsystem . . . . . . . . .
2.3.2 Linearantriebe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2.1 Zahnriemenantrieb . . . . . . . . . . . . . . . . . . . . . . .
2.3.2.2 Zahnstangenantrieb . . . . . . . . . . . . . . . . . . . . . .
2.3.2.3 Trapezgewindeantrieb . . . . . . . . . . . . . . . . . . . . .
2.3.2.4 Kugelumlaufantrieb . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Robotertechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Schrittmotor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Entwicklung und Realisierung der Mechanik und Elektronik
3.1
Mechanik . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Vorrausgehende Druckversuche taktiler Sensorelemente
3.1.2 Planung des Mehrachslinearsystems . . . . . . . . . .
3.1.3 Auswahl der Mechanikkomponenten . . . . . . . . . .
III
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
2
3
3
3
4
4
5
5
5
6
6
7
7
9
9
9
10
10
10
10
11
13
13
13
14
15
Inhaltsverzeichnis
3.2
3.1.3.1 Auslegung Lineareinheiten . . . . . . . . . . . . . . . . . .
3.1.3.2 Auslegung Energieführungsketten . . . . . . . . . . . . . .
3.1.3.3 Auslegung Kupplungen . . . . . . . . . . . . . . . . . . .
3.1.4 Antriebsauswahl und Auslegung . . . . . . . . . . . . . . . . . . . .
3.1.5 Testaufbau für erste Versuche vereinfachter Prüfvorschriften . . . . .
Elektronik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Steuerungselektronik Mehrachslinearsystem . . . . . . . . . . . . . .
3.2.2 Auswahl Messelektronik . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Abschirmung der Messumgebung vor elektromagnetischen Störfeldern
3.2.4 Evaluierung möglicher Sensorschnittstellen . . . . . . . . . . . . . .
4 Software
4.1
4.2
4.3
4.4
4.5
Steuerungssoftware Mehrachslinearsystem . . . . . . . .
Auswahl einer geeigneten Messsoftware . . . . . . . . .
Prüfvorschriften . . . . . . . . . . . . . . . . . . . . .
4.3.1 Prüfarten . . . . . . . . . . . . . . . . . . . . .
4.3.2 Implementierung der Prüfvorschriften . . . . . .
Benutzeroberäche des Prüfstandes . . . . . . . . . . .
Verarbeitung und Aufbereitung der Messdatenprotokolle
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Messergebnisse
5.1
5.2
Aufnahme von Messdaten . . . . . . . . . . . . . . . . . . . . .
Auswertung der Messergebnisse . . . . . . . . . . . . . . . . . .
5.2.1 Osetkompensation Feinwaage: Ermittlung der Kennlinie .
5.2.2 Osetkompensation Feinwaage: Überprüfung auf Funktion
5.2.3 Druckversuch von Sensorbahnen verschiedener Geometrie
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
19
21
23
24
24
24
26
27
31
.
.
.
.
.
.
.
32
32
33
34
34
34
38
44
.
.
.
.
.
45
45
46
46
47
48
6 Ergebnis
50
7 Diskussion
52
8 Ausblick
54
Literaturverzeichnis
55
Anhang
57
57
61
64
71
72
78
81
81
A
B
C
D
E
F
G
H
Mechanik Formelsammlung . . . . . . . . . . . .
EMF Schirmungsblech technische Zeichnungen . .
Quellcode Steuerungssoftware Stepper Control .
Quellcode Matlabskript zur Messwertaufbereitung
LabVIEW Blockschaltplan Funktionsgruppen . .
LabVIEW SubVIs Blockschaltpläne und Symbole
Kuka Leichtbauroboter-Struktur Abmessungen . .
Internationale Vergleichstabelle für Baustähle . . .
Eidesstattliche Erklärung
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
82
IV
Tabellenverzeichnis
3.1
3.2
Vorhandene Messgeräte . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Neuanschaung Messgeräte . . . . . . . . . . . . . . . . . . . . . . . . . . .
V
27
27
Abbildungsverzeichnis
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
5.1
5.2
5.3
Mechanischer Aufbau zur Hautstimulation nach [14, S. 139] . . . .
Messapparatur und Graph eines Nadeleinstiches nach [8, S. 43] . .
Prüftechnik der menschlichen taktilen Reizschwelle nach [5, S. 236]
Rundwelle mit Sinterbronzegleitlager . . . . . . . . . . . . . . . .
Linearkugellager . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unterstützte Rundwelle . . . . . . . . . . . . . . . . . . . . . . .
Linearkugellager für unterstützte Rundwellen . . . . . . . . . . . .
Schemazeichnung Schwalbenschwanzführung . . . . . . . . . . . .
Linearschiene mit Linearwagen [17, S. 567] . . . . . . . . . . . . .
Linearschiene und Wagen Funktionsskizze [17, S. 567] . . . . . . .
Schematischer Kreuztisch . . . . . . . . . . . . . . . . . . . . . .
Typische Kombinationsmöglichkeiten von drei Linearachsen . . . . .
Schrittmotor Wicklungsansteuerung Prinzipzeichnung [3] . . . . . .
Druckversuch taktiler Sensor DLR mit 8x8 Taxeln [25] . . . . . . .
Kuka LBR Struktur . . . . . . . . . . . . . . . . . . . . . . . . .
Fünfachsmechanik Beispiel 1 . . . . . . . . . . . . . . . . . . . . .
Fünfachsmechanik Beispiel 2 . . . . . . . . . . . . . . . . . . . . .
Linearschiene KUT2005L Skizze Querschnittsäche Abmessungen .
Linearschiene Kreuztisch Biegebeanspruchung . . . . . . . . . . . .
Linearschiene X-Achse Montagevariante 2 Biegebeanspruchung . . .
Linearschiene Z-Achse Biegebeanspruchung . . . . . . . . . . . . .
Energiekette Querschnitt Leitungen . . . . . . . . . . . . . . . . .
Energiekettenauslegung Anschlag links . . . . . . . . . . . . . . .
Energiekettenauslegung Anschlag rechts . . . . . . . . . . . . . . .
Testaufbau für Versuche erster Prüfabläufe . . . . . . . . . . . . .
Schrittmotorsteuerkarte SMC-TR-1000 [10] . . . . . . . . . . . . .
AVR STK500 Starter Kit and Development System [4, S. 2-2] . . .
EMF-Schirmungsblech Hauptelement mit Rückwand . . . . . . . .
EMF BNC Schaltplan . . . . . . . . . . . . . . . . . . . . . . . .
Ablaufdiagramm Stepper Control Hauptschleife . . . . . . . . . .
Prüfarten taktile Sensoren und Materialeigenschaften . . . . . . . .
LabVIEW Blockschaltplan Leitungsfarben/Datentypen . . . . . .
LabVIEW Blockschaltplan Strukturen . . . . . . . . . . . . . . .
LabVIEW Blockschaltplan Flankenerkennung . . . . . . . . . . .
LabVIEW Blockschaltplan Übersicht Hauptschleife . . . . . . . .
LabVIEW Startbildschirm Benutzeroberäche Prüfstand . . . . .
LabVIEW Benutzeroberäche Einstellungen . . . . . . . . . . . .
LabVIEW Benutzeroberäche Bedienelemente Steuerung . . . . .
LabVIEW Benutzeroberäche grasche Anzeige und Auswertung .
Ablaufdiagramm Messdatenverarbeitung mit MATLAB . . . . . .
Digitalmultimeter Fluke 45 Widerstandsmessung Genauigkeit [11] .
MATLAB Plot Zugversuch Osetkurve Feinwaage . . . . . . . .
MATLAB Plot Zugversuch Vergleich Wegkompensation Feinwaage
VI
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
4
5
5
6
6
7
7
7
8
8
11
13
14
14
15
16
17
17
18
20
21
21
24
25
26
28
30
33
34
35
35
35
36
38
39
40
42
44
45
46
47
Abbildungsverzeichnis
5.4
5.5
5.6
5.7
6.1
6.2
A.1
A.2
A.3
A.4
B.1
B.2
B.3
E.1
E.2
E.3
E.4
E.5
E.6
E.7
E.8
E.9
E.10
E.11
E.12
E.13
E.14
F.1
F.2
F.3
F.4
F.5
F.6
F.7
F.8
G.1
H.1
MATLAB Plot Zugversuch Wegkompensation Feinwaage Detailansicht . .
Skizze Druckversuch von Sensorbahnen verschiedener Geometrie . . . . . .
MATLAB Plot Druckversuch taktile Sensorbahn rund . . . . . . . . . . .
MATLAB Plot Druckversuch taktile Sensorbahn dreieckig . . . . . . . .
Testaufbau Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prüfhalterungen und ihre Anwendung . . . . . . . . . . . . . . . . . . . .
Biegefälle Tabelle Teil 1 [15, A14.1] . . . . . . . . . . . . . . . . . . . . .
Biegefälle Tabelle Teil 2 [15, A14.1] . . . . . . . . . . . . . . . . . . . . .
Flächenmomente 2. Grades [15, A7.1] . . . . . . . . . . . . . . . . . . . .
Elastizitätsmodul E [15, A14.1] . . . . . . . . . . . . . . . . . . . . . . .
EMF Schirmungsbelch Hauptrahmen . . . . . . . . . . . . . . . . . . . .
EMF Schirmungsblech Rückseite . . . . . . . . . . . . . . . . . . . . . .
EMF Schirmungsblech Deckel . . . . . . . . . . . . . . . . . . . . . . . .
LabVIEW Blockschaltplan Ansteuerung Schrittmotor Messung . . . . .
LabVIEW Blockschaltplan Ansteuerung Schrittmotor fahre zu Wert . .
LabVIEW Blockschaltplan Ansteuerung Schrittmotor fahre zu Wert . .
LabVIEW Blockschaltplan Waage Wert auslesen . . . . . . . . . . . .
LabVIEW Blockschaltplan Digitalmultimeter Wert auslesen . . . . . . .
LabVIEW Blockschaltplan Thermometer Wert auslesen . . . . . . . . .
LabVIEW Blockschaltplan Motorschritte in Weg umrechnen . . . . . .
LabVIEW Blockschaltplan Osetkorrektur / Dehnung . . . . . . . . .
LabVIEW Blockschaltplan Messwertanzeige Graphen, Messwertprotokoll
stellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LabVIEW Blockschaltplan Rücksetzen der seriellen Schnittstellen . . . .
LabVIEW Blockschaltplan Vorzeichen für Zug-/Druckversuch . . . . . .
LabVIEW Blockschaltplan Berechnung/Anzeige des Messfortschritts . .
LabVIEW Blockschaltplan Schrittmotor manuelle Steuerung . . . . . . .
LabVIEW Blockschaltplan Schleifen beenden . . . . . . . . . . . . . . .
LabVIEW SubVI Stepper Control Symbol . . . . . . . . . . . . . . . .
LabVIEW SubVI Stepper Control Blockschaltplan . . . . . . . . . . . .
LabVIEW SubVI SerialTemperatureP600 Symbol . . . . . . . . . . . .
LabVIEW SubVI SerialTemperatureP600 Blockschaltplan . . . . . . . .
LabVIEW SubVI Osetkorrektur Symbol . . . . . . . . . . . . . . . . .
LabVIEW SubVI Osetkorrektur Blockschaltplan . . . . . . . . . . . .
LabVIEW SubVI Dehnung ZV Symbol . . . . . . . . . . . . . . . . . .
LabVIEW SubVI Dehnung ZV Blockschaltplan . . . . . . . . . . . . .
Kuka LBR Struktur Abmessungen . . . . . . . . . . . . . . . . . . . . . .
Internationale Vergleichstabelle für Baustähle [12] . . . . . . . . . . . . .
VII
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
er. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
47
48
49
49
50
51
57
58
59
60
61
62
63
72
72
72
73
73
73
74
74
75
76
76
76
77
77
78
78
79
79
79
80
80
80
81
81
Quellcodeverzeichnis
C.1 Ausführliche Dokumentation Steuerungssoftware Stepper Control . . . . . .
C.2 Steuerungssoftware Stepper Control vollständig . . . . . . . . . . . . . . . .
D.1 Matlabskript Auswertung Zugversuch . . . . . . . . . . . . . . . . . . . . .
VIII
64
67
71
1 Einleitung
Die sich schnell weiterentwickelnde Digitaltechnik treibt im gleichen Maÿe auch die Robotertechnik immer weiter voran. Vor allem in der Industrie schreitet die zunehmende Automatisierung
von Prozessen weiter fort. Immer häuger können komplizierte Arbeitsschritte, die bisher nur
von Menschen durchgeführt werden konnten, durch Mehrachsrobotersysteme ebenfalls erledigt
werden.
Nicht nur die Industrie protiert von den immer besser werdenden Robotersystemen, sondern
auch für die Anwendung in Krankenhäusern zur minimal-invasiven Chirurgie werden bereits
Robotersysteme wie das da Vinci System von Intuitive Surgical am Deutschen DaVinci
Zentrum (DDVZ) erfolgreich eingesetzt. Ein weiteres noch in der Entwicklung bendliches
Chirurgiesystem ist das am Deutschen Zentrum für Luft- und Raumfahrt (DLR) entwickelte
MiroSurge System.
In Zukunft sollen autonom agierende Roboter auch in Haushalten und Gastronomien als Servicekraft vermehrt eingesetzt werden.
Der Kontakt zwischen Mensch und Maschine wird daher immer stärker, was eine Gefährdung des
Menschen durch den Roboter zur Folge haben kann. Um ein sicheres Miteinander zu gewährleisten, müssen Roboter ihre Umwelt möglichst genau wahrnehmen können. Dafür ist eine Vielzahl
an Sensorsystemen notwendig. Einer der wichtigsten Sinne für den Menschen zur Wahrnehmung
seiner Umwelt ist der Tastsinn. Er ermöglicht es, Oberächen verschiedenen Materialien zuzuordnen, die Temperatur von Gegenständen zu erfassen und feinfühlige motorische Bewegungen
durchzuführen. Vor allem aber können durch schnelle Reaktion auf Kontaktereignisse Verletzungen vermieden werden. Wären Robotersysteme ebenfalls ächendeckend mit solchen Sensoren
ausgestattet, könnte durch Integration von Schutzverhaltensmustern ein Arbeiten des Roboters
zusammen mit den Menschen gefahrlos realisiert werden.
Diese Tastsensoren werden in der Robotik als taktile Sensoren bezeichnet. Derzeit werden am
Institut für Robotik und Mechatronik des Deutschen Zentrums für Luft- und Raumfahrt taktile
Sensoren für Robotersysteme entwickelt. Um die Entwicklung dieser Sensoren voranzutreiben,
sind Messaufbauten zur Bestimmung der Sensoreigenschaften notwendig.
1.1 Aufgabenstellung
Für die Entwicklung neuer, polymer-basierter, taktiler Sensoren ist es notwendig, die hergestellten Prototypen auf ihre mechanischen und elektrischen Eigenschaften zu prüfen. Des Weiteren
gibt es bisher keinen standardisierten Test, der taktile Sensoren verschiedener Hersteller untereinander vergleichbar macht.
Im Rahmen der Bachelorarbeit sollen verschiedene Prüfkonzepte erarbeitet werden, deren Hauptaugenmerk vorerst auf der statischen Prüfung für die Prototypenentwicklung taktiler Sensoren
liegt. Die Bewertung der verschiedenen Prüfkonzepte geschieht durch die physiologischen Anforderungen an taktile Sensoren. Anhand dieser Bewertung ist das geeignetste Prüfverfahren
auszuwählen und ein entsprechender Teststand umzusetzen.
1
Kapitel 1. Einleitung
Aufgaben:
• Evaluierung verschiedener Prüfkonzepte und Auswahl
• Ausarbeitung des ausgewählten Prüfkonzeptes
• Erstellung einer Stückliste und Bestellung
• Inbetriebnahme des Prüfstandes mechanisch
• Entwurf der Prüfsoftware und Prüfvorschrift
• Fertigstellung des Prüfstandes
• Dokumentation des Prüfstandes
1.2 Rahmenbedingungen
Die Aufgabenstellung wird im Rahmen einer Bachelorarbeit des Fachbereiches Elektrotechnik
der Hochschule Augsburg in Zusammenarbeit mit dem Institut für Robotik und Mechatronik
des Deutschen Zentrums für Luft- und Raumfahrt in Oberpfaenhofen bearbeitet. Grundlage
für die Aufgabenstellung ist ein institutseigener taktiler Sensor, anhand dessen erste Versuche
zu Materialeigenschaften und Signalanalysen durchgeführt werden sollen. Aufbauend auf diesen
Erkenntnissen soll eine Auslegung des Prüfstandes erfolgen. Der zeitliche Rahmen für die Erstellung verschiedener Prüfkonzepte, deren Auswahl und Bewertung und die Umsetzung in einen
Prüfstand beträgt zwei Mannmonate.
1.3 Problemstellung
Anforderungen an den Prüfstand:
• Sensorgröÿen ca. 25cm × 15cm × 12cm siehe Abb. G.1
• Taxelanzahl 64 (Sensormesspunkte auf Sensoräche)
• Wegauösungsvermögen der statischen Anregung im 1/100mm Bereich
• Schutz gegenüber Störquellen (z.B. Elektromagnetische Störfelder)
• Aufzeichnung der Messbedingungen (z.B. Temperaturverlauf)
• Orientierung der Sensorächen im Raum (Sensor auf Roboterstrukur)
2
2 Stand der Technik
2.1 Forschungsstand taktiler Sensorsysteme
Die nachfolgende Auistung enthält typische Funktionsprinzipien taktiler Sensorsysteme. Tiefergehende Informationen können den Quellen [25], [24], [23], [6], [27], [13] entnommen werden.
•
•
•
•
Resistiv
Kapazitiv
Induktiv
Magnetisch
•
•
•
•
Piezoelektrisch
Pneumatisch
Hydraulisch
Optisch
Das langfristige Ziel der Entwicklung von taktilen Sensorsystemen für Roboter ist es die mechanischen und sensorischen Eigenschaften der menschlichen Haut nachzuempnden. Daher wird im
Folgenden auf Prüfmethoden zur Analyse der Eigenschafen der menschlichen Haut eingegangen.
2.2 Prüfmethoden zur Charakterisierung der menschlichen Haut
2.2.1 R. Lundström: Lokale Vibrationen - Mechanischer Widerstand der
unbehaarten menschlichen Haut
Um eine Vorhersage menschlicher Reaktionen auf Vibrationen treen zu können, baute Lundström einen Apparat, der es ihm ermöglichte, eine denierte Anregung mit bestimmter Frequenz,
Stärke, Dauer, Richtung, Kontaktpunkt und Anpresskraft aufzubringen. Damit gelang es ihm,
den mechanischen Widerstand der Haut zu bestimmen.[14, S. 137.]
Abbildung 2.1: Mechanischer Aufbau zur Hautstimulation nach [14, S. 139]
3
Kapitel 2. Stand der Technik
2.2.2 H. Egekvist: Kraftmessung eines Nadeleinstiches beim Menschen
Henrik Egekvist, Peter Bjerrring und Lars Arendt-Nielsen studierten die Schmerzempndung
während des Einstechens einer Nadel in die menschliche Haut. Dabei wurden Messdaten zur
Kraft, Geschwindigkeit und Einstichwinkel aufgenommen. Nachfolgend ist der Messaufbau, welcher aus einer Linearschiene, Kraftmessdose und Antriebsspindel besteht, dargestellt.[8, S. 41.]
Abbildung 2.2: Messapparatur und Graph eines Nadeleinstiches nach [8, S. 43]
2.2.3 M. F. Bruce und D. C. Sinclair: Zusammenhang zwischen der taktilen
Reizschwelle und der Histologie des menschlichen Fingers
Mit dem in Abb. 2.3 dargestellten Messaufbau, wurden über die an der Halterung (H) befestigten
Nylonfäden (F) Kräfte auf verschiedene Bereiche des kleinen Fingers einer menschlichen Hand
aufgebracht. Die Probanden mussten antworten, sobald sie einen Druck verspürten. Die Kräfte
wurden festgelegt, indem Nylonfäden soweit gestaucht wurden, bis sie sich krümmten, wobei zu
diesem Zeitpunkt die Kraft gemessen wurde. Über unterschiedliche Längen der Nylonfäden war
es möglich, verschiedene Kräfte während der Krümmung zu erzielen.
Abbildung 2.3: Prüftechnik der menschlichen taktilen Reizschwelle nach [5, S. 236]
Die Betrachtung der verwendeten Prüfmethoden zeigt, dass obwohl die mechanischen und sensorischen Eigenschaften der taktilen Sensoren denen der menschlichen Haut ähneln, die Prüfmethoden jedoch nicht direkt für die Analyse von technischen taktilen Sensoren verwendet werden
können. Insbesondere die dreidimensionalen Oberächen der Roboterstrukturen erfordern ein
Prüfverfahren, das in der Lage ist denierte Eindruckkräfte in mehreren Achsen zu erzeugen.
Daher wird im Folgenden grundsätzlich auf den Aufbau von mechanischen Mehrachssystemen
eingegangen.
4
Kapitel 2. Stand der Technik
2.3 Mehrachssysteme
2.3.1 Lineartechnik
Die Lineartechnik ist eine der Hauptbereiche der Antriebstechnik. Sie beschreibt Führungssysteme, die sich auf translatorische Bewegungen beschränken. Diese Führungen sind zum Beispiel
in Werkzeugmaschinen, im industriellen Anlagenbau, sowie in konventionellen Tintenstrahldruckern vorzunden.
2.3.1.1 Rundwelle
Eines der einfachsten Linearsysteme ist die Rundwelle mit Lineargleitlager oder Linearkugellager. Es besteht aus einer geschlienen Präzisionswelle, auf die zum Beispiel ein Gleitlager aus
Sinterbronze aufgeschoben wird, siehe Abb. 2.4. Um eine Rotation um die Welle zu vermeiden,
sind mindestens zwei parallele Lineareinheiten, deren Schlitten miteinander starr verbunden sind,
nötig.
Abbildung 2.4: Rundwelle mit Sinterbronzegleitlager
Eine höherwertige Ausführung gegenüber den Lineargleitlagern sind die Linearkugellager. Sie bestehen aus einer Metallbuchse, die Führungsbahnen für Kugeln beinhaltet. Die Linearbewegung
ist selbst bei hohen Traglasten durch die Abrollbewegung der Kugeln leichtgängig. Siehe Abb. 2.5
Abbildung 2.5: Linearkugellager
5
Kapitel 2. Stand der Technik
2.3.1.2 Unterstützte Rundwelle
Groÿe Längen oder höhere Traglasten können bei einfachen Rundwellen zu einer starken Durchbiegung der Welle führen, da diese nur an den Wellenenden fest gelagert sind. Es wäre möglich,
Wellen mit gröÿerem Durchmesser zu verwenden, jedoch sind diese teurer und benötigen mehr
Platz bei der Installation. Eine einfachere Lösung bieten unterstützte Rundwellen. Sie sind längs
auf ein Aluminium-V-Prol aufgebracht, welches wiederum über die gesamte Länge verschraubt
wird. Siehe Abb. 2.6
Abbildung 2.6: Unterstützte Rundwelle
Die unterstützten Rundwellen benötigen angepasste Lineargleit- oder Kugellager mit einem Önungswinkel für das Alustützprol, siehe Abb. 2.7. Bei einer hängenden Montage sollte beachtet
werden, dass sich die Traglast durch die fehlende Gleitäche oder Kugelreihe verringert.
Abbildung 2.7: Linearkugellager für unterstützte Rundwellen
2.3.1.3 Schwalbenschwanzführung
Der Name kommt von dem gegabelten Schwanz der Schwalbe, an den diese Trapezführung
erinnert. Diese Führung ist meist als Gleitführung vorzunden. Sie besteht aus geschlienen
Präzisionsstahlteilen, eines in Form des Schwalbenschwanzes und das andere als Negativ, siehe Abb. 2.8. Die Rotation um die Linearachse ist im Gegensatz zu den Rundwellenführungen
aufgrund der Schwalbenschwanzform ausgeschlossen. Diese Führung wird aufgrund ihrer groÿen
Masse und den daraus resultierenden guten Dämpfungseigenschaften oft in Metall zerspanenden
Maschinen eingesetzt.
6
•
•
•
•
•
•
•
•
•
•
•
Kapitel 2. Stand der Technik
2.3.2 Linearantriebe
Die Auswahl des Linearantriebs hängt stark vom Einsatzzweck ab. Die Hauptaufgabe eines
Linearantriebes ist es, die Rotationsbewegung eines Aktors in eine Translationsbewegung umzuwandeln. Nachfolgend ndet sich eine Auistung häug verwendeter Linearantriebe, siehe
auch [16], [17] und [18].
2.3.2.1 Zahnriemenantrieb
Vorteile:
• Kostengünstig
• Hohe Verfahrgeschwindigkeiten
Nachteile:
• Auösung hängt stark von Drehwinkelauösung
und Spiel des Antriebes ab
• Geringere Antriebskraft
• Gefahr durch Schwingungen des Zahnriemens
Merkmale:
• Antrieb sowohl feststehend mit geschlossenem umlaufenden Zahnriemen, wie auch mitfahrend bei oenem feststehenden Zahnriemen
• Groÿzahl an Anwendungsfällen durch verschiedene Zahnprole wie z.B.: T, AT, HTD, Zoll
• Erreichbare Wegauösung im 1/10mm - 1/100mm Bereich
Beispiele: Tintenstrahldrucker, Scanner
2.3.2.2 Zahnstangenantrieb
Vorteile:
• Kostengünstig
• groÿe Kräfte
• beliebig lange Verfahrwege
Nachteile:
• Auösung hängt stark von Drehwinkelauösung
und Spiel des Antriebes ab
• Zusätzliches Spiel durch wechselnden Zahnradeingri bei Richtungswechsel
Merkmale:
• Antrieb mitfahrend auf Lineareinheit für groÿe Zahnstangenlängen und oft feststehend für
kurze Zahnstangenlängen
• Erreichbare Wegauösung im 1/10mm Bereich
Beispiel: Zahnradbahn
9
Kapitel 2. Stand der Technik
2.3.2.3 Trapezgewindeantrieb
Vorteile:
• Kostengünstig
• Verschiedene Übersetzungen durch
unterschiedliche Steigungen
• Hohe Vorschubkräfte erreichbar
Nachteile:
• Erhöhter Verschleiÿ durch Reibung
an den Muttern
• Spiel zwischen Trapezgewinde und
Mutter
• Eingeschränkte Spindellängen
Merkmale:
• Antrieb feststehend an Trapezgewindespindelende
• Muttern meist aus Sinter-Bronze oder Nylatron
• Erreichbare Wegauösung 1/10mm - 1/100mm Bereich (bei gegeneinander verspannten
Muttern)
Beispiel: Wagenheber mit Kurbel
2.3.2.4 Kugelumlaufantrieb
Vorteile:
Nachteile:
• Spielfrei einstellbar
• Kostenintensiv
• groÿe Vorschubkräfte
• Eingeschränkte Spindellängen
• Sehr hohe Wegauösung
Merkmale:
• Erreichbare Wegauösungen für geschliene Kugelumlaufspindeln im 1/1000mm Bereich
• Antrieb sowohl feststehend an Kugelumlaufspindelende, wie auch mitfahrend auf Linearschlitten als Direktantrieb der Kugelumlaufmutter
Beispiel: Linearantrieb Werkzeugmaschinen
2.3.3 Robotertechnik
Für Anwendungsfälle, die sechs oder mehr Achsen benötigen werden typischerweise hochpräzise
Robotersysteme eingesetzt (z.B. DLR LBR, als Leichtbauroboter allerdings weniger präzise als
gröÿere Kuka oder Stäubli Industrieroboter). Die Kosten moderner Robotersysteme überschreiten jedoch das Budget dieser Arbeit und stehen im Auswahlprozess daher nicht zur Verfügung.
2.4 Aktoren
Die Aktorauswahl wird auf elektrische Antriebe angesichts exiblerer Aufstellungsorte des Prüfstandes eingeschränkt. (Grundlegende Informationen dieses Kapitels wurden bezogen aus [21])
10
Kapitel 2. Stand der Technik
Häug verwendete Aktoren sind:
• Schrittmotoren
• Servomotoren(AC/DC)
• Linearmotoren
• Piezoelektrische Antriebe
Aufgrund der am Institut verfügbaren Schrittmotoren wird im Folgenden detaillierter auf diesen
Antrieb eingegangen.
2.4.1 Schrittmotor
Abbildung 2.13: Schrittmotor Wicklungsansteuerung Prinzipzeichnung [3]
Schrittmotoren sind bürstenlose Gleichstrommotoren, deren Position und Beschleunigung gesteuert werden kann, ohne dafür eine zusätzliche externe Positionsrückmeldung zu benötigen.
Sie bestehen typischerweise aus einem rotierenden Permanentmagneten (Rotor), der von Elektromagneten (Stator) umschlossen ist. Wenn die Elektromagneten in richtiger Polarität und
Reihenfolge bestromt werden, wird ein Moment erzeugt, das den Rotor in Schritten bewegt.
Diese Einzelschritte können aufeinanderfolgend den Motor in verschiedenen Drehzahlen, entsprechend der Wechselrate der Schritte, drehen. Auf die Position kann durch Überwachung der
Anzahl der durchgeführten Schrittreihenfolgen rückgeschlossen werden.
Indem man den Strom in den einzelnen Motorphasen genau reguliert, ist es möglich einen ganzen
Schrittwinkel eines Schrittmotors in kleinere Mikroschritte zu unterteilen. Der Mikroschrittbetrieb ermöglicht eine höhere Positionsauösung, vermindert Resonanzprobleme und verringert
somit Betriebsgeräusche, siehe [3].
11
Kapitel 2. Stand der Technik
In Abb. 2.13 ist die Ansteuerung der beiden Elektromagneten für die normalen Betriebsmodi
Voll-Schritt und Halb-Schritt und für den Mikroschrittbetrieb bis Achtel-Schritt dargestellt.
Vorteile:
•
•
•
Nachteile:
•
•
Keine komplexe Regelung erforderlich
Kostengünstig
Schrittverluste im Fehlerfall (Überlast)
Mögliche Resonanzfrequenzen
Einfache Ansteuerung (z.B. Schritt /
Richtung)
•
Wartungsarm (Bürstenlos)
Für die gelisteten Nachteile des Schrittmotorantriebs ist jedoch zu beachten, dass Schrittverluste
nur bei einer fehlerhaften Auslegung der dynamischen Antriebsdrehmomente, der Beschleunigungswerte oder bei zu niedriger Versorgungsspannung auftreten. Besonders zu beachten ist,
dass die Versorgungsspannung meist viel höher als die angegebene Nennspannung zu wählen
ist, da ansonsten der Nennstrom, wegen den Gegeninduktivitäten der Motorwicklungen bei hohen Drehzahlen, nicht aufrecht erhalten werden kann. Die höhere Versorgungsspannung wird
ermöglicht durch die Stromregelung der Schrittmotortreiberstufen.
Das Problem der Resonanzfrequenzen kann meist durch den Mikroschrittbetrieb behoben werden.
12
3 Entwicklung und Realisierung der Mechanik und
Elektronik
3.1 Mechanik
3.1.1 Vorrausgehende Druckversuche taktiler Sensorelemente
Um erste Aussagen zu den mechanischen Anforderungen an den Prüfstand treen zu können,
müssen die Materialeigenschaften des vorliegenden taktilen Sensors in Druckversuchen auf einer Zwick/Roell Material-Prüfmaschine [30] ermittelt werden. Abb. 3.1 zeigt das Weg/Kraft
Diagramm des vorliegenden taktilen Sensorelements, wobei der mechanische Messbereich des
Sensors bei ca. 1,5mm endet. An diesem Punkt wird eine Kraft von 57N auf die gesamte
Sensoräche gemessen. Da der Sensor 64 Messpunkte besitzt, wirkt auf einen einzelnen Sensormesspunkt eine Kraft von 0,89N. Dies ist folglich die Maximalprüfkraft, die der geplante
Prüfstand mindestens aufbringen können muss.
Abbildung 3.1: Druckversuch taktiler Sensor DLR mit 8x8 Taxeln [25]
13
•
•
•
•
•
•
•
•
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Benötigte Verfahrwege der Lineareinheiten:
Die minimal benötigten Verfahrwege, sind anhand eines Elements einer Kuka LeichtbauroboterStruktur, auf die taktile Sensorelemente aufgebracht werden, mit den Abmessungen 25cm ·
15cm · 12cm, siehe Anhang Abb. G.1, vorgegeben. Es ist vorgesehen diese auf ihrer Zielstruktur
prüfen zu können. Damit alle Messpunkte der taktilen Sensorelemente auf dieser Struktur mit
einer zur Oberäche senkrechten Prüfkraft beaufschlagt werden können, ist eine Erweiterung
des Prüfstandes um zwei Rotationsachsen nötig und der zusätzlich benötigte Freiheitsraum für
diese vorzusehen. Aus diesen Gründen sind folgende Verfahrwege gewählt worden:
Annahme benötigter Platz für Rotationskopf: ca. 20cm
Verfahrweg x/y ≈ LBRmax +Rotationskopflinks +Rotationskopfrechts = 25cm+2·20cm = 65cm
Verfahrweg z ≈ LBRmax + Rotationskopfoben+ = 25cm + 20cm = 45cm
Gewählte Verfahrwege nach Datenblatt [17, S. 465] und [17, S. 422]:
X/Y-Achse (KUT2005L-820-200): 610mm
Z-Achse (LX3005P-S2-T3056.4-600): 467mm
Anordnung der Linearachsen hinsichtlich ihrer Biegebeanspruchung:
Da das Flächenträgheitsmoment der Lineareinheit KUT2005L weder im Datenblatt angegeben
ist, noch über den telefonischen Support der Firma Auskunft darüber geben werden kann, muss
dieses näherungsweise berechnet werden.
Für das Material der Grundplatte AlMg0,7SiT6 wird zur Annäherung der mittlere Elastizitätsmodul (E-Modul) von Aluminiumlegierungen aus Anhang Abb. A.4 verwendet.
E Aluminiumleg. = 70kN/mm2
Abbildung 3.5: Linearschiene KUT2005L Skizze Querschnittsäche Abmessungen
Mit den Angaben aus Abb. 3.5 kann das Flächenträgheitsmoment nach Anhang Abb. A.3 wie
folgt berechnet werden.
Iz =
1
3
· (BH 3 + bh3 ) − (BH + bh) · e1 2
mit B = W 1 − P 3 = 75mm / H = H 1 = 28mm / b = P 3 = 120mm / h = t1 = 12mm
+120mm·(12mm)
+bh
und e1 = 12 · BH
= 12 · 75mm·(28mm)
= 10, 75mm
BH+bh
75mm·28mm+120mm·12mm
2
2
2
2
16
⇒I =
I =
1
12
1
3
· (75mm · (28mm)3 + 120mm · (12mm)3 )
−(75mm · 28mm + 120mm · 12mm) · (10, 75mm)2 = 57, 99cm4
· (BH 3 − bh3 )
B = H = 28mm
⇒I =
1
12
H = W = 195mm
b = H − t = 16mm
· (28mm · (195mm)3 − 16mm · (120mm)3 ) = 1499, 74cm4
F
⇒
w =
F l3
3EI
=
w =
F l3
48EI
= 10kg · 9, 81 sm2 = 98, 1N
98,1N ·(610mm/2)3
3·70kN/mm2 ·57,99cm4
F
⇒
h = P = 120mm
=
= 23μm
= 10kg · 9, 81 sm2 = 98, 1N
98,1N ·(610mm)3
48·70kN/mm2 ·1499,74cm4
= 0, 4μm
⇒
210kN/mm2
I = 2, 5 · 104 mm4
F
49, 05N
⇒
⇒
= 5kg · 9, 81 sm2 =
M = 0, 05m · 49, 05N = 2, 45N m
w =
M l2
2EI
=
2,45N m·(467mm)2
2·210kN/mm2 ·25000mm4
= 0, 05mm
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Vorschubkraft X/Y-Achse:
Angaben:
Schrittmotor dyn. Drehmoment: ca. M Haltemoment/2 ⇒ 2, 7N m/2 = 1, 35N m
(Annäherung, da dynamisches Drehmoment abhängig von der Drehzahl)
Steigung P Kugelgewindetrieb Lineareinheit KUT2005L: 5mm
F Vorschub X/Y =
M Motor
dynamisch =
P Kugelgewindetrieb
2,7N m/2
0,005m
= 270N
Hubkraft Z-Achse:
Angaben:
Schrittmotor dyn. Drehmoment: ca. M Haltemoment/2 ⇒ 3, 1N m/2 = 1, 55N m
(Annäherung, da dynamisches Drehmoment abhängig von der Drehzahl)
Steigung P Kugelgewindetrieb Lineareinheit LX3005P: 5mm
F Vorschub X/Y =
M Motor
dynamisch =
P Kugelgewindetrieb
3,1N m/2
0,005m
= 310N
Alle Angaben zu den Daten können in folgenden Dokumenten nachgeschlagen werden:
Formeln siehe Anhang Abb. A.1 und Abb. A.2 Lineareinheit KUT [17, S. 461]
Lineareinheit LX [17, S. 401]
Schrittmotoren [26], [22]
3.1.3.2 Auslegung Energieführungsketten
Energieketten werden zum mechanischen Schutz für Stromleitungen, Druckluftleitungen, Signalleitungen usw. verwendet. Sie ermöglichen es, Kabel und Schläuche zwischen translatorisch
bewegten Mechanikkomponenten zu verlegen. Dabei kann der minimal zulässige Biegeradius der
Kabel und Schläuche eingehalten und somit die Lebensdauer verlängert werden.
1. Innerer Querschnitt
Der benötigte Querschnitt der Energiekette wird, wie in Abb. 3.9 dargestellt, anhand der einzelnen Leitungsquerschnitte ermittelt.
⇒ Gewählte Energiekette MHPUS206 [17, S. 642] mit Querschnitt innen : 14mm · 40mm
(Leitungsquerschnitte siehe [9], [26], [22], [17])
19
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Abbildung 3.9: Energiekette Querschnitt Leitungen
2. Biegeradius
Um Leitungsschäden vorzubeugen ist der minimale Biegeradius aller Leitungen zu beachten. Im
vorliegenden Fall ist der Biegeradius durch den Druckluftschlauch PU-99003-0604 der Firma
Eisele mit 14 mm vorgegeben, siehe [9, S. 7]. Damit der sichere Betrieb bei dynamischer Beanspruchung garantiert werden kann, wird ein Sicherheitsfaktor von 2-3 angenommen. Daraus
resultiert ein minimaler Biegeradius von 28-42 mm. Anhand des benötigten Energiekettenquerschnitts und des Biegeradius el die Wahl auf die Misumi MHPUS206-38 siehe [17, S.1-642].
3. Energiekettenlänge
Die benötigte Länge der Energiekette setzt sich aus zwei Teilen zusammen. Der notwendigen
Länge für den halben Umfang des Biegeradius und der benötigten Länge zur Abdeckung des
Verfahrweges der Lineareinheit, siehe Abb. 3.10 und Abb. 3.11. Anhand der benötigten Gesamtlänge kann über die Gliederabstand die benötigte Kettengliederzahl ermittelt werden.
⇒ ΔL + 12 · (2π · r) + 2 · Sicherheit = 305mm + 119, 4mm + 200mm = 624.4
mit Gliederabstand [17, S. 642]: 32mm
⇒ 624.4mm ÷ 32mm = 19.5 ≈ 20 Kettenglieder
⇒ gewählte Energiekette nach [17, S. 642]:
MHPUS206-38-20
20
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Beispiel:
T orsionsf ederkonstante = 100N m/rad
Annahme Drehmoment = 1N m
⇒ 1N m/100N m/rad = 0, 01rad = 0, 01 ∗ (360◦ /2π) = 0, 573◦
((2π)rad = 360◦ )
Die folgenden Berechnungen beziehen sich auf die maximalen Haltemomente der verwendeten
Schrittmotoren und auf die maximal zulässigen Drehmomente der Kupplungen. Die dynamischen
Drehmomente der Schrittmotoren während des Betriebs sind wesentlich geringer und können
den Graphen der Datenblätter entnommen werden. Für die Auslegung sind nur die Extrema von
Bedeutung.
LINEAREINHEIT KUT2005L:
- Spindelsteigung 5mm
- Max. Haltemoment Schrittmotor (SANYO DENKI 103H7822-5740) = 2,7Nm
Kupplung SCXW34-8-12
- Maximales Drehmoment 4,0Nm
- Torsionsfederkonstante = 5700Nm/rad
Maximaler Winkelversatz
⇒ 4, 0N m ÷ 5700N m/rad = 0, 000702rad = 0, 040◦
⇒ 2, 7N m ÷ 5700N m/rad = 0, 000474rad = 0, 027◦
Resultierender Positionsfehler der Lineareinheit
⇒ (0, 040◦ ÷ 360◦ ) · 5mm = 0, 6μm
⇒ (0, 027◦ ÷ 360◦ ) · 5mm = 0, 4μm
LINEAREINHEIT LX3005P:
- Spindelsteigung 5mm
- Max. Haltemoment Schrittmotor (QMOT 6018-86-28-310) = 3,10Nm
Kupplung SCXW21-6-8
- Maximales Drehmoment 1,2Nm
- Torsionsfederkonstante = 900Nm/rad
Maximaler Winkelversatz
⇒ 1, 2N m ÷ 900N m/rad = 0, 00133rad = 0, 076◦
Resultierender Positionsfehler der Lineareinheit
⇒ (0, 076◦ ÷ 360◦ ) · 5mm = 1, 1μm
22
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Kupplung MCSLC25-6-8
- Maximales Drehmoment 2,8Nm
- Torsionsfederkonstante = 950Nm/rad
Maximaler Winkelversatz
⇒ 2, 8N m ÷ 950N m/rad = 0, 00295rad = 0, 169◦
Resultierender Positionsfehler der Lineareinheit
⇒ (0, 169◦ ÷ 360◦ ) · 5mm = 2, 3μm
Alle Angaben zu den Daten können in folgenden Dokumenten nachgeschlagen werden:
Lineareinheit KUT [17, S. 461]
Lineareinheit LX [17, S. 401]
Kupplungen [17, S. 959]
Schrittmotoren [26], [22]
3.1.4 Antriebsauswahl und Auslegung
Lineareinheiten mit Spindelantrieb wandeln eine rotatorische in eine translatorische Bewegung
um. Es sind daher Aktoren auszuwählen, die eine Rotationsbewegung mit hoher Winkelauösung bereitstellen, über eine Bremse zum Halten der jeweiligen Position verfügen und über eine
vorhandene Energiequelle versorgt werden können.
Da das System möglichst unabhängig von seinem Standort eingesetzt werden soll, wird als
Energiequelle Strom vorausgesetzt. Damit verringert sich die Auswahl der Aktoren auf Piezoantriebe, Servomotoren und Schrittmotoren. Nachdem die auftretenden Kräfte des Prüfstandes
verhältnismäÿig gering sind und Schrittmotoren einfach in der Ansteuerung und preiswert in der
Anschaung sind, el die Wahl auf dieses Antriebskonzept.
In der nachstehenden Auistung sind die gewählten Schrittmotoren zu den jeweiligen Lineareinheiten aufgeführt. Die Schrittmotoren wurden anhand ihrer mechanischen Kennwerte Flanschmaÿ, Wellendurchmesser, Haltemoment, dynamisches Drehmoment und Masse, sowie ihrer elektrischen Daten Ansteuerung, Phasenstrom, Versorgungsspannung und Wicklungswiderstand ausgewählt.
LINEAREINHEIT LX3005P:
Schrittmotor Trinamic QMot QSH6018-86-28-310
LINEAREINHEIT KUT2005L:
Schrittmotor SANYO DENKI 103H7822-5740
(Lineareinheiten KUT siehe [17, S. 461], LX siehe [17, S. 401]
Schrittmotoren siehe [26], [22])
23
•
•
•
•
•
•
•
•
•
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Abbildung 3.14: AVR STK500 Starter Kit and Development System [4, S. 2-2]
3.2.2 Auswahl Messelektronik
Hauptkriterien für die Auswahl der Messelektronik sind:
• Hohe Messgenauigkeit
• Hohe Anzahl an Messeingängen (umschaltbar)
• Galvanische Trennung des Messaufbaus von der Messumgebung
• Gleiche Datenschnittstellen (z.B. RS232, GPIB)
• Einfache Ansteuerung über ein gemeinsames Bussystem
• Einfache und schnelle Implementierung in eine Messsoftware (z.B. MATLAB , LabVIEW )
• Möglichkeit einer Signalabschirmung (Messbuchsen der Messgeräte z.B. BNC-Anschluss)
• Verwendung vorhandener Messgeräte (Fluke 45, Frequenzgenerator HP3314A, Oszilloskop
Tektronix TDS 510A)
Die Tabelle 3.1 beinhaltet bereits vorhandene Messgeräte, die sich für den geplanten Messaufbau
eignen.
26
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Messgerät
Fluke 45
Fluke 80TK
Waage Kern EG
DOSTMANN P600
NI GPIB-USB-HS
HP3314A
Tektronix TDS 510A
*optional
Typ
Multimeter
Temperaturfühler
Feinwaage
präz. Thermometer
GPIB-USB Adapter
Frequenzgenerator
Oszilloskop 4 ch.
Schnittstellen
RS232/GPIB
für Fluke45
RS232
RS232
GPIB/USB
GPIB
GPIB
Verwendungszweck
Widerstandsmessung
Raumtemperaturmessung
Kraftaufnahme
Raumtemperaturmessung
Kommunikation GPIB-PC
*Anregung Prüing
*Aufnahme Signalantwort
Stk.
2
2
1
1
1
1
1
Tabelle 3.1: Vorhandene Messgeräte
Die Tabelle 3.2 beinhaltet zugekaufte Messgeräte, welche für den geplanten Messaufbau noch
benötigt werden.
Messgerät
HP 3488A
Typ
Modulares Schalt-/
Steuerungs-System
Opt.010/HP 44470A Multiplexer
Opt.012/HP 44472A VHF Multiplexer BNC
Opt.013/HP 44474A Digitale I/O Karte
Schnittstellen Verwendungszweck
GPIB
Multiplex / I/O
Stk.
1
HP Einschub Multiplex
2
HP Einschub Multiplex (EMV)
2
HP Einschub I/O Zugprüfmaschine 2
Tabelle 3.2: Neuanschaung Messgeräte
3.2.3 Abschirmung der Messumgebung vor elektromagnetischen Störfeldern
In der heutigen Zeit sind elektromagnetische Felder (EMF) überall vorhanden. Jedes Mobiltelefon
sendet ununterbrochen elektromagnetische Wellen aus, um eine Verbindung mit dem jeweiligen
Sendemasten aufrecht zu erhalten. Dutzende Radiostationen senden im Dauerbetrieb rund um
die Uhr. Prozessoren in Computern besitzen inzwischen sehr hohe Taktraten, die ebenfalls elektromagnetische Felder erzeugen können. Beinahe jeder Arbeitsplatz und Haushalt besitzt ein
drahtloses Netzwerk für die Internetverbindung. Bekannte Störungen, die durch diese Felder
verursacht werden können, sind beispielsweise das Knacken und Rauschen in Lautsprecheranlagen während eines eingehenden Mobiltelefonanrufs. Im gleichen Maÿe können diese Felder
auch Messungen verfälschen, weswegen Messumgebungen nach Möglichkeit eine Abschirmung
gegenüber diesen Störungen erhalten sollten, siehe [28].
Zu diesem Zweck wird mit dem CAD-Werkzeug Pro/ENGINEER Wildre 4.0 ein EMF-Schirmungsblech als Blechteilkonstruktion entworfen. In Abb. 3.15 ist die Baugruppe des Hauptbiegeblechrahmens mit eingebauter Rückwand dargestellt. Zur besseren Ansicht wurde der Deckel
ausgeblendet. (Informationen zu Blechteil biegen siehe [7, S. 376])
Die zu prüfenden Sensorelemente besitzen zwar lediglich je acht Anschlüsse für die Spalten und
Zeilen, jedoch verlaufen die Anschlussbahnen, je nach Sensor, rechtwinklig oder 180 ◦ versetzt
zueinander. Daher wurden in der Konstruktion des Hauptrahmens drei Seitenwände mit Aussparungen für BNC-Anschlussbuchsen vorgesehen, um die verschiedenen Sensortypen, ohne diese
27
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
zu verspannen, kontaktieren zu können.
Abbildung 3.15: EMF-Schirmungsblech Hauptelement mit Rückwand
Wie in Abb. 3.16 zu sehen ist, bendet sich das taktile Sensorelement in einer Art faradayschem Käg, dessen Potential auf Masse liegt. An drei Seitenwänden des Abschirmungsbleches
(siehe Abb. 3.15) benden sich je acht BNC-Buchsen für die Zeilen und Spalten. Über diese werden die einzelnen Sensoranschlüsse über 16 BNC-Kabel geschirmt zu zwei VHF-Multiplexern HP
44472A geführt. Die Multiplexer benden sich in Einschüben des modularen Schalt-/SteuerungsSystems HP 3488A, welches über die GPIB-Schnittstelle angesteuert wird. Es sind immer vier
BNC-Eingangsbuchsen auf eine BNC-Ausgangsbuchse verschaltet, um exiblere Aufbauten mit
den Multiplexern zu ermöglichen. Da hierbei jedoch pro Multiplexereinheit nur ein Signal von
Interesse ist, werden die beiden getrennten Common 0 und Common 1 Ausgänge jeweils über
BNC-Kabel mit einem T-Stück zusammengeführt. Es liegen nun die über die Multiplexer ausgewählten Sensoranschlüsse auf zwei BNC Anschlüssen vor. Um diese mit dem Digitalmultimeter
verbinden zu können, wurde eine spezielle BNC-Adapterbox angefertigt, welche eine Signalleitung auf den inneren Leiter eines BNC Anschlusses führt und die andere Signalleitung mit dem
Masseanschluss verbindet. Der BNC Ausgang der Adapterbox ist über ein BNC-Kabel mit einem
BNC zu 4mm-Federstecker-Adapter verbunden, welcher an den vorderen Messeingängen des Digitalmultimeters Fluke 45 angeschlossen ist. Diese Maÿnahmen sollen die Widerstandsmessungen
des Sensorelements vor Störeinkopplungen durch elektromagnetische Felder schützen.
28
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
Die Widerstandsmesswerte des Digitalmultimeters werden über dessen GPIB-Schnittstelle abgefragt. Der GPIB Bus wird wiederum über einen GPIB-USB-Adapter, der mit einem Laborrechner
verbunden ist, über die grasche Programmierumgebung LabVIEW angesteuert.
29
%
&
'()
1-#"#*2
-/##'"3
,'
&-#(-
-./0
*+(
*+(
30
Abbildung 3.16: EMF BNC Schaltplan
"
!
"#!
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
$
"
Kapitel 3. Entwicklung und Realisierung der Mechanik und Elektronik
3.2.4 Evaluierung möglicher Sensorschnittstellen
Als Grundlage für einen standardisierten Test verschiedener Arten taktiler Sensoren ist es notwendig, ein breites Spektrum an Datenbussen anzubieten. Die nachfolgende Auistung ist eine
Zusammenstellung der meist verwendeten Schnittstellen für den Datenaustausch.
• CAN-Bus
Parallelport
• Ethernet
• FlexRay
RS232
• USB
• Modbus
RS485
• Firewire
• AS-Interface
GPIB
• Bluetooth
• Probus
I2C / TWI
• Wireless LAN
• Interbus
LIN-Bus
• NFC
• EtherCAT
SPI
Weiterführende Informationen zu Bussystemen sind den Quellen [1] und [20] zu entnehmen.
Da die Implementierung aller Schnittstellen den Rahmen dieser Arbeit überschreiten würde,
werden nur die für das Institut notwendigen Anschlüsse verwendet.
•
•
•
•
•
•
•
31
4 Software
4.1 Steuerungssoftware Mehrachslinearsystem
Die Schrittmotortreiberkarte SMC-TR-1000 der EMIS GmbH erlaubt die Steuerung von drei
Schrittmotoren über den Schritt-Richtungs-Modus. Das heiÿt, für jeden der drei Schrittmotoren steht ein TTL Eingang für ein Schrittsignal und ein Richtungssignal zur Verfügung. Um
eine komfortable und einfache Steuerung des Mehrachslinearsystems zu ermöglichen, wird zur
Ansteuerung der Schrittmotortreiberkarte ein Mikrocontroller-Evaluierungsboard STK500 der
Atmel Corporation eingesetzt. Ziel ist es, über dieses Evaluierungsboard eine Schnittstelle zwischen Schrittmotorkarte und einem Personal Computer zu schaen, wobei der PC lediglich zur
Benutzereingabe von Positions-, Richtungs- und Geschwindigkeitssteuerbefehlen dienen soll.
Eine weitere Motivation bestand darin, den Echtzeitsteuerungsteil aus dem nur bedingt echtzeitfähigen Betriebssystem des PCs auszulagern.
Die Wahl der Schnittstelle zwischen Mikrocontroller-Evaluierungsboard und Personal Computer
el auf die serielle Schnittstelle, da diese über einen Pegelwandler am STK500 schon vorhanden
war und des Weiteren noch an vielen Arbeitsrechnern vorzunden ist oder einfach über USBzu-Seriell Adapter nachgerüstet werden kann.
Nachfolgend nden sich die wesentlichen Abschnitte des in C verwirklichten Steuerprogramms,
welches sich auf einem Atmega16 auf dem STK500 bendet, als Ablaufdiagramm dargestellt,
siehe Abb. 4.1. Der kommentierte Quellcode ist unter Quellcode C.1 aufgeführt.
32
Hauptprogramm
Stepper Control
Hauptschleife
Stepper Control
Initialisiere:
Eingänge / Ausgänge
Zählerregister
Kommunikationsschnittstelle
Interrupts
Steuerungsbefehl
erhalten
X/Y/Z
Motordrehrichtung
entsprechend
Steuerbefehl setzen
JA
Ausgabe der
Versionsnummer und
Paramterformatierung
NEIN
Initialisierung aller
benötigten Variablen
Auswerten des
Steuerungsbefehls
X/Y/Z
Motorschritt ausführen
Zuweisen der
Steuerungsbefehlparameter
auf zugehörige
Motorachsparameter
X/Y/Z
Schrittzählervariable
dekrementieren
Hauptschleife
Stepper Control
JA
X/Y/Z
Zeit seit letztem
Motorschritt größer als
berechnete Zeit für vorgegebene
Schrittgeschwindigkeit
und
Schritte zu fahren
Ende
NEIN
•
•
•
•
•
•
•
X/Y/Z
Aktuelle Zeit speichern
Kapitel 4. Software
Aufgrund dieser Kriterien wird für die Bedienung, Visualisierung und Messwerterfassung des
Prüfstandes die grasche Programmieroberäche LabVIEW verwendet. Für die Aufbereitung
und grasche Auswertung der Messdaten el die Entscheidung auf MATLAB . Die Kombination
der beiden Softwarelösungen deckt alle angeführten Anforderungen ab.
4.3 Prüfvorschriften
4.3.1 Prüfarten
Neben der statischen Prüfung einzelner Taxelelemente taktiler Sensoren (siehe Abb. 4.2) werden
weitere Materialprüfverfahren verwirklicht. Um eine Vorauswahl geeigneter Sensorbahnmaterialien ohne zeit- und kostenintensive Prototypenfertigung treen zu können, ist ein weiterer Zugund Druckversuch von Bedeutung. Im Zugversuch einzelner taktiler Sensorbahnen wird eine
Bahn ähnlich einem Schulterstab an beiden Enden eingespannt und es werden Messklemmen
zur Widerstandsmessung angebracht, um das Verhalten von Kraft, Weg/Dehnung und Widerstand zu untersuchen, siehe Abb. 4.2. Der Druckversuch zeigt das Verhalten der Kontaktäche
zwischen zwei Sensorbahnen in Bezug auf Kraft, Weg und Widerstand, siehe Abb. 4.2.
Abbildung 4.2: Prüfarten taktile Sensoren und Materialeigenschaften
4.3.2 Implementierung der Prüfvorschriften
Vorwort:
LabVIEW Programme bestehen im Grundsatz aus einer Benutzeroberäche und einem dazugehörigen Blockdiagramm. Des Weiteren wird es in sogenannte Hauptprogramme namens
VI ( = virtual instrument) und Unterprogramme namens SubVI unterteilt. Jedes Programm
kann mehrere Schleifen, Fallunterscheidungen und Sequenzen beinhalten. Für SubVIs müssen
eigens Symbolblöcke und Verbindungen angelegt werden, mit denen sie im Hauptprogramm
eingebunden werden können.
Im folgenden Abschnitt ist eine Kurzübersicht über die Hauptelemente aus LabVIEW zu nden:
34
!"#
,
-
!
"#
$!
#
%&'()'*+*
+(
Kapitel 4. Software
Abbildung 4.6: LabVIEW Blockschaltplan Übersicht Hauptschleife
36
Kapitel 4. Software
Die Hauptschleife des LabVIEW -Blockschaltplans setzt sich im wesentlichen aus folgenden 13
Komponenten (siehe Abb. 4.6) zusammen:
1. Ansteuerung des Schrittmotors während des Messvorgangs
2. Ansteuerung des Schrittmotors für Funktion Fahre zu Wert
3. Schrittmotor Sofort-Halt
4. Messwert der Waage auslesen
5. Messwert des Digitalmultimeters auslesen
6. Messwert des Digitalthermometers auslesen
7. Motorschrittbefehle in realen Weg umrechnen
8. Wegfehler Waage Osetkorrektur
9. Berechnung der Dehnung für Zugversuch
10. Grasche Anzeige der Messwerte und erstellen des Messprotokolls
11. Rücksetzten der seriellen Schnittstellen im Fehlerfall
12. Anpassung des Vorzeichens für Zug-/Druckversuch
13. Berechnung und Anzeige des Messvorgangfortschritts
(Detailansichten aller Blockschaltpläne des LabVIEW -Programms siehe Anhang E)
37
Kapitel 4. Software
4.4 Benutzeroberäche des Prüfstandes
Die mit LabVIEW erstellte Benutzeroberäche zur Bedienung des Prüfstandes ist in fünf
Hauptbereiche (siehe Abb. 4.7) unterteilt:
Abbildung 4.7: LabVIEW Startbildschirm Benutzeroberäche Prüfstand
1.
2.
3.
4.
5.
Einstellungen für Antrieb und Messgeräte und Kurzanleitung
Bedienelemente zur Steuerung des Prüfstandes
Grasche Anzeige und Auswertung der laufenden Messung
Ausgabe des Messprotokolls (Speicherort und Kommentar)
Zusätzliche Anmerkungen zu Bedienelementen
38
Kapitel 4. Software
(a) Antrieb/Vorschub
(b) Waage/Kraftmessung
(c) Thermometer/Temperaturerfassung
(d) Digitalmultimeter/Widerstandsmessung
Abbildung 4.8: LabVIEW Benutzeroberäche Einstellungen
Abb. 4.7 (1) Einstellungen für Antrieb und Messgeräte:
•
Abb. 4.8 (a): Reiter Antrieb
Hier sind alle Einstellungen für die Hublineareinheit (Z-Achse) vorzunehmen. Im I/O Feld
ist die serielle Schnittstelle der Schrittmotorsteuerkarte auszuwählen. Unter Messablauf
(Stepper Control Parameter) sind die logische Achse der Schrittmotortreiberstufe, die
Wegauösung der Messung in Schritten und die Geschwindigkeit in Schritten pro Sekun-
39
Kapitel 4. Software
de anzugeben. In den Feldern von Fahre zu Wert (Stepper Control Parameter) kann
ebenfalls wieder die Achse, der maximal zu fahrende Weg in Schritten und die Geschwindigkeit in Schritten pro Sekunde angegeben werden. (Die Funktion von Fahre zu Wert
ist unter 2. Bedienelemente beschrieben). Die Taste RS232 Reset verwirft den Puerspeicher der seriellen Schnittstelle. Dies kann erforderlich sein, wenn das Prüfprogramm
nicht mit der EXIT Taste beendet wurde.
• Abb. 4.8 (b): Reiter Waage
Hier sind alle Einstellungen für die serielle Kommunikation mit der Waage auszuwählen.
Da die verwendete Waage KERN EW EG420-3NM verschiedene Baudraten und sonstige
Einstellungen zulässt, können diese Parameter ebenfalls angepasst werden. Der RS232
Reset Taster ist im vorhergehenden Reiter Antrieb erklärt.
• Abb. 4.8 (c): Reiter Temp.
Hier ist die serielle Schnittstelle an dem das Thermometer (Dostmann P600) angeschlossen ist auszuwählen. Der RS232 Reset Taster ist im vorhergehenden Reiter Antrieb
erklärt. Der Enable Taster erlaubt die Temperaturerfassung zu deaktivieren, für den
Fall, dass kein Thermometer vorhanden sein sollte. Des Weiteren beinhaltet dieser Reiter
eine grasche Anzeige über die letzten 100 Temperaturmesspunkte, die während der laufenden Prüfung aufgenommen wurden. Im Feld Temperatur Messwert kann der letzte
Messpunkt direkt abgelesen werden.
• Abb. 4.8 (d): Reiter DMM
Das verwendete Digitalmultimeter (Fluke 45) wird über die GPIB Schnittstelle ausgelesen.
Dazu muss im Feld GPIB Adresse die eingestellte Adresse des Messgerätes eingetragen
werden. Der Enable Taster erlaubt die Messwertauslesung des Digitalmultimeters zu
deaktivieren.
Abbildung 4.9: LabVIEW Benutzeroberäche Bedienelemente Steuerung
40
Kapitel 4. Software
Abb. 4.7 (2) Bedienelemente zur Steuerung des Prüfstandes:
•
•
•
•
•
•
•
Abb. 4.9 (a): Hauptsteuerelemente
START: Verfährt die Hublineareinheit einen Schritt um die eingestellte Wegauösung in
Prüfrichtung. Dies sollte eine messbare Kraftänderung auf der Waage zur Folge haben,
welche wiederum ihren Status auf Messwert instabil ändert (siehe Abb. 4.9 (e) Indikator
Stable leuchtet nicht). Falls der Taster Enable aus Abb. 4.9 (d) gesetzt ist, erfolgt der
nächste Hubschritt in Prüfrichtung, sobald die Waage wieder stabil anzeigt (siehe Abb. 4.9
(e) Indikator Stable leuchtet). Die Messung läuft nun stetig weiter.
EXIT: Beendet das laufende LabVIEW Programm des Prüfstandes und gibt alle Steuerund Messschnittstellen frei.
NOTHALT: Sendet sofort einen Stopbefehl an die Stepper Control der Hublineareinheit.
Abb. 4.9 (b): Prüfart
Über die Schalterstellung wird zwischen Druckversuch und Zugversuch gewählt. Diese
Option legt das Vorzeichen der Kraftmessung fest und bestimmt die Fahrtrichtung der
Hublineareinheit in Prüfrichtung. Das heiÿt, bei einem Zugversuch fährt die Hublineareinheit nach oben und bei einem Druckversuch nach unten.
Abb. 4.9 (c): Osetkorrektur Waage
Sie bezieht sich auf den Wegfehler der Waage, der sich durch die aufgebrachte Kraft ergibt.
Über das Dropdown-Menü kann für die drei verfügbaren Prüfarten (Zugversuch Stab,
Druckversuch Taxel, Druckversuch Bahnen) die entsprechende Korrekturkurve ausgewählt
werden. Mit dem Taster Enable wird die Osetkorrektur aktiviert.
Abb. 4.9 (d): Enable Taster
Der Taster Enable aktiviert die Überwachung der Statusanzeige der Waage. Sobald
ein Flankenwechsel des Waagenstatus von instabil zu stabil erfolgt, werden alle aktuellen
Messwerte aufgezeichnet und anschlieÿend die Hublineareinheit in Prüfrichtung um die
angegebene Wegauösung verfahren.
Abb. 4.9 (e): LED Indikatoren
Stable: Zeigt den Status der Waage an (stabil ⇒ leuchtet, instabil ⇒ leuchtet nicht)
Flanke: Leuchtet bei einer negativen Flankenerkennung des Waagenstatus auf.
Stepper: Leuchtet nach Ausführung eines Motorschritts der Hublineareinheit während des
Messablaufs auf.
Abb. 4.9 (f): Fahre zu Wert Taster
Ermöglicht am Ende einer Messung das Rückkehren der Hublineareinheit zu einer vorgegebenen Kraft (siehe 4.9 (h)).
Abb. 4.9 (g): Manuelles Verfahren der Hublineareinheit
Im Texteingabefeld kann eine Verfahrgeschwindigkeit in Schritten pro Sekunde angegeben
werden, mit der die Hublineareinheit manuell über die beiden Taster nach oben oder
nach unten, entsprechend der Pfeilrichtungen, verfahren werden kann. Dies ist meist am
Anfang einer Messung erforderlich um z.B. bei einem Zugversuch die Einspannklemmen
auf Einspannlänge des Prüings zusammenzufahren.
41
Kapitel 4. Software
•
•
•
Abb. 4.9 (h): Fahre zu Wert: Eingabefeld
Hier ist die Eingabe des anzufahrenden Kraftwertes zu Abb. 4.9 (f) erforderlich.
Abb. 4.9 (i): Ausgelesene Zeichenfolge Waage, DMM; Abbruchbedingung; Einspannlänge
Anzeigefeld Waage: Zeigt den unbearbeiteten aktuellen Messwert der Digitalwaage die
Messwerteinheit (G = Gramm) und den Status der Messung (S = Messwert stabil, U =
Messwert instabil) an.
Eingabefeld MAX WERT: Es ist der Maximalwert für die Messwerte der Waage anzugeben,
bei welchem die Messung angehalten werden soll.
Anzeigefeld DMM: Zeigt den unbearbeiteten ausgelesenen Wert des Digitalmultimeters
an.
Eingabefeld L0: Hier kann im Falle eines Zugversuches die Zugstablänge angegeben werden. Der Wert dient lediglich einer prozentualen Anzeige der Dehnung im Benutzeroberächenbereich 3.
Abb. 4.9 (j): Weg Startpunkt setzen
Der Taster setzt den Wegzähler für die aktuelle Position der Hublineareinheit auf Null.
Dies kann am Anfang einer Messung erforderlich sein, falls z.B. eine vorhergehende Messung abgebrochen wurde.
Abbildung 4.10: LabVIEW Benutzeroberäche grasche Anzeige und Auswertung
Abb. 4.7 (3) Grasche Anzeige und Auswertung der laufenden Messung:
•
Abb. 4.10 (a): Grak: Elektrischer Widerstand zu aufgebrachter Kraft
Stellt die bisher aufgezeichneten Messpunkte in einem X-Y-Diagramm dar.
42
Kapitel 4. Software
•
•
•
Abb. 4.10 (b): Grak: Aufgebrachte Kraft zu verfahrenem Weg
Stellt die bisher aufgezeichneten Messpunkte in einem X-Y-Diagramm dar.
Abb. 4.10 (c): Grak: Elektrischer Widerstand zu verfahrenem Weg
Stellt die bisher aufgezeichneten Messpunkte in einem X-Y-Diagramm dar.
Abb. 4.10 (d): Messwerte und Fortschrittsanzeige
Die oberen drei Textfelder Kraft, Widerstand und Weg zeigen die aktuellen Messwerte
des letzten Messpunktes. Das Feld Dehnung ist nur im Falle eines Zugversuches relevant
und bezieht sich auf die aktuelle Längenänderung im Verhältnis zur angegebenen Einspannlänge L0, siehe Abb. 4.9 (i). In der unteren Zeile wird der aktuelle Messfortschritt
grasch und numerisch angezeigt. Er bezieht sich auf den aktuellen Messwert der Waage
im Verhältnis zu dem eingetragenen Wert im Feld MAX WERT, siehe Abb. 4.9 (i).
Abb. 4.7 (4) Ausgabe des Messprotokolls (Speicherort und Kommentar):
Im Eingabefeld Dateiname ist der Speicherort des von LabVIEW erzeugten Messprotokolls
zu wählen.
Im Eingabefeld Kommentar Messung können zusätzliche Angaben zu dem zu prüfenden Material gemacht werden. Diese werden im Messprotokoll mit abgelegt.
Abb. 4.7 (5) Zusätzliche Anmerkungen zu Bedienelementen:
Hier sind die Ausführungen der Fuÿnoten einzelner Bedienelemente zu nden.
43
Start
Importieren der von
Achsbeschriftungen
hinzufügen
LabVIEW erstellten
Messprotokolldatei
Einheitenkonvertier
ung der zweiten
Messwertspalte
[g] → [N]
Exportieren des
Graphen in den
Dateiformaten *.fig,
*.png und *.pdf
Daten der Spalte 2
und 3 in einen
Graphen plotten
Ende
(9, 81 sm2 ÷ 1000) = 0, 00981 sm2
5 Messergebnisse
5.1 Aufnahme von Messdaten
Für alle Widerstandsmessungen die mit dem Prüfstand dieser Arbeit und folglich mit dem
Digitalmultimeter Fluke 45 durchgeführt werden, sind die Genauigkeitsangaben der jeweiligen
Messbereiche nach Abb. 5.1 zu beachten.
Für niederohmige, taktile Sensoren ist der Zuleitungswiderstand der Messleitungen ebenfalls zu
beachten. Er kann mit der Relativ-Zusatzfunktion des Digitalmultimeters Fluke 45 abgeglichen
werden.
!"#$
()""&
"%!"!"&&!!$'$!
)/
0&!'
*+,"#$,))
.!"#$%
.%"&%!#$%"1'%"!2&3!4"%!&)%1!5%&&$'%"%%"
6"%!"#$5"%""&7%
6"&&!%$'$#$5"%""&7- !"#$3
&!$) 1'8 35
"&9:;9!#$"&"%!3"<!4"%!&2%&!%"'"4!&8%%"=',&!-0#$"&&&%&9>-9
Abbildung 5.1: Digitalmultimeter Fluke 45 Widerstandsmessung Genauigkeit [11]
Ist bei einer Messung nicht nur die Kraft-/Widerstandskennlinie sondern auch der Weg von
Bedeutung, kann dessen Genauigkeit über die in der LabVIEW -Benutzeroberäche implementierten Osetkompensation (Abb. 4.9 (c)) des Waagenweges für die verschiedenen Prüfarten
verbessert werden, siehe Kap. 5.2.
45
Kapitel 5. Messergebnisse
5.2 Auswertung der Messergebnisse
5.2.1 Osetkompensation Feinwaage: Ermittlung der Kennlinie
Die Verwendung einer Feinwaage als Kraftmesser hat den Nachteil, dass diese bei Belastung
nachgibt und somit ein Wegfehler der Messung die Folge ist. Zur Kompensation dieses Fehlers
muss die Kraft-/Wegkennlinie der Waage ermittelt werden. Die einfachste Variante um diese
Kennlinie zu erhalten ist anstatt eines elastischen Prüfkörpers einen nicht elastischen zu verwenden. Somit konnte am Beispiel des Zugversuches nach Abb. 6.2 (ZV) mithilfe eines festen
Stück Drahtes die Kraft-/Wegkennlinie der Waage nach Abb. 5.2 ermittelt werden. Anhand der
Kennlinie konnte mit MATLAB eine Trendlinie und deren Formel als Polynom zweiten Grades
erstellt werden.
Polynom zweiten Grades der Trendlinie der Wegosetkorrektur der Feinwaage für Zugversuche:
y[mm] = 2 · 10−6
mm
g2
· x2 + 0, 001
mm
g
· x + 0, 0011mm
(Variable x ist der Messwert der Waage in Gramm)
Die Wegoset-Korrekturformeln für die beiden Druckversuche nach Abb. 6.2 (DV1 und DV2)
wurden entsprechend dem Zugversuch ermittelt.
0.16
Kraft/Weg
Trendlinie
0.14
0.12
Weg [mm]
0.1
0.08
0.06
0.04
0.02
0
0
0.2
0.4
0.6
0.8
Kraft [N]
1
1.2
Abbildung 5.2: MATLAB Plot Zugversuch Osetkurve Feinwaage
46
1.4
Kapitel 5. Messergebnisse
5.2.2 Osetkompensation Feinwaage: Überprüfung auf Funktion
Die in Kap. 5.2.1 erarbeitete Formel der Osetwegkompensation der Feinwaage wird geprüft,
indem der beschriebene Zugversuch mit einem nicht elastischen Prüfkörper mit deaktivierter
und darauf mit aktivierter Osetwegkompensation durchgeführt wird.
Einen direkten Vergleich der Kompensationswirkung zeigt die Abb. 5.3.
Die detaillierte Ansicht der Zugversuchsauswertung mit aktivierter Kompensation ist in Abb. 5.4
zu sehen.
0.8
ne K m en ati n
mit K m en ati n
0.
Weg [mm]
0.6
0.
0.4
0.
0.2
0.1
0
0.1
0
0.2
0.4
0.6
0.8
Kraft [N]
1
1.2
1.4
Abbildung 5.3: MATLAB Plot Zugversuch Vergleich Wegkompensation Feinwaage
0.02
Weg [mm]
0.01
0.01
0.00
0
0.00
0.01
0
0.2
0.4
0.6
0.8
Kraft [N]
1
1.2
1.4
Abbildung 5.4: MATLAB Plot Zugversuch Wegkompensation Feinwaage Detailansicht
47
Kapitel 5. Messergebnisse
Abbildung 5.6: MATLAB Plot Druckversuch taktile Sensorbahn rund
Abbildung 5.7: MATLAB Plot Druckversuch taktile Sensorbahn dreieckig
49
•
•
•
!"#$
Kapitel 6. Ergebnis
Abbildung 6.2: Prüfhalterungen und ihre Anwendung
Für die drei Prüfverfahren werden verschiedene Halterungen für die unterschiedlichen Prüinge
benötigt. Die Einzelkomponenten dieser Halterungen sind in Abb. 6.2 zu sehen.
Druckversuch von einzelnen Messtaxeln (siehe Abb. 6.2 DV1)
Der Halter (7) wird in die Halterung der Linearschiene eingesetzt und über eine Madenschraube
xiert. Anschlieÿend kann das Miniaturschnellspannfutter (4) auf den Halter (7) geschraubt und
der Prüfstempel (5) im Spannfutter befestigt werden. Der Prüing wird unter dem Prüfstempel
ausgerichtet.
Druckversuch zweier Sensorbahnen (siehe Abb. 6.2 DV2)
Der Halter (7) wird in die Halterung der Linearschiene eingesetzt und über eine Madenschraube
xiert. Die zu prüfenden Sensorbahnen benden sich auf kontaktierten Trägerplatinen. Diese
werden auf die Klebestreifen der Halter (1) und (2) geklebt. Halter (2) wird an Halter (7)
angeschraubt und Halter (1) wird, mit den Leiterbahnen im rechten Winkel, darunter auf der
Feinwaage platziert.
Zugversuch von einzelnen Sensorbahnen (siehe Abb. 6.2 ZV)
Der Klemmhalter (6) wird in die Halterung der Linearschiene eingesetzt und über eine Madenschraube angezogen. Das Miniaturschnellspannfutter (4) wird auf den Halter (3) geschraubt und
mittig auf der Feinwaage platziert. Die zu prüfende Sensorbahn wird unten mit dem Schnellspannfutter (4) und oben über die Klemmhalterung (6) festgeklemmt. Zuletzt sind die Widerstandsmessklemmen wie in Abb. 6.2 (ZV) zu sehen anzubringen.
51
7 Diskussion
Die Anforderungen an den Prüfstand aus Kap. 1.3 wurden wie folgt eingehalten:
Sensorgröÿen
Die maximale Sensorgröÿe ist anhand der Kuka Leichtbauroboter-Struktur, die mit taktilen
Sensoren bestückt werden soll, vorgegeben. Sie hat die Abmessungen von 25cm · 15cm · 12cm
(siehe Abb. G.1).
Die Lineareinheiten der X und Y-Achse (KUT2005L-820-200-D3 [17, S. 461]) sind auf einen
Verfahrweg von maximal 610mm und die Lineareinheit der Z-Achse (LX3005P-S2-T3056.4600-OPS2 [17, S. 401]) auf 467mm ausgelegt. Der gröÿere Verfahrweg wurde als zusätzlicher
Bewegungsfreiraum für einen geplanten Zweiachsen-Rotationsprüfkopf, ähnlich der Rotationsachsen siehe Abb. 3.4, vorgesehen.
Taxelanzahl 64
Die Verwendung der zwei VHF-Multiplexern HP 44472A in den Einschüben des modularen
Schalt-/Steuerungs-Systems HP 3488A ermöglicht es, die 64 Sensormesspunkte über multiplexen der acht Sensorspalten und Sensorzeilen auf den Anschluss des Digitalmultimeters Fluke 45
zu führen, siehe Kap. 3.2.2 und Kap. 3.2.3. Die elektrische Kontaktierung des Sensorelementes
zur Auswertung aller 64 Messpunkte ist somit möglich.
Die selbstständige mechanische Positionierung des Sensorelements unter dem Prüfstempel mithilfe des geplanten Linearachsportals konnte aufgrund zu langer Lieferzeiten im Bearbeitungszeitraum dieser Arbeit nicht realisiert werden.
Wegauösungsvermögen der statischen Anregung im 1/100mm Bereich
Die Wegauösung in Prüfrichtung wird durch die Wegauösung der Z-Achse bestimmt. Diese
Achse wird mit einem Schrittmotor mit 1,8 ◦ mechanischer Winkelauösung angetrieben, wobei
die Schrittmotorkarte mikroschrittfähig ist und daher eine Winkelauösung von 0,11 ermöglicht.
Daraus resultiert eine Wegauösung von 0,002mm.
Mikroschrittbetrieb: 1/16 Schritt
Spindelsteigung LX3005P: 5mm
⇒
1
16
· 1, 8◦ = 0, 11◦
⇒ 0, 11◦ ÷ 360◦ · 5mm = 0, 002mm
(Z-Achse LX3005P-S2-T3056.4-600-OPS2 siehe [17, S. 401])
(Schrittmotor QMOT 6018-86-28-310 siehe [26])
Schutz gegenüber Störquellen (z.B. Elektromagnetische Störfelder)
Eine Schirmungslösung der Messumgebung gegen elektromagnetische Störfelder wurde in
Kap. 3.2.3 erarbeitet. Die technische Umsetzung konnte aufgrund von Lieferschwierigkeiten der
Blechbiegekonstruktion im zeitlichen Rahmen der Bachelorarbeit nicht abgeschlossen werden.
52
Kapitel 7. Diskussion
Aufzeichnung der Messbedingungen (z.B. Temperaturverlauf)
Wie in Abb. 3.12(b) zu sehen ist, wurde ein Messfühler des Präzisionsthermometers DOSTMANN P600 (siehe Tab. 3.1 in der Nähe des Prüings angebracht. Die Temperaturerfassung
(siehe Abb. 4.8(c)) ndet mit LabVIEW statt.
Orientierung der Sensorächen im Raum (Sensor auf Roboterstruktur)
Um in Zukunft die Prüfung von Sensorelementen auf ihrem Zielsystem, wie der Oberäche einer
Kuka LBR Struktur (siehe Abb. G.1), zu erlauben, wurden die Lineareinheiten und die Konstruktion dermaÿen ausgelegt, dass ausreichend Platz und Verfahrweg für die zusätzliche Montage
von zwei Rotationsachsen (siehe Abb. 3.4) vorhanden ist. Diese Erweiterung in Kombination
mit einer Kraftmessdose ermöglicht die Prüfung von Sensorelementen auf dreidimensionalen
Freiformächen, siehe Kap. 3.1.2.
53
8 Ausblick
Damit der Prüfstand auch als alleinstehendes System ohne Personal Computer eingesetzt werden
kann, wurden Kommunikationsschnittstellen zu einer aktuell am Institut entwickelten Auswerteelektronik für taktile Sensoren (siehe [23]) vorgesehen. Dadurch wäre die Realisierung einer
autonomen Sensorkalibrier- und Prüfeinheit denkbar, welche zuerst alle Kraftkurven des jeweiligen taktilen Sensorelements aufzeichnet und diese als Kalibrierwerte der Auswerteelektronik zur
Verfügung stellt.
Des Weiteren wird das geplante Linearachsportal nicht nur für statische Sensortests Verwendung nden, sondern mit einer Erweiterung der Z-Achse um einen geeigneten Aktor für hohe
Frequenzanregungen auch als dynamischer Teststand dienen.
Aufgrund von Lieferschwierigkeiten konnte, wie in den vorrausgehenden Kapiteln beschrieben,
nicht das komplette geplante System im Zeitraum der Bachelorarbeit realisiert werden. Die Fertigstellung des vollständigen Prüfstandes wird jedoch als Werkstudententätigkeit am Deutschen
Zentrum für Luft- und Raumfahrt fortgesetzt.
54
Literaturverzeichnis
[1]
Bussysteme für die Messtechnik . In: Böge, W. und W. Plaÿmann (Hrsg.): Vieweg
Handbuch Elektrotechnik , S. 797802. Vieweg+Teubner, 2007. 10.1007/978-3-8348-92171_65.
[2]
Allegro MicroSystems, Inc.
, 115 Northeast Cuto, Box 15036 / Worcester, Massa-
chusetts 01615-0036 (508) 853-5000:
lator ,
2007-2008.
A4983 DMOS Microstepping Driver with Trans-
http://www.allegromicro.com/Products/Motor-Driver-And-Interface-
ICs/Bipolar-Stepper-Motor-Drivers/ /media/Files/Datasheets/A4983-Datasheet.ashx.
[3]
Allegro MicroSystems, Inc.
ter,
vers ,
Massachusetts
05 2012.
01615-0036
,
115
Northeast
(508)
853-5000:
Cuto,
Box
15036
/
Worces-
Bipolar Stepper Motor Dri-
http://www.allegromicro.com/en/Products/Motor-Driver-And-Interface-
ICs/Bipolar-Stepper-Motor-Drivers.aspx.
[4]
[5]
Atmel Corporation
User Guide , 2003.
BRUCE, M. F.
, 2325 Orchard Parkway / San Jose, CA 95131 USA:
AVR STK500
http://www.atmel.com/Images/doc1925.pdf.
und
D. C. SINCLAIR The relationship between tactile thresholds
and histology in the human nger .
:
Journal of Neurology, Neurosurgery, and Psychiatry,
43:235242, 1980.
[6]
Dahiya, R. S.
und
M. Valle Tactile Sensing for Robotic Applications
:
. Sensors Peter-
borough NH, December, 2008.
[7]
[8]
[9]
Doege, E.
B.-A. Behrens Handbuch Umformtechnik: Grundlagen, Technologien,
:
Maschinen (VDI-Buch) (German Edition) .
Egekvist, H. P. Bjerring
,
und
Springer, 2007.
L. Arendt-Nielsen Pain and mechanical injury
of human skin following needle insertions .
Eisele Pneumatics GmbH + Co. KG
Germany:
[10]
und
:
European Journal of Pain, 3:4149, 1999.
, Hermann-Hess-Straÿe 14-16 71332 Waiblingen
Eisele Kunststoschläuche Katalogprogramm .
EMIS GmbH
, Zur Drehscheibe 4 92637 Weiden Germany:
SMC-TR-1000-Handbuch-v1 .
http://www.emisgmbh.de/antriebs/smc/smc-tr/SMC-TR-1000-Handbuch-v1.pdf.
[11]
Fluke Deutschland GmbH
[12]
HUG Industrietechnik und Arbeitssicherheit GmbH
, In den Engematten 14, 79286 Glottertal:
Multimeter mit Doppelanzeige Gebrauchsanleitung , 2 Au., 04 1989.
gleis
7,
D-84030
Ergolding:
,
Am
FLUKE 45
Internationale Vergleichstabelle für Baustähle ,
Industrie06
2012.
http://www.tabelle.info/baustahl.html.
[13]
John M. Vranish, Crofton; Pradeep K. Yadav, B. b. o. M. MAGNETO:
INDUCTIVE SENSOR FOR PERFORMING TACTILE AND PROXIMITY SENSING .
Techn. Ber., United States Patent, 08 1990. Patent Number: 4,950,987.
[14]
Lundström, R. Local vibrations - mechanical impedance of the human hand's glabrous
skin.
:
Pergamon Press Ltd., 17:137144, 1987.
55
Literaturverzeichnis
[15]
[16]
[17]
Mayr, M.
: Technische Mechanik: Anhang Tabellen Diagramme Formeln . In: Technische
Mechanik: Statik-Kinematik-Kinetik-Schwingungen-Festigkeitslehre . Hanser Verlag, 2008.
Mädler GmbH, Tränkestr. 6-8, 70597 Stuttgart: Mädler-Katalog 39 , 3 Au., 01 2012.
MISUMI Europa GmbH
, Katharina-Paulus-Str. 6 65824 Schwalbach am Taunus Ger-
MiSUMi Band 1/2 Mechanische Komponenten für Sondermaschinenbau & Montageautomation , 2011-2012.
many:
[18]
MISUMI Europa GmbH
, Katharina-Paulus-Str. 6 65824 Schwalbach am Taunus Ger-
MiSUMi Band 2/2 Mechanische Komponenten für Sondermaschinenbau & Montageautomation , 2011-2012.
Pfeifer, C.: Entwurf und Konstruktion eines Kleinstmengenmischgeräts für Silikonelastomere . Diplomarbeit, Hochschule für angewandte Wissenschaften Augsburg, Deutsches
many:
[19]
Zentrum für Luft- und Raumfahrt, 2010.
[20]
Reif, K.
:
Bussysteme .
In:
Reif, K.
(Hrsg.):
Batterien, Bordnetze und Vernetzung , S.
134207. Vieweg+Teubner, 2010. 10.1007/978-3-8348-9713-8_7.
[21]
Sack, L.
Elektrische Antriebstechnik . In: Gevatter, H.-J. und U. Grünhaupt
(Hrsg.): Handbuch der Mess- und Automatisierungstechnik in der Produktion , VDI-Buch,
:
S. 657692. Springer Berlin Heidelberg, 2006. 10.1007/3-540-34823-9_22.
[22]
SANYO DENKI GERMANY GmbH
ny:
, Frankfurter Str.92, D-65760 Eschborn, Germa-
SANMOTION 2-PHASE STEPPING SYSTEMS F2 , 3 Au., 06 2012.
CATALOG No.
S0832B010 '12.1.IT.
[23]
Schneider, D.
Unveröentlichtes Dokument, Erweiterung einer Auswerteelektronik für
taktile Sensoren zum multimodalen Sensorsystem . Bachelorarbeit, Hochschule für ange:
wandte Wissenschaften Augsburg, Deutsches Zentrum für Luft- und Raumfahrt, 2012.
[24]
[25]
Schnös, F.
Strohmayr, M.
Bachelor thesis, Technische Universität München, Munich, 2011.
:
Articial Skin in Robotics .
Doktorarbeit, Karlsruhe Institute of Tech-
nology (KIT), 2012. submitted May 03, 2012.
[26]
TRINAMIC Motion Control GmbH & Co. KG
Germany:
[27]
[28]
, Waterloohain 5, 22769 Hamburg,
QMOT QSH6018 MANUAL , 1.07 Au., 02 2012.
Wettels, N. V. J. Santos R. S. Johansson
Sensor Array .
,
,
und
G. E. Loeb Biomimetic Tactile
:
Advanced Robotics, 22(8):829849, 2008.
Wolfsperger, H.
:
Elektromagnetische Schirmung: Theorie und Praxisbeispiele .
Sprin-
ger Verlag, 2008.
[29]
[30]
www.mikrocontroller.net
AVR-GCC-Tutorial , 01 2012.
Zwick GmbH & Co. KG
, Andreas Schwarz, Drausnickstr. 1a, 91052 Erlangen:
, August-Nagel-Str. 11, D-89079 Ulm:
Tisch-Prüfmaschinen Allround-Line , 05 2012.
56
Zwick Materialprüfung
Anhang
A Mechanik Formelsammlung
Abbildung A.1: Biegefälle Tabelle Teil 1 [15, A14.1]
57
Anhang
Abbildung A.2: Biegefälle Tabelle Teil 2 [15, A14.1]
58
Anhang
Abbildung A.3: Flächenmomente 2. Grades [15, A7.1]
59
Anhang
Abbildung A.4: Elastizitätsmodul E [15, A14.1]
60
Anhang
B EMF Schirmungsblech technische Zeichnungen
Abbildung B.1: EMF Schirmungsbelch Hauptrahmen
61
Anhang
Abbildung B.2: EMF Schirmungsblech Rückseite
62
Anhang
Abbildung B.3: EMF Schirmungsblech Deckel
63
Anhang
C Quellcode Steuerungssoftware Stepper Control
Nachfolgend nden sich die wesentlichen Abschnitte des in C verwirklichten Steuerungsprogramm mit ausführlicher Kommentierung. (Vollständiger Quellcode siehe Quellcode C.2)
Quellcode C.1: Ausführliche Dokumentation Steuerungssoftware Stepper Control
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// ...//
<-- Markiert ausgelassene Programmabschnitte , die nicht zum
// Verständnis des Hauptprogramms vonnöten sind .
// ( Vollständiger Sourcecode siehe Anhang )
# define CYCLES_PER_S 31250
// ...//
// # define perf_log
# ifdef perf_log
uint8_t perf_loop =0;
uint32_t perf_count =0;
# endif
// 16000000/256/2
// ( clk ) /( prescaler ) /(2 Pegelwechsel = 1 Step )
// Performanceausgabe : Gibt einen der Zykluszeit direkt
//
proportionalen Wert aus . Sie dient somit der
//
Performanceüberprüfung während der Entwicklung
// Die Variablen tcnt1_x /y /z speichern den Zeitpunkt , zudem die jeweilige Achse
// den letzten Schritt ausführte , um damit die Zeitdifferenz bis zum nächsten
// Schritt bestimmen zu können . ( siehe Codezeile 119)
// Die Variablen offset_x / y/z werden für eine Zähleroffsetkorrektur nach einem
// Zählerüberlauf benötigt . ( siehe Codezeile 168 ff .)
volatile uint16_t tcnt1_x , tcnt1_y , tcnt1_z , offset_x = 0, offset_y = 0, offset_z = 0;
/* INITIALIZE */
void port_init () { // ...//}
void timer_init () { // ...//}
void uart_init () { // ...//}
// Voreinstellung der I/O - Register
// Voreinstellung der Zählerregister
// Voreinstellung der Uartschnittstelle
void uart_putc ( unsigned char uart_char ){ // ...//}
void uart_puts ( char * uart_string ) { // ...//}
int main ()
{
port_init () ;
timer_init () ;
uart_init () ;
// --- BEGINN DES HAUPTPROGRAMMS ---
sei () ;
// Interrupts aktivieren
OCR1A = 65535;
// Wert ab dem der Zähler zurückgesetzt wird
_delay_ms (10) ;
// Ausgabe über Uart : Versionsnummer & Datum
uart_puts (" UART Stepper Control V1 .1 (05.02.2012) \n");
_delay_ms (10) ;
// Ausgabe über Uart : Bedienhinweise
uart_puts (" Input : stepper (x ,y ,z) | steps (3200 steps / round )");
uart_puts (" | dir (0= ccw 1= cw ) | speed ( steps /s)\n");
struct stepper_motor { // Struct eines einzelnen Schrittmotors
uint32_t steps ;
uint8_t dir ;
uint16_t speed ;
};
64
Anhang
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
struct axis {
// Struct für ein Drei - Achs - System
struct stepper_motor x_axis ;
struct stepper_motor y_axis ;
struct stepper_motor z_axis ;
} coordinate_table = {{0 ,1 ,1} ,{0 ,1 ,1} ,{0 ,1 ,1}}; // Default Werte
while (1)
// --- HAUPTSCHLEIFE DES MIKROCONTROLLERS --{
if ( uart_str_complete )
// Aufruf wenn neue Benutzereingabe vorhanden
{
struct stepper_motor * stepper_motor_pt = 0; // Zeiger vom Typ Schrittmotor
// wird nachfolgend einer
// Schrittmotorachse zugeordnet
//
switch ( uart_string [0])
//
{
//
case 'x ': stepper_motor_pt
case 'y ': stepper_motor_pt
case 'z ': stepper_motor_pt
}
Zuordnung Schrittmotor - Achse
uart_string [0] entspricht dem
ersten Zeichen der Benutzereingabe
= & coordinate_table . x_axis ; break ;
= & coordinate_table . y_axis ; break ;
= & coordinate_table . z_axis ; break ;
// Ordnet die restlichen Benutzereingaben , zu fahrende Schritte , Richtung
// und Geschwindigkeit , den entsprechenden Variablen der Motorachsen zu .
sscanf (( char *) uart_string , " %* s % lu % hhu %u", & stepper_motor_pt -> steps ,
& stepper_motor_pt -> dir , & stepper_motor_pt -> speed );
stepper_motor_pt -> steps *= 2;
//
//
//
//
2 Pegelwechsel = 1 Step
Schrittanzahl wird verdoppelt , da ein
Schritt aus einem high Pegel und einem
low Pegel besteht
stepper_motor_pt -> speed = CYCLES_PER_S / stepper_motor_pt -> speed ;
// CYCLES_PER_S steht für die Anzahl der Inkrementierungen des
// Zählers Timer1 pro Sekunde .
// In stepper_motor_pt -> speed befindet sich die Benutzereingabe
// der Geschwindigkeit in Schritte pro Sekunde .
//
//
//
//
}
Benötigt wird jedoch die Wartezeit zwischen zwei Motorschritten
als Anzahl der Inkrementierungen des Zählers Timer1 .
Folglich müssen die Anzahl der Timer1 Inkrementierungen pro Sekunde
durch die gewünschten Schritte pro Sekunde dividiert werden .
// ...//
// --- ANSTEUERUNG DER X - ACHSE --// Wird ausgeführt , wenn delta Zählerstand
// ( TCNT1 ( aktueller Zählerstand ) - tcnt1_x ( alter Zählerstand ))
// gröÿer als die Wartezeit zwischen zwei Motorschritten ist .
if (((( TCNT1 - tcnt1_x ) + offset_x ) > coordinate_table . x_axis . speed )
&& coordinate_table . x_axis . steps )
{
if ( coordinate_table . x_axis . dir ) // Schaltet den Richtungspin entsprechend
{
// der Benutzereingabe
PORTA &=~(1 < < PA0 );
// Direction cw
}
else
{
PORTA |= (1 < < PA0 );
// Direction ccw
}
PORTA ^= (1 < < PA1 );
// Step PIN togglen
coordinate_table . x_axis . steps - -; // Schrittezähler um eins verringern
tcnt1_x = TCNT1 ; // aktuelle Zeit sichern um naechstes dt bilden zu können
offset_x = 0;
// Offset , falls vorhanden von Timerüberlauf ,
65
Anhang
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
}
// nun wieder zurücksetzen , da tcnt1_x nicht mehr
// " ueber das Register übersteht "
// --- ANSTEUERUNG DER Y - ACHSE --- ( vergleiche X - ACHSE )
if (((( TCNT1 - tcnt1_y ) + offset_y ) > coordinate_table . y_axis . speed )
&& coordinate_table . y_axis . steps )
{
if ( coordinate_table . y_axis . dir ){ PORTA &=~(1 < < PA2 ) ;}
else { PORTA |= (1 < < PA2 ) ;}
PORTA ^= (1 < < PA3 );
coordinate_table . y_axis . steps - -;
tcnt1_y = TCNT1 ;
offset_y = 0;
}
// --- ANSTEUERUNG DER Z - ACHSE --- ( vergleiche X - ACHSE )
if (((( TCNT1 - tcnt1_z ) + offset_z ) > coordinate_table . z_axis . speed )
&& coordinate_table . z_axis . steps )
{
if ( coordinate_table . z_axis . dir ){ PORTA &=~(1 < < PA4 ) ;}
else { PORTA |= (1 < < PA4 ) ;}
PORTA ^= (1 < < PA5 );
coordinate_table . z_axis . steps - -;
tcnt1_z = TCNT1 ;
offset_z = 0;
}
}
}
# ifdef perf_log
// siehe oben Performanceausgabe
if ( perf_loop == 1)
{
char string_temp [20];
ultoa ( perf_count , string_temp , 10) ;
uart_puts ( string_temp ) ;
uart_puts ("\n");
perf_loop = 2;
perf_count = 0;
}
else if (! perf_loop ){ perf_count ++;}
# endif
ISR ( TIMER1_COMPA_vect ) // Interrupt - Service - Routine Zähler Timer1 überlauf
{
if ( tcnt1_x ){ offset_x = OCR1A - tcnt1_x ;} // Falls ein Zählerstand gespeichert
if ( tcnt1_y ){ offset_y = OCR1A - tcnt1_y ;} // wurde , muss ein Offsetwert berechnet
if ( tcnt1_z ){ offset_z = OCR1A - tcnt1_z ;} // werden .
// OCR1A entspricht dem maximalen
// Zählerstand des Timer1 Registers
tcnt1_x = 0;
// Zählerstandvariablen rücksetzen
tcnt1_y = 0;
tcnt1_z = 0;
}
# ifdef perf_log
// siehe oben Performanceausgabe
perf_loop = ! perf_loop ;
# endif
ISR ( USART_RXC_vect ){ // ...//}
// Interrupt - Service - Routine Uart Empfangspuffer
66
Anhang
Quellcode C.2: Steuerungssoftware Stepper Control vollständig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# include
# include
# include
# include
# include
# include
< avr / io .h >
< stdio .h >
< stdlib .h >
< string .h >
< util / delay .h >
< avr / interrupt .h >
# define BAUD 9600 UL
# include < util / setbaud .h >
# define UBRR_VAL (( F_CPU + BAUD *8) /( BAUD *16) -1)
# define BAUD_REAL ( F_CPU /(16*( UBRR_VAL +1) ))
# define BAUD_ERROR (( BAUD_REAL *1000) / BAUD )
// clever runden
// Reale Baudrate
// Fehler in Promille , 1000 = kein Fehler .
# if (( BAUD_ERROR <990) || ( BAUD_ERROR >1010) )
# error Systematischer Fehler der Baudrate grösser 1% und damit zu hoch !
# endif
# define UART_MAXSTRLEN 30
# define CYCLES_PER_S 31250
// 16000000/256/2
// ( clk ) /( prescaler ) /(2 Pegelwechsel = 1 Step )
volatile uint8_t uart_str_complete = 0; // 1 .. String komplett empfangen
volatile uint8_t uart_str_count = 0;
volatile char uart_string [ UART_MAXSTRLEN + 1] = "";
// # define perf_log
# ifdef perf_log
uint8_t perf_loop =0;
uint32_t perf_count =0;
# endif
// Performanceausgabe
volatile uint16_t tcnt1_x , tcnt1_y , tcnt1_z , offset_x = 0, offset_y = 0, offset_z = 0;
/* INITIALIZE */
void port_init ()
{
DDRA |= 0 xff ;
PORTA |= 0 x00 ;
DDRB |= 0 xff ;
PORTB |= 0 xff ;
DDRD |= (1 < < PD1 );
DDRD &=~(1 < < PD0 );
}
void timer_init ()
{
/* TIMER */
TCCR1B |= (1 < < WGM12 );
TCCR1B |= (1 < < CS12 );
TIMSK |= (1 < < OCIE1A ) ;
}
// CTC Mode4 ( TOP = OCR1A )
// clk /256
// Interrupt Output Compare A Match
void uart_init ()
{
UBRRH = UBRR_VAL >> 8;
UBRRL = UBRR_VAL & 0 xFF ;
UCSRB |= (1 < < TXEN ) |(1 < < RXEN ) |(1 < < RXCIE );
67
// UART TX & RX einschalten
Anhang
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
}
UCSRC = (1 < < URSEL ) |(1 < < UCSZ1 ) |(1 < < UCSZ0 );
void uart_putc ( unsigned char uart_char )
{
while (!( UCSRA & (1 < < UDRE )))
{
}
UDR = uart_char ;
}
// Asynchron 8 N1
// warten bis Senden moeglich
void uart_puts ( char * uart_string )
{
while (* uart_string )
// so lange * uart_string != '\0 ' ( ungleich String - Ende )
{
uart_putc (* uart_string );
uart_string ++;
}
}
int main ()
{
port_init () ;
timer_init () ;
uart_init () ;
sei () ;
OCR1A = 65535;
_delay_ms (10) ;
uart_puts (" UART Stepper Control V1 .1 (05.02.2012) \n");
_delay_ms (10) ;
uart_puts (" Input : stepper (x ,y ,z) | steps (3200 steps / round ) | dir (0= ccw 1= cw ) |
speed ( steps /s)\ n");
struct stepper_motor {
uint32_t steps ;
uint8_t dir ;
uint16_t speed ;
};
struct axis {
struct stepper_motor x_axis ;
struct stepper_motor y_axis ;
struct stepper_motor z_axis ;
} coordinate_table = {{0 ,1 ,1} ,{0 ,1 ,1} ,{0 ,1 ,1}};
while (1)
{
if ( uart_str_complete )
{
struct stepper_motor * stepper_motor_pt = 0;
switch ( uart_string [0]) // Zuordnung
{
case 'x ': stepper_motor_pt =
break ;
case 'y ': stepper_motor_pt =
break ;
case 'z ': stepper_motor_pt =
break ;
68
Stepper - Achse
& coordinate_table . x_axis ;
& coordinate_table . y_axis ;
& coordinate_table . z_axis ;
Anhang
}
sscanf (( char *) uart_string , " %* s % lu % hhu %u", & stepper_motor_pt ->
steps , & stepper_motor_pt -> dir , & stepper_motor_pt - > speed );
stepper_motor_pt -> steps *= 2;
// 2 Pegelwechsel = 1 Step
stepper_motor_pt -> speed = CYCLES_PER_S / stepper_motor_pt -> speed ;
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
uart_str_complete = 0;
}
char string_temp [20];
// DEBUG Delta t Step Toggle
utoa ( stepper_motor_pt -> speed , string_temp , 10) ;
uart_puts ( string_temp ) ;
uart_puts ("\n");
if (((( TCNT1 - tcnt1_x ) + offset_x ) > coordinate_table . x_axis . speed ) &&
coordinate_table . x_axis . steps )
// CYCLES_PER_S = 7812 = 1 Step / s;
stepper [0][0] <- noch Schritte ueber ?
{
if ( coordinate_table . x_axis . dir ){ PORTA &=~(1 < < PA0 ) ;} // Direction cw
else { PORTA |= (1 < < PA0 ) ;}
// Direction ccw
PORTA ^= (1 < < PA1 );
// Step PIN togglen
coordinate_table . x_axis . steps - -; // Uebrige Steps um eins
verringern
tcnt1_x = TCNT1 ;
// aktuelle Zeit sichern um naechstes
Delta t bilden zu koennen
offset_x = 0;
// Offset , falls vorhanden von
Timerueberlauf ,
}
// nun wieder zuruecksetzen , da tcnt1_x
nicht mehr " ueber das Register geht "
if (((( TCNT1 - tcnt1_y ) + offset_y ) > coordinate_table . y_axis . speed ) &&
coordinate_table . y_axis . steps )
{
if ( coordinate_table . y_axis . dir ){ PORTA &=~(1 < < PA2 ) ;}
else { PORTA |= (1 < < PA2 ) ;}
PORTA ^= (1 < < PA3 );
coordinate_table . y_axis . steps - -;
tcnt1_y = TCNT1 ;
offset_y = 0;
}
if (((( TCNT1 - tcnt1_z ) + offset_z ) > coordinate_table . z_axis . speed ) &&
coordinate_table . z_axis . steps )
{
if ( coordinate_table . z_axis . dir ){ PORTA &=~(1 < < PA4 ) ;}
else { PORTA |= (1 < < PA4 ) ;}
PORTA ^= (1 < < PA5 );
coordinate_table . z_axis . steps - -;
tcnt1_z = TCNT1 ;
offset_z = 0;
}
# ifdef perf_log
if ( perf_loop == 1)
{
char string_temp [20];
ultoa ( perf_count , string_temp , 10) ;
uart_puts ( string_temp ) ;
uart_puts ("\ n ");
perf_loop = 2;
perf_count = 0;
}
else if (! perf_loop )
{
perf_count ++;
69
Anhang
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
}
# endif
}
ISR ( TIMER1_COMPA_vect )
{
if ( tcnt1_x ){ offset_x = OCR1A - tcnt1_x ;}
if ( tcnt1_y ){ offset_y = OCR1A - tcnt1_y ;}
if ( tcnt1_z ){ offset_z = OCR1A - tcnt1_z ;}
tcnt1_x = 0;
tcnt1_y = 0;
tcnt1_z = 0;
}
# ifdef perf_log
perf_loop = ! perf_loop ;
# endif
ISR ( USART_RXC_vect )
{
unsigned char nextChar ;
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
}
}
// Daten aus dem Puffer lesen
nextChar = UDR ;
if ( uart_str_complete == 0)
// wenn uart_string gerade in Verwendung , neues
Zeichen verwerfen
{
// Daten werden erst in uart_string geschrieben , wenn nicht String - Ende /
max Zeichenlänge
// erreicht ist / string gerade verarbeitet wird
if ( nextChar != '\ n ' && nextChar != '\ r ' && uart_str_count < UART_MAXSTRLEN
- 1)
{
uart_string [ uart_str_count ] = nextChar ;
uart_str_count ++;
}
else
{
uart_string [ uart_str_count ] = '\0 ';
uart_str_count = 0;
uart_str_complete = 1;
}
}
(USART Routine siehe [29])
70
Anhang
D Quellcode Matlabskript zur Messwertaufbereitung
Quellcode D.1: Matlabskript Auswertung Zugversuch
1
2
3
4
5
6
% Einlesen der Messprotokolldatei " data . lvm ".
% Daten in einer Zeile sind durch Tabulator getrennt ("\ t ") .
% Die ersten 23 Zeilen sind Kopf des Messprotokolls .
%
-> Anfang der Messdaten in Zeile "24" Zeilenanfang "0".
% Erzeugen der Matrix x.
x = dlmread ( ' data . lvm ','\t ' ,24 ,0)
7
8
9
10
11
% Umrechnung in Einheit Newton
% Multiplikation der zweiten Messspalte ( Datenreihe Waage [g ])
% mit [9 ,81 m/ s ^2 / 1000]
x (: ,2) = x (: ,2) *0.00981
12
13
14
% Daten der Spalte "2" und "3" plotten .
plot ( x (10: end ,2) ,x (10: end ,3) , ' LineWidth ' ,2)
15
16
17
18
% Achsbeschriftungen
xlabel ( ' Force [N] ',' FontSize ' ,16)
ylabel ( ' Resistance [\ Omega ] ' ,' FontSize ' ,16)
19
20
21
22
%( Optional ) Legende hinzufügen
legend ( ' force / resistance ' ,' NorthEast ')
set ( legend , ' FontSize ' ,16)
23
24
25
26
27
28
% Ablegen der Grafik in den drei
% Dateiformaten *. fig , *. png und *. pdf .
saveas ( gcf , ' Plot . fig ')
saveas ( gcf , ' Plot . png ')
saveas ( gcf , ' Plot . pdf ')
Die Matlabskripte zur Auswertung von Druckversuchen sind analog dem Zugversuch aufgebaut.
71
Anhang
E LabVIEW Blockschaltplan Funktionsgruppen
Abbildung E.1: LabVIEW Blockschaltplan Ansteuerung Schrittmotor Messung
Abbildung E.2: LabVIEW Blockschaltplan Ansteuerung Schrittmotor fahre zu Wert
Abbildung E.3: LabVIEW Blockschaltplan Ansteuerung Schrittmotor fahre zu Wert
72
Anhang
Abbildung E.4: LabVIEW Blockschaltplan Waage Wert auslesen
Abbildung E.5: LabVIEW Blockschaltplan Digitalmultimeter Wert auslesen
Abbildung E.6: LabVIEW Blockschaltplan Thermometer Wert auslesen
73
Anhang
Abbildung E.7: LabVIEW Blockschaltplan Motorschritte in Weg umrechnen
Abbildung E.8: LabVIEW Blockschaltplan Osetkorrektur / Dehnung 74
Anhang
Abbildung E.9: LabVIEW Blockschaltplan Messwertanzeige Graphen, Messwertprotokoll erstellen
75
Anhang
Abbildung E.10: LabVIEW Blockschaltplan Rücksetzen der seriellen Schnittstellen
Abbildung E.11: LabVIEW Blockschaltplan Vorzeichen für Zug-/Druckversuch
Abbildung E.12: LabVIEW Blockschaltplan Berechnung/Anzeige des Messfortschritts
76
Anhang
Abbildung E.13: LabVIEW Blockschaltplan Schrittmotor manuelle Steuerung
Abbildung E.14: LabVIEW Blockschaltplan Schleifen beenden
77
Eidesstattliche Erklärung
Hiermit erkläre ich, dass ich die vorliegende Bachelorarbeit
Konzeption und Aufbau eines Prüfstandes für taktile Sensoren
selbständig erstellt und keine anderen als die angegebenen Hilfsmittel und Quellen verwendet
habe. Die aus fremden Quellen (einschlieÿlich elektronischer Quellen) direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht worden. Die Arbeit ist in gleicher oder
ähnlicher Form oder auszugsweise im Rahmen einer anderen Prüfung noch nicht vorgelegt worden.
Oberpfaenhofen, den 13.06.2012
Christian Leupolz
Sperrvermerk
Die vorliegende Bachelorarbeit beinhaltet vertrauliche Informationen. Die Weitergabe des Inhaltes der Arbeit und eventuell beiliegender Zeichnungen und Daten im Gesamten oder in Teilen
ist grundsätzlich untersagt. Es dürfen keinerlei Kopien oder Abschriften - auch nicht in digitaler
Form - gefertigt werden.
82

Documentos relacionados