PID tasarım metodu ile DC motor hız kontrolü
-
- rotor eylemsizlik momenti (J) = 0.01 kg.m^2/s^2
- mekanik sistemin sönüm oranı (b) = 0.1 Nms
- elektromotor kuvvet sabiti (K=Ke=Kt) = 0.01 Nm/Amp
- rezistans (R) = 1 ohm
- indüktans (L) = 0.5 H
- giriş (V): kaynak voltajı
- çıkış(theta): mil durumu
- rotor ve milin sert olmadığı kabul edilir
Bu problemde, DC motorun dinamik eşitliği ve açık döngü transfer fonksiyonu aşağıdaki gibidir.

ve sistem şeması şöyledir:

- 1 rad/sn basamak girişli tasarım kriterleri:
- 2 saniyeden az yerleşme zamanı
- %5’den az aşma
- %1’den az kararlı hal hatası
Şimdi bir PID denetleyici tasarlayalım ve sisteme dahil edelim. İlk önce yeni bir m_kütük oluşturalım.
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
PID kontrolü transfer fonksiyonu aşağıdaki gibidir:Oransal kontrol
İlk önce kazancı 100 olan oransal denetleyici kullanarak inceleyelim. M_kütüğümüzün sonuna aşağıdaki komut dizisini ekleyelim.
1 2 3
Kp=100; numa=Kp*num; dena=den;kapalı döngülü transfer fonksiyonunu çözmek için, cloop komutu kullanılır. Bunu kütüğe aşağıdaki gibi ekleyelim
1
[numac,denac]=cloop(numa,dena);
numac ve denac kapalı döngü transfer fonksiyonu numaratör ve denumaratörüdür.
Şimdi adım tepkisini nasıl göreceğimize bakalım ve bunu aşağıdaki gibi kütüğün sonuna ekleyelim.1 2 3
t=0:0.01:5; step(numac,denac,t) title('Step response with Proportion Control')
aşağıdaki grafik elde edilir.

PID kontrol
Yukarıdaki grafikten kararlı hal hatasının ve aşmanın çok büyük olduğu görülür. İntegral halinin eklenmesinin kararlı hal hatasını yok ettiğini ve türev halinin aşmayı azalttığını daha önce görmüştük. Küçük Ki ve KD’ye sahip PID denetleyiciyi inceleyelim. kütüğümüzü aşağıdaki gibi değiştirelim. Bu kütük çalıştırıldığında aşağıda verilen grafik elde edilir.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
j.html">J=0.01; b=0.1; K=0.01; R=1; L=0.5; num=K; den=[(j.html">J*L) ((j.html">J*R)+(L*b)) ((b*R)+K^2)]; Kp=100; Ki=1; Kd=1; numc=[Kd, Kp, Ki]; denc=[1 0]; numa=conv(num,numc); dena=conv(den,denc); [numac,denac]=cloop(numa,dena); step(numac,denac) title('PID Control with small Ki and Kd')
Kazanç ayarı
Yükselme zamanını çok uzun yapalım.Yükselme zamanını azaltmak için Ki’yi arttıralım.Kütükte Ki’yi 200 olarak değiştirelim. Bu durumda aşağıdaki grafik elde edilir.

Şimdi etkinin öncesinden daha hızlı ama büyük olduğunu görüyoruz. Ki kötü bir geçici tepkiye sahip olur (büyük aşma). Aşmayı düşürmek için KD’yi arttıralım. kütükte KD’yi 10 olarak değiştirelim. Bu durumda aşağıdaki grafik elde edilir.

Böylece, Kp=100,Ki=200, KD=10 alınarak PID denetleyicili tasarım için gereklilikler karşılanmış olur.
Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /home/xdelete/public_html/forum/cache/data_c1176e3b86b838cc919e441a620ca4b6-SMF-modSettings.php on line 1
Parse error: syntax error, unexpected ':' in /home/xdelete/public_html/forum/cache/data_c1176e3b86b838cc919e441a620ca4b6-SMF-modSettings.php on line 1


