Thaimicrotron.com : Home  
     
 
การ ควบคุมอุปกรณ์ไฟฟ้า ผ่านสาย AC-Line ด้วยมาตรฐาน X10
 
     
 
       
       
 
     
     
 
 
 
การใช้งาน X-10 Home/office Automation
 
     
 
  • X-10 เป็นรูปแบบ การส่งข้อมูลบนสาย AC-Line (Power Line Carrier (P.L.C.) transmission) ซึ่งได้ถูกคิดขึ้นมาโดย Sears Home Control System และ the Radio Shack ในปี 1978 โดยใช้ชื่อว่า X-10 ซึ่งต่อมาสินค้าประเภท Remote control และ Home Automation ที่ใช้มาตรฐาน X-10 นี้ ได้แพร่หลายไปทั่วโลกเนื่องจาก มีลักษณะการใช้งานเป็น แบบ plug-in คือซื้อไปแล้วใช้งานได้ทันทีไม่ต้องมีการติดตั้งหรือเดินสาย และสามารถซื้อโมดูลที่มีความสามารถอื่นๆ มาเพิ่มเติมได้ทีหลัง
  • และเนื่องจากมีผู้ผลิตในต่างประเทศหลายรายที่ใช้มาตรฐาน X-10 หากอุปกรณ์ชำรุด หรือสูญหาย ก็สามารถหาซื้อ ทดแทนได้ง่าย โดยอุปกรณ์ของทุกบริษัทที่ใช้มาตรฐานนี้ สามารถใช้ร่วมกันได้ เพียงแต่ตั้งแอดเดรสให้ตรงกันเท่านั้น
 
     
   
 
ทฤษฎี    
  • การส่งข้อมูลจะอาศัยการสร้างสัญญาณนาฬิกาที่ได้จากจุดตัดศูนย์ (zero crossing point) โดยค่าของข้อมูล binary 1 จะส่งสัญญาณ burst มีความถี่ 120KHz จำนวน 3 ลูก (เพื่อให้ครอบคลุมทั้ง 3 เฟส) หลังจากจุดตัดศูนย์ โดย ไม่จำเป็นว่าจะเป็นขอบขาขึ้นหรือขอบขาลง ของสัญญาณนาฬิกา และค่าของข้อมูล binary 0 จะเป็นการเว้นว่างของสัญญาณ burst
  • ดังนั้นใน 1 ไซเคิล สามารถจะส่งข้อมูลได้ 2 บิท
    รายละเอียดของระยะเวลาดูได้จากรูปที่ 1
 
   
   
   
   
รูปที่ 1 การส่งข้อมูลบน AC-Line ของ X-10 PRO ที่ความถี่ 50 Hz
     
 
     
  โครงสร้างของ Block ข้อมูล  
  โครงสร้างของ Block ข้อมูล จะประกอบด้วย Start code ,House code ,Key Code  
 
  • เมื่อเป็น Block ข้อมูลระบุแอดเดรส Key Code จะหมายถึง Number Code
  • เมื่อเป็น Block ข้อมูลระบุฟังก์ชัน Key Code จะหมายถึง Function Code

    Start code เป็นข้อมูลไบนารี 4 บิทคือ 1110
 
     
  วิธีการส่ง Block ข้อมูลของชุดคำสั่ง  
  Block ข้อมูลระบุแอดเดรส จะต้องตามด้วย Block ข้อมูลฟังก์ชัน เช่น  
 
  • Block ข้อมูลระบุแอดเดรส ประกอบด้วย (Start code ,House code ,Number code) (ส่ง 2 ครั้งติดกัน)
  • ช่องว่าง (GAP) คือข้อมูล 000000 (เว้นว่างอย่างน้อย 3 ไซเคิ้ล)
  • Block ข้อมูลระบุฟังก์ชั่น ประกอบด้วย (Start code ,House code ,Function code) (ส่ง 2 ครั้งติดกัน)
 
     
 
 
 
ชุดคำสั่งระบุแอดเดรสและฟังก์ชัน
 
     
     
 
House
House Codes

Addresses

H1

H2

H4

H8

A

0

1

1

0

B

1

1

1

0

C

0

0

1

0

D

1

0

1

0

E

0

0

0

1

F

1

0

0

1

G

0

1

0

1

H

1

1

0

1

I

0

1

1

1

J

1

1

1

1

K

0

0

1

1

L

1

0

1

1

M

0

0

0

0

N

1

0

0

0

O

0

1

0

0

P

1

1

0

0

 
 
ตารางที่1 House code
 
   
 

Unit address

Key Codes

 
Number Code
 

D1

D2

D4

D8

D16

1

0

1

1

0

0

2

1

1

1

0

0

3

0

0

1

0

0

4

1

0

1

0

0

5

0

0

0

1

0

 6

1

0

0

1

0

7

0

1

0

1

0

 8

1

1

0

1

0

9

0

1

1

1

0

10

1

1

1

1

0

11

0

0

1

1

0

12

1

0

1

1

0

13

0

0

0

0

0

14

1

0

0

0

0

15

0

1

0

0

0

16

1

1

0

0

0

 

 

 
Function Code

All Units Off

0

0

0

0

1

All Units On

0

0

0

1

1

On

0

0

1

0

1

Off

0

0

1

1

1

Dim

0

1

0

0

1

Bright

0

1

0

1

1

All Lights Off

0

1

1

0

1

Extended Code

0

1

1

1

1

Hail Request

1

0

0

0

1

Hail Acknowledge

1

0

0

1

1

Pre-set Dim

1

0

1

X

1

Extended Code

1

1

0

0

1

(Analog)

         

Status = On

1

1

0

1

1

Status = Off

1

1

1

0

1

Status Request

1

1

1

1

1

 
  ตารางที่ 2 Key Code  
     
     
  วิธีการส่งข้อมูลของ House code และ Keycode  
 
  • หลังจากที่ส่ง Start Code ไปแล้วนั้น ส่วนของ Key Code (Number code และ Function code) จะต้องส่งแบบ บิทแล้วตามด้วย compliment (ส่วนกลับ) ของบิทนั้น
  • เช่น House code A = 0110 compliment = 1001 และ Number Code 2 =11100 มี compliment = 00011
  • ดังนั้นการส่งข้อมูลแอดเดรสของ A2 จะเป็น 1110 + 01101001 + 1010100101
 
     
 
 
 
การส่งข้อมูลแบบบิทแล้วตามด้วย compliment ของบิทนั้น (ไม่รวม Start Code)
 
     
 
  • ตัวอย่างต้องการส่งข้อมูล House code =A ,Number code =2 ,Function code = ON
  • การส่งชุดคำสั่งนี้คือ
 
 
A2 ON
1110 0110 1001 1010 1001 01 1110 0110 1001 1010 1001 01 000000 1110 0110 1001 0101 1001 10 1110 0110 1001 0101 1001 10
 
 
     
  การส่งข้อมูลฟังก์ชัน ไม่ต้องระบุ Number code  
 
  • ชุดคำสั่งระบุฟังก์ชั่น จะตามด้วย House code ,Function code โดยสามารถส่งติดต่อกันไปเรื่อยๆ โดยไม่ต้องมี Gap
  • แต่ถ้าเป็น Function Code ที่ต่างกันจะต้องเว้นด้วย Gap
 
     
     
  เช่นคำสัง dim และ Bright  
  หลังจากที่ส่งชุดคำสั่งระบุแอดเดรสและฟังก์ชัน = ON แล้ว ให้ส่งคำสั่งฟังก์ชัน dim หรือ Bright ตามภายใน 15 วินาที  
     
 
dim
1110 0110 1001 0110 0101 10
1110 0110 1001 0110 0101 10 1110 0110 1001 0110 0101 10 1110 0110 1001 0110 0101 10 ...
 
  โดยทุก 1 Block Function ของ dim จะทำให้อุปกรณ์ที่ควบคุมความสว่างของหลอดไฟ มีค่าลดลง 1  
     
 
การควบคุมอุปกรณ์ไฟฟ้าตามมาตรฐาน X10 ด้วย PIC16F648A
 
     
 
SMITDH EMSOMBATศมิทธิ์ เอมสมบัติ
 
   
     
ศมิทธิ์ เอมสมบัติ