ระบบควบคุมพีไอดี

จากวิกิพีเดีย สารานุกรมเสรี

ระบบควบคุมแบบสัดส่วน-ปริพันธ์-อนุพันธ์ (อังกฤษ: PID controller) เป็นระบบควบคุมแบบป้อนกลับที่ใช้กันอย่างกว้างขวาง ซึ่งค่าที่นำไปใช้ในการคำนวณเป็นค่าความผิดพลาดที่หามาจากความแตกต่างของตัวแปรในกระบวนการและค่าที่ต้องการ ตัวควบคุมจะพยายามลดค่าผิดพลาดให้เหลือน้อยที่สุดด้วยการปรับค่าสัญญาณขาเข้าของกระบวนการ ค่าตัวแปรของ PID ที่ใช้จะปรับเปลี่ยนตามธรรมชาติของระบบ

แผนภาพบล็อกของการควบคุมแบบพีไอดี

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

โดยการปรับค่าคงที่ใน PID ตัวควบคุมสามารถปรับรูปแบบการควบคุมให้เหมาะกับที่กระบวนการต้องการได้ การตอบสนองของตัวควบคุมจะอยู่ในรูปของการไหวตัวของตัวควบคุมจนถึงค่าความผิดพลาด ค่าโอเวอร์ชูต (overshoots) และ ค่าแกว่งของระบบ (oscillation) วิธี PID ไม่รับประกันได้ว่าจะเป็นระบบควบคุมที่เหมาะสมที่สุดหรือสามารถทำให้กระบวนการมีความเสถียรแน่นอน

การประยุกต์ใช้งานบางครั้งอาจใช้เพียงหนึ่งถึงสองรูปแบบ ขึ้นอยู่กับกระบวนการเป็นสำคัญ พีไอดีบางครั้งจะถูกเรียกว่าการควบคุมแบบ PI, PD, P หรือ I ขึ้นอยู่กับว่าใช้รูปแบบใดบ้าง

เนื้อหา

ทฤษฎี [แก้]

การควบคุมแบบ PID ได้ชื่อตามการรวมกันของเทอมของตัวแปรทั้งสามตามสมการ:

\mathrm{MV (t)}=\,P_{\mathrm{out}} + I_{\mathrm{out}} + D_{\mathrm{out}}

เมื่อ

P_{\mathrm{out}}, I_{\mathrm{out}}, และ D_{\mathrm{out}} เป็นผลของสัญญาณขาออกจากระบบควบคุม PID จากแต่ละเทอมซึ่งนิยามตามรายละเอียดด้านล่าง

สัดส่วน [แก้]

กราฟ PV ต่อเวลา, Kp กำหนดเป็น 3 ค่า(Ki และ Kd คงที่)

เทอมของสัดส่วน (บางครั้งเรียก อัตราขยาย) จะเปลี่ยนแปลงเป็นสัดส่วนของค่าความผิดพลาด การตอบสนองของสัดส่วนสามารถทำได้โดยการคูณค่าความผิดพลาดด้วยค่าคงที่ Kp, หรือที่เรียกว่าอัตราขยายสัดส่วน

เทอมของสัดส่วนจะเป็นไปตามสมการ:

P_{\mathrm{out}}=K_p\,{e (t)}

เมื่อ

P_{\mathrm{out}}: สัญญาณขาออกของเทอมสัดส่วน
K_p: อัตราขยายสัดส่วน, ตัวแปรปรับค่าได้
e: ค่าความผิดพลาด  = SP - PV
t: เวลา

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


ปริพันธ์ [แก้]

กราฟ PV ต่อเวลา, Ki กำหนดเป็นสามค่า (Kp และ Kd คงที่)

ผลจากเทอมปริพันธ์ (บางครั้งเรียก reset) เป็นสัดส่วนของขนาดความผิดพลาดและระยะเวลาของความผิดพลาด ผลรวมของความผิดพลาดในทุกช่วงเวลา (ปริพันธ์ของความผิดพลาด) จะให้ออฟเซตสะสมที่ควรจะเป็นในก่อนหน้า ความผิดพลาดสะสมจะถูกคูณโดยอัตราขยายปริพันธ์ ขนาดของผลของเทอมปริพันธ์จะกำหนดโดยอัตราขยายปริพันธ์, K_i.

เทอมปริพันธ์จะเป็นไปตามสมการ:

I_{\mathrm{out}}=K_{i}\int_{0}^{t}{e (\tau)}\,{d\tau}

เมื่อ

I_{\mathrm{out}}: สัญญาณขาออกของเทอมปริพันธ์
K_i: อัตราขยายปริพันธ์, ตัวแปรปรับค่าได้
e: ความผิดพลาด  = SP - PV
t: เวลา
\tau: ตัวแปรปริพันธ์หุ่น

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

อนุพันธ์ [แก้]

กราฟ PV ต่อเวลา, สำหรับ Kd 3 ค่า (Kp และ Ki คงที่)

อัตราการเปลี่ยนแปลงของความผิดพลาดจากกระบวนการนั้นคำนวณหาจากความชันของความผิดพลาดทุกๆเวลา (นั่นคือ เป็นอนุพันธ์อันดับหนึ่งสัมพันธ์กับเวลา) และคูณด้วยอัตราขยายอนุพันธ์ K_d ขนาดของผลของเทอมอนุพันธ์ (บางครั้งเรียก อัตรา) ขึ้นกับ อัตราขยายอนุพันธ์ K_d

เทอมอนุพันธ์เป็นไปตามสมการ:

D_{\mathrm{out}}=K_d\frac{d}{dt}e (t)

เมื่อ

D_{\mathrm{out}}: สัญญาณขาออกของเทอมอนุพันธ์
K_d: อัตราขยายอนุพันธ์, ตัวแปรปรับค่าได้
e: ความผิดพลาด  = SP - PV
t: เวลา

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

ผลรวม [แก้]

เทอมสัดส่วน, ปริพันธ์, และอนุพันธ์ จะนำมารวมกันเป็นสัญญาณขาออกของการควบคุมแบบ PID กำหนดให้ u (t) เป็นสัญญาณขาออก สมการสุดท้ายของวิธี PID คือ:

\mathrm{u (t)}=\mathrm{MV (t)}=K_p{e (t)} + K_{i}\int_{0}^{t}{e (\tau)}\,{d\tau} + K_{d}\frac{d}{dt}e (t)

รหัสเทียม [แก้]

รหัสเทียม (อังกฤษ: 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

การปรับจูน [แก้]

การปรับจูนด้วยมือ [แก้]

ถ้าระบบยังคงทำงาน ขั้นแรกให้ตั้งค่า K_i และ K_d เป็นศูนย์ เพิ่มค่า K_p จนกระทั่งสัญญาณขาออกเกิดการแกว่ง (oscillate) แล้วตั้งค่า K_p ให้เหลือครึ่งหนึ่งของค่าที่ทำให้เกิดการแกว่งสำหรับการตอบสนองชนิด "quarter amplitude decay" แล้วเพิ่ม K_i จนกระทั่งออฟเซตถูกต้องในเวลาที่พอเพียงของกระบวนการ แต่ถ้า K_i มากไปจะทำให้ไม่เสถียร สุดท้ายถ้าต้องการ ให้เพิ่มค่า K_d จนกระทั่งลูปอยู่ในระดับที่ยอมรับได้ แต่ถ้า K_d มากเกินไปจะเป็นเหตุให้การตอบสนองและโอเวอร์ชูตเกินยอมรับได้ ปกติการปรับจูน PID ถ้าเกิดโอเวอร์ชูตเล็กน้อยจะช่วยให้เข้าสู่จุดที่ต้องการเร็วขึ้น แต่ในบางระบบไม่สามารถยอมให้เกิดโอเวอร์ชูตได้ และถ้าค่า K_p น้อยเกินไปก็จะทำให้เกิดการแกว่ง

ผลของการเพิ่มค่าตัวแปรอย่างอิสระ
ตัวแปร ช่วงเวลาขึ้น
(Rise time)
โอเวอร์ชูต
(Overshoot)
เวลาสู่สมดุล
(Settling time)
ความผิดพลาดสถานะคงตัว
(Steady-state error)
เสถียรภาพ[1]
K_p ลด เพิ่ม เปลี่ยนแปลงเล็กน้อย ลด ลด
K_i ลด[2] เพิ่ม เพิ่ม ลดลงอย่างมีนัยสำคัญ ลด
K_d ลดลงเล็กน้อย ลดลงเล็กน้อย ลดลงเล็กน้อย ตามทฤษฏีไม่มีผล ดีขึ้นถ้า K_d มีค่าน้อย

วิธีการ Ziegler–Nichols [แก้]

วิธีการนี้นำเสนอโดย John G. Ziegler และ Nathaniel B. Nichols ในคริสต์ทศวรรษที่ 1940 ขั้นแรกให้ตั้งค่า K_i และ K_d เป็นศูนย์ เพิ่มอัตราขยาย P สูงที่สุด, K_u, จนกระทั่งเริ่มเกิดการแกว่ง นำค่า K_u และค่าช่วงการแกว่ง P_u มาหาค่าตัวแปรที่เหลือดังตาราง:

Ziegler–Nichols method
Control Type K_p K_i K_d
P 0.50{K_u} - -
PI 0.45{K_u} 1.2{K_p}/P_u -
PID 0.60{K_u} 2{K_p}/P_u {K_p}{P_u}/8

ดูเพิ่ม [แก้]

อ้างอิง [แก้]

  1. ^ 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/
  2. ^ http://saba.kntu.ac.ir/eecd/pcl/download/PIDtutorial.pdf
  • Liptak, Bela (1995). Instrument Engineers' Handbook: Process Control. Radnor, Pennsylvania: Chilton Book Company. pp. 20–29. ISBN 0-8019-8242-1. 
  • Tan, Kok Kiong; Wang Qing-Guo, Hang Chang Chieh (1999). Advances in PID Control. London, UK: Springer-Verlag. ISBN 1-85233-138-0. 

แหล่งข้อมูลอื่น [แก้]

PID tutorials [แก้]

หัวข้อพิเศษและการประยุกต์ใช้การควบคุมแบบพีไอดี [แก้]