Logo Background

PID tasarım metodu ile DC motor hız kontrolü

  • Written by ElektronikElektronik İlk Yorumu Sen Yaz. Comments
    Last Updated: Ağustos 16, 2009

    DC motor hız kontrolü

    • rotor eylemsizlik momenti (J) = 0.01 kg.m^2/s^2
    • 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 transfer fonksiyonu aşağıdaki gibidir.
    DC motor hız problemi
    ve sistem şeması şöyledir:
    PID tasarım

    • 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 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:

    pid kontrol transfer fonksiyonu

    İlk önce kazancı 100 olan oransal denetleyici kullanarak inceleyelim. M_kütüğümüzün sonuna aşağıdaki komut dizisini ekleyelim.

    ?View Code MATLAB
    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

    ?View Code MATLAB
    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.

    ?View Code MATLAB
    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 step response
    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.

    ?View Code MATLAB
    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')

    pid dc motor

    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.
    pid dc motor graph
    Ş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.
    pid dc
    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