modeling dc motor

30
Modeling DC Motor

Upload: nguyenduong

Post on 15-Jan-2017

277 views

Category:

Documents


5 download

TRANSCRIPT

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.