Subsystem Build & Test
Table of Contents
Team Vision for Subsystem Level Build & Test Phase
The goal of this phase was to build and test all of the different subsystems. The team made significant progress towards our goals for the phase. The majority of the mechanical subsystems have been built. Because some aspects of the build and fabrication process have taken longer than expected, we have delayed mechanical subsystems testing by two weeks. Subsystem integration is ahead of schedule with the motor, battery, solar panel, and winch mounted to the frame. Electrical subsystem build, development, and testing are on schedule and ready to start subsystem integration for the next phase. Overall the team has made strong progress towards our goals for the phase, and is on schedule going into phase 7. Below are details of progress and updates from the Subsystem Build & Test phase .
The pontoon build has been the most involved part of this phase for the ME Subsystems. Because none of the team members had experience sewing heavy duty fabrics or sealing inflatables, manufacturing was difficult.Therefore we used extensive research, prototyping, and testing in developing a build process for the full scale pontoons. In addition we consulted Melissa Dawson, an assistant professor in the Industrial Design program at RIT. The image below shows a layout of all of the prototypes/tests that were done, including tests of stitching, sealing, sewing curved pieces to straight pieces, sealing seams, adding valve stems, and ultimately a scale prototype.
For sewing the pontoons we used the smallest needle and finest thread which still met the structural needs of the fabric, to minimize the size of the holes in the fabric. We used a straight stitch for all seams on the final pontoons. Specific details on the sewing for manufacture are strongly dependant on the sewing machine used, however for our case we used a size 14 needle and size 46 thread. We used the machine in the Construct which was sufficient for our needs, although we found out we needed to max out the thread tension to maintain a tight stitch. We found two successful ways of sealing the seams. The first, used on the top seam and on the seam which created the fold, is applying vinyl cement on the seam before sewing. The second, used on the seams where the cones attach to the cylinder, is applying vinyl cement to the outside of the seam after sewing. Sealing the seams was most effective when doing individual sections at a time. Using this method, along with the 24hr dry time of the vinyl cement resulted in the sealing process being drawn out further than originally planned for.
The order the pontoons should be sewn is as follows:
- Cement and sew the fold in the cylinder
- Sew the cones to the cylinder
- Mount valve stem (see below)
- Fill pontoon with foam (see below)
- Cement and sew the top seam
- Cement the cone/cylinder seams
In order to structurally reinforce the valve stems and further ensure they will be airtight, we took a double layered approach to sealing and attaching them on. First, holes were cut in the pontoon, and in an approximately 5in by 5in inner patch. Both sides of the valve stem were given a healthy application of flexible adhesive. The valve stem was then attached to the pontoon from the inside. Finally, the inner patch was added and adhered to the valve stem with the flexible adhesive, and then to the overlapping vinyl with vinyl cement. Below are pictures of the final result.
The pontoons are filled with closed cell foam insulation as a backup in case the pontoons rupture, leak, or depressurize. The foam is cut to shape and loosely fit into the pontoons. While these do add weight to the final build, the trade off of that extra piece of mind is justified. Below are pictures of the foam inserts:
One critical point in sewing the seams of the pontoons is that it is necessary to remove extra material from the seam between the cones and the cylinder. This reduces the amount of overlap which complicates sealing. Also, the sewing machine can only stitch through about 4 to 6 layers of the vinyl fabric, so minimizing the amount of stitching through that increased thickness is necessary to being able to sew the entire top seam. The image below shows how the excess fabric was removed.
The frame for the buoy is almost entirely fabricated and assembled. Below are pictures of that progress so far. The only tasks left are to fabricate mounts for the linear actuator and the electronics box and side rails. One critical point to be noted when building the frame is to plan out where bolts need to go in the frame rails before final assembly. Once the frame is assembled, adding a bolt to a section requires disassembly of that section which can be time tedious and time consuming and slow the build process
The T-brackets shown below were purchased pre-made, but the holes were enlarged on a drill press to a ¼ in clearance hole in order to properly interface with the bolt size of the aluminum rails.
The “downright” brackets below were created from 1/8 inch scrap aluminum sheet metal. The scrap was band-sawed to shape, filed to a rounded edge, and ¾” clearance holes were drilled on a drill press.
The angle brackets below were made from aluminum angle stock that was purchased.They were machined to shape by the Brinkman Lab staff. Initial design errors caused the part to be modified, and a final replacement part with be manufactured in the next phase.
The solar panel mounting brackets below were machined from scrap ⅛” aluminum sheet metal. The sheet metal was band-sawed to shape, ¼” clearance holes were drilled on a drill press, and finally bent to 90 degrees on a sheet metal bender.
The upright brackets below were made from aluminum angle stock that was purchased.They were machined to shape by the Brinkman Lab staff.
Future work The final frame brackets to be fabricated are 90-degree corner brackets. They will be made from purchased aluminum angle stock.
The Brinkman Lab staff will also be making replacement Angle Brackets as described above. The new brackets are expected to have higher strength than the current bracket that had to be modified from its original design to fit. Testing of the frame may begin before the current brackets are replaced.
The motor mounting block was made out of a 9in by 9in by 1.5in piece of hardwood, that was then painted black and mounted to the frame using 3/8in bolts through the mounting block.
The Battery and winch mounts below were created using scrap 1” U-channel aluminum stock. ¼” clearance holes were drilled to attach the mount to the frame, and the components to the mounts.
A big part of this phase was writing code for the individual subsystems, as well as starting to create the navigation algorithm, which will be the main function of the buoy. The navigation_algorithm code is the main chunk that will be continuing to change as the project progresses towards the finished stage, with the other files either being snippets used to test the subsystem, or functions that are called in navigation_algorithm to use the subsystem.
- Main structure for the control of the buoy
Distance Calculation Test
- Test and comparison of two different distance calculation techniques
- Test for the configuration and use of the GPS unit
Heading Calculation Test
- Test for the use of the heading calculation from current and goal coordinates
for Converting GPS Data into Decimal Degrees
- Test to take in GPS data and convert it into decimal degrees, a form better suited for our purposes
(note: The best way to view code linked would be to right click and download the file, then view it in a program that can display it better, such as notepad++)
As stated above, the focus of the code production in this phase was to write programs that control each of the subsystems individually. With the verification that each subsystem can be controlled in the way that we need it to be controlled by itself, the integration process can begin and will go a lot smoother.
To verify that these subsystems could perform in the way that we needed, we went to our test plans. The test plans were written to describe the individual performance of each subsystem, and acted as a great way to verify their functionality. The bigger tests that were performed can be read about in the testing progress section.
Below are areas that were investigated/tested as either subsystems or integration areas.
Connectors and ConnectionsThe document shows the connections between the different components and the Arduino. It shows the exact pin on each component that will be made use of and the type of connection. The purpose of each is listed as well.
The working document for the connections that each subsystem will have with the Arduino can be found here.
IMUThe TI MPU9250 IMU unit is being used primarily to determine the heading of the buoy. A script was developed to calibrate and read data from the Magnetometer that is built into the IMU. The x and y magnetic readings (in microTeslas) can be used to calculate the heading using the following equation.
heading = atan(ymag/xmag) * 180 / Pi (result from 0 to 360 deg)
To this point, the Magnetometer readings are fairly consistent with a standard compass readings, but it is not perfect. The calibration does still need to be fine tuned to ensure every compass direction is read accurately.
Adafruit Motor DriverThe Adafruit DRV8871 motor driver is being used to drive the linear actuator back and forth, steering the buoy. A simple test script was written to extend and retract the actuator. As well, a function was created that will center the shaft from whatever position it lies. This function will be used in the main navigation algorithm to return the buoy to a straight path once it has turned to the appropriate angle and heading direction.
Pololu Motor DriverSimilarly, the Pololu Dual G2 High-Power Motor Driver 18v22 is being used to drive both the trolling motor, and the winch motor. For this phase, a simple forward and reverse script was written and tested to verify basic functionality.
The current sense feedback pin was tested by applying a known voltage (12V from battery) and load resistance (whatever we choose) to achieve a known current draw. The feedback pin on the driver outputs a voltage from 0 to 3.3V that can be read into the arduino using the analogRead function. Using the arduino 10-bit ADC, and the voltage/current relationship on the driver (10mV/A), we can calculate the current flowing through the motors.
Equation: I = Vfb(V) * (3.3 / 1023) * (1 A/10 mV)
Solar Panel/Battery/MPPT Controller
The solar panel does seem to be working fine. In direct sunlight, an output of 19.9 V was measured using a hand-held multimeter. As far as the battery being charged by the solar panel is concerned, that has still to be tested properly. Last time this test was carried out, the fuse on the multimeter blew and no current measurement was taken. As far as the charger (MPPT Controller) is concerned, one of the terminals (more specifically the positive terminal connecting to the battery) seems to have a slight problem. Can’t measure consistent voltage from that terminal.
Test Results Summary
Above is the current state of our tests going on for this project. The test summary is categorized by the Engineering Requirements created earlier on in the project, as well as the Functional Descriptions created. The ultimate goal of the project is to have tests done to verify all of the ERs and FRs, which this table displays which tests must be completed to verify each ER/FR.
The working test plan document can be found here.
(here put in any images or gifs of testing/testing results and any other supporting documentation associated with testing)
- To test the 1-2 mile range capability of our Xbee SX transceivers, a range test was performed. One Xbee was left at the corner of Rush Henrietta Townline Road and East River Road (with a laptop and tester), while another person drove down Rush Henrietta Townline Road with the other Xbee. Consistent communication was achieved for upto about 0.95 miles, after which communication was still occurring, but not every second on the second. Considering that this was done in an area with many trees and possibly other interference, we feel confident that the Xbees can communicate in the 1-2 range under line-of-sight conditions.
- The picture above is the Arduino Due, connected to the Xbee SX transceiver, along with the GPS unit, which is covered up on the back of the breadboard. The Navigation Algorithm testing was done after the XBee testing and the GPS testing, so that those units could be used in the testing and not be considered the problem if something goes wrong.
Risk and Problem Tracking
The Phase 6 Risk Assessment document and the Phase 6 Problem Tracking document can be found here.
Functional Demo Materials
The update presentation given to our customers for phase 6 can be found here.