By Rob Schuckman, R&D Engineer, Zilvertron
Here is a project that evaluates the underwater sailing behaviour of a submersible model – remotely and in real time.
Model submersibles are about one to two metres long, making on-board space limited. An in-built computer regulates the submersible’s depth, with commands sent via a simplex radio remote control. Radio waves first travel through air, then water.
By moving the computer from model to shore, we avoid taking the submersible out of the water for a software change, leaving on board mainly actuators and sensors. While doing so the effect of changes made to the software can be observed instantaneously. Thus, a two-way communication is required between shore and model, which can be sound, light or radio waves. I avoid using cable since it can affect the model’s course, but also it can become entangled in the propeller. Hence, I opted for radio waves, which because of radio regulations are not allowed to travel through the air, forcing me to explore underwater radio communications in fresh water (the range is too limited in salt water).
Due to the real-time nature, I thought of using full-duplex communication. But, two antennas placed close to each other in a small space leads to problems, such as receiver clogging up, for example. The next best option is half-duplex, with the advantage of occupying less space.
The protocol used for testing consists of 22 bytes of which six are overhead (2x pre-amble, 2x sync and 2x CRC) and 16 are payload. The protocol frequency – speed of sending data back and forth – is about 30Hz. An initial exploration of the payload required to control a model submersible shows a need for approximately 104 bits (which equals 13 bytes).
The model’s dimensions help determine the frequency – bear in mind that the propagation speed of electromagnetic waves under water is lower than in air by a factor of about 10. This side effect comes in handy because it makes the antennas smaller/shorter by the same factor. Assuming a half wavelength dipole antenna, the frequency will be about 13MHz. A dipole antenna is omnidirectional and sensitive in the plane perpendicular to the antenna, and its radiation pattern resembles that of a donut. Note that the lower the frequency, the greater the range and antenna. With 13MHz, the total length of a dipole antenna is about 1.1m. Although there are many antenna types, a dipole is used because of its manufacturability.
In the horizontal plane, the greatest distance can be bridged with a vertically-installed dipole antenna. In theory, 13MHz provide enough range for this project when all radio communication takes place under water. With 27MHz the range is only sufficient if the radio communication is partly through air, which is not allowed. There are however no radio regulations for sending and receiving electromagnetic waves of underwater origin, states telecom agency NL.
A portable short-wave radio receiver can be used to ensure that radio waves generated underwater do not cross the water-to-air boundary – 27MHz radio waves that cross the water-to-air boundary propagate parallel to and just above the water surface.
RF transceiver and PCB design
Because of the limited space, a model integrated in an SMD housing is preferred, but I could not find an IC suitable for 13MHz, the closest I found was the AX5043 suitable for 27MHz.
The issue that still remains concerns the speed at which the receiver locks onto the transmitter. I use the automatic pre-amble pattern match mechanism built into the radio transceiver. Nevertheless, prior to sending the pre-amble, it is necessary to switch on the carrier wave for approximately 4ms (without modulation) – regardless of the length of the pre-amble. A pre-amble is data broadcast prior to the real message that aims to wake up the receiver when it is in power-save mode and it synchronises timing with the transmitter.
This 4ms is not only unfortunate because this is a real-time application, but also because the data sheet of the radio transceiver suggests that it can be done faster.
I designed a PCB around the AX5043 with KiCad. Note that the PCB is not equipped with motor drivers, but comes with many interface options and a sensitive 3D accelerometer. By placing an extra component, this board can be used without detailed knowledge of the RF transceiver IC.
The PCB contains an Atmel XMEGA microcontroller that’s supported by many software development tools. The relatively low frequency of 27MHz is useful too, since designing a PCB for 2400MHz is a completely different matter.
For use at 27MHz, a coil must be added to the radio transceiver, whose value varies from board to board and which (to some extent) determines the board’s operational frequency. The radio transceiver offers auto-ranging, i.e., adjusting the frequency within certain limits, which typically takes place during transceiver initialisation/startup.
The PCB supports a wide variety of supply voltages such as regulated power supplies as well as rechargeable batteries.
For underwater range measurement, I used two floating platforms, mounted with PCBs, a battery and other components. The antenna can be vertical or horizontal, attached to two tubes underwater used for adjusting antenna depth. A bright flashing light on the platform indicates the quality of the communication. When the distance between the two platforms becomes too great, the light will blink irregularly.
Software development tools
To successfully control the model submersible, a GUI and interfacing with hardware (USB/serial port/steering stick) are required, which calls for a good library of mathematical and control functions. These requirements led me to MyOpenLab an open-source alternative to LabView that uses Java.
Java enables the development of application software regardless of the platform (Windows, Linux etc.). A nice feature is that MyOpenLab also supports some hardware from Raspberry PI, Velleman and Arduino. But, there’s also room for improvements, such as introducing a zoom function and enabling greater visibility of the connection lines between elements.
After installing MyOpenLab, I was soon able to send serial data and make a run-time version of the test program. By placing several elements in a sub VM, programs can be kept somewhat manageable. Using sub VMs is very similar to that of macros.
Using the input and output pins, connection can be made to the upper VM layer. I used JDK8 from OpenLogic. JDK also contains JRE (Java runtime environment), needed to create run-time executables. For text-based programming, Lazarus could be a good option and is also open-source, see https://www.lazarus-ide.org/, a site that is actively maintained and developed, unlike MyOpenLab.
Results and applications
I have successfully tested a simplex underwater radio connection over a distance of six meters with vertically-arranged dipole antennas at a depth of 70cm (27MHz/50mW). The measured range matches the theoretical range. Despite the shallow depth, it is unlikely that radio waves propagated just above the water surface because a greater range would then be expected.
A follow-up test is scheduled for spring 2022, and it concerns a half-duplex radio connection at 27MHz/50mW at depth of two meters, where a payload of 16 bytes is transported back and forth at 30Hz. This test is already prepared and is functioning in air. The large time step is due to not having a covered pool for testing.
When the on-shore antenna is placed in the air, the range is more than sufficient for various uses, either by hobbyist or maritime research centres. If both antennas are submersed it is easier to comply with radio regulations but then the range is too small for model submersible hobbyists.
The lack of suitable transceiver ICs and restrictions imposed by radio regulations do not make it easy to developing applications such as those described here, leading me to think there are no suitable transceivers because of radio regulations.
Another example might be wireless download of data from an AUV to a submersed docking station, or contactless exchange of data between underwater devices.
However, the biggest challenge is to increase the range under water. To do this, the frequency has to be reduced from 27 to 13MHz.
The best thing that could happen would be if On Semi releases a 3-30MHz version of the radio transceiver used. However, the chances of this happening are slim, unless sufficient applications and modified radio regulations make it possible.
One option that is currently beyond my reach is to design a receiver for 13MHz myself. The most important properties for the receiver are sensitivity and selectivity. The used transceiver scores well in this respect and can be used as a benchmark. Furthermore, an antenna needs to be developed that can be integrated longitudinally into the hull of a model submersible. First tests have already been carried out with such an antenna, and look promising.