- หน้าแรก
- คลังความรู้
- ระบบควบคุม
- ควบคุมดิจิทัล
// บทที่ 13.21 · ระบบควบคุม · Digital Control
ระบบควบคุมดิจิทัล: การสุ่ม z-transform และ PID ดิจิทัล
ตัวควบคุมเกือบทุกตัวในวันนี้คือโค้ดในไมโครคอนโทรลเลอร์หรือ DSP: อ่าน ADC ทุกคาบ T คำนวณ แล้วเขียน PWM ค้างไว้จนคาบถัดไป การทำแบบนี้เปลี่ยนโลกต่อเนื่อง (s) เป็นโลกไม่ต่อเนื่อง (z) และเพิ่มหน่วงเวลาที่ต้องรู้ทัน หน้านี้พาแปลงทุกอย่างที่เรียนมาเป็นดิจิทัล ตั้งแต่การสุ่ม ความเสถียรในวงกลมหนึ่งหน่วย จนถึงสมการผลต่างของ PID ที่เขียนลงชิปได้ทันที สูตรใช้รหัส Y
สรุปใน 30 วินาที
- z=esT: ฝั่งซ้ายของระนาบ s → ภายในวงกลมหนึ่งหน่วย · เสถียร ⟺∣zi∣<1
- พลานต์ + ZOH: G(z)=(1−z−1)Z{G(s)/s}
- ตัวควบคุม: แทน s≈T2z+1z−1 (Tustin) แล้วเขียนเป็นสมการผลต่าง
- ความถี่สุ่ม 20–30 เท่าของแบนด์วิดท์ · ZOH หน่วงครึ่งคาบ เสียเฟส ωcT/2
การสุ่มและวงจรคงค่า กลาง
Y1 Sampling and aliasing การสุ่มและแอลิแอส
ωs=T2π>2ωmax(ความถี่ไนควิสต์ ωs/2)
ความถี่เหนือ ωs/2 จะปรากฏเป็นความถี่ต่ำปลอม (alias) ต้องกรองด้วยฟิลเตอร์แอนติแอลิแอส RC ก่อน ADC · ดูภาพการสุ่มในแล็บสัญญาณ
Y2 ZOH equivalent of the plant พลานต์มองจากคอมพิวเตอร์
G(z)=(1−z−1)Z{sG(s)}เช่น s+aa→z−e−aT1−e−aT
แม่นตรงที่จังหวะสุ่ม (step invariant) · ปริภูมิสถานะ: Ad=eAT, Bd=∫0TeAτdτB (X6)
Y3 s-to-z mapping and stability การแมปและเสถียรภาพ
z=esT: s=−σ±jωd ↦ ∣z∣=e−σT, ∠z=±ωdT,เสถียร⟺∣zi∣<1
แกน jω → วงกลมหนึ่งหน่วย · s=0 → z=1 · ขั้วใกล้ z=1 = ช้า · ขั้วบนแกนจริงลบ (z<0) = แกว่งสลับทุกคาบ ไม่มีคู่เทียบในโลกต่อเนื่อง
Y4 Jury test (2nd order) เกณฑ์จูรีสำหรับ P(z)=a2z2+a1z+a0, a2>0
P(1)>0,P(−1)>0,∣a0∣<a2
เทียบเท่าเราท์ในโลก z · อันดับสูงกว่าใช้ตารางของจูรี หรือแปลง z=1−w1+w แล้วใช้เราท์
ตัวอย่าง Y-1 · P ที่เสถียรเสมอ กลายเป็นมีเกนสูงสุดพลานต์ s+11 ควบคุมด้วย P ผ่านคอมพิวเตอร์ที่ T=0.1 s หาเกนสูงสุด
Y2: G(z)=z−e−0.11−e−0.1=z−0.90480.09516
วงปิด: z−0.9048+0.09516K=0⇒z=0.9048−0.09516K
Y3: ∣z∣<1⇒−1<0.9048−0.09516K⇒K<20.02
แบบต่อเนื่องเสถียรทุก K แต่แบบดิจิทัลเสถียรเมื่อ K<20 เท่านั้น ที่ K ใกล้ 20 ขั้วอยู่ใกล้ z=−1 เอาต์พุตแกว่งสลับขึ้นลงทุกคาบ · python-control c2d ยืนยัน G(z) ✓
แปลงตัวควบคุมเป็นดิจิทัล กลาง
Y5 Discretization methods วิธีแปลง C(s)→C(z)
Forward Euler: s≈Tz−1,Backward Euler: s≈Tzz−1,Tustin: s≈T2⋅z+1z−1
Tustin รักษาเสถียรภาพเสมอ · ถ้าต้องการให้ความถี่หนึ่ง (เช่น notch ที่ ω0) ตรงพอดี ใช้ prewarping: แทน T2 ด้วย tan(ω0T/2)ω0
Y6 Digital PID PID ดิจิทัล (I แบบ Tustin, D แบบ backward + ฟิลเตอร์)
Ik=Ik−1+2KIT(ek+ek−1),Dk=Tf+TTfDk−1+Tf+TKD(ek−ek−1),uk=KPek+Ik+Dk
รูปแบบความเร็ว (incremental): Δuk=uk−uk−1 ไม่ต้องเก็บอินทิกรัล สลับ manual/auto ไม่กระตุก · ใส่ D จากเอาต์พุตและ anti-windup ตามโค้ดในหน้า PID
Y7 Choosing the sample rate เลือกความถี่สุ่ม
ωs≈(20 ถึง 30)ωBW,ΔPM≈2ωcT rad=28.6ωcT องศา (จาก ZOH)
บวกหน่วงจากการคำนวณอีก (มักเป็นหนึ่งคาบเต็มถ้าเขียน PWM คาบถัดไป) · ลูปกระแสของไดรฟ์มอเตอร์มักสุ่ม 10–20 kHz พร้อม PWM
ตัวอย่าง Y-2 · PI ลงชิปแปลง PI C(s)=2+s1 ด้วย Tustin ที่ T=0.01 s เป็นสมการผลต่าง
Y5: s1→2T⋅z−1z+1 ได้ C(z)=2+0.005z−1z+1=z−12.005z−1.995
คูณไขว้: (z−1)U=(2.005z−1.995)E → หารด้วย z แล้วแปลงเป็นเวลา
uk=uk−1+2.005ek−1.995ek−1 · สามบรรทัดในโค้ด รันทุก 10 ms
ตัวอย่าง Y-3 · พาวเวอร์ซัพพลายดิจิทัล
ลูปแรงดันมีครอสโอเวอร์ 5 kHz ถ้าสุ่มที่ 100 kHz (เท่ากับความถี่สวิตชิ่ง) เสียเฟสเท่าไร และถ้าสุ่ม 50 kHz ล่ะ
ωc=2π×5000=31416 rad/s
100 kHz: T=10 μs → 28.6×31416×10−5=9.0∘ Y7
50 kHz: T=20 μs → 18∘
ที่ 100 kHz เสียเฟส 9° (บวกหน่วงคำนวณอีกราว 18° ถ้าอัปเดต PWM คาบถัดไป) ต้องออกแบบตัวชดเชยเผื่อไว้ · ลดความถี่สุ่มลงครึ่งหนึ่งเสียเฟสเพิ่มเท่าตัว
คำถามที่พบบ่อย
ควรเลือกความถี่สุ่มเท่าไร?
กฎหัวแม่มือคือ 20 ถึง 30 เท่าของแบนด์วิดท์วงปิด (หรือของความถี่ครอสโอเวอร์) ต่ำกว่า 10 เท่าเฟสมาร์จินจะหายไปมากจากหน่วงเวลาของ ZOH และควรใส่ฟิลเตอร์แอนติแอลิแอสก่อน ADC ที่ตัดความถี่ต่ำกว่าครึ่งหนึ่งของความถี่สุ่ม
ทำไมระบบที่เสถียรแบบต่อเนื่อง จึงไม่เสถียรเมื่อทำเป็นดิจิทัล?
เพราะการสุ่มและคงค่าเพิ่มหน่วงเวลาเฉลี่ยครึ่งคาบสุ่ม ลดเฟสมาร์จิน ยิ่งเกนสูงและคาบสุ่มยาว ยิ่งแย่ ระบบอันดับหนึ่งที่ปิดวงด้วย P ซึ่งเสถียรทุกเกนแบบต่อเนื่อง จะมีเกนสูงสุดเมื่อทำเป็นดิจิทัล
Tustin ต่างจาก Euler อย่างไร?
Euler แทนอนุพันธ์ด้วยผลต่างไปข้างหน้าหรือย้อนหลัง ง่ายแต่บิดเบี้ยวเมื่อคาบสุ่มยาว และ forward Euler อาจทำให้ระบบเสถียรกลายเป็นไม่เสถียร Tustin (bilinear) แมปฝั่งซ้ายของระนาบ s ไปภายในวงกลมหนึ่งหน่วยพอดี จึงรักษาเสถียรภาพเสมอ แม่นกว่าในช่วงความถี่ต่ำถึงกลาง นิยมที่สุดในการแปลงตัวควบคุม
มด
อาจารย์มด · ธีรวุฒิ แสวงบุญ
อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์