Salinity / level monitor

nbw

Senior Member
This is a little device I built for my saltwater fish tank. Because the water is warm, fresh water evaporates, leaving the salt behind. Quite quickly, the salinity of the water can creep up above the sea-standard of 35ppt... which can stress the corals and other animals in the tank. You need to top up regularly with small amounts of fresh water, which I keep in a 100 litre drum.

This device has 2 sets of probes - 2 probes in the drum to measure a low-level condition, and 3 in the tank sump - one to measure high-level in the sump, and 2 to measure salinity. All probes are made of stainless steel - 1.6mm TIG welding rods - saltwater is brutal on electronics.

Each hour, the device checks the salinity of the tank with respect to the water temp (a DS18B20) and then switches on a tiny 240V pump for 7 seconds (pumps about 250ml of water) into the sump.

It makes an alarm fire if the fresh water drum runs out, or the sump is too high, or if salinity gets too high or low for some reason (32 - 37 ppt) or too hot/cold (29 - 24 deg C).

The various readings are displayed on 2 x 3 7-seg LED displays, driven by the MAX7219. The device features it's own little transformer for power, and has an LDR to dim the displays at night-time.

This is driven off a 28X picaxe.
 

nbw

Senior Member
Oh - it's fused of course for safety, and has various LEDs to indicate various states. There's a 3.5mm socket for re-programming, and the red button is for a 'reset check' - you press it and it does an immediate check of all probes / levels.
 

nbw

Senior Member
I'm hoping to get round to it sometime... I'm a bit slow in catching up. I had the photos etc of it sitting in a directory for a few months... only when I was clearing up the computer did I see them and jog my memory! I do recall that the code to drive the 7219 was the standard one kindly provided by Martin (a forum search will throw up all the threads), and the probe values are read into 10 bit ADCs. Oh! And of course, pulsing DC through water - esp seawater - ouch! I think I used 2ms pulses, about 10, then averaged out the values - otherwise plating would occur and I'd have to change the probes in no time at all.
 

nbw

Senior Member
Working on an AC version now, I'll operate it at about 1kHz, and take say 200 ADC readings over the space of say 20 seconds, and average them out. I only need to check the salinity once per hour, so I could even go for say 10 readings a minute for 55 minutes and average them out to get even closer to the sal value.
 

i2c4me

New Member
I'd love a little more detail as I am currently 'working' on a similar setup for my Aquaponics fish tank, why reinvent the wheel and all....
 

nbw

Senior Member
sure thing, as soon as I get the salinity conversions / probes working nicely I'll update this post. The easy bit is the display of temp+sal on 6x LED digits using the 7219, and the switching on the pump once an hour on a low salinity event.

watch this space!
 

nbw

Senior Member
Update: tuning circuit again. Now running at AC 7K3 kHz, sampling 600 times over 5 mins.
 

hakha4

New Member
Saline meas,progress with project?

Hi
Very interesting project. I've looked for a way to measure saline over the net but there isn't that much to find. I have a pool (saltwater) and can manage to control most of it now regarding temps/heating etc but I'm lacking a way to measure saline konc. My chlorinator stops if levels goes over/under approx 0.3% of salt and has to be started manually (there is no schematics to find and reverse enginering of this is to much for my knowledge). Would You consider sharing how you managed this? Even if you are not 100% satisfied yet a hint of how to do this would be appreciated

Regards Hucke
 
Top