Homepage von Peter Rachow Startseite - Home

Der Selbstbau-Tauchcomputer

Allgemeines 

Forschung und Entwicklung: LCD-Anzeige | Mikrocontroller | Software | Sensoren | Gehäuse | Erfahrungsberichte

Geräte: SBTC3 | SBTC4 | Datenmodem zum PC | Simulator für Drucksensor

1. Projektüberblick

In Kurzform: 

  • Selbstbautauchcomputer mit ATMega32 

  • analoger Drucksensor, Messverstärker mit OP.

  • Bühlmanndekompression, Luft und Nitrox.

Die verschiedenen Versionen meiner Selbstbautauchcomputer

  • SBTC1 (2003, ATMega8, 2x16 DOT-Matrixtextdisplay, Luft - hier nicht mehr dokumentiert).
  • SBTC2 (2004, ATMega32, 2x16 DOT-Matrixtextdisplay, RS232, Luft, Nitrox, Trimix, i. e. "das volle Programm" (C) Peter Rachow  - hier nicht mehr dokumentiert).
  • SBTC3b (2008 bzw. 2011, ATMega32, 2x16 DOT-Matrixtextdisplay, Luft, 2 x Nitrox)
  • SBTC4 (2008, ATMega128, farbiges LCD-Grafikdisplay, RS232 Kommunikation mit PC, Luft, 2 x Nitrox)
Der SBTC 3
SBTC 3b
(oben.) und der SBTC4 (unten)
(C) Peter Rachow


1.1 Einleitung

Warum ein selbst konstruierter Tauchcomputer? Es gibt doch jede Woche einen neuen von einem der bekannten Hersteller mit allen möglichen tollen "Features" wie "luftintegriert", Nitrox, Mischgas, etc.... Alle erdenklichen, meist mehr oder weniger sinnvollen, Funktionen werden angeboten. Außerdem haben diese Geräte heute oft nur noch die Größe einer Armbanduhr. Und dann die Kosten?!?! Da lohne sich Selbstbau doch kaum, wird manch einer sagen...

Und allgemein gesprochen: "Funktioniert das überhaupt? Ist das Gerät sicher und zuverlässig?", so fragte mich zweifelnd mal ein Taucher, der sein Leben allerdings blind einem "Buddy Inspiration" anvertraut. Wenn der wüsste, was da an versagensanfälligem Elektronikschrott und Mechanik in seiner Kreislaufmühle sich befindet und wie "zuverlässig" das arbeitet. Na ja, persönliche Kompetenz und finanzielle Ausstattung müssen ja nicht immer unbedingt kongruent sein...

Also, um die Fragen zu beantworten: a) es lohnt sich und b) es funktioniert und c) sogar zuverlässig.

Die Gründe, sich einen eigenen Tauchcomputer zu bauen, sind vielfältig. Nur mal um ein paar genannt zu haben:

Vor allem anderen ist ein solches Projekt eine nicht zu unterschätzende technologische Herausforderung für den technikinteressierten Sporttaucher. Man muss dazu zwangsläufig die Pfade verlassen, die rein auf Konsum orientiert sind ("Soll ich "Diverite" oder "Halcyon" kaufen?", "Wohin tue ich den Schlauch?" oder "Ist dieses Jacket 'DIR"-konform?", "Soll ich dieser Jahr den 'Divemaster' machen oder nächstes?", etc...) und sich mit dieser doch sehr technischen Materie sehr eingehend befassen.

Die besonders interessanten Aspekte eines eigenen Dekompressionsrechners liegen des Weiteren u. a. darin, dass man sich eine Software nach den eigenen Vorstellungen entwickeln kann, man also über die Erstellung reiner Simulationssoftware (wie z. B. VD 3) hinauskommt, und somit den PC quasi mit unter Wasser nehmen kann. Dieses Tauchcomputerprogramm wird dann i. d. R. Funktionen enthalten, die normale Dekompressionsrechner nicht besitzen oder die nur in der Hochpreisklasse verfügbar sind. So wäre z. B. zu nennen die Möglichkeit, das eigentliche Dekompressionsverfahren zu verändern (z. B. abweichende Übersättigungstoleranzen oder eine langsamere Entsättigung vorzusehen, heute nennt man sowas wohl "gradient factors", der klassisch ausgebildetete Sporttaucher spricht lieber von "modifizierter Entsättigung"), unterschiedliche Atemgase benutzen zu können und diese auch während des Tauchganges zu wechseln, eine " Anti-Diveguide"-Funktion einzuprogrammieren, bei der für die Damen und Herren Basenkontrolletties die max Tiefe des TG immer 31.2 m beträgt, etc. (C) Peter Rachow

Des Weiteren hat diese Projektarbeit natürlich einen sehr hohen Bildungswert, da man sich als Hobbyelektroniker in die Thematiken Mikrocontroller, Softwareentwicklung etc. einarbeiten bzw. vertiefen kann bzw muss. Auch die eigene Fähigkeit des wissenschaftlichen Arbeitens wird geschult, da immer wieder Auswertungen und Analysen der Ergebnisse von Tauchversuchen oder sonstigen Erprobungen vorzunehmen sind. Also alles in allem ein hochinteressantes Projekt für denjenigen der "Tauchtechnik" anstatt "Techdiving" sucht.

Zum Zeitrahmen und zum finanziellen Aufwand: Die Entwicklungszeit dauerte bei der hier vorgestellten Konstruktion ein 3/4 Jahr (ca. 250 Stunden reine Arbeitszeit) bis das erste Gerät tauchfertig war und nochmals ca. 100 h für die Feinarbeiten und allfällige Tests, insbesondere unzählige Versuchstauchgänge im See um die Ecke oder Simulationen am Schreibtisch.

Der finanzielle Aufwand lässt sich schlecht abschätzen, da die Kosten für das Gehäuse, das den Gesamtpreis letztlich definiert, relativ schwer vorher zu kalkulieren sind. Diese liegen wohl im Bereich zwischen ca. 10€, wenn einem ein Freund auf der Basis einer kleinen Gegenleistung dieses Teil anfertigt  und quasi "unbezahlbar". Die Kosten der reinen Elektronik des SBTC (Mikrocontroller, Display, Drucksensor, Akku, Kleinteile) fallen dagegen summa summarum in den Bereich von ca. 100 bis 120€. Hier ist der Preis für den Drucksensor der ausschlaggebende Faktor. Dieser liegt zwischen 20 und 70€, je nach Modell.

Zielgruppe: Das Projekt ist geeignet für Sporttaucher, die solide Kentnnisse in den Gebieten Hobbyelektronik, der Softwareentwicklung (so wird das Dekompressionsprogramm für dieses Gerät in der Sprache C programmiert, Assemblerkenntnisse für den Mikrocontroller sind dagegen nicht erforderlich) und der Dekompressionstheorie im Allgemeinen und des Bühlmannverfahrens  (oder eines anderen Verfahrens, wenn man denn z. B. VPM oder RGBM implementieren will, wofür es aber m E. keine Erfordernis gibt) im Besonderen haben und die anfallenden mechanische Arbeiten (Gehäuseherstellung) gut bewältigen können oder zumindest (wie der Autor dieses Textes) jemanden im Umfeld haben, der dabei behilflich sein kann.

Für die Unterstützung bei diesem Projekt gebührt besonderer Dank meinem langjährigen Tauchsportfreund Christian Zink, der mir über verschiedene anfängliche Klippen hinweg half und das Projekt "SBTC" erst ins Rollen brachte und A. Knopf, dem ich das Gehäuse zu verdanken habe.

Der SBTC als Fertiggerät? Verschiedentlich erhalte ich Anfragen, ob es den SBTC auch als Fertiggerät gibt. Leider muss ich diese Frage mit "Nein" beantworten. Der SBTC ist nicht als Fertigprodukt erhältlich. Die Gründe liegen u. a. darin, dass ich nicht als Hersteller auftreten kann und will, primär deshalb, um mich nicht mit den möglichen rechtlichen Folgen (Produkthaftung, Gewährleistung etc.), die dieses Engagement zwangsläufig nach sich ziehen würde, befassen zu müssen. Mich interessiert die Forschung und Entwicklung an der Sache und nicht die Kommerzialisierung des Projektes.

Ich will nun meine nunmehr fertig gestellte x-te Version des SBTC (die erste besaß nur einen ATmega8 als Mikrorechner und konnte wegegn der beschränkten Speicherkapazität des Controllers nur Luft-TG berechnen) schrittweise anhand der in ihn integrierten Systemelemente und der durchzuführenden Arbeitsschritte vorstellen, um auch dem in Elektronik nicht so erfahrenen Leser die Möglichkeit zu eröffnen, die einzelnen Teilbaugruppen zu verstehen, nachzuvollziehen und eine einfache Version eines Tauchcomputers nach-, oder sogar ein ähnliches (evtl. komplexeres) Gerät neu aufzubauen.

Sinn des nachfolgenden Textes ist es also weniger, eine ganz konkrete Bauanleitung (womöglich sogar mit einem Platinenvorschlag) zu geben, sondern eher dem Leser die Möglichkeit zu eröffnen, anhand einer Nachvollziehung von verständlichen Lernschritten in die Materie einzutauchen. Man kann viele Funktionen dieses Gerätes auch viel "hi-techiger" lösen, das würde aber die Anwendbarkeit für die breite Mehrheit der Hobbyelektroniker einschränken.

1.2 Literaturempfehlungen

Da das Thema relativ komplex ist, hier etwas Literatur, die man gelesen haben sollte, um die nachfolgende Ausarbeitung besser verstehen zu können:

2. Beschreibung des Gerätes

Ein Computer besteht bekanntermaßen aus Hard- und Software. Hier die Kurzübersicht über beide Systemgruppen:

2.1 Hardware

Der Selbstbau-Tauchcomputer (SBTC) ist von seiner Struktur her sehr einfach gehalten und besteht aus den folgenden Komponenten, von denen, bis auf das Gehäuse, alles Standardbauteile der Elektronik sind:
  • ein Atmel -AVR-Mikrocontroller (z. B. der ATMega32 mit 32 kB Flash-RAM und 1024 Byte EEPROM oder der ATMega128 mit 128k FLASH und 4 EEPROM).
  • ein 2-Zeilen*16-Zeichen LCD-Modul Typ 162C von Reichelt  oder ein Grafikdisplay.
  • ein beliebiger analoger Drucksensor in Wheatstone-Brückenschaltung zur Erfassung der Wassertiefe (Beispiele: Siemens KPY14, KPY45, Intersema MS5212BZ, SenSym 13U0500PAOK).
  • ein PTC-Element als Temperatursensor (KTY18)
  • eine Stromversorgung (z. B. 5V), manuell aktiviert durch Reedkontakt von außen.
  • Tastschalter für die Bedienersteuerung, plus Reedkontakt für Gaswechsel während des Tauchens.
  • die üblichen sonstigen Teile (Widerstände, Kondensatoren, Si-Dioden, NPN-Transistoren. LEDs)
  • ein Gehäuse.
Das Blockschaltbild des SBTC:

Blockschaltbild
Bild 2: Blockschaltbild des SBTC

Anmerkung: Die Stromversorgung ist ein 9.4V-NiMh-Akku bestehend aus einem 8.2V-Block und einer einzelnen Zelle 1.2V in Serie, alle Elemente mit einer Kapazität von ca. 250 mAh. Die Spannung wird für den Mikrocontroller und das LCD auf 6V - 0,7V (Si-Diode in Reihe) = 5,3 V stabilisiert. Für den Drucksensorverstärker werden die vollen 6V benötigt. Die Stromaufnahme beträgt im Betrieb ca. 6 mA.

2.2 Software

Die wichtigsten Eigenschaften der Dekompressionssoftware des SBTC:

  • Quellcode in C, bis auf eine Funktion wird kein Assemblercode verwendet.
  • Die Dekompressionsrechnung nach ZH-L16 mit veränderlichen Übersättigungskonstanten lässt die Definition eines "Konservativfaktors" zu. Mit ihm kann das Dekompressionsverfahren variiert werden. Ein hoher "Konservativfaktor" ergibt eine Verlängerung der Dekompressionszeiten mit einer Verkürzung der sog. Nullzeit und umgekehrt. Dieser benutzerdefinierte Faktor verändert die Übersättigungstoleranzen der Gewebe (a- und b-Faktoren), die mit einer Konstanten k  größer oder kleiner 1 multipliziert werden wobei gilt 0.8 <= k <= 1.3.
  • Anzeige während des Tauchgangs der aktuellen Tauchtiefe, der max. erreichten Tauchtiefe dieses TG, der Tauchzeit, Restnullzeit, Umgebungstemperatur, Dekompressionsstufen, etc.
  • Anzeige der Oberflächenpausenzeit und der Flugverbotszeit (bezogen auf einen variablen benutzerdefinierten Kabinendruck).
  • Während des Tauchens Ausgabe der üblichen Warnmeldungen bei Durchtauchen der aktuellen Dekostufe, Überschreiten des ppO 2 -Grenzwertes (einstellbar), etc., jeweils entweder über LCD bzw: LEDs (es ist allerdings kein nerviger Piepser eingebaut!)
  • Berechnung von ZNS- und Sauerstofftoxizitätsfaktoren (OTU):
  • Verwendung von bis zu § verschiedenen Atemgasen mit einem beliebigen Mischungsverhältnis von Inertgas (N 2 ) und Sauerstoff (i. e. kein Trimix, denn wer will das schon?) von denen jeweils eines in jeder Phase des TG verwendet wird. Die Gaswechsel sind durchführbar zu einem beliebigen Zeitpunkt während des Tauchens.
  • Benutzermenü für die Grundeinstellungen wie Atemgasgemisch, max. zulässiger ppO 2 etc..
  • Auslesemöglichkeit des EEPROM-Speichers (Logbuch, TG-Profile) über 3-Draht-Verbindung (TxD; RxD, GND) zum PC über USART des Mikrocontollers zur seriellen PC-Schnittstelle ( PC-Software in VB als Quellcode)
  • Abspeichern der Logbuchdaten im EEPROM (max. erreichte Tiefe, Anzahl TG, Gesamttauchzeit, etc.) Auslesen und Setzen durch PC-Verbindung.
  • Abspeichern des Tauchprofiles im EEPROM
  • Nutzung der Energiesparfunktionen des ATMEL-Controllers ("Sleepmodes").

3. Der Schaltplan

Systemplatine des SBTC
Bild 3: Der Schaltplan des SBTC 2 bzw. 3 ( Link zum Schaltplan in Origingalgröße)

Die SBTC-Seiten

Konzeption | LCD-Anzeige | Mikrocontroller | Software | Sensoren | Gehäuse | Erfahrungsberichte