Modeling DC Motor
Model Fisik
Parameter Fisik moment of inertia of the rotor J =0.01 kg m2 damping (friction) of the mechanical system b =0.1 Nms (back-)electromotive force constant K =0.01 Nm/A electric resistance R = 1 electric inductance L = 0.5 H Input = tegangan (V) Kecepatan angular (rad/s) Shaft angle (rad)
System equation Torka motor berhubungan dengan arus armatur i dan faktor konstanta K Electromotive force (emf), Vb, berhubungan dengan kecepatan angular
Persamaan Berdasar Hk Newton dan Kirchoff
Transfer Function Dari (3) dan (4) Transformasi Laplace dr (6) Substitusikan (5) sehingga menjadi:
Blok Diagram Motor DC
Transfer Function Dari pers (8), transfer function dari input voltage, V (s), ke output sudut, , sbb: Dari blok diagram Gb. 2, dapat dilihat, transfer function dari input tegangan, V(s), ke kecepatan sudut, , adalah:
Matlab Representation Fungsi transfer yang telah dibahas diatas dapat diaplikasikan melalui Toolbox Matlab. Contoh : persamaan Polynomial A=3s3 + 2s + 10 Dapat ditulis dalam Matlab sebagai : A = [3 0 2 10]
Program Motor DC Buat m File untuk simulasi motor DC sbb : Masukkan parameter motor sbb : J=0.01; b=0.1; K=0.01; R=1; L=0.5; Transfer function pada Pers. (9) dapat dituliskan dengan beberapa cara :
Transfer Function Ga(s) dapat diekspresikan sebagai Gv(s).1/s . Persamaan tersebut ditulis dalam Matlab sebagai : aux = tf(K,conv([L R],[J b])) Gv = feedback(aux,K); Ga = tf(1,[1 0])*Gv; Fungsi feedback digunakan untuk membuat hubungan feedback dari 2 transfer fuction. Operator perkalian *,merupakan overloaded oleh class LTI dari Control System Toolbox
Transfer Function 2 Selain menggunakan konvolusi, perintah pertama dari ketiga perintah diatas dapat diganti dengan perkalian dua transfer function : aux = tf(K,[L R])*tf(1,[J b]);
Transfer Function 3 Cara yang ketiga adalah dengan mendefinisikan transfer function secara symbolis. Pertama system direpresentasikan dalam operator Laplace dan kemudian masukkan fungsi sebagai ekspresi aljabar. s = tf([1 0],1); Gv = K/((L*s + R)*(J*s + b) + Kˆ2); Ga = Gv/s;
Masukkan Label Input dan Output Gv.InputName = ’Voltage’; Gv.OutputName = ’Velocity’; Ga.InputName = ’Voltage’; Ga.OutputName = ’Angle’; Untuk menjalankan, simpan dan beri nama file motor.m dan pangil dari command window
Menampilkan respon Grafik respon kecepatan (velocity) dan sudut (angle), 2 transfer function dapat digabung menjadi satu dengan satu input, dan dua output (velocity dan angle). G = [Gv; Ga]; Cara lain adalah mengkonversikan Ga kedalam bentuk state space dan menambahkan satu extra output yang sama dengan state kedua (velocity) G = ss(Ga); set(G,’c’,[0 1 0; 0 01],’d’,[0;0],’OutputName’,{’Velocity’;’Angle’});
Manampilkan Grafik Sekarang, kita dapat menampilkan grafik step, impulse, dan respon frekuensi dari model motor dengan perintah berikut: figure(1); step(G); figure(2); impulse(G); figure(3); bode(G);
Step Respon
Impulse Respon
Bode Diagram
Control Design PID feedback controller untuk mengendalikan motor DC Transfer Function untuk PID controller sbb: u adalah controller output (voltage V ), e = uc − y merupakan controller input (the control error), dan Kp, Kd, Ki adalah gain dr proportional, derivative dan integral,
Blok diagram
Proportional Control Pertama, kita coba proportional controller sederhana dengan beberapa gain, misal diestimasikan 100. Untuk menghitung closed loop transfer function, digunakan perintah feedback. Tambahkan baris berikut ke m-file” Kp = 100; Gc = feedback(Gv*Kp,1); Gc.InputName = ’Desired velocity’;
Proportional Control Untuk mendapatkan step respon dari sistem close loop, tuliskan : figure(4); step(Gc,0:0.01:2); Jalankan Kembali program anda Hasilkan lihat gambar berikut
Kontrol PID Kp = 1; Ki = 0.8; Kd = 0.3; C = tf([Kd Kp Ki],[1 0]); rlocus(Ga*C); Kp = rlocfind(Ga*C); Gc = feedback(Ga*C*Kp,1); figure(9); step(Gc,0:0.01:5)
Penjelasan program Fungsi rlocus dan rlocfind digunakan untuk memilih overall gain dari PID controller, Yaitu keadaan kontroler yang stabil dan lokasi kutup yang diinginkan (dengan mendefinisikan rasio konstanta Kp, Ki, dan Kd) Jika desain tidak memuaskan, ratio dapat diubah. Lihat hasilnya setelah program dijalankan.
Simulink Representation
Simulink PID Controller
Tugas Praktikum Buatlah program Matlab untuk memodelkan dan mengendalikan motor DC seperti tertulis diatas. Program terdiri dari : 1 buah m-file 2 buah simulink Lakukan perubahan pada nilai Kp, Ki, dan Kd, yang bervariasi, dan catat apa yang terjadi. Berikan penjelasan setiap langkah yang anda lakukan dalam program yang dibuat.