52
Kanton St.Gallen Kantonsschule am Burggraben St.Gallen Untergymnasium, Gymnasium Maturaarbeit Bau eines Tauchroboters Eingereicht am: 02.02.2015 Vorgelegt durch Christian Engler 4dNP Vorgelegt bei: Dr. dipl. phys. Thomas Spirig

Maturaarbeit Bau eines Tauchroboters · 2020. 3. 28. · Maturaarbeit 2015 / Christian Engler 4dNP 2 2.1 Voraussetzungen Die Vorgaben für den Bau des Tauchroboters sind wie folgt

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

  • Kanton St.Gallen Kantonsschule am Burggraben St.Gallen Untergymnasium, Gymnasium

    Maturaarbeit

    Bau eines Tauchroboters

    Eingereicht am: 02.02.2015

    Vorgelegt durch Christian Engler 4dNP

    Vorgelegt bei: Dr. dipl. phys. Thomas Spirig

  • Maturaarbeit 2015 / Christian Engler 4dNP

    Inhaltsverzeichnis

    1 Einleitung 1

    1.1 Beweggründe 1

    2 Konzept 1

    2.1 Voraussetzungen 2

    2.2 Vorgehen 2

    3 Mechanische Komponenten 3

    3.1 Antrieb 6

    3.2 Kameragehäuse 8

    3.3 Schnittstellen mit den Komponenten 9

    3.4 Hauptdruckkörper 11

    3.5 Auftriebskörper und Ballast 13

    3.6 Rahmen 15

    4 Elektronik 16

    4.1 Steuerung und Kommunikation 17

    4.2 Kamerasystem 19

    4.3 Tether 20

    4.4 Stromversorgung 21

    5 Kontrollstation und TMS 23

    6 Programmierung 24

    6.1 Python Script 25

    6.2 Arduino Code 25

    6.3 Wertetabelle für die Steuersignale 26

    7 Tests 27

    7.1 Dichteprüfung 27

    7.2 Erster Wassertest 28

    7.3 Zweiter Wassertest 29

    7.4 Dritter Wassertest 30

    8 Erfolge und Rückschläge 33

    9 Diskussion 33

    10 Danksagung 35

    11 Schlusswort 35

  • Maturaarbeit 2015 / Christian Engler 4dNP

    12 Bestätigung der Eigentätigkeit 36

    13 Literaturverzeichnis 37

    14 Abbildungsverzeichnis 37

    Anhang 1: Arduino Quellcode 39

    Anhang 2: Python Script 46

    Anhang 3: Zusammenfassung 49

  • Maturaarbeit 2015 / Christian Engler 4dNP 1

    1 Einleitung

    1.1 Beweggründe

    Wo finden wir die letzten “weissen Flecken auf der Landkarte”, Orte an denen noch

    niemand vorher war? Diese Frage hat mich schon als kleines Kind beschäftigt. Als es

    vor einem Jahr darum ging, ein Thema für die Maturaarbeit auszuwählen, kam mir

    dieser Gedanke wieder in den Sinn.

    Einerseits interessiere ich mich für technische Dinge, liebe es aber auch, die Natur zu

    entdecken und zu erforschen. Um diese Interessen in einem Projekt zusammen zu

    bringen, entschied ich mich für den Bau eines ferngesteuerten Tauchroboters, eines

    sogenannten ROV (Remotely Operated Vehicle). Unter Wasser gibt es diese letzten

    unentdeckten Orte noch, und die sind ziemlich gross. So ist zum Beispiel die

    Mondoberfläche besser erforscht als unsere Ozeane. Und auch in den Seen vor

    unserer Haustüre gibt es noch vieles zu entdecken. So werden im Bodensee gemäss

    Kennern zum Beispiel noch unzählige Schiffswracks vermutet.

    Somit stand der Entschluss fest, ein Tauchfahrzeug zu bauen, das in möglichst grosse

    Tiefen vorstossen kann, um dort Bildmaterial und Daten (Druck, Temperatur, etc.) zu

    sammeln.

    2 Konzept

    Ziel dieser Arbeit war der Bau eines Tauchroboters, der vorerst mindestens bis in 50 m

    Tiefe und später allenfalls tiefer vordringen kann. Ein Freizeittaucher kann mit einer

    entsprechenden Ausbildung in Tiefen von bis zu 40 m tauchen. Berufstaucher schaffen

    bis zu 100 m, allerdings nur mit grossem Aufwand an Material und Zeit. Es wird

    redundante Ausrüstung, u.a. mehrere Druckluftflaschen, mitgeführt und es müssen

    Dekompressionsstopps durchgeführt werden, die für einen solchen Tauchgang sehr

    viel Zeit in Anspruch nehmen. Somit sind 50 m Tiefe die Grenze, ab der es sinnvoll

    wird ein ROV anstelle eines Tauchers einzusetzen.

  • Maturaarbeit 2015 / Christian Engler 4dNP 2

    2.1 Voraussetzungen

    Die Vorgaben für den Bau des Tauchroboters sind wie folgt definiert:

    Tauchtiefe mindestens 50 m.

    Livevideo-Bildübertragung zur Oberfläche.

    Steuerbar von der Oberfläche.

    Modularer Aufbau, der spätere Erweiterungen ermöglicht und etwaige

    Änderungen vereinfacht.

    Das ROV soll durch eine Türflucht eines Wracks passen, d.h. eine Breite

    von 50cm darf nicht überschritten werden.

    2.2 Vorgehen

    Das Vorgehen beim Konstruieren eines ROVs wird grundsätzlich bestimmt durch die

    Vorgaben, die es erfüllen muss und durch die Art des Einsatzes. Dementsprechend

    werden die einzelnen Komponenten, passend für den Einsatzzweck, konstruiert.

    In diesem Fall sind die wichtigsten Komponenten (vgl. Abb. 2, Seite 6):

    Hauptdruckkörper für die elektronischen Komponenten

    Strahlruder für Vortrieb und Steuerung

    Kameragehäuse

    Lampen

    Zu diesen Komponenten werden dann die passenden elektronischen Steuer- und

    Kontrollmechanismen entwickelt, z.B. die passenden Motoren oder eine

    entsprechend kleine Kamera. Oder es kann sein, dass die Elektronik die

    Konstruktionsart der mechanischen Komponente bestimmt (z.B. beim

    Hauptdruckkörper mit Kommunikations- und Steuerelektronik).

    Danach wird ein Rahmen entworfen, an dem alle Komponenten befestigt werden

    können. Schliesslich wird der Tauchroboter gewogen und ein abgestimmtes

    Auftriebs- und Ballastsystem gebaut. Nachdem das Gerät auf seine

    Funktionstüchtigkeit getestet ist, können allfällige Änderungen vorgenommen

    werden.

    Dieses Vorgehen wurde bei der vorliegenden Maturaarbeit umgesetzt.

  • Maturaarbeit 2015 / Christian Engler 4dNP 3

    3 Mechanische Komponenten

    Als erstes werden die mechanischen Elemente des Tauchroboters beschrieben.

    Wichtige Überlegungen hierzu sind vor allem Einsatzgebiet, Funktion und maximale

    Tauchtiefe. Bei dieser Arbeit handelt es sich um ein

    sogenanntes OCROV – ein Observation Class Remotly

    Operated Vehicle. Es trägt als Hauptinstrument eine Kamera

    und Sensoren, hingegen keine schweren Werkzeuge, wie die

    sogenannten WCROV – Work Class ROV. Die OCROVs

    wiegen zwischen 2 und 100 kg. Bei diesem Gerät soll das

    Endgewicht nicht über 50 kg liegen und es soll etwa die Grösse

    einer grossen Getränkekiste mit einer Breite von ca. 40 cm

    haben. Damit passt das ROV durch Türfluchten, was vor allem beim Wracktauchen

    wichtig sein kann. Durch das niedrige Gesamtgewicht kann das ROV auch ohne Kran

    ins Wasser gelassen werden und ist relativ leicht zu transportieren.

    Die Tauchtiefe beeinflusst die Grösse insofern, als dass die einzelnen Komponenten

    massiver sein müssen, je tiefer der Roboter tauchen soll. Auf der folgenden Seite ist

    eine Übersicht des gesamten ROVs zu sehen.

    Abb. 1: Ansichten des ROVs (Front, Rückseite, Seitenansicht)

    ROV

    In dieser Arbeit wird entweder

    von einem ROV oder von

    einem Tauchroboter ge-

    sprochen, wobei ein und

    dasselbe gemeint ist. Die

    Bezeichnung ROV ist jedoch

    korrekter, weil das Fahrzeug

    nur teilautonom ist.

  • Maturaarbeit 2015 / Christian Engler 4dNP 4

    Abb. 2: Gesamtansicht des ROVs

  • Maturaarbeit 2015 / Christian Engler 4dNP 5

    Abb. 3: Übersicht über die Komponenten des ganzen Systems

  • Maturaarbeit 2015 / Christian Engler 4dNP 6

    3.1 Antrieb

    Grundsätzliche Überlegungen

    Um das ROV im Wasser manövrieren zu können, werden in diesem Fall elektrisch

    betriebene Strahlruder verwendet. Das sind kleine, von Elektromotoren angetriebene

    Propeller, die beliebig am ROV angebracht werden können. Das ROV bewegt sich

    entlang von drei Achsen: vorwärts-rückwärts, links-rechts, auf-ab. Daher braucht man

    mindestens drei Strahlruder. Diese müssen in einer möglichst idealen Konfiguration am

    ROV montiert sein. Das ‚ROV Manual‘ von Robert L. Wernli Sr. Und Robert D. Christ

    erwähnt dazu folgende Überlegungen: Die Anbringung der Strahlruder ist ein

    Zusammenspiel aus möglichst grossem Hebelarm und möglichst langem Fahrzeug um

    eine optimale Stabilität des ROVs zu erreichen. (Robert D. Christ & Robert L. Wernli

    Sr, 2014, S. 76)

    Abb.4: Anbringung der Strahlruder und entsprechende Fahrzeuglänge/Breite (The ROV-Manual)

    Bei diesem Projekt wurde ein Länge-zu-Breite Verhältnis von etwas über 2:1 gewählt.

    So können die Strahlruder in einem genügend grossen Abstand angebracht werden

    und das Fahrzeug ist immer noch relativ lang. Zudem basiert diese Wahl der Masse

    auf der Betrachtung bereits bestehender ROVs.

  • Maturaarbeit 2015 / Christian Engler 4dNP 7

    Magnetkupplungen der Strahlruder

    Abb. 5: Plan der Magnetkupplung

    Die Dichtungen an der Antriebswelle der Strahlruder sind eine der grössten

    Schwachstellen bei jedem Unterwasserfahrzeug. Da bei radialen Achsendichtungen

    eine rotierende Fläche auf der statischen Dichtungsfläche liegt, kann es schnell

    geschehen, dass die Dichtfläche unterbrochen wird, wodurch Wasser in das

    Motorgehäuse eindringen kann. Die beste Lösung ist deshalb das Vermeiden dieser

    Rotationsdichtung durch Verwendung einer Magnetkupplung.

    Bei der Magnetkupplung gibt es keine physische Verbindung zwischen Motor und

    Propeller. Die Kraftübertragung erfolgt mithilfe eines Magnetfeldes. So kann sich der

    Motor in einem vom Wasser komplett abgeschotteten Gehäuse befinden. Gleichzeitig

    lässt sich damit eine Überlastung der Motoren verhindern, falls die Propeller blockiert

    werden (z.B. durch Seegras). Bei einer Blockade der Propeller beginnt die Kupplung zu

    rutschen, während der Motor weiter drehen kann.

  • Maturaarbeit 2015 / Christian Engler 4dNP 8

    Erste Versuche mit einer Magnetkupplung, bei der die Magnete in einem Ring um den

    zentralen, angetriebenen Magneten angeordnet waren, brachten nicht die gewünschte

    Leistung. Die magnetische Verbindung war zu schwach und konnte deshalb das

    notwendige Drehmoment nicht übertragen. Die überarbeitete Version basiert auf zwei

    sich gegenüberliegenden Aluminiumtrommeln, in denen Magnete angebracht sind.

    Dadurch ist die aktuelle Version auch um einiges kompakter ist als der Prototyp.

    Abb. 6: Prototyp der ersten Magnetkupplung Abb. 7: Teile der neuen Magnetkupplung

    Die Magnetkupplungen wurden vom Autor aus Delrin (einem sehr robusten Kunststoff)

    auf einer Drehmaschine gefertigt. Das Material verhindert Wirbelströme, wie sie in

    einem Aluminiumgehäuse entstehen könnten und welche den Motor abbremsen

    würden. Die Magnettrommeln sind aus Aluminium gefräst und die Magnete wurden mit

    Schraubensicherungslack in die Fassungen eingeklebt.

    Um zu verhindern, dass die Magnetkupplungen rutschen, muss der Motor möglichst

    sanft anlaufen. Dies wird jedoch durch eine entsprechende Routine in der

    Programmierung sicher gestellt. (siehe Kapitel 6) Programmierung)

    3.2 Kameragehäuse

    Die Kamera des ROVs wird in einem Gehäuse aufgenommen, das aus einer

    Acrylglasröhre besteht, die an beiden Seiten durch zwei Verschlüsse mit O-Ringen

    wasserdicht verschlossen ist. Acrylglas hat den Vorteil, dass es praktisch optisch „echt“

    ist. D.h. es spiegelt nur wenig und verzerrt das Bild nur minim. Zudem ist Acrylglas eine

    optimale Dichtfläche für die O-Ringe und zerkratzt nicht so leicht.

  • Maturaarbeit 2015 / Christian Engler 4dNP 9

    Abb. 8: Das Kameragehäuse

    3.3 Schnittstellen mit den Komponenten

    Die Schnittstellen der einzelnen Komponenten mit der Hauptdruckröhre gehören zu

    den grössten Herausforderungen beim Bau eines ROVs. Es gibt kommerzielle,

    wasserdichte Verbindungsstecker, die speziell für Tauchroboter und andere

    Unterwasseranwendungen konzipiert sind. Diese kosten allerdings zwischen 200 und

    mehreren tausend Dollar pro Stück (je nach Tiefenzertifizierung: 200 $ entspricht etwa

    300 m Wassertiefe). Es gibt auch wasserfeste Stecker, die um einiges günstiger sind.

    Diese Stecker sind jedoch nur bis etwa 10 m. wasserdicht. Deshalb wurde bei diesem

    Projekt gänzlich auf externe Stecker verzichtet.

  • Maturaarbeit 2015 / Christian Engler 4dNP 10

    Aufbau der Schnittstellen

    Abb. 9: Plan der Verbindungen

    Alle Verbinder des Tauchroboters basieren auf dem gleichen Prinzip. Das Kabel wird

    durch einen mit Epoxidharz abgedichteten Zapfen geführt. Diese Hülse kann dann in

    einen Gewindeeingang der Hauptröhre eingeschraubt werden und wird mit einem O-

    Ring abgedichtet. Zusätzlich wird das ganze Kabel durch einen PVC Schlauch, der mit

    Briden am Verbinderzapfen abgedichtet ist, vom Wasser abgeschottet. Im Inneren der

    Röhre werden die Kabel mittels Elektroklemmen angeschlossen.

    Abb. 10: Verbinder der Hauptröhre mit Schläuchen Abb. 11: Anschlüsse von der Innenseite gesehen

  • Maturaarbeit 2015 / Christian Engler 4dNP 11

    3.4 Hauptdruckkörper

    Der Hauptdruckkörper ist sozusagen das Herzstück des Tauchroboters. Darin befinden

    sich die gesamte fahrzeugseitige Steuerungs- und Kommunikationselektronik sowie die

    Stromversorgung. Die Steuersignale aus der Kontrollstation werden hier zu

    Motorsteuersignalen verarbeitet und Daten (z.B. Live-Video oder Umweltdaten) werden

    an die Kontrollstation gesendet. Aus diesem Grund muss dieser Teil des

    Tauchroboters besonders robust und gut abgedichtet sein. Ein Wassereinbruch würde

    zum Totalausfall des ROVs führen.

    Abb. 12: Schema des Hauptdruckkörpers mit den Verschlüssen

  • Maturaarbeit 2015 / Christian Engler 4dNP 12

    Als Material für den Hauptdruckkörper wurde eine Aluminiumröhre mit einer

    Wandstärke von 10 mm gewählt. Die Form der Röhre ist besonders druckfest, was

    grössere Tauchtiefen ermöglicht. Aluminium korrodiert bei Kontakt mit Wasser nicht, ist

    um vieles druckfester als Acrylglas und lässt sich einfacher bearbeiten als Stahl.

    Zur Abdichtung der Röhre gegen Wasser dienen zwei O-Ringe auf jeder Seite. Die O-

    Ringe sind so in eine Nut eingepasst und bemessen, dass sie beim Aufsetzen der

    Verschlüsse auf die Röhre leicht zusammengepresst werden. Durch diese sog.

    Verpressung wird eine wasserdichte Barriere erzeugt. Die Nuten beim

    Hauptdruckkörper sind so gewählt, dass man entweder einen O-Ring mit 10%

    Verpressung verwenden kann, mit dem sich die Röhre noch komfortabel verschliessen

    lässt, oder man kann eine „schwere“ Dichtung verwenden, mit 20% Verpressung, die

    grössere Tauchtiefen ermöglicht. Allerdings ist es bei dieser Dichtung schwieriger, den

    Zylinder zu verschliessen, da die dickeren O-Ringe zu mehr Reibungswiederstand

    führen.

    Abb. 13 O-Ring unter Last

    Ein wichtiger Bestandteil des Hauptdruckkörpers sind seine Verbindungen mit den

    restlichen Komponenten. Im hinteren Deckel ist ein M20 Innengewinde eingearbeitet,

    an dem der sog. „Tether“ (Versorgungskabel) angeschlossen werden kann. An der

    Vorderseite befinden sich neun M10 Anschlüsse, die das Anschliessen von Motoren,

    Sensoren und anderen Gerätschaften ermöglichen. Der Hauptdruckkörper wurde

    freundlicherweise von der Firma Breu Mechanik hergestellt, weil die eigene

    Drehmaschine für Teile dieser Grösse zu klein ist.

  • Maturaarbeit 2015 / Christian Engler 4dNP 13

    3.5 Auftriebskörper und Ballast

    Der Auftriebskörper sorgt für die richtige Tarierung des ROVs im Wasser und

    zusammen mit dem Ballast für eine gute Stabilität des Fahrzeugs. Indem der Ballast

    möglichst weit unter dem Auftriebskörper angebracht wird, und der Auftriebskörper am

    höchst möglichen Punkt ist, wird die optimale Stabilität erreicht.

    Mit einer guten Tarierung ist das ROV mit wenig Energie optimal manövrierfähig. Ideal

    wäre eine neutrale Tarierung. d.h. das Gesamtgewicht des ROV‘s entspricht genau

    dem Gewicht des Wasservolumens welches vom Tauchroboter verdrängt wird. Das

    ROV wäre also in einem Schwebezustand. Weil eine solche Feinabstimmung praktisch

    kaum möglich ist, entscheidet man sich entweder für eine leicht positive Tarierung oder

    eine leicht negative Tarierung. Dieses ROV hat eine leicht positive Tarierung, d.h. man

    benötigt mehr Schub um das ROV abtauchen zu lassen, hat aber den Vorteil, dass bei

    einem Stromausfall das ROV selbständig wieder auftaucht.

    Abb. 14: Austarieren des ROVs im Wasser

    Als Ballast werden Bleigewichte verwendet, die möglichst weit unter dem

    Auftriebskörper am Rahmen befestigt werden.

    positiv tariert

    neutral tariert

    negativ tariert

    steigt

    schwebt

    sinkt

  • Maturaarbeit 2015 / Christian Engler 4dNP 14

    Das sorgt für Stabilität und das ROV kann getrimmt werden, d.h. das Bleigewicht wird

    angepasst, wenn z.B. weitere technische Komponenten angebracht werden.

    Material des Auftriebskörper

    Ein falsch kalkulierter Auftriebskörper ist die häufigste Ursache für den Verlust von

    ROVs. Wird ein falsches Material verwendet, wird der Auftriebskörper vom immensen

    Wasserdruck zusammen gequetscht. Das reduzierte Volumen verringert den Auftrieb

    und das ROV sinkt ab. Dabei besteht die Gefahr, dass das ganze ROV durch den

    zunehmenden Druck vollständig zerstört wird.

    Ein erster Versuch mit Polystyrolschaumstoff ergab nicht die gewünschten Resultate.

    Der Schaumstoff wurde bereits bei ca. 25 Metern Wassertiefe bis auf das halbe

    Volumen zusammengepresst. Nun wird ein leichter Spezialhartschaumstoff (Airex C70

    von der Firma Bolleter Composites gratis zur Verfügung gestellt) eingesetzt, der bis zu

    einem Druck von 30 bar (300 m Wassertiefe) formstabil ist und sich durch eine sehr

    geringe Wasseraufnahme auszeichnet. So ändert sich der Auftrieb nur wenig, während

    das ROV im Wasser ist. Dieses Material wird vor allem im Bootsbau und in der

    Luftfahrt verwendet und lässt sich sehr gut bearbeiten.

    Damit der Auftriebskörper auch abriebfest ist, wurde er mit Glasfasergewebe laminiert

    und gelb lackiert. Durch die gelbe Lackierung ist das ROV besser zu sehen unter

    Wasser.

    Abb. 15: Erste Version des Auftriebkörpers aus Polystyrol.

    Abb. 16: Zweite und finale Version des Auftrieb- körpers aus speziellem Schaumstoff

  • Maturaarbeit 2015 / Christian Engler 4dNP 15

    3.6 Rahmen

    Am Rahmen werden alle Komponenten des ROVs angebracht. Zudem bietet er Schutz

    bei Kollisionen und gibt dem ROV Stabilität. Beim Design des Rahmens war die Idee

    des modularen Aufbaus und der einfachen Erweiterbarkeit besonders wichtig.

    Abb. 17: Der Rahmen des ROVs

    Als Material für den Rahmen wurden Item® Systembauprofile verwendet. Diese Profile

    ermöglichen einen einfachen Zusammenbau und Änderungen können kurzfristig und

    mit wenig Aufwand vorgenommen

    werden. Die Profile haben auf allen vier

    Seiten Nuten, an denen Gegenstände

    und weitere Profile einfach befestigt

    werden können. Zudem können Ballast

    und Strahlruder am Rahmen

    verschoben werden, so dass man die

    Lage des ROVs einstellen kann.

    Abb. 18: Verbindung am Rahmen

  • Maturaarbeit 2015 / Christian Engler 4dNP 16

    4 Elektronik

    Die Elektronik des ROVs ermöglicht dem Bediener das Erlebnis der sog. „virtuellen

    Präsenz“. Er kann dadurch an Orten beobachten und agieren, die für Menschen nicht

    erreichbar sind, oder an denen er einem zu hohen Risiko ausgesetzt wäre (z.B.

    Höhlen, Unterseeische Quellen usw.). Für diese „virtuelle Präsenz“ benötigt man ein

    Livevideobild, eine Möglichkeit das ROV zu steuern und optional mehrere Sensoren,

    die den Bediener über die am Einsatzort vorherrschenden Umweltbedingungen

    informieren. So kann man Daten messen, wie zum Beispiel Umgebungsdruck,

    Temperatur, aber auch aufgabenspezifischere Informationen wie PH-Wert, Sauerstoff-

    konzentration, etc. oder man kann die Umwelt filmisch dokumentieren.

    Die Elektronik eines ROV besteht immer aus der Bordelektronik und der sog.

    Benutzerelektronik.

    Die Bordelektronik setzt sich zusammen aus:

    Kamera

    Steuerung

    Kommunikation

    Beleuchtung

    Sensoren

    Stromversorgung

    Die Bestandteile der

    Benutzerelektronik sind:

    Laptop mit

    Steuersoftware

    Monitor zur Anzeige

    des Livebilds

    Nachfolgend wird die Bordelektronik behandelt. Auf die Benutzerelektronik wird im

    Kapitel Kontrollstation genauer eingegangen.

    Abb. 19: Bordelektronik vorne

    Abb. 20: Bordelektronik hinten

  • Maturaarbeit 2015 / Christian Engler 4dNP 17

    4.1 Steuerung und Kommunikation

    Das Herzstück der Steuerung des ROVs ist ein Arduino UNO

    R3. Ein Microcontroller der einfach programmiert werden kann,

    Sensorinputs verarbeitet und Steuersignale sendet. Um die

    Elektromotoren des Tauchroboters ansteuern zu können, wurde

    für jeden Motor ein ESC (Electronic Speed Controller) an den

    Arduino angeschlossen, der mittels eines PWM Signals

    gesteuert werden kann. Diese ESCs werden vom Arduino wie Servos angesteuert, wie

    sie im Modellbau Verwendung finden

    Da es sich beim Arduino um ein normales USB-Gerät handelt, wäre es am einfachsten,

    ihn direkt an einem USB-Port des Computers anzuschliessen. Ein Standard USB-

    Protokoll hat jedoch eine maximale Reichweite von ca. 5 m. Die Lösung war ein USB-

    Extender der USB-Signale über ein Ethernetprotokoll bis zu 100 m (maximale

    Reichweite des Ethernetprotokolls) weit überträgt. Das am Extender angeschlossene

    Gerät verhält sich dabei so, als ob es direkt am USB-Port des Computers

    angeschlossen wäre. Um die Reichweite des ROVs noch weiter zu erhöhen, ist

    zwischen Computer und USB-Extender ein umgebautes Powerlinemodul geschaltet.

    Dieses ermöglicht eine 500 Mbit/s Ethernetverbindung von bis zu 300 m Länge durch

    ein zweiadriges Kabel.

    Variante 1

    Es wurden auch noch zwei weitere Möglichkeiten zur Datenübertragung in Erwägung

    gezogen. Aufgrund von niedrigen Kosten und grösserer Reichweite wurde Variante 1

    ausgewählt. Zudem benötigt Variante 1 nur 2 Kabel um eine Ethernetverbindung

    herzustellen und nicht 8, wie Varianten 2 und 3.

    PWM

    Der Begriff Pulse Width

    Modulation beschreibt ein

    digitales Signal, das dazu

    verwendet werden kann

    Servos und Fahrtenregler

    (ESC) zu steuern.

  • Maturaarbeit 2015 / Christian Engler 4dNP 18

    Variante Reichweite Kosten

    1 300 m 130.-

    2 100 m 400.-

    3 100 m 200.-

    Tab 1: Kostenvergleich Datenübertragung

    Variante 2

    Variante 3

    Variante 2 hätte den Vorteil gehabt, dass sie mit wenigen Elementen ausgekommen

    und sicher stabil gewesen wäre. Allerdings ist die Reichweite auf 100m limitiert und der

    benötigte High-Speed USB-Extender wäre sehr teuer.

    Variante 3 wäre auch relativ günstig, hat aber den Nachteil, dass sehr viele zusätzliche

    Komponenten benötigt werden.

  • Maturaarbeit 2015 / Christian Engler 4dNP 19

    4.2 Kamerasystem

    Die Schwierigkeit beim Kamerasystem des ROVs bestand darin, dass der Video-

    Stream mit einer möglichst geringen Verzögerung übertragen werden muss um eine

    komfortable ‚real-time‘ Steuerung des Fahrzeugs zu ermöglichen.

    Der Versuch eine USB-Webcam als Livekamera einzusetzen

    scheiterte daran, dass der Minicomputer (ein Raspberry Pi Model

    B) der zum Streamen des Signals verwendet wurde zu wenig

    Rechenleistung hatte, und das Bild nur mit einer grossen

    Verzögerung und stark stockend empfangen werden konnte.

    Jetzt wird eine einfache Boardkamera eingesetzt, die ein

    Analogsignal sendet. Dieses Signal kann mithilfe eines Video-

    Baluns durch ein zweiadriges Kabel über eine Reichweite von bis

    zu 600 m gesendet werden. Das Bild ist selbst bei einer Distanz von 100 m noch

    nahezu live, jedoch nur von mittlerer Qualität (670 TVL entspricht etwa einer VGA

    Auflösung)

    Zur filmischen Dokumentation der Tauchfahrten dient eine zweite, externe Full-HD

    Kamera. Diese nimmt die gesamte Tauchfahrt auf und speichert das Video auf einer

    SD-Karte, die nach dem Einsatz ausgelesen werden kann.

    Die Steuerkamera ist vorne am ROV fixiert und kann während der Fahrt weder bewegt

    werden noch zoomen. So verhindert man, dass der Bediener die Entfernung zu

    Objekten nicht mehr einschätzen kann, oder die Position des ROVs relativ zum

    Sichtfeld falsch wahrnimmt.

    Abb. 21: Die Livevideokamera ist in einem Plexiglasgehäuse, vorne am ROV angebracht

    Video-Balun

    Ein Video Balun ist ein Gerät,

    das die Videosignale einer

    Kamera über weitere

    Distanzen senden kann.

    Dazu ist im Balun ein kleiner

    Transformator eingebaut, der

    die Spannung des Signals

    erhöht, um Spannungs-

    verluste im Kabel zu

    verringern.

  • Maturaarbeit 2015 / Christian Engler 4dNP 20

    4.3 Tether

    Da Funksignale, die unter Wasser gesendet werden, nur eine Reichweite von wenigen

    Metern haben, muss die ganze Kommunikation zwischen ROV und Kontrollstation über

    ein Kabel erfolgen. Dieses Versorgungskabel wir im Fachjargon auch Tether genannt.

    Durch ihn werden alle Daten- und Steuersignale übertragen. Für dieses Projekt wurde

    ein Cat 5 Ethernetkabel gewählt, das folgende Vorteile hat:

    Der Tether wird möglichst klein gehalten, da alle Daten durch dieses Kabel

    übertragen werden können. Ein Cat 5 Kabel besteht aus 4 Kabelpaaren. Von

    diesen wird eines für die Ethernetverbindung und eines für die

    Videoübertragung verwendet. Zwei Paare dienen als Ersatz oder für mögliche

    Erweiterungen.

    Cat 5 Kabel ist fast neutral tariert. So kann verhindert werden, dass das ROV

    ein zu grosses Gewicht hinter sich herschleppen muss.

    Cat 5 Kabel ist preislich sehr günstig

    Abb. 22: Querschnitt eines Cat 5 Kabels

    Das Kabel wird auf einer eigens dafür konstruierten Rolle

    aufbewahrt und wird bei einem Einsatz abgewickelt. Am

    Kabel ist auch der Zapfen zu sehen, mit dem der Tether an

    den Hauptdruckkörper angeschlossen wird.

    Abb. 23: Kabelrolle für den Tether

  • Maturaarbeit 2015 / Christian Engler 4dNP 21

    4.4 Stromversorgung

    Die Stromversorgung des Tauchroboters versorgt alle elektrischen und elektronischen

    Komponenten der Bordelektronik mit Strom. Die momentane Stromversorgung basiert

    auf zwei NiMH Akkus und einem LiPo-Akku. Eine Stromversorgung über Kabel wurde

    verworfen (siehe Diskussion)

    Beide NiMH Akkus liefern je 7.2 V. Einer der Akkus versorgt die Motoren, der zweite

    versorgt die Kommunikations- und Steuerelektronik. Der LiPo-Akku versorgt das

    Internetmodul und die Livekamera, da diese 12 V benötigen. Allerdings wird dieser

    Akku so bald wie möglich durch einen NiMh Akku ersetzt, da LiPo-Akkus nicht für

    feuchte Umgebungen geeignet sind.

    Spannungsregler

    Da die Akkus eine Spannung zwischen 8.5 und 7 Volt liefern, muss die Spannung auf

    die passende Betriebsspannung der Geräte angepasst werden.

    Gerät Spannung Leistung

    Arduino 5-19 V 11 W

    USB-Extender 5 V 5 W

    FPV-Kamera 12 V 10 W

    Internetmodul 12 V 3 W

    Tab. 2: Übersicht der erforderlichen Spannung und Leistung der Geräte

    Das Problem bei Spannungsreglern ist die sogenannte Dropout-Voltage. Das ist die

    Mindestspannung, die über dem geregelten Wert liegen muss, damit der

    Spannungsregler noch funktionieren kann. Die eingebauten Spannungsregler haben

    eine Dropout-Voltage von 2 V. Das bedeutet, dass zum Beispiel der USB-Extender

    bereits bei einer Akkuspannung von 7 V keinen Strom mehr erhält.

  • Maturaarbeit 2015 / Christian Engler 4dNP 22

    Abb. 24: Schaltung für einen 5V Spannungsregler, wie er im ROV eingesetzt wird (STmicroelectronics)

    Abb. 25: Stromversorgung der Bordelektronik. Gut zu erkennen sind die beiden Filterkondensa- toren und dahinter der Spannungsregler L79

    Für die Schaltung der Stromversorgung wurden ausschliesslich

    Keramikkondensatoren verwendet. Das lässt die Möglichkeit

    offen, die Behälter der elektronischen Komponenten des ROVs

    mit Mineralöl zu druckkompensieren. Würden Elektrolyt

    kondensatoren verwendet, wäre das nicht möglich, da diese

    druckempfindlich sind. Die Möglichkeit einer Druck-

    kompensation wurde als Notfalllösung in Erwägung gezogen,

    falls sich die Dichtungen als zu schwach erwiesen hätten.

    Druckkompensation

    Füllt man einen Druckkörper

    mit nichtleitendem Mineralöl

    auf, kann man diesen effizient

    gegen Druck schützen. Da

    sich das Mineralöl nicht

    komprimieren lässt, besteht

    keine Druckdifferenz mehr

    zwischen Wasser und

    Innenraum. Der O-Ring muss

    dann nur noch das Öl im

    Inneren halten. Allerdings ist

    es besser, diese Methode zu

    vermeiden, da Wartungs-

    arbeiten an der Elektronik

    erschwert werden

    VIN VOUT

  • Maturaarbeit 2015 / Christian Engler 4dNP 23

    5 Kontrollstation und TMS

    Die Kontrollstation dient dazu, das ROV vom Ufer oder einem Wasserfahrzeug aus zu

    steuern. Sie besteht aus folgenden Komponenten

    Laptop mit Steuersoftware

    Bildschirm zur Anzeige des Signals der FPV-Kamera

    Internetmodul

    Kabelrolle

    Stromversorgung

    Die ganze Kontrollstation findet in einer Kiste Platz. Beim Einsatz wird das

    Internetmodul an den Ethernetport des Laptops und den Tether angeschlossen und der

    Bildschirm wir ebenfalls über einen Video-Balun mit dem Tether verbunden. Der Strom

    für den Bildschirm und das Internetmodul wird von einer 12 V Autobatterie geliefert.

    Abb. 26: Die Kontrollstation im zusammengelegten (Bild links) und aufgebauten Zustand (Bild rechts)

  • Maturaarbeit 2015 / Christian Engler 4dNP 24

    Abb. 27: Flussdiagramm der Software

    6 Programmierung

    Die Programmierung des

    ROVs besteht, wie die

    Elektronik, aus zwei

    verschiedenen Teilen. Das

    Steuerprogramm des

    Arduinos, der im ROV

    eingebaut ist und die

    Computersoftware zur

    Steuerung des Tauch-

    roboters vom Laptop aus.

    Für die Maturaarbeit ist die

    ROV-Software auf das

    Minimum reduziert. Nur das

    Steuern des ROVs ist in

    das Programm implemen-

    tiert.

    Die Computersoftware ver-

    arbeitet den Userinput der

    Tastatur in Zahlen, die über

    einen Serial Port an den

    Arduino gesendet werden.

    Auf diesem läuft ein

    Programm, das jeder

    ankommenden Zahl eine

    Aktion zuweist. Drückt der

    Benutzer z.B. „W“ sendet

    die Computersoftware die

    Zahl 119 (ASCII-Code für

    den Buchstaben W) an den Arduino. Dieser führt dann eine Funktion aus, die das linke

    und rechte Strahlruder einschaltet, so dass der ROV vorwärts fährt.

  • Maturaarbeit 2015 / Christian Engler 4dNP 25

    6.1 Python Script

    Die Kontrollsoftware, die auf dem Laptop läuft, wurde mit Python programmiert. Eine

    sehr einfach zu erlernende Sprache, die mit vielen sogenannten Modulen erweitert

    werden kann. Für dieses Projekt wurde das Modul PySerial benötigt. Dieses ermöglicht

    es der Software eine serielle Verbindung mit dem Arduino herzustellen. Dazu wird mit

    einem Befehl im Programmcode ein sogenannter Serialport geöffnet und eine Baudrate

    gewählt. Die Baudrate bestimmt die Übertragungsgeschwindigkeit der Signale zum

    Arduino. Für diese Anwendung wurde der tiefst mögliche Wert von 4800 Baud gewählt,

    da nur sehr wenige Daten übertragen werden müssen und so der Arduino nicht

    überfordert wird.

    Nach dem Setup wartet die Kontrollsoftware auf die Tastatursignale. Durch eine if-else

    Schleife wird dauernd überprüft, ob einer der gedrückten Tasten eine Aktion

    zugewiesen ist. Wenn dies so ist, wird der Wert der entsprechenden Taste an den

    Arduino gesendet. Obwohl im Code des Python-Scripts der Buchstabe gesendet wird,

    sendet die Serial-Software den entsprechenden ASCII-Wert. Wird die Taste gedrückt

    gehalten wiederholt sich dieser Prozess laufend, bis die Taste losgelassen wird.

    6.2 Arduino Code

    Der Arduino-Code besteht aus einem sog. Setup Loop und der eigentlichen

    Programmschleife. In der Setup Schleife werden die Serial Verbindung initialisiert, die

    Pins bestimmt, an denen die ESCs angeschlossen sind, sowie die einzelnen Servos

    zugewiesen. So weiss der Arduino, dass er es mit Servos, resp. ESCs, zu tun hat und

    die Servos kalibrieren muss. In der Programmschleife wartet der Arduino dann auf eine

    ankommende Zahl. Mit einer If-else Schleife wird überprüft, ob und welche Aktion der

    Zahl zugeordnet ist. Für jede Aktion sendet der Arduino anschliessend die passenden

    Steuersignale an die ESCs. Da die ESCs eigentlich dafür konzipiert sind mit einer RC

    Fernsteuerung angesteuert zu werden, sind die Befehle, die der Arduino an die ESCs

    senden muss, etwas speziell. Der Wert 90 entspricht der Neutralstellung des

    Steuerknüppels an der Fernsteuerung, es passiert also nichts. Werte unter 90 sorgen

    für Schub vorwärts, während Werte über 90 für Schub rückwärts sorgen.

  • Maturaarbeit 2015 / Christian Engler 4dNP 26

    Die Kontrolle der Strahlruder ist so programmiert, dass sie so lange und in

    entsprechender Kombination laufen wie die für die Bewegung bestimmte Taste

    gedrückt wird und die entsprechende Zahl beim Arduino ankommt. Das Tauchruder ist

    etwas anders programmiert. Dadurch, dass das ROV positiv tariert ist, muss das

    vertikale Ruder während des gesamten Tauchgangs laufen, um das ROV unter

    Wasser zu halten. Mit der Taste T wird die sogenannte Tarierungskontrolle

    eingeschaltet. Mit den Tasten Z und U kann dann der Auftrieb entweder erhöht oder

    erniedrigt werden. So kann man ganz einfach die gewünschte Sinkrate einstellen oder

    den ROV im „Schwebeflug“ halten. Drückt man wieder auf T wir das vertikale Ruder

    ausgeschaltet und das ROV taucht auf. Man kann aber auch mit den Tasten O und L

    die Leistung des Tauchruders kurzzeitig erhöhen, um schneller auf- oder abzutauchen.

    Um zu verhindern, dass dabei die Kupplung des Tauchruders rutscht, wurde eine

    Rampe einprogrammiert, die die Leistung des Tauchruders proportional erhöht, bis der

    eingestellte Wert erreicht wird. Wie langsam diese Anpassung an den Maximalwert

    dauert, kann durch das Verändern einer Variablen eingestellt werden.

    6.3 Wertetabelle für die Steuersignale

    Befehl Taste ASCII-Wert

    Vorwärts W 119

    Rückwärts S 115

    Links A 97

    Rechts D 100

    Rotieren UZS E 101

    Rotieren GUZS Q 113

    Tarieren aktivieren T 116

    Auftrieb verringern Z 122

    Auftrieb erhöhen U 117

    Aufwärts O 111

    Abwärts L 108

    Tab. 3: Werte für Steuerbefehle

  • Maturaarbeit 2015 / Christian Engler 4dNP 27

    7 Tests

    7.1 Dichteprüfung

    Die erste Dichteprüfung des ROVs stellt einen kritischen Punkt beim Bau des

    Tauchroboters dar. Dabei zeigt sich, ob das Design des Tauchroboters dem

    Einsatzdruck standhält und dicht ist. Wenn möglich wird der Drucktest unter simulierten

    Bedingungen durchgeführt, was das Beobachten und Bergen der Teile einfacher

    macht.

    Für den Drucktest stellte der Badische Tauchsportverein freundlicherweise seine

    Hyperbarische Druckkammer in Überlingen zur Verfügung. Diese Druckkammer wird

    normalerweise zur Behandlung von Dekompressionserkrankungen verwendet und

    kann eine Tauchtiefe von bis zu 50 m (entspricht 6 bar Absolutdruck) simulieren.

    Abb. 28: Testanordnung, zu sehen sind Druckkörper, Tauchcomputer und ein Block Schaumstoff des Auftriebkörers

    Abb. 29: Druckkammer des BTSV in Überlingen, links im Bild ist das Kontrollpult, durch das Bullauge konnte die Versuchsanordnung beobachtete werden.

    Die zu testenden Komponenten werden in einen mit Wasser gefüllten Behälter gelegt,

    um den Luftdruck in Wasserdruck umzuwandeln. Dann wird in der Druckkammer der

    entsprechende Druck aufgebaut. Dieser Druck wird über eine gewisse Zeitspanne

    aufrecht gehalten. Der Behälter kann während der „Tauchfahrt„ durch ein Bullauge

    beobachtet werden. Steigen Bläschen aus dem Behälter auf, deutet dies auf undichte

    Stellen hin, die so lokalisiert werden können. Nach der Tauchfahrt wird der Behälter

    geöffnet und auf allfällig eingedrungenes Wasser überprüft.

  • Maturaarbeit 2015 / Christian Engler 4dNP 28

    Es wurde nur der Hauptdruckkörper geprüft. Dieser erwies sich zumindest bis zu dem

    in der Kammer erreichten Maximaldruck von 6 bar als wasserdicht.

    Abb. 30: Tauchprofil des Tests

    Auf der rechten Seite ist das Abtauchen zu sehen. Die flache Linie in der Mitte stellt die

    12 min dar, während denen der Versuchsaufbau 6 Bar ausgesetzt war. Die steile

    Gerade auf der linken Seite entsteht dadurch, dass der Druck relativ schnell aus der

    Druckkammer abgelassen wurde.

    7.2 Erster Wassertest

    Der Tauchroboter wurde ins Wasser gelassen, um zu ermitteln wie viel Ballast

    hinzugefügt werden muss und ob das Gerät stabil im Wasser liegt.

    Dabei zeigte sich:

    Es müssten ca. 15 kg Ballast hinzugefügt werden, was eindeutig zu viel ist.

    Der ROV liegt sehr stabil und waagrecht im Wasser.

    In die Hauptröhre dringt Wasser ein. Vermutlich wegen einer Dichtung, in der

    sich ein Kabel verklemmt hatte.

    Der Tether ist abgerissen.

  • Maturaarbeit 2015 / Christian Engler 4dNP 29

    Abb. 31: Erste Testfahrt

    Nach diesem Test wurden die notwendigen Änderungen vorgenommen:

    Der Auftriebskörper wurde verkleinert, so dass nur noch 7-8 kg Ballast

    zugeladen werden müssen.

    Die Dichtungen wurden überprüft und gereinigt.

    Am Tether wurde eine Zugentlastungsklemme angebracht um zu verhindern,

    dass der Tether bei zu starkem Zug aus dem Anschlusszapfen gerissen wird.

    7.3 Zweiter Wassertest

    Beim zweiten Test im Bodensee sollte die Funktionstüchtigkeit der Elektronik und die

    Manövrierfähigkeit des ROVs überprüft werden.

    Folgende Testresultate wurden erreicht:

    Die Bordelektronik funktioniert einwandfrei.

    Kamerabild und Steuerung funktionieren nahezu in Echtzeit (keine

    wahrnehmbare Verzögerung).

    Das ROV lässt sich gut steuern, ist allerdings sehr träge.

    Die Magnetkupplung des Tauchruders rutscht unter Last. Dadurch ist das

    Abtauchen nicht möglich.

    Es gibt immer noch einen leichten Wassereinbruch in der Hauptröhre. Die

    Verbindung mit dem Backbordakku wurde als mutmassliche Leckstelle

    identifiziert.

    8 kg Ballast sind immer noch zu wenig.

    Folgende Massnahmen wurden getroffen:

    Überarbeitung der Magnetkupplung

    des Tauchruders. Der Abstand

    zwischen den beiden

    Magnetscheiben wurde verkleinert,

    indem die Zwischenwand ein wenig

    abgedreht, und die Welle verlängert

    wurde.

    Überarbeitung der Schnittstelle des

    Backbordakkus

    Weitere Verkleinerung des Auftriebskörpers

  • Maturaarbeit 2015 / Christian Engler 4dNP 30

    Abb. 32: Letzte Arbeiten am ROV vor der Testfahrt Abb. 33: Inbetriebnahme der Kontrollstation

    7.4 Dritter Wassertest

    Beim dritten Wassertest wurden Tauchfunktion, Manövrierfähigkeit und allgemeine

    Funktionstüchtigkeit des Tauchroboters überprüft. Der Test war auf ca. 4 m Tiefe

    beschränkt, da sich im Bodensee nur wenige Stellen in Ufernähe finden lassen, die

    tiefer sind.

    Folgende Testresultate wurden erreicht:

    Roboter konnte problemlos auf 4 m abgetaucht werden.

    Die horizontale Manövrierfähigkeit ist sehr gut.

    Magnetkupplung des vertikalen Strahlruders funktioniert.

    Tauchfunktion funktioniert, allerdings ist das vertikale Strahlruder etwas

    schwach motorisiert, so dass das ROV nur sehr träge reagiert.

    Nach 15 Minuten Tauchzeit stellten sich Probleme mit dem vertikalen

    Strahlruder ein. Es reagierte nicht mehr auf Steuersignale.

  • Maturaarbeit 2015 / Christian Engler 4dNP 31

    Kamerabild funktioniert einwandfrei

    Immer noch leichte Wasseraufnahmen in der Hauptdruckröhre. ( < 1 dl bei 20

    Minuten Tauchzeit in 4 m Wassertiefe.)

    Verbindungen des Internetmoduls der Kontrollstation müssen besser befestigt

    werden. Eine Lötstelle löste sich bei den Vorbereitungen des Tests, konnte

    aber repariert werden.

    Das ROV war mit 11 kg Ballast ein wenig zu schwer.

    Abb. 34: ROV im Wasser

    Fazit:

    Weitere Schwimmtests zur Anpassung des Ballasts sind nötig

    Die Steuerung und Software für das vertikale Strahlruder muss überarbeitet

    werden.

    In das vertikale Strahlruder muss ein stärkerer Motor eingebaut werden.

    Die Dichtigkeit der verschiedenen Verbinder muss überprüft werden und

    gegebenenfalls müssen sie überarbeitet werden.

    Installieren von Wassereinbruchsensoren.

  • Maturaarbeit 2015 / Christian Engler 4dNP 32

    Abb. 35: Erste Unterwasseraufnahmen

    Abb. 36: Das ROV beim Abtauchen

  • Maturaarbeit 2015 / Christian Engler 4dNP 33

    8 Erfolge und Rückschläge

    Grundsätzlich kam das Projekt gut voran. Das ROV war nach nur drei Tests

    einsatzfähig und die Dichtigkeit der Komponenten war in den meisten Fällen schon

    nach den ersten Tests in der Badewanne gegeben.

    Doch bei einem Projekt dieser Art war natürlich auch mit einigen Rückschägen zu

    rechnen. Insbesondere bei der Elektronik gab es diverse Probleme. Da die Elektronik

    im Moment noch in einem frühen Prototypenstadium ist, gibt es viele verschiedene

    Kabel, was zu Kurzschlüssen führen kann. So wurde zum Beispiel das bordseitige

    Internetmodul kurzgeschlossen und ein Bauteil auf der Platine brannte ab.

    Glücklicherweise konnte es mit den Bauteilen aus einer alten Grafikkarte repariert

    werden. Ein grösseres Problem stellte allerdings ein Schaden an einem der

    Motorcontrollerchips dar. Dadurch, dass die Motoren zu viel Strom brauchten

    überhitzte der Chip und brannte aus. Der Chip wurde durch ein leistungsfähigeres ESC

    ersetzt und ein Grossteil der Programmierung musste umgeschrieben werden.

    9 Diskussion

    Die in Kapitel 1.2 formulierten Voraussetzungen wurden fast alle erfüllt. Der

    Tauchroboter lässt sich von einem Laptop aus steuern und überträgt ein Livevideobild.

    Allerdings erreichte das ROV in den Tests aufgrund der Versuchsanordnung, d.h.

    Einwassern und Tauchfahrt in Ufernähe, nur eine maximale Tiefe von 4 m.

    Die mechanischen Komponenten sind bis 50 m wasserdicht. Das Problem liegt mehr

    bei den Verbindern, die auch beim letzten Test noch nicht ganz dicht waren. Für

    Expeditionen in grössere Tiefen muss das Dichtmaterial in den Hülsen (Heissleim)

    durch Silikonmasse ersetzt werden. Der Vorteil von Silikon ist, dass es elastisch ist.

    Dadurch legt es sich immer noch dicht um den flexiblen Kabelmantel, auch wenn sich

    dieser unter Druck verformt.

    Auch die Elektronik muss noch so umgebaut werden, dass sie zuverlässig funktioniert,

    wenn das ROV in grosser Tiefe ist und nicht sofort aufgetaucht werden kann. Eine der

    wichtigsten Änderungen wäre das Einbauen von Feuchtigkeitssensoren, die eine

    Meldung an den Laptop senden, sobald Wasser in die Hauptdruckröhre eindringt.

    Ein Relais, das zwischen Akkus und Elektronik geschaltet ist, könnte dann

    ausgeschaltet werden um die Stromversorgung zu unterbrechen.

  • Maturaarbeit 2015 / Christian Engler 4dNP 34

    So könnte ein Schaden an der Elektronik verhindert werden und man hätte Zeit, das

    ROV an Land zu ziehen.

    Beim Thema Software gibt es ebenfalls noch Optimierungspotential. Es wäre sinnvoll,

    dass dem Benutzer die Daten des Feuchtigkeitssensors und Drucksensors auf dem

    Laptop angezeigt werden. So weiss er immer, wie tief das ROV im Moment ist.

    Des Weiteren würde auch eine Änderung an der Verarbeitungsfunktion der

    Tastatursignale viel zu einer sicheren und stabileren Steuerung beitragen. Im Moment

    kann immer nur eine Taste gleichzeitig gedrückt werden und es wird nur der Status der

    gedrückten Taste abgefragt. Wird die Taste zu lange gedrückt kann das dazu führen,

    dass der Serialspeicher des Arduino „überläuft“ und die Software abstürzt. Um das zu

    vermeiden, könnte man die Programmierung so anpassen, dass nur noch ein Signal

    gesendet wird, wenn die Taste gedrückt wird und wenn sie wieder losgelassen wird.

    Dazu wäre allerdings Python als Programmiersprache ungeeignet, da Python vor allem

    auf Programmieren von Datenbanken ausgelegt ist und nicht unbedingt für

    hardwarebasierte Software geeignet ist. Für eine nächste Version der ROV-

    Kontrollsoftware wäre z.B. Java geeigneter.

    Natürlich gab es im Verlaufe dieses Projekts auch Ideen und Pläne, die aus zeitlichen,

    finanziellen oder technischen Gründen nicht mehr umgesetzt werden konnten.

    So wurde das ROV ursprünglich mit einer Stromversorgung über Kabel geplant. Dies

    erwies sich jedoch als zu kompliziert. Um die ungefähr benötigten 200 Watt zum ROV

    zu liefern, wäre entweder ein sehr dickes Kabel notwendig, das den Tether zu schwer

    machen würde, oder man bräuchte eine Spannung von etwa 120 V was ein zu grosses

    Sicherheitsrisiko darstellen würde.

    Zu den Ideen, die aus zeitlichen Gründen noch nicht umgesetzt wurden, gehört eine

    Lageanzeige und Stabilisierungskontrolle. Diese basiert auf einem sogenannten IMU

    (Inertial Measurement Unit). Ein IMU besteht aus einem Beschleunigungsmesser,

    Kompasssensor und einem Gyroskop. Mithilfe dieses Sensorpakets kann das ROV

    bestimmen, wie es im Wasser liegt und allfällige Steuerkorrekturen vornehmen. Für

    den Bediener besonders praktisch wären natürlich die Daten, die der Kompasssensor

    ausgibt. So könnte man das ROV auch bei schlechter Sicht zu einem Ziel manövrieren.

    In diesen Bereich gehören auch der Tiefenmesser und die Lampen, von denen Pläne

    und Teile schon vorhanden wären, aber keine Zeit mehr blieb sie einzubauen.

  • Maturaarbeit 2015 / Christian Engler 4dNP 35

    10 Danksagung

    Mein herzlicher Dank gilt:

    Stefan Bertschi von der ETH Zürich für die Beratung in Sachen Tauchroboter.

    Der Firma Bolleter Composites, Arbon für die Spezialschaumstoffplatten für den

    Auftriebskörper.

    Der Firma Breu Mechanik AG, Au für die Herstellung des Hauptdruckkörpers.

    Markus Engler für die Beratung beim Bau und die Unterstützung beim Testen

    des ROVs.

    Stephan Greiner vom Badischen Tauchsportverein für das zur Verfügung

    stellen der Druckkammer.

    Marc Gschwend für die Beratung zur Stromversorgung und die tatkräftige Hilfe

    bei der letzten Testfahrt bei winterlichen Temperaturen.

    Der Firma KUBO TECH AG, Effretikon für alle O-Ringe.

    Markus Rohner für die Beratung zu Fragen der Internet-verbindung

    Bastian Schildknecht für die wertvolle Beratung bei der Programmierung der

    Software.

    Daniel Schildknecht fürs Fotografieren beim letzten Test.

    Patrick Schildknecht fürs Fotografieren beim letzten Test.

    Ivo Schulthess für die LEDs

    Thomas Spirig für die motivierende Betreuung meiner Maturaarbeit.

    Christoph Zingg für den Tauchcomputer.

    11 Schlusswort

    Durch diese Arbeit bin ich dem in der Einleitung erwähnten Kindheitstraum sicher

    einiges näher gekommen. Obwohl das ROV bereits funktionstüchtig ist, betrachte ich

    es im Moment eher als Prototyp und habe vor, es weiter zu verbessern und

    auszubauen. Mein Ziel ist eine Tauchfahrt mit dem ROV zum Wrack der DS „Jura“, das

    vor Bottighofen in 40 m Tiefe im Bodensee liegt.

    Nebst dem Erschaffen des Produkts habe ich aber auch viel Neues gelernt. Dinge, die

    mir auch später im Studium sicher sehr nützlich sein werden und von denen ich noch

    lange profitieren werde.

  • Maturaarbeit 2015 / Christian Engler 4dNP 36

    Dadurch dass dieses Projekt Elemente aus Physik, Mechanik, Elektronik und

    Informatik vereinte, war für mich der Gewinn an neuem praktischem Wissen enorm.

    Was für mich aber die wertvollste Erfahrung im Zusammenhang mit diesem Projekt ist,

    sind die vielen Kontakte zu verschiedensten Leute, die dank dieser Arbeit entstanden

    sind.

    12 Bestätigung der Eigentätigkeit

    Der Unterzeichnende bestätigt mit seiner Unterschrift, dass die Arbeit selbstständig

    verfasst und in schriftliche Form gebracht worden ist, dass sich die Mitwirkung anderer

    Personen auf Beratung und Korrekturlesen beschränkt hat und dass alle verwendeten

    Unterlagen und Gewährspersonen aufgeführt sind. Er weiss, dass die erstellte Arbeit

    Eigentum der Schule ist. Eine Veröffentlichung oder Weitergabe bedarf der

    Zustimmung von Autor, Betreuer und Schulleitung.

    St. Gallen 02.02.15 Christian Engler

  • Maturaarbeit 2015 / Christian Engler 4dNP 37

    13 Literaturverzeichnis

    Christ Robert D., Wernli Robert L. Sr. (2014). The ROV Manual. Waltham: Butterwoth-

    Heinemann

    Theis, Thomas. (2011). Einstieg in Python. Bonn: Galileo Press

    Holm, Walt. Teardown of a HomePlug Adapter. Zugriff am 20. November 2014 unter

    http://community.openrov.com/forum/topics/teardown-of-a-homeplug-adapter

    The Software Servo Library. Zugriff am 20. Dezember 2014 unter

    http://playground.arduino.cc/ComponentLib/Servo

    Wikipedia. Balun. Zugriff am 25. Februar 2015 unter http://de.wikipedia.org/wiki/Balun

    PySerial. Zugriff am 15. November 2014 unter http://pyserial.sourceforge.net/

    Wikipedia. Category 5 Cable. Abgerufen am 11. Oktober 2014 unter

    http://en.wikipedia.org/wiki/Category_5_cable

    Datenblatt DocID2149 Rev 22 (2014) von STMicroelectronics

    14 Abbildungsverzeichnis

    Alle Abbildungen wurden vom Autor erstellt, mit folgenden Ausnahmen:

    Abb. 4: Christ Robert D., Wernli Robert L. Sr. (2014). The ROV Manual. Waltham:

    Butterwoth-Heinemann. Abbildung 3.12 und 3.13. S. 76

    Abb. 13: O-Ringe. Zugriff am 20. Januar 2015 unter http://www.hug-

    technik.com/inhalt/fb/o-ring.html

    Abb. 22: Cables & intterconnect. Zugriff am 20 Januar 2015 unter

    http://www.rmhgroup.co.uk/products/cables-interconnect/

    http://community.openrov.com/forum/topics/teardown-of-a-homeplug-adapterhttp://playground.arduino.cc/ComponentLib/Servohttp://de.wikipedia.org/wiki/Balunhttp://pyserial.sourceforge.net/http://en.wikipedia.org/wiki/Category_5_cablehttp://www.hug-technik.com/inhalt/fb/o-ring.htmlhttp://www.hug-technik.com/inhalt/fb/o-ring.htmlhttp://www.rmhgroup.co.uk/products/cables-interconnect/

  • Maturaarbeit 2015 / Christian Engler 4dNP 38

    Abb. 24 : Datenblatt DocID2149 Rev 22 (2014) von STMicroelectronics

    Abb. 35 : Mit freundlicher Genehmigung von Daniel Schildknecht

  • Anhang 1

    Maturaarbeit 2015 / Christian Engler 4dNP 39

    Arduino Quellcode

    #include

    Servo servor; //Benennen der Motoren

    Servo servol;

    Servo servov;

    int x = 0; // SerialInput Variable

    int i = 0; //Zählvariable für Rampe

    int posV = 60; //Standardgeschwindigkeit pos.

    int negV = 120; //Standardgeschwindigkeit neg.

    int neutV = 90; //Neutralstellung der Motoren

    int vPosV = 110; //Standadwert für Auftauchen

    int vNegV = 70; //Standartwert für Abtauchen

    int vNeutV = 90; //Neutralposition

    boolean bCont = false;

    boolean upTog = false;

    boolean downTog = false;

    int brDelay = 2000; //Verzögerug für Rampe der Tarierungskkontrolle

    int bDelay = 128;

    void setup() {

    Serial.begin(4800); // Serial Verbindung aufbauen

    Serial.println("Arduino-ROV Steuerungssoftware");

    servol.attach(9); //Anschliessen der ESCs an die Pins

    servor.attach(11);

    servov.attach(10);

    servol.write(neutV); //Alle Motoren auf neutral stellen

  • Anhang 1

    Maturaarbeit 2015 / Christian Engler 4dNP 40

    servor.write(neutV);

    servov.write(neutV);

    bCont = false;

    upTog = false; //Anfangsstatus der Auftriebskontrolle

    downTog = false;

    }

    void loop() {

    //s = 100;

    x = Serial.read(); // Variable für den Serialspeicher

    //Vorwärts fahren

    if (x == 119) { // Serialsignal empfangen

    Serial.write("Info erhalten"); //Nur für Diagnose

    servol.write(60); //Linker und rechte Motor einschalten

    servor.write(60);

    delay(128); //Verzögerung auf die Baudrate angepasst

    servol.write(90); //Motoren wieder ausschalten

    servor.write(90);

    Serial.flush(); //Serialspeicher leeren um Platz für

    //das nächst Signal zu machen

    }

    // Links:

    else if (x == 97) {

    Serial.write("Info erhalten");

    servor.write(60);

    delay(128);

  • Anhang 1

    Maturaarbeit 2015 / Christian Engler 4dNP 41

    servor.write(90);

    Serial.flush();

    }

    // Rechts:

    else if (x == 100) {

    Serial.write("Info erhalten");

    servol.write(60);

    delay(128);

    servol.write(90);

    Serial.flush();

    }

    // Rückwärts:

    else if (x == 115) {

    Serial.write("Info erhalten");

    servol.write(120);

    servor.write(120);

    delay(128);

    servol.write(90);

    servor.write(90);

    Serial.flush();

    }

    //Rotieren im Gegenuhrzeigersinn

    else if (x == 113) {

    Serial.write("Info erhalten");

  • Anhang 1

    Maturaarbeit 2015 / Christian Engler 4dNP 42

    servol.write(120);

    servor.write(60);

    delay(128);

    servol.write(90);

    servor.write(90);

    Serial.flush();

    }

    //Rotieren im Uhrzeigersinn

    else if (x == 101) {

    Serial.write("Info erhalten");

    servol.write(60);

    servor.write(120);

    delay(128);

    servol.write(90);

    servor.write(90);

    Serial.flush();

    }

    // Aufwärts:

    else if (x == 111) {

    if (!(downTog)) {

    if (upTog) {

    Ramp(servov, vNeutV, brDelay);

    upTog = false;

    }

    else {

    Ramp(servov, vNegV, brDelay);

    upTog = true;

    }

    }

    Serial.flush();

    }

    //Abwärts:

  • Anhang 1

    Maturaarbeit 2015 / Christian Engler 4dNP 43

    else if (x == 108) {

    if (!(upTog)) {

    if (downTog) {

    Ramp(servov, vNeutV, brDelay);

    downTog = false;

    }

    else {

    Ramp(servov, vPosV, brDelay);

    downTog = true;

    }

    }

    Serial.flush();

    }

    //Einschalten der Tarierkontrolle

    else if (x == 116) {

    if (!(bCont)) {

    Ramp(servov, vNeutV, brDelay);

    bCont = true;

    }

    else {

    servov.write(neutV);

    bCont = false;

    }

    Serial.flush();

    }

    //Auftrieb verringern

    else if (x == 122) {

    vNeutV++;

  • Anhang 1

    Maturaarbeit 2015 / Christian Engler 4dNP 44

    if (bCont) {

    Ramp(servov, vNeutV, bDelay);

    }

    Serial.flush();

    }

    //Auftrieb erhöhen

    else if (x == 117) {

    vNeutV--;

    if (bCont) {

    Ramp(servov, vNeutV, bDelay);

    }

    Serial.flush();

    }

    //Alles Abbrechen – Motoren Stoppen

    else if (x == 107) {

    servov.write(neutV);

    servor.write(neutV);

    servol.write(neutV);

    bCont = false;

    upTog = false;

    downTog = false;

    Serial.flush();

    }

    }

    //Rampe für das vertikale Strahlruder

    void Ramp (Servo S, int V, int Delay) {

    int deltaV = abs(S.read() - V);

  • Anhang 1

    Maturaarbeit 2015 / Christian Engler 4dNP 45

    if (S.read() > V) {

    for (int i = S.read(); i >= V; i--) {

    S.write(i);

    delay(Delay/deltaV);

    }

    }

    else if (S.read() < V) {

    for (int i = S.read(); i

  • Anhang 2

    Maturaarbeit 2015 / Christian Engler 4dNP 46

    Python Script

    import serial //PySerial Modul Importieren

    import tkinter as tk

    import time

    ser = serial.Serial('COM5', 4800) //Serialverbindung herstellen

    time.sleep(2)

    def keypress(event): //Auf Tastatursignale warten

    if event.keysym == 'Escape':

    root.destroy()

    x = event.char

    if x == "w":

    print (‘vorwärts’) //Buchstaben senden

    ser.write(b'w')

    time.sleep(0.1)

    elif x == "a":

    print (‘links’)

    ser.write(b'a')

    time.sleep(0.1)

    elif x == "s":

    print ('rückwärts')

    ser.write(b's')

    time.sleep(0.1)

    elif x == "d":

    print ('rechtst')

    ser.write(b'd')

    time.sleep(0.1)

    elif x == "q":

    print ('rot GUZS')

  • Anhang 2

    Maturaarbeit 2015 / Christian Engler 4dNP 47

    ser.write(b'q')

    time.sleep(0.1)

    elif x == "e":

    print ('rot UZS')

    ser.write(b'e')

    time.sleep(0.1)

    elif x == "o":

    print (‘aufwärts’)

    ser.write(b'o')

    time.sleep(0.1)

    elif x == "l":

    print (‘abwärts’)

    ser.write(b'l')

    time.sleep(0.1)

    elif x == "t":

    print (‘Auftriebskontrolle einschalten’)

    ser.write(b't')

    time.sleep(0.1)

    elif x == "z":

    print ('Auftrieb verringern')

    ser.write(b'z')

    time.sleep(0.1)

    elif x == "u":

    print (‘Auftrieb erhöhen')

    ser.write(b'u')

    time.sleep(0.1)

  • Anhang 2

    Maturaarbeit 2015 / Christian Engler 4dNP 48

    elif x == "k":

    print (‘alles angehalten')

    ser.write(b'k')

    time.sleep(0.1)

    else:

    print ('keine Aktion')

    root = tk.Tk()

    print ('Programm geladen --> Steuerung aktiv:')

    root.bind_all('', keypress)

    # Fenster nicht zeigen

    root.withdraw()

    root.mainloop()

  • Anhang 3

    Maturaarbeit 2015 / Christian Engler 4dNP 49

    Zusammenfassung

    Verfasser: Christian Engler

    Betreuer: Thomas Spirig

    Thema: Bau eines Tauchroboters

    Das Ziel der Arbeit war es ein Tauchfahrzeug zu bauen, ein sogenanntes ROV

    (Remotely Operated Vehicle), das mit einem Laptop an Land verbunden ist, mit dem es

    sich steuern lässt. Während des Tauchgangs soll es Livevideobilder an die Oberfläche

    senden. Zudem sollte es als modulare Plattform gebaut sein, die es ermöglicht, einfach

    Änderungen vorzunehmen und das ROV für verschiedene Einsatzzwecke auszurüsten.

    Der Antrieb erfolgt mit 3 Motoren, die wasserdicht abgekapselt sind und über

    Magnetkupplungen je einen Propeller antreiben. Zwei dieser sogenannten Strahlruder

    ermöglichen horizontale Bewegungen, während mit dem dritten Strahlruder, oben auf

    dem ROV montiert, das Auf- und Abtauchen gesteuert wird.

    Der Hauptdruckkörper des ROVs bildet das Herzstück. Er enthält die gesamte

    Bordelektronik des ROVs und muss deshalb besonders dicht sein. Er besteht aus einer

    Aluminumröhre mit 110 mm Durchmesser, die an beiden Enden durch Verschluss

    deckel mit je zwei O-Ring Dichtungen abgedichtet sind.

    Um ein Livevideobild zu übertragen, wurde eine analoge Videokamera am ROV

    montiert, welche in einem Plexiglasgehäuse sitzt. Um die Komponenten wie Kamera

    und Motoren mit dem Hauptdruckkörper und der sich darin befindlichen Elektronik zu

    verbinden, braucht man Schnittstellen, die dem hohen Wasserdruck standhalten. Da

    komerziell erhältliche Unterwasserstecker viel zu teuer sind, wurden speziell für dieses

    Projekt Schnittstellen entwickelt, die ohne Stecker auskommen.

    Die Elektronik des ROVs besteht aus einem umgebauten Powerline-Modul, das die

    Signale vom Laptop über ein 100 m langes Kabel an einen USB-Extender an Bord des

    ROVs sendet. An diesem Extender ist ein Arduino Mikrocontroller angeschlossen, der

    so programmiert ist, dass er die ankommenden Signale in Aktionen umwandelt, die

    dann von den Motorreglern ausgeführt werden.

    Auf dem Laptop läuft ein Programm, das die Tastatursignale, die der Benutzer eingibt,

    an das ROV sendet. Nebst dem Laptop gehört ein Monitor zur landseitigen Kontroll-

    und Steuereinheit. Auf diesem Monitor ist das Livebild der Kamera zu sehen, die vorne

    am ROV angebracht ist.

    Teil der Arbeit waren auch eine Reihe von Tests, bei denen Dichtigkeit und

    Funktionsweise des Tauchroboters überprüft wurden.