Project in progress
UW-Makeathon: Deepwater Swarm Probe

UW-Makeathon: Deepwater Swarm Probe

Running for: NASA- Out of this world; Best Project; Formech Sustainability Award; Digi-Key Award; Isthmus Engineering Award

  • 58 views
  • 0 comments
  • 7 respects

Components and supplies

Necessary tools and machines

Formech Thermoformer
Used to create the waterproof casing for the project
Zvpgre11knthhycoezxn
Arduino Materia 101
3D Printer (Ultimaker 3)
Used to print the cap for the probe
Lasercutter
Laser cutter (generic)
We used the laser cutter to create a box that became the mold used in the thermoformer to create the casing for our probe
09507 01
Soldering iron (generic)
Generic hand tools (see comments)
a hacksaw, rubber mallet, and box cutters were all used in imparting slight modifications on our probe casing after the thermoforming process
Multimeter (generic)
wave generator (generic

Apps and online services

About this project

The Mission

The inspiration for the Deepwater Swarm Probe comes from one of the most fundamental characteristics of being human: the need to discover the unknown. This project aims to shed light on perhaps the darkest place on our planet, the ocean floor, by collecting mass quantities of data for the purpose of research.

Throughout the history of ocean exploration only three people have traveled to the deepest place on this planet, a dark cold void located over 30,000 feet below the Pacific Ocean and called the Mariana Trench. In total, their exploration time at this depth has amassed to only several hours, but what they found—rocky cliffs and new species of underwater creatures—was incredible and left us wanting more. Unfortunately, underwater exploration comes with many challenges:

  • The pressure at the deepest point in the ocean is about 1000 times the atmospheric pressure at the surface of the earth, which is an incredible amount of force.
  • Signal such as Wi-Fi, Bluetooth, and GPS don’t function beneath the surface of the ocean, so remote communication with underwater robots has posed a significant problem. For this reason, most underwater ROVs are controlled via a cable tether
  • People have tried to solve this using autonomous underwater rovers, but these technologies are very expensive

The Deepwater Swarm Probe presents a simple and relatively inexpensive alternative to these high-tech exploration methods. The probe is a solid, air-free unit that uses gravity to travel to the ocean floor. Once there, the data collection function is triggered and various sensors gather and store temperature and pressure levels (or any other sensors that the user may add). Once data collection is complete, the probe releases its ballast, allowing the lighter upper component containing all the sensors and stored data to float to the surface where it can be retrieved for analysis. How it works:

  • Probe is dropped at the surface of the ocean and sinks to the bottom of the ocean since its net density is more than that of water
  • a low center of gravity and weight attached to the bottom of the probe guides its journey to the ocean floor, assuring the probe lands right-side-up
  • after a predetermined amount of time, the probe starts collecting data
  • once data collection is complete, a servo arm moves a magnet, releasing a ballast connected to the bottom of the probe
  • the remaining top of the probe, now less dense than the surrounding water, rises back to the ocean surface

Potential Uses

The main goal of the Deepwater Swarm Probe is to gather mass amounts of data with the hope of providing more clarity on a realm that remains largely undiscovered. By simply dropping multiple underwater probes at the surface of the ocean and choosing different combinations of sensors, scientists can gather data on large sections of the sea floor and use it to conduct research on areas including

  • Oceanography: How do temperature and elevation vary over the ocean floor? Do certain parts of the ocean contain higher amounts of salt? How is the pH affected by ocean depth?
  • Biology: How do different species adapt to these deep water conditions?
  • Climate change: Are the temperature changes associated with climate change affecting deep ocean ecosystems?

Design Process

The design of our project began with discussion. What abilities would our probe have? Where might we run into problems? Who would use our probe? To better organize our design needs, we separated the probe's performance into four stages:

  • getting down to the ocean floor
  • collecting data
  • getting back up
  • getting found

from there, we started to create design drawings, make material lists, and build fabrication schedules.

Fabrication

Fabrication of the probe began with the outer casing. Originally, we started with a cylindrical shape with the intention of creating a more fluid dynamic probe. To create this, we used the laser cutter to cut out circles, which were then used as a model in the Formech thermoformer. After additional consideration and difficulty removing the disks from the mold, we decided to switch to a rectangular-prism-shaped body, which would maximize usable space to house internal components. However, this method also came with complications. Namely, the corners of the prism caused webbing in the thermoforming process, and, again, we had trouble removing the wood from the mold. Some addition attempts and modifications, such as using drafted sides and a slip of Tyvek paper between the wood and the plastic, led us to our final and most successful thermoform mold. If at first you don't succeed, try, try again.

After this, we 3D printed a lid for the probe case and moved on to creating a mechanism to release the weight on the bottom of the probe. We considered using an electromagnet, but we were unable to obtain one, and the one we created using copper wire wrapped around a bolt wasn't strong enough. This led us to using a servo to move a magnet -- when the servo was triggered, it would move its arm (and hence the magnet), causing the weight on the bottom of the probe to be released.

Programming and Circuitry

The programming and circuitry of the probe provided a vital function, allowing the device to take measurements and rise back up after a set amount of time at depth. We iteratively tested each sensor and servo both individually on the Arduino Uno and with a multimeter to ensure it works as expected. We then combined them all and tested the physical weight drop and each sensor reading, as well that we could read them off of the arduino onboard memory.

Testing and Analysis

Throughout the making of the Swarm Probe, we conducted several tests to make sure we were headed in the right direction. These included

  • data collection test: validated that our code was functioning properly and collecting data from the environment
  • magnetic release system test: confirmed the servo was powerful enough to release a ballast from the bottom of the probe
  • buoyancy test: without the ballast attached to the probe, the probe must float to the top of the water surface
  • electrical test: once the probe case was filled with castor oil, we tested the electronics to make sure that the probe was collecting data and was able to release the ballast
  • final test: after we sealed our probe with caulk, we tested our probe in a bucket of water. The probe spent 5 minutes at the bottom of the bucket collecting data until the servo released the ballast and the probe returned to the surface. Successful!

Conclusion

This project demonstrates the viability of widespread, low-investment science for the purposes of maximizing available data regarding the under-studied ocean depths. As a functioning prototype, our device serves as a solid foundation from which future probes can build. Those future versions could include a multitude of sensors, both internally and externally mounted to the device and integrated into microelectronics to save space and fabrication resources, a pill-like casing to be accessed by a resealable port for customization and a data cable for non-invasive transfer. Inter-device communication would allow for a data "hive mind" and GPS additions are an inevitable addition for surer location of deployed devices.

References:

http://www.deepseachallenge.com/the-expedition/mariana-trench/

https://news.nationalgeographic.com/news/2012/03/120325-james-cameron-mariana-trench-challenger-deepest-returns-science-sub/

Code

Main program fileC/C++
This is uploaded to the arduino uno and run to collect data.
/*
  Thomas Hansen
  Yash Wani
  
  This is the code for installing on the arduino for the run, 
  and it will collect the necessary data.
*/

#include <Adafruit_BMP280.h>
#include <EEPROM.h>
#include <Servo.h>

#define BMP_SCK 13
#define BMP_SDO 12
#define BMP_SDI 11 
#define BMP_CS 10
#define SERVO 8

int eepromIndex = 0;
int loopIterations = 0;

Servo weightServo;

Adafruit_BMP280 bmp280(BMP_CS, BMP_SDI, BMP_SDO,  BMP_SCK);

void setup() {
  
  Serial.begin(9600);  //Set the baud rate of serial monitor as 9600bps
  
  // setup servo
  weightServo.attach(SERVO);
  weightServo.write(0);

  if (!bmp280.begin())
  {
    Serial.println("Unable to connect to barometer.");
    while (true);
  }
    
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  
}

/*
  Continually loops throug
*/
void loop() {
    
  Serial.print(F("Temperature: "));
  float curTemp = bmp280.readTemperature();
  Serial.print(curTemp);
  Serial.println(" deg C");
  
  Serial.print(F("Pressure: "));
  float curPress = bmp280.readPressure();
  Serial.print(curPress);
  Serial.println(" Pa");
  
  Serial.print(F("Depth: "));
  float curDepth = realDepth();
  Serial.print(curDepth);
  Serial.println(" m");
  
  
  // write data to EEPROM
  EEPROM.put(eepromIndex, curTemp);
  eepromIndex = eepromIndex + sizeof(float);
  
  EEPROM.put(eepromIndex, curPress);
  eepromIndex = eepromIndex + sizeof(float);  
  
  EEPROM.put(eepromIndex, curDepth);
  eepromIndex = eepromIndex + sizeof(float);  
  
  Serial.println();
    
  delay(5000);
  
  ++loopIterations;
  Serial.println(loopIterations);
  if (loopIterations > 24) {
    weightServo.write(140);
  }
  
}

/*
  Calculates the depth of the probe in m below
  sea level based off pressure.
*/
float realDepth() {
  int pTotal = bmp280.readPressure();
  int pAtm = 99964;
  
  return (pTotal - pAtm)/(1025 * 9.806);
}
Read DataC/C++
This code is used to read the data off of the probe.
#include <EEPROM.h>

float f = 0.00f;
int eeAddress = 0;
int i = 0;
  
void setup(){
  
  Serial.begin( 9600 );
  while (!Serial) {
    ;
  }
  int eeAddress = 0;
    
  Serial.print( "Temperature: " );
  EEPROM.get( eeAddress, f );
  Serial.print( f, 3 );
  Serial.println(" deg C");
  delay(1000);
      
  for (int i=1; i < 10; i++) {
  
    eeAddress = eeAddress + sizeof(float);
    Serial.print( "Pressure: " );
    EEPROM.get( eeAddress, f );
    Serial.print( f, 3 );
    Serial.println(" Pa");
     delay(1000);
     
    eeAddress = eeAddress + sizeof(float);
     
    Serial.print( "Depth: " );
    EEPROM.get( eeAddress, f );
    Serial.print( f, 3 );
    Serial.println(" m");
    delay(1000);
      
    eeAddress = eeAddress + sizeof(float);
    
    Serial.print( "Temperature: " );
    EEPROM.get( eeAddress, f );
    Serial.print( f, 3 );
    Serial.println(" deg C");
    delay(1000);
  
  }
    
  eeAddress = eeAddress + sizeof(float);
  Serial.print( "Pressure: " );
  EEPROM.get( eeAddress, f );
  Serial.print( f, 3 );
  Serial.println(" Pa");
  delay(1000);
    
  eeAddress = eeAddress + sizeof(float);
  Serial.print( "Depth: " );
  EEPROM.get( eeAddress, f );
  Serial.print( f, 3 );
  Serial.println(" m");
  delay(1000);
  
}

void loop()
{}

Custom parts and enclosures

Probe Lid
This piece was used to cap off the top of the probe. When attached with silicone caulk, it created a water-tight seal with the thermoformed case.
swarmlid01_DObHXJ4WcE.SLDPRT
baux_wSIeR3xbwy.ai

Schematics

Circuit Sensor
Circuit diagram sensors 6uweqzxasm

Comments

Similar projects you might like

UW-Makeathon Bio-View: A modular bioreactor for cell culture

Project in progress by 3 developers

  • 884 views
  • 0 comments
  • 11 respects

SMART CUBE: A New Way to Control Your Home

Project tutorial by Alberto Sartori

  • 13,749 views
  • 7 comments
  • 30 respects

sC00p-4-b1l1tY Meter

Project showcase by Team sC00p-4-b1l1tY

  • 732 views
  • 2 comments
  • 1 respect

Developing a Low-Cost Microcentrifuge Using E-Waste

Project in progress by Kemal Ficici

  • 5,039 views
  • 7 comments
  • 14 respects

Arduino Darkness Activated Ghost

Project tutorial by Technovation

  • 1,974 views
  • 2 comments
  • 10 respects

Bert, the Walking Monster Robot

Project showcase by 8bitsandabyte

  • 1,292 views
  • 3 comments
  • 11 respects
Add projectSign up / Login