Marine Sensor Platform
Project Overview
The purpose of this project is to design a prototype for a fully functional roving acoustic sensor which will be deployed in open sea. This prototype will consist of a platform (boat) that will carry one acoustic sensor and will be controlled by a handheld controller which will be used for steering. Mechanical, electrical and computational designs will have to be considered for this operation. Once the prototype is completed, a performance and speed test will be compared against other teams on the Charles River.
Design considerations
Below are some design elements that needs to be followed to ensure a fair race.
-
Foam (20n thick Owens corning Foamular) to create the platform
-
Platform will be powered by a pump with a capacity of 1100 GPH, powered by a 14V battery. The battery has a capacity of 5600 mAh
-
Servo motor with a range of motion of 180 degrees
-
Two Arduino UNO cards to communicate wirelessly between the controller and the pumps. This will be completed through two Xbee Series 1 modules
-
One relay shield to control the pump
-
Must travel a total of half a mile
Sketch
The sketch shown below is the finalized idea for the hand held controller for this project. It can be seen that there are 3 main components. The first component is the bottom casing which will be used to store the battery. This casing will be connected by gluing it with the central casing which is used to store the arduino. The last component is the upper casing (the lid) which will be screwed onto the central casing. This dimensions for the sketch is shown below.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
The figures shown below are CAD drawings of each component and an assembly file of the controller.
​
​
​
​
​
​
​
​
​
​
The figure shown below shows the dimensions of the boat. This includes the length and thickness of each pontoons and how they will be connected to each other. The shape of each pontoon was determined mainly through the Buoyancy principle and the drag force. This helped determine how efficient the boat will be based on various shapes. The weight of both pontoons and the weight of other objects such as battery, arduino and the HDPE were taken into account while determining the submerged volume. After various ideas and calculations, the sketch shown below is the finalized idea for the boat.
Sketch of Controller
Solidworks Flow simulation
Once the sketch of the pontoon of the boat was complete, the dimensions were modeled into the Solidworks software. The flow simulation gave our group a general idea of how the boat will behave when it is in water. The speed, water density and wind factor were taken into account to model and determine where the maximum pressure will occur. The shape of the pontoon were adjusted on the software to see how each shape will affect the flow. In the end the best shape of the boat was determined to optimize the speed, stability and durability.
​
The photo below shows an example of one of the shapes that was calculated in Solidworks flow simulation. The shape was determined based on how much pressure will act on the body during the actual race and which area will reduce the speed of the boat. It can be seen that the front of the pontoon had flows in red which is why it was rounded to make it more efficient.
Coding the Arduinos
The application Arduino was used to code both ardunios. Both the codes for the controller and the pump are shown at the end of this section. Originally, in order to check if the code worked as it was programmed, 2 LED's were used to test whether or not everything functioned (shown below).
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
To check if the controller functioned as programmed, the serial monitor page was opened so when the number 3 is inputted, both LEDs will turn on. To turn on one of the LED's, the number 1 or 2 will have to be used as an input. However, typing in the number 0 will not turn on any of the LED's.
​
After ensuring that the code functioned as desired, XBee was used to allow the arduinos to communicate to each other wirelessly. Although this required some adjustments to the code (shown below), instead of turning LED's on and off by inputting numbers, those LED's were replaced by pumps. Similarly, inputting the number 3 will turn on both pumps, and inputting 1 or 2 will turn on one of the pumps and so on....
​
In the arduino for the boat, ascii codes has to be used so that it can read from the Xbee. It can be seen that 48 = 0. 49 = 1, 50 = 2, 51 = 3. The serial monitor in the arduino program will receive a 3 if both pumps are turned on, a 2 when one pump is on, a 1 when one pump is on and a 0 if both pumps are turned off. The purpose of having delay(1000) is to check for a new input or give an output every second rather than every millisecond.
Code written on arduino program for the controller.
Code written on arduino to control boat pumps.
Circuit Modelling
After the code has been uploaded to each arduinos, the group began connecting the wires into each port corresponding to the code. Although we ran through various problems such as not knowing which port each wire has to go in, after various trials and help from the professor, everything was wired together correctly.
​
In the scenario that is demonstrated in the first video shown below, everything was wired together (both the pumps and controller). However, later on in the project, it will be connected wirelessly. The reason that the pumps and the controllers were chosen to be wired together first is to check if there are any flaws in the circuitry or the code.
​
After ensuring that both the circuitry and the code for each arduino works, the code was modified and re-uploaded to both arduinos. The wires were removed and replaced with Xbee so that both arduinos (pump and controller) can communicate to each other wirelessly. This is shown in the second video where switches were added.
A demonstration of turning one switch on/off at a time and turning both switches on/off together is shown in both videos.
​
All Videos
All Videos
non-wireless
wireless
Constructing The Boat and Controller
After designing the shape of the boat and ensuring that the circuitry worked wirelessly, the two pontoons were glued together. The reason that 2 foam pieces were glued together was because after calculating the submerged volume, the group agreed that having another foam piece would increase Buoyancy force. The images below shows 4 foam pieces being glued together to form 2 pontoons.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
The foam was left to dry for 12 hours and then it was cut into the shape that was designed in solidworks flow simulation (image shown below). The method that the foam was cut was through an apparatus that heated the wire so that it is hot enough to cut through the foam without burning it. After cutting the boat into the designed shape, sand paper was used to ensure that the boat had a good curvature and that there were no rough edges.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
As the boat was being constructed, the controller was made by using a 3D printer. As shown in the sketch section, the CAD files were converted into an STL file so that it becomes compatible with the 3D printer. The process of the 3D printed products are shown below.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
After the 3D printer had finished making the controller, the designed circuit was implemented into it. As mentioned earlier, there are 3 parts in the design of the controller: bottom casing, central casinig and top casing. The battery will be placed in the bottom casing. The arduino and the shield will be placed in the central casing. The top casing will be used to cover the central compartment. In addition, the circuitry for the arduino in the boat was also added into a water-proof box. This will be connected to a battery that powers the pumps and one USB charger to power the arduino.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
To connect the 2 pontoons together, a 14 by 6.5 inches HDPE sheet was glued and screwed onto the foam. The pumps were also added to the back of the pontoons by screwing around a circular (adjustable) metal piece that wraps around both of the pumps. The boat was left clamped onto the table so that it could dry.
​
​
​
​
To increase the speed of the boat, the nozzle was 3D printed. The inlet of the nozzle was designed to be larger than the outlet (continuity equation). The nozzle was then 3D printed and connected to the pumps by using ring braces. To ensure structural stability of the pumps, 2 ring braces were used per pumps, one on top and the other at the bottom. The ring braces goes in between a metal plate and 2 screws that were screwed into the foam.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
The last step in preparation for the boat other than testing if both pumps function as it was programmed was to make the final product look aesthetically pleasing. As can be seen in the image shown below, the boat was chosen to be painted in blue with a thunder lightning bolt. The image on the bottom left shows the final product of our boat while on the right is a photo of our controller.
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
RACE DAY
The photos and videos displayed below were taken during the race. The aim of this race was to travel for half a mile and it took the boat a total of 13 minutes total to finish the race. Although some challenges were faced throughout the race such as the water current, our boat came first out of the five teams. The issues that occurred during this race will be discussed in the conclusion and evaluation.
Conclusion & Evaluation
To conclude, not only was this project very fun and insightful, I learnt a lot about how important the design process is. Although the boat that our group designed came first, there were still some unexpected events that happened in the race. Even with the flow simulation in solidworks, it was still very hard to predict how the boat will perform in real life. In this case, the current in the Charle's river was not taken into account so the boat did not move in a straight manner. As a result, during the whole race we had to constantly turn the pump on and off to ensure that it was heading in the right direction.
​
Improvements that could be made to this boat would be to add a rudder to help steering because the boat may have reached the finish line faster if the pumps didn't have to be constantly turned on and off. However, the extra weight of the rudder will have to be taken into account. Other improvements would be to decrease the mass of the nozzle by decreasing the thickness of the outlet of the nozzle and to connect the 2 platforms with screws better so that the boat is more stable.
​
After this project, I felt more comfortable using the Solidworkds program, especially in terms of the flow simulation. Similarly, using the arduino program became a lot more straightforward after understanding more functions and how the program works. This also applies to using various machines and the 3D printer in order to complete the boat.