พิมพ์คำที่ต้องการค้นหา ทั้งภาษาไทยและอังกฤษ

  1. หน้าแรก
  2. คลังความรู้
  3. ระบบควบคุม
  4. เกนและเฟสมาร์จิน

// บทที่ 13.13 · ระบบควบคุม · Gain & Phase Margins

วิเคราะห์โบด: เกนมาร์จิน เฟสมาร์จิน และเสถียรภาพจากกราฟ

เราท์ตอบว่า “เสถียรหรือไม่” แต่วิศวกรต้องการรู้ว่าห่างจากความไม่เสถียรแค่ไหน เพราะพลานต์จริงเปลี่ยนตามอุณหภูมิ โหลด และอายุการใช้งาน มาร์จินคือ “ระยะปลอดภัย” สองตัวที่อ่านได้จากโบดของวงเปิดทันที โดยไม่ต้องปิดวงหรือแก้สมการ และแปลงเป็น overshoot ได้ด้วย สูตรใช้รหัส G

เขียนโดย อาจารย์มดอัปเดต
สรุปใน 30 วินาที
  • ωgc\omega_{gc}: ที่ ∣L∣=0|L| = 0 dB → PM = 180∘+∠L(jωgc)180^\circ + \angle L(j\omega_{gc})
  • ωpc\omega_{pc}: ที่ ∠L=−180∘\angle L = -180^\circ → GM = −∣L(jωpc)∣dB-|L(j\omega_{pc})|_{\text{dB}}
  • วงเปิดเสถียร: วงปิดเสถียร   ⟺  \iff GM > 0 dB และ PM > 0°
  • ζ≈PM/100\zeta \approx \text{PM}/100 · ωgc\omega_{gc} ≈ ความเร็วของวงปิด · ค่าแนะนำ PM 45°–60°, GM ≥ 6–10 dB
ระดับพื้นฐาน เริ่มเรียนกลาง ป.ตรี วิศวกรรมขั้นสูง งานออกแบบ

ทำไมจุดอันตรายคือ 0 dB กับ −180° พื้นฐาน

ขั้ววงปิดคือรากของ 1+L(s)=01 + L(s) = 0 หรือ L(s)=−1L(s) = -1 ถ้าวงปิดมีขั้วบนแกน jωj\omega (ขอบเสถียร) ที่ s=jω0s = j\omega_0 แปลว่า L(jω0)=−1L(j\omega_0) = -1 คือขนาด 1 (0 dB) และเฟส −180° พร้อมกัน ในเชิงฟิสิกส์: สัญญาณไซน์ที่วิ่งรอบลูปกลับมาขนาดเท่าเดิมและกลับเฟสพอดี เมื่อผ่านจุดลบของตัวเปรียบเทียบ กลายเป็นเฟสเดียวกันเสริมกัน วงจรจึงแกว่งค้างด้วยตัวเอง (หลักการเดียวกับวงจรออสซิลเลเตอร์ Barkhausen) มาร์จินวัดว่าเราอยู่ห่างจากสภาวะนี้แค่ไหน

นิยามเกนมาร์จินและเฟสมาร์จิน พื้นฐาน

G1 Phase margin เฟสมาร์จิน

∣L(jωgc)∣=1 (0 dB),PM=180∘+∠L(jωgc)|L(j\omega_{gc})| = 1 \ (0 \text{ dB}), \qquad \text{PM} = 180^\circ + \angle L(j\omega_{gc})

เฟสที่ล่าช้าเพิ่มได้อีกเท่าไร (ที่ ωgc\omega_{gc}) ก่อนจะไม่เสถียร · บนโบด: ลากเส้นดิ่งจากจุดที่ขนาดตัด 0 dB ลงไปกราฟเฟส วัดระยะเหนือเส้น −180°

G2 Gain margin เกนมาร์จิน

∠L(jωpc)=−180∘,GM=1∣L(jωpc)∣หรือGMdB=−20log⁡∣L(jωpc)∣\angle L(j\omega_{pc}) = -180^\circ, \qquad \text{GM} = \frac{1}{|L(j\omega_{pc})|} \quad \text{หรือ} \quad \text{GM}_{\text{dB}} = -20\log|L(j\omega_{pc})|

คูณเกนเพิ่มได้อีกกี่เท่าก่อนจะไม่เสถียร · บนโบด: จากจุดที่เฟสตัด −180° ลากขึ้นไปกราฟขนาด วัดระยะใต้เส้น 0 dB · GM เป็นเท่า = Kcr/KK_{cr}/K จากเราท์

G3 Bode stability criterion เกณฑ์เสถียรภาพจากโบด

L(s) เสถียร, ตัด 0 dB และ −180° อย่างละครั้ง:วงปิดเสถียร  ⟺  GMdB>0 และ PM>0∘ (ωgc<ωpc)L(s) \text{ เสถียร, ตัด 0 dB และ −180° อย่างละครั้ง}: \quad \text{วงปิดเสถียร} \iff \text{GM}_{\text{dB}} \gt 0 \ \text{และ} \ \text{PM} \gt 0^\circ \ (\omega_{gc} \lt \omega_{pc})

นอกเงื่อนไขนี้ (วงเปิดไม่เสถียร ตัดหลายครั้ง เสถียรแบบมีเงื่อนไข) ต้องใช้ไนควิสต์ ซึ่งเป็นรากฐานของเกณฑ์นี้

ตัวอย่าง G-1 · ระบบเดิมจากเราท์และรูทโลคัส

หา GM และ PM ของ L(s)=2s(s+1)(s+2)L(s) = \dfrac{2}{s(s+1)(s+2)}

  1. หา ωpc\omega_{pc}: ∠L=−90∘−tan⁡−1ω−tan⁡−1ω2=−180∘⇒tan⁡−1ω+tan⁡−1ω2=90∘\angle L = -90^\circ - \tan^{-1}\omega - \tan^{-1}\tfrac{\omega}{2} = -180^\circ \Rightarrow \tan^{-1}\omega + \tan^{-1}\tfrac{\omega}{2} = 90^\circ

    ⇒ ω⋅ω2=1 ⇒ ωpc=2=1.414\Rightarrow\ \omega \cdot \tfrac{\omega}{2} = 1 \ \Rightarrow\ \omega_{pc} = \sqrt2 = 1.414
  2. ∣L(j2)∣=22⋅3⋅6=26=13|L(j\sqrt2)| = \dfrac{2}{\sqrt2\cdot\sqrt3\cdot\sqrt6} = \dfrac{2}{6} = \dfrac13 ได้ GM =3= 3 เท่า =20log⁡3=9.54 dB= 20\log3 = \hlC{9.54\ \text{dB}} G2

  3. หา ωgc\omega_{gc}: ω1+ω24+ω2=2\omega\sqrt{1 + \omega^2}\sqrt{4 + \omega^2} = 2 แก้เชิงตัวเลข (ลองแทน) ได้ ωgc=0.749\omega_{gc} = 0.749

  4. ∠L(j0.749)=−90∘−36.8∘−20.5∘=−147.4∘\angle L(j0.749) = -90^\circ - 36.8^\circ - 20.5^\circ = -147.4^\circ ได้ PM =32.6∘= \hlC{32.6^\circ} G1

0.010.1110100−120−100−80−60−40−200204060|G(jω)| (dB)0.010.1110100−315−270−225−180−135−90−45045∠G(jω) (°)ω (rad/s)PM = 32.6°GM = 9.5 dB

GM = 9.54 dB (เพิ่มเกนได้อีก 3 เท่า ถึง K=6K = 6 ตรงกับเราท์) · PM = 32.6° ค่อนข้างน้อย คาดว่าจะแกว่งพอสมควร

python-control: GM = 9.54 dB ที่ 1.414 rad/s, PM = 32.6° ที่ 0.749 rad/s ✓ · สามเครื่องมือ (เราท์ รูทโลคัส โบด) ให้ Kcr=6K_{cr} = 6 เหมือนกัน

แปลมาร์จินเป็นสเปกเวลา กลาง

สำหรับวงเปิด L(s)=ωn2s(s+2ζωn)L(s) = \dfrac{\omega_n^2}{s(s + 2\zeta\omega_n)} วงปิดคือระบบอันดับสองมาตรฐานพอดี จึงหาความสัมพันธ์แบบแม่นตรงได้ ระบบอื่นที่มีคู่ขั้วเด่นใช้เป็นค่าประมาณที่ดี

G4 Phase margin vs damping ratio เฟสมาร์จินกับ ζ

PM=tan⁡−12ζ1+4ζ4−2ζ2 ≈ 100ζ  (ζ≤0.7)\text{PM} = \tan^{-1}\frac{2\zeta}{\sqrt{\sqrt{1 + 4\zeta^4} - 2\zeta^2}} \ \approx\ 100\zeta \ \ (\zeta \le 0.7)

ζ = 0.3 → 33° (Mp 37%) · ζ = 0.5 → 52° (Mp 16%) · ζ = 0.6 → 59° (Mp 9.5%) · ζ = 0.7 → 65° (Mp 4.6%)

G5 Crossover and speed ครอสโอเวอร์กับความเร็ว

ωgc=ωn1+4ζ4−2ζ2,ωgc<ωBW<2ωgc\omega_{gc} = \omega_n\sqrt{\sqrt{1 + 4\zeta^4} - 2\zeta^2}, \qquad \omega_{gc} \lt \omega_{BW} \lt 2\omega_{gc}

กฎหัวแม่มือ: tr≈1.5/ωgct_r \approx 1.5/\omega_{gc} ถึง 2/ωgc2/\omega_{gc} · ครอสโอเวอร์สูง = เร็ว แต่ไวต่อสัญญาณรบกวน

G6 Delay margin ดีเลย์มาร์จิน

Tmax=PM (rad)ωgc=PM∘⋅π/180ωgcT_{max} = \frac{\text{PM (rad)}}{\omega_{gc}} = \frac{\text{PM}^\circ \cdot \pi/180}{\omega_{gc}}

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

ตัวอย่าง G-2 · ดีเลย์มาร์จิน

ระบบใน G-1 (K=2K = 2) ทนหน่วงเวลาในลูปได้สูงสุดเท่าไร ถ้าใช้ไมโครคอนโทรลเลอร์ที่ทำให้หน่วง 0.1 s จะเหลือ PM เท่าไร

  1. G6: Tmax=32.6×π/1800.749=0.5690.749=0.76 sT_{max} = \dfrac{32.6 \times \pi/180}{0.749} = \dfrac{0.569}{0.749} = \hlC{0.76\ \text{s}}

  2. หน่วง 0.1 s กินเฟสที่ ωgc\omega_{gc}: 0.749×0.1×57.3=4.3∘0.749 \times 0.1 \times 57.3 = 4.3^\circ (ขนาดไม่เปลี่ยน ωgc\omega_{gc} จึงเท่าเดิม)

ทนได้ 0.76 s · หน่วง 0.1 s เหลือ PM 32.6∘−4.3∘=28.3∘32.6^\circ - 4.3^\circ = 28.3^\circ

ออกแบบ: เลือก K ให้ได้เฟสมาร์จินตามต้องการ กลาง

เปลี่ยน KK แค่เลื่อนกราฟขนาดขึ้นลง กราฟเฟสไม่เปลี่ยน ดังนั้นวิธีคือหาความถี่ที่เฟสเท่ากับ −180∘+PM-180^\circ + \text{PM} ที่ต้องการ แล้วเลือก KK ให้ขนาดที่ความถี่นั้นเป็น 0 dB

ตัวอย่าง G-3 · PM = 45°

หา KK ที่ทำให้ L(s)=Ks(s+1)(s+2)L(s) = \dfrac{K}{s(s+1)(s+2)} มีเฟสมาร์จิน 45°

  1. ต้องการ ∠L=−135∘\angle L = -135^\circ: tan⁡−1ω+tan⁡−1ω2=45∘\tan^{-1}\omega + \tan^{-1}\tfrac{\omega}{2} = 45^\circ

  2. ใช้ tan⁡(A+B)\tan(A + B): ω+ω/21−ω2/2=1⇒ω2+3ω−2=0⇒ω=−3+172=0.5616\dfrac{\omega + \omega/2}{1 - \omega^2/2} = 1 \Rightarrow \omega^2 + 3\omega - 2 = 0 \Rightarrow \omega = \dfrac{-3 + \sqrt{17}}{2} = 0.5616

  3. ให้ ∣L∣=1|L| = 1 ที่ความถี่นั้น: K=ω1+ω24+ω2=0.5616×1.147×2.077=1.338K = \omega\sqrt{1 + \omega^2}\sqrt{4 + \omega^2} = 0.5616 \times 1.147 \times 2.077 = \hlC{1.338}

0.010.1110100−140−120−100−80−60−40−200204060|G(jω)| (dB)0.010.1110100−315−270−225−180−135−90−45045∠G(jω) (°)ω (rad/s)PM = 45.0°GM = 13.0 dB

K=1.338K = 1.338 ได้ PM = 45° ที่ ωgc=0.562\omega_{gc} = 0.562 rad/s และ GM = 20log⁡(6/1.338)=13.020\log(6/1.338) = 13.0 dB · ใช้ ζ≈0.45\zeta \approx 0.45 ทำนาย overshoot ราว 20%

python-control: PM = 45.0°, GM = 13.03 dB ✓ · overshoot จริง 23.8% (ระบบอันดับสาม ค่าประมาณ ζ≈PM/100\zeta \approx \text{PM}/100 ใช้ได้ระดับคร่าว ๆ) · ถ้าต้องการทั้ง PM สูงและเร็วกว่านี้ ต้องใช้ตัวชดเชย lead

เมื่อมาร์จินหลอกเรา ขั้นสูง

  • เสถียรแบบมีเงื่อนไข (conditionally stable): เฟสลงต่ำกว่า −180° แล้วกลับขึ้นมา ทั้งลดและเพิ่มเกนอาจทำให้ไม่เสถียร เช่น L=K(s+1)2s3L = \dfrac{K(s+1)^2}{s^3} GM ที่อ่านได้มีสองค่า ต้องดูไนควิสต์ (ลองในแล็บ preset “เสถียรแบบมีเงื่อนไข” บนหน้าฮับ)
  • วงเปิดไม่เสถียร: เช่น ลูกตุ้มกลับหัว กราฟโบดอาจดูเหมือนมาร์จินติดลบทั้งที่วงปิดเสถียร
  • ยอดเรโซแนนซ์ใกล้ 0 dB: GM และ PM ดูดี แต่จุดบนไนควิสต์ผ่านใกล้ −1 ในทิศอื่น ตัวชี้วัดที่ดีกว่าคือระยะใกล้สุดถึง −1 1/max⁡∣S(jω)∣1/\max|S(j\omega)| (modulus margin, นิยม Ms<2M_s \lt 2)
  • ขั้วความถี่สูงที่ไม่ได้จำลอง: เซนเซอร์ ไดรเวอร์ ฟิลเตอร์ ADC ล้วนเพิ่มเฟสล่าช้า เผื่อมาร์จินไว้เสมอ
งานPM ที่นิยมGM ที่นิยม
กระบวนการอุตสาหกรรม (อุณหภูมิ การไหล)45°–60°≥ 6–8 dB
เซอร์โวตำแหน่ง แขนกลหุ่นยนต์50°–70°≥ 10 dB
พาวเวอร์ซัพพลายแบบสวิตชิ่ง45°–70°≥ 10 dB (ครอสโอเวอร์ ≤ fsw/10)
แอมป์ป้อนกลับ / ออปแอมป์ (เสถียรที่ unity gain)≥ 45°–60°≥ 10 dB

แล็บมาร์จิน: เลื่อน K ดู PM GM และ overshoot

เลื่อน KK แล้วสังเกตสามอย่างพร้อมกัน: เส้นขนาดเลื่อนขึ้นลง ωgc\omega_{gc} ขยับ PM (แท่งเขียวในกราฟเฟส) ลดลงเมื่อ KK เพิ่ม และผลตอบสนองขั้นบันไดแกว่งมากขึ้น ลอง K=1.338K = 1.338 (PM 45°) และ K=6K = 6 (GM 0 dB แกว่งค้าง)

กำลังโหลดแล็บ (ต้องเปิด JavaScript)

ต่อยอดไปหน้าถัดไป

มาร์จินจากโบดคือกรณีพิเศษของเกณฑ์ไนควิสต์ ซึ่งใช้ได้กับทุกระบบ ส่วนถ้ามาร์จินไม่พอ ไปออกแบบตัวชดเชย lead และ lag เพื่อดัดกราฟโบดให้ได้ตามสเปก

คำถามที่พบบ่อย

เฟสมาร์จินเท่าไรถึงจะดี?

งานทั่วไปใช้ 45° ถึง 60° ซึ่งให้ overshoot ประมาณ 10% ถึง 25% ระบบที่ต้องนุ่มนวล เช่น เซอร์โวตำแหน่งหรือพาวเวอร์ซัพพลายใช้ 60° ขึ้นไป ต่ำกว่า 30° จะแกว่งมากและไวต่อการเปลี่ยนแปลงของพลานต์ เกนมาร์จินควรมากกว่า 6 dB (นิยม 10 dB ขึ้นไป)

เกนมาร์จินเป็นอนันต์หมายความว่าอะไร?

เฟสไม่ตัด −180° เลย เช่น ระบบอันดับหนึ่งหรือสองที่ไม่มีหน่วงเวลา เพิ่มเกนเท่าไรก็ไม่ไม่เสถียร (ในทางทฤษฎี) แต่ในงานจริงมีหน่วงเวลาและขั้วความถี่สูงที่ไม่ได้ใส่ในแบบจำลองเสมอ จึงอย่าเชื่อ GM อนันต์มากนัก ดูเฟสมาร์จินประกอบ

อ่านมาร์จินจากโบดใช้กับทุกระบบได้ไหม?

ใช้ได้กับระบบที่วงเปิดเสถียรและมีครอสโอเวอร์ครั้งเดียว ซึ่งเป็นกรณีส่วนใหญ่ ถ้าวงเปิดไม่เสถียร (มีขั้วฝั่งขวา) หรือขนาดตัด 0 dB หลายครั้ง หรือเป็นระบบเสถียรแบบมีเงื่อนไข ต้องใช้เกณฑ์ไนควิสต์ตัดสิน

ทำไมเฟสมาร์จินสัมพันธ์กับ overshoot?

สำหรับวงเปิด ωn²/(s(s + 2ζωn)) ซึ่งให้วงปิดเป็นระบบอันดับสองมาตรฐาน เฟสมาร์จินเป็นฟังก์ชันของ ζ อย่างเดียว ประมาณ PM ≈ 100ζ เมื่อ ζ ไม่เกิน 0.7 และ ζ กำหนด overshoot ระบบอันดับสูงที่มีขั้วเด่นคู่เดียวจึงใช้ความสัมพันธ์นี้ประมาณได้

อาจารย์มด · ธีรวุฒิ แสวงบุญ
อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์