|Sergey B. Voinov's Home Page|
|Biography, Resume, Projects, Blog|
Smart Home projectSmart Home is my hobbyist project dedicated to home automation technology with extended set of features. The most notable features are:
The architecture of Smart Home is based on multi-agent technologies. There are multiple hardware devices unified by the system bus which connects to the central computer. Each device has its own firmware. Central computer software is also multi-agent and can be easily distributed over several processing nodes. All high-level processing (system events such as pressing a button on remote control, recognized voice phrase, etc.) is done using versatile scripting language specially designed for event-oriented queuing systems with high level of parallelism which can be effectively utilized using multi-core processors and distributed computing.
The current state of the implementation is as follows:
Below are some photos of Smart Home hardware modules. Please, click any photo to enlarge it.
Main module (used as host for other modules installed via slots):
IR host (unified module for IR receiver and transmitter, the first remote device on the system bus):
Barix IP audio module (www.barix.com). It's a high-end audio module capable of playing and recording audio using ordinary Ethernet network. The device can encode/decode MPEG 1 audio stream and transmit it over the network. It also has Web-interface, TCP<->UART converter, auxiliary I/O connectors and many other features. Unfortunately, it costs as much as 360 euro, so it is only my engineering sample. What I did is just packing the PCB into a plastic case (see last 3 photos) with audio input/output and AC/DC adapter input.
Dimmer board - contains 20 dimmer circuits using BT139 series triacs and MOC3020 optocouplers. It also has a circuit which generates AC line synchronized pulses for triac phase control. The dimmers are controlled by MCU-based system network device (separate board).
Dimmer control board - its an "extension" board to be placed in main module's mother board. It features multiprocessor design. One PIC16F873A (at 20 MHz) runs phase-pulse algorithm to simultaneously control 20 dimmers. Another PIC16F648A (at 11.0592 MHz) interacts with the system network and sets brightness levels for the first MCU using custom MCU interconnection bus. Dimmer control board and dimmer board are connected using ordinary IDC-34 connectors. This design demonstrates the fact that a MCU is capable of controlling a large set of dimmer circuits using phase-pulse algorithm (some time ago an electronics engineering expert told me that such a design is not possible).
Digital output module. It has 30 digital outputs that are controlled over the system network. The module is used to drive relay blocks (see above). So, 30 relays switching 220V loads can be simultaneously controlled. The relays are mainly used to switch power outlets and lights.
System network module. This module provides RS-485 interface which is used to control all devices on the system bus. The module is capable of converting two standard RS-232 interfaces to the corresponding RS-485 interfaces with data transfer rate up to 115200 bod each. RS-232 interface is the primary mean of connecting Smart Home hardware to the central computer (PC).
I cooperate with many companies regarding electronic component supplies, PCB design, metal processing (used to produce metal cases for the equipment). Some of the PCBs are home-made (using 2-layer FeCl3 etching process, vias are made by connecting layers by copper wires), others are ordered at industrial production fabs. So, for example, main board (see the photos above) has 6 layers with minimal route spacing of 0.635 mm.
All hardware modules use RS485 interface to connect to the central computer. The central computer is an ordinary PC containing Intel CoreDuo2 processor and 2GB RAM, running Windows Server 2003. The PC has special low-profile case which allows placing it in the ceiling space. All Smart Home Hardware and central computer are connected to UPS.
All hardware modules connected to the system network (RS485) use PIC16 series microcontrollers. Particularly, PIC16F628A are used in simple devices (which do not require much program memory). "Advanced" devices, such as IR receiver/transmitter, use PIC16F648A microcontrollers - it turns out that firmware features such as recognizing IR protocol, emitting IR packets and processing system requests require more than 2048 PIC's 14-bit instruction words.
It's hard to debug HW issues with my set of equipment, but I use well-recommended 2 channel digital oscilloscope Rigol DS1022C (25MHz bandwidth, 450MHz sampling):
Since all MCUs are functioning at 11.059MHz clock, it's more than sufficient.
I use the following software to design Smart Home:
|Copyright (c) Sergey B. Voinov 1999-2012|