Durum geri bildirimli PID kontrolör bileşenlerinin tek transfer fonksiyonuna ve ayrık durum uzayı formuna dönüştürülmesi


9

Bir yıldır süren bir projenin parçası olarak bu problemle yaklaşık bir haftadır güreştim. Modele dayanan belirli bir reaktör için bir kontrolör tasarlıyoruz. Bir süre buna baktıktan sonra, hala işe yarayamıyorum - bu yüzden biraz yardım alabilirsem gerçekten minnettar olurum.

Yayımlanmış literatür incelemelerinden biri, bir kombine denklem yerine her bir ayrı bileşene bir PID denetleyicisini listeler.

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

Üç bileşenin PID denetleyici çıkışıyla birleştirilmesi:

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

Ve buradan, yazar son kontrolör çıkışını sisteme uygulamak için PID sinyalinin üstüne ek bir durum geri bildirimi katmanı ekler.

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

Ve R son "kontrolör çıkışı" dır. Burada, süreç , ve integral ve türev kazanımlarıdır, ve durum geribildirimi (değişmez) için ayarlanmış "kazanımlardır" ve sabittir, 0.5. sistem durumudur, model dinamiklerini etkileyen tahmini bir durumdur ve tesise gönderilen gerçek nihai çıktıdır.KpTITDK0,K1K2γG(n)Q(n)R(n)

İlk olarak her şeyi tek bir denetleyici aktarım işlevine dönüştürmeye çalışıyordum, ancak bunları bir araya getirmenin işe yaramayacağı söylendi.

Ayrıca bu denetleyicinin ayrı bir durum alanı temsilini bulmakla görevlendirildim. Bunun için yi bu sorundan kurtulmak için olarak değiştirmeye çalıştım .dGdt(n)G(n)G(n1)

Bundan sonra da, yeni bir durum değişkeni tanımlamak için çalıştı ve böylece ve birinci dereceden dönüştürülmüş olabilir.Q(n)Q(n1)Q(n2)

Daha sonra durum değişkeni olarak almak için değerleri PID denetleyicisine değiştirmeye çalıştım . Tüm bu çabalar profesörümün önerilerine dayanıyordu.G(n)

Bununla birlikte, üzerinde çok genel bir vizyon olmadan yönlerini körü körüne takip ettiğim için hala çok sıkıştım. Bunun basit bir Tustin dönüşümü meselesi olacağını düşündüm - oh, nasıl çok yanılmışım ...

Oldukça sinirliyim, çünkü bir hafta süren çabadan sonra, basit bir sorun gibi görünen şeyden hala mahrum kaldım.

Mümkünse, bu iki özel soru hakkında alçakgönüllülükle yardım isteyebilir miyim?

  1. Bu denetleyiciyi tek bir denetleyici aktarım işlevine dönüştürün (genellikle herhangi bir aktarım işlevi gösteriminde görüldüğü gibi, )G(s)=1s+1
  2. Bu denetleyici, örnekleme oranını değişken olarak bırakarak, ayrı bir durum alanı gösterimine dönüştürür mü?

MATLAB ve Maple bu sorunları çözebilir. Her iki programım da var. Postanızı yazdırdım ve onları çalışmaya çalışacağım. Bunların bir kısmını üniversitede yaptım.
Wesley Wortman

Yayının başlığını verebilir misiniz?
Hazem

Yanıtlar:


1

Bu tam bir cevap değil ama umarım biraz yardımcı olabilir.

İlk sistemi şu şekilde yeniden yazabilirsiniz:

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

Nerede E(n)=G(n)target(n) ve Δtörnekleme aralığınızdır. Bunu not etTD ve TI kazanç olarak tanımlanmaz. KI=KPTI ve KD=KPTI sırasıyla integral kazanç ve türev kazancıdır.

Artık sistemi hatanın tek bir fonksiyonu olarak yeniden yazabilirsiniz.

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))

İkincisi, tek bir denklem olarak yeniden yazmak için biraz daha karmaşıktır, ancak benzer şekilde yapabilirsiniz. Sonuç şu olmalıdır:

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

Şimdi sadece hatanın fonksiyonu olarak regülatörün denklemini elde etmek için PID denklemini değiştirmelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.