Presentation is loading. Please wait.

Presentation is loading. Please wait.

3.Closed-Loop Transfer Functions

Similar presentations


Presentation on theme: "3.Closed-Loop Transfer Functions"— Presentation transcript:

1 3.Closed-Loop Transfer Functions
3.1 Block Diagram Algebra (Interconnection rules) DEU-MEE 5017 Advanced Automatic Control

2

3 From the block diagram:
3.2 Closed-Loop Transfer Function with Unity Feedback a) Block diagram From the block diagram:

4 Forward paths: Gc(s)Gp(s) Mason formula :
3.3 Closed-Loop Transfer Function with Unity Feedback b) Mason formula R(s) : Reference N(s): Disturbance ) s ( R Forward paths Loops Forward paths: Gc(s)Gp(s) Mason formula : Loops: Gc(s)Gp(s)(-1) Closed loop transfer function from R(s) to C(s) : Closed loop transfer function from N(s) to C(s) : When N(s)0, the Laplace transform of output C(s) :

5 R(s) : Reference N(s): Disturbance ) s ( R
3.4 Closed-Loop Transfer Function with Sensor Dynamics R(s) : Reference N(s): Disturbance ) s ( R indicated output actual output Frequently, the sensor has its own dynamics and might be modeled as a first–order system.

6 PID control: Fd=0 Fd=-mgsin
Example 3.1: Study the control of cruise control (Example1.1) a) Without disturbance (Fd=0) : Fp: Pushing force (from engine), Fd: Distrubance Fd=0 Fd=-mgsin PID control: Ks Gc(s) Ka G1(s) + - Ke

7 MATLAB code for closed-loop response : Fd=0
clc,clear,%close all kp=12;ki=0;kd=0; % kp=1,4,12 v0=72; % km/h m=1000;b=60;ke=55.56;ka=5;kkm=3.6;ks=0.1; vref=v0/kkm*ks nc=[kd,kp,ki];dc=[1,0]; n1=[1];d1=[m,b]; nh=ka*ke*ks*kkm*conv(nc,n1); dh=polyadd(conv(dc,d1),nh); h=tf(nh,dh); p=roots(dh),%return p0=p(2);cksi_v2;%return t=0:dt:ts; vs=vref*step(h,t); hold on;plot(t,vs,'k'); return vsan= *exp(-0.33*t).*cos(0.3018*t )+10; plot(t,vsan,'or') Settling time decreases Steady-sate error decreases

8 Steady-sate error increases
b) Effect of disturbance : MATLAB code for closed-loop response: clc,clear;%close all kp=12;ki=0;kd=0; % kp=1,4,12 fi=5;g=9.81;v0=72; % km/h m=1000;b=60;ke=55.56;ka=5;kkm=3.6;ks=0.1; vref=v0/kkm*ks nc=[kd,kp,ki];dc=[1,0]; n1=[1];d1=[m b]; nh=ka*ke*ks*conv(nc,n1); dh=polyadd(conv(dc,d1),nh); nhn=ks*conv(dc,n1); fd=-m*g*sind(fi); p=roots(dh),%return p0=p(2);cksi_v2 t=0:dt:ts; h=tf(nh,dh);hn=tf(nhn,dh) vs=vref*step(h,t);vsn=fd*step(hn,t); hold on;plot(t,vs,'b');plot(t,vsn,'g') plot(t,vs+vsn, 'k') Steady-sate error increases

9 Control action: PID control
Example 3.2 : Find the closed-loop response of 2-DOF mechanical system (Example2.2) Control action: PID control Closed loop transfer functions: When F2(s)0, the Laplace transform of output X2(s) :

10 a) Without disturbance (F2=0) :
kp=45 a) Without disturbance (F2=0) : Steady-sate error MATLAB code for closed-loop response: clc,clear all kp=45;ki=0;kd=0; %kp=45;ki=150;kd=0; %kp=45;ki=150;kd=2; m1=1.2;m2=1;k1=350;k2=300;c1=4;c2=3; nc=[kd,kp,ki];dc=[1,0]; n21=15*[1 100];d21=[ ]; n22=[ ];d22=d21; nh=conv(nc,n21);dh=polyadd(conv(dc,d21),nh); p =roots(dh)%,p0=p(2);cksi_v2;return dt=0.001;ts=25; t=0:dt:ts; h=tf(nh,dh);x2r=0.1*step(h,t); hold on;plot(t,x2r,'b','LineWidth',1.5) kp=45,ki=150 Eliminates steady-sate error kp=45,ki=150, kd=2 Decrease settling time

11 Study effect of disturbance, develop MATLAB program, find x2(t)
b) With disturbance (F2 unit step input) : Study effect of disturbance, develop MATLAB program, find x2(t) MATLAB code for closed-loop response:

12 c) Simulation with Simulink (F2 unit step input) :
Comparison of Matlab code and Simulink results


Download ppt "3.Closed-Loop Transfer Functions"

Similar presentations


Ads by Google