Chuyển đổi các thành phần của bộ điều khiển PID với phản hồi trạng thái thành hàm truyền đơn và dạng không gian trạng thái riêng biệt


9

Tôi đã vật lộn với vấn đề này khoảng một tuần nay, như là một phần của dự án kéo dài một năm. Chúng tôi đang thiết kế bộ điều khiển cho một lò phản ứng cụ thể dựa trên một mô hình. Sau khi xem xét điều này một lúc, tôi vẫn không thể làm việc này - vì vậy tôi thực sự sẽ đánh giá cao nếu tôi có thể nhận được sự giúp đỡ.

Một trong những đánh giá tài liệu đã xuất bản mà chúng tôi chủ yếu dựa vào việc liệt kê bộ điều khiển PID vào từng thành phần riêng biệt thay vì phương trình kết hợp, như vậy:

{P(n)=Kp[G(n)target]I(n)=I(n1)+KpTI[G(n)target]D(n)=KpTDdGdt(n)

Đơn giản chỉ cần kết hợp ba thành phần vào đầu ra bộ điều khiển PID:

PID(n)=P(n)+I(n)+D(n)

Và từ đây, tác giả đã thêm một lớp phản hồi trạng thái bổ sung vào đầu tín hiệu PID để có được đầu ra bộ điều khiển cuối cùng được áp dụng trên hệ thống.

{Q(n)=K0R(n1)+K1Q(n1)K2Q(n2)R(n)=(1+γ)PID(n)γQ(n1)

Và R là "đầu ra bộ điều khiển" cuối cùng. Ở đây, là mức tăng quá trình, T TôiT D là những thành tựu không thể thiếu và phái sinh, K 0 , K 1K 2 là "lợi nhuận" điều chỉnh cho các nhà phản hồi (không thay đổi), và γ là một hằng số, 0,5. G ( n ) là trạng thái hệ thống, Q ( n ) là trạng thái ước tính ảnh hưởng đến động lực học mô hình và R ( n ) là đầu ra thực tế cuối cùng được gửi đến nhà máy.KpTITDK0,K1K2γG(n)Q(n)R(n)

Trước tiên tôi đã cố gắng chuyển đổi toàn bộ thành một chức năng chuyển bộ điều khiển duy nhất, nhưng tôi được bảo rằng chỉ cần thêm chúng lại với nhau sẽ không hoạt động.

Tôi cũng được giao nhiệm vụ tìm một đại diện không gian trạng thái riêng biệt của bộ điều khiển này. Đối với điều này, tôi đã cố gắng thay đổi vàoG(n)-G(n-1)để thoát khỏi vấn đề đó.dGdt(n)G(n)G(n1)

Tiếp theo, tôi đã cố gắng xác định một biến trạng thái mới cho để Q ( n - 1 )Q ( n - 2 ) có thể được chuyển đổi thành thứ tự đầu tiên.Q(n)Q(n1)Q(n2)

Sau đó, tôi đã cố gắng thay thế các giá trị vào bộ điều khiển PID, để lấy làm biến trạng thái. Những nỗ lực này đều dựa trên các khuyến nghị của giáo sư của tôi.G(n)

Tuy nhiên, tôi vẫn còn rất bế tắc, vì tôi đã mù quáng đi theo chỉ dẫn của anh ta mà không có tầm nhìn tổng thể để làm việc với nó. Tôi nghĩ đó là một vấn đề đơn giản của sự biến đổi Tustin - ồ, làm thế nào tôi đã sai ...

Tôi khá thất vọng, vì sau một nỗ lực kéo dài một tuần, tôi vẫn bị bối rối bởi những gì dường như là một vấn đề đơn giản.

Nếu có thể, tôi có thể khiêm tốn nhờ bạn giúp đỡ về hai câu hỏi cụ thể này không?

  1. G(s)=1s+1
  2. Chuyển đổi bộ điều khiển này thành một đại diện không gian trạng thái riêng biệt, để lại tốc độ lấy mẫu là một biến?

MATLAB và Maple có thể giải quyết những vấn đề này. Tôi có cả hai chương trình. Tôi đã in bài viết của bạn và sẽ cố gắng làm việc chúng. Tôi đã làm một số điều này ở trường đại học.
Wesley Wortman

Bạn có thể cho tiêu đề của ấn phẩm?
Hazem

Câu trả lời:


1

Đó không phải là một câu trả lời hoàn chỉnh nhưng tôi hy vọng rằng nó có thể giúp ích.

Bạn có thể viết lại hệ thống đầu tiên như

{P(n)=KPE(n)I(n)=I(n1)+KPTIE(n)ΔtD(n)=KPTDE(n)E(n1)Δt

E(n)=G(n)target(n)ΔtTDTIKI=KPTIKD=KPTI

Bây giờ bạn có thể viết lại hệ thống như là một chức năng duy nhất của lỗi.

PID(n)=P(n)+I(n)+D(n)

I(n1)=PID(n1)P(n1)D(n1)=PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt

PID(n)=KPE(n)+PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt+KPTIE(n)Δt+KPTDE(n)E(n1)Δt=PID(n1)+KP((1+ΔtTI+TDΔt)E(n)(1+2TDΔt)E(n1)+TDΔtE(n2))

Cách thứ hai phức tạp hơn một chút để viết lại thành một phương trình đơn lẻ nhưng bạn có thể thực hiện theo cách tương tự. Kết quả phải là

R(n)=K1R(n1)(γK0+K2)R(n2)+(1+γ)(PID(n)K1PID(n1)+K2PID(n2))

Bây giờ bạn chỉ cần thay thế phương trình của PID để có được phương trình của bộ điều chỉnh là hàm của lỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.