
ระบบควบคุมเป็นวิชาที่มีพื้นฐานบนหลายสาขาด้านวิศวกรรมศาสตร์ โดยเฉพาะวิศวกรรมไฟฟ้าและเครื่องกล และในยุคดิจิทัลนี้หลีกเลี่ยงไม่ได้ที่จะเกี่ยวข้องกับคอมพิวเตอร์ค่อนข้างมาก ทั้งทางด้านการวิเคราะห์และออกแบบโดยซอฟต์แวร์ จนถึงการอิมพลีเมนต์บนระบบคอมพิวเตอร์เฉพาะที่มีทรัพยากรจำกัดที่เรียกว่า ระบบสมองกลฝังตัว (Embedded Systems) จึงเป็นที่มาของชื่อหนังสือ “ระบบควบคุมฝังตัว (Embedded Control Systems)” หนา 374 หน้า จัดทำโดยสำนักพิมพ์มหาวิทยาลัยเกษตรศาสตร์ โดยมีในรูปแบบ e-book และพิมพ์เป็นเล่มจำนวนจำกัด *
* จำหน่ายโดยผู้เขียน ราคาเล่มละ 350 บาท ค่าส่ง EMS 80 บาท สั่งซื้อได้ที่ ดิว.นินจา facebook page
จุดมุ่งหมายของหนังสือนี้คือใช้เป็นตำราหลักในรายวิชาที่เกี่ยวข้องกับการออกแบบและอิมพลิเมนต์ระบบควบคุมในงานอุตสาหกรรม ระดับปริญญาตรี สาขาวิศวกรรมไฟฟ้าเครื่องกลการผลิต และระดับปริญญาโท สาขาเทคโนโลยีการผลิตทางอุตสาหกรรม ที่ผู้เขียนรับผิดชอบเป็นผู้สอนอยู่ในปัจจุบัน
ตัวอย่างในหนังสือได้จากการทดลองจริงกับต้นแบบบอร์ดไมโครคอนโทรลเลอร์ ส่วนการวิเคราะห์และจำลองบนซอฟต์แวร์ Scilab นั้นก็ผ่านการทดสอบและแสดงข้อมูลจากผลที่ได้พร้อมอธิบาย โดยผู้อ่านสามารถดาวน์โหลดไฟล์ที่ใช้ได้จากเว็บประกอบหนังสือนี้ ดังนั้นท่านสามารถมั่นใจได้ว่าไม่มีข้อมูลใดที่ได้จากการ “มโน” อย่างแน่นอน
อย่างไรก็ตาม โดยเนื้อหาที่ถูกใช้เป็นตำราด้านวิศวกรรมศาสตร์ ทำให้หลายส่วนของหนังสือต้องอ้างอิงกับหลักการและทฤษฎีทางคณิตศาสตร์และทางด้านวิศวกรรมระบบควบคุม ซึ่งในชั้นเรียนผู้สอนมีโอกาสที่จะใช้เวลาลงรายละเอียดกับพื้นฐานที่จำเป็นเพื่อให้นิสิตสามารถเข้าใจได้ถ่องแท้ แต่ในการศึกษาด้วยตนเองสำหรับผู้เริ่มต้นอาจมีอุปสรรคอยู่บ้าง โดยเฉพาะบทที่ 9 ของหนังสือที่มีเนื้อหาบางส่วนอยู่ในระดับสูงกว่าปริญญาตรี ดังนั้นบทนี้จึงเหมาะสมเฉพาะกับผู้ศึกษาระดับบัณฑิตศึกษาหรือวิศวกรที่ทำงานเกี่ยวข้องกับการอิมพลีเมนต์ระบบควบคุมขั้นสูง
จากประสบการณ์ในการสอนและเป็นที่ปรึกษา/ประธานโครงงาน ปัญหาที่ผู้เขียนได้เรียนรู้จากนิสิตและนักวิจัย 2 กลุ่ม กลุ่มแรกมีความรู้และทักษะด้านไมโครคอนโทรลเลอร์เป็นอย่างดี สามารถเขียนโปรแกรมสั่งงานฮาร์ดแวร์ส่วนต่างๆ ให้ทำงานได้ แต่ขาดความรู้ด้านระบบควบคุม ไม่ทราบว่าจะเขียนอัลกอริทึมตัวควบคุม PID หรือปรับพารามิเตอร์อย่างไรให้ได้คุณสมบัติของระบบป้อนกลับตามต้องการ กลุ่มที่สองคือเก่งทฤษฎีด้านระบบควบคุมรวมถึงการใช้ผลิตภัณฑ์ซอฟต์แวร์วิเคราะห์ ออกแบบ และจำลองผลแต่ยังไม่เข้าใจการสร้างต้นแบบไมโครคอนโทรลเลอร์เพื่อใช้ในงานที่ต้องการได้ ยังต้องพึ่งผลิตภัณฑ์ฮาร์ดแวร์และซอฟต์แวร์ราคาแพง ผู้เขียนเลยมีความคิดว่าทำอย่างไรจึงจะประสานรอยต่อระหว่างทั้งสองกลุ่มนี้ได้ซึ่งต่อมากลายเป็นแนวทางของหนังสือเล่มนี้ คือมุ่งหวังให้ให้โปรแกรมเมอร์หรือนักพัฒนาระบบฝังตัวสามารถอิมพลีเมนต์ตัวควบคุมป้อนกลับได้อย่างมั่นใจ ขณะเดียวกันวิศวกรระบบควบคุมสามารถหลุดพ้นจากการใช้ผลิตภัณฑ์สำเร็จรูป ซึ่งนอกจากราคาสูงแล้วยังอาจมีเงื่อนไขทางลิขสิทธิ์ผูกมัดผลงานวิจัย หันมาพัฒนาฮาร์ดแวร์ของตนเองและอาศัยซอฟต์แวร์แบบโอเพนซอร์สแทน
แนวทางการออกแบบฮาร์ดแวร์
ในบทที่ 2 และ 7 ของหนังสือได้กล่าวถึงการออกแบบบอร์ดควบคุมฝังตัวโดยใช้ผลิตภัณฑ์ไมโครคอนโทรลเลอร์ของบริษัท Microchip ตัวอย่างในรูปที่ 1 คือบอร์ดควบคุมที่สร้างขึ้นโดยบัดกรีไมโครคอนโทรลเลอร์อุปกรณ์ลงบนแผ่น PCB อเนกประสงค์ ผู้เขียนได้ใช้ต้นแบบนี้ในตัวอย่างการอิมพลิเมนต์ตัวควบคุมในหนังสือ ซึ่งสามารถทำงานได้ถูกต้องตามต้องการทุกอย่างถึงแม้ว่าจะดูไม่สวยงาม การสร้างวงจรในลักษณะนี้มีความเหมาะสมในช่วงเริ่มต้นของการพัฒนาเพื่อทดสอบ

การพัฒนาซอฟต์แวร์บนบอร์ดจะอาศัยเครื่องมือ MPLAB X และคอมไพเลอร์ XC16 ที่มีเวอร์ชันดาวน์โหลดฟรีจากเว็บไซต์ของ Microchip อุปกรณ์ที่ต้องซื้อหามีเพียงตัวโหลดโปรแกรม ซึ่งผู้เขียนแนะนำ PICkit3 ที่มีขนาดเล็กและราคาไม่แพง รูปที่ 2 แสดงการใช้โน้ตบุกที่ติดตั้ง MPLABX + XC16 ในการพัฒนาและโหลดโปรแกรมลงบนบอร์ดผ่าน PICkit3

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

บทที่ 8 ของหนังสือได้สาธิตการใช้บอร์ดควบคุมในการสร้างชุดควบคุมดีซีมอเตอร์ดังในรูปที่ 4 อุปกรณ์ที่ต้องการเพิ่มเติมในส่วนนี้คือตัวมอเตอร์ที่มีเอนโคเดอร์ และชุดขับมอเตอร์ที่รับสัญญาณ PWM และทิศทางการหมุน ซึ่งหาได้ไม่ยากในประเทศไทย (ผู้เขียนเชื่อเป็นอย่างยิ่งว่าท่านสามารถทำฐานยึดมอเตอร์ได้สวยงามกว่าในรูปที่ 4 อย่างแน่นอน)

เหตุผลในการเลือกใช้ PIC24EP
ความจริงแล้วการเลือกใช้ผลิตภัณฑ์จากบริษัทใดมิใช่เป็นสิ่งสำคัญ ขึ้นอยู่กับผู้พัฒนาว่ามีความคุ้นเคยกับผลิตภัณฑ์และเครื่องมือพัฒนาของบริษัทนั้น ดังนั้นถึงแม้ในหนังสือจะยกตัวอย่างผลิตภัณฑ์ตระกูล PIC เพื่อให้เป็นรูปธรรม แต่หลักการโดยรวมสามารถประยุกต์ใช้กับผลิตภัณฑ์จากบริษัทอื่นได้
มีผลิตภัณฑ์ฮาร์ดแวร์สำเร็จรูปที่มีผู้สนใจมากคือบอร์ด Arduino ที่เหมาะสมกับผู้เริ่มต้นอย่างมาก นิสิตส่วนใหญ่ที่ทำโครงงานจะเลือกใช้เพราะเขียนโปรแกรมได้ง่าย และไม่ต้องการอุปกรณ์สำหรับโหลดโปรแกรม แต่บอร์ดที่นิยมใช้คือ UNO R3 ยังมีข้อจำกัดด้านทรัพยากรและสรรถนะทำให้ไม่เหมาะสมกับอัลกอริทึมบางส่วนในหนังสือที่มีความซับซ้อน
ในอนาคตผู้เขียนมีความคิดที่จะเขียนหนังสือที่เน้นการอิมพลิเมนต์ตัวควบคุมบน Arduino สำหรับผู้เริ่มต้นอยู่เหมือนกัน แต่ต้องลดระดับความยากของปัญหาลง
สำหรับตระกูล PIC24EP ที่เลือกใช้นี้มีข้อดีคือ เป็นไมโครคอนโทรลเลอร์ 16-bit มีสมรรถนะสูง ทำงานที่ 70 MIPS ใช้งานง่าย และมีรุ่นที่เป็นแบบ DIP ทำให้สามารถสร้างวงจรบน PCB อเนกประสงค์ได้ รุ่นที่มี flash 256 MB ราคาไม่เกิน 200 บาท และถ้าใช้รุ่น MC (Motor Control) จะมีโมดุล QEI (Quadrature Encoder Interface) ในตัว ทำให้สามารถรับสัญญาณจากเอนโคเดอร์ของมอเตอร์และแปลงเป็นค่าตำแหน่งหรือความเร็วได้โดยฮาร์ดแวร์
สำหรับผู้ที่ต้องการสมรรถนะสูงกว่านี้อาจเลือกใช้ตระกูล 32 บิต เช่น PIC32 หรือ ARM แต่ข้อเสียคืออาจไม่มีโมดูล QEI และต้นทุนอาจสูงขึ้น
Scilab ทางเลือกใหม่ของซอฟต์แวร์ระบบควบคุม
ในอดีตที่ผ่านมาที่ซอฟต์แวร์โอเพนซอร์สยังอยู่ระหว่างพัฒนา งานวิจัยของผู้สอนวิชาระบบควบคุมมักต้องอาศัยผลิตภัณฑ์ซอฟต์แวร์เชิงพาณิชย์เพื่อช่วยในการวิเคราะห์ ออกแบบ และจำลองระบบ ซึ่งมีเงื่อนไขด้านลิขสิทธิ์ผูกพันไปถึงการเผยแพร่บทความวิชาการ นอกจากนั้นราคาของซอฟต์แวร์อาจจะเกินงบประมาณของนิสิต ผู้พัฒนาสมัครเล่น หรือบริษัทขนาดเล็ก
ดังนั้น ทางเลือกใหม่ในการใช้ซอฟต์แวร์แบบโอเพนซอร์สคือ Scilab ที่สามารถดาวน์โหลดมาใช้ได้จาก www.scilab.org โดยไม่เสียค่าใช้จ่าย ผู้เขียนได้เริ่มใช้งานซอฟต์แวร์นี้มาตั้งแต่รุ่นบุกเบิกซึ่งในยุคนั้นค่อนข้างมีปัญหาและใช้งานยาก แต่เมื่อได้รับการปรับปรุงอย่างต่อเนื่องจนถึงเวอร์ชันในปัจจุบันมีความน่าเชื่อถือ และใช้งานได้ง่ายขึ้นมาก
เพื่อเป็นการแนะนำซอฟต์แวร์ที่น่าสนใจนี้และเผยแพร่ข้อมูลที่เป็นประโยชน์ ผู้เขียนได้สร้างเว็บ scilab.ninja ขึ้น โดยเน้นการประยุกต์ใช้ในด้านวิศวกรรมควบคุม ได้รับความสนใจและอ้างอิงถึงจากผู้ใช้งานจากทั่วโลก
ในหนังสือระบบควบคุมฝังตัว ส่วนของการวิเคราะห์ ออกแบบ/สังเคราะห์ และจำลองการทำงานทั้งหมด จะอาศัย Scilab (และตัวจำลอง Xcos ที่ถูกติดตั้งพร้อมกันในแพคเกจ) ในบทความแนะนำนี้จะยกตัวอย่างการจำลองในตัวอย่าง 5.3 บทที่ 5 ที่แสดงผลจากการอิ่มตัวในวงป้อนกลับ ทำให้เกิดปรากฏการณ์ที่เรียกว่า windup
หากท่านต้องการทดลองให้เห็นผลลัพธ์จริง ให้ดาวน์โหลดและติดตั้ง Scilab จาก www.scilab.org หลังจากนั้นดาวน์โหลดไฟล์ pid_ilim.zcos และคลิกเปิดไฟล์ จะเห็นโมเดลดังแสดงในรูปที่ 5 ซึ่งการสร้างโมเดลใน Xcos ทำได้ไม่ยาก เพียงแต่ลากบล็อกที่ต้องการจากหน้าต่าง palette และเชื่อมต่อสัญญาณเข้าด้วยกัน คลิกที่ปุ่ม run จะได้ผลการจำลองดังในรูปที่ 6 โดยเปรียบเทียบผลตอบสนองระหว่างระบบป้อนกลับ PID ปกติ (สีเขียว) กับกรณีที่มีการอิ่มตัวระหว่างตัวควบคุมกับพลานต์ (สีแดง) ซึ่งจะเห็นได้ว่าเมื่อมีการอิ่มตัวจะทำให้ผลตอบสนองเลวร้ายลงกว่าปกติอย่างเห็นได้ชัด
ปัญหาการสะสมค่าในตัวอินทิกรัล (integrator windup) นี้เป็นปรากฏการณ์ปกติในตัวควบคุม PID ทำให้ตัวควบคุมที่ใช้ในงานอุตสาหกรรมจริงมีฟังก์ชันสำหรับต่อต้าน เรียกว่า anti-windup ในหนังสือนี้นอกจากจะจำลองดูผลตอบสนองแล้ว เราจะได้เรียนรู้การอิมพลิเมนต์ส่วน anti-windup ในตัวควบคุม PID ที่ดาวน์โหลดลงบนบอร์ดควบคุมฝังตัวด้วย


สรุปลักษณะเด่นของหนังสือ “ระบบควบคุมฝังตัว” ได้ดังนี้
- เลือกใช้อุปกรณ์ฮาร์ดแวร์ที่สามารถหาได้ในประเทศไทย ผู้พัฒนาสามารถสร้างได้โดยใช้ต้นทุนต่ำ โดยได้สร้างวงจร ประกอบ และทดสอบจริงเพื่อมั่นใจว่าสามารถทำงานได้
- ในการวิเคราะห์ ออกแบบ จำลอง ระบบควบคุม ใช้ซอฟต์แวร์ Scilab ซึ่งเป็นแบบโอเพนซอร์ส สามารถดาวน์โหลดมาใช้ได้ฟรี และมีคุณสมบัติดีเพียงพอที่จะใช้ในงานจริง
- ไฟล์ต่างๆ เช่นสคริป และโมเดลสำหรับจำลอง สามารถดาวน์โหลดได้จากเว็บประกอบหนังสือ
- นำเสนอแนวทาง ฮาร์ดแวร์ในวง (hardware-in-the-loop) ที่กำลังได้รับความนิยมในปัจจุบัน โดยสามารถจำลองการทำงานของอุปกรณ์จริงโดยอัลกอริทึมที่ทำงานบนระบบฝังตัว ทำให้การพัฒนาต้นแบบรวดเร็วขึ้นและลดความเสี่ยงจากความเสียหายในช่วงเริ่มต้นที่ระบบควบคุมยังไม่เสถียรหรืออาจมีความผิดพลาดอยู่
- มีเนื้อหาโดยละเอียดเกี่ยวกับตัวควบคุม PID ซึ่งปัจจุบันยังใช้ในงานอุตสาหกรรมมากว่า 90% โดยอธิบายตั้งแต่โครงสร้างพื้นฐาน การปรับแต่ง ฟังก์ชันเสริมเช่นการแก้ไขการสะสมค่า (anti-windup) การปรับแต่งอัตโนมัติ จนถึงการอิมพลิเมนต์บนระบบฝังตัว
- นอกจาก PID แล้วยังได้กล่าวถึงการอิมพลิเมนต์ตัวควบคุมเชิงเส้นทั่วไปในรูปฟังก์ชันถ่ายโอน
- อธิบายการพัฒนาระบบปฏิบัติการเวลาจริงอย่างง่ายขึ้นเอง ประกอบด้วยอัลกอริทึมควบคุมที่เป็นฟังก์ชันไทเมอร์ และส่วนรับคำสั่งและส่งข้อมูลไปยังโฮสต์คอมพิวเตอร์ สามารถเพิ่มเติมคำสั่งใหม่ที่ต้องการได้โดยง่าย
- แนะนำการสังเคราะห์ตัวควบคุมขั้นสูง ซึ่งมีความเป็นระบบและมีขั้นตอนที่ไม่ยากเมื่ออาศัยคำสั่งบน Scilab
ในส่วนท้ายของบทความนี้เป็นรูปจากบางหน้าของหนังสือ ถ่ายโดยใช้กล้องจากโทรศัพท์เลยอาจไม่ชัดเจนเท่าที่ควร ท่านสามารถดูข้อมูลเพิ่มเติมและดาวน์โหลดซอฟต์แวร์ได้จากพจของหนังสือนี้ ที่ http://dewninjathai.blogspot.com/p/ecs.html






No comments:
Post a Comment