My DIY Netduino Controller and Multi-channel Multi-chip LED Cannons

I have a 'reef controller' "Sheild" that I'd like to have made but it's more of a big board the N+2 would plug into that includes some shift registers, i2c expanders for the LCD, my 15 channel PWM board integrated, and with nice connectors (RJ45, RJ11, serial etc) for all the probes and extensions. elminate most of the wiring nest. I'm not a genius with eagle, nor do I do reflows, so I'm not sure if that'll ever happen.
 
try this :)

http://www.dinrelay.com/

$120 bucks you get an ethernet enabled 8 channel relay. Use your controller to send HTTP GET sequences to control the outputs. They have added tons of features, but in the simplest sense, you can just use it as an ethernet controller relay x8

Not only that, but you can "bypass" your control logic and log into the thing direclty via the web and override if the need ever presents itself. I have piles of relays, SSRs, ULN2803, etc.. .and still may toss them all out the window in favor of these boxes but with the ethernet ability of the netduino it looks like I may end up using the 20A mechanical relays (I have DIN rail SSRs but am not going to use them) in the HOA box. I will use the Ethernet relay for my drip irrigation for my raised beds :)
 
try this :)

http://www.dinrelay.com/

$120 bucks you get an ethernet enabled 8 channel relay. Use your controller to send HTTP GET sequences to control the outputs. They have added tons of features, but in the simplest sense, you can just use it as an ethernet controller relay x8

Not only that, but you can "bypass" your control logic and log into the thing direclty via the web and override if the need ever presents itself. I have piles of relays, SSRs, ULN2803, etc.. .and still may toss them all out the window in favor of these boxes but with the ethernet ability of the netduino it looks like I may end up using the 20A mechanical relays (I have DIN rail SSRs but am not going to use them) in the HOA box. I will use the Ethernet relay for my drip irrigation for my raised beds :)

Very Cool Option..
 
I like the switch idea. It is a perfect solution for sensitive reef tanks. I'll be adding that idea to my reef tank! Thanks for that. But the house isn't nearly as "sensitive" to change so I've just got to figure out the logic of the overrides off my HTML page to override the normal schedules tasks of the day. My automation will mainly control lights/outlets/water heater. Nothing too tricky IF the system fails. I do have my relays wired to power fail "ON" if the arduino is unresponsive which is about as much as I need for backup. I have a single relay on my other Ethernet arduino which can be triggered to reset the mega if needed as well. All bases covered as far as I can imagine. So anyone else figure out the logic for overrides?

I'm thinking
porchlight=true can hold the value of auto mode
porchlightOn=false (when true overrides ON)
porchlightOff=false (when true overrides OFF)
When porchlightOn && porchlightOff are both false porchlight=true // auto mode on again.
 
When i was looking for relay boards i only looked for i2c, since i already use it for my pwm board and i found it very easy to work with... Only found them in one place, and from there i got this:
http://www.ereshop.com/shop/i2c-bus-high-current-relay-12v-pcf8574-p-739.html

They have other options, including a copy of that with a different register range on the chip, so you can stack 8 boards of each register range or 16 boards total for 128 relays on 2 wires =D.
 
When i was looking for relay boards i only looked for i2c, since i already use it for my pwm board and i found it very easy to work with... Only found them in one place, and from there i got this:
http://www.ereshop.com/shop/i2c-bus-high-current-relay-12v-pcf8574-p-739.html

They have other options, including a copy of that with a different register range on the chip, so you can stack 8 boards of each register range or 16 boards total for 128 relays on 2 wires =D.

there are a lot of generic i2c expanders out there that would let you control a ton of relays, and I'm doing it with shift registers that are SPI based, both are nice to save pins.
 
I have words for aqualifter pumps, beyond that I will leave that topic alone.


Anyway, time to add logging to this setup, but I'm having a hard time getting motivated. Need to wire up my 74HC595 shift registers so I can control all my relays + some other stuff. Also need to work on my LCD.

I think I'll break down my logging into two sections:

Things that are observed
  • Temp
  • Ph
  • Salinity

Things that are controlled:
  • Outlet Status
  • Light Status
  • ATO & Level status
  • Current text on LCD

So far I've set up logging of temp at least:

http://reefin.net/


will show you the last temp recorded in the biocube. It only updates every 1/2 hour, so.... don't hit refresh a bunch to watch it fluctuate. Though it handled every second fine, I doubt I'll want that much data :)
 
Instead of logging on the tick, why not only log on deviation that exceeds a preset value or precentage of the total?

It's crossed my mind, several times- define a norm and log anything outside of it. Frankly it's just because the main piece of mind I get from the logging is "oh, yea, it's working and it logged 20 min ago, so everything is OK!" Mainly a system status indicator and I'm attaching images of coral to timepoints, so ideally I'll be able to take a look at my images, and say "oh, what were my parameters like when this was taken..."

It can provide some insight into the tank, and it's various states. Eventually an automatic snapshot from an IP camera could mean a daily tank log, automated. Perhaps I'll wind back to logging most things once a day (likely) but much more often if they're out of the norm, a Hybrid of sorts.
 






LCD is functioning and useful, shows 'ATO' when the ATO is running, mode, (currently "Night") and Temp (77.56).

Used some command strips to pin everything down to a board for prototyping. Turns out turning the power supply for the LED's on and off wreaks havoc on my i2c communication. Tossing pauses all over to try to get things straitened out, but using i2c for two devices across 10 threads is getting interesting.
 
Bugs to work out, LCD was blank this morning but lights were on. Restarted the board the LCD kicked in and showed me what I expected, lights came up. LCD is updating temp properly right now, so not sure how my wires are getting crossed and ending up blank. Probably need to get everything that touches the LCD into the same thread at some point, not sure.
 
Maybe wrap the PSU power wires through a ferrite bead.

Still not ordered the NETDUINO yet... maybe next week, then I can help :)

Any plance for a 420px touch screen?
 
dang, all you guys and the programming voice lol. very nice so far, I am following along but I am still learning the arduino. but it don't seem like it is very diffrent than the netduino.

i'll have to come to SF and iced can be my teacher :D
 
Maybe wrap the PSU power wires through a ferrite bead.

Still not ordered the NETDUINO yet... maybe next week, then I can help :)

Any plance for a 420px touch screen?

Go N+2 ;)

No plans for a big color touchscreen. The libraries to drive them aren't around so much for netduino and I don't really forsee much interaction with the system that way. The LCD is mostly just to give a quick overview status wise, and allow me to eventually toggle some special modes on (Feed, bring the lights up when they're currently off, etc) Basic stuff. Having some interesting i2c communication issues. Came down this morning to a blank LCD, but the lights were working fine. Restarted board and now both are working. Might need to invest in some ferrite bands for the powersupply on the lights, or take a peak at the spec sheet and see if it hurts to run it with no draw (my gut says no problem).
 
dang, all you guys and the programming voice lol. very nice so far, I am following along but I am still learning the arduino. but it don't seem like it is very diffrent than the netduino.

i'll have to come to SF and iced can be my teacher :D

I used to be a C#/PHP/CSS/JS programmer so this is pretty easy to get the basic stuff down, for the rest of it, I just beg borrow and use others work (with permission, of course ;)) the community surrounding the hobby electronics is awesome. I started this as a way to stall me from cutting a big hole in the wall for the big tank until we were ready (post wedding saturday lol) and to keep me distracted from work when I'm not supposed to be working (I'd work 60+ hours a week if I didn't have a project). It's succeeded at both, and it appears I'll even get something worth having out of the deal!!
 
yeah I can see being a programmer would make it very easy.

lol, everyone has been waiting for you to cut that hole in the wall for the 180 gal. but it is good that your taking it nice and slow and doing it the way you want rather than finding out you wanted to do it a diffrent way later.

and congrats on the wedding, I wish you 2 the best.

and lastly you must have a very understanding wife, mine can't beleive how much time I spend working on the arduino. lol
 
Just tagging along right now. Finding some interesting ideas. Cannot wait to see the finished produce and that cost berak down you mentioned earlier.
 
Well welcome aboard. I should do the cost additions on the pendants, they're 100% here and paid for now so I can tell you all exactly what the breakdown was per pendant.
 
Display or not...

That is where I am torn. I flunder back and forth between embedded solutions and PC based solutions and with a hybrid solution in between . I am still leaning toward individual autonoums controllers for dosing, lighting, top-off, all reporting to the PC based solution for logging and/or user initiated updates or overrides. The idea of a single "life support" controller is not something I have ever been comfortable with.

The alure of the netduino is the event driven .NET foundation and the ease of allowing it to communicate via TCP/IP to the host controller.
 
Back
Top