PID Kontrol Katsayıları

Başlatan forty69, 27 Aralık 2016, 20:16:19

Zoroaster

@Firzen bir kağıda yapacağın karalama çözümü  foto olarak yayınlarmısın?

Ya sen sorunu çok basite indirgiyorsun ve biz göremiyoruz. Ya da sorunun büyüklüğünü sen göremiyorsun?


Seytan deliginden kacti.

berat23

analitik dersen 2+2 = 4 gibi beklerim. kontrolü denen yapı tek değil ki? bunun ideali yok, tradeoff'lar ile optimal çözüme gidiyorsun. belki benim için overshoot önemli değil, responsive olması lazım?

Firzen

Alıntı yapılan: Zoroaster - 01 Ocak 2017, 16:23:44
@Firzen bir kağıda yapacağın karalama çözümü  foto olarak yayınlarmısın?

Ya sen sorunu çok basite indirgiyorsun ve biz göremiyoruz. Ya da sorunun büyüklüğünü sen göremiyorsun?




Tamam hocam yapıp eklerim
Kararsız...

Firzen

Bilgisayarımı hemen internet ola bir yere bağladıktan sonra çözümü size göndereyim dedim.
Soruyu soran arkadaş ikinci derece denklemde kökleri ve rise time vermediği için kendim seçtim.



@Zoroaster sorunun çözümünün basitliğini görebilirsiniz artık

En sonda yazan FsFix PID Kontrolördür
Kararsız...

Zoroaster

Yükselme zamanı ile zeta ve w arasında yazılan bağıntı sistemin saf 2. derece olması durumu için geçerli.

Sistemi 2 dereceden sistemmiş gibi ele almak adına baskın olmayan kutupları baskın kutuplardan uzaklaştırmakla zaten yaklaşık çözüm yapmış oluyoruz.

Hiç bir şey yapmamaktan daha iyi tabiki.



Seytan deliginden kacti.

Firzen

Alıntı yapılan: Zoroaster - 02 Ocak 2017, 14:45:20
Yükselme zamanı ile zeta ve w arasında yazılan bağıntı sistemin saf 2. derece olması durumu için geçerli.

Sistemi 2 dereceden sistemmiş gibi ele almak adına baskın olmayan kutupları baskın kutuplardan uzaklaştırmakla zaten yaklaşık çözüm yapmış oluyoruz.

Hiç bir şey yapmamaktan daha iyi tabiki.


Demek istediğinizi anlamadım. Sadece soruda overshoot istemediği için zeta=1 aldım Natural Frequency ile Rise Time arasında kullanılan formulü ele alıp Wn ve Zeta ile Pds buldum. ,

Sistemde rezidü matrisinin olmasının nedeni PID Fs kontrolörden de bir kök daha eklenceği için. Pds sistemi sağlamalı. Bu yüzden sisteme etki etmeyecek ama kararlı hale getirecek rezidü matrisi ekledim.

Pds ve Pcs'yi katsayı olarak eşitkleyerek karakteristik polynomial değerini çıkardım. Bu sayede Fs değeri için P-I-D değerini buldum.

@Zoroaster Hiçbirşey yapmamaktan daha iyi tabiki derken çözümüm mü yanlış?
Kararsız...

Zoroaster

Yok çözümünün yanlışlığından bahsetmedim.

Sistem derecesi artınca analitik çözümler, yerini artık yaklaşımlara ve nümerik çözümlere bıraktığı için hiç bir şey yapamaktan iyidir dedim.

Seytan deliginden kacti.

Firzen

Alıntı yapılan: Zoroaster - 02 Ocak 2017, 15:41:00
Yok çözümünün yanlışlığından bahsetmedim.

Sistem derecesi artınca analitik çözümler, yerini artık yaklaşımlara ve nümerik çözümlere bıraktığı için hiç bir şey yapamaktan iyidir dedim.


Anladım demek istediğinizi şimdi. Hocamız 3 hafta önce bize 7.dereceden bir sistem sormuştu ve sayılar değerler öyle kararsızlık yapıyordu ki matlabtan ve labviewden şüphe duymaya başlamıştım.
Kararsız...

Zoroaster

7. derece mi?

Bir ara soruyu buraya da yazarmısın?

Bu tip sorularda Matlap mecburi gibi.
Seytan deliginden kacti.

Firzen

#24
Alıntı yapılan: Zoroaster - 02 Ocak 2017, 16:07:48
7. derece mi?

Bir ara soruyu buraya da yazarmısın?

Bu tip sorularda Matlap mecburi gibi.

Tamamdır hocam hele bir düzene sokayım etrafı :)



burada soru var. çözümünü atarım.
Kararsız...

Teğmen

Merhaba,
Bazı arkadaşlar konuya güzel açıklamalar getirmişler,
Naçizane bende yanıt vereyim.

PID sistemler işlemci olmaksızın veya işlemciyle haberleşerek sistemleri denge konumuna ulaştırmak ve donanımsal olarak dengeleri sağlama amaçlı kullanılabilen
sistemlerdir.Buradaki Kd,Kp gibi integral,türevsel ve oransal sabitleri bulmak analitik olarak yapmak (manuel yapmak) en basit devrede bile zor bir iştir.Bu yüzden matlab gibi
bu işi kolayca halledebilen yazılımlar geliştirilmiştir.Bunlardan yararlanmalısınız.

Otomatik kontrol ve PID başlı başına bir dünyadır ve o işin ar-ge departmanında iş yapmıyorsanız veya böyle detaya inmeniz gerekmiyorsa normal bir projede bu sizi
sadece yorar ve sonuca da ulaşamayabilirsiniz(karmaşadan dolayı).

Kolay Gelsin
"Girdim ilim meclisine kıldım eyledim talep,   Dediler ilim geride kaldı illa Edep illa Edep" Hz.Yunus Emre K.S.

forty69

Öncelikle biraz geç cevap verdiğim için herkesten özür dilerim. Sınavlarım vardı. Hepinizin yorumları için teker teker teşekkür ederim.

Alıntı yapılan: Zoroaster - 28 Aralık 2016, 14:06:36
PID parametrelerini analitik olarak elde etmek çok sıkıntılı bir iş.

Çözüm getirilebileceğini de sanmıyorum. Şöyleki;

PID kontroller zaten kendi başına 2. dereceden bir sitemdir. 2 kutup getirir. Kontrol edilen düzenek de basit bir motor uygulamasında bile en az ikinci derecendir.

Bu durumda mertebe hoop 4'e ulaşır.

Derece 2'yi geçtimi analitik işlem yeteneklerimiz birden sınırlanır. hele hele 4 oldu mu iyice zorlaşır 5 oldumu da imkansızlaşır.

Her ne kadar otomatik ayarlama algoritmaları (Automatic PID tuning) olsa da hiç ilgilenmedim.

Deneysel metodların yazılıma dökülmüş hali olabilir.
Anladım. Büyük ihtimalle  varsayımlardan gideceğim sanırım. (Time constantları kendim verebilirim vs.)

Alıntı yapılan: Firzen - 28 Aralık 2016, 17:55:38
Rise time sana 4/Zeta*Wn verir.

Zeta = 1 çünkü overshoot istemiyorsun.
Wn ise yukarıdaki yazdığım denklemden çıkartırsın.

Buradan sistemin Fs Controllerini tasarlaman lazım. Kp+Kd.s+Ki/s sistem controlorü zaten 2.derecede kullanılır. Herhangi bir pole veya zero eklemene gerek yok.
Sisteme bir pole veya zero ekleyeceksende rezidü kök seç bu sayede sistemi etkilememiş olur.

PID olarak Seri mi yoksa cascade mı yapacaksın. hoş bir PID için cascade öneririm. önce PD tasarla ardından PI. Bunun için uygun KP değerini Routhtabulation ile yapabilirsin. Routhtabulationda K değerinin sınır aralığını bul. En yüksek değere yakın seç ve PI tasarımını kullan. Bu sana P - I - D değerlerini tam verecektir.

Diğer opsiyon ise Pds ve Pcs characteristic Polynomial Değerleri ile Fs Controller tasarlamak.
Bu yöntemi kullanabilirim aslında. Eğer sonuç olarak işime yaramayacaksa bile, en azından görüp öğrenmiş olurum :) Teşekkürler..

Alıntı yapılan: berat23 - 01 Ocak 2017, 14:16:50
arkadaşlar böyle analitik olarak bulunamayan bir katsayı varsa o iş aslında bir optimizasyon problemidir. burda yapılması gereken sistemi, cost fonksiyonunu, ve varsa constraint'leri belirleyip optimize etmek. mesela zero overshoot ya da zero steady state error gibi bir cost olabilir, veya min rise time. constraint ise katsayılar ya da overshoot için bir limit olabilir. sonrası optimizasyon deryasından uygun metod seçmek.

bu iş için en basiti bence neural network kurmak.  hem anlaşılması hem de uygulaması basit. ilk değer olarakta istersen sallama bir değer ver optimizasyon uğraşsın, ya da ziegler nichols gibi deneysel yöntemlerden ilk değer alıp optimize ettirin.
Bu da gayet hoş bir çözüm yöntemi, ki hali hazırda bu tarz konular ile az da olsa ilgileniyordum ve iyi bir uğraşma sebebi olur benim için :) Teşekkürler..

Alıntı yapılan: Firzen - 02 Ocak 2017, 14:14:10
Bilgisayarımı hemen internet ola bir yere bağladıktan sonra çözümü size göndereyim dedim.
Soruyu soran arkadaş ikinci derece denklemde kökleri ve rise time vermediği için kendim seçtim.



@Zoroaster sorunun çözümünün basitliğini görebilirsiniz artık

En sonda yazan FsFix PID Kontrolördür
Hocam, rise time = 0.2 saniye, kapalı çevrim transfer fonksiyonu ise :
[latex] (2.6*Kd*s^2 +2.6*Kp*s +2.6*Ki)/(s^3 +(2.6*Kd +9.081)*s^2 +2.6*Kp*s +2.6*Ki)[/latex]
Ben normal olarak karakteristik denklemin köklerini bulmaktan yola çıktım ve oradan da Kp Kd ve Ki değerlerini bulmaya çalıştım, fakat sizin dediğiniz yoldan gitmeye çalışacağım.

Firzen

0.2 rise time olarak olarak yapabilirsin. Ts kapalı çevrim yerine keşke Gs system denklemini verseydin :)
Neyse benim yazdığım yolu izleyerek yapabilirisn. Kullandığım program ise Mathematica.
Kararsız...

forty69

Alıntı yapılan: Firzen - 05 Ocak 2017, 14:53:03
0.2 rise time olarak olarak yapabilirsin. Ts kapalı çevrim yerine keşke Gs system denklemini verseydin :)
Neyse benim yazdığım yolu izleyerek yapabilirisn. Kullandığım program ise Mathematica.
Anladım, ben deneyeyim, sonra geri dönüş yaparım size :) Teşekkürler..