Newbie doubts - Free surface measurements.

Hi i'm totally new to this forum and also so new to arduino tech.
I am a coastal engineer, so I dnt really feel comfortable around electronics, but some days ago i had a great idea and i'm writing you guys asking for some assistance.

The idea i had was to create my own data collection buoy, something really simple (at least in the beginning). I would like to take measurements of the free surface oscillation on the field (on the water surface), with some kind of a micro-controller and data logger system.
I am trained to process that data (using matlab for example and numerical modelling), but i am searching for a way of collecting it.
My search on the internet showed that arduino is a easy and affordable way to use sensors, and i have a friend who have some arduino stuff but he's not really great with it.

The arduino pieces i have are :

  • an arduino uno board
  • an ADXL335 +/- 3G 3 axis accelerometer
  • an Arduino SD Card Shield
  • and a bunch of cables.

I think it's possible to obtain the oscillation of the buoy with these components ( or maybe i'm totally wrong?)
My questions are the following:

Is it possible to obtain the free surface variations using arduino hardware?
Who do I interpret the reading of an accelerometer?, cuz wave height is in meters!
Is it possible to create an autonomous device, that last at least for 3 months taking data each hour?

Thank you very much. I hope you can help a fellow engineer creating his first data collecting buoy.
Best Regards

Hi i'm totally new to this forum and also so new to arduino tech.

Welcome!

The idea i had was to create my own data collection buoy, something really simple (at least in the beginning). I would like to take measurements of the free surface oscillation on the field (on the water surface), with some kind of a micro-controller and data logger system.

Good idea, but is there not something out there that already does this? It sounds like the kind of idea that must have been implemented by somebody already.

Is it possible to obtain the free surface variations using arduino hardware?

If what you want to measure is acceleration then yes, it is possible and you have the right kind of components. You will, of course, also need a waterproof case :wink:

Who do I interpret the reading of an accelerometer?, cuz wave height is in meters!

Integrate! The integral of acceleration is velocity, and the integral of that is distance. Then, confront reality in the form of noise and start playing with filtering (but you can do that with Matlab after the fact if you just record the raw acceleration data).

Is it possible to create an autonomous device, that last at least for 3 months taking data each hour?

Sure, you just need a big enough battery.

--
The QuadRAM shield: add 512 kilobytes of external RAM to your Arduino Mega/Mega2560

HI....
Thanks for your answer...
Well there are a lot of different buoys that take data of the ocean free surface, but they are really expensive and you can't just have your own buoy.
And about the water proof case, i'm well aware of that that shouldn't be a problem for me since i have studied physical modulation.

My fist challenge will be getting the accelerometer to work, then the data part i think i'll have no problems. About the noise you were talking about i'm not quite sure what is it, but i'm sure you can clear it up for me ;).

The battery part if there is a way to only start the device each 30 min and take a measure and then shut it down again, i'm sure i'll have no problem on finding a proper battery that will last 3 months :)...

Once again thaks for your reply.
Cheers

About the noise you were talking about i'm not quite sure what is it, but i'm sure you can clear it up for me .

Accelerometer readings tend to be very noisy. Integration helps since it is naturally a smoothing operation. If you know the bandwidth of ocean wave oscillations you can post-process the data with a strong low-pass filter that rejects frequencies outside that bandwidth.

The battery part if there is a way to only start the device each 30 min and take a measure and then shut it down again, i'm sure i'll have no problem on finding a proper battery that will last 3 months ...

You can put the microcontroller in a sleep mode and have it wake up periodically to take measurements and log them. It's worth doing some bench tests with the components you have to see how much current they take while active, how much current they take in sleep mode, then do some back-of-the-envelope calculations on necessary battery life.

--
The Rugged Audio Shield: Line In, Mic In, Headphone Out, microSD socket, potentiometer, play/record WAV files

The battery part,

can 't you use the waves oscillations to generate some energy ? or solar panel on the bouy?

HI...
Actually i'm specializing in marine energy, but in order to extract energy from the sea u need a really robust and advanced system.
I actually in Spain, in spain u can´t get energy from currents cuz of the the tidal range is not like in the north of Europe, here it doesn't pass the 4 meter mark, that is not enough to generate considerable currents, the other option u wave is an free surface oscillation turbine, that operates with a vacuum system, but i doubt that u cant have that kind of tech in such a small scale. Of course there are other technologies but they all are in a early phase of development.

In the future that would be a great way of powering the data buoys, in our days it's unlikely to happen.

I posted here because i really need help in the assemble of my arduino hardware, and collecting the data from it.

Thanks ....
cheers

The easiest way to get wave parameters from the accelerometer will be to transform the accelerations to Fourier space using the FFT, then integrate simply by multiplying by the frequencies (twice). This will give the power spectral density (PSD) of the waves. Now, discard the low frequency part of the signal (periods longer than 15 s, say) and integrate under the remaining spectrum to get the spectral moments:
M0 = integral (PSD * df)
M1 = integral (PSD *f *df)
M2 = integral (PSD *f^2 * df)
etc

Whence the wave parameters:
Hs = 4sqrt(M0) significant wave height
TM1= M0/M1 mean period
SW = 1 - M2^2/(M0
M4) spectral width
etc

The elegant thing about this method is that we never have to process the time series.

I suspect MEMS accelerometers may be too noisy for this application - there is probably a much higher spec'd unit available that's a bit larger and more expensive. Once you integrate twice low-frequency noise and drift will be enormously amplified. Some research is needed to determine if such silicon sensors are good enough I think. You know your accuracy requirements.

With respect to generating current from ocean waves:

He pulled it off an he's only 17 :wink: