Home Automation and Control System | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
About Home Gallery Links Linkblog [RSS] Projects Resume |
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. DesignThe 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 SchematicsI'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 CodeComing Soon Parts List and Data SheetsSwitch Node
Relay Node
Miscellaneous
|