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.
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.
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... 