บทแนะนำ
พื้นฐานระบบควบคุม
มอเตอร์
การควบคุมความเร็วมอเตอร์
การควบคุมตำแหน่งมอเตอร์
Position vs Motion Control
Motion kinemetics
Motion command generation
Motion profile
Motion Interpolation
บทแนะนำ
การศึกษาวิธีการในการควบคุมสิ่งต่างๆของมนุษย์ถือได้ว่ามีมาเป็นเวลาช้านาน รวมทั้งได้มีการพัฒนาอย่างต่อเนื่อง
โดยสิ่งที่เราจะต้องเกี่ยวข้องเมื่อพูดถึงการควบคุมก็คือ เราต้องการควบคุมอะไร ทำให้เราต้องเรียนรู้ว่าสิ่งที่เราต้อง
การควบคุมนั้นมีลักษณะเป็นอย่างไร ซึ่งก็คือการศึกษาโมเดลของสิ่งที่เราต้องการควบคุม รวมทั้งสิ่งที่เราต้องการใน
การควบคุม เช่นคุณลักษณะ หรือปริมาณต่างๆของสิ่งที่เราต้องการควบคุม สิ่งที่เราต้องศึกษาในลำดับถัดมาก็คือ เรา
จะควบคุมอย่างไร ซึ่งหัวใจหลักของการควบคุม โดยเราสามารถแบ่งยุคของการควบคุมออกเป็น 2 แบบดังนี้
- การควบคุมแบบคลาสสิค
- การควบคุมแบบสมัยใหม่
ความแตกต่างของการควบคุมทั้งสองคือความแตกต่างในการแทนโมเดลของสิ่งที่เราค้องการควบคุม โดยการควบคุม
แบบคลาสสิคจะพิจารณาระบบด้วยสมการ Transfer function วิเคราะห์และออกแบบระบบโดยใช้วิธีการ Transform
เช่นใช้เครื่องมือเช่น Laplace Transform, Z Transform วิเคราะห์ระบบโดยการพิจารณา Root Locus รวมทั้ง
Frequency Response โดยจะสามารถสนับสนุนสัญญาณเข้าและออกได้เพียงสัญญาณเดียว (ไม่นับรวมสัญญาณรบกวน)
การควบคุมสมัยใหม่มักจะศึกษาโมเดลของสิ่งที่ต้องการควมคุมโดยระเอียดเช่น การใช้หลักการของ State Space Model เข้ามาเกี่ยวข้อง
ใช้วิธีการอธิบาย dynamic ของระบบด้วย State Equation ระบบสามารถมีสัญญาณเข้าและออกได้หลายตัว
ความเหมาะสมของการเลือกวิธีการควบคุมมักขึ้นกับวัตถุประสงค์ และความพอใจในประสิทธิภาพการทำงาน อย่างไรก็
ตาม ในระบบอุตสาหกรรม รวมทั้งระบบควบคุมการเคลื่อนที่ ยังนิยมใช้การควบคุมแบบคลาสสิค (PID) เนื่องจากการ
หาโมเดลของระบบทั้งหมดเป็นสิ่งที่ทำได้ยากมาก รวมทั้งความสะดวกในการใช้งาน
พื้นฐานระบบควบคุม
ในที่นี้เราจะกล่าวถึงระบบควบคุมที่ใช้กันอย่างแพร่หลายในวงการอุตสาหกรรม รวมถึงระบบควบคุมตำแหน่ง ซึ่งเรา
จะใช้ในการสร้างระบบควบคุมการเคลื่อนที่เราต้องการ
ระบบควบคุมที่แพร่หลายในปัจจุบันคงหนีไม่พ้นระบบควบคุมแบบป้อนกลับ ซึ่งโครงสร้างอย่างง่ายของระบบแสดงดังรูป

ระบบควบคุมแบบป้อนกลับสามารถประยุกต์ใช้งานได้หลายแบบ แต่ที่นิยมใช้ในอุตสาหกรรมคงเป็นระบบควบคุมแบบ
PID ซึ่งการออกแบบสามารถทำได้ทั้งแบบอนาล็อกและแบบดิจิตอล โดยแต่ละอย่างก็มข้อดีข้อเสียต่างกัน เช่นเรื่อง
ความละเอียดของการควบคุม การขจัดสัญญาณรบกวน ความยากง่ายในการสร้าง แต่ในปัจจุบันตัวควบคุม PID มักเป็น
แบบดิจิตอลเนื่องจากความสะดวก และประสิทธิภาพที่คาดเดาได้ง่าย (อัลกอริทึมที่ใช้เขียน) โดยมักถูกสร้างขึ้นโดยใช้
เครื่องมือหลายๆแบบเช่น Microcontroller ,DSP,CPLD,FPGA รวมทั้งบนคอมพิวเตอร์ส่วนบุคคลอีกด้วย
ระบบควบคุมแบบ PID สามารถแทนด้วยโมเดลทางคณิตศาสตร์ สำหรับสมการ (Continous) ต่อเนื่องได้ดังนี้

อาจมีคำถามว่า จากสมการข้างต้นเป็นสมการแบบอนาล็อก แล้วเราจะสามารถแปลงไปเป็นสมการดิจิตอลได้อย่างไร
แต่ถ้าเราพิจารณาจริงๆแล้ว เราสามารถประยุกต์ใช้ การคำนวนเชิงตัวเลข (์ีNumerical Method) เข้าช่วยได้ ก็จะได้สมการดังนี้

สำหรับรายละเอียดเบื้องลึก จะไม่ขอกล่าวในที่นี้
มอเตอร์
อุปกรณ์ที่ใช้ขับเคลื่อนในระบบควบคุมตำแหน่งคงหนีไม่พ้นมอเตอร์ นอกจากมอเตอร์แล้วเรายังมีอุปกรณ์จำพวก
ไฮดรอลิก (น้ำ) และ นิวแมติก(ลม) แต่ในที่นี้เราจะกล่าวถึงมอเตอร์ (กระแสไฟฟ้า)
มอเตอร์ ใช้หลักการการสร้างสนามแม่เหล็กไฟฟ้า (ทำได้โดยการบังคับลักษณะการไหลของกระแสไฟฟ้า) ให้เกิดแรง
หมุน เพื่อให้เพลาของมอเตอร์หมุนได้ โดยกระแสไฟฟ้าที่ใช้ในการสร้างสนานแม่เหล็กในลักษณะที่ต้องการมี 4 แบบดังนี้
- ไฟฟ้ากระแสตรง เช่น ดีซีมอเตอร์
- ไฟฟ้ากระแสสลับ เช่น เอซีมอเตอร์
- กระแสไฟฟ้าแบบพัลส์ เช่น สเตบมอเตอร์
นอกจากนี้ยังมีมอเตอร์บางประเภทที่ผสมผสานใ้ช้ทั้งไฟฟ้ากระแสตรงและไฟฟ้ากระสลับเพื่อให้เกิดการหมุน เช่น
Synchronous ac motor เป็นต้น
ในบางกรณีเราอาจเคยได้ยินคำว่า
เซอร์โวมอเตอร์ ถ้ากล่าวกันจริงๆแล้ว คำว่าเซอร์โวมอเตอร์เกิดจากการรวมคำว่า มอเตอร์ ซึ่งอาจเป็นดีซีหรือเอซี รวมกับคำว่า เซอร์โว
ซึ่งหมายถึงระบบการควบคุม ดังนั้น ความหมายของคำว่าเซอร์
โวมอเตอร์ ก็คือมอเตอร์ที่เกี่ยวกับ หรือมีส่วนเกี่ยวข้องกับการควบคุม ไม่ว่าจะเป็นการควบคุมตำแหน่ง หรือการควบคุม
ความเร็ว โดยเซอร์โวมอเตอร์ก็มี 2 แบบคือ
- ดีซีเซอร์โวมอเตอร์
- เอซีเซอร์โวมอเตอร์
เรามักได้ยินคำหนึ่งที่คู่กับคำว่า เซอร์โวมอเตอร์ นั่นคือ เซอร์โวไดรว์ เนื่องจากว่ามอเตอร์ต้องการกระแสไฟฟ้าในการ
สร้างสนามแม่เหล็ก ยิ่งมอเตอร์มีขาดใหญ่เท่าได ก็ยิ่งต้ิงการกระแสไฟฟ้าจำนวนมากเท่านั้น ซึ่งเราจำเป็นต้องมีอุปกรณ์
หรือวงจรที่จะจัดสรร จัดการเรื่องกระแสไฟฟ้าให้กับมอเตอร์ อุปกรณ์นี้ก็คือ เซอร์โวไดรว์ นั่นเอง เมื่อเรานำสองส่วนนี้
มารวมกัน เราก็จะได้ระบบควบคุมมอเตอร์ (อาจจะเป็น การควบคุมตำแหน่งหรือความเร็วก็ได้) นั่นเอง
การควบคุมความเร็วมอเตอร์
เป็นที่ทราบกันดีว่าการควบคุมความเร็วของมอเตอร์สามารถทำได้โดยการควบคุมระดับแรงดันตกคร่อมตัวมอเตอร์ และ
วิธีการที่นิยมใช้จะมีสองวิธีดังนี้
- การปรับระดับแรงดันโดยใช้หลักการเปลี่ยนค่าความต้านทานของวงจร ซึ่งทำให้แรงดันตกคร่อมเปลี่ยนไปด้วย
แต่จะเห็นว่ามีวิธีนี้เป็นการสร้างความสูญเสียเนื่องจากกำลังไฟฟ้าตกคร่อมตัวต้าน (พลังงานไฟฟ้าเปลี่ยนเป็นพลัง
งานความร้อน)
- การปรับระดับแรงดันโดนการเปิดปิดแหล่งจ่ายไฟ โดยระดับแรงดันเฉลี่ยที่ได้จะขึ้นกับช่วงเปิดและช่วงปิด เรา
เรียกวิธีการนี้ว่า Pulse width modulation และเรียกอัตราส่วนของช่วงเปิดและช่วงปิดว่า Duty cycleว ิธีการนี้มี
ข้อเสียคือ หากเราเลือกความถี่ของพัลส์ไม่เหมาะสม อจาจะทำให้มอเตอร์สั่นได้
การควบคุมตำแหน่งมอเตอร์
จริงๆแล้วการควบคุมตำแหน่งของมอเตอร์ก็คือ การควบคุมความเร็วนั่นเอง ยกตัวอย่างเช่น หากเราต้องการให้มอเตอร์
หมุน10 อาศา ในตอน 0-10 องศา เราต้องควบคุมให้มอเตอร์มีความเร็ว (ค่าหนึ่ง) และ เมื่อถึงตำแหน่ง 10 องศาแล้วเรา
จึงสั่งให้มอเตอร์มีความเร็วเป็น 0 ในขณะเดียวกัน หากเรากลับทิศทางการหมุนของมอเตอร์ นั่นก็คือเราสั่งให้มอเตอร์
หมุนด้วยความเร็วที่เป็นลบนั่นเอง
สำหรับการใช้ระบบควบคุมป้อนกลับเพื่อควบคุมตำแหน่งของมอเตอร์นั้น เราจำเป็นต้องมีอุปกรณืในการป้อนกลับตำแหน่ง
ปัจจุบันของมอเตอร์ อุปกรณ์ดังกล่าวมีหลายประเภท รายละเอียดจะขอกล่าวในภายหลัง
ในการออกแบบระบบควบคุมตำแหน่ง เราจะต้องต้างระบบควบคุมความเร็วก่อน และอาศัยสัญญาณผลต่างของตำแหน่ง
ที่ต้องการเคลื่อนที่ไป และสัญญาณที่ได้จากอุปกรณ์ป้อนกลับ (เรียกสัญญาณนี้ว่าสัญญาณคลาดเคลื่อน)สัญญาณที่ได้
นี้จะถูกป้อนเป็นสัญญาณขาเข้าของตัวควบคุม หลังจากนั้นตัวควบคุมจะประมวลผลเพื่อให้สัญญาณขับ เพื่อให้มอเตอร์
หมุนไปในตำแหน่งที่ต้องการ
จะเห็นว่าหากตำแหน่งที่ต้องการเคลื่อนที่ไปมีค่าเท่ากับตำแหน่งที่อ่านได้จากการอ่านตำแหน่งป้อนกลับ สัญญาณคลาด
เคลื่อนจะมีค่าเป็นศูนย์ นั่นคือจะไม่มีสัญญาณขับออกมาจากตัวควบคุม ทำให้มอเตอร์ไม่มีการหมุนหรือมอเตอร์มีความ
เร็วเป็นศุนย์นั่นเอง
โครงสร้างของระบบควบคุมตำแหน่ง สามารถแสดงอย่างคร่าวๆได้ดังรูป

Position vs Motion Control
หลายท่านคงงงกับความแตกต่างของสองคำนี้ กระผมเองในตอนต้นเข้าใจว่าทั้งสองคำคงคล้ายกัน เพราะเราพูดถึงในแง่
ของการไปถึงจุดหมาย(อย่างแม่นยำ) ส่วนวิธีหรือขั้นตอนในการไปถึงจะไม่ได้กล่าวไว้สำหรับการควบคุมตำแหน่ง ในขณะ
ที่การควบคุมการเคลื่อนที่จะเหมารวมทั้งตำแหน่งและลักษณะวิธีการในการเคลื่อนที่ ซึ่งก็คือลักษณะของความเร็ว ลักษณะ
ของความเร่งที่เกิดขึ้นระหว่างการเคลื่อนที่
จริงๆแล้วททั้งสองระบบมีความใกล้ชิดกันมาก เนื่องจากว่าการควบคุมตำแหน่งที่ดีจะต้องมีการควบคุมการเคลื่อนที่ด้วย
ยกตัวอย่างเช่น หากเรากำลังวิ่งด้วยอัตราเร็วสูงมาก และต้องการเข้าถึงจุดหมายอย่างแม่นยำ เราก็จำเป็นจะต้องลด
ความเร็ว เพื่อสามารถเข้าถึงจุดหมายและหยุดได้ทัน ซึ่งตรงนี้สำคัญมากในเครื่องจักรเพราะการเคลื่อนที่ในลักษณะที่
ไม่มีการวางแผนหรือควบคุมอย่างดีแล้วก็ยากที่จะได้ผลิตภัณฑ์ที่ดี หรืออาจจะเกิดอันตรายต่อผู้ใช้งานด้วยซ้ำไป
Motion kinemetics
เมื่อกล่าวถึงการเคลื่อนที่ เรามักนึกถึงระยะทาง ทิศทาง ความเร็ว ความเร่ง ของการเคลื่อนที่และหากเราพูดถึงการควบ
คุมการเคลื่อนที่ แน่นนอนว่าเราต้องการควบคุมสิ่งต่างๆ ที่เกี่ยวข้องกับการเคลื่อนที่ดังกล่าว และเป็นที่ทราบกันดี
ว่าวัตถุใดๆในโลกนี้มีมวล และถูกโลกดึงดูดไว้ด้วยแรงค่าหนึ่ง เมื่อเราพยายามออกแรงเพื่อให้วัตถุไดๆ เกิดการเคลื่อนที่
จะเห็นได้ว่าเมื่อออกแรงในตอนแรก วัตถุจะไม่สามารถเคลื่อนที่ได้ทันที เปรียบเสมือนระบบควบคุมไดๆ ที่ไม่สามารถ
ขับให้มอเตอร์(รวมทั้งที่มอเตอร์เชื่อมต่ออยู่) เคลื่อนที่ไปในตำแหน่งที่ต้องการได้ทันทีทันได ยกตัวอย่างเช่น เราป้อน
สัญญาณแบบขั้นบันไดให้กับระบบควบคุมความเร็ว (หรือระบบควบคุมตำแหน่ง) จะเห็นว่าระบบไม่สามารถเคลื่อนที่
ได้ในทันทีเหมือนกับคำสั่งที่ป้อนเข้าไป โดยลักษณะการตอบสนองของระบบจะเป็นดังรูป

จะเห็นลักษณะการตอบสนองที่เราสนใจประกอบไปด้วย
- เวลาในการตอบสนองต่อสัญญาณเข้า (คำสั่ง) โดยแบ่งออกเป็นสองค่าคือ
- Rise Time , tr
- Settling Time ,ts
- Overshoot
- Steady-state error
ลักษณะการตอบสนองของระบบที่ต้องการมักขึ้นอยู่กับลักษณะของระบบที่เราต้องการควบคุม ยกตัวอย่างเช่นบาง
ระบบต้องการต้องการความถูกต้องของระบบควบคุม บ้างต้องการการตอบสนองที่รวดเ็ร็ว (จริงๆแล้วเราอยากได้
การตอบสนองที่ดี แต่ด้วยข้อจำกัดและลักษณะเฉพาะตัวของระบบที่ต้องการควบคุม เราจึงจำเป็นต้องยอมรับข้อ
จำกัดและความเป็นไปได้ของการสร้างระบบควบคุม)
หากเราจำเพาะเจาะจงไปที่ระบบควบคุมการเคลื่อนที่จะเห็นว่าเราต้องการการเคลื่อนที่ที่แม่นยำ (Steady-state error
น้อยๆ) ไม่ต้องการ Overshoot รวมทั้งการตอบสนองที่ค่อนข้างเร็ว แต่ดังที่ได้กล่าวข้างต้นว่าการเคลื่อนที่ของวัตถุ
ไดๆ (ที่เราต้องการควบคุม) มักมีแรงต้านและความเฉื่อย ซึ่งมีผลต่อการออกแบบระบบควบคุม หากยังมองภาพไม่ออก
ขอให้หาคำตอบให้กับคำถามเหล่านี้
- เราจะประยุกต์ระบบควบคุมตำแหน่ง(ที่เกิดจากระบบควบคุมความเร็ว) ให้สามารถควบคุมความเร็ว ความเร่ง
หรืออัตราการเปลี่ยนแปลงความเร่ง (jerk) ได้อย่างไร ?
- ลักษณะการเคลื่อนที่ที่เราต้องการ เพื่อเอาชนะลักษณะเฉพาะตัวของวัตถุ(แรงต้าน แรงเฉื่อย) รวมทั้งการเคลื่อนที่
ที่ทำให้การเคลื่อนมีความราบเรียบ (smooth) รวมทั้งการประหยัดพลังงานเป็นอย่่างไร?
Motion command generation
คำตอบของคำถาม 2 ข้อข้างต้นทำให้เกิดส่วนประกอบสำคัญในระบบควบคุมการเคลื่อนที่ นั่นคือการบวนการสร้าง
คำสั่งการเคลื่อนที่ ซึ่งถือได้ว่าเป็นหัวใจของระบบเลยก็ว่าได้ โดยเราได้พูดถึงส่วนประกอบต่างๆ ไปแล้ว หากเรา
จะเปรียบเทียบส่วนประกอบต่างๆ กับร่างกายคนเรา ส่วนกำเนิดคำสั่งอาจเรียกได้ว่าเป็นสมองส่วนกลางเลยทีเดียว
โดยจินตนาการแล้วเราอยากให้เครื่องจักรสามารถเคลื่อนที่ได้เหมือนมนุษย์(ในแง่ของความนุ่มนวลและการคาดการ
ล่วงหน้าได้) นั่นคือเราต้องมีส่วนทีเรียกว่า AI เพื่อทำการวางแผนการเคลื่อนที่ เพื่อให้สอดคล้องสภาพแวดล้อม หรือ
คำสั่งที่ได้รับ (ระบบควบคุมตำแหน่งอาจรับคำสั่งโดยอ่านจากเซ็นเซอร์และตัดสินใจในการเคลื่อนที่เอง หรือหาก
เป็นเครื่องจักรก็จะมีการเขียนรหัสคำสั่งเช่น G CODE และให้เครื่องจักรวางแผนการเคลื่อนที่รสมทั้งสั่งให้มอเตอร์
ของแต่ละแกนนั้นๆหมุนเพื่อให้เส่นทาง รวมทั้งความเร็ว ความเร่งที่ต้องการ)
เนื่องจากระบบคอมพิวเตอร์ยังไม่สามารถประมวลผลเองได้(โดยปราศจากการเขียนโปรแกรม) สุดท้ายแล้วการทำงาน
ทั้งหมดก็ขึ้นอยู่กับการเขียนโปรแกรมของผู้ออกแบบระบบนั่นเอง
โดยทั่วๆไปแล้ว ส่วนกำเนิดคำสั่งมักจะประกอบด้านกระบวนการดังต่อไปนี้
- Path planning เป็นการวางแผนเกี่ยวกับเส้นทางที่ต้องการเคลือนที่ เช่น เส้นตรง(linear) วงกลม (circle)หรือส่วนของวงกลม(arc) และเ้ส้นโค้ง(curve)
- Trajectory Planning เป็นการวางแผนเรื่องความเร็วความเร่ง เพื่อให้ได้การเคลื่อนที่ที่ต่อเนื่อง และนุ่มนวล
Motion profile
หัวข้อนี้เป็นคำตอบของคำถามที่ว่าลักษณะการเคลื่อนที่แบบไหนที่จะทำให้วัตถุสามารถลดปัญหาเรื่อง
เฉพาะตัวของวัตถุ(แรงต้าน แรงเฉื่อย)
เนื่องจากวัตถุไม่สามารถเปลี่ยนความเร็วจากค่าหนึ่งไปค่าหนึ่งได้แบบทันทีทันได ดังนั้นลักษณะการ
เคลื่อนที่จะเป็นแบบค่อยเพิ่มความเร็วในการเคลื่อนที่เข้าสู่ความเร็วที่ต้องการ รวมทั้งหากต้องการ
หยุดการเคลื่อนที่ เราก็ค่อยๆลดคววมเร็วเพื่อให้สามารถหยุดได้ทันโดยยังสามารถรักษาความถูกต้อง
ของตำแหน่งได้ motion profile ที่นิยมใช้แบ่งเป็น 2 ประเภทดังนี้
- Tapezoidal velocity profile

- S-curve velocity profile

Motion Interpolation
สมมุติว่าเราต้องการเคลื่อนที่ระหว่างจุดสองจุด โดยระหว่างการเคลื่อนที่ เราต้องการเคลื่อนที่ตามเส้นทางที่วางแผนไว้
รวมทั้งเคลื่อนที่ตามความเร็ว ความเร่งที่ค้องการ นั่นคือเราได้จัดการในส่วนของการวางแผนการเคลื่อนที่ แต่คำถาม
ต่อมาคือ ทำอย่างไรเราถึงจะสามารถเคลื่อนที่ได้ตามที่วางแผนไว้
หากเราพิจารณา velocity profile ข้างต้น จะเห็นว่า jerk ก็คือค่า differential ของความเร่ง ความเร่งเป็น differential ของ
ความเร็ว และท้ายสุด ความเร็วเป็น differential ของการกระจัด (Displacement) และหากเรามองย้อนกลับ การกระจัดก็
คือ integral ของความเร็ว รวมทั้งในกรณีของ ความเร่งและ jerk นั่นคือทำให้เราทราบถึงความสัมพันธ์ของปริมาณเหล่านี้
หากเราพิจารณากราฟเป็นหลัก เราจะพบว่าหลักการจะคล้ายกับการ curve fitting ของกราฟทั้งหมดเข้าด้วยกันเป็น
ฟังก์ชันเดียว ซึ่งทางคณิตศาสตร์เราเรียกว่าการ Interpolation เนื่องจากเราจะทราบเพียงค่าเริ่มต้นและค่าสุดท้าย
เท่านั้น (จากการที่เราวางแผนไว้) นั่นคือเราต้องมีวิธีการที่จะสร้าง profile การเคลื่อนที่ระหว่างค่าทั้งสองนั้น
ฟังก์ชันที่แทน profile การเคลื่อนที่เราจะใช้ฟังก์ชันพหุนาม (polynomial) คำถามต่อมา แล้วฟังก์ชันพหุนามแบบไหน
หรือฟังก์ชันพหุนามอันดับที่เท่าไร ที่เราจะใช้ในการควบคุมการเคลื่อนที่ของเรา
Back to Top