Smart Anchor

A device that tells you if a boat anchor is dragging or not by detecting its vibrations

The idea behind this project is to build a device that provides skippers with one more tool that allows them to stay more relaxed if spending the night at anchor. The device uses an accelerometer to sense the vibrations of the anchor in order to detect if the anchor is dragging on the seabed.

I've done several tests with a device attached on an anchor and linked to the boat via a cable. The first figure shows an example of a measurement.

First, I devised a system that processes the raw acceleration data and triggers an alarm in case of strong enough vibrations.
The signal processing is pretty simple: The RMS value of the acceleration over the three axes is fed through a differentiator in order to detect sudden changes. A low pass filter is also added to reduce the gain at high frequencies.
The resulting signal is then sent to a Schmitt trigger which compares it with a threshold that has been determined experimentally.

In order to wirelessly transmit the alarm to the boat, (and to better understand the topic) I decided to use ultrasounds.
Since I wanted to send digital data, I built a fully software-defined DBPSK modulator running on the device attached to the anchor.
The demodulation is also fully software-defined and uses a Costas loop to reconstruct the carrier frequency (non coherent demodulation).
So far it has only been implemented in MATLAB as a prototype, however it is using real data that has been recorded after having being transmitted over ultrasonic waves from one side of the room to the other. The last figure shows the demodulation process.

Vibrations measured by the accelerometer attached to the anchor.
The device to be attached to the anchor. The communication on this prototype is done through UART
Tests on DBPSK demodulation