Pogam matlab untuk pengontolan mesin DC Untuk membuat pogam pengontolan mesin Dc dengan menggunakan matlab, petama tam kita haus bisa menentukan angkaian ekuivalen dai mesin DC tesebut. Sekaang kita ambil contoh mesin DC dengan penguatan tepisah ( the sepaately magnetising DC Machine). Gamba ankgkainnya bisa dilihat di bawah ini : Dai gamba dia ats maka kita bisa mencai pesamaan angkaian listiknya : dia dω U a = Ria + L + ω ψ dan mekaniknya J = Te TL = ψ ia TL dt dt Dan setelah di laplace kan.. maka blok diagamnya akan sesuai dengan di bawah ini : Kemudian untuk membuat kita akan menggunakan metode state space, bebeapa hal yang haus dipehatikan yaitu : 1. States (x), biasanya meupakan kuantity yang menyimpan enegy, sepeti aus yang melalui indukto, tegangan yang ada di kapasito, kecepatan dan posisi. 2. signal input (u) : bisa beupa tegangan input dan toka 3. signal output (y) : kecepatan dan aus
Dan bentuk dasa dai state space yaitu :. x = Ax + Bu y = Cx + Du Dimana A, B, C dan D meupakan matiks Sehingga jka kita selesaikan pesamaan diatas maka akan di dapatkan bentuk sebagai beikut : dia R ψ ω U a dω ω ia bω TL = ia + dan = dt L L L dt J J J Sehingga matiknya yaitu : ia i = a U a x, u = ω, y = T ω L T e Dan matiks A; B;C dan D nya yaitu sebagai beikut : R ψ 1 L J...0 1...0 L A =, B = dan C = ψ b 1 0...1 0.. J J J ψ..0 Kemudian bau kita buat pogam Matlabnya dengan simulinknya dengan menggunakan S-Sunction.. Kita buat pogam dengan nama simdcmach.m ***************************** simdcmach pogam ini untuk mensimulasikan mesin dc penguatan tepisah ****************************** clea all close all clc Bagian 1 definisi paamete wat=2000*2*pi/60; wat is the kecepatan ating (n_ated =2000pm) Umax=200; Imax=20; Pmek_at=3600; Ra=1; La=0.028; psi=0.86; J=0.045; beban assuming linea load: T=bw b=pmek_at/wat^2; (P=T*w and T=b*w)
setting up the simulation time and time step step=0.001; Tstat=0; Tstop=2; xi=[0;0]; initial conditions, amatue cuent and oto speed. t=0:step:1; time vecto fomation of inputs Ua = 200; TstepTime=0.9; TstepValue=5; bagian 2 simulation call sim('dsdcmach',[tstat,tstop]); Call fo the m-file that plots the esults of the simulation postpocessinglm Kemudian kita bikin pogam m file lagi untuk eksekusi s-function dan disimpen dengan nama Dsdcmach.m function [sys,x0,st,ts] = dcmach(t,x,u,flag,ra,la,psi,j,b,xi) CSFUNC An example M-file S-function fo defining a continuous system. Example M-file S-function implementing continuous equations: x' = Ax + Bu y = Cx + Du See sfuntmpl.m fo a geneal S-function template. See also SFUNTMPL. Copyight (c) 1990-97 by The MathWoks, Inc. $Revision: 1.4 $ switch flag, Initialization case 0, [sys,x0,st,ts]=mdlinitializesizes(t,x,u,flag,ra,la,psi,j,b,xi); Deivatives case 1, sys=mdldeivatives(t,x,u,flag,ra,la,psi,j,b,xi); Outputs case 3, sys=mdloutputs(t,x,u,flag,ra,la,psi,j,b,xi); Unhandled flags
case { 2, 4, 9 }, sys = []; Unexpected flags othewise eo(['unhandled flag = ',num2st(flag)]); end end csfunc mdlinitializesizes Retun the sizes, initial conditions, and sample times fo the S- function. function [sys,x0,st,ts]=mdlinitializesizes(t,x,u,flag,ra,la,psi,j,b,xi) sizes = simsizes; sizes.numcontstates = 2; sizes.numdiscstates = 0; sizes.numoutputs = 4; sizes.numinputs = 3; sizes.difeedthough = 0; sizes.numsampletimes = 1; sys = simsizes(sizes); x0 = xi; st = []; ts = [0 0]; end mdlinitializesizes mdldeivatives Retun the deivatives fo the continuous states. function sys=mdldeivatives(t,x,u,flag,ra,la,psi,j,b,xi) state vaiables: x(1)=ia, x(2)=w; ia=x(1); w=x(2); input signals fom m-file u(1)=ua, u(3)=textaload, u(2) not used; ua=u(1); Textaload=u(3); A=[-Ra/La psi/j -psi/la -b/j]; B=[ 1/La 0
0-1/J]; sys = A*[ia;w] + B*[ua;Textaload]; end mdldeivatives mdloutputs Retun the block outputs. function sys=mdloutputs(t,x,u,flag,ra,la,psi,j,b,xi) the time t is aleady available in all function in the s-function ia=x(1); w=x(2); Te=psi*ia; sys = [t,ia,w,te]; end mdloutputs Kemudian kta bikin satu lagi m-file untuk menampilkan gafik keluaannya dan kita kasih nama psotpocessinglm.m postpocessinglm Pe=Te.*w; Pa=Ua.*ia; plot(time,ia,'b') gid on ylabel('amatue cuent (A)') title('stat of DC-machine') figue plot(time,w*30/pi,'b') gid on ylabel('oto speed (pm)') title('stat of DC-machine') figue plot(time,te,'b') gid on ylabel('electodynamical toque (Nm)') title('stat of DC-machine') figue
plot(time,pe,'b',time,pa,'') gid on ylabel('powe (W)') title('shaft powe blue, amatue powe ed') selanjutnya kita masuk ke simulink dan kita bikin blok diagam sepeti di bawah ini :