Pages: 1 ... 4 5 [6] 7 8 ... 19   Go Down
Print
Author Topic: เกี่ยวกับ Ac power line x-10  (Read 260494 times)
0 Members and 27 Guests are viewing this topic.
muiim
Jr. Member
**
Offline Offline

Posts: 67


Email
« Reply #75 on: June 15, 2009, 08:03:11 AM »

เอ๊ย 16F648A แก้ไข
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #76 on: June 15, 2009, 09:16:59 PM »

ครับต้องคอยตามกระแสด้วยครับ คอยตรวจสอบราคา กับเบอร์ใหม่ๆบ่อยๆ ไม่งั้นตกยุค ใช้ของแพงแต่คุณภาพต่ำกว่า
PIC16F628 แพงกว่า PIC16F648A อีกครับ

http://www.thaimicrotron.com/webboard2/index.php?topic=148.msg405#msg405

ส่วนตอนนี้ผมเล็ง PIC16F886 8K อยู่ครับ ว่าจะเอามาทำ X-10 Keypad ขาเยอะดี มี A/D แถมยังถูกที่สุดอีกด้วย
ส่วนตอนนี้กำลังทำ Remote RF to X-10 อยู่ครับ เพราะชุด X-10LAB ทำให้ผมเข้าใจระบบ X-10 ขึ้นเยอะ
Logged
muiim
Jr. Member
**
Offline Offline

Posts: 67


Email
« Reply #77 on: June 19, 2009, 10:15:44 AM »

คอม ผมเจ๋งครับพี่ ไม่ได้เข้ามาหลายวัน ไงก็ขอให้พี่ทำผลงานออกมาอีกเยอะๆนะครับผมจะคอยชม
Logged
muiim
Jr. Member
**
Offline Offline

Posts: 67


Email
« Reply #78 on: June 19, 2009, 11:22:53 AM »

คือว่า ผมจะใช้สวิทย์เพื่อสั่งข้อมูลx10ออกทาง powerline แล้วคำสั่งผมจะทำไงดีครับ ผมไม่ค่อยเข้าใจ code ตัวใหม่นะครับพี่
 switch(D1)
       {
        case KEY_ON:
            output_high(X10OUT);
            break;
        case KEY_OFF:
            output_low(X10OUT); 
            break;
ผมจะเพิ่มอะไรเข้าไปในส่วนนี้ ดีละครับพี่ (ถ้าผมต้องการสั่งให้ ALL unit on / ALL unit off)
ขอบคุณล่วงหน้าครับพี่
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #79 on: June 19, 2009, 06:47:56 PM »

code เก่าเป็น code ที่ได้มาจากตัวอย่าง ของ CCS ครับคือ C:\Program Files\PICC\Examples\ EX_X10.c
ซึ่งจะมีอยู่ในตัวอย่างของ CCS ซึ่งจะต้องใช้กับ X10 โมดูล TW523
เอามาดัดแลงใหม่เป็น EX_X10o.c เพื่อให้ใช้กับ X10LABของเรา ทำให้อ่านยากนิดนึง

ส่วนโค๊ดตัวใหม่เขียนตามความเข้าใจ ที่เกิดขึ้น มาเรียบเรียงใหม่ โดยสามารถให้ใช้กับ X10-Pro รุ่นใหม่ๆ ได้
อย่างเช่นของ บางบริษัท ซึ่งเป็นแบบ bidirection

จากโค๊ดที่คุณให้มา เป็นการ เปิด/ปิดตัวเองครับ X10OUT เป็นขาที่ควมคุม Reley เรากำหนดไว้เป็น RA2
#define X10OUT          PIN_A2

fn ที่สำคัญจะอยู่ใน UARTReady(); ครับ ในส่วน
...
             if(len==3)    //House,Function
             {
              printf("Sending...%c%02d\r\n",RxHouse,RxFn);
              X10WriteFn(RxHouse,RxFn);
              if(RxFn==1||RxFn==2)
                X10FuncExe(RxHouse,RxNo,RxFn);
             }
             if(len==6)    //House,Number,Function
             {
              printf("Sending...%c%02d-%02d\r\n",RxHouse,RxNo,RxFn);
              X10Write(RxHouse,RxNo,RxFn);
              if(RxFn==3||RxFn==4)          //@Test Self Address
                X10FuncExe(RxHouse,RxNo,RxFn);
             }
...

ตัวแปรที่สำคัญ RxHouse,RxNo,RxFn
RxHouse  เก็บ House  เป็นตัวักษรครับ เช่น 'A','B'
RxNo   เป็น int เป็น Keycode หรือ number code
RxFn   เป็น int เป็น Function code

fn ที่สำคัญ
http://www.thaimicrotron.com/X10/X10-MainPage.htm#FnCode

void X10Write(char House,int Number,int Fn);
เช่นต้องการ ส่งคำสั่งบน ac line A02 ON
   X10Write('A',02,X10FN_STATUS_ON);


void X10WriteFn(char House,int Fn);  เป็น fn ที่ไม่ต้องระบุ keycode ,numbercod เช่นพวก ALL ทั้งหลาย Dim ,Bright
จะมีอยู่ 5 ฟังก์ชั่นเท่านั้นที่ใช้ได้     
     1). All Units Off   
     2). All Units On   
     5). Dim   
     6). Bright   
     7). All Lights Off

เช่น  All Units Off คืออุปกรณ์ ใน House A ดับหมด
X10WriteFn('A',X10FN_ALL_UN_OFF);

เช่น  All Units On คืออุปกรณ์ ใน House A ประเภทหลอดไฟ ติดหมด
X10WriteFn('A',X10FN_ALL_UN_ON);

X10FuncExe();   เป็น fn ที่ตรวจสอบว่า ตรงกับแอดเดรสตัวเองหรือเปล่า
« Last Edit: July 20, 2009, 04:22:50 PM by admin » Logged
plom
Jr. Member
**
Offline Offline

Posts: 49


Email
« Reply #80 on: July 20, 2009, 11:17:12 AM »

สวัดดีครับ คือผมมีความสนใจที่จะทำเครื่องรับส่งสัญญาณดิจิตอล ผ่านสายac line
สัญญาณที่จะส่งเป็นสัญญาณจากหัววัดอุณหภูมิsmt-160 แล้วนำสัญญาณนี้ไปใช้ครับ
ผมจะนำX-10lab นี้ไปประยุกต์ได้อย่างไร ขอแค่สัญญาณที่ออกจากเครื่องรับเหมือนสัญญาณ
ที่ส่งเข้ามาจากหัววัดก็เพียงพอแล้วครับ ช่วยแนะนำด้วยครับ
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #81 on: July 20, 2009, 04:44:09 PM »

ครับการส่งข้อมูลบน AC Line ก็ใช้หลักการเดียวกันกับ X10 ครับ
เพียงแต่หลักการของ X10 เป็นการส่งคำสั่งสั้นๆ เพื่อควบคุมอุปกรณ์ไฟฟ้าเท่านั้น โดยอาศัย ความถี่ไฟบ้านเป็น
สัญญาณนาฬิกา  แต่ก็มีฟังก์ชั่นที่ไว้สำหรับส่งข้อมูลเหมือนกัน เช่น Extended Code
http://www.thaimicrotron.com/X10/X10-MainPage.htm#FnCode

หรือเมื่อเราเข้าใจในหลักการแล้วก็สามารถสร้างโปรโตคอลของเราเองได้
Logged
plom
Jr. Member
**
Offline Offline

Posts: 49


Email
« Reply #82 on: July 20, 2009, 05:46:10 PM »

แล้ววงจรรับส่ง ของX-10lab นี้สามารถนำไปใช้งานของผมได้เลยไหมครับ แต่ผมไม่ค่อยเข้าใจกับวงจรครับว่าส่งตรงจุดไหนรับจุดไหน เพราะจากวงจรเห็นมีจุดที่ต่อกับไฟac เพียงจุดเดียว ก็เลยงงๆ ครับ
เพราะผมเพิ่งเริ่มศึกษาเรื่องนี้ครับ เรื่องของPower line นี้เป็นเรื่องใหม่สำหรับผมครับ เรื่องของเรื่องคืออาจารย์เขาเพิ่มเข้ามาในโปรเจ็คคิดไม่ถึงเหมือนกันครับว่าจะได้ศึกษาเรื่องนี้ ก็จากที่ค้นหาจากเว็บไซ้ ก็ มีเว็บนี้ละครับที่ให้ความรู้มากที่สุดครับ คุณศมิทธิ์ ช่วยเป็นไกดิ์ให้หน่อยนะครับ ขอบคุณครับ
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #83 on: July 20, 2009, 07:58:09 PM »

ทาง Hardware ผมคิดว่าน่าจะได้เลยครับทาง software อาจจะต้องปรับปรุงบ้างแล้วแต่ ลักษณะโครงงาน  แต่จะต้องทำไว้ 2 ชุดจึงจะทดสอบการรับส่งได้ ตอนนี้กำลังหา วิธีการทำเครื่องมือในการปรับแต่งอยู่ครับ ที่เห็นต่อกับไฟac เพียงจุดเดียว เพราะเป็นการสื่อสารแบบแบบ ฮาล์ฟดูเพลกซ์ (Half Duplex) คือเป็นการส่งและรับข้อมูลแบบสลับกันครับ
Logged
plom
Jr. Member
**
Offline Offline

Posts: 49


Email
« Reply #84 on: July 21, 2009, 11:48:53 AM »

คุณศมิทธิ์ครับถ้าผมนำวงจรx-10LAB นี้มาทำเป็นตัวส่งและตัวรับ แยกกัน ทำได้อย่างไรครับและต้องมีการปรับเปลี่ยนวงจรอย่างไร จึงจะเหมาะสมกับโครงงานผมครับ ช่วยแนะนำด้วยครับ ตอนนี้ไฟรนก้นแล้วครับ ขอบคุณครับ
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #85 on: July 21, 2009, 11:19:13 PM »

เนื่องจาก X10-Lab เป็นอุปกรณ์ที่ใช้รับ-ส่งข้อมุลผ่าน AC-Line อยู่แล้วครับไม่ต้องเปลี่ยนแปลงอะไร หากทำไว้ 2 ตัวก็จะรับส่งกันได้
ซึ่งการส่งข้อมูลเป็นลักษณะ broadcast ครับ คือทุกตัวจะได้รับข้อมูลเหมือนกันหมด ซึ่งแต่ละตัวจะสนใจข้อมูล เมื่อมีแอดเดรสตรงกับของตัวเองเท่านั้น
ส่วนทาง software ก็ขึ้นอยู่กับลักษณะงานครับ ว่าจะรับส่งข้อมูลอะไร ความยาวเท่าไร บ่อยไหม
Logged
plom
Jr. Member
**
Offline Offline

Posts: 49


Email
« Reply #86 on: July 22, 2009, 12:34:15 PM »

ขอบคุณครับ ขอบคุณมากมากเลยครับ Smiley :
Logged
plom
Jr. Member
**
Offline Offline

Posts: 49


Email
« Reply #87 on: July 23, 2009, 11:14:32 AM »

"ซึ่งแต่ละตัวจะสนใจข้อมูล เมื่อมีแอดเดรสตรงกับของตัวเองเท่านั้น"
ตรงบทความนี้ช่วยขยายความอีกหน่อยได้ไหมครับ ขอบคุณครับ
Logged
smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #88 on: July 23, 2009, 06:20:20 PM »

การรับ-ส่งข้อมุลผ่าน AC-Line ก็เป็นลักษณะแบบ network เหมือนกันครับ โดยอาจจะแบ่งเป็น Master กับ slave
ตัว Master เช่น  X10-Lab, X10-Keypad ,X10-Clock  ต้องการส่งข้อมูลคำสั่ง ไปยัง ตัวลูกอย่างเช่น A02-ON
อุปกรณ์ทุกตัวก็ได้รับคำสั่งนี้เหมือนกันหมด แต่อุปกรณ์ ที่ถูกเซ็ทแอดเดรสไว้เป็น A02 เท่านั้น จะปฏิบัติตามคำสั่ง
นอกนั้น อุปกรณ์ที่ถูกเซ็ทไว้เป็นแอดเดรสอื่น ก็จะไม่สนต่อคำสั่งนี้ครับ
Logged
plom
Jr. Member
**
Offline Offline

Posts: 49


Email
« Reply #89 on: July 24, 2009, 04:22:50 PM »

x-10lab นี้มีข้อจำกัดของสัญญาณที่จะส่งไหมครับ คือสัญญาณของผมที่จะส่งมีลักษณะดังนี้ครับ
Output:
- เป็น duty cycle = 0.320 + 0.00470*t   (t = temperature in °C)
-  มี   frequency  1 - 4    Khz
-      noise      0.005  °C
- impedance  200   Ohm
 สัญญาณแบบนี้จะมีปัญหาอะไรรึป่าวครับ
Logged
Pages: 1 ... 4 5 [6] 7 8 ... 19   Go Up
Print
 
Jump to: