I did a bit of testing on my AUV hull design, and finally got a prototype ready to go. I’ve been working on the design for several months in Autodesk 123d, which is a pretty great program if you can put up with the crashes, corrupt save files, and slowness (hey, it’s beta).
Here is my current design in full, including the support structures:
The 3D model for my spherical AUV hull.
This is one eighth of the hull; I call it a semidemihemisphere. Eight of these will make a sphere 18 cm in diameter. I split it up into eighths because I’m using a Makerbot 3D printer and its build platform is limited to a cube about 10 cm to a side. Also, this way each piece can be identical (or nearly so).
One limitation in the Makerbot is that it can’t print overhangs very well, so I had to add some support structures that can be cut away. In this entry I will ignore that and focus on the hull design:
If all goes extraordinarily well, the AUV will have the following modules sitting in the hull:
Depth control (buoyancy control and pressure sensing)
Rather than wiring everything together, I plan to give each module its own power supply and use an optical communication protocol to connect the modules to the master controller. The inside of the hull will be cleaner and more solid than if everything was wired together, and waterproofing will be easier. Here’s how it works:
I’m working on a prototype for the AUV hull. I plan to print a 10 cm diameter hollowish sphere and use it to develop a buoyancy system.
It’s not easy to print a large sphere on a Makerbot. There are a lot of cool sphere things on Thingiverse, including some pretty sweet hollow sphere patterns. That hollow sphere is allegedly printable on a Makerbot, but I’m not sure it’s the best option for my AUV.
I’m working on a design for a self-supporting hemisphere in Autodesk’s new 123D CAD program.
It worked pretty well. It draws 2.3 A at 3.5 V. I’ll use a smaller propeller when I find one, which should reduce the power consumption and output.
One strange thing is that the pump has a greased seal between the pump chamber and the top. Are they trying to waterproof the top for some reason? Is it just to keep the water in the chamber so that it doesn’t lose pressure? The label says the pump is submersible, so hopefully it actually is. I haven’t worked up the nerve to submerge the whole thing, and I might just seal it up with some potting compound before trying.
I have a feeling I will appropriate a lot of ideas from OpenROV over the next year.
I mentioned the US40KT-01 transducer pair from Meas Spec before, but it’s an air sensor. One could cover it with a potting compound to waterproof it. My source suggested 3M Scotchcast 2130, which is intended for electrical insulation but apparently has some desirable acoustic properties (viz being close to the acoustic impedance of water). He cites Acoustic and dynamic mechanical properties of a polyurethane rubber [PDF] by Mott, Roland, and Corsaro as a good resource on this stuff, but I haven’t read it yet.
I also came across some really cheap waterprooftransducers that may be suitable. Unfortunately they both have high directivity, whereas I’d like at least an omnidirectional transmitter. Another possible issue is that they’re made for outdoor applications, not underwater applications. How waterproof is “waterproof”?
This guy has a super-cool post on driving the little waterproof transducers. Instead of using a step-up transformer, he uses an inductor and a MOSFET. The inductor gets charged from a 9 V battery through the MOSFET. When the MOSFET is opened the magnetic field collapses and it sends about 300 mA of current through a diode to power the transmitter. This is called the inductive flyback method. Awesome!
One final note: I found what look like the transducers that are on the ranger modules I’m using. Less than US$3 per pair.
The receiver circuit completes the modem’s hardware design. It is simply a two-stage amplifier that gives a total gain of about 2000, in series with a band-pass filter.
The acoustic transducer produces a beautiful sine wave with nearly no noise. I found that I could apply a huge gain to its output and the amplifier’s output would still be clean: the raw (unfiltered) output has a 5 V offset, and the signal fits into the 5 V above the offset. In other words, the output is at -5 V when idle and peaks at around 0 V when the receiver receives a signal.
The goal is for the receiver to output a signal that is around -10 V when idle and peaks at -5 V when it receives a signal. These voltages correspond respectively to logic low and high on the microcontroller.
Above you can see the transmitter part of my acoustic modem. From left to right, the components are: the power supply, the acoustic transducer, the amplifier, and the microcontroller.
The problem: I need to send a 40 kHz, 20 V peak-to-peak square wave to the transducer. The circuit has two outputs, + and -, that are connected to the two transducer pins. In other words, each output needs to switch from +10 V to -10 V and back once every 25 microseconds.
As always, there are a few decent solutions, and as always I didn’t implement the best one.
To restate and clarify the problem: I want to use an acoustic transducer to transmit and receive data via pressure waves. The transducer I have transmits a 40 kHz carrier wave, and can be driven by up to 20 V. That means that when transmitting, the circuit must alternate a 20 V signal back and forth between the transducer’s two input pins, once every 25 microseconds. Additionally when receiving, the transducer’s output signal needs to be amplified into a usable signal. Continue reading →