ดิว.นินจา

ดิว.นินจา

Wednesday, December 26, 2018

แนะนำหนังสือ "ระบบควบคุมและอินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง"

ปัจจุบันอินเทอร์เน็ตเข้ามามีบทบาทอย่างมากในชีวิตประจำวันของมนุษย์ การพัฒนาอุปกรณ์ต่างๆ ให้สามารถเชื่อมต่อกับเครือข่ายได้จะช่วยให้สามารถทำงานตอบสนองความต้องการของผู้ใช้ได้อย่างชาญฉลาด เช่นการสั่งงานและแสดงผลจากระยะไกล การตรวจสอบสถานะสินค้าโดยอัตโนมัติ การติดตามตำแหน่งผ่านระบบ GPS เป็นต้น ได้มีการบัญญัติศัพท์ที่ใช้เรียกอุปกรณ์เหล่านี้ว่า Internet of Things (IoT) หรือเรียกชื่อภาษาไทยว่า “อินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง” ซึ่งใช้ในชื่อหนังสือ โดยจะใช้ตัวย่อ IoT เป็นหลักเพื่อความกระชับ

อย่างไรก็ตามแนวคิดการออกแบบสร้างอุปกรณ์ IoT นั้นสามารถมีได้หลากหลาย จากการสำรวจพบว่าในบรรดาเอกสารและข้อมูลในเว็บไซต์ส่วนใหญ่จะกล่าวถึงการตรวจเฝ้า (monitoring) หรืองานควบคุมพื้นฐานในลักษณะ ON/OFF เป็นหลัก ตัวอย่างเช่นการแสดงค่าอุณหภูมิและความชื้น การปิด/เปิดหลอดไฟ หรือสั่งเปิดเครื่องปรับอากาศที่บ้าน แต่ในงานอุตสาหกรรมหลายประเภทต้องการการควบคุมที่ซับซ้อนกว่า โดยต้องการวัดค่าและป้อนกลับสัญญาณเพื่อความถูกต้องแม่นยำ เช่นระบบควบคุมตำแหน่ง ความเร็ว ความเร่ง ในเครื่องจักรกลอัตโนมัติ งานควบคุมระดับของเหลว หรือกระบวนการทางเคมี

หนังสือ "ระบบควบคุมและอินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง" รวบรวมประสบการณ์ที่ได้จากการสอนและวิจัยด้านระบบควบคุมของผู้เขียน ผสมผสานเข้ากับนวัตกรรมของ IoT เพื่อพัฒนาตัวควบคุมที่เสถียรและมีสมรรถนะตามความต้องการของผู้ใช้ และสามารถเชื่อมต่ออินเทอร์เน็ตเพื่อแสดงผล ส่งคำสั่งอ้างอิง และปรับพารามิเตอร์ควบคุมจากระยะไกล พลานต์ที่ใช้ทดลองในหนังสือเป็นการจำลองระบบจริงโดยวงจรอิเล็กทรอนิกส์ทำให้สามารถสร้างได้โดยง่าย เมื่อผู้พัฒนามีความเข้าใจถึงหลักการและโครงสร้างของอัลกอริทึมตัวควบคุมก็สามารถนำไปประยุกต์ใช้กับระบบจริงได้ โดยอาจเพิ่มเติมส่วนฮาร์ดแวร์/ซอฟต์แวร์เพื่อความปลอดภัยของระบบและเพื่อให้ใช้งานง่ายขึ้น

ฮาร์ดแวร์สำหรับพัฒนาอุปกรณ์

การที่อุปกรณ์จะสามารถเชื่อมต่อเครือข่ายและประมวลผลข้อมูลได้ ระบบจะต้องประกอบด้วยส่วนสมอง คือตัวประมวลผลกลาง (Central Processing Unit หรือ CPU) ที่ถูกโปรแกรมให้ทำงานเฉพาะตามหน้าที่ของอุปกรณ์นั้น โดยมักจะมีข้อจำกัดด้านขนาด พลังงาน ทรัพยากร อุปกรณ์ดังกล่าวถูกจัดรวมอยู่ในกลุ่มที่เรียกว่า ระบบสมองกลฝังตัว (embedded systems) หรือเรียกโดยย่อว่า ระบบฝังตัว สำหรับอุปกรณ์ที่ผลิตจำนวนมากโดยบริษัทขนาดใหญ่อาจใช้ซีพียูที่เป็นแบบ Application-Specific Integrated Circuits หรือ ASIC เพื่อลดต้นทุนการผลิต แต่สำหรับผู้พัฒนาทั่วไปมักนิยมใช้ผลิตภัณฑ์ไมโครคอนโทรลเลอร์ (หรือ FPGA/CPLD) ที่มีจำหน่ายตามท้องตลาด

ฮาร์ดแวร์ที่เหมาะสมมีหลายผลิตภัณฑ์ให้เลือกใช้ได้ โดยอาจเลือกแนวทางเพิ่มโมดูลสื่อสารให้กับไมโครคอนโทรลเลอร์ที่เรามีความชำนาญและมีอยู่แล้วก็ได้ แต่เมื่อคำนึงถึงปัจจัยโดยรวมด้านความสะดวกในการเรียนรู้และพัฒนา ค่าใช้จ่าย และการสรรหาอุปกรณ์ ในหนังสือจะใช้โมดูล ESP8266 และ ESP32 จากบริษัท Espressif Systems ที่มีตัวประมวลผลขนาด 32 บิต และโมดูล WiFi อยู่บนชิพแล้ว ทำให้ช่วยลดจำนวนอุปกรณ์ภายนอกลงได้มาก และยังมีทรัพยากรและสมรรถนะเหนือกว่าไมโครคอนโทรลเลอร์ระดับกลางจากหลายบริษัท ข้อดีอีกประการหนึ่งคือสามารถหาบอร์ดพัฒนาที่ใช้งานร่วมกับซอฟต์แวร์ Arduino IDE ได้ ทำให้ผู้ที่มีความคุ้นเคยกับ Arduino สามารถเริ่มต้นได้อย่างรวดเร็ว

ตัวอย่างในหนังสือเลือกใช้ผลิตภัณฑ์ที่สามารถหาได้ง่ายในประเทศไทย (ที่มีวางจำหน่ายในขณะที่เขียนหนังสือ) และมีราคาเหมาะสมสำหรับผู้เริ่มต้น อย่างไรก็ตามหากผู้อ่านที่มีบอร์ดจากบริษัทผู้ผลิตรายอื่น ก็สามารถทดลองตัวอย่างตามหนังสือได้ เพียงแต่ตรวจสอบขาสัญญาณบนบอร์ดให้ถูกต้อง และเลือกบอร์ดใน Arduino IDE ให้ตรงกับที่ใช้งาน ปัจจุบันมีผลิตภัณฑ์ใหม่ที่น่าสนใจออกสู่ตลาดเช่นบอร์ด Node32 Lite จาก Ayarafun/LamLoei ผลิตโดยคนไทยดังแสดงในตัวอย่างด้านล่าง

วงจรจำลองระบบถังน้ำ 3 ระดับ

หนังสือ "ระบบควบคุมและอินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง" มีต้นกำเนิดมาจากคู่มือประกอบการฝึกอบรมที่ผู้เขียนจัดขึ้น โดยได้สร้างบอร์ดวงจรอิเล็กทรอนิกส์ตั้งชื่อว่า LAG3 เพื่อจำลองการควบคุมอัตราไหลของระบบถังน้ำ 3 ระดับ หัวใจหลักของวงจรคืออุปกรณ์ RC ต่อกัน 3 ภาค มีออปแอมป์เป็นบัฟเฟอร์เพื่อให้ได้ฟังก์ชันถ่ายโอนตามที่กำหนด อย่างไรก็ตามผู้อ่านทั่วไปที่ไม่มีบอร์ดดังกล่าวก็ยังสามารถทำการทดลองได้โดยเสียบอุปกรณ์ R และ C 3 ภาคลงบนบอร์ดทดลองตามวงจรดังนี้

เหตุผลที่ต้องใช้หลายภาคเพื่อต้องการให้เป็นพลานต์อันดับสูงที่ควบคุมยากขึ้น (หากต้องการทดสอบการทำงานขั้นพื้นฐานหรือศึกษาด้าน IoT อย่างเดียวอาจจะลดเหลือเป็นวงจร RC ภาคเดียวก็ได้) สังเกตว่าเมื่อไม่มีออปแอมป์คั่นระหว่างภาค ค่าของฟังก์ชันถ่ายโอนจะเปลี่ยนไป (โจทย์ปัญหาข้อ 1-3) รูปด้านล่างแสดงการต่อวงจรบนโปรโตบอร์ด เลือกค่า R = 10 กิโลโอห์ม C = 100 ไมโครฟารัด โมดูล ESP32 ที่ใช้คือ Node32 Lite จากบริษัท AyaraFun/LamLoei โดยต่อ Vi กับ PWM Output ขา GPIO16 และ Vo กับ GPIO39 (ADC3)

เมื่อทดลองรันโปรแกรม lag3_freertos.ino จากบทที่ 8 พบว่าสามารถสื่อสารข้อมูลกับ NETPIE ได้เช่นเดียวกับการใช้บอร์ด LAG3

การใช้งาน FreeRTOS บน ESP32

เนื้อหาที่น่าสนใจอีกส่วนหนึ่งที่ยังไม่พบการอธิบายอย่างละเอียดโดยหนังสือเล่มอื่นในท้องตลาด คือ การใช้ไลบรารี FreeRTOS บน ESP32 ที่มีข้อได้เปรียบสำคัญคือสามารถกำหนดคอร์ประมวลผลให้กับทาสก์ได้ ช่วยให้โปรแกรมทำงานแบบมัลติทาสก์แท้ (true multitasking) ตัวอย่างเช่นให้อัลกอริทึมควบคุมทำงานบนคอร์หมายเลข 0 อย่างเป็นอิสระโดยไม่มีการอินเทอร์รัพท์เพื่อสมรรถนะการควบคุมสูงสุด งานอื่นทั้งหมดถูกกำหนดให้รันบนคอร์หมายเลข 1

การควบคุมการเคลื่อนที่

นอกจากการควบคุมระบบถังน้ำจำลองที่กล่าวถึงแล้ว บทที่ 9 ในหนังสือยังได้กล่าวถึงการใช้ ESP32 ในงานควบบคุมการเคลื่อนที่ซึ่งต้องอาศัยตัวควบคุมที่มีอัตราการสุ่มสูงกว่า และการควบคุมพลวัตมากกว่า 1 แกน ยกตัวอย่างการสร้างแขนกล 2 ก้านต่ออย่างง่ายควบคุมโดยดีซีมอเตอร์และมีการป้อนกลับจากเอนโคเดอร์เพื่อป้อนกลับค่าตำแหน่งของแต่ละข้อต่อ สามารถควบคุมและแสดงผลผ่าน NETPIE นอกจากแขนกลแล้วยังกล่าวถึงการอ่านค่าจากเซนเซอร์วัดแรงและความเร่ง ไจโร และสนามแม่เหล็ก

การสื่อสารข้อมูลผ่าน WiFi และอินเทอร์เน็ต

ในหนังสืออธิบายการรับส่งข้อมูลโดยอาศัยเครือข่าย WiFi ใน 2 รูปแบบ คือ server mode ที่สามารถเชื่อมต่ออุปกรณ์กับเครื่องคอมพิวเตอร์หรือโทรศัพท์ได้โดยไม่ต้องผ่านอินเทอร์เน็ต และ client mode ที่จะยกตัวอย่างการแสดงและเก็บข้อมูลโดยใช้บริการของ ThinkSpeak โดยไม่มีการควบคุม และการใช้ NETPIE พัฒนาโดย NECTEC ที่มีข้อได้เปรียบคือเป็นบริการคลาวด์ภายในประเทศทำให้อัตราการรับส่งข้อมูลที่แน่นอนและเชื่อถือได้ ในบทที 5 – 6 ได้อธิบายการสร้าง NETPIE Freeboard เพื่อการแสดงผลและควบคุมโดยอาศัย widgets ประเภทต่างๆ และใช้ NETPIE Feed สำหรับเก็บข้อมูลฐานเวลาเพื่อการวิเคราะห์ ส่วนในบทที่ 10 กล่าวถึงการใช้ NETPIE Mobile App สำหรับควบคุมจากโทรศัพท์มือถือหรือแทบเล็ต และเขียนโปรแกรมเพื่อการแจ้งเตือนเหตุการณ์สำคัญตามที่กำหนด

ด้านล่างแสดงภาพตัวอย่างจากด้านในหนังสือ

เพจหลักของหนังสือ "ระบบควบคุมและอินเทอร์เน็ตเชื่อมต่อสรรพสิ่ง" สำหรับดาวน์โหลดโปรแกรม

1 comment:

  1. Playtech launches new slots suite with new games | JTM Hub
    Playtech's latest slots suite with new 충청북도 출장안마 games 광명 출장마사지 Playtech's latest slots suite 논산 출장샵 with new games · Playtech, Live Casino, 속초 출장마사지 and 충주 출장안마 Live Blackjack · Playtech Slots

    ReplyDelete

แนะนำหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266”

ปัจจุบันเมื่อกล่าวถึงอุปกรณ์ IoT (Internet of Things) คงมีน้อยคนที่จะไม่รู้จัก ในยุคที่การเข้าถึงอินเทอร์เน็ตเป็นกิจวัตรประจำวันของมนุษย์เ...