reef tank controller. Control light , water tem, PH, dosing ,
reef tank controller. Control light , water tem, PH, dosing ,
I made one of those. Background I'm a salt water tank enthusiast. I wanted something sophisticated so I could automate many of the dull tasks. I started with a Arduino Mega as the foundation. I added an ethernet/SD card shield. I added PH and TDS probe I2C modules from Atlas Scientific and a RTC module (temperature compensated for accuracy).
I then built a bus based on RJ45 connectors. It had 1 serial, 1 1-wire, I2C, and gnd/+5.
For power, I purchased one of those 8 channel DJ power centers. It's just a glorified power strip with the ability to manually turn on/off each individual plug. I created a I2C 8 channel relay module that I piggy-backed on the power center and wired it in.
For communications, I added two RJ45 jacks wired in parallel. This allows me to run standard CAT 5 Ethernet between it and the Arduino while leaving a jack free to daisy chain to another power center if I so choose.
On the power center I plugged in the following:
So in total, I had the following talking to the Arduino:
The application ran a sequential timer system along with the LCD update and keypad polling algorithms. I integrated calibration routines in addition to everything else so I could do the three stage sensor calibrations (low/med/high solution calibration). As far as the dosing pump goes, it was only doing kalkwasser top offs. But I could easily done PH adjustments. But I found the kalkwasser did fine. The whole thing logged to a simple web page so I could monitor everything over Ethernet. It stored the logs on the SD card in CSV format so I could dump it into a spreadsheet and view the trends.
Yack yack yack...if you have any questions, let me know.
I made one of those. Background I'm a salt water tank enthusiast. I wanted something sophisticated so I could automate many of the dull tasks. I started with a Arduino Mega as the foundation. I added an ethernet/SD card shield. I added PH and TDS probe I2C modules from Atlas Scientific and a RTC module (temperature compensated for accuracy).
I then built a bus based on RJ45 connectors. It had 1 serial, 1 1-wire, I2C, and gnd/+5.
For power, I purchased one of those 8 channel DJ power centers. It's just a glorified power strip with the ability to manually turn on/off each individual plug. I created a I2C 8 channel relay module that I piggy-backed on the power center and wired it in.
For communications, I added two RJ45 jacks wired in parallel. This allows me to run standard CAT 5 Ethernet between it and the Arduino while leaving a jack free to daisy chain to another power center if I so choose.
On the power center I plugged in the following:
So in total, I had the following talking to the Arduino:
The application ran a sequential timer system along with the LCD update and keypad polling algorithms. I integrated calibration routines in addition to everything else so I could do the three stage sensor calibrations (low/med/high solution calibration). As far as the dosing pump goes, it was only doing kalkwasser top offs. But I could easily done PH adjustments. But I found the kalkwasser did fine. The whole thing logged to a simple web page so I could monitor everything over Ethernet. It stored the logs on the SD card in CSV format so I could dump it into a spreadsheet and view the trends.
Yack yack yack...if you have any questions, let me know.
I used Atlas Scientific modules. All you do is solder on a BNC connector and a I2C bus to an Arduino and you can then issue a command to calibrate the new PH probe using three different PH solutions (low/med/high) and you are set! The module then polls the probe and sends the PH reading back to the Arduino. It's a smart module as well. As it polls the probe, it's averaging measurements to get a more reliable reading to compensate for noise. Atlas makes taking measurements really easy.
Thank you Roger. It sounds strange to me that calibration don't need a precise ... calibrated value but only three average low/med/high. How can it be precise? Is there some trick ?
The three are very precise calibration fluids. I can't remember the exact numbers. I THINK they were 2, 7, 10 if I remember correctly. So, once the device knows which one the probe is immersed in, it knows exactly what the value should be. Then, it calibrates a curve based on those three. When you think about it, how would you obtain hundreds of precision PH mixtures necessary to exactly calibrate a PH probe? For our purposes, it's accurate enough.
Clem,
in the cases of chemical measures - as many other environmental measures - it is not really true. Ph has not always a true linear conductivity variation but follows several kind of curves and there are many parameters that can influence the measure.
No, I understand the nonlinear qualities of Ph. I just stated in Math 3 points are needed to determine if and only if one has a curve (Ph) or a straight line (some linear model). Aw many a angle as well. LOL