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

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

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

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

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

 ทฤษฎี 
การควบคุมแบบ PID ได้ชื่อตามการรวมกันของพจน์ของตัวแปรทั้งสามตามสมการ:

เมื่อ
, , และ  เป็นผลของสัญญาณขาออกจากระบบควบคุม PID จากแต่ละพจน์ซึ่งนิยามตามรายละเอียดด้านล่าง

 สัดส่วน 

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

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

เมื่อ
 : สัญญาณขาออกของพจน์สัดส่วน
 : อัตราขยายสัดส่วน, ตัวแปรปรับค่าได้
 : ค่าความผิดพลาด  
 : เวลา

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

 ปริพันธ์ 

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

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

เมื่อ
 : สัญญาณขาออกของพจน์ปริพันธ์
 : อัตราขยายปริพันธ์, ตัวแปรปรับค่าได้
 : ความผิดพลาด 
 : เวลา
 : ตัวแปรปริพันธ์หุ่น

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

 อนุพันธ์ 


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

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

เมื่อ
 : สัญญาณขาออกของพจน์อนุพันธ์
 : อัตราขยายอนุพันธ์, ตัวแปรปรับค่าได้
 : ความผิดพลาด 
 : เวลา

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

 ผลรวม 

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

 รหัสเทียม 

รหัสเทียม () ของ ขั้นตอนวิธีระบบควบคุมพีไอดี โดยอยู่บนสมมุติฐานว่าตัวประมวลผลประมวลผลแบบขนานอย่างสมบูรณ์แบบ เป็นดังต่อไปนี้

 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) เสถียรภาพ  ลด เพิ่ม เปลี่ยนแปลงเล็กน้อย ลด ลด  ลด เพิ่ม เพิ่ม ลดลงอย่างมีนัยสำคัญ ลด  เปลี่ยนแปลงเล็กน้อย ลดลง ลดลง ตามทฤษฏีไม่มีผล ดีขึ้นถ้า  มีค่าน้อย

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

+ Ziegler–Nichols method Control Type    P  - - PI   - PID   

 ดูเพิ่ม 

 ทฤษฎีระบบควบคุม





 อ้างอิง 

 อ่านเพิ่มเติม 









 แหล่งข้อมูลอื่น 
 โปรแกรมการสอนการควบคุมแบบพีไอดี 
 PID Tutorial 
 P.I.D. Without a PhD : a beginner's guide to PID loop theory with sample programming code
 What's All This P-I-D Stuff, Anyhow?  Article in Electronic Design
  Shows how to build a PID controller with basic electronic components  (pg. 22)
 Virtual PID Controller Laboratory
 PID Design & Tuning 
 ตัวอย่างการประยุกต์ใช้งานตัวควบคุมพีไอดีกับปัญหา Inverted Pendulum โดยมหาวิทยาลัยคาร์เนกีเมลลอน

 หัวข้อพิเศษและการประยุกต์ใช้การควบคุมแบบพีไอดี 
 Proven Methods and Best Practices for PID Control 
 PID Control Primer  Article in Embedded Systems Programming

หมวดหมู่:ทฤษฎีระบบควบคุม
พีไอดี