X10
|
- For the programming language, see X10 (programming language)
X10 is an industry standard for communication among devices used for home automation. It primarily uses power line wiring for signalling and control, where the signals involve short radio frequency bursts representing digital information. A radio-based transport is also defined.
X10 was developed in 1975 by Pico Electronics of Glenrothes, Scotland, in order to allow remote control of home devices and appliances. It was the first domotic technology and remains the most widely available.
A number of higher bandwidth alternatives have been proposed including INSTEON, BACnet, and LonWorks.
Contents |
Power-line carrier control overview
Household electrical wiring is used to send digital data between X10 devices. This digital data is encoded onto a 120 kHz carrier which is transmitted as bursts during the relatively quiet zero crossings of the 50 or 60 Hz AC alternating current waveform. One bit is transmitted at each zero-crossing.
The digital data consists of an address and a command sent from a controller to a controlled device. More advanced controllers can also querry equally-advanced devices to respond with their status. This status may be as simple as "off" or "on", or the current dimming level, or even the temperature or other sensor reading. Devices usually plug into the wall where a lamp, television, or other household appliance plugs in; however some built-in controllers are also available for wall switches and ceiling fixtures.
The relatively high-frequency carrier frequency used to carry the signal cannot pass through a transformer or across the two phases of a split phase system. In addition, because the signals are timed to coincide with the zero-crossings of the voltage waveform, they would not be timed correctly to be coupled from phase-to-phase in a full three-phase power system. For split-phase systems, the signal can be passively coupled from phase-to-phase using a passive capacitor, but for three phase systems or where the capacitor provides insufficient coupling, an active X10 repeater is sometimes used.
It may also be desireable to block X10 signals from leaving the local area so, for example, the X10 controls in one house can't interfere with the X10 controls in a neighboring house. In this situation, inductive filters can be used to attenuate the X10 signals coming into or going out of the local area.
X10 protocol
Whether using powerline or radio communications, packets transmitted using the X10 control protocol consist of a four bit "house selection" followed by one or more four-bit "unit selections", finally followed by a four-bit "command". For the convenience of the users setting up the system, the four-bit house code is described as the letters A–P while the four-bit unit code is described as the numbers 1–16.
When the system is installed, each controlled device is set to respond to one of the 256 possible addresses (16 house codes <math>*<math> 16 unit codes) and it will then only react to those commands specifically addressed to it.
In use, the protocol may transmit a message that says: "Select house code A", "Select unit 3", and "Turn on" and the unit set to address "A3" will turn on, lighting a lamp or what-have-you. Several units can be addressed before giving the command, allowing the command to affect several units simultaneously. For example, "Select house code A", "Select unit 3", "Select unit 5", "Select unit 4", and finally, "Turn on". This will cause units A3, A4, and A5 to all turn on.
Note that there's no restriction (except possibly consideration of the neighbors) that prevents using more than one house code within a single house. The "All lights on" command and "All units off" command will only affect single house codes, however, so a house using two house codes effectively has the lights divided into two separate zones.
Powerline protocol physical-layer details
In the 60 Hz AC power flow, a Binary Digit (bit) 1 is represented by a 1 millisecond burst of 120 kHz at the zero crossing point (0º, but certainly within 200 microseconds of the zero crossing point), immediately followed by the absence of a pulse. And a Binary 0 by the absence of 120 kHz at the zero crossing points (pulse), immediately followed by the presence of a pulse. All messages are sent twice to reduce false signaling. After allowing for retransmission, line control, etc, data rates are around 20 bit/s, making X10 data transmission so slow that the technology is confined to turning devices on and off or other very simple operations.
In order to provide a predictable start point, every data frame transmitted always begin with a start code of "pulse", "pulse", "pulse", "absence of a pulse" (or 1110). Immediately after the start code, a letter code/house code (A–P) is sent and after the letter code, comes a function code. Function codes may be specify a unit number code (1–16) or an actual command code, the selection between the two modes being determined by the last bit where 0=unit number and 1=command). One start code, one letter code, and one function code is known as an X10 frame and represent the minimum components of a valid X10 data packet.
Each signal is also sent two times to make sure the receivers understand it over the "noise" of the power lines (for purposes of redundancy, reliability, and to accommodate line repeaters).
Whenever the data changes from one address to another address, from an address to a command, or from one command to another command, the data frames must be separated by at least 6 clear zero crossings (or "000000"). The sequence of six "zero's" resets the shift registers that decode the received data packets.
The radio protocol
To allow the operation of wireless keypads, remote switches, and the like, a radio protocol is also defined. Operating at a frequency of 310 MHz in the U.S. and a different frequency in the rest of the world, the wireless devices send data packets that are very similar to ordinary X10 powerline control packets. A radio receiver then provides a bridge which translates these radio packets to ordinary X10 powerline control packets.
The devices available using the radio protocol include:
- Keypad controllers ("clickers")
- Keychain controllers that can control one to four X10 devices
- Burglar alarm modules that can transmit sensor data
- Passive infrared switches to control lighting and X-10 chimes
Device modules
Depending on the load that is to be controlled, different modules must be used. For incandescent lamp loads, a lamp module or wall switch module can be used. These modules switch the power using a triac solid-state switch and are also capable of dimming the lamp load. Lamp modules are silent in operation. They are generally rated to control loads that range from approximately 40 Watts to 500 Watts.
For loads other than incandescent lamps (for example, fluorescent lamps, high-intensity discharge lamps, and electrical appliances), the logic in the lamp module is unsuitable and an appliance module must be used instead. These modules switch the power using an impulse relay. In the U.S., these modules are generally rated to control loads that range from very little current up to 15 Amps.
Many device modules offer a feature called local control. If the module is switched off, operating the power switch on the lamp or appliance will cause the module to turn on. In this way, a lamp can still be lighted or a coffee pot turned on without the need to walk over to the X10 controller. Wall switch modules may not offer this feature.
Some wall switch modules offer a feature called local dimming. Ordinarily, the local pushbutton of a wall switch module simply offers on/off control with no possibility of locally dimming the controlled lamp. But if local dimming is offered, then holding down the push button will cause the lamp to cycle through its brightness range.
Controllers
X10 controllers range from extremely simple to very sophisticated.
The simplest controllers are arranged to control four X10 devices at four sequential addresses (1–4 or 5–8). The controllers typically contain the following buttons:
- Unit 1 On/Off
- Unit 2 On/Off
- Unit 3 On/Off
- Unit 4 On/Off
- Brighten/Dim (last selected unit)
- All Lights On/All Units Off
More sophisticated controllers can control more units and/or incorporate timers that perform pre-programmed functions at specific times each day. Units are also available that use passive infrared motion detectors or photocells to turn lights on and off based on external conditions.
Finally, very sophisticated units are available that can be fully programmed or use a program running in an external computer. These systems can execute many different timed events, respond to external sensors, and execute, with the press of a single button, an entire scene, turning lights on, establishing brightness levels, and so on. Control programs are available for both PCs running Microsoft Windows and Apple's Macintosh software.
Burglar alarm systems are also available. In these systems, the controller uses X10 protocols or ordinary wiring to interrogate a number of remote sensors that may monitor doors, windows, and other access points. The controller may then use X10 protocols to activate lights, sirens, etc.
Weak points and limitations
One problem with X10 is excessive attenuation of signals between the two live conductors in the 3-wire 120/240 volt system used in typical North American residential construction. Signals from a transmitter on one live conductor may not propagate through the high impedance of the distribution transformer winding to the other live conductor. Often, there's simply no reliable path to allow the X10 signals to propagate from one phase wire to the other; this failure may come and go as large 240 volt devices such as stoves or dryers are turned on and off. (When turned on, such devices provide a low-impedance bridge for the X10 signals between the two phase wires.) This problem can be permanently overcome by installing a capacitor between the phase wires as a path for the X10 signals. More sophisticated installations install an active repeater device between the phases.
(In Europe, entire houses are typically wired from a single 240 volt mains phase wire so this problem does not occur.)
Other problems: TVs or wireless devices may cause spurious off or on signals. Noise filtering (as installed on computers as well as many modern appliances) may help keep external noise out of X10 signals, but noise filters not designed for X10 may also filter out X10 signals traveling on the branch circuit to which the appliance is connected.
Also, certain types of power supplies used in modern electronic equipment (such as computers, television sets, and satellite receivers) will "eat" X10 signals passing by. Typically, the capacitors used on the inputs to these power supplies short the X10 signal from line to neutral, suppressing any hope of X10 control downstream of that device or anywhere else on the branch circuit near that device. Filters are available that will block the X10 signals from every reaching such devices; plugging offending devices into such filters can often cure mysterious X10 failures.
Some X10 controllers may not work well or at all with low power devices (below 50 watts) or devices like fluorescent bulbs that do not present resistive loads. Use of an appliance module rather than a lamp module may resolve this problem.
X10 signals can only be transmitted one command at a time. If two X10 signals are transmitted at the same time, they will collide and the receivers will not be able to decode the signal commands.
Alternative technologies
- INSTEON -- (http://www.insteon.net) Dual-band technology (powerline + RF), backwardsly compatible with X10. Developed by Smarthome, Inc.
- ZigBee
- UPB -- (http://www.pcslighting.com/UPBMain.htm) A new powerline protocol that offers improved performance and reliability over X10.
- LonWorks
- BACnet
External links
- http://www.x10.com/home2.html - Offical X10 website.
- http://www.activehomepro.com/
- http://www.smarthome.com
- http://www.insteon.net
- news:comp.home.automation
- CEBus and HomePNP (http://www.cebus.org)
- http://www.geocities.com/ido_bartana/x10theor.htm
- http://www.hometoys.com/htinews/feb99/articles/kingery/kingery13.htm
- http://www.geocities.com/ido_bartana/rf_protocol.htm
- http://wish.sourceforge.net/ - A X10 driver.
- ftp://ftp.x10.com/pub/manuals/technicalnote.pdf
- Drive Me Insane (http://drivemeinsane.com/) - An example of home automation using x10.