มีหลายจุดว่าทำไมรูปแบบการแปลง Z จึงมีประโยชน์สูงกว่า
ขอให้ทุกคนโปรโมตวิธีตามเวลา / แบบง่าย / sans-PHD ตามที่ Kd กำหนดไว้ พวกเขามีแนวโน้มที่จะตอบ 'ศูนย์' และพวกเขามีแนวโน้มที่จะบอกว่า D ไม่เสถียร (โดยไม่มีตัวกรอง low-pass) ก่อนที่ฉันจะเรียนรู้ว่าสิ่งทั้งหมดนี้มารวมกันได้อย่างไรฉันก็จะพูดอย่างนั้น
การปรับ Kd นั้นยากในโดเมนเวลา เมื่อคุณสามารถเห็นฟังก์ชั่นการถ่ายโอน (การแปลง Z ของระบบย่อย PID) คุณสามารถดูได้ว่ามีความเสถียรเพียงใด คุณพร้อมที่จะดูว่าเทอม D มีผลต่อคอนโทรลเลอร์อย่างไรเมื่อเทียบกับพารามิเตอร์อื่น หากพารามิเตอร์ Kd ของคุณสนับสนุน 0.00001 กับค่าสัมประสิทธิ์ z- พหุนาม แต่เทอม Ki ของคุณใส่ 10.5 แล้วเทอม D ของคุณเล็กเกินไปที่จะมีผลกระทบที่แท้จริงต่อระบบ นอกจากนี้คุณยังสามารถดูความสมดุลระหว่างข้อกำหนด Kp & Ki
DSP ถูกออกแบบมาเพื่อคำนวณสมการไฟไนต์ดิฟเฟอเรนเชียล (FDE) พวกเขามีรหัส op ที่จะคูณสัมประสิทธิ์ผลรวมเพื่อสะสมและเปลี่ยนค่าในบัฟเฟอร์ในหนึ่งรอบการเรียนการสอน นี่เป็นการใช้ประโยชน์จากลักษณะขนานของ FDE หากเครื่องไม่มีรหัสนี้ ... ไม่ใช่ DSP Embedded PowerPC (MPC) มีอุปกรณ์ต่อพ่วงที่อุทิศให้กับการคำนวณ FDE's (พวกเขาเรียกมันว่าหน่วยการทำลายล้าง) DSP ของถูกออกแบบมาเพื่อคำนวณ FDE เพราะมันเป็นเรื่องง่ายที่จะแปลงฟังก์ชั่นการถ่ายโอนเป็น FDE 16-bits นั้นไม่เพียงพอสำหรับช่วงไดนามิกเพื่อหาค่าสัมประสิทธิ์ DSP ยุคแรก ๆ หลายแห่งมีคำ 24- บิตด้วยเหตุผลนี้ (ฉันเชื่อว่าคำศัพท์ 32- บิตเป็นเรื่องธรรมดาในวันนี้)
IIRC, การแปลง bilinear ที่เรียกว่าใช้ฟังก์ชั่นการถ่ายโอน (การแปลง z ของตัวควบคุมโดเมนเวลา) และเปลี่ยนเป็น FDE การพิสูจน์ว่ามัน 'ยาก' การใช้มันเพื่อให้ได้ผลลัพธ์นั้นไม่สำคัญ - คุณแค่ต้องการรูปแบบที่ขยาย (คูณทุกอย่างออกไป) และค่าสัมประสิทธิ์พหุนามเป็นสัมประสิทธิ์ FDE
ตัวควบคุม PI ไม่ใช่วิธีการที่ยอดเยี่ยมวิธีที่ดีกว่าคือการสร้างแบบจำลองว่าระบบของคุณทำงานอย่างไรและใช้ PID เพื่อแก้ไขข้อผิดพลาด แบบจำลองควรเรียบง่ายและอิงตามฟิสิกส์พื้นฐานของสิ่งที่คุณกำลังทำ นี่คือการส่งต่อไปยังบล็อกควบคุม จากนั้นบล็อก PID จะแก้ไขข้อผิดพลาดโดยใช้ความคิดเห็นจากระบบภายใต้การควบคุม
หากคุณใช้ค่าปกติ, [-1 .. 1] หรือ [0 ... 1], สำหรับจุดตั้งค่า (การอ้างอิง), ข้อเสนอแนะ, และฟีดไปข้างหน้าจากนั้นคุณสามารถใช้อัลกอริทึม 2 ขั้ว 2 ศูนย์ใน ชุดประกอบ DSP ที่ได้รับการปรับปรุงและคุณสามารถใช้เพื่อใช้ตัวกรองลำดับที่สองซึ่งรวมถึง PID และตัวกรอง low-pass (หรือ high-pass) พื้นฐานที่สุด นี่คือสาเหตุที่ DSP มี op-code ที่เข้าใจค่าปกติเช่นหนึ่งที่จะส่งออกค่าประมาณของ inverse-squareroot สำหรับช่วง (0..1] คุณสามารถใส่ตัวกรอง 2p2z สองชุดในชุดและสร้างตัวกรอง 4p4z ซึ่งจะช่วยให้ ให้คุณใช้ประโยชน์จากรหัส DSP 2p2z ของคุณเพื่อพูดใช้ตัวกรอง Butterworth low-pass 4-tap
การใช้โดเมนเวลาส่วนใหญ่ทำให้คำ dt เป็นพารามิเตอร์ PID (Kp / Ki / Kd) การใช้โดเมน z ส่วนใหญ่ไม่ dt ถูกใส่ลงในสมการที่ใช้ Kp, Ki, & Kd แล้วเปลี่ยนเป็นสัมประสิทธิ์ [] & b [] เพื่อให้การสอบเทียบ (ปรับแต่ง) ของคอนโทรลเลอร์ PID ของคุณเป็นอิสระจากอัตราการควบคุม คุณสามารถทำให้มันรันเร็วขึ้นสิบเท่าหมุนคณิตศาสตร์ [] & b [] และตัวควบคุม PID จะมีประสิทธิภาพที่สอดคล้องกัน
ผลลัพธ์ตามธรรมชาติของการใช้ FDE คืออัลกอริธึมนั้นเป็น "glitchless" โดยปริยาย คุณสามารถเปลี่ยนผลกำไร (Kp / Ki / Kd) ได้ทันทีในขณะที่กำลังทำงานและมีความประพฤติดี - ขึ้นอยู่กับการใช้งานโดเมนเวลาสิ่งนี้อาจไม่ดี
มักใช้ความพยายามอย่างมากกับคอนโทรลเลอร์ PID ตามเวลาเพื่อป้องกันปัญหาลมขาด มีเคล็ดลับง่าย ๆ กับรูปแบบ FDE ที่ทำให้ PID ทำงานได้ดีคุณสามารถหนีบมูลค่าไว้ในบัฟเฟอร์ประวัติได้ ฉันยังไม่ได้ทำคณิตศาสตร์เพื่อดูว่าสิ่งนี้มีผลต่อพฤติกรรมของตัวกรองอย่างไร (เกี่ยวกับพารามิเตอร์ Kp / Ki / Kd) แต่ผลลัพธ์เชิงประจักษ์ก็คือว่า 'ราบรื่น' นี่คือการใช้ประโยชน์จากลักษณะ 'ไม่มีข้อผิดพลาด' ของรูปแบบ FDE รูปแบบการป้อนไปข้างหน้ามีส่วนช่วยในการป้องกันการขาดลมและการใช้คำศัพท์ D ช่วยให้เกิดความสมดุลในคำศัพท์ I PID ไม่ได้ผลตามที่ตั้งใจด้วยการเพิ่ม D (เซ็ตจุดแกว่ง) เป็นคุณสมบัติที่สำคัญอีกอย่างหนึ่งเพื่อป้องกันไม่ให้ลมมากเกินไป)
สุดท้าย Z-transforms เป็นหัวข้อระดับปริญญาตรีไม่ใช่ "ปริญญาเอก" คุณควรเรียนรู้เกี่ยวกับพวกมันทั้งหมดในการวิเคราะห์เชิงซ้อน นี่คือที่ที่คุณไปมหาวิทยาลัยอาจารย์ผู้สอนและความพยายามในการเรียนรู้คณิตศาสตร์และการเรียนรู้วิธีการใช้เครื่องมือที่มีอยู่สามารถสร้างความแตกต่างอย่างมีนัยสำคัญในความสามารถในการปฏิบัติงานในอุตสาหกรรม (ระดับการวิเคราะห์ที่ซับซ้อนของฉันน่ากลัว)
เครื่องมืออุตสาหกรรม defacto คือ Simulink (ซึ่งขาดระบบพีชคณิตคอมพิวเตอร์, CAS ดังนั้นคุณต้องใช้เครื่องมืออื่นในการสร้างสมการทั่วไป) MathCAD หรือ wxMaxima เป็นนักแก้ปัญหาสัญลักษณ์ที่คุณสามารถใช้กับพีซีและฉันเรียนรู้วิธีการใช้เครื่องคิดเลข TI-92 ฉันคิดว่า TI-89 ยังมีระบบ CAS
คุณสามารถค้นหาสมการ z-domain หรือ laplace-domain บนวิกิพีเดียสำหรับตัวกรอง PID และ low-pass มีขั้นตอนที่นี่ที่ฉันไม่ต้องกังวลฉันเชื่อว่าคุณต้องการรูปแบบโดเมนแบบไม่ต่อเนื่องของตัวควบคุม PID จากนั้นจำเป็นต้องใช้การแปลง z ของมัน Laplace transform ควรคล้ายกับ z-transform มากและได้รับเป็น PID {s} = Kp + Ki / s + Kd · s ฉันคิดว่าการแปลง z นั้นน่าจะดีกว่าสำหรับ Dt ในสมการต่อไปนี้ Dt คือ delta-t [ime] ฉันใช้ Dt เพื่อไม่ให้สับสนค่าคงนี้กับอนุพันธ์ 'dt'
b[0] = Kp + (Ki*Dt/2) + (Kd/Dt)
b[1] = (Ki*Dt/2) - Kp - (2*Kd/Dt)
b[2] = Kd/Dt
a[1] = -1
a[2] = 0
และนี่คือ 2p2z FDE:
y[n] = b[0]·x[n] + b[1]·x[n-1] + b[2]·x[n-2] - a[1]·y[n-1] - a[2]·y[n-2]
โดยทั่วไปแล้ว DSP มีตัวคูณ & เพิ่มเท่านั้น (ไม่ใช่ตัวคูณ & ลบ) ดังนั้นคุณอาจเห็นว่ามีการปฏิเสธในสัมประสิทธิ์ [] เพิ่ม b มากขึ้นสำหรับเสาเพิ่มเติมเพิ่ม a มากขึ้นสำหรับศูนย์ที่มากขึ้น