Belajar Scilab: metode design PID untuk kontrol kecepatan Motor DC

Isi materi ini ditujukan untuk berbagi ilmu pengetahuan kepada semua pengunjung blog ini.
Silakan digunakan untuk kepentingan proses pembelajaran untuk mencerdaskan bangsa ini dengan tidak lupa menyebutkan sumbernya.
Namun yang harus dihindari adalah: mengambil isi dengan mengakui sebagai haknya, mengambil isi untuk tujuan komersialisasi.
Semua tergantung kepada hati-nurani, jika terjadi saya berkewajiban mengingatkan para plagiator. Biasakan sesuatunya terlahir dari tangan anda, itu menunjukkan bahwa anda ada dan anda diberi hidayah sebagai ciptaanNya yang paling mulia untuk memberikan manfaat di dunia ini. Biasakanlah memberikan manfaat kepada orang lain, dan jangan membiasakan memanfaatkan orang lain.

Berdasarkan posting disini, yang membahas tentang pemodelan motor dc magnet permanen, disini akan diaplikasikan sebuah motor dc dengan parameter motor yang sama kedalam sistem kontrol kecepatan (speed control).

Motor dc akan diaplikasikan sebagai kontrol kecepatan dengan menerapkan kontroler P, PI, PD, dan PID.Penjelasan hanya mengulas bagaimana untuk mendapatkan fungsi alih secara keseluruhan setelah plant ditambahkan kontroler dengan unity feedback.

Untuk mendapatkan fungsi alih  digunakan scilab dihitung secara manual melalui console, dengan tujuan untuk lebih memahami cara kerja perhitungan. Disini sekedar diuji unjuk kerja sistem dengan berbagai parameter Kp, Kd dan Ki, bukan mendisain sistem kontrol dengan menentukan parameter unjuk kerja terlebih dahulu. Adapun motor dc magnet permanen yang digunakan memiliki paramater yang sama dengan posting sebelumnya adalah:

  • Momen inersia motor adalah
  • Rasio redaman dari sistem mekanik
  • Konstanta electromotive force
  • Resistansi elektrik
  • Induktansi elektrik
  • Masukan (V): sumber tegangan dc
  • Keluaran posisi poros motor
  • Rotor dan poros motor diasumsikan kaku

 

1. Menentukan Fungsi alih motor dc magnet permanen

Untuk mendisain sistem kontrol kecepatan menggunakan motor dc, terlebih dahulu harus menentukan fungsi alih motor dc dengan menggunakan parameter-parameter mekanik-elektrik dari motor dc tersebut. Dapat digunakan model matematika, atau dengan menggunakan identifikasi sistem.

Fungsi alih dari motor dc tersebut jika dituliskan kembali dari posting sebelumnya adalah:

 

 Dengan menggunakan scilab akan dicari fungsi alihnya:

-->// memasukan parameter motor J,b,K,L,R
J=0.01
 J  =

    0.01  

-->b=0.1
 b  =

    0.1  

-->R=1
 R  =

    1.  

-->L=.5
 L  =

    0.5  

-->K=0.01
 K  =

    0.01  

// zero
-->num=K
 num  =

    0.01  

// mendefinisikan polinomial s
-->s=%s
 s  =

    s   

// pole
-->denum=(J*s+b)*(L*s+R)+K^2
 denum  =

                           2
    0.1001 + 0.06s + 0.005s   

// fungsi alih
-->tf=syslin('c',num,denum)
 tf  =

             0.01
    ----------------------
                           2
    0.1001 + 0.06s + 0.005s   

 

Dari hasil perhitungan dengan menggunakan console scilab seperti diatas diperoleh fungsi alih motor dc, masukan tegangan (V) dan keluaran kecepatan rotasi dalam radian/detik, sebagai berikut:

2. Menguji respon open loop

Selanjutnya diuji unjuk kerja hubungan antara tegangan masukan motor dc dan kecepatan putar dalam radian/detik, untuk pertama kalinya untuk keperluan simulasi tegangan masukan diberikan sebesar 1V berupa fungsi step. Pengujian ini adalah pengujian respon waktu secara open loop. Dalam simulasi menggunakan nilai sebesar 1, dipakai sebagai perunit dalam sistem. Berikut ini perintah untuk menganalisa unjuk kerja motor dengan menggunakan console scilab.

-->t=0:.01:4;      // waktu uji

-->res=csim('step',t,tf);   // uji respon

-->plot(t,res)    // grafik respon

-->xgrid(4)      // gambarkan grid

Grafik responnya sebagai berikut:

Dari hasil analisa motor dc dengan tegangan masukan 1V memiliki respon: kecepatan maksimum adalah 1 radian/s tercapai pada sekitar 3 detik. Jadi dalam sistem kontrol kecepatan dalam simulasi ini, motor dc ini akan diberi tegangan antara 0-1V, kecepatan maksimal keluaran adalah  rpm atau dibulatkan saja menjadi 94 rpm.

3. Menentukan fungsi alih Sensor kecepatan

Biasanya sebagai sensor kecepatan digunakan motor dc sebagai sensor kecepatan secara konvensional. Sensor ini kadang disebut dengan sensor dinamometer, dengan prinsip kebalikan dari motor yaitu masukan kecepatan putar dan keluaran adalah tegangan dc. Jika digunakan dinamometer, harus ditentukan terlebih dahulu fungsi alihnya. Namun disini menggunakan unity feedback untuk mempermudah pembelajaran, yaitu keluaran motor disambungkan secara langsung sebagai feedback atau sama dengan H(s)=1.

4. Menggambarkan Diagram blok sistem kontrol kecepatan motor dc

Agar mendapatkan dokumentasi dan lebih mudah untuk dipelajari, gambarkan secara diagram blok sistem kontrol kecepatan secara loop tertutup yang telah didisain. Secara diagram blok hasilnya diperlihatkan sebagai berikut:

5. Mencari fungsi alih secara keseluruhan

Kontroler P

Disini sebagai kontroler adalah kontroler proporsional. Misalkan konstanta penguatan kontroler Kp = 200, maka fungsi alih secara keseluruhan, dapat dipandang sebagai satu blok dan dapat diuji secara open loop. Dengan menggunakan scilab fungsi alihnya dapat diperoleh dengan cara:

-->s=%s;        // mendefinisikan polinomial s

-->tf_motor=syslin('c',0.01,0.1001+0.06*s+0.005*s^2)   // fungsi alih motor
 tf_motor  =

             0.01
    ----------------------
                           2
    0.1001 + 0.06s + 0.005s   

-->Kp=200;       // konstanta Kp

-->G_P=Kp*tf_motor      // mencari G total
 G_P  =

               2
    -----------------------
                           2
    0.1001 + 0.06s + 0.005s   

-->H=1       // unity feedback
 H  =

    1.  

-->TF_P=G_P/(1+G_P*H)      // fungsi alih total
 TF_P  =

           400
    ----------------
                    2
    420.02 + 12s + s   

 

Kontroler PI

Kontroler PI adalah:

Dimana Ki adalah konstanta penguatan integrator dan Kp adalah konstanta penguatan proporsional. Untuk mencari fungsi alih secara keseluruhan ditentukan Kp=200 , Ki =20, maka fungsi alihnya dapat dicari dengan cara:

-->Ki=20;       // konstanta Ki

-->G_PI=(Kp+Ki/s)*tf_motor     // mencari G untuk PI
 G_PI  =

           0.2 + 2s           
  ------------------------   
                 2        3  
  0.1001s + 0.06s + 0.005s   

-->TF_PI=G_PI/(1+G_PI*H)       // mencari fungsi alih total PI
 TF_PI  =
          40 + 400s          
    ---------------------    
                      2   3  
    40 + 420.02s + 12s + s  

Kontroler PD

Kontroler PD adalah:

Dimana Kd adalah konstanta penguatan diferensiator dan Kp adalah konstanta penguatan proporsional. Untuk mencari fungsi alih secara keseluruhan ditentukan Kp=300 , Kd =20, maka fungsi alihnya dapat dicari dengan cara:

-->Kp=300; Kd=20;

-->G_PD=(Kp+Kd*s)*tf_motor
 G_PD  =

           3 + 0.2s
    ----------------------
                           2
    0.1001 + 0.06s + 0.005s   

-->H=1;

-->TF_PD=G_PD/(1+G_PD*H)
 TF_PD  =

       600 + 40s
    ---------------
                    2
    620.02 + 52s + s   

Kontroler PID

Kontroler PID adalah:

Dengan menggunakan Kp=300, Ki=200 dan Kd=10, fungsi alih secara keseluruhan dengan menggunakan scilab dapat diperoleh dengan cara:

-->Kp=300; Kd=200; Ki=10;

 -->G_PID=(Kp+Ki*1/s+Kd*s)*tf_motor
 G_PID  =
 
                      2        
         2 + 3s + 0.1s         
    -----------------------    
                   2        3  
    0.1001s + 0.06s + 0.005s   

-->H=1
 H  =

    1.  

-->TF_PID=G_PID/(1+G_PID*H)
 TF_PID  =
 
                       2      
       400 + 600s + 20s       
    ----------------------    
                       2   3  
    400 + 620.02s + 32s + s       

6. Menguji unjuk kerja respon keluaran

Terakhir adalah menguji unjuk kerja sistem kontrol kecepatan motor dc untuk melihat parameter kontrolnya, terutama time steady state dan errornya. Dengan menggunakan scilab unjuk kerja keluarannya adalah sebagai berikut.

Kontroler P

Hasil uji respon kontroler P dengan Kp=200 menggunakan scilab:

Kontroler PI

Hasil uji respon kontroler PI dengan Kp=200, Ki=20 menggunakan scilab: 

Kontroler PD

Hasil uji respon kontroler P dengan Kp=300, Kd=20 menggunakan scilab:

 

Kontroler PID

Hasil uji respon kontroler PI dengan Kp=300, Ki=200, Kd=10  menggunakan scilab:

 

Last updated by at .

Avatar of Bambang Siswoyo

About Bambang Siswoyo

I am a college lecturer since 1988 at UB (University of Brawijaya) in the electronics department. My experience: Applications of Microprocessor system, Applications of Control System, Applications of Field Programmable Gate Array, Computer Programming in computer instrumentations. My hobby: Music especially playing the saxophone, hiking and exploring the countryside.
This entry was posted in scilab, Sistem Kontrol, Teori and tagged , . Bookmark the permalink.

One Response to Belajar Scilab: metode design PID untuk kontrol kecepatan Motor DC

  1. Castro says:

    bang, q kurang ngerti aksi pengontrolan kecepatan motor dengan PID,

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA Image

*

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>