ทฤษฎี ของ ระบบควบคุมพีไอดี

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

M V ( t ) = P o u t + I o u t + D o u t {\displaystyle \mathrm {MV(t)} =\,P_{\mathrm {out} }+I_{\mathrm {out} }+D_{\mathrm {out} }}

เมื่อ

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

สัดส่วน

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

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

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

P o u t = K p e ( t ) {\displaystyle P_{\mathrm {out} }=K_{p}\,{e(t)}}

เมื่อ

P o u t {\displaystyle P_{\mathrm {out} }} : สัญญาณขาออกของเทอมสัดส่วน K p {\displaystyle K_{p}} : อัตราขยายสัดส่วน, ตัวแปรปรับค่าได้ e {\displaystyle e} : ค่าความผิดพลาด = S P − P V {\displaystyle =SP-PV} t {\displaystyle t} : เวลา

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


ปริพันธ์

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

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

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

I o u t = K i ∫ 0 t e ( τ ) d τ {\displaystyle I_{\mathrm {out} }=K_{i}\int _{0}^{t}{e(\tau )}\,{d\tau }}

เมื่อ

I o u t {\displaystyle I_{\mathrm {out} }} : สัญญาณขาออกของเทอมปริพันธ์ K i {\displaystyle K_{i}} : อัตราขยายปริพันธ์, ตัวแปรปรับค่าได้ e {\displaystyle e} : ความผิดพลาด = S P − P V {\displaystyle =SP-PV} t {\displaystyle t} : เวลา τ {\displaystyle \tau } : ตัวแปรปริพันธ์หุ่น

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

อนุพันธ์

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

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

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

D o u t = K d d d t e ( t ) {\displaystyle D_{\mathrm {out} }=K_{d}{\frac {d}{dt}}e(t)}

เมื่อ

D o u t {\displaystyle D_{\mathrm {out} }} : สัญญาณขาออกของเทอมอนุพันธ์ K d {\displaystyle K_{d}} : อัตราขยายอนุพันธ์, ตัวแปรปรับค่าได้ e {\displaystyle e} : ความผิดพลาด = S P − P V {\displaystyle =SP-PV} t {\displaystyle t} : เวลา

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

ผลรวม

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

u ( t ) = M V ( t ) = K p e ( t ) + K i ∫ 0 t e ( τ ) d τ + K d d d t e ( t ) {\displaystyle \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_positionintegral = 0start:  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

ใกล้เคียง

ระบบควบคุมพีไอดี ระบบคลังข้อมูลความหลากหลายทางชีวภาพทั่วโลก ระบบคะแนนเสียงเผื่อเลือกเพิ่ม ระบบคุณธรรม ระบบคอมพิวเตอร์ ระบบคอมมิวนิสต์ ระบบคัดเลือกเข้าอุดมศึกษา ระบบความรู้สึก ระบบควบคุม ระบบความรู้สึกทางกาย

แหล่งที่มา

WikiPedia: ระบบควบคุมพีไอดี http://asl.epfl.ch/research/projects/VtolIndoorFly... http://www.controleng.com/article/CA307745.html http://www.controlguru.com/pages/table.html http://www.elecdesign.com/Articles/ArticleID/6131/... http://www.embedded.com/2000/0010/0010feat3.htm http://www.embedded.com/story/OEG20020726S0044 http://www.pidlab.com http://www.pidlab.com/en/pid-design-and-tuning http://www.engin.umich.edu/group/ctm/PID/PID.html http://www.engin.umich.edu/group/ctm/examples/pend...