modeling dc motor
Post on 15-Jan-2017
282 Views
Preview:
TRANSCRIPT
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
Transfer Function
• Dari (3) dan (4)
• Transformasi Laplace dr (6)
• Substitusikan (5) sehingga menjadi:
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);
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,
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.
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.
top related