My Neptune Apex web interface compatible DIY reef controller

The fan circuit is turning out to be more complicated than I thought.

The bestbuy fan worked fine, but the one I got online does not turn off when I switch the transistor off. What is happening is the pwm pin is actually powering the fan because the fan circuit connection does not actually have a common ground with the arduino circuit. I have to order parts and use this circuit that allows a grounded load.

img_1224968365_15450_1308499014_mod_380_283.jpg


to simplify things, I'll just be using BC338 for NPN and BC328 for PNP.
I don't think there is an array chip with this circuit, so this has to be built with discrete components.

So I'll have to wait 2 weeks for the parts to arrive.
 
ok, I think that's because you don't have sonar.
I'll fix that.


ok, I just uploaded the fix to github. the fix is in index.gz and index.htm.

According to the Curl output, it took. But I still get the same "CS call failed. error" when I go to Misc Setup. My temp is currently not working, would it have anything to do with that? Or is it just Sonar Alert that the CS call is referring to?

Crap, I did it the lazy way, and just saved links as, well hell, I saved the actual GIT page.

Sorry about the blonde moment, late night.

Anyway it is working properly now, thanks D0ughb0y
 
Last edited:
d0ughb0y I notice when the temp sensor reach around 89 degrees they fallout. I thought it was the probe but I switch them around and the same thing. I have one monitoring my LEDs and that's the one that fallout. So I switch that one with the room temp and the same thing. I have 3 temp probes hook up.
 
d0ughb0y I notice when the temp sensor reach around 89 degrees they fallout. I thought it was the probe but I switch them around and the same thing. I have one monitoring my LEDs and that's the one that fallout. So I switch that one with the room temp and the same thing. I have 3 temp probes hook up.


I limited the temp reading to 60-89.6. I removed this restriction and uploaded the change to github. The change is in Sensors.ino.
 
Which one of the software I need to download it has a few

I can't remember which one I downloaded so I tried this one and it works on windows.

http://curl.askapache.com/download/curl-7.33.0-win64-nossl.zip

if you copy curl.exe to the location where index.gz file is located, then you follow the command I show in github, otherwise, you can add curl.exe to file path, or just specify the path location of index.gz file.

BTW, I think I mentioned this in an earlier post, a neat trick with curl is, if after you type the entire curl command, you add this (including the >)

> log.txt

it will display a nice percentage progress as the upload is hapenning.
you can delete log.txt file afterwards.
 
Last edited:
I started working on the software for the pwm fans while waiting for the parts I ordered. Since the new circuit will have a common ground, I can now use the DB9 as the connector for the 3 PWM fans. +12,PWM,Tach pins x3, plus gnd is 10 connections total. I will use the 9 pins of the DB9, then the shield (DB9 shell) to carry the ground.

My initial webpage design looks like this screenshot. The gauge displays "real time" RPM value, so the needle will move in real time. If in auto mode, it will display the rpm and fan level (duty cycle) in the slider, and the current temperature reading of the temp sensor associated with the fan. When in manual mode, you can slide the level value, from 0 (off) to 100 (full on).


0CXIdBj.png
 
Last edited:
That's the plan. The code is currently using dummy data since I don't have the circuit yet. In config, you will associate the fan with a temp sensor, then specify a low and high temp value. The low temp value will be the starting rpm for the fan (usually 30%), and the high temp will be the max level you want for the fan (does not have to be 100%). Then you can specify if you want an alert if the fan is supposed to be running and rpm reading is 0.
 
Nice, look forward to playing with this. Currently I'm specifying the temp sensor and kicking on an outlet running the fan at full speed.
 
D0ughb0y, is there a way to program the outlets as such:

Between the hours of 8pm - 7 am only
Outlet A turns on 8pm, turns off at 9pm, turns back on 10pm, so on and so forth till 7am when it will stay on?
 
D0ughb0y, is there a way to program the outlets as such:

Between the hours of 8pm - 7 am only
Outlet A turns on 8pm, turns off at 9pm, turns back on 10pm, so on and so forth till 7am when it will stay on?

you can do this in a macro.

The macro itself is like an outlet. so you define it to come on at 8pm and off at 7am (you need to check inverse, since you will specify on at 7am and off at 8pm). Then for this macro, you define an action for the outlet to come on for 1 hour and off for 1 hour, and it will do that cycle during the ON time of the macro, which is 8pm to 7am.
 
you can do this in a macro.

The macro itself is like an outlet. so you define it to come on at 8pm and off at 7am (you need to check inverse, since you will specify on at 7am and off at 8pm). Then for this macro, you define an action for the outlet to come on for 1 hour and off for 1 hour, and it will do that cycle during the ON time of the macro, which is 8pm to 7am.

I am not seeing a way to create new macros or action on the controller's web site, so I imagine I would have to define that in the sketch, like how the feed macros and actions are. Then do the actual time setups via webpage?
 
That's the plan. The code is currently using dummy data since I don't have the circuit yet. In config, you will associate the fan with a temp sensor, then specify a low and high temp value. The low temp value will be the starting rpm for the fan (usually 30%), and the high temp will be the max level you want for the fan (does not have to be 100%). Then you can specify if you want an alert if the fan is supposed to be running and rpm reading is 0.

Which fans are you going to use with this the ones from tigerdirect or bestbuy
 
Back
Top