ดิว.นินจา

ดิว.นินจา

Wednesday, July 12, 2017

บอร์ดจำลองพลวัตของดีซีมอเตอร์

ดีซีมอเตอร์ (DC motors) เป็นอุปกรณ์ตัวขับเร้า (actuators) ที่นิยมใช้ในระบบควบคุมการเคลื่อนที่พื้นฐาน เช่นเครื่องซีเอ็นซีหรือแขนกลขนาดเล็ก มีข้อดีหลายประการเช่น พลวัตที่ง่ายต่อการโมเดล มีขนาดเล็ก ไม่ต้องการชุดขับที่ซับซ้อน และราคาไม่สูงมาก ทำให้มีความเหมาะสมเป็นอย่างยิ่งสำหรับการทดลองในห้องปฏิบัติการของสถานศึกษาหรือแผนกวิจัยของภาคเอกชน

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

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

ปัญหาเหล่านี้เป็นแรงจูงใจในการพัฒนาบอร์ดจำลองพลวัตของดีซีมอเตอร์โดยระบบสมองกลฝังตัว (embedded system) ที่จะให้ผลตอบสนองเช่นเดียวกับมอเตอร์จริงโดยปราศจากส่วนเคลื่อนที่เชิงกล โดยค่าพารามิเตอร์ที่ถูกเก็บใน EEPROM สามารถปรับได้เพื่อเปลี่ยนแปลงพลวัตของมอเตอร์ ซึ่งสามารถเลือกได้ระหว่างโมเดลดีซีมอเตอร์พื้นฐาน (DCM) หรือแบบเชื่อมต่อกับชุดขับฮาร์มอนิก (Harmonic Drive Motor เรียกโดยย่อว่า HDM) ตั้งชื่อบอร์ดนี้ว่า E-Motor Simulator Module รหัสย่อ EM โดยปัจจุบันเป็นรุ่นเริ่มต้น คือ EM1 ดังแสดงในรูปที่ 1

รูปที่ 1 ด้านบนของบอร์ด EM1

ในช่วงเริ่มต้นการพัฒนา ได้สร้างบอร์ด CM1 (Controller Module 1) เพื่อใช้งานร่วมกับบอร์ด EM1 การเชือมต่อผ่านคอนเนกเตอร์ดังในรูปที่ 2 ซึ่งสามารถใช้งานได้ตามวัตถุประสงค์ ไมโครคอนโทรลเลอร์ที่ใช้บนบอร์ดเป็นรุ่น PIC24EP ซึ่งเป็นตัวประมวลผล 16 บิตที่มีสมรรถนะสูง

รูปที่ 2 การใช้งานบอร์ด EM1 ร่วมกับ CM1

บอร์ด CM1 มีส่วนเฟิร์มแวร์บนบอร์ดที่เหมาะสมสำหรับการศึกษาระบบควบคุมพื้นฐาน เช่นการปรับแต่งพารามิเตอร์ PID หรือการอิมพลิเมนต์ตัวควบคุมเชิงเส้น แต่หากต้องการเขียนอัลกอริทึมที่มีโครงสร้างแตกต่างออกไปเช่น Fuzzy Logic จะต้องแก้ไขซอร์สและดาวน์โหลดผ่านตัวโปรแกรมเมอร์ของ Microchip โดยข้อจำกัดนี้ผู้พัฒนาจึงได้สร้างบอร์ดเสริมเพื่อทำให้ EM1 สามารถใช้งานร่วมกับบอร์ด Arduino และ ESPino (ผลิตภัณฑ์ของบริษัท ThaiEasyElec) ได้

เนื้อหาด้านล่างเป็นการแนะนำบอร์ด EM1 รายละเอียดในการพัฒนาส่วนซอฟต์แวร์สามารถอ่านได้จากบทที่ 6 ของหนังสือ “ระบบควบคุมฝังตัว”

วิธีการฮาร์ดแวร์ในวง

ในการพัฒนาและทดสอบระบบควบคุมฝังตัวที่มีความซับซ้อน แนวทางหนึ่งที่นิยมใช้รู้จักกันในชื่อ ฮาร์ดแวร์ในวง (Hardware-in-the-loop) หรือเรียกโดยย่อว่า HIL วิธีการนี้จะใช้ตัวแทนโมเดลทางคณิตศาสตร์ของพลานต์ในการจำลองการทำงาน โดยตัวควบคุมหรือระบบอื่นๆ ที่ต่อเชื่อมจะทำงานร่วมกับพลานต์จำลองนี้ อุตสาหกรรมหลายประเภทประสบความสำเร็จในการใช้ HIL ช่วยในการพัฒนา เช่น อุตสาหกรรมยานยนต์ สรุปข้อดีของการใช้ HIL ได้ดังนี้

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

บอร์ด EM1 เป็นตัวอย่างหนึ่งของการใช้วิธี HIL เพื่อแก้ไขปัญหาต่างๆ ที่กล่าวถึงแล้วในช่วงต้น

การอิมพลิเมนต์โมเดลของมอเตอร์

หัวใจสำคัญของ EM1 คือการอิมพลิเมนต์โมเดลของมอเตอร์ทั้งแบบ DCM และ HDM ในส่วนซอฟต์แวร์ของสมองกลฝังตัว มีขั้นตอนดังนี้

  • ศึกษาโมเดลเชิงฟิสิกส์ของมอเตอร์ทั้งแบบ DCM และ HDM สามารถหาพลวัตในโดเมนเวลาจากสมการอนุพันธ์ของระบบไฟฟ้าและระบบเชิงกล
  • ใช้การแปลงลาปลาซในการหาโมเดลในรูปฟังก์ชันถ่ายโอนในระบบเวลาต่อเนื่อง (continuous-time transfer function) จำลองการทำงานเบื้องต้น
  • แปลงเป็นฟังก์ชันถ่ายโอนในระบบเวลาดีสครีต (discrete-time transfer function) จำลองเพื่อเปรียบเทียบผลตอบสนอง
  • แปลงเป็นอัลกอริทึมภาษา C เพื่ออิมพลิเมนต์บนบอร์ด EM1
  • เปรียบเทียบข้อมูลที่ได้จากบอร์ดกับผลการจำลองบน PC

ซอฟต์แวร์ที่ใช้ในการวิเคราะห์และจำลองโมเดลคือ Scilab (scilab enterprises) ส่วนซอฟต์แวร์ MPLAB X (Microchip) ใช้ในการโหลดโปรแกรมลงบนบอร์ด ทั้งหมดเป็นแบบโอเพนซอร์สที่สามารถดาวน์โหลดได้ฟรีจากเว็บไซต์ของผู้ผลิต รูปที่ 3 แสดงภาพรวมของการอิมพลิเมนต์ส่วนซอฟต์แวร์

รูปที่ 3 การอิมพลิเมนต์โมเดลของมอเตอร์

GUI สำหรับใช้งานร่วมกับ Scilab

ช่องทางหลักสำหรับรับส่งข้อมูลระหว่างบอร์ดตัวควบคุมทั้งกรณีใช้บอร์ด CM1 และ Arduino คือพอร์ตอนุกรม ผู้ใช้สามารถพัฒนาส่วนติดต่อผู้ใช้เองบนซอฟต์แวร์ Scilab หรือ MATLAB หรือแบบ standalone บน PC ได้โดยง่ายโดยใช้คำสั่ง ไลบรารี หรือ toolbox สำหรับสื่อสารพอร์ตอนุกรม เพื่อเป็นตัวอย่างเราได้ออกแบบ GUI บน Scilab ดังแสดงในรูปที่ 4 ซึ่งมีฟังก์ชันปรับแต่งตัวควบคุม PID โดยผู้ใช้หรืออัตโนมัติ การหาเอกลักษณ์ระบบโดยวิธี Least-square จนถึงการสังเคราะห์ตัวควบคุมสมัยใหม่

รูปที่ 4 GUI สำหรับติดต่อกับบอร์ดตัวควบคุมบน Scilab

บอร์ดเสริมสำหรับใช้งานร่วมกับ Arduino และ ESPino

สำหรับนักวิจัยที่ต้องการอิมพลิเมนต์ตัวควบคุมที่มีโครงสร้างแตกต่างจากที่บอร์ด CM1 รองรับ สามารถใช้บอร์ดเสริมในรูปที่ 5 เพื่อแปลงบอร์ด EM1 เป็นชิลด์ของ Arduino ได้ โดยบนบอร์ดจะมี EEPROM 24LC128 สำหรับเก็บค่าพารามิเตอร์ คอนเนกเตอร์สำหรับ OLED 128 x 64 แบบ i2c และ RGB LED อเนกประสงค์

รูปที่ 5 บอร์ดเสริมสำหรับใช้งานร่วมกับ Arduino

รูปที่ 6 แสดงการต่อบอร์ด ESPino เข้ากับคอนเนกเตอร์ทางด้านล่างของบอร์ดเสริม EM1 จะอาศัยไฟเลี้ยง 3.3 โวลต์จากบอร์ด ESPino

รูปที่ 6 คอนเนกเตอร์ด้านล่างของบอร์ดเสริมสำหรับเสียบบอร์ด ESPino

การเชื่อมต่อกับบอร์ด Arduino ทำได้โดยคอนเนกเตอร์ด้านล่างของบอร์ดเช่นเดียวกัน รูปที่ 7 แสดงการต่อกับบอร์ดรุ่น Arduino M0

รูปที่ 7 การเชื่อมต่อ EM1 กับบอร์ด Arduino M0 ผ่านบอร์ดเสริม

ข้อควรระวัง : บอร์ด EM1 สามารถใช้งานร่วมกับ ESPino, Arduino Zero, M0 และ M0 Pro หรือรุ่นอื่นใดที่มีระดับแรงดันเดียวกันคือ 3.3 โวลต์ และมี connector layout เหมือนกัน บอร์ด EM1 ใช้ไม่ได้กับ Arduino UNO R3 ที่ใช้ระดับแรงดัน 5 โวลต์!

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

กรณีที่ใช้บอร์ด ESPino เป็นตัวควบคุม จะสามารถใช้โมดูล WiFi บนบอร์ดในการสื่อสารแบบไร้สายผ่าน WiFi ได้ทุกวิธีที่อธิบายในหนังสือ “ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266” เช่นการแสดงผลและควบคุมผ่านบริการคลาวด์เช่น NETPIE ดังตัวอย่างในรูปที่ 8 อย่างไรก็ตามโดยข้อจำกัดของอัตราการรับส่งข้อมูลผ่านอินเทอร์เน็ตที่ค่อนข้างต่ำ การเก็บข้อมูลผลตอบสนองขั้นบันไดเพื่อวิเคราะห์และการหาโมเดลโดยวิธี Least Square ควรกระทำระหว่างบอร์ดกับเครื่อง PC ผ่านพอร์ตอนุกรม

รูปที่ 8 ตัวอย่างการใช้ Freeboard/Feed widgets บน NETPIE เพื่อแสดงผลและควบคุม

สรุป

การใช้บอร์ดจำลองพลวัตมอเตอร์ EM1 แทนอุปกรณ์มอเตอร์และชุดขับจริงมีข้อดีและข้อเสียดังนี้

ข้อดี ข้อเสีย
  1. ขนาดเล็ก เคลื่อนย้ายสะดวก เหมาะสำหรับการสาธิตในชั้นเรียนหรือการจัดอบรมนอกสถานที่
  2. ใช้แรงดันไฟเลี้ยงจากพอร์ต USB เป็นมิตรกับสิ่งแวดล้อม
  3. ปลอดภัยต่อผู้ทดลอง
  4. เหมาะสมกับการศึกษาการปรับแต่งพารามิเตอร์ตัวควบคุม หรือทดสอบอัลอกริทึมตัวควบคุมที่ออกแบบใหม่ทั้งแบบเชิงเส้นและไม่เป็นเชิงเส้น
  5. สามารถกำหนดและเปลี่ยนแปลงโมเดลคณิตศาสตร์ของมอเตอร์
  1. โมเดลทางคณิตศาสตร์ไม่สามารถเป็นตัวแทนของมอเตอร์จริงได้อย่างถูกต้อง 100%
  2. ส่งเอาต์พุตได้ทาง i2c และ PWM เท่านั้น การกำเนิดสัญญาณเอนโคเดอร์โดยซอฟต์แวร์ยังไม่สามารถใช้งานได้อย่างถูกต้อง
  3. ไม่มีเพลาสำหรับขับชิ้นส่วนทางกลได้เหมือนมอเตอร์จริง

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

เอกสารอ้างอิง

  1. วโรดม ตู้จินดา, ระบบควบคุมฝังตัว, สำนักพิมพ์มหาวิทยาลัยเกษตรศาสตร์. 2559.
  2. วโรดม ตู้จินดา, ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266, dew.ninja. 2560.
  3. Varodom Toochinda, Feedback Control with Scilab and Arduino, dew.ninja. 2016.

No comments:

Post a Comment

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

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