Subsystem Build & Test
Team Vision for Subsystem Level Build & Test PhaseIn this phase, our team focused on preparing for a full tail test involving McKibben muscles attached to a constructed tail. The electrical drive circuitry was debugged and tested to ensure proper functionality. The mechanical team had the plastic material ordered for the tail construction and has begun using a force meter to test McKibben muscles for force production capability.
Test Results Summary
After extensive analysis it was determined that the force detected was dependent on the weight placed rig for the muscle to lift. Normally the resistance should not impact the overall force, however the test methodology causes this effect. The muscle and weights are in series with the force transducer but this is free hanging. The muscle lifts the object up and the system records the distance travel against time and the force against time.
As a result of this realization, which occurred when analyzing the raw data from the force transducer, a second method of analysis was attempted. An average acceleration was determined using the distance data. This acceleration was used to determine the force associated with the muscles action in the system by summing the forces. This analysis led to the same conclusion.
In summary the initial round of test was only able to tell us that the muscle is able to lift the weights tests. In order to assess the strength of the muscles further the BME team will have to use more weights in the current setup. In addition to simply adding weights the pressure should be reduced and the system should be tethered. Tethering the force transducer will provide true force production data.
Pump Box Waterproof Validation
The pump box was submerged in water for 24 hours to determine if the box is indeed waterproof. The test confirmed that the box was in fact waterproof. NOTE: This is on the non-compromised box. Another test will be run when the box is compromised, without the pump in the box, to determine if the box is still reliably waterproof. This test will need to be much more extensive and may even involve stress testing.
Robofish Power Boards ConstructionTwo power boards were constructed and the on-board 5V buck converter was tested for proper operation. Both board have fully functioning converters and have been proven to have the capability to power the Arduino and Gate Drive board. The converters take 24V produced by the battery buck converter and produce 5V with high efficiency. Also included on the power board is a water detection circuit, amplifier for pressure sensor, and interface resistor for the jaw Hall sensor, all of which have yet to be tested.
One issue which was observed with the power board was the
5V supplied to the Arduino. When the Arduino was powered
with the on-board buck converter, the micro-controller
tended to have intermittent errors. While running the
normal swimming code, every few periods, the sequence
would glitch and an extra valve would turn on before
resetting the pattern of the Arduino command signals. It
was also noted that when the Arduino was powered via the
USB/computer (known good 5V power), this issue did not
occur. The oscilloscope was triggered on the 5V from the
power board when connected to the Arduino. The capture is
A similar transient would occur on the 5V power line each time this solenoid glitch would occur. A diode was placed in series with the 5V facing the Arduino, allowing power to still flow to the Arduino. It is presumed that the Arduino was reacting negatively to the less-than-perfect power supplied by the buck converter. The diode effectively blocks all transient effects from the micro-controller. As time passed, it was discovered that instead the glitch was occuring due to the fact that the pins for turning left/right were floating and stray chagre was causing the program to move in and out of a turning sequence. After this was discovered, the diode mentioned previously was removed.
Solenoid Valve Debugging & Performance Testing
The four old solenoid valves from the old version of Robofish have been tested successfully with the rest of the electronics system. The gate drive board is successfully able to drive the solenoids from commands from the Arduino. Note that the Arduino signals were also inverted to accommodate the gate drive LED notation. Currently, the LEDs are now only lit when the appropriate value has power applied to it. Previously, it was the opposite. This will help in identifying which valve(s) are actuated.
An issue was observed with the solenoids drives which have intermittent transients only when the solenoid valves were attached. Often the switching order and tempo of the valves would be skewed and sometimes all solenoid drives would cut-out for a brief moment. When the inductive solenoids were swapped out for load resistors, the drives functioned properly. Originally, the design included a flyback diode to ensure that the lower node of the solenoid did not get too high in voltage when the solenoid was switched off. This diode was not fast enough and excess charge remained on the gate drive output for long enough to disrupt the entire board and all 6 drives. Bridging each solenoid with a fast switching diode directly across the terminals has appeared to fix this issue.
The valve set-up was then incorporated with the pump to ensure that water flow was as expected through the proper valves at the proper time. The videos below shows water exiting the valves in the proper sequence and the operation of the valves with air only flowing through them.
Each individual valve was also tested to ensure performance. The concern was that the electrical switching of the valve may be inhibiting the orfice of the valve (not opening fully). The approximate flow of each valve is shown below.
Independent Operation with BatteriesA major milestone in the electronics development was the fact that we were able to run the entire valve control system independently. A video depicting this is shown.
In order to execute this test, a small test battery pack was constructed which was essentially 1 "cell" from the total battery pack which will eventually be used in the robofish. The test setup utilized 1 gate drive board although the 2 that plan to be used in the complete system should function together seamlessly. A third gate drive board was also constructed, however, it was deemed non-function due to an unknown reason at this point. Since only 2 gate drive boards are needed for the complete system, debugging the third gate drive board will not be performed unless there is a need or excess time at the end of the build period.
Also included in this test setup and a major component of the system is the DC-DC converter which regulates the battery voltage down to 24V for the solenoid valves and pump. Upon first using this DC-DC converter, it is presumed one of the input capacitors was faultly and possibly shorted internally upon appling the battery voltage. Damage was observed on the capacitor and the converter had a very high input current when a power supply was used to power it. Upon removing the capacitor, the DC-DC works properly. The capture show the waveform of the AC and DC components of the DC-DC output voltage.
New Battery Energy Testing
Similarly to how the previous batteries were tested, the new, genuine Panasonic 18650 batteries were put under the same test where the cell of 9 series batteries dissipated their energy through a resistor bank. The resistors were sized to draw current approximately equal to the average current expected in the system. The voltage was monitored throughout the process. The 9 pack of series battery was found to contain an energy of around 107.82Wh which equates to approximately 430Wh for the entire Robofish system. At an estimated average power draw of 80W, these batteries will be able to power the fish for a little over 5 hours.
Sonar Sensor Testing
The electrical team also spent some time look into the feasibility and function of the sonar sensor. The sonar sensor will be used to identify walls and objects the camera will not be able to identify. It will not be acting as the primary floating obsticle avoidance technique. The swimming algorithm in the Arduino code was augmented to include a case where if the sonar sensor sensed an object approximately a meter in front of the sensor, the program executes a left turn until the object is removed. It was also concidered to adjust the severity of the turn based on the distance away form the object (wall). For now, a standard left turn will be executed when an object is detected. Note that left, rather than right, was chosen arbitrarily.
In order for the Arduino to interpret the sonar sensor properly, the pulse width varying signal proportional to the distance to the nearest object is conditioned. The signal is first sent through an amplifier to strengthen the signal by provided enough current to effectively charge an output capacitor incorporated in a filter which converts the amplified pulse train into a DC value. Reading this DC value in, the Arduino is capable of extracting a approximate distance of the object.
Proposed New PCB
After testing the full independent system running on the
batteries, it was determined that enough external parts
are required to warrant a new board which will house
these components. The proposed board will include the
- Resistor divider for battery voltage so the Arduino can determine when the batteries need to be changed
- Buffer and filter for sonar sensor
- Terminal for 24V connections
- 24V DC-DC converter mount and external circuitry
- Battery terminal blocks
- ON/OFF Switch terminals
- 555 timer with external circuitry to generate trigger pulses for sonar sensor
Inputs & Source
- Test Plan
- Subsystem fabrication
Outputs & Destination
- Test Results
- System integration
Risk and Problem Tracking
Risks and problems are summarized in the Risk Table document the can be found in the project management folder of this team as well as linked on the bottom of the Build and Test Prep phase page.
- Waterproofing of the pump and electrical boxes.
- Spacing the body of the fish.
- Thrust production by the tail
Electrical SystemsAddition Risks:
- Variability of the sonar sensor. Will the waves interfere with the reading? Will this be mounted underwater?
- Increased current flow through 24V converter due to constant running of pump (2A to 3A)
- Fitting everything is the waterproof enclosure(batteries & boards)
Functional Demo Materials
Mechanical SystemsNone. Please see Test Results Summary for details on test results. Building is underway at this time for the tail and many of the internal components of the fish.
Electrical SystemsNone. Please see Test Results Summary for details.
Plans for next phase
- Construct the tail system
- Test the tail system with the hydraulics
- Pump Box
- Begin the system integration in the body
- Construct battery pack
- Attempt to fit all components in enclosure
- Design and build new interface board
- Communcate with P16029 about image processing interface
- Attach system to tail when ME team has constructed tail ready