Divers Decompression Computer
A decompression computer is a small, self contained, battery powered,
intelligent instrument that a diver wears on a dive. It is a microprocessor or
microcontroller based instrument that consists of a: custom single board computer
(SBC);
liquid crystal display (LCD); transducers to measure depth, air pressure, and
temperature;
a waterproof pressure resistant housing; and finally the software that controls the
hardware and actually does all of the calculations.
Routine data automatically tracked by the computer includes: current depth, maximum depth
for the current dive, bottom time, surface interval time
between dives, current tank air pressure,
number of minutes to get down to 500 psi air pressure at the current rate of respiration,
temperature inside the computer, and battery voltage. The computer also uses a twelve
tissue mathematical model of the human body to calculate nitrogen absorption and
desorption rates as a function of depth and time at depth. These values are compared to
maximum allowed values for these tissues and the maximum safe ascent ceiling is displayed
on the LCD. The computer also displays a visual and sounds an audible alarm if the
following limits are exceeded: ascend or descend too fast (allowable rate varies with
depth), too deep for device (> 200 feet), diver above safe decompression ceiling, air
low, and battery low. A dive log for the last 100 dives is also maintained as a small
database in the computer. The data tracked for each dive includes: dive number, maximum
depth, bottom time, and surface interval. Finally the computer displays when it is safe to
fly with respect to the divers decompression status.
The first simplistic version that I developed in the
Interdisciplinary Ocean Engineering Program at the University of California at Berkeley (UCB) was based on an Intel
8085 microprocessor. The next version that I worked on, after I completed my
Masters work and graduated, used a National Semiconductor NSC800 and was still
just a laboratory wire wrap prototype. The current
working (diving) dive computer is based on an Intel 80C31 which is a ROMless version of
the 8051 which is an 8 bit, single chip, CMOS microcontroller. All of the previous versions
worked as laboratory prototypes at various levels but were based on the "best" available microprocessor at the time. A
microcontroller is much more desirable for an intelligent instrument of
this type than a general purpose microprocessor. A microprocessor is generally more
powerful computationally; but consumes more battery power, and does not include any integrated peripheral
chips. Therefore it consumes more physical space with a
larger PCB, and consumes more battery power.
The current dive computer involved designing a custom SBC designed around the 80C31, its external RAM, and EPROM
chips, analog to digital converter (ADC), two pressure transducers, a
temperature transducer and their amplifiers, a
4x20 LCD, and the required power down circuitry to maximize battery life. The SBC runs on
a two second cycle where it does all of its measurements, calculations, and then
updates the
display. It goes to sleep for the remainder of the cycle and is automatically awakened by
a hardware interrupt from the real-time clock. For this application the 8 bit
MCU is sleeping approximately 80% of the time which is good for maximizing
battery life. The SBC required a custom multilayer PCB
for small and efficient implementation. The waterproof, pressure resistant housing was
designed with a 2D/3D CAD system. A Finite Element Analysis (FEA) was performed
on the pressure resistant housing to compute its stresses and determine its ability to withstand
the maximum test depth of 300 feet. The
housing was then manufactured with a Computer Numerical Control (CNC) milling machine at a
local Baltimore machine shop. All of the current and previous versions of the real-time
interrupt driven software were written entirely in C. To the best of my knowledge, this is
the first and only dive computer in the world that has been implemented with a high level
language. All the rest use assembly language which in some respects is more
primitive although it would require less memory. It was also the world's first
dive computer to offer integrated air support.
This project was begun as a second research project as a graduate student in
Ocean & Mechanical
Engineering at the University of California at Berkeley. My primary research
project, which consumed most of my time, was an experimental mass transfer analysis of a
divers CO2 scrubber system. Because of that I only got a very rudimentary dive
computer running there. It was really just a simplified laboratory model, more for my own
education than any actual new research. Several years after completing my work at UCB I
decided to complete the decompression computer on my own. To date it has been
used successfully on fifty test dives. This is a working prototype, to turn it into a finished
commercial product would
require additional financial investors to develop a better physiological model,
and to redesign for mass production.
|