นางสาวอัจฉรา กุลคำ เลขที่ 1 กลุ่ม 3
โปรโตคอลการสื่อสาร ของ MCU Arduino nano
RS485 หากคุณคุ้นเคยกับ RS232 แล้ว คุณก็อาจจะรู้บ้างแล้ว หากไม่ โปรดอ่านบล็อกโพสต์อื่นๆ ของเราว่า RS232 คืออะไร
เช่นเดียวกับ RS232 พี่ชาย RS485 เป็นรูปแบบหนึ่งของการสื่อสารแบบอนุกรม คิดว่า RS485 เป็นน้องชายที่เร็วกว่าของ RS232
สิ่งที่ทำให้มันเป็นความก้าวหน้าเหนือ RS232 คือความจริงที่ว่ามันสามารถส่งไม่เพียง แต่อุปกรณ์เดียวไปยังการส่งอุปกรณ์ แต่ยังเป็นบัสสื่อสารเพื่อเชื่อมต่ออุปกรณ์หลายเครื่องพร้อมกัน
การกำหนดค่าและข้อกำหนดของ RS485 ทำให้เร็วขึ้นและขยายช่วงการรับส่งข้อมูล
คุณไม่ได้จำกัดสายเคเบิลเพียงห้าสิบฟุตเช่นเดียวกับ RS232 ความยาวสายเคเบิล RS485 สูงสุดโดยทั่วไปจะแสดงเป็น 1200 เมตรหรือประมาณ 4000 ฟุต
เช่นเดียวกับ RS232 RS485 ไม่มีขั้วต่อมาตรฐานจริง หลายครั้งที่มีการใช้ตัวเชื่อมต่อ DB-9 แบบเก่า
ในบางแอปพลิเคชัน แถบเทอร์มินัลถูกใช้แทนตัวเชื่อมต่อ สิ่งนี้ช่วยให้ RS485 กลายเป็นรูปแบบการสื่อสารซีเรียลที่ใช้กันอย่างแพร่หลายและหลากหลาย
ข้อดีอีกอย่างของ RS232 ที่ผมกล่าวถึงก่อนหน้านี้คือจำนวนอุปกรณ์ที่เชื่อมต่อได้ RS485 สามารถรองรับอุปกรณ์เชื่อมต่อได้สูงสุด 32 เครื่อง RS232 สามารถรองรับได้เพียงเครื่องเดียวเท่านั้น สิ่งนี้ทำให้ผู้ใช้ในโรงงานผลิตสามารถเชื่อมต่อแอพพลิเคชั่นขนาดใหญ่และเครื่องจักรทั้งหมดด้วยโปรโตคอลเดียว
ข้อดีอีกอย่างของ RS485 ก็คือมันไม่ไวต่อปัญหาเรื่องเสียง เสียงไฟฟ้าอาจทำให้เกิดปัญหากับอุปกรณ์อิเล็กทรอนิกส์ได้ทุกประเภท
กราวด์อ้างอิง RS232 เพื่อถอดรหัสข้อมูลที่ส่ง ทำให้เกิดสัญญาณรบกวนทางไฟฟ้าทำให้เกิดการรบกวนได้
RS485 หลีกเลี่ยงปัญหานี้ซึ่งทำให้มีการป้องกันสายเคเบิลเพื่อป้องกันเสียงรบกวน คุณอาจสงสัยว่าฉันจะทำอย่างไรกับการสื่อสารแบบอนุกรม โดยเฉพาะ RS485
ตัวอย่างหนึ่งที่พบบ่อยมากในโลกของระบบอัตโนมัติคือการควบคุมระยะไกลของ VFDs หรือ Variable Frequency Drives หลายคนเรียกพวกเขาว่ามอเตอร์ไดรฟ์
เครือข่ายอย่างง่ายของ PLC, VFD และ HMI ช่วยให้ควบคุมมอเตอร์จากระยะไกลในสภาพแวดล้อมทางอุตสาหกรรม
สมมติว่าคุณกำลังตรวจสอบเครื่องสูบน้ำที่เติมน้ำในเรือ คุณตัดสินใจว่าน้ำไม่เต็มเร็วพอที่จะให้ทันกับความต้องการ ด้วยเครือข่าย RS485 ของคุณ คุณสามารถตรวจสอบและควบคุมปั๊มจากระยะไกลได้จากศูนย์ควบคุม
สิ่งนี้เป็นไปได้เนื่องจาก HMI เชื่อมต่อกับ PLC ของคุณผ่าน RS485 PLC ยังเชื่อมต่อกับ VFD ผ่าน RS485
PLC ได้รับการตั้งโปรแกรมให้ตรวจสอบระดับน้ำในถัง นอกจากนี้ยังช่วยให้สามารถควบคุมการไหลแบบแมนนวลได้หากจำเป็น
ทั้งหมดนี้ช่วยให้คุณเพิ่มความเร็ว VFD ที่ควบคุมความเร็วของปั๊มน้ำนั้นได้ แก้ไขปัญหาได้ด้วยการสื่อสาร RS485
ถ้าพูดถึงสิ่งที่เรารู้เกี่ยวกับ RS485 กัน มันเร็วกว่าและหลากหลายกว่า RS232 รุ่นเก่ามาก
ผู้ใช้สามารถใช้สายเคเบิลที่ยาวกว่าได้สูงถึง 1200 เมตรหรือ 4000 ฟุต
คุณลักษณะที่ดีที่สุดของ RS485 คือคุณสามารถเชื่อมต่ออุปกรณ์ได้ถึง 32 เครื่องในระบบเดียว RS232 สามารถจัดการได้ครั้งละหนึ่งรายการเท่านั้น
ไม่มีตัวเชื่อมต่อมาตรฐานสำหรับโปรโตคอล ผู้ผลิตส่วนใหญ่ยังคงใช้ตัวเชื่อมต่อ DB-9
คุณยังสามารถใช้แถบเทอร์มินัลได้ง่ายๆ ทำให้การใช้ RS485 เป็นเรื่องง่าย โดยรวมแล้ว RS485 อนุญาตให้ใช้ระบบอัตโนมัติเต็มรูปแบบด้วยความสามารถในการเชื่อมต่ออุปกรณ์จำนวนมากพร้อมกัน
RealPars หวังว่าคุณจะพบว่ามันน่าสนใจ และคุณจะกลับมาดูบล็อกเพื่อการศึกษาเพิ่มเติมของเรา แบ่งปันความคิดและความคิดของคุณโดยตรงในความคิดเห็น
----------------------------------------------------------------------------------------------------------------------------
1.ชื่อขาและหน้าที่ต่างๆ ของ muc arduino nano
Arduino Nano
เป็นบอร์ดขนาดจิ๋ว ซึ่งมีความสามารถในการประมวลผลเหมือนกับรุ่น UNO แต่มีจำนวน input/output น้อยกว่าเพราะต้องการให้มีขนาดเล็ก เวลาใช้งานอาจจะต่อกับ Prototype Board หรือ ต่อเชื่อมกับ PCB ที่สร้างขึ้นใช้งานเฉพาะกิจได้ และเช่นเดียวกับบอร์ด Arduino รุ่นอื่่น Arduino Nano สามารถโปรแกรมได้โดยตรงผ่าน USB port โดย "ไม่ต้องใช้อุปกรณ์แยกต่างหากเพื่อ Upload โปรแกรม"
|
ภาพที่ 1 ชื่อขาและหน้าที่ต่างๆ ของ muc arduino nano |
2. หลักการทำงานของโปรโตคอล UART
UART หรือ Universal Asynchronous Receiver and Transmitter เป็นการสื่อสารข้อมูลผ่านพอร์ตอนุกรมแบบอะซิงโครนัส (asynchronous serial communication) ระหว่างอุปกรณ์ต่าง ๆ ซึ่งนิยมใช้เป็นการสื่อสารระหว่างไมโครคอนโทรลเลอร์ด้วยกัน การทำงานแบบอะซิงโครนัสหมายความว่าจะไม่มีสัญญาณนาฬิกา (clock signal) ส่งออกมาจากตัวส่งหรือตัวรับเพื่อกำหนดจังหวะการรับส่งข้อมูล แต่จะกำหนดผ่านโดยการตั้งความเร็วในการรับส่งข้อมูลของอุปกรณ์
การทำงาน
UART จะมีการสื่อสารระหว่างอุปกรณ์เพียงสองชิ้นเท่านั้น ซึ่งได้แก่ตัวส่ง (transmitter) และตัวรับ (receiver) และยังเป็นแบบฟูลดูเพล็กซ์ (full duplex) สามารถสื่อสารได้สองทิศทางในเวลาเดียวกัน
การกำหนดจังหวะการรับส่งข้อมูลสามารถทำได้ผ่านการเพิ่มบิตเริ่มต้น (start bit) และบิตปิดท้าย (stop bit) ลงไปในข้อมูล บิตเหล่านี้จะทำหน้านี้เป็นตัวบ่งบอกถึงจุดเริ่มต้นและจุดจบของข้อมูลที่จะส่งออกไป ซึ่งจะทำให้ตัวรับรู้ว่าจะต้องเริ่มอ่านข้อมูลดังกล่าวได้เมื่อใด เมื่อตัวรับสามารถตรวจจับบิตเริ่มต้นได้ ตัวรับจะเริ่มอ่านบิตที่ตามมาด้วยความถี่ที่เรียกว่าอัตราบอด (baud rate) ทั้งตัวรับและตัวส่งจะต้องทำงานในอัตราบอดเดียวกัน หรือต้องมีค่าคลาดเคลื่อนไม่สูงกว่า 10 เปอร์เซ็นต์เท่านั้น อัตราบอดที่นิยมใช้จะอยู่ที่ 9,600 บิตต่อวินาที
|
ภาพที่ 2 หลักการทำงานของโปรโตคอล UART |
ข้อมูลที่ส่งผ่าน UART จะถูกจัดระเบียบให้เป็นแพ็กเก็ต (packet) แต่ละแพ็กเก็ตจะประกอบด้วยบิตเริ่มต้น 1 ตัว (start bit) บิตข้อมูล 5 ถึง 9 ตัว (data bit) บิตพาริตี 0 ถึง 1 ตัว (parity bit) และบิตปิดท้าย (stop bit) 1 หรือ 2 ตัว
ส่วนใหญ่แล้ว สายสื่อสารแบบ UART จะมีศักย์ไฟฟ้าสูงเมื่อไม่ได้ส่งข้อมูล หากผู้ใช้ต้องการส่งข้อมูลแล้ว ตัวส่งจะดึงศักย์ไฟฟ้าลงใน 1 รอบสัญญาณนาฬิกา เมื่อตัวรับตรวจจับการเปลี่ยนแปลงในความต่างศักย์ไฟฟ้าได้ ตัวรับจะเริ่มอ่านบิตที่เหลือตามมา โดยจะเริ่มอ่านบิตที่มีนัยสำคัญต่ำสุด (least significant bit) ก่อนเป็นส่วนมาก
เมื่อตัวส่งตรวจจับบิตปิดท้ายได้ ตัวส่งจะดันศักย์ไฟฟ้าในสายสื่อสารให้สูงขึ้นดังเดิมในระยะเวลาขั้นต่ำที่ 2 ระยะบิต
3. หลักการทำงานของโปรโตคอล I2C
I2C เป็นโปรโตคอลการสื่อสารแบบอนุกรมที่ต้องการเฉพาะสายสัญญาณสองเส้นเท่านั้น
ถูกออกแบบมาสำหรับการสื่อสารระหว่างชิปบน PCB I2C ถูกออกแบบมาสำหรับการสื่อสารความเร็ว 100kbps แต่ความเร็วในการรับส่งข้อมูลได้รับการพัฒนาขึ้นในช่วงหลายปีเพื่อให้ได้ความเร็วสูงสุดถึง 3.4Mbit โปรโตคอล I2C ได้รับการจัดตั้งขึ้นตามมาตรฐานอย่างเป็นทางการซึ่งให้ความเข้ากันได้ดีระหว่างการใช้งาน I2C และความสามารถในการทำงานร่วมกันได้ดี
สัญญาณ I2C
โปรโตคอล I2C ใช้สายสัญญาณสองทิศทางเพียงสองเส้นเพื่อสื่อสารกับอุปกรณ์ทั้งหมดบนบัส I2C สองสัญญาณที่ใช้คือ
-สายข้อมูลแบบอนุกรม (SDL)
-นาฬิกาข้อมูลอนุกรม (SDC)
ภาพที่ 3 หลักการทำงานของโปรโตคอล I2C
ข้อดี
-I2C ต้องใช้สายสัญญาณเพียงสองเส้นเท่านั้น
-อัตราการส่งข้อมูลที่ยืดหยุ่น
-อุปกรณ์แต่ละตัวบนรถบัสสามารถระบุตำแหน่งได้โดยอิสระ
-อุปกรณ์มีความสัมพันธ์ Master / Slave ที่เรียบง่าย
-การสื่อสารทางไกลกว่า SPI
-I2C มีความสามารถในการจัดการการสื่อสารระดับต้นแบบหลายโดยการให้การวินิจฉัยการชนกันของอนุญาโตตุลาการและการสื่อสาร
การสื่อสารทางไกลกว่า SPI
4. หลักการทำงานของ โปรโตคอล SPI
การสื่อสารแบบ SPI
การสื่อสารระหว่าง Arduino กับเซ็นเซอร์หรืออุปกรณ์ต่าง ๆ ก็คงเป็น SPI ย่อมาจาก Serial Peripheral Interface เป็นการสื่อสารในระยะสั้น ๆ (ระยะทางของสายเชื่อมต่อไม่เกิน 10 ฟุต = ประมาณ 3 เมตร
|
ภาพที่ 4 การสื่อสารแบบ SPI |
SCK - Serial Clock คือสัญญาณนาฬิกาที่ถูกส่งออกจาก Master เพื่อเป็นสัญญาณอ้างอิงในการทำงาน
MOSI - Master Out Slave In คือสัญญาณข้อมูลที่ถูกส่งออกจาก Master ไปเข้ายัง Slave
MISO - Master In Slave Out คือสัญญาณข้อมูลที่ถูกส่งออกจาก Slave ไปยัง Master
SS - Select Slave สัญญาณเลือก Slave (แบบ Active LOW)
|
ภาพที่ 4.1 การสื่อสารแบบ SPI |
ข้อดีของการใช้ SPI
- เป็นการสื่อสารแบบ Full-Duplex ทำให้สามารถส่งสัญญาณสวนทางกันได้ทันที
- ส่งด้วย Push-Pull drivers ทำให้สัญญาณชัดเจนและมีความเร็วสูง
- อัตราการส่งข้อมูลสูงไม่จำกัดความเร็วของสัญญาณนาฬิกา
- มีความยืดหยุ่นในการรับส่งข้อมูล ไม่จำกัดข้อมูลเพียงแค่ 8-bit
- ใช้พลังงานน้อยกว่าแบบ I2C และ SMBus ตัว Slave ไม่ต้องมีอุปกรณ์ Oscillator
- Slave ไม่ต้องมี Address ประจำตัว
- ไม่ต้องใช้วงจรรับส่งเหมือน CAN BUS
- ใช้สัญญาณ SS แยกกันใน Slave
- สัญญาณในสายแต่ละเส้นเดินในทิศทางเดียว
- การเขียนโปรแกรมทำได้ง่าย
ข้อเสียของ SPI
- ใช้สายสัญญาณมากกว่า I2C
- จำเป็นต้องใช้ SS ในการเลือกอุปกรณ์ขึ้นมาทำงาน
- Slave ไม่สามารถกำหนดการไหลของการทำงานได้ ทั้งหมดจะขึ้นอยู่กับ Master
- ไม่มีการตอบรับจาก Slave Hardware
- รองรับให้มี Master เพียงแค่ตัวเดียว
- ไม่มีการตรวจสอบความผิดพลาดของสัญญาณ
- ไม่สามารถตรวจสอบความสอดคล้องของข้อมูลได้
- สามารถรับส่งข้อมูลได้ในระยะสั้นเท่านั้น
- ไม่สามารถทำ hot swapping ได้
5. หลักการทำงานของ โปรโตคอล ONE WIRE
1-Wireคือการสื่อสารอุปกรณ์ระบบบัสรับการออกแบบโดยดัลลัสเซมิคอนดักเตอร์คอร์ปที่ให้
(16.3 กิโลบิต / วินาทีความเร็วต่ำ[1] ) ข้อมูลการส่งสัญญาณและมีอำนาจเหนือคนเดียวตัวนำ
1-Wire มีแนวคิดคล้ายกับI²Cแต่มีอัตราข้อมูลที่ต่ำกว่าและมีช่วงที่ยาวกว่า โดยทั่วไปจะใช้เพื่อสื่อสารกับอุปกรณ์ขนาดเล็กราคาไม่แพงเช่นเครื่องวัดอุณหภูมิดิจิตอลและเครื่องมือวัดสภาพอากาศ เครือข่ายของอุปกรณ์สาย 1 กับอุปกรณ์หลักที่เกี่ยวข้องเรียกว่าMicroLAN
|
ภาพที่ 5 หลักการทำงานของ โปรโตคอล ONE WIRE |
อุปกรณ์ 1-Wire สามารถใส่ในที่ต่างๆในระบบได้
อาจเป็นส่วนประกอบหลายอย่างบนแผงวงจรภายในผลิตภัณฑ์
นอกจากนี้ยังอาจเป็นส่วนประกอบเดียวในอุปกรณ์เช่นหัววัดอุณหภูมิ
อาจเชื่อมต่อกับอุปกรณ์ที่กำลังตรวจสอบ บางระบบห้องปฏิบัติการเชื่อมต่อกับอุปกรณ์ 1-Wire
ใช้สายเคเบิลที่มีการเชื่อมต่อแบบแยกส่วนหรือCAT-5สายเคเบิล
ในระบบดังกล่าวนิยมใช้RJ11 (6P2C หรือ 6P4C modular plugsสำหรับโทรศัพท์)
---------------------------------------------------------------------------------------------------------------------------
แหล่งอ้างอิง
https://shorturl.asia/oBWkr
https://shorturl.asia/GeySR
https://realpars.com/wp-content/uploads/2018/10/RS485-Maximum-Cable-Length.png
https://realpars.com/wp-content/uploads/2018/10/RS485-Terminal-Strips.png
https://realpars.com/wp-content/uploads/2018/10/RS485-and-VFD.png
https://realpars.com/wp-content/uploads/2018/10/RS485-Application.png
https://shorturl.asia/tmzIK
https://blog.thaieasyelec.com/wp-content/uploads/2020/08/161_00_intro.jpg
https://th.wikipedia.org/wiki/UART
https://th.go-travels.com/48271-overview-of-i2c-819001-1009150
https://dy.lnwfile.com/_/dy/_raw/rh/n2/qw.png
https://fu.lnwfile.com/_/fu/_raw/v6/g4/b9.jpg
https://shorturl.asia/rq4Fx
https://hmong.in.th/wiki/1-Wire
https://www.rfwireless-world.com/images/1-wire-protocol-interface.jpg