Homepage von Peter Rachow Startseite - Home

Der Selbstbau-Tauchcomputer Version 4 (SBTC4)

Allgemeines 

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

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

1. Neurungen des SBTC 4 gegenüber dem SBTC 3

Der SBTC 4 ist im Gegensatz zu seinen Vorgängern mit einem grafischen Display ausgestattet. Dieses erlaubt die Darstellung von bis zu 65k-Farben. Insbesondere interessant ist ein solches Display, weil sich nun die u. a. Möglichkeit ergibt,
  • ein Tauchprofil grafisch anzuzeigen,
  • ein Balkendiagramm für die Sättigung der Kompartimente zu erstellen,
  • das Display übersichtlich zu gestalten,
  • etc. etc.

(C) Peter Rachow

Das verwendete Display trägt die Bezeichnung D072 und wird komplett mit einem ATMega128 Controller, einem MAX232-Baustein, einem Tastenfeld mit 6 Tastern (muss selbst verlötet werden) und einiger anderer Peripherie von der Firma Display3000 geliefert. Hier der Link zum Produkt. Der Preis beträgt je nach Ausstattung um die 100 Euro. Wenn man bestellt, sollte man in jedem Fall einen Uhrenquarz, einen 14,7456 MHz-Quarz, die Transistoren für die Displaybeleuchtung und die Option, die gesamte Peripherie über den MCU abschaltbar zu machen, mitbestellen.

Alles was dann noch zu tun ist, ist das Board entsprechend zu beschalten. Fast alle Ports des Controllers (beim ATMega128 sowieso mehr als genug) sind nach außen geführt und stehen an den PINs des Pfostensteckers der Platine
an.

Weiterhin sind natürlich die üblichen Sensoren erforderlich, die Druck, Temperatur und Batteriespannung messen. Für die Sensorik und den Rest der Schaltung habe ich i. W. auf die gleichen Schaltungen zurückgegriffen, die ich bereits beim SBTC3 verwendet habe (Schaltung), da der SBTC 4 das gleiche Gehäuse und damit den gleichen Drucksensor (Intersema MS5212BZ) verwendet.
Wie der Controller an welchen Ports beschaltet wird, steht dazu im (noch nicht ganz fertigen) Quellcode.

Auch das Akkukonzept ist identisch. Das Display verbindet sich über Pfostenstecker mit der darunter liegenden restlichen Elektronik. Der Aufbau der gesamten Hardware dauert so nur wenige Stunden.


Software 
Quellcode (HTML_Darstellung)(als .C-Datei)

Das Programm ist in wesentlichen Funktionen mit dem des SBTC 3 identisch, nur einige Fehler wurden eliminiert. Weiterhin sind für die andere Taster-Port-Verknüpfung und natürlich das Grafikdisplay Änderungen erforderlich. Außerdem muss man die Routinen für die serielle Datenübertragung umschreiben, da der ATMega128 zwei serielle Port besitzt und nur der Port 1 verwendet wird. Hier sind ein paar Variablen bzw. Bezeichner zu ändern.

Das Display wird über die SPI-Schnittstelle des Controllers seriell angesteuert, so dass hier sehr wenig zu konfigurieren ist.
Die Ansteuerung des Displays zu realisieren gelingt mit der guten und ausführlichen Dokumentation, die auf CD-ROM der Hardware beliegt, innerhalb sehr kurzer Zeit. Die Routinen sind schnell geschrieben, wenn man das Datenblatt des ATMega128 gelesen und sich im WWW über SPI infomiert hat.

Im Code ist auch ein Zeichensatz definiert, den man sich mit dieser von mir erstellten Excel-Tabelle leicht selbst erzeugen kann.


(C) Peter Rachow
Die Daten während eines simulierten Tauchganges.

Linke Spalte von oben nach unten: Die  aktuelle und maximale erreichte Tiefe,
 Gesamtdekozeit und Inertgaspartialdruck in den 16 Geweben.
Rechte Spalte: Gesamttauchzeit und die Dekompressionsstufen.


Funktionen der Software
(nur die wichtigsten):

  • Messung von Tiefe, Zeit, Temperatur, Speicherung der max. Tiefe.
  • Dekompressionsberechnung auf der Basis des ZH-L16 (Implement entsprechend Bühlmann d. h. "Deepstops" nicht eingebaut).
  • Wählbare Einsatzhöhe über NN (Bergseetauchen!) zwischen 0 und 4000 Metern.
  • Übersättigungstoleranzen veränderbar, allerdings nur gemeinsam (i. e. ein konstanter Faktor für a UND b).
  • 3 Atemgase vorwählbar mit beliebigen Zusammensetzungen aus O2 und N2. Atemgas kann während des Tauchens gewechselt werden.
  • Grafische Ausgabe der N2-Gewebesättigung während der Tauchzeit und der OFP als Balkendiagramm.
  • Ausgabe einer Warnung bei Überschreiten eines eingestellten max. Wert für ppO2 (zwischen 1.0 und 2.0 bar).
  • Berechnung von O2-Belastung für ZNS, OTU.
  • Tauchgangsspeicher für ca. 20 Stunden reine Tauchzeit.
  • Ausgabe einer Tauchprofilgrafik während der OFP mit statistischen Angaben zum TG und Dekostufen.
  • Schnittstelle zum PC über RS232 (9600 Baud).
  • Überwachung der Batteriespannung (0.1 V Auflösung).
  • Bedienersteuerung über 6 Tasten während der OFP um Grundeinstellungen zu setzen.
  • Dimmen der Displaybeleuchtung über PWM-Funktion des AVR
  • Automatisches Abschalten der Displaybeleuchtung nach vorgewählter Zeit um Energie zu sparen. (Iges. dann noch ca. 7 mA). Display bleibt aber ablesbar.
  • Automatisches Abschalten der gesamten Peripherie nach vorgewählter Zeit um Energie zu sparen (Display komplett, Spannungswandler für Displaylicht, MAX232, etc... Iges. dann noch ca. 0.7 mA). Setzen des "Sleepmode" des AVR-Controllers, Wiederaufwecken entweder bei TG-Beginn (WT > 1m) oder Tastendruck.
  • Echtzeituhr mit Datum und Uhrzeit, zu setzen über RS232.
  • uvm.
So weit, so gut... (C) Peter Rachow