X10 به‌عنوان اولین تکنولوژی domotic در سال 1975 توسط شرکت Pico Electronics اختراع شد که هنوز هم به‌عنوان پرکاربردترین این تکنولوژی‌ها مطرح می‌باشد. امروزه از این تکنولوژی در سرتاسر دنیا به خصوص در مواقعی که امکان استفاده از شبکه های باسیم و یا کابل کشی در سطح فیلد (Field) وجود ندارد استفاده می گردد.

X10 یک زبان ارتباطی ست که امکان میدهد ادوات اتوماسیون خانگی سازگار با این زبان از طریق سیم کشی موجود در منزل با یکدیگر ارتباط بر قرار کنند. با این امکان دیگر نیازی به هزینه کرد و کابل کشی مجدد در منزل برای اتوماسیون نخواهد بود.فن آوری X10 سالهاست که در اتوماسیون خانگی امریکای شمالی مورد استفاده قرارمی گیرد. سهولت استفاده و کاربری قابل اعتماد این فن آوری باعث شده که سری 230V/50Hz این ادوات نیز جهت استفاده در اروپا تولید بسرعت همه گیر شود. این فناوری در حال حاضر در حال گسترش در آسیا نیز میباشد.

چرا X10 محبوب تر از سایر روشهای اتوماسیون خانگیست؟ چون:
- از نظر اقتصادی بدلیل صرفه جوئی در انرژی بصرفه است.
- بصورت ماژولهای مستقل بوده و به آسانی قابل افزایش میباشد.
- کاربری فوق العاده راحتی دارد.
- نصب آن بسیار آسان است.
- احتیاجی با سیم کشی مجدد در ساختمان نداشته و بهمین دلیل هزینه و زمان نصب اندکی دارد.
- تولید کنندگان مختلفی در دنیا محصولات متنوعی در این زمینه تولید میکنند.
- باعث افزایش راندمان ، سهولت کاربری و ایجاد امنیت در خانه میگردد.

آدرس دهی در پروتکل X10:
آدرس دهی در X10 بر اساس house code و unit code انجام میشود که house code ها ازA تا P برای تفکیک نواحی وunit code ها از1 تا 16 برای تفکیک ماژولهای هر ناحیه است. بعنوان مثال اگر کلیدی روی ریموت کنترل شما برای آدرس D8‌ تنظیم شده باشد، کلیه ماژولهائی که با این آدرس تعریف شده باشد توسط این کلید روشن و خاموش میشوند. تلفیق house code و unit code امکان استفاده از 256 آدرس و بالطبع 256 ماژول کنترلی را در یک منزل فراهم مینماید.

ماژولهای X10 چگونه کار میکنند؟
بزبان ساده فن آوری X10 بر مبنای ارسال و دریافت سیگنال با ولتاژپایین روی خط انتقال نیروی الکتریکی 230V AC/50Hz میباشد. تمامی ماژولهای X10 نصب شده در منزل که به خطوط برق خانه شما متصل میباشند این سیگنال را میبینند ولی فقط ماژولی به این سیگنال پاسخ میدهد که آدرس خود را روی این سیگنال ببیند. بعنوان مثال اگر یک فرستنده X10 فرمان "A3 ON" را ارسال نماید، ماژولی که با آدرس A3 تعریف شده است روشن میشود. اگر در منزل بیش از یک ماژول با این آدرس کد شده باشند، تمامی آنها پس از وصول این سیگنال روشن میشوند.

اساسا X10 نام یک پروتکل ارتباطی و نیز محصولاتیست که ما روی سیم کشی موجود ساختمان خود نصب میکنیم تا از طریق عبور سیگنالهای با ولتاژ پایین از سیمکشی با یکدیگر ارتباط برقرار کنند. این سیگنالها روی دیگر وسایل برقی منزل هیچ تاثیری نمیگذارند.

سیگنالها وقتی ارسال میشند که ولتاژالکتریکی 0V است. این کار بدلیل متناوب بودن جریان الکتریکی با تناوب 50 سیکل در ثانیه صورت میپذیرد. بیشتر فرستنده های X10 ولتاژی کمتر از1V را روی خط ارسال مینمایند. اغلب گیرنده های X10 ولتاژی در حدود 100mV را جهت فعال شدن نیاز دارند. در این حالت اگر روی خط، نویز حاصل از کارکرد دیگر وسایل برقی مانند جارو برقی، هواکش، تهویه مطبوع، سشوار، رایانه و تلویزیون وجود داشته باشد، ممکن است باعث عدم دقت کارکردی ماژولها شود. در این حالت استفاده از فیلتر ها و میکروفیلتر های X10 باعث کاهش نویز های ناخواسته در حد استاندارد کارکرد ماژولهای X10 میشود.

Device Module ها :

بسته به باری که بایستی کنترل شود ماژول‌های مختلفی بایستی بکارگیری شود. برای لامپهای معمولی یک ماژول لامپ و یا ماژول رادیویی می‌تواند استفاده گردد. این ماژول‌های با کمک ترایاک لامپ را روشن و خاموش و یا پرنور وکم‌نور می‌نمایند. این ماژولها هیچ صدایی را ندارند و باری بین 40 تا 500 وات را کنترل می‌نمایند. برای بارهایی غیر از لامپ‌های معمولی مثل فلورسنت و یا لامپ های متال (دشارژ بسیار سریع) و یا وسایل الکترونیکی ماژول‌های لامپ مناسب نیستند و یک ماژول وسایل برقی بایستی به‌کارگرفته شود. این ماژول‌ها جهت روشن و خاموش کردن وسایل از یک رله Impulse استفاده می‌نمایند. این ماژولها غالباً برای کنترل وسایلی که از آمپر‌های خیلی کم تا حدود 15A را استفاده می‌نمایند استفاده می‌شوند.

بسیاری از ماژول‌ها قابلیت دیگری را بنام کنترل منطقه‌ای ارائه می‌دهند. یعنی اگر ماژول خاموش باشد روشن کردن کلید اصلی دستگاه یا لامپ باعث روشن شدن آن می‌شود بدون اینکه نیاز باشد شما به سراغ دستگاه کنترل کننده X10 بروید. لازم به ذکر است ماژول‌های کلید دیواری این قابلیت را ندارند.

برخی ماژول‌های کلید دیواری قابلیتی را به‌نام کم کردن نور محلی دارند. معمولاً یک کلید لامپ معمولی فقط قابلیت روشن و خاموش کردن می‌دهند تا قابلیت کم نور و پر نور کردن ولی در این کلیدها فشاز دادن و نگه‌داشتن کلید زنگی باعث می‌شود که لامپ کم‌نور و پرنور شود.

بسته به باری که بایستی کنترل شود ماژول‌های مختلفی بایستی بکارگیری شود. برای لامپهای معمولی یک ماژول لامپ و یا ماژول رادیویی می‌تواند استفاده گردد. این ماژول‌های با کمک ترایاک لامپ را روشن و خاموش و یا پرنور وکم‌نور می‌نمایند. این ماژولها هیچ صدایی را ندارند و باری بین 40 تا 500 وات را کنترل می‌نمایند. برای بارهایی غیر از لامپ‌های معمولی مثل فلورسنت و یا لامپ های متال (دشارژ بسیار سریع) و یا وسایل الکترونیکی ماژول‌های لامپ مناسب نیستند و یک ماژول وسایل برقی بایستی به‌کارگرفته شود. این ماژول‌ها جهت روشن و خاموش کردن وسایل از یک رله Impulse استفاده می‌نمایند. این ماژولها غالباً برای کنترل وسایلی که از آمپر‌های خیلی کم تا حدود 15A را استفاده می‌نمایند استفاده می‌شوند.

بسیاری از ماژول‌ها قابلیت دیگری را بنام کنترل منطقه‌ای ارائه می‌دهند. یعنی اگر ماژول خاموش باشد روشن کردن کلید اصلی دستگاه یا لامپ باعث روشن شدن آن می‌شود بدون اینکه نیاز باشد شما به سراغ دستگاه کنترل کننده X10 بروید. لازم به ذکر است ماژول‌های کلید دیواری این قابلیت را ندارند.

برخی ماژول‌های کلید دیواری قابلیتی را به‌نام کم کردن نور محلی دارند. معمولاً یک کلید لامپ معمولی فقط قابلیت روشن و خاموش کردن می‌دهند تا قابلیت کم نور و پر نور کردن ولی در این کلیدها فشاز دادن و نگه‌داشتن کلید زنگی باعث می‌شود که لامپ کم‌نور و پرنور شود.

کنترل کننده ها :

بازه بسیار گسترده‌ای را از کنترل کننده‌های بسیار ساده تا کنترل کننده‌های بسیار پیشرفته را شامل می‌شوند. ساده‌ترین کنترلها برای کنترل 4 وسیله X10 طراحی شده‌اند که می‌تواند:

1) چهار وسیله را کنترل کند
2) آخرین وسیله انتخابی را کم‌نور یا پرنور نماید
3) همه را روشن و یا همه را خاموش نماید.

کنترل‌های پیشرفته‌تر می‌توانند وسایل بیشتری را کنترل کرده و یا می‌توانند نقش یک تایمر را ایفا نماید که درزمانهای معینی کارهای از پیش تعیین شده‌ای را انجام می‌دهند. همچنین برخی از این کنترلها می‌توانند به کمک Motion-detector ها یا Photo cell‌ ها چراغ‌ها را روشن یا خاموش نمایند.

نهایتاً کنترل‌های بسایر پیشرفته‌ای نیز موجود هستند که می‌توانند کاملاً برنامه‌ریزی شده و یا برنامه‌هایی که در یک کامپیوتر خارجی نوشته‌شده‌اند را اجرا نمایند. این وسائل می‌توانند بسیاری از فعالیت‌های زمان‌بندی شده را انجام دهند. به سنسورهای خارجی پاسخگو باشند و کاری را به‌صورت یکپارچه و با فشار یک دکمه انجام دهند، مثلاً چراغ‌ها را روشن کنند، سطح روشنایی را تنظیم نمایند و ... . برنامه‌های کنترلی برای کامپیوتر‌هایی که تحت ویندوز هستند ، Apple Macintosh‌ ها و یا Linux‌ ها در دسترس هستند.

در این تکنولوژی سیستم‌های هشدار‌دهنده سرقت نیز وجود دارند . در این سیستم‌ها کنترل‌کننده ها از پروتکل‌های X10 استفاده نموده و یا بطور‌عادی سیم‌کشی می‌شوند تا به یک سری از سنسور‌های خارجی که ممکن‌است درها، پنجره‌ها یا سایر نقاط دسترسی را مراقبت می نماید مرتبط شوند. ممکن است کنترل کننده بعد از تشخیص سرقت از پروتکل X10 جهت روشن کردن چراغ‌ها، به صدا درآوردن آژیر و ... استفاده نماید.

نقاط ضعف و محدودیت ها :

یک مشکل با X10 فراوانی تضعیف سیگنالها بین دو هادی در سیستم‌های سه سیمه است که در بسیاری از نقاط آمریکای شمالی استفاده می‌گردد. سیگنالها از یک فرستنده بر روی یک هادی فعال امکان انتشار به یک‌هادی دیگر از طریق سیم‌پیچ‌های یک ترانسفورماتور با امپدانس بالا را ندارند. معمولاً هیچ راه‌حل قابل اطمینانی برای ارسال سیگنالها از روی یک فاز بر روی فاز دیگر وجود ندارد. این مشکل ممکن است برای وسایلی که با ولتاژ 240 ولت کار می کنند مثل بخاری‌ها و خشک‌کن‌ها پدید آید و باعث خاموش و روشن شدن آنها شود (در این قسمت از مقاله به کشورهایی که ولتاژ برق شهر در آنها 120 ولت است و برخی وسایل به‌صورت 2 فاز با 240 ولت کارمی‌نمایند اشاره شده است ). وقتی این دستگاه‌ها روشن می‌شوند یک پل با امپدانس پایین را برای سیگنالهای X10 ، بین 2 فاز ایجاد می‌نمایند. این مشکل را می‌توان با نصب یک خازن بین فازها برای عبور سیگنالهای X10 مرتفع نمود. بیشتر حرفه‌ای های این محصولات ، یک تقویت‌کننده فعال را بین فازها نصب می‌نمایند. این تقویت‌کننده‌ها در خانه‌هایی که به‌صورت 3 فاز از برق شهر استفاده می‌نمایند نیز ، جهت انتقال سیگنالهای X10 بین فازها مورد نیاز است. در ایران غالب منازل از یک سیستم 240 ولت تک فاز استفاده می‌نماند بنابراین این مشکل احتمال وقوع ندارد.

مشکلات دیگر : تلویزیون‌ها یا وسایل بی‌سیم ممکن است سیگنالهای On یا Off مجازی تولید نمایند. Noise Filtering (که روی بسیاری از کامپیوتر‌ها یا مودم‌ها نصب می‌شود) می‌تواند به دور نگه‌داشتن این نویز‌ها از سیگنالهای X10 کمک نماید، ولی Noise Filter‌هایی که برای X10 طراحی نشده‌اند ممکن است خود باعث فیلتر شدن سیگنالهای X10 گردند.

ضمناً برخی منابع تغذیه بکاررفته در وسائل الکترونیکی پیشرفته مثل کامپیوتر‌ها، تلویزیون‌ها و رسیور‌های ماهواره سیگنالهای X10 را دراصطلاح می‌بلعند. به‌طور نمونه،‌خازن‌های بکاررفته در ورودی‌های منابع تغذیه این سیستمها سبب ایجاد اتصال کوتاه بین فاز و نول برای سیگنالهای X10 شده و بنابراین باعث توقف سیگنالهای تولید شده توسط آن سیستم و حتی حذف سیگنالهای تولیدشده توسط لوازم نزدیک به آن خواهند شد. فیلتر‌هایی دردسترس هستند که می‌توانند حتی مانع از رسیدن سیگنالهای X10 به چنین دستگاه‌هایی گردند و باعث شوند چنین ایرادات مبهمی در X10 از بین برود.

برخی کنترل‌کننده‌های X10 نمی‌توانند در توان‌های پایین (زیر 50 وات) عملکرد مناسبی داشته‌باشند. یا حتی اصلاً کار نخواهند کرد و یا حتی با وسایلی مثل فلورسنت ها که بار مقاومتی زیادی ندارند مشکل ساز خواهند شد. بکارگیری یک Appliance Module بجای یک Lamp Module این دست مشکلات را مرتفع خواهد نمود.

سیگنالهای X10 فقط می‌توانند یک دستور را در یک زمان ارسال نمایند. اگر در یک لحظه دو سیگنال X10 ارسال شود تداخل بوجود آمده و گیرنده‌ها پاسخ مناسب را نشان نخواهند داد.

How X-10 Works

The method used by X-10 is based on a simple data frame with eight data bits (one byte) preceded by a predetermined start code.

hti-2-01.gif (12580 bytes)

The complicated part of this technology was not the system of binary data, but the method in which it was transmitted from one device (the transmitter) to another device (the receiver). The key was for every device to have an integral "zero crossing" detector so that all of them were synchronized together (figure 1). A receiver opens its receive "window" twice each sine wave (figure 2), that is 120 times each second or 7,200 times each minute. (ThatÂ’s 432,000 an hour, or 10,368,000 a day! That means itÂ’s looking for little pulses of data 3,784,320,000 times a year !!....at 60Hz, anyway.)

 

 

hti-2-02.gif (12500 bytes)

Since these devices would not have any direct wiring between them, it was necessary to devise a way of sending the data over the existing electrical wiring. The actual binary data is transmitted by sending 1ms bursts of 120kHz just past the zero crossing of the 60Hz power. (While North America remains the primary market for X-10 based devices, products are also available which are designed for use on 50Hz electrical distribution systems.) It was also obvious that complementary bit pairs were necessary. Therefore, a binary "1" was defined as the presence of a pulse, immediately followed by the absence of a pulse. A binary "0" was defined as the absence of a pulse, immediately followed by the presence of a pulse (figure 3).

 

hti-2-03.gif (23622 bytes)

While the transmitted pulses were to be a full 1ms in duration, the receivers were designed to open a receive window of only .6ms. That allowed for the loose tolerances of the 1978-era components to "slop" plus/minus 200m sec.

In order to provide a predictable start point (figure 4), every data frame would always begin with at least 6 leading clear zero crossings, then a start code of "pulse", "pulse", "pulse", "absence of a pulse" (or 1110).

 

hti-2-04.gif (16616 bytes)

hti-2-05.gif (16874 bytes)

Once the Start Code has been transmitted, the first nibble is sent. (If you are not familiar with the term "nibble", that means 4 bits or half a byte.) In order to make it easier for the consumers to operate the devices, this first 4-bits were given "letter" code designations (figure 5). It was also decided to randomly rearrange the patterns so that the "A", "B", "C" codes, etc., did not fall in the predicable binary pattern. It is easy to see that in reality, the "M" code is first in the binary progression.

hti-2-06.gif (21026 bytes)

In one contiguous bit stream, the second nibble provides the second half of the address (figure 6). The last bit appears to be a part of the "number" code but in reality it is a function bit. Whenever this function bit is a "0", it designates the preceding nibble as a number code and therefore a part of the address.

For purposes of redundancy, reliability and to accommodate line repeaters, the X-10 protocol calls for every frame of data to be transmitted twice (figure 7).

hti-2-07.gif (22038 bytes)

Whenever the data changes from one address to another address, from an address to a command, from one command to another command or from one command to another command (figure 8), the data frames must be separated by at least 6 clear zero crossings (or "000000"). When teaching classes in this stuff, I often say that this gap "gives the receivers a chance to catch their breath". In reality, of course, the sequence of six "zeroÂ’s" resets the shift registers.

hti-2-08.gif (19819 bytes)

Once a receiver has processed its address data, it is ready to receive a command. As before, all data frames must begin with a start code. Then the following nibble gives the letter code (figure 9). The next nibble is the command. Since the last bit is the function bit (bf = 0 = address number, bf = 1 = command) all the commands end in a binary 1.

hti-2-09.gif (20733 bytes)

This diagram (figure 10) only shows the six most often used commands. A later graphic will illustrate all the available commands. As before, all X-10 protocol transmitters send their data frames twice (figure 11).

hti-2-11.gif (22216 bytes)

hti-2-10.gif (17792 bytes)

 

Figure 12 shows that an example transmission of two data frames (A1 A1 A-On A-On, for instance) would take 47 cycles of the 60Hz sine wave. That would equate to 0.7833 seconds, or in practical terms, just under 1 second. Of course, some commands take less time. When sending an "All-Lights-On" command, for example, no address needs to be sent. Therefore the entire two frame sequence takes only one third of a second (actually, 0.3666 seconds, but whoÂ’s quibbling). If your receivers react on the first frame, it could take a mere two tenths of a second (0.1833 seconds).

hti-2-12.gif (24333 bytes)

Up to this time, all the diagrams have shown only one pulse but that is not entirely correct. I did that just to make it easier to explain. In reality, it is not a "single phase" world. On this planet, we generate our electrical power in 3 phases (figure 13) and so all X-10 compatible transmitters "should" send out 3 pulses (as in figure 14).

hti-2-13.gif (22065 bytes)

hti-2-14.gif (16179 bytes)

Finally, I promised to give you an "introduction" into X-10Â’s Extended Code Protocol. IÂ’m going to take the easy way out and just give you first a graphic showing all of the available bit sequences in the X-10 standard code. Instead of making this just part of the text of this article, I have made it a graphic so the word-wrap feature of your browser wonÂ’t screw up the alignment.

hti-2-15.gif (13673 bytes)

Almost everything I have said since the beginning of this explanation can be summed up in this one graphic, but arenÂ’t you glad I took the time to explain it?

You will notice that there are some changes in four of the command codes.

  • Ext Code0111- Now designated as "Ext Code 1", for data and control
  • Preset Dim (1)1010- Now designated as "Ext Code 3", for security messages
  • Preset Dim (2)1011- Now designated as "Unused"
  • Ext Data1100- Now designated as "Ext Code 2", for meter read and DSM

 

As far as we know (at the time of this writing) only "Extended Code 1" has a defined frame length which is 31 cycles (62 bits) and is described as:

  • Start Code = 4 bits,
  • Housecode = 4 bits,
  • Extended code 1 = 5 bits (01111),
  • Unit code (device code) = 4 bits,
  • Data = 8 bits,
  • Command = 8 bits..

The explanation for not having a defined frame length for the other two is:

"Extended code 2 is variable in length, depending on the type of message. It has its own separate "attention" marker to separate it from all other formats.

Extended code 3 has been "assigned" for security but doesn't actually exist yet so its format has not yet been defined."