ENGR 315 CALVIN COLLEGE Engineering Department
MATLAB / SIMULINK - Laboratory # 2
Mathematical Models of Systems
Objectives:
In this lab we consider some of the issues surrounding the modeling of physical systems.
Equipment:
Computer Lab PC
Resources:
1 - Modern Control Systems, Dorf and Bishop
2 - MATLAB Control System Toolbox
3 - Class Notes
Experiments:
1 – Read and implement functions of Section 2.10 (to gain further familiarity with MATLAB). You may skip this part if you have already used of the functions on the section.
2 – Implement (using Simulink) the filed-controlled dc motor (open-loop) and armature-controlled dc motor (closed-loop) of Example 2.5. (Section 2.5 page 52-56). Assume the following parameters:
moment of inertia of the rotor (J) = 3.2284E-6 kg.m^2/s^2
damping ratio of the mechanical system (b) = 3.5077E-6 Nms
electromotive force constant (Km) = 0.0274 Nm/Amp
electric resistance (Rf) = 4 ohm
electric inductance (Lf) = 2.75E-6 H
Study and expand the analytical equations, transfer functions and block diagrams before performing the computer simulations.
3 – Implement the MATLAB and Simulink solution of Problem MP2.6. Use a step input to verify the response of the system. Vary gains and constants and discuss the responses.
Report
Summarize your observations and attach relevant MATLAB scripts, diagrams and plots.
Report due next laboratory period.
M-File for the field-controlled dc motor example (open-loop)
J=3.2284E-6;
b=3.5077E-6;
Km=0.0274;
Rf=4;
Lf=2.75E-6;
num=Km;
den=[(J*Lf) ((J*Rf)+(Lf*b)) ((b*Rf)+Km^2) 0];
step(num,den,0:0.001:0.2);
M-File for the armature-controlled dc motor example (closed-loop)
J=3.2284E-6;
b=3.5077E-6;
Km=0.0274;
Kb=Km;
Ra=4;
La=2.75E-6;
num1=Km;
den1=[(J*La) ((J*Ra)+(La*b)) ((b*Ra)+Km^2) 0];
sys1=tf(num1,den1);
sys=feedback(sys1,[1]);
step(sys,0:0.001:0.2);
M –File for Problem MP2.6
num1=[1]; den1=[1 1]; sys1=tf(num1, den1);
num2=[1 0]; den2=[1 0 2]; sys2=tf(num2, den2);
num3=[1]; den3=[1 0 0]; sys3=tf(num3, den3);
num4=[4 2]; den4=[1 2 1]; sys4=tf(num4, den4);
num5=[50]; den5=[1]; sys5=tf(num5, den5);
num6=[1 0 2]; den6=[1 0 0 14]; sys6=tf(num6, den6);
num7=[4]; den7=[1]; sys7=tf(num7, den7);
sys8=feedback(sys3,sys5,1)
sys9=series(sys1,sys2)
sys10=feedback(sys9,sys4)
sys11=series(sys8,sys10)
sys12=feedback(sys11,sys6)
sys=series(sys7,sys12)
step(sys,0:0.001:10)
p=pole(sys)
z=zero(sys)
pzmap(sys)
step(sys,0:.1:10)