Arduino and Hydrological Monitoring Sensor Capability


I will begin explaining the situation as I do not have the most solid understanding of the capabilities of sensors. I also, have general working knowledge of resistance, but would only say it is basic, at best.

I will preface this by explaining that I know that there are many hardware and software solutions available to the scientific community, but are available at extreme costs.

  1. I want to measure temp at various depths of a river that might reach 15 meters
  2. I would also like to record water velocity at certain depths, again at most 15 meters.
  3. A gps module to record location of data would be handy as well
  4. I would like to see real time temps and also be able to use a Data Logger to store information
  5. I would also like to implement a "surface" weather station on my boat (temp,barometric pressure, wind, humidity, etc.)

Question 1: At what distance from my Arduino will a sensor cease to return accurate (or any) information at all?

Question 2: Assuming that I will not be able to run a wire connection to a sensor at 15 meters, can I use a waterproofed Arduino Nano or Mini? to act as a "Relay"?

Question 3: Again, assuming that a wire connection is not appropriate at 15 meters, what about about a waterproofed wireless transmitter?

Question 4: Referring back to my intent to monitor water velocity, any suggestions on sensors?

Thank you for any assistance.

You are talking about a pretty seriolus operation here but at some of the aspects are easy.

The DS18B20 is an entirely suitable temperature sensor and very well-supported for use with Arduino. It is available in a weatherproof package this not likely to require modification and costs about $5. It comes in various cable lengths. I'm not sure about 15m but the cables can be extended, with care. How you get it down to 15m and stay there is another matter, and I guess the first problem is finding a river 15m deep.

There are several radio communication methods and I imagine the only thing you need do is come up with a way of avoiding radio transmission under water.

On-board logging to an SD card is both sensible and commonplace.

I guess any ultrasonic flow meter could be built into a semibuoyant housing - nothing that money can't fix.

Okay, after formulating a couple of questions I was able to do a little digging. High frequencies don't travel through water. This leads me to conclude that data (temp and velocity) will need to be transferred via a wire.

10 - 15 meters is the maximum anticipated depth I would be fishing and there are plenty locations on the snake river that will be at least that deep.

I am not sure what I should be looking for on datasheets. I can kind of figure out the voltage drop, however minimal, using a certain cable length.

How do figure out the resistance/noise/interference of the data been sent back to the Arduino by using such a long wire? I have seen the DS18B20 sold with 5m wire. At this point a little trial and error could be used to extend the wire 10m and check the difference between the standard short cable and the additional length?

There has been discussion on the DS18B20. Some decent shielded cable and a smaller pullup res, 2k2, is probably all you need. I had problems extending a 5m cable with cheapo stuff.

I imagine this project might be quite simple. The arduino goes in a buoy and the sensors are arranged in a daisy chain down the mooring cable. If the river really is that deep, it is probably navigable so that would need to be taken into account, and the buoy might have some extra equipment on board.

The DS18B20 uses the Dallas 1 wire protocol. This means that both power and data are transmitted of the same wire and it is a digital signal. I really don't think voltage drop over 15m would be a problem, however capacitance might be so I would be looking for a low capacitance cable.

However, since you want temp and flow at depth you may be better off putting something like an Arduino Nano in the submerged module to read temp and flow and then use standard serial comms (or even RS232) from that to the unit on the boat.

I think the flow meter will be the hardest device to deal with, so I suggest you focus on that. If you can avoid having any electronics under water it will be far easier to make reliable, so you will need to look for a flow sensor that can be connected via a wired interface of 15m or so.

You will also need to look for a supply of waterproof wiring that will tolerate being wound and unwound repeatedly, and this will probably define the minimum spool size that you can get away with.

For the temp sender, the onewire protocol can be used over hundreds of meters with the right drivers, but I doubt that Arduino I/O pins are particularly optimised for this and I don't know what sort of range you will achieve. Once you have picked your wiring type you can always connect a DS18B20 over a 15m length and see how well it works - the wire won't care whether it's under water or not. If it isn't reliable you could just use a thermister. You will need to calibrate the thermister to compensate for the resistance of the wiring, but that's easy enough to do.

As a last resort you could put a microcontroller at the slave end and use a serial driver to communicate with the master, but sealing electronics and wiring under 15m of water will not be easy and I'd avoid that if at all possible.