ระบบควบคุมพีไอดี
![]() | ลิงก์ข้ามภาษาในบทความนี้ มีไว้ให้ผู้อ่านและผู้ร่วมแก้ไขบทความศึกษาเพิ่มเติมโดยสะดวก เนื่องจากวิกิพีเดียภาษาไทยยังไม่มีบทความดังกล่าว กระนั้น ควรรีบสร้างเป็นบทความโดยเร็วที่สุด |
ระบบควบคุมแบบสัดส่วน-ปริพันธ์-อนุพันธ์ (อังกฤษ: PID controller) เป็นระบบควบคุมแบบป้อนกลับที่ใช้กันอย่างกว้างขวาง ซึ่งค่าที่นำไปใช้ในการคำนวณเป็นค่าความผิดพลาดที่หามาจากความแตกต่างของตัวแปรในกระบวนการและค่าที่ต้องการ ตัวควบคุมจะพยายามลดค่าผิดพลาดให้เหลือน้อยที่สุดด้วยการปรับค่าสัญญาณขาเข้าของกระบวนการ ค่าตัวแปรของ PID ที่ใช้จะปรับเปลี่ยนตามธรรมชาติของระบบ
วิธีคำนวณของ PID ขึ้นอยู่กับสามตัวแปรคือค่าสัดส่วน, ปริพันธ์ และ อนุพันธ์ ค่าสัดส่วนกำหนดจากผลของความผิดพลาดในปัจจุบัน, ค่าปริพันธ์กำหนดจากผลบนพื้นฐานของผลรวมความผิดพลาดที่ซึ่งพึ่งผ่านพ้นไป, และค่าอนุพันธ์กำหนดจากผลบนพื้นฐานของอัตราการเปลี่ยนแปลงของค่าความผิดพลาด น้ำหนักที่เกิดจากการรวมกันของทั้งสามนี้จะใช้ในการปรับกระบวนการ
โดยการปรับค่าคงที่ใน PID ตัวควบคุมสามารถปรับรูปแบบการควบคุมให้เหมาะกับที่กระบวนการต้องการได้ การตอบสนองของตัวควบคุมจะอยู่ในรูปของการไหวตัวของตัวควบคุมจนถึงค่าความผิดพลาด ค่าโอเวอร์ชูต (overshoots) และ ค่าแกว่งของระบบ (oscillation) วิธี PID ไม่รับประกันได้ว่าจะเป็นระบบควบคุมที่เหมาะสมที่สุดหรือสามารถทำให้กระบวนการมีความเสถียรแน่นอน
การประยุกต์ใช้งานบางครั้งอาจใช้เพียงหนึ่งถึงสองรูปแบบ ขึ้นอยู่กับกระบวนการเป็นสำคัญ พีไอดีบางครั้งจะถูกเรียกว่าการควบคุมแบบ PI, PD, P หรือ I ขึ้นอยู่กับว่าใช้รูปแบบใดบ้าง
ทฤษฎี[แก้]
การควบคุมแบบ PID ได้ชื่อตามการรวมกันของเทอมของตัวแปรทั้งสามตามสมการ:
เมื่อ
- , , และ เป็นผลของสัญญาณขาออกจากระบบควบคุม PID จากแต่ละเทอมซึ่งนิยามตามรายละเอียดด้านล่าง
สัดส่วน[แก้]
เทอมของสัดส่วน (บางครั้งเรียก อัตราขยาย) จะเปลี่ยนแปลงเป็นสัดส่วนของค่าความผิดพลาด การตอบสนองของสัดส่วนสามารถทำได้โดยการคูณค่าความผิดพลาดด้วยค่าคงที่ Kp, หรือที่เรียกว่าอัตราขยายสัดส่วน
เทอมของสัดส่วนจะเป็นไปตามสมการ:
เมื่อ
- : สัญญาณขาออกของเทอมสัดส่วน
- : อัตราขยายสัดส่วน, ตัวแปรปรับค่าได้
- : ค่าความผิดพลาด
- : เวลา
ผลอัตราขยายสัดส่วนที่สูงค่าความผิดพลาดก็จะเปลี่ยนแปลงมากเช่นกัน แต่ถ้าสูงเกินไประบบจะไม่เสถียรได้ ในทางตรงกันข้าม ผลอัตราขยายสัดส่วนที่ต่ำ ระบบควบคุมจะมีผลตอบสนองต่อกระบวนการน้อยตามไปด้วย
ปริพันธ์[แก้]
ผลจากเทอมปริพันธ์ (บางครั้งเรียก reset) เป็นสัดส่วนของขนาดความผิดพลาดและระยะเวลาของความผิดพลาด ผลรวมของความผิดพลาดในทุกช่วงเวลา (ปริพันธ์ของความผิดพลาด) จะให้ออฟเซตสะสมที่ควรจะเป็นในก่อนหน้า ความผิดพลาดสะสมจะถูกคูณโดยอัตราขยายปริพันธ์ ขนาดของผลของเทอมปริพันธ์จะกำหนดโดยอัตราขยายปริพันธ์, .
เทอมปริพันธ์จะเป็นไปตามสมการ:
เมื่อ
- : สัญญาณขาออกของเทอมปริพันธ์
- : อัตราขยายปริพันธ์, ตัวแปรปรับค่าได้
- : ความผิดพลาด
- : เวลา
- : ตัวแปรปริพันธ์หุ่น
เทอมปริพันธ์ (เมื่อรวมกับเทอมสัดส่วน) จะเร่งกระบวนการให้เข้าสู่จุดที่ต้องการและขจัดความผิดพลาดที่เหลืออยู่ที่เกิดจากการใช้เพียงเทอมสัดส่วน แต่อย่างไรก็ตาม เทอมปริพันธ์เป็นการตอบสนองต่อความผิดพลาดสะสมในอดีต จึงสามารถทำให้เกิดโอเวอร์ชูตได้ (ข้ามจุดที่ต้องการและเกิดการหันเหไปทางทิศทางอื่น)
อนุพันธ์[แก้]
อัตราการเปลี่ยนแปลงของความผิดพลาดจากกระบวนการนั้นคำนวณหาจากความชันของความผิดพลาดทุกๆเวลา (นั่นคือ เป็นอนุพันธ์อันดับหนึ่งสัมพันธ์กับเวลา) และคูณด้วยอัตราขยายอนุพันธ์ ขนาดของผลของเทอมอนุพันธ์ (บางครั้งเรียก อัตรา) ขึ้นกับ อัตราขยายอนุพันธ์
เทอมอนุพันธ์เป็นไปตามสมการ:
เมื่อ
- : สัญญาณขาออกของเทอมอนุพันธ์
- : อัตราขยายอนุพันธ์, ตัวแปรปรับค่าได้
- : ความผิดพลาด
- : เวลา
เทอมอนุพันธ์จะชะลออัตราการเปลี่ยนแปลงของสัญญาณขาออกของระบบควบคุมและด้วยผลนี้จะช่วยให้ระบบควบคุมเข้าสู่จุดที่ต้องการ ดังนั้นเทอมอนุพันธ์จะใช้ในการลดขนาดของโอเวอร์ชูตที่เกิดจาเทอมปริพันธ์และทำให้เสถียรภาพของการรวมกันของระบบควบคุมดีขึ้น แต่อย่างไรก็ตามอนุพันธ์ของสัญญาณรบกวนที่ถูกขยายในระบบควบคุมจะไวมากต่อการรบกวนในเทอมของความผิดพลาดและสามารถทำให้กระบวนการไม่เสถียรได้ถ้าสัญญาณรบกวนและอัตราขยายอนุพันธ์มีขนาดใหญ่เพียงพอ
ผลรวม[แก้]
เทอมสัดส่วน, ปริพันธ์, และอนุพันธ์ จะนำมารวมกันเป็นสัญญาณขาออกของการควบคุมแบบ PID กำหนดให้ เป็นสัญญาณขาออก สมการสุดท้ายของวิธี PID คือ:
รหัสเทียม[แก้]
รหัสเทียม (อังกฤษ: pseudocode) ของ ขั้นตอนวิธีระบบควบคุมพีไอดี โดยอยู่บนสมมุติฐานว่าตัวประมวลผลประมวลผลแบบขนานอย่างสมบูรณ์แบบ เป็นดังต่อไปนี้
previous_error = setpoint - actual_position integral = 0 start: error = setpoint - actual_position integral = integral + (error*dt) derivative = (error - previous_error)/dt output = (Kp*error) + (Ki*integral) + (Kd*derivative) previous_error = error wait(dt) goto start
การปรับจูน[แก้]
การปรับจูนด้วยมือ[แก้]
ถ้าระบบยังคงทำงาน ขั้นแรกให้ตั้งค่า และ เป็นศูนย์ เพิ่มค่า จนกระทั่งสัญญาณขาออกเกิดการแกว่ง (oscillate) แล้วตั้งค่า ให้เหลือครึ่งหนึ่งของค่าที่ทำให้เกิดการแกว่งสำหรับการตอบสนองชนิด "quarter amplitude decay" แล้วเพิ่ม จนกระทั่งออฟเซตถูกต้องในเวลาที่พอเพียงของกระบวนการ แต่ถ้า มากไปจะทำให้ไม่เสถียร สุดท้ายถ้าต้องการ ให้เพิ่มค่า จนกระทั่งลูปอยู่ในระดับที่ยอมรับได้ แต่ถ้า มากเกินไปจะเป็นเหตุให้การตอบสนองและโอเวอร์ชูตเกินยอมรับได้ ปกติการปรับจูน PID ถ้าเกิดโอเวอร์ชูตเล็กน้อยจะช่วยให้เข้าสู่จุดที่ต้องการเร็วขึ้น แต่ในบางระบบไม่สามารถยอมให้เกิดโอเวอร์ชูตได้ และถ้าค่า น้อยเกินไปก็จะทำให้เกิดการแกว่ง
ตัวแปร | ช่วงเวลาขึ้น (Rise time) |
โอเวอร์ชูต (Overshoot) |
เวลาสู่สมดุล (Settling time) |
ความผิดพลาดสถานะคงตัว (Steady-state error) |
เสถียรภาพ[3] |
---|---|---|---|---|---|
ลด | เพิ่ม | เปลี่ยนแปลงเล็กน้อย | ลด | ลด | |
ลด[4] | เพิ่ม | เพิ่ม | ลดลงอย่างมีนัยสำคัญ | ลด | |
เปลี่ยนแปลงเล็กน้อย | ลดลง | ลดลง | ตามทฤษฏีไม่มีผล | ดีขึ้นถ้า มีค่าน้อย |
วิธีการ[แก้]
วิธีการนี้นำเสนอโดย John G. Ziegler และ Nathaniel B. Nichols ในคริสต์ทศวรรษที่ 1940 ขั้นแรกให้ตั้งค่า และ เป็นศูนย์ เพิ่มอัตราขยาย P สูงที่สุด, , จนกระทั่งเริ่มเกิดการแกว่ง นำค่า และค่าช่วงการแกว่ง มาหาค่าตัวแปรที่เหลือดังตาราง:
Control Type | |||
---|---|---|---|
P | - | - | |
PI | - | ||
PID |
ดูเพิ่ม[แก้]
อ้างอิง[แก้]
- ↑ Kiam Heong Ang; Chong, G.; Yun Li (2005). "PID control system analysis, design, and technology" (PDF). IEEE Transactions on Control Systems Technology. 13 (4): 559–576. doi:10.1109/TCST.2005.847331. S2CID 921620.
- ↑ Jinghua Zhong (Spring 2006). "PID Controller Tuning: A Short Tutorial" (PDF). คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2015-04-21. สืบค้นเมื่อ 2011-04-04.
{{cite journal}}
: Cite journal ต้องการ|journal=
(help) - ↑ Ang, K.H., Chong, G.C.Y., and Li, Y. (2005). PID control system analysis, design, and technology, IEEE Trans Control Systems Tech, 13(4), pp.559-576. http://eprints.gla.ac.uk/3817/
- ↑ "สำเนาที่เก็บถาวร" (PDF). คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2015-04-21. สืบค้นเมื่อ 2010-07-22.
- Liptak, Bela (1995). Instrument Engineers' Handbook: Process Control. Radnor, Pennsylvania: Chilton Book Company. pp. 20–29. ISBN 0-8019-8242-1.
{{cite book}}
: Cite ไม่รู้จักพารามิเตอร์ว่างเปล่า :|coauthors=
(help) - Tan, Kok Kiong (1999). Advances in PID Control. London, UK: Springer-Verlag. ISBN 1-85233-138-0.
{{cite book}}
: ไม่รู้จักพารามิเตอร์|coauthors=
ถูกละเว้น แนะนำ (|author=
) (help)
- Van, Doren, Vance J. (July 1, 2003). "Loop Tuning Fundamentals". Control Engineering. Red Business Information. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2009-05-03.
{{cite journal}}
: Cite ไม่รู้จักพารามิเตอร์ว่างเปล่า :|coauthors=
(help) - Sellers, David. "An Overview of Proportional plus Integral plus Derivative Control and Suggestions for Its Successful Application and Implementation" (PDF). คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2007-03-07. สืบค้นเมื่อ 2007-05-05.
{{cite web}}
: Cite ไม่รู้จักพารามิเตอร์ว่างเปล่า :|coauthors=
(help)
- Graham, Ron (10/03/2005). "FAQ on PID controller tuning". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2005-02-06. สืบค้นเมื่อ 2009-01-05.
{{cite web}}
: Cite ไม่รู้จักพารามิเตอร์ว่างเปล่า :|coauthors=
(help); ตรวจสอบค่าวันที่ใน:|date=
(help); ไม่รู้จักพารามิเตอร์|oldurl=
ถูกละเว้น (help)
แหล่งข้อมูลอื่น[แก้]
PID tutorials[แก้]
- PID Tutorial เก็บถาวร 2010-06-15 ที่ เวย์แบ็กแมชชีน
- P.I.D. Without a PhD เก็บถาวร 2010-02-09 ที่ เวย์แบ็กแมชชีน: a beginner's guide to PID loop theory with sample programming code
- What's All This P-I-D Stuff, Anyhow? เก็บถาวร 2007-09-06 ที่ เวย์แบ็กแมชชีน Article in Electronic Design
- Shows how to build a PID controller with basic electronic components เก็บถาวร 2006-04-17 ที่ เวย์แบ็กแมชชีน (pg. 22)
- Virtual PID Controller Laboratory
- PID Design & Tuning เก็บถาวร 2010-08-04 ที่ เวย์แบ็กแมชชีน
- ตัวอย่างการประยุกต์ใช้งานตัวควบคุมพีไอดีกับปัญหา Inverted Pendulum โดยมหาวิทยาลัยคาร์เนกีเมลลอน
หัวข้อพิเศษและการประยุกต์ใช้การควบคุมแบบพีไอดี[แก้]
- Proven Methods and Best Practices for PID Control เก็บถาวร 2011-06-05 ที่ เวย์แบ็กแมชชีน
- PID Control Primer เก็บถาวร 2010-02-09 ที่ เวย์แบ็กแมชชีน Article in Embedded Systems Programming