ดีซีมอเตอร์ (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 แทนอุปกรณ์มอเตอร์และชุดขับจริงมีข้อดีและข้อเสียดังนี้
ข้อดี |
ข้อเสีย |
ขนาดเล็ก เคลื่อนย้ายสะดวก เหมาะสำหรับการสาธิตในชั้นเรียนหรือการจัดอบรมนอกสถานที่
ใช้แรงดันไฟเลี้ยงจากพอร์ต USB เป็นมิตรกับสิ่งแวดล้อม
ปลอดภัยต่อผู้ทดลอง
เหมาะสมกับการศึกษาการปรับแต่งพารามิเตอร์ตัวควบคุม หรือทดสอบอัลอกริทึมตัวควบคุมที่ออกแบบใหม่ทั้งแบบเชิงเส้นและไม่เป็นเชิงเส้น
สามารถกำหนดและเปลี่ยนแปลงโมเดลคณิตศาสตร์ของมอเตอร์
|
โมเดลทางคณิตศาสตร์ไม่สามารถเป็นตัวแทนของมอเตอร์จริงได้อย่างถูกต้อง 100%
ส่งเอาต์พุตได้ทาง i2c และ PWM เท่านั้น การกำเนิดสัญญาณเอนโคเดอร์โดยซอฟต์แวร์ยังไม่สามารถใช้งานได้อย่างถูกต้อง
ไม่มีเพลาสำหรับขับชิ้นส่วนทางกลได้เหมือนมอเตอร์จริง
|
ผู้พัฒนาได้สร้างบอร์ดนี้เพื่อใช้ประกอบการสอนรายวิชาในสาขาวิศวกรรมไฟฟ้าเครื่องกลการผลิต คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์ และใช้ในการฝึกอบรมการเขียนโปรแกรม Arduino และการอิมพลิเมนต์ระบบป้อนกลับ โดยไม่มีจุดประสงค์ในการผลิตบอร์ดเชิงพาณิชย์ ไฟล์ Gerber สำหรับบอร์ด และซอฟต์แวร์จะถูกรวบรวมไว้ในหน้านี้หลังจากได้ทดสอบจนเป็นที่พอใจแล้ว
เอกสารอ้างอิง
วโรดม ตู้จินดา, ระบบควบคุมฝังตัว, สำนักพิมพ์มหาวิทยาลัยเกษตรศาสตร์. 2559.
วโรดม ตู้จินดา, ตัวควบคุมป้อนกลับบนอินเทอร์เน็ตโดย ESP8266, dew.ninja. 2560.
Varodom Toochinda, Feedback Control with Scilab and Arduino, dew.ninja. 2016.
No comments:
Post a Comment