My Neptune Apex web interface compatible DIY reef controller

I'll go over the Serial code for atlas stamps. I know currently, all three are run simultaneously instead of in sequence. I don't think that should be a problem, but I wanted to change the code to operate the sensors sequentially. Meaning, get reading for sensor1 first, then sensor2, then sensor3, then back to sensor1. Right now, it sends the "r\r" command to all 3 on the same loop. Then the results just come back whenever they are ready via SerialEvent.

There is a trick to clean up your data.

using curl command, download the sensor data file as follows
curl http://login@ip/sen/2014/09/30.txt>30.txt

If the bad data is on Oct 1, just change the path to the correct date.

Edit the 30.txt file, look for the outlier data, then fix it and save the file.

Then upload it back to the controller

curl -0 -T 30.txt http://login@ip/upload/sen/2014/09/30.txt

Then check you nice graph again (you need to reload the webpage) :)

d0ughb0y you should put this in your documentation links, the only thing I had to do is on upload is add the -v to the curl. Other than that I clean up my graph
 
D0ughB0y,

The Orp calibration solutions are 225 and 125, so Ive had to reduce the lower ORP drop data value to get a calibration. I am getting some very strange readings on ORP. need to have a look at it tomorrow they are up at 900, but its nothing to do with your code.
 
Ok, in that case, I have to lower the range to 200.

Staisman, I've mentioned in earlier posts the LED controller code will calculate sunrise and sunset time for a given location.
 
I was adding the fan driver circuit to my test setup yesterday and noticed the arduino voltage regulator running hot. I think the new atlas stamp definitely draws more current than the non EZO verison, plus I have 5 temp sensors. At one point the arduino even shutdown, and the calibration info on the cond stamp got cleared. (wgraham, I think this is what happened to you as well)

So I think it is best to run all the sensors and I2C on a separate 5v power.
 
I was adding the fan driver circuit to my test setup yesterday and noticed the arduino voltage regulator running hot. I think the new atlas stamp definitely draws more current than the non EZO verison, plus I have 5 temp sensors. At one point the arduino even shutdown, and the calibration info on the cond stamp got cleared. (wgraham, I think this is what happened to you as well)

So I think it is best to run all the sensors and I2C on a separate 5v power.

Yes that what I think happen also, I will put a cap across my 5 volt supply today and re hook it
 
I was adding the fan driver circuit to my test setup yesterday and noticed the arduino voltage regulator running hot. I think the new atlas stamp definitely draws more current than the non EZO verison, plus I have 5 temp sensors. At one point the arduino even shutdown, and the calibration info on the cond stamp got cleared. (wgraham, I think this is what happened to you as well)

So I think it is best to run all the sensors and I2C on a separate 5v power.

Hi, That was why I was suggesting reducing the read interval down, and putting the stamps to sleep (a feature of the EZO)when not in use, and reduce the load on the arduino to just a read time.

M
 
Hi, That was why I was suggesting reducing the read interval down, and putting the stamps to sleep (a feature of the EZO)when not in use, and reduce the load on the arduino to just a read time.

M

it will still consume the normal power when you wake it up to get the reading.
I don't think the circuits take up a lot of power, its just the linear voltage regulator of the arduino is not able to handle it.

On my test circuit, I ended up feeding the 12v to the buck regulator, then use that to power the entire circuit, including the arduino.
 
it will still consume the normal power when you wake it up to get the reading.
I don't think the circuits take up a lot of power, its just the linear voltage regulator of the arduino is not able to handle it.

On my test circuit, I ended up feeding the 12v to the buck regulator, then use that to power the entire circuit, including the arduino.

I guess where I got to was there would only be one device awake at any one time, and there woudl be sufficient sleep time that the on board regulator wouldnt have time to get that warm.

But shifting the load saves dome reworking

.....

I am finding that the stamps are more stable at 3v3. Has anyone else found this
 
I'm only running one stamp right now and have the problem.

The ethernet shield is probably using 500ma. The rest of the circuit combined is using less than that.
The arduino voltage regulator is rated 1a, but with 12v input, it will put out heat equivalent to 7watts.
With linear regulators, the output current IS the input current. You can probably use a 7v input. But I think it will just be simpler to just power the whole 5v from a real 5v source. I'm going for the simpler solution.
 
I'm only running one stamp right now and have the problem.

The ethernet shield is probably using 500ma. The rest of the circuit combined is using less than that.
The arduino voltage regulator is rated 1a, but with 12v input, it will put out heat equivalent to 7watts.
With linear regulators, the output current IS the input current. You can probably use a 7v input. But I think it will just be simpler to just power the whole 5v from a real 5v source. I'm going for the simpler solution.

Built a 7805 based supply with a decade cap arrangement, to power the lcd, 8*SSR, Relay and anythig that will hang from the I2C bus, its in a parallel arrangement with diode protection, which will give me 1.5 amp capacity without a lot of heatsink. So this now sorts out flaky issues I was having, thankfully.

I have a 36w supply to the case, with a 12-6 DCDC converter to power the arduino, ethernet, and have move the stamps to the 3v3 supply. The ORP and Conductivity are more stable - maybe less transient power noise.

Putting together a milling and drilling profile for the lighting heatsink I can then get this on order over the next couple of weeks.

The 2 WP10s are powered from a 24v 40W supply. Not sure what the current pull on these is, but thinking 10Watts each. So I'm thinking eventually a combined 24v supply for the leds and pumps. I have a 10A switchmode sitting here but its overkill.
 
Do you think that the addition of a DO probe may be of benefit.

I was having a read about ORP, if I got things correct in real simple terms then the lower the ORP reading the greater the organic load, the higher the ORP the greater the oxidsing potential.

So if we knew how much disolved oxygen there was in the water ORP relative to DO would provide better information on the quality of the water. This combined with pH reading, and temperature, the controller could perform water changes when required.
 
Not sure what you are asking. Atlas ph, ORP and cond sensors all work the same and use the same code.

I would use a DC-DC buck converter instead of 7805. Switching power supply is extremely efficient, almost no heat produced and will only use power that it needs.
 
Not sure what you are asking. Atlas ph, ORP and cond sensors all work the same and use the same code.

I would use a DC-DC buck converter instead of 7805. Switching power supply is extremely efficient, almost no heat produced and will only use power that it needs.

I'm waiting on my bucks to arrive, so its a temp till then.

With a float getOrp() I can switch the skimmer in and out at a given value. unless you have an easier solution to return an ORP value that I can test?

I'll use the average ORP value.

M
 
Last edited:
I'm waiting on my bucks to arrive, so its a temp till then.

With a float getOrp() I can switch the skimmer in and out at a given value. unless you have an easier solution to return an ORP value that I can test?

I'll use the average ORP value.

M

if you can explain better what you want to do, I can give you a better answer.

There is no getOrp(). All atlas sensors use getAtlasAvg().
You can get the last raw sensor reading for orp using orpdata.value.
 
Thanks, I gave it a bit of thought and got to using the getAtlasAveg() to give me the reading I was looking for.

But thank you.
 
Whats is the lowest amount you can dose with your current code for the Dosers?

it depends on your calibration and density of the liquid.
I can make turn the motor on as short as 1.02ms (and this is precise), which I term as 1 time unit. I can't remember how many units before it puts out one drop, so that will be the lowest amount. I think it is 98 units or 100ms produces 1 drop.
 
Back
Top