- หน้าแรก
- คลังความรู้
- ระบบควบคุม
- ออกแบบด้วยรูทโลคัส
// บทที่ 13.10 · ระบบควบคุม · Design by Root Locus
ออกแบบด้วยรูทโลคัส: เลือกเกน เพิ่มขั้วหรือศูนย์ และตัวชดเชย
วาดรูทโลคัสได้แล้ว คำถามต่อไปคือ “ใช้ทำอะไร” คำตอบคือออกแบบ: ถ้าโลคัสผ่านจุดที่ต้องการ ก็แค่เลือก K ถ้าไม่ผ่าน ก็ดัดโลคัสด้วยการเพิ่มศูนย์ (ดึงไปซ้าย) หรือขั้ว (ผลักไปขวา) ให้ผ่านจุดนั้น หน้านี้คือหัวใจของการออกแบบในโดเมนเวลา สูตรใช้รหัส J
สรุปใน 30 วินาที
- สเปก → จุด sd → ผ่านโลคัสไหม (เงื่อนไขมุม) → ผ่าน: หา K ด้วยเงื่อนไขขนาด
- ไม่ผ่าน: มุมที่ขาด ϕc เติมด้วยศูนย์ (PD) หรือคู่ศูนย์-ขั้ว (lead)
- ความผิดพลาดค้าง: คู่ขั้วที่ 0 + ศูนย์ใกล้ 0 (PI) โลคัสเดิมแทบไม่เปลี่ยน
- K<0: กฎมุม 0° · พารามิเตอร์อื่น: จัดรูป 1+αF(s)=0 แล้ววาดตามปกติ
ขั้น 1: เลือก K เมื่อโลคัสผ่านจุดที่ต้องการ พื้นฐาน
J1 Gain selection เลือกเกนจากสเปก
sd=−ζωn±jωn1−ζ2,K=∏∣sd−zi∣∏∣sd−pj∣
ถ้ากำหนดแค่ ζ: หาจุดตัดของเส้น ζ กับโลคัส · ถ้ากำหนดทั้ง ζ และ ωn (หรือ ts) ต้องตรวจเงื่อนไขมุมก่อนว่าจุดอยู่บนโลคัส
ตัวอย่าง J-1 · P ได้แค่ไหนพลานต์ G(s)=(s+1)(s+5)1 หา K ที่ให้ ζ=0.6 และหาความผิดพลาดค้าง
โลคัส: ชนกันที่ −3 แล้วขึ้นลงตามเส้น σ=−3 · จุดบนเส้น ζ=0.6: ωn=3/0.6=5 ได้ sd=−3±j4
J1: K=∣sd+1∣∣sd+5∣=∣−2+j4∣∣2+j4∣=2020=20
ess=1+20/51=0.2
K=20: overshoot 9.5%, ts ≈ 1.2 s แต่ความผิดพลาดค้าง 20% (เอาต์พุตไปได้แค่ 0.8) ต้องแก้ด้วย PI ในตัวอย่าง J-3
ผลของการเพิ่มขั้วและศูนย์ต่อรูปร่างโลคัส พื้นฐาน
J2 Adding poles and zeros เพิ่มขั้วและศูนย์
เพิ่มศูนย์ z: n−m↓, σa→n−m−1∑p−∑z−z(ดึงไปซ้าย),เพิ่มขั้ว: n−m↑ (ผลักไปขวา)
ศูนย์ยิ่งใกล้จุดกำเนิด ยิ่งดึงแรง แต่ต้องระวังศูนย์ไปโผล่ในวงปิดเพิ่ม overshoot (T9) · ขั้วที่เพิ่มยิ่งใกล้จุดกำเนิด ยิ่งผลักแรง (lag และ I ทำให้แกว่งขึ้น)
เพิ่มศูนย์ที่ −3 ให้ K/[s(s+1)(s+2)]: จากเดิมที่ไม่เสถียรเมื่อ K>6 กลายเป็นเสถียรทุก K
ออกแบบ PD ด้วยการชดเชยมุม กลาง
J3 PD by angle compensation วางศูนย์ PD
ϕc=−180∘−∠G(sd),z=σd+tanϕcωd (ศูนย์ที่ −z),C(s)=KD(s+z)
σd,ωd = ขนาดส่วนจริงและส่วนจินตภาพของ sd · ใช้ได้เมื่อ 0<ϕc<90∘ ถ้ามากกว่านั้นใช้ lead สองตัวหรือ PD สองตัว
ตัวอย่าง J-2 · PD ให้เซอร์โวเร็วขึ้น 2 เท่าพลานต์ G(s)=s(s+5)1 ต้องการขั้วที่ ζ=0.5, ωn=10
sd=−5±j8.66 · โลคัสเดิมเป็นเส้นดิ่ง σ=−2.5 ไม่ผ่าน
มุมพลานต์ที่ sd: จาก 0 คือ 120∘ จาก −5 คือ 90∘ ได้ −210∘ → ϕc=30∘ J3
z=5+tan30∘8.66=5+15=20 (ศูนย์ที่ −20)
KD=∣sd+20∣∣sd∣∣sd+5∣=17.3210×8.66=5
C(s)=5(s+20)=100+5s วงปิด s2+10s+100 ได้ ζ=0.5, ωn=10 พอดี · overshoot จริง 19.1% (ศูนย์ที่ −20 ในวงปิด เพิ่มจาก 16.3%)
python-control: ขั้ว −5±j8.66 ✓ · เทียบ C-3 ที่ใช้ lead กับพลานต์คล้ายกัน
ออกแบบ PI: คู่ขั้ว-ศูนย์ใกล้จุดกำเนิด กลาง
J4 PI by dipole placement วาง PI แบบคู่ขั้ว-ศูนย์
C(s)=Kss+zI,zI≈10∣Resd∣
มุมที่ sd เปลี่ยนน้อยมาก โลคัสเดิมแทบไม่ขยับ แต่เกิดขั้ววงปิดใหม่ใกล้ −zI (เกือบหักล้างกับศูนย์) ทำให้มีหางช้า ขนาดหางเล็กลงเมื่อ zI เล็ก แต่ช้าลง
ตัวอย่าง J-3 · ต่อจาก J-1เพิ่ม PI ให้ G=(s+1)(s+5)1 ที่ K=20 เพื่อกำจัดความผิดพลาดค้าง เลือก zI อย่างไร
| zI | ขั้ววงปิด | Overshoot | ts (2%) |
| (P อย่างเดียว) | −3±j4 | 9.5% | 1.2 s (แต่ค้างที่ 0.8) |
| 0.1 | −2.96±j3.97, −0.082 | 0% | 27.5 s |
| 0.3 | −2.87±j3.91, −0.255 | 0% | 8.2 s |
| 0.5 | −2.78±j3.85, −0.444 | 0.4% | 4.2 s |
| 1 (หักล้างขั้ว −1) | −2.5±j3.97 | 12.0% | 1.3 s |
ทุกตัวเลือกกำจัดความผิดพลาดค้างได้ ขั้วเด่นแทบไม่ขยับ แต่ zI เล็กมากทำให้เอาต์พุตค่อย ๆ คลานจาก 0.8 ไป 1 นานมาก · การหักล้างขั้วช้าของพลานต์ (zI=1) เร็วที่สุดเมื่อรู้ค่าขั้วแม่น
จำลองด้วย python-control · แถวสุดท้าย: L=s(s+5)20 วงปิด s2+5s+20 (ζ=0.56)
รูทโลคัสเมื่อ K ติดลบ และรูทโลคัสพารามิเตอร์ ขั้นสูง
J5 Complementary (0°) root locus รูทโลคัสเมื่อ K<0
∑∠(s−zi)−∑∠(s−pj)=0∘+360∘q,θa=n−m360∘q
แกนจริง: จำนวนขั้ว+ศูนย์ทางขวาเป็นเลขคู่ · มุมออก/เข้าใช้ 0° แทน 180° · จุดแยกคือรากของ dK/ds=0 ที่ให้ K<0 (ที่ทิ้งไปในกรณีปกติ) · ลองกดปุ่ม “K < 0” ในแล็บ
J6 Parameter root locus รูทโลคัสของพารามิเตอร์อื่น
A(s)+αB(s)=0 ⇒ 1+αA(s)B(s)=0
จัดสมการลักษณะเฉพาะให้พารามิเตอร์ α ที่สนใจ (ตำแหน่งขั้ว เกนแทโค ค่าคงเวลา) อยู่หน้า แล้วใช้กฎทุกข้อกับ B/A
ตัวอย่าง J-4 · ปรับการหน่วงแทน Kระบบ s2+as+10=0 (มอเตอร์ที่ปรับการหน่วง a ได้ เช่น ด้วยเกนแทโค) ขั้วเดินอย่างไรเมื่อ a เพิ่มจาก 0
J6: 1+as2+10s=0 ขั้วของ F ที่ ±j10 ศูนย์ที่ 0
คู่ขั้วเชิงซ้อนกับศูนย์จริงหนึ่งตัว: โลคัสเป็นวงกลมรอบศูนย์ (0) รัศมี 10 เข้าแกนจริงที่ −10 เมื่อ a=210=6.32
เมื่อ a เพิ่ม ขั้วเดินตามวงกลม ∣s∣=10 (ωn คงที่ ζ=a/(210) เพิ่ม) จนหน่วงวิกฤตที่ a=6.32 แล้วแยกบนแกนจริง ตรงกับตัวอย่างแทโคในB-3
แล็บออกแบบ
เส้นสีม่วงคือ ζ=0.5 และ 0.6 ลองเพิ่มศูนย์ (“+ ศูนย์จริง”) แล้วลากไปมาเพื่อให้โลคัสผ่านจุดที่ต้องการ แล้วคลิกบนโลคัสเลือก K ดูผลตอบสนองทันที
กำลังโหลดแล็บ (ต้องเปิด JavaScript)
คำถามที่พบบ่อย
ทำไมเพิ่มศูนย์แล้วระบบเสถียรขึ้น?
ศูนย์ลดจำนวนเส้นกำกับ (n − m ลดลง) และดึงจุดตัดเส้นกำกับไปทางซ้าย กิ่งที่เคยข้ามไปฝั่งขวาจึงถูกดึงกลับมา ในภาษาความถี่คือศูนย์เพิ่มเฟสบวก ทำให้เฟสมาร์จินมากขึ้น
วางศูนย์ของ PI ไว้ตรงไหนดี?
ใกล้จุดกำเนิดเมื่อเทียบกับขั้วเด่น (ประมาณ 1/10 ของส่วนจริงขั้วเด่น) เพื่อให้รูทโลคัสเดิมแทบไม่เปลี่ยน แต่ยิ่งใกล้มากยิ่งเกิดขั้ววงปิดช้าที่ทำให้หางยาว จึงต้องแลกเปลี่ยน หรือวางศูนย์หักล้างขั้วช้าของพลานต์ถ้ารู้ค่าแม่นพอ
รูทโลคัสเมื่อ K ติดลบใช้เมื่อไร?
เมื่อระบบเป็นป้อนกลับบวก เมื่อพลานต์มีเกนติดลบ (เช่น บางระบบที่มีศูนย์ฝั่งขวาเมื่อจัดรูปแล้วได้เครื่องหมายลบ) หรือเมื่อต้องการดูว่าจะเกิดอะไรถ้าต่อสายกลับขั้ว กฎเปลี่ยนเป็นเงื่อนไขมุม 0° แทน 180°
มด
อาจารย์มด · ธีรวุฒิ แสวงบุญ
อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์