Home Automation and Control System

About
Home
Gallery
Links
Linkblog [RSS]
Projects
Resume
Email
Facebook

For several years now my parents have been slowly building a second home. Early in the project I convinced them to install a home automation system. It was an easy sell since this is a vacation home and they'd like to have some way to check-on the house during the off season. The hard part was figuring out what kind of system to install. All of the commercial systems we looked at were expensive and proprietary. The home automation market is changing just as rapidly as the technology market and as broadband access becomes more widespread things are going to change even more. We couldn't see any reason to bet on any of the commercial products since none of them appears to have a "killer idea". No matter what we bought, it would be obsolete within a year or two.

Our solution was install the most generic set of wiring we could think of in such a way that it can be ripped out and changed later. In fact, the whole system is designed to be scrapped when something better comes along. This implies a few things: 1. Installation and removal has to be simple, 2. It has to be cheap. The house is two stories tall and due to its unique construction has very few internal supports. Most of the weight is carried by the walls and a very large steel I-beam running the length of the house between the levels. This resulted in a two foot inter-floor dead space. Taking full advantage of this we installed a drop ceiling (no, not the office kind, something much better) and all of the wires to-from various components run in this space. No wires run horizontally in the walls, everything is run directly to the inter-floor space. This makes it easy to fish new wires in the future. I don't have a final cost for the system yet, I'll let you know when its done, but I expect it to be significantly cheaper than most "professional" systems. Although, it may be more expensive than X10, but that stuff is kinda clunky compared to what I've designed (IMO).

One of the goals of this project was to create an extensible and standards based system. It seems there are very few widely accepted home automation standards. Every company has its own "standard" that it wants everybody else to adopt. I took the opposite approach and used only open standards that are already widely accepted. The biggest impact this has is on the communication layer. Sticking with open and relatively popular standards narrows the choices to RS-485, CAN, and Ethernet. RS-485 is just an electrical specification and doesn't included any sort of communications protocol. I would have had to design all of the protocol layers and I'm lazy, so I decided against RS-485. Ethernet and CAN both define a packet protocol and chipsets are widely available. Either of these could have been used equally well IMO. In the end I chose to use CAN, mainly for simplicity and cost. I don't need the bandwidth provided by Ethernet and CAN is less strict about the type of wire used. Its also more resistant to EMI and I had to run some of the comm wires near the mains wires. Future versions may use Ethenet, but for now I'm going with CAN. However, the house does also have a 100Mbps Ethernet with jacks in every room, so I will very likely create an Ethernet-CAN bridge in the near future.

Design

The system is based on the idea of nodes. Each node is connected by CAN and has a particular functionality. At the moment there are only two types of nodes, switch nodes and relay control nodes. Switch nodes monitor a set of SPST switches and put status information on the network. Relay control nodes monitor the network for status information and then activate the appropriate relay(s). In the current incarnation each node is based on a PIC16F877 microcontroller and an MCP2510 CAN controller, both made by Microchip.

Circuit Schematics

I'm using the Eagle Light package from Cadsoft Online. Here's a tar of my project directory (zip version here). Note: This is just a snapshot, it is by no means finished.

PIC Code

Coming Soon

Parts List and Data Sheets

Switch Node

Manufacturer Part#Supplier Part#SupplierQtyDescription
PIC16F877-04/LPIC16F877-04/L-NDDigikey1RISC Microcontroller
UC5350D296-11355-5-NDDigikey1CAN Tranceiver
MCP2510-I/SOMCP2510-I/SO-NDDigikey1CAN Controller
SG-615PSE2205CT-NDDigikey14.0MHz CMOS/TTL Crystal Oscillator
1725753277-1283-NDDigikey412 Pos. 2.54mm Terminal Block
1725672277-1275-NDDigikey14 Pos. 2.54mm Terminal Block
TL780-05CKC735-9051Allied Electronics15V, 1.5A Linear Voltage Regulator
555764-1A9045-NDDigikey1RJ-45 Jack
640452-6A1913-NDDigikey1MTA100 6pin Header
ERJ6GEYJ620P62ACT-NDDigikey162 Ohm, 5% 0805 Thick Film Resistor
BAV74263-0414Allied Electronics1SOT-23 Small Signal Diode, Dual, Common Cathode
752101103GB752-101-10KBK-NDDigikey310K Ohm, 9 resistor, bussed resistor network
ECJ-4YF1E106ZPCC2171CT-NDDigikey110uF 1210 SMT Ceramic Capacitor
ECJ-3YF1E105ZPCC1903CT-NDDigikey21uF 1206 SMT Ceramic Capacitor
ECJ-2VF1C104ZPCC1843CT-NDDigikey30.1uF 0805 SMT Ceramic Capacitor

Relay Node

Manufacturer Part#Supplier Part#SupplierQtyDescription
PIC16F877-04/LPIC16F877-04/L-NDDigikey1RISC Microcontroller
UC5350D296-11355-5-NDDigikey1CAN Tranceiver
MCP2510-I/SOMCP2510-I/SO-NDDigikey1CAN Controller
SG-615PSE2205CT-NDDigikey14.0MHz CMOS/TTL Crystal Oscillator
1725753277-1283-NDDigikey412 Pos. 2.54mm Terminal Block
1725672277-1275-NDDigikey14 Pos. 2.54mm Terminal Block
TL780-05CKC735-9051Allied Electronics15V, 1.5A Linear Voltage Regulator
555764-1A9045-NDDigikey1RJ-45 Jack
640452-6A1913-NDDigikey1MTA100 6pin Header
ERJ6GEYJ620P62ACT-NDDigikey162 Ohm, 5% 0805 Thick Film Resistor
BAV74263-0414Allied Electronics14SOT-23 Small Signal Diode, Dual, Common Cathode
NDC7002NNDC7002NCT-NDDigikey13SOT-6 Dual MOSFET
ECJ-4YF1E106ZPCC2171CT-NDDigikey110uF 1210 SMT Ceramic Capacitor
ECJ-3YF1E105ZPCC1903CT-NDDigikey21uF 1206 SMT Ceramic Capacitor
ECJ-2VF1C104ZPCC1843CT-NDDigikey30.1uF 0805 SMT Ceramic Capacitor

Miscellaneous

Manufacturer Part#Supplier Part#SupplierQtyDescription
SJ-5012SP613-6634Allied Electronics10.14 x 0.5 inch self sticking rubber bumpers, 100 ct.
520426-4A9050-NDDigikey10RJ-45 Jack, Thru-Hole
2331-ZX833-1225Allied Electronics1Kester Water Soluble Flux, 1 US Gallon.
Pb60Sn40833-5180Allied Electronics1Kester Computer Solder

© 1999-2001 Brandon Fosdick