PDA

View Full Version : DIY Arduino Controllable Power Strip


tastydog
01/28/2012, 02:43 PM
WARNING!!!

THIS GUIDE USES 15AMP 120v AC POWER AND THERE IS A HIGH RISK OF ELECTRIC SHOCK. 120v AC CAN KILL YOU!!! PLEASE TAKE PRECAUTIONS AND IF YOU ARE UNSURE ABOUT SOMETHING DON'T DO IT! NO ONE ON WWW.REEFCENTRAL.COM INCLUDING MYSELF ARE LIABLE FOR WHATEVER ACTIONS YOU TAKE. ALSO BE AWARE THAT 120v AC POWER CAN START AN ELECTRICAL FIRE AND COULD RESULT IN A HOME OR BUILDING BEING BURNED DOWN. THIS IS A GUIDE, NOT A HOW TO MANUAL. BE SMART AND AGAIN, IF YOU ARE UNSURE ABOUT ANY OF YOUR ACTIONS, YOU SHOULD STOP WHAT YOU ARE DOING AND CONSULT AN ELECTRICIAN.

Introduction

This should be an easy to follow guide if you want to build a cheap power strip that can be easily controlled with a $13.00 Arduino and a 9v 750mA wall wart. The total cost of the power strip for 7 plugs is about $60 depending on how resourceful you are. (Not including the Arduino.)


Description

This power strip uses 15AMP 120v AC relays that are switchable with 5v DC power. They have a switching current draw of 72mA. There are only 2 other components needed for this build besides the box, wire and receptacles. That is a I2C breakout out board and a relay driver. Although you can get any of these you desire, I will show you how to build this with specific parts.

Including shipping: $16 from Sparkfun - $31.00 from Digikey - Other parts ~$13


The parts list

x1 - A box to put everything in --- http://parts.digikey.com/1/parts/1956824-box-plas-6-00x3-25x2-06-black-1591xxdsflbk.html

x7 - NEMA 5-15R 15AMP 125v 2-Pole 3-Wire Grounded Receptacles --- http://parts.digikey.com/1/parts/99355-conv-outlet-assembly-black-208697-2.html

x7 - 15AMP 125v Mechanical Relays --- http://parts.digikey.com/1/parts/1449879-relay-pwr-spst-no-15a-5vdc-pcb-orwh-sh-105hm3f-000.html

x1 - I2C Breakout Board --- http://www.sparkfun.com/products/8130

x1 - ULN2003A Relay Driver --- http://parts.digikey.com/1/parts/1009713-ic-arrays-seven-darl-16-dip-uln2003a.html

x21 - Male 16-14AWG Male wire terminal tab ends - Something similar to --- http://www.google.com/products/catalog?hl=en&safe=off&q=disconnect+m+20-143m&gs_upl=3705l8633l0l8759l13l13l0l0l0l0l118l1020l12.1l13l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&biw=1440&bih=799&um=1&ie=UTF-8&tbm=shop&cid=12629505204150182729&sa=X&ei=SVckT5GqMorgtgfvw5XjDw&ved=0CEUQ8wIwBQ

x17 - Ring Terminals for 14AWG Wire and bolts and nuts to go through them- Something like --- http://www.google.com/products/catalog?hl=en&sugexp=pfwl&tok=zabSYt8SG8bH1GH_EBmvxg&cp=14&gs_id=2a&xhr=t&q=ring+terminals&safe=off&gs_upl=&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&biw=1440&bih=799&um=1&ie=UTF-8&tbm=shop&cid=13073655737300659465&sa=X&ei=rFckT9uhFImFtgf52an8Dg&sqi=2&ved=0CKYBEPMCMAM

x1 - Internal wall phone jack terminal and phone line long enough to reach where ever you want the Arduino to be located

x1 - High Quality PCB for mounting relays, relay driver and I2C breakout

x4 - 6" pieces of 22AWG Wire (4 different colors to make life easier)

x1 - 12" of 20AWG Wire

x1 - 12" piece of bare 8AWG Copper wire (60 cents at Home Depot)

x1 - Enclosure cable stay - (A way to hold the power cord in the enclosure, see pictures for more detail.)

A 3 prong plug and however long of cord you want. (This is a great item to salvage. Make sure it is 14AWG wire though.)

14AWG Wire (This is a great item to salvage from something.)


Tools that you must have

A soldering iron and solder (Fine tip is much better)
Side Cutters
Electrical tape
Drill motor with assorted bits
Hammer
Saw


Tools that will make life 100 times easier

Wire Crimping Tool
Wire Stripper Tool
Nibbler Tool - http://www.radioshack.com/product/index.jsp?productId=12345949
Assortment of pliers and screw drivers
Anvil or vice with anvil
Drill press to replace the drill motor
Dremel tool with cutting blades to replace the saw



The steps that will take place

FIRST WE ASSEMBLE THE BOX

Cut out holes in box for receptacles, control wire and power cable
Insert receptacles and attach power cable
Attach terminals to 6" lengths of 14AWG wire and insert into neutral and ground on receptacles
Attach hole terminals to those same wires
Attach ground to a piece of hammered 8AWG wire with hole terminal connectors
Attach neutral to a piece of hammered 8AWG wire with hole terminal connectors
Wrap both pieces in electrical tape


NEXT WE BUILD THE RELAY BOARD

Cut a strip of PCB for relays, (see pictures)
Solder on relays
Solder chips
Solder wire for control
Solder wire for 5v Power and bridge for power to relay
Solder wires to connect to chips
Solder hammered 8AWG wire for 120v Power
Solder on wires to connect to receptacles to other pin on relay
Attach tab terminal ends to wire


LAST, WE PUT IT ALL TOGETHER

First, attach the control wires to the phone jack in glue or screw into place
Next, attach all of the relay wires to the receptacles
Add any needed tape to create a safe contact surface between board and receptacles
Upload code to Arduino after connecting VCC, GND and I2C Pins
Control your power strip!


I will detail each section above it its own post below with pictures and details on each step. For now though, this is all I have the patience for.

Brandon

tastydog
01/28/2012, 03:04 PM
These pictures should be self explanatory:

1) Cut out holes in box for receptacles, control wire and power cable

2) Insert receptacles and attach power cable


THIS IS THE FAMED NIBBLER TOOL, IT WILL ALLOW YOU TO CUT SQUARE HOLES IN THIS BOX, VERY VERY VERY USEFUL
http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic0.jpg



http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic1.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic2.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic3.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic4.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic5.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic6.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic7.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic8.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post1/pic9.jpg

tastydog
01/28/2012, 03:09 PM
Now attach the terminal ends to the 6" lengths of 14AWG wire and insert into the NEUTRAL side of the receptacles and the ground. The neutral side is the side with the taller blade if you are looking from the front of the box and it is the silver color female blade if you are looking at the back of the receptacle. It is important that you do this correctly. Make sure to use properly color coded wire, white is for neutral and green is for ground. We will use black for live but that end will be connected through the relay.


http://www.truzul.com/images/open.oceans/power.strip/step1/post2/pic10.jpg


http://www.truzul.com/images/open.oceans/power.strip/step1/post2/pic11.jpg


Okay, I am actually going to come back to this other step in a few more posts and move on to the PCB, because those are the pictures I have now.

tastydog
01/28/2012, 04:51 PM
Okay, this is the PCB step of the process. We are going to first cut out a T shaped piece of PCB. The pins on the relays don't match up to the board and we actually don't even want the pins for the 120v to be attached to the PCB anyway. So we just want the coil pins attached.


Here are the relays and the diagram for how to hook up each pin. The 120v Live is the hot line coming from the power cord. The other side are the lines that are connected to the receptacles.
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic1.jpg
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic2.jpg


Next, solder the small pins (relay driver pin and +5v VCC) to the PCB, make sure to drill holes for the pins on the bottom of the relay for the 120v connection to the receptacles.
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic3.jpg
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic4.jpg


Now, take a piece of the 8AWG wire and hammer it flat on each side and bend it so that is shores up nicely to the 120v Live pins. Take one end and flatten it even more and drill a hole in it that matches the terminal ends you purchased. Solder it to the pins. Make sure you put the iron on the copper wire to heat up instead of the pin because you don't want to over head the relay.
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic5.jpg
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic6.jpg
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic7.jpg



Okay, now is the part of the design where you want to be smart in your layout. First, we have a +5v VCC power wire running one hole down from the relay pins we soldered the board. This way we can bridge the +5v to the relays without any wires. Next, we want to place the relay driver right next to the I2C board and offset it one pin so that we can just bend the pins together and easily bridge them. Basically, one side of the relay driver goes to the I2C channels and the other side goes the relays. Yes, it matters which way so take note the orientation of the chips. I used 22AWG wire for the 4 lines out the Arduino and 20AWG for everything else except of course the 5v power rail which is just some bus wire.
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic8.jpg
http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic9.jpg

At this point you should do a test to make sure you have everything setup properly before you solder EVERYTHING together in case you made an error. Please see the next post for the testing information. Once you complete step one, go ahead and solder everything up and move to testing step 2 in the following post.


http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic101.jpg

tastydog
01/28/2012, 04:52 PM
WARNING:


REMEMBER THIS IS 120v AC POWER AND IT CAN KILL YOU! WHEN YOU HOOK THIS UP, THAT COPPER BAR HAS LIVE 120v POWER RUNNING THROUGH IT!!

USE EXTREME CAUTION. DON'T TOUCH ANY THING BUT THE ARDUINO WALL WART DURING THIS STEP AND MAKE SURE YOU DON'T TOUCH THE RELAY BOARD!!!! I WARNED YOU!!! BE SMART ABOUT THIS AND IF YOU ARE NOT SURE PLEASE ASK!!!



TESTING STEP 1:
Please run this simple test before you continue on and solder everything together.

Step 1: Choose 1 relay and wire it up completely noting which pin on the relay driver you install it on.
Step 2: Next solder some 20AWG black wire to the pin that goes to the receptacle and push it into the live line on the receptacle (the gold pin)
Step 3: Next, you need to butcher an old computer cable or something. Strip off the other end that does not plug into the wall and expose the wires in their shields. Expose some of the wire on each lead.
Step 4: Connect a flat terminal end to the ground and the neutral wires and connect them to the receptacle accordingly
Step 5: Connect the live line from the plug to the copper bar on the relay board

You now have an almost complete 120v circuit. Now all you need to do is hook up the pins on the arduino and plug in the wall jack with a lamp or something on the other end... however, don't be silly and do this in steps!!!

Step 6: Hook up the GND, VCC and SCL (Analog pin 5) and SDA (Analog pin 4) to the Arduino
Step 7: Plug the arduino into your computer and upload this sketch:

#include <Wire.h>

void setup() {
Wire.begin();
}

void set(byte b0,byte b1) {
Wire.beginTransmission(39);
Wire.write(b0);
Wire.write(b1);
Wire.endTransmission();

}

void loop(){
set(0,0);
delay(1000);

set(1,0);
delay(1000);
}


You MUST replace the set(1,0); line with the number for your pin. The pins are number in binary... so if you want pin 3 it is '4' and if you want pins 1-7 it is '127'.

Step 8: You should now hear the relay going on and off every second. If you don't something is wrong.
Step 9: Disconnect the USB from your computer and get a wall wart ready for the arduino to plug into the wall.
Step 10: Plug the lamp into the 120v plug and the plug into the wall.
Step 11: Plug in the arduino... If everything goes correctly you should see this:


<iframe src="http://player.vimeo.com/video/35812297?title=0&amp;byline=0&amp;portrait=0" width="400" height="240" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>



Here is the last picture without the diagrams in case it was too messy...

http://www.truzul.com/images/open.oceans/power.strip/step2/post1/pic10.jpg

tastydog
01/28/2012, 05:28 PM
The last testing step you will want to do is after you solder everything up together.

This sketch will show you if you have every relay working. It will turn on each one and then turn them all off together. You should hear 7 click on, 1 second delay, and then all relays click off together. 1 more second, and they process should start all over.

#include <Wire.h>

void setup() {
Wire.begin();

}

void set(byte b0,byte b1) {
Wire.beginTransmission(39);
Wire.write(b0);
Wire.write(b1);
Wire.endTransmission();

}

void loop(){
set(0,0);
delay(1000);

set(64,0);
delay(200);

set(96,0);
delay(200);

set(112,0);
delay(200);

set(120,0);
delay(200);

set(124,0);
delay(200);

set(126,0);
delay(200);

set(127,0);
delay(1000);
}

tastydog
01/28/2012, 05:40 PM
We have a few more steps left before we are done. However, this is all I can take today. I will get the last pics and finish this tutorial within the next few days.

Whats Left

The box

Attach ground to a piece of hammered 8AWG wire with hole terminal connectors
Attach neutral to a piece of hammered 8AWG wire with hole terminal connectors
Wrap both pieces in electrical tape



The board

Solder on wires to connect to receptacles to other pin on relay
Attach tab terminal ends to wire



Putting it all together

First, attach the control wires to the phone jack in glue or screw into place
Next, attach all of the relay wires to the receptacles
Add any needed tape to create a safe contact surface between board and receptacles
Upload code to Arduino after connecting VCC, GND and I2C Pins
Control your power strip!



Brandon

WindowMaker
01/28/2012, 06:05 PM
Very cool build! I wanna see how this turns out!

tastydog
01/31/2012, 11:13 PM
Okay, so now lets finish off the box and get ready to cram in the relay board.

First, I took some 8AWG wire and flattened it with a hammer. I know there are rails you can buy out there, but the point here is to save a few bucks by keeping it simple. Anyway, flatten the wire and drill the holes in it so it looks like this:

http://www.truzul.com//images/open.oceans/power.strip/step1/post3/1.jpg




Then you can attach all of the wires to it and shove it to the bottom of the box.

http://www.truzul.com//images/open.oceans/power.strip/step1/post3/2.jpg



Now, take another piece of the flattened 8AWG wire and drill a few holes in it and tie all of the ground pieces to it. This one can be crammed in a corner and I put multiple ground wires on each hole.


http://www.truzul.com//images/open.oceans/power.strip/step1/post3/3.jpg

http://www.truzul.com//images/open.oceans/power.strip/step1/post3/4.jpg

http://www.truzul.com//images/open.oceans/power.strip/step1/post3/5.jpg


Now we are all done with the box and just need to finish the relay board and install it.

tastydog
01/31/2012, 11:32 PM
Okay, the first thing we do is add the lines to the relays from the board. So, solder those on to the pins on the relay. Also, we attach the lines to the phone jack that is going to be installed into the box. I do this outside the box because it would be a pita to attach them once in the box.

http://www.truzul.com/images/open.oceans/power.strip/step2/post2/1.jpg


Okay, now a couple notes about the I2C breakout board. In general, one needs to have pullup resistors from SCL and SDA to VCC somewhere in their circuit. I am using I2C in several other places and have not had an issue not having those resistors. However, this circuit in testing proved to need those. So, I have choosen to add them to this circuit. One could however add them inside the box for the microcontroller. Which ever way seems best to you. Keep in mind though that you only want one pullup resistor in the entire I2C bus to VCC. So, if you do it here, don't do it elsewhere. Also, this device should always be hooked up if your decision is to add them to this circuit. Also, I noticed in the datasheet, something I missed before, that they recommend having pullup resistors to each of the I2C channels. I tried without and I was having some failings when I tried to turn the relay off under load. So, I added those resistors and poof, problem solved. A little more digging and I saw that the design was an open drain and that those pullups are necessary. So, add 10k pullup resistors to each of the I2C channel pins to VCC.

http://www.truzul.com/images/open.oceans/power.strip/step2/post2/2.jpg


Next, I added cut some metal flashing up and covered it in electrical tape to protect from shorting. I used two cut plates like the one on the right shown to sandwich the circuits. I know it doesn't produce a real Faraday cage but I figured it couldn't hurt to cut down on noise.

http://www.truzul.com/images/open.oceans/power.strip/step2/post2/3.jpg


I also added some electrical tape to the bottom of the relay circuit to protect it from accidental shorting.

http://www.truzul.com/images/open.oceans/power.strip/step2/post2/5.jpg

http://www.truzul.com/images/open.oceans/power.strip/step2/post2/4.jpg



So this is the box ready to be closed up, there is metal sheet under the board and one over it as you can see. I also added a strip between the relays and the phone jack.

http://www.truzul.com/images/open.oceans/power.strip/step2/post2/6.jpg


That is all! The box is ready to be closed up and is now fully functional!

tastydog
01/31/2012, 11:33 PM
The final box:

http://www.truzul.com/images/open.oceans/power.strip/step2/post2/finish1.jpg



http://www.truzul.com/images/open.oceans/power.strip/step2/post2/finish2.jpg


http://www.truzul.com/images/open.oceans/power.strip/step2/post2/finish3.jpg



http://www.truzul.com/images/open.oceans/power.strip/step2/post2/finish4.jpg



http://www.truzul.com/images/open.oceans/power.strip/step2/post2/finish5.jpg

WindowMaker
02/01/2012, 07:27 AM
Looks awesome, very similar to my concept, I just havent put it all in a box yet, it is a mess of wires sitting on my desk :P

tastydog
02/01/2012, 10:19 AM
Cool. Post up some pics and instructions when you get it put together :)



As for this particular power strip... it is just one part of a multipart project I have been working on.

Right now I have that same arduino in a nice box with an ethernet card and ports for 3 temp probes, a water on floor sensor, ph, orp, do and ec sensors that store the data on an SD card on the ethernet shield. Also, the data is sent to server out on the web an inserted into a database which can then display the information however one likes. I have an LCD but don't like it. I am ordering a color touch panel lcd to install instead. Also, the device polls an NTP server once per hour to keep its time synced and also polls NTP on startup. There is also an on board webserver and the devices responds to web requests locally. If you wanted outside access to the box, one could poke a hole in their router and forward web requests to it. However, until I figure out a way to encrypt the data, which I am working on for both the web server and the data transmissions, I wouldn't do that yet.

So, crammed into the small project box is the arduino, ethernet shield, ph, orp, do and ec sensor reader circuits and a touch LCD for input. It will be able to control as many of these power strips as I want as they can be daisy chained together with a simple modification.

The next goal is to document all of these pieces so far and put tutorials online for each so that people can build their own. The whole project has cost me half of what it would cost to buy the thing commercially.

After that, I will add functionality to control pumps and LED's, that seems trivial so it is not very high on my list of todo's.

The major hurdle has been to cram all of this code and states onto a 328 atmel chip. Basically I had to write a mini OS to handle all of the states and keep user input requests and the web server running.

Lastly, I am toying with the idea of replacing the ethernet shield and touch LCD with a $150 android tablet docked on the device connected via secure bluetooth and using an Android app to control the device and as the link to the internet. However, that would be a version 2 design as it would require some major reworking.

Right now, I just want to get this thing released and out there for everyone to see and poke at. Hopefully some people out there help make it better.

Brandon

tastydog
02/01/2012, 10:42 AM
Ohh yeah, I forgot, the server that is receiving the data from the controller/monitor sends out email and text alerts when values are out of range.

WindowMaker
02/02/2012, 04:40 PM
Very cool! Have you come up with any definitive circuit designs for your ec probe?

tastydog
02/02/2012, 06:12 PM
Very cool! Have you come up with any definitive circuit designs for your ec probe?

No need... these guys did all the work for anyone that wants PH, ORP, EC or DO.

http://atlas-scientific.com/index.php/store#ecwid:category=1812540&mode=product&product=7766632

WindowMaker
02/02/2012, 06:54 PM
That takes all of the fun out of it. I have the probes already, I would rather build the circuitry into my system than use 3rd party parts.

tastydog
02/02/2012, 07:06 PM
That takes all of the fun out of it. I have the probes already, I would rather build the circuitry into my system than use 3rd party parts.


There are something you want to do DIY... those circuits are not one of them. Trust me. I have done quite a bit of research on these. Of course it is possible to create them yourself... however, the time and energy it would take is immense if you want to have verifiable precision results. These circuits are tricky and careful care needs to be taken in every step of the design. Also, the code on the chips to make them work properly, the wiring, electrical interference noise... etc... all of those things have to be taken into account. Salinity is an especially difficult circuit to design properly. A man's gotta know his limitations. There are PLENTY of other fun things you could be doing with a controller and monitor design than working out the nitty gritty details of those circuits. I myself wasted quite a bit of time trying to make my own. I had some degree of success but didn't want to take the time and expense that would have been necessary to build them to an acceptable tolerance of error. I realize your enthusiasm and desire to build your own. I respect that, but do consider my advice... just buy them and move on to more interesting and overall useful parts of the design.


<iframe width="560" height="315" src="http://www.youtube.com/embed/_VrFV5r8cs0" frameborder="0" allowfullscreen></iframe>

estutesman
07/01/2012, 11:46 PM
I really enjoyed your DIY walkthrough on building the Power strip to be controlled by Arduino. By chance could you share some of the code that you use to communicate with each channel on the B/O Board?

Also, you mentioned a simple modification to allow daisy chain. Could you explain that as well? I'm a little hung up on how to get past the breakout boards having the same i2c address.

tastydog
07/02/2012, 05:46 PM
I really enjoyed your DIY walkthrough on building the Power strip to be controlled by Arduino. By chance could you share some of the code that you use to communicate with each channel on the B/O Board?

Also, you mentioned a simple modification to allow daisy chain. Could you explain that as well? I'm a little hung up on how to get past the breakout boards having the same i2c address.

Thanks, I am glad you liked it.

Gosh, I have been so busy with other projects I haven't really revisited this since I wrote this tutorial. I don't have the code handy on this computer however, I will post some up later this week. Basically, you keep track of a global "powerStrip1State" and just bit mask the ports. It makes it very easy to control them and the code is very straightforward.

To daisy chain this particular setup, you will want another phone jack and just tie into the 4 wires from the board and split them. You carry the next phone jack to the next box. With this particular setup, you could have 8 different relay boxes because the breakout boards are addressable. (On the bottom you can bridge the solder in different ways to get different addresses.) So, the last box in the chain only has one phone jacks and all ones in the middle and the first have 2. One in and one out.

If you need more than 56 power plugs, then you would need to do something different which I have suggestions if you want to go that route.

One thing to keep in mind though, if you plan to run multiple boxes then you think about the wattage going through the cable. I would use CAT6a and perhaps use a pair for power and ground and upgrade to network ports. However, a single copper strand about 15 feet in length can safely carry up to 2amps. Remember each relay is ~75mA and so the entire box is about half an amp if you have every relay switched at once. That is switching load. I don't recall the actual nominal draw but it was a little lower. So, if you have 4 boxes, that is about 2 amps of power draw to keep all the relays switched. So, the cable can handle that.... However, the small voltage regulator on the Arduino CANNOT! So, you will have to replace that and probably put a heat sink on it. There are other options for power to the relays like a transformer, but that adds cost to the boxes.

Hopefully that answer is sufficient. If you have more questions, do not hesitate to ask.

Pardon any spelling or grammar errors, I do not have time to comb this today.
Brandon

estutesman
07/02/2012, 09:23 PM
Thanks for the reply. I'm brand new at DIY on this level. I'll definately bookmark the site you gave me and check back often.

so it would essentially work like the...how do I say...powerstrips that come with retail controllers...cool

I was thinking about trying this with a solid state relay board. other than costs, do you see any drawbacks?

Any particular reason for 7 outlets instead of 8? 16?

I'm currently running two systems, and I was depending on the capabilities of the Apex or Reefkeeper to control both due to cost. With my discovery of the Arduino, I'm thinking that I can easily put one on each system.

tastydog
07/02/2012, 10:43 PM
Thanks for the reply. I'm brand new at DIY on this level. I'll definately bookmark the site you gave me and check back often.

so it would essentially work like the...how do I say...powerstrips that come with retail controllers...cool

I was thinking about trying this with a solid state relay board. other than costs, do you see any drawbacks?

Any particular reason for 7 outlets instead of 8? 16?

I'm currently running two systems, and I was depending on the capabilities of the Apex or Reefkeeper to control both due to cost. With my discovery of the Arduino, I'm thinking that I can easily put one on each system.

Yes, it would work just like the powerstrips that come with retail controllers.

I do not see any drawbacks to solid state relays, for all practical purposes. There are some considerations but if you use overrated high quality SSR's you will be fine. Do make sure they are overrated though, meaning if you want 1amp per line, make sure the relay is rated for 5amps. Also, keep in mind that the relays need to be switchable at 5v and have very low current draw. Outside of that scope, you will want to use a transformer to power them.

The reason for 7 is because that was the relay driver I had handy and it only had 7 lines. You could scale this easily to 16 with this particular I2C breakout board you just need to find an 8 channel relay driver with the right stats and get two of them... or find a 16 channel relay driver. Just keep in mind what I said earlier about overall current draw to operate the relays.

hydrozoa
12/02/2012, 10:35 AM
This tutorial is excellent! Thank you so much.

spacey123
12/16/2012, 03:56 PM
Great tutorial. I was about to design/build this very device. My objective is to use this in my home theatre rack, which is located remotely from the viewing locations. Occasionally my AppleTV or Bell ExpressVu receiver will freeze, and I want to cycle the power. In some cases, that is 2 floors down from the viewing location. As such, to minimize current flow/power consumption, I would like normally closed contacts, and only cycle them open on the odd occasion (e.g. once per week, cycle each one, at most). Do you see any problems with this NC contact approach? Thank you!

dmasterx1x
04/16/2013, 12:37 PM
Hi Brandon
This is an awesome project here. I appreciate the detailed guide you have here, as i'm sort of a novice with electronics and completely illiterate in arduino. I wanted to ask you one thing though, before i start ordering parts.. Would it be hard to add a real time module with a battery backup to the arduino part of this? My house tends to get blackouts in the summer, and i'm not always around to reset the various device timers i have, so i'd like something that could keep track of the current time for a few hours if possible. Any ideas?
Thanks in advance.

Dave

kk818
04/16/2013, 03:35 PM
There are something you want to do DIY... those circuits are not one of them. Trust me. I have done quite a bit of research on these. Of course it is possible to create them yourself... however, the time and energy it would take is immense if you want to have verifiable precision results. These circuits are tricky and careful care needs to be taken in every step of the design. Also, the code on the chips to make them work properly, the wiring, electrical interference noise... etc... all of those things have to be taken into account. Salinity is an especially difficult circuit to design properly. A man's gotta know his limitations. There are PLENTY of other fun things you could be doing with a controller and monitor design than working out the nitty gritty details of those circuits. I myself wasted quite a bit of time trying to make my own. I had some degree of success but didn't want to take the time and expense that would have been necessary to build them to an acceptable tolerance of error. I realize your enthusiasm and desire to build your own. I respect that, but do consider my advice... just buy them and move on to more interesting and overall useful parts of the design.


<iframe width="560" height="315" src="http://www.youtube.com/embed/_VrFV5r8cs0" frameborder="0" allowfullscreen></iframe>

i agree 1000000000% this is an interesting project but it is a waste of time if i were u id save urself the headache and just buy a Neptune systems Apex which has everything you need along with the option to infinitely expand the modules.