เทคนิคการอินเตอร์เฟส

20 มค 2564 วิชา เทคนิคการอินเตอเฟส
นาย อชานนท์ พรมรักษา เลขที่7 กลุ่ม3
20 มค 64 หัวข้อการเรียน มาตรฐาน RS485
ค้นคว้าเรื่อง RS485
1. ที่มาของมาตรฐาน RS-485
RS485 (ย่อมาจาก: Recommended Standard no. 485) คือมาตรฐานการสื่อสารข้อมูล
ดิจิตอลแบบอนุกรม (serial communication) ซึ่งถูกก าหนดขึ้นครั้งแรกในปี ค.ศ. 1998 โดยความ
ร่วมมือของ TIA (Telecommunications Industry Association) และ EIA (Electronic
Industries Association) มาตรฐาน RS485 ถูกใช้อย่างแพร่หลายในโรงงานอุตสาหกรรม เนื่องจาก
สามารถส่งสัญญาณได้ไกลและยังสามารถส่งพร้อม ๆ กันได้หลายจุด ปกติแล้ว EIA จะตั้งชื่อมาตรฐาน
ของตัวเองโดยการใช้ค าน าหน้าว่า "RS" (Recommended Standard) แต่เนื่องจากมาตรฐานนี้เป็น
ความร่วมมือระหว่าง 2 หน่วยงาน คือ TIA และ EIA ทั้งสองหน่วยงานจึงตกลงเปลี่ยนจากค าว่า "RS"
เป็น "TIA/EIA" แทนอย่างเป็นทางการ เพื่อระบุถึงแหล่งที่มาของมาตรฐานอย่างชัดเจน โดยต่อมาทาง
EIA ก็ได้ยกเลิกมาตรฐานนี้และมาตรฐาน RS485 นี้ก็ได้ถูกพัฒนาอย่างต่อเนื่องจนถึงปัจจุบันโดย TIA
ท าให้มาตรฐาน RS485 ถูกเปลี่ยนชื่อเป็น "TIA-485" อย่างเป็นทางการ แต่สุดท้ายเพราะความเคย
ชินท าให้วิศวกรทั่วโลกยังเรียกมาตรฐานการสื่อสารนี้ว่า RS485 เหมือนเดิม
2. หลักการทำงาน
มาตรฐาน RS485 เป็นมาตรฐานที่รับ/ส่งข้อมูลในแบบที่เรียกว่า Half duplex คือสามารถ
รับและส่งข้อมูลได้ทีละอย่างเท่านั้นไม่สามารถท าทั้งสองอย่างได้ในเวลาเดียวกัน ถ้าจะให้พูดแล้วเห็น
ภาพก็คงคล้ายๆลักษณะของวิทยุสื่อสารที่ต้องคอยสลับกันพูดทีละครั้ง

สำหรับการรับ/ส่งข้อมูลดิจิตอลแบบ RS485 นั้น จะส่งข้อมูลโดยใช้สายไฟเพียงแค่ 2 เส้นคือ A และ B เป็นตัวบอกค่ารหัสดิจิตอล(Digital code) โดยใช้ความแตกต่างของแรงดันไฟฟ้าระหว่างขั้ว A และ B เป็นตัวบอกดังนี้
- เมื่อ Va - Vb ได้แรงดันไฟฟ้าน้อยกว่า -200 mV คือสัญญาณดิจิตอลเป็น 1
- เมื่อ Va - Vb ได้แรงดันไฟฟ้ามากกว่า +200 mV คือสัญญาณดิจิตอลเป็น 0
หลักการทำงานของ RS485 แบบ NETWORK
มาตรฐาน RS485 สามารถเชื่อมต่อการรับส่งข้อมูลแบบเครือข่าย (Network) โดยมีอุปกรณ์ในเครือข่ายได้สูงสุดถึง 32 ตัว ซึ่งในเครือข่ายนั้น จะต้องมีอุปกรณ์อยู่ 1 ตัว ทำหน้าที่คอยจัดคิวการสื่อสารในเครือข่าย ซึ่งเราจะเรียกอุปกรณ์ตัวนี้ว่า "Master" และอุปกรณ์ส่วนที่เหลือเราจะเรียกว่า "Slave" โดยที่ Slave แต่ละตัวจะมีหมายเลข Address ของตัวเอง และเมื่อตัว Master ต้องการสั้งการตัว Slave ตัว Master จะส่งชุดคำสั่งพร้อมระบุหมายเลข Address ไปยังอุปกรณ์ Slave ทุกตัว เมื่ออุปกรณ์ Slave ได้รับคำสั่งและคำสั่งนั้นมีหมายเลข Address ตรงกับตัวเอง อุปกรณ์ Slave ถึงจะทำตามคำสั่งของ Master เป็นลำดับไป

จำนวนอุปกรณ์สูงสุดในเครือข่าย RS485
นี่เป็นอีกหนึ่งคำถามที่ผู้ใช้หน้าใหม่สงสัยมากที่สุดในโลก หากตามมาตรฐานแล้ว เครือข่าย RS485 สามารถมีอุปกรณ์ในระบบได้สูงสุด 32 ตัว เมื่ออุปกรณ์เหล่านั้นมีความต้านทานไฟฟ้าภายใน 12 kΩ แต่ปัจจุบันการออกแบบอุปกรณ์อิเล็กทรอนิกส์ได้พัฒนาจนมีความต้านทานไฟฟ้าภายในที่สูงมาก (ในหลัก MΩ) ซึงทำให้เครือข่าย RS485 สามารถมีอุปกรณ์ในระบบได้สูงสุดถึง 256 ตัว นอกจากนี้เครือข่าย RS485 ยังสามารถใช้ตัวขยายสัญญาณ (Repeater) สำหรับเพิ่มอุปกรณ์ในเครือข่ายได้ถึงหลายพันตัวและครอบคุมระยะหลายกิโลเมตรกันเลยทีเดียว
ตารางเปรียบเทียบคุณสมบัติของ RS485
ตารางนี้เป็นตารางการเปรียบเทียบคุณสมบัติต่างๆของ RS485, RS232, RS423 และ RS422

3. ข้อดีของมาตรฐาน
เป็นที่ทราบกันดีว่า RS485 เป็นมาตรฐานที่ถูกพัฒนาขึ้นมาเพื่อลบจุดด้อยของมาตรฐานรุ่นเก่าๆ อย่าง RS232 RS422 RS423 เป็นต้น ซึ่งข้อดีหลักๆของมาตรฐาน RS485 มีดังนี้
สามารถส่งสัญญาณได้ไกล
RS485 สามารถส่งสัญญาณได้ไกลสูงสุดถึง 1,200 เมตร ซึ่งถือว่าเป็นระยะทางที่ไกลมาก เพียงพอต่อการใช้งานในโรงงานอุตสาหกรรมอย่างแน่นอนและจะเห็นได้ชัดว่าระยะการส่งสัญญาณได้ถูกพัฒนาขึ้นมากจนทิ้งห่างมาตรฐานรุ่นเก่าอย่าง RS232 ที่สามารถส่งสัญญาณได้เพียง 15 เมตร เท่านั้น
สามารถเชื่อมต่อเป็นเครือข่ายได้
นอกจากจะส่งสัญญาณได้ไกลแล้ว RS485 ยังสามารถเชื่อมต่อเป็นเครือข่าย (Network) แบบ Multipoint ได้ด้วย ซึ่งสามารถเชื่อมต่ออุปกรณ์ในระบบได้สูงสุดถึง 32 ตัว ซึ่งสิ่งนี้ถือว่าเป็นอีกหนึ่งจุดเด่นของสัญญาณ RS485 เลยทีเดียว
ประหยัดงบประมาณในการเดินสาย
มาตรฐาน RS485 เป็นมาตรฐานที่ใช้สายไฟเพียง 2 เส้นในการรับส่งข้อมูล เมื่อเปรียบเทียบกับมาตรฐานรุ่นเก่าที่สามารถส่งสัญญาณในระยะเท่ากันอย่าง RS422 ที่ต้องใช้สายไฟถึง 4 เส้นในการรับส่งข้อมูล ซึ่งราคาสายเคเบิลแบบ 2 แกน จะถูกกว่าสายเคเบิลแบบ 4 แกน ถึงเกือบครึ่ง ในความเป็นจริงแล้วเรื่องงบประมาณถือเป็นเรื่องสำคัญมากๆ ซึ่งนี่ถือเป็นอีกหนึ่งจุดเด่นของ RS485 เลยทีเดียว
4. ข้อจำกัดของมาตรฐาน RS-485
ถึงแม้ RS485 จะเป็นมาตรฐานที่ถูกพัฒนาขึ้นจนลบข้อด้อยที่มีอยู่ในมาตรฐานเก่าๆไปมากแล้วก็ตาม แต่ก็ไม่ใช่ว่าจะไม่มีข้อเสียอยู่เลย โดยข้อเสียหลักๆของ RS485 มีดังนี้
ต้องใช้ตัวแปลงสัญญาณในการเชื่อมต่อกับคอมพิวเตอร์
เนื่องจากปัจจุบันคอมพิวเตอร์ที่เราใช้กันอยู่นั้นไม่มี port เชื่อมต่อสัญญาณ RS485 โดยตรง จะมีก็แต่ USB หรือ RS232 เท่านั้น ฉนั้นหากเราจะเชื่อมต่ออุปกรณ์ที่ใช้ RS485 กับคอมพิวเตอร์นั้น เราต้องเสียงบประมาณเพิ่มขึ้นในการซื้อตัวแปลงสัญญาณ (Converter) เพื่อแปลงสัญญาณจาก RS485 เป็น USB หรือ RS232 ในการเชื่อมต่อนั้นเอง
ความเร็วในการรับส่งข้อมูล
ถึงแม้ RS485 จะถูกพัฒนาด้านความเร็วในการรับส่งข้อมูลขึ้นมากแล้วก็ตามเมื่อเทียบกับมาตรฐานเก่า แต่ก็ยังมีความล่าช้าอยู่เมื่อเชื่อมต่อในลักษณะเครือข่ายจำนวนมากๆ
6. แนะนำวงจรเชื่อมต่อตามมาตรฐาน RS-485
การต่อกันแบบ Point-to-Point

การต่อสาย RS485 แบบขนาน

ด้าน Hardware
1. USB to RS485
2. Arduino Mega2560
3. UART TTL to RS485
4. Module Relay 4 Channel
ด้าน Software
1. โปรแกรม Arduino IDE
2. โปรแกรม Hercules
1. ทำการต่อวงจร Arduino Mega2560 กับ Module Relay
| Arduino Mega2560 | Module Relay 4 Channel |
| +5V | Vcc |
| ขา 22 | IN1 |
| ขา 24 | IN2 |
| ขา 26 | IN3 |
| ขา 28 | IN3 |
| GND | GND |
2. ทำการต่อวงจร Arduino Mega2560 กับ UART TTL To RS485
| Arduino Mega2560 | UART TTL To RS485 |
| 5V | Vcc |
| TX | TXD |
| RX | RXD |
| GND | GND |
3. การต่อใช้งาน RS485 ต่อสาย A และ B ตามรูป
นำสาย A ของ RS485 ของแต่ละฝั่งมาต่อร่วมกัน
นำสาย B ของ RS485 ของแต่ละฝั่งมาต่อร่วมกัน
4. ตัวอย่างโปรแกรมดังนี้
สำคัญ
Arduino Mega2560 ของ Station0 เปลี่ยนตัวแปร Station = '0' ;
Arduino Mega2560 ของ Station1 เปลี่ยนตัวแปร Station = '1' ;
//----------------------------------------------------------------------------------------------------------------------------
5. เปิดโปรแกรม Hercules เชื่อมต่อ USB to RS485 ดังรูป
จากนั้น พิมพ์ @11111
ซึ่งรูปแบบในการรับส่งข้อมูล จากโค้ดผมใด้กำหนดใว้ดังนี้ คือ
@SBBBB
@ คือ ตัวแรกคือ Header ของข้อมูลเพื่อเช็คความถูกต้อง
S คือ Station ของอุปกรณ์ ซึ่งในที่นี้คือ Arduino Mega2560 ซึ่งเลข ที่ใช้ใด้ คือ 0-9 สำหรับโปรแกรมนี้
BBBB คือ ข้อมูลในการควบคุม Relay 4 Channel ซึ่งใช้ค่า 0 หรือ 1 แทนสถานะ
B ตัวแรก คือ ค่าที่ใช้สั่งการ Relay Channel 1 ใส่ค่า 1 หรือ 0
B ตัวสอง คือ ค่าที่ใช้สั่งการ Relay Channel 2 ใส่ค่า 1 หรือ 0
B ตัวสาม คือ ค่าที่ใช้สั่งการ Relay Channel 3 ใส่ค่า 1 หรือ 0
B ตัวสี่ คือ ค่าที่ใช้สั่งการ Relay Channel 4 ใส่ค่า 1 หรือ 0
6. ผลลัพธ์ที่ใด้จากการส่งข้อมูล
ึ
7. ลองส่งค่า @01111
8. ทาง Arduino Mega2560 ใด้ผลลัพท์ ดังรูป
9. พิมข้อความ @00000
10. จะเห็นใด้ว่า Relay ทั้ง Station1 และ Station2 OFF ทุก Channel


ความคิดเห็น
แสดงความคิดเห็น