A Watering Controller That Can Be Home Networked
A Watering Controller That Can Be Home Networked
Table of Contents
File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
License: Attribution Non-commercial Share Alike (by-nc-sa)
This specific version of my sprinkler controller obeys some simple rules that have had to be implemented where I live. I live in Australia, or more specifically in an inland
region called the A.C.T, where our government have implemented an ODDS and EVENS watering regime. Under the system if you live in an odd numbered house, you
may water on an odd day of the month. Likewise, if you live in an even numbered house, you may water on an even day of the month. Everybody may water on the
31st.
This system, along with the mandatory replacement of sprinklers for dripper systems has sucesfully reduced the load on the cities limited inland water supply so that
more drastic measures were not required.
Unfortunately, this system was unable to be implemented on my commercial water controller, it wanted to water on a Monday, or a Wednesday, so I was breaking the
law, and subjecting myself to a potential fine every other week... So I had to build my own controller.
This instructable shows how I built it - there certainly is enough detail shown so that you can make it yourself if you are enthusiastic, and willing to give it a go.
Update: the full source tree for the Kicad project is located here
Image Notes
1. The old controller - Yep I am replacing it!
Image Notes
1. the old controller supplied 24VAC - which is a bit much for my new board - So I
am temporarily running 12VDC to the board till I can replace the transformer in the
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
unit. Yep - The solenoids run fine on +12V
2. I have to modify the case - for some unknown reason the original manufacturer
didn't think of ading a socket hole for an ethernet connector!
3. I only have a couple of zones in use at the moment - but that will change
4. Yep - I have to re-tag the dryer... one day
I extended the PCB design to provide 6 solid state outputs, each able to drive +12v at 300mA, which is enough for a watering solenoid.
Each solenoid output is driven from a NPN transistor, as shown by the attached picture. To turn on the transistor, the port pin is simply driven high. I decided to use
individual transistors, as they cost $0.03 each, and if they are destroyed, they are individually replaceable easily.
There is also a DS1302 RTC chip on the PCB - it is simply driven directly off 3 pins of the Arduino.
It is not sensible to describe the full details of the Ethernet controller here, just check out the Arduino Ethernet controller (which is basically an Arduino and a
NuElectronics shield) for info.
File Downloads
Essentially, I print the PCB layout onto some toner transfer paper. I use Press-n-peel Blue, which costs a bit of money, but is beautifully reliable. That is then laminated
onto some clean PCB stock the paper is removed, and the layout is touched up using a permanent marker where there are dust spots.
Then I etch the board using a mixture of 120mL Hydrochloric Acid, and 240mL of Hydrogen Peroxide (20%) - The excess copper is dissolved in about 5 minutes, then the
board is thoroughly washed to ensure that all acid is removed.
Then I scrub the toner material off the board using steel wool, and protect the board using a solder through spray lacquer.
Finally, I drill the board using my trusty Dremmel (Which has been working great for 20 years)
I have made hundreds of boards using this method, and it works really well. Just be very careful using acids - wear eye protection, old clothes, and gloves. And make
sure that you protect your stainless steel laundry sink. I protect mine by filling it with 10Litres of water, that way when a couple of drops of acid end up in it while I am
rinsing off a board, it is diluted by lots and doesn't damage anything. :-)
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
step 3: Soldering the components
Once the board has been made, I solder the parts onto it.
My board needed a few jumpers, because I can't make double sided boards at home, so I soldered them in first.
I used surface mount parts for some of the components. These were soldered onto the back of the board next. These components are simple to solder and it is well
worth taking the effort to get them soldered - as I do more and more of them, I am finding it easier and easier.
There are many great instructables on how to solder surface mount parts, just have a look at one of them for ideas.
After the surface mount parts are soldered, continue by soldering the rest of the components.
I have created an assembly manual that shows the steps that I used. If I decide to make kits, this will be the manual that I will supply. It is attached.
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
Image Notes
1. The 74HC08 in place!
Image Notes
1. Power Connector
2. Solenoid Common
3. Pump output
4. Output 5,4,3,2 & 1
5. Battery Backup for the clock - 4.5VDC
6. Debugging and programming connector
7. Reset Switch
File Downloads
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
step 4: Programming the micro
After all of the parts have been mounted, load the code into the micro.
I use a FTDI USB-TTL cable for all of my Arduino programming work. If you don't have a cable, you can use your Arduinoboard. Simply unplug the micro from your
board, plug in the ATMega328. Program it as per normal, and then move the programmed chip into the sprinkler controller.
Easy!
File Downloads
The yellow led at the bottom of the board should flash a couple of times. If it does - YAY IT WORKS - if it doesn't, check for solder shorts and misplaced components.
Make sure that the IP of your computer is 192.168.1.1 (for the default range in the code), open a web browser to 192.168.1.2, and you should see the screen below!
If you can see it - you are there. Set the clock, and define when you want the watering to happen, and create your program.
If you decide that your home network is on address 10.0.0.x then you can simply modify the line in the PDE file to put the controller on the 10.0.0.x network and re-
program the chip.
to
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
step 6: Parts List
Capacitors
10uF SM x 4
18pF SM x 4
0.1uF SM x 3
Resistors
51R x 4
270R x 12
470R x 6
2K7 x 1
10K x 3
Semiconductors
AtMega168 micro (DIP) x 1
DS1302 RTC (DIP) x 1
ENC28J60 Ethernet (DIP) x 1
74HC08 AND Gate (SOIC) x 1
GREEN LED 5mm x 6
YELLOW LED 5mm x 1
RED LED 5mm x 1
BLUE LED 3mm x 2
BC547 Transistor x 6
1N4004 Diode x 7
16Mhz crystal x 1
32768Khz Crystal x1
25 Mhz crystal x 1
78L05 Regulator x 1
78L33 regulator x 1
Hardware
2 Pin PCB screw connector x 4
3 Pin PCB screw connector x 1
6 pin 0.1 inch pin array x 1
Small Pushbutton x 2
RJ45 MagJack from Sparkfun x 1
(http://www.sparkfun.com/commerce/product_info.php?products_id=8534)
8 Pin IC Socket x 1
28 Pin IC Socket x 2
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
step 7: PCB Artwork
Here are the PCB files for toner transfer
File Downloads
1. I will be extending the code to be more general - Not everywhere on the world has the ODDS and EVENS system in place, and some people can water whenever they
want. The code changes should be pretty minor.
2. In an ideal world I would understand how to make the interfaces better. At the moment, string space on the ATMega328 is sooo limited that it has been a shoe
horning exercise getting everything to fit.
3. Adding recording data would be great - It would be cool to ask the watering controller how much water I used this month.
In all - lots of options to improve the project - but this is the point where I had to say - "That will do Pig, That will do'.
If you don't understand the reference above, you need to hire a copy of 'Babe from 1995'
PS - There is no security on this device - making it accessible to the whole world via the Big Bad Internet (tm) would be a bad thing. Would you give the Internet access
to your tap out the back of your house??? I didn't think so :-)
Related Instructables
Automated How to make a Help! Where are A credit card Rainwater drip
A Remotely Sprinkler Linux powered my Sprinkler sized Ethernet irrigation
Programable System Anyone garden sprinkler Valves Arduino
compatable system by Tree
Relay Controller Can Do! by system. by Located? by
(Christmas controller board Frog
shepnstein bkimmons thb43
Lights or Home by drj113
Automation
Controller) by
drj113
Advertisements
Comments
30 comments Add Comment
Come to think of it I haven't contacted the plumbing supply to see if they sell anything like that at low price. I have checked at Walmart and they sell them for
$30 each as part of a programmable water timer system. I will call the plumbing supply tomorrow and keep you all updated.
Our local Bunnings sells buckets of commercial valves at about $30 each.
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
jrawling says: Sep 19, 2010. 6:37 AM REPLY
Regular solenoids (in North America) prefer 24 Volts AC. Since I have 12 Volt DC draught (remote property, solar) I would like to use that to run my irrigation
solenoids. Can I feed 12VDC to a 24VAC solenoid and make it function?
I never water during the heat of the day - it is really bad for the plants - and the local council only allows watering between 7pm and 10pm in any
case.
Do you know what is different between an AC and a DC coil? What manufacturing difference is there?
Can I ask what software you use? Eagle is so very nice but the board size is so very limiting! :(
i dont understand how you keep power on the RTC chip when it loses power.
in the skematic it says that there is a cap between it's backup pin and gnd but it is called capapol and i dont know wich one that is?
somewhere in the parts pdf i found that it only charges it's battery when it is told to ?
thank you
diamantmatch
I use a set of 3 AAA cells, providing 4.5v to the right controller connection - that is where the supply to the RTC chip directly.
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
diamantmatch says: Sep 18, 2010. 2:44 AM REPLY
hello again :)
You are pretty well right - My focus was kind of having built an enabling technology (The Arduino Ethernet Board), there were many things I could do.
And my wonderful wife did suggest that instead of working on the awesome arduino music project I have working in the back of my brain, I could finish
the job I started a couple of years ago when I said I would replace the sprinkler controller :-P
can you upload the schematic files from eagle cad please?
it would certeanly help because i wouldnt have to do everything by hand :)
thank you
diamantmatch
Eagle is severely restricted in the size of PCB that it can make in the freely accessible version in that it can't be used for projects greater than 4" x 3.2".
Given that my Workclock project was 6" x 6" I couldn't use Eagle. So I searched for an open source alternative.
I am very happy to provide Kicad schematic and PCB files if you like.
thank you
diamantmatch
Doug
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/
drj113 says: Sep 15, 2010. 2:26 PM REPLY
That is an awesome idea - I am sure that it could be done, using some of those inexpensive rf data link modules. I am not aware of a way that I could
get 802.11 actual wireless networking into the design.
With an rf data link module, I suspect that the architecture would change completely - we wouldn't have to implement a web server in the box, because
we could simply implement a simple remote control protocol.
I don't think I would go to the extent of having wireless solenoid controllers. The current drain when they are operating would destroy batteries very
quickly :-)
thank you very much i really adore your projects i truly think they are wonderfully build and designed
thank you
diamantmatch
Doug
http://www.instructables.com/id/A-watering-controller-that-can-be-home-networked/