cg w rof niag qerf wol hgi H

  • Slides: 33
Download presentation
cg w rof niag qerf wol hgi. H rof niag qerf hgih wo. L

cg w rof niag qerf wol hgi. H rof niag qerf hgih wo. L raen MP tneiciffu. S gw Desired Bode plot shape

Controller design with Bode C(s) Gp(s) From specs: => desired Bode shape of Gol(s)

Controller design with Bode C(s) Gp(s) From specs: => desired Bode shape of Gol(s) Make Bode plot of Gp(s) Add C(s) to change Bode shape Get closed loop system Run step response, or sinusoidal response

Overall Loop shaping strategy • Overall gain K to select wgc – By shifting

Overall Loop shaping strategy • Overall gain K to select wgc – By shifting gain plot up and down • PD or lead to add more PM @ wgc – Both PD and lead has positive phase • PI or lag to increase low freq gain – But both has negative phase, – deteriorates PM • Low pass filter to reduce high freq gain – For noise attenuation – Also has negative effect on PM

Lag Controller Design

Lag Controller Design

z/p=40 z/p=20 Desired effect: low freq gain boost for improved steady state tracking z/p=10

z/p=40 z/p=20 Desired effect: low freq gain boost for improved steady state tracking z/p=10 z/p=5 z=wgcd/5 wgcd Kill PM by 10 to 12 deg

z/p=40 z/p=20 Desired effect: low freq gain boost for improved steady state tracking z/p=10

z/p=40 z/p=20 Desired effect: low freq gain boost for improved steady state tracking z/p=10 z/p=5 z=wgcd/10 wgcd Kill PM by 5 to 7 deg

z/p=40 z/p=20 z/p=10 z/p=5 Want these: DC gain boosting z=wgcd/20 wgcd Don’t want these:

z/p=40 z/p=20 z/p=10 z/p=5 Want these: DC gain boosting z=wgcd/20 wgcd Don’t want these: PM reduction! Kill PM by 2 to 3 deg

Lag and lead-lag Design Steps • From plant, draw Bode plot • From specs

Lag and lead-lag Design Steps • From plant, draw Bode plot • From specs => PMd and wgcd – If there is speed or BW req, wgcd, • In this case, if PM not enough, design PD or lead – Otherwise, choose wgcd to have PM>PMd • • • Find K to enforce wgcd: Find Kp, v, a-have with K and C above Find Kp, v, a-des from ess specs zlag/plag = Kp, v, a-des/Kp, v, a-have Let zlag= wgcd/10~20, depending on PM room Compute plag

Lag design example • Plant transfer function is given by: • Desired design specifications

Lag design example • Plant transfer function is given by: • Desired design specifications are: – Step response overshoot <= 10% – Steady state tracking error to ramp input is <=0. 01 Note: no speed or BW requirement, so just choose wgcd to have enough PM

n=[1]; d=[1/5/50 1/5+1/50 1 0]; figure(1); clf; margin(n, d); %proportional control design: figure(1); hold

n=[1]; d=[1/5/50 1/5+1/50 1 0]; figure(1); clf; margin(n, d); %proportional control design: figure(1); hold on; grid; V=axis; Mp = 10; PMd = 70 – Mp + 3; semilogx(V(1: 2), [PMd-180], ': r'); %get desired w_gc x=ginput(1); w_gcd = x(1); K = 1/abs(evalfr(tf(n, d), j*w_gcd)); Kva = K*n(end)/d(end-1); ess=0. 01; Kvd=1/ess; z = w_gcd/5; p = z/(Kvd/Kva); ngc = conv(n, Kp*[1 z]); dgc = conv(d, [1 p]); figure(1); hold on; margin(ngc, dgc); [ncl, dcl]=feedback(ngc, dgc, 1, 1); figure(2); step(ncl, dcl); grid; figure(3); margin(ncl*1. 414, dcl); grid;

Designed for 63 Lag killed 12

Designed for 63 Lag killed 12

Overshoot too much

Overshoot too much

n=[1]; d=[1/5/50 1/5+1/50 1 0]; figure(1); clf; margin(n, d); hold on; grid; V=axis; Mp

n=[1]; d=[1/5/50 1/5+1/50 1 0]; figure(1); clf; margin(n, d); hold on; grid; V=axis; Mp = 10; PMd = 70 – Mp + 3; semilogx(V(1: 2), [PMd-180], ': r'); x=ginput(1); w_gcd = x(1); %get desired w_gc K = 1/abs(polyval(n, j*w_gcd)/polyval(d, j*w_gcd)); Kva = K*n(end)/d(end-1); ess=0. 01; Kvd=1/ess; z = w_gcd/10; p = z/(Kvd/Kva); ngc = conv(n, K*[1 z]); dgc = conv(d, [1 p]); figure(1); hold on; margin(ngc, dgc); [ncl, dcl]=feedback(ngc, dgc, 1, 1); figure(2); step(ncl, dcl); grid; figure(3); margin(ncl*1. 414, dcl); grid;

clear all; n=[1]; d=[1/5/50 1/5+1/50 1 0]; figure(1); clf; margin(n, d); grid; V=axis; hold

clear all; n=[1]; d=[1/5/50 1/5+1/50 1 0]; figure(1); clf; margin(n, d); grid; V=axis; hold on; Mp = 10; PMd = 70 – Mp + 7; semilogx(V(1: 2), [PMd-180], ': r'); x=ginput(1); w_gcd = x(1); %get desired w_gc K = 1/abs(polyval(n, j*w_gcd)/polyval(d, j*w_gcd)); Kva = K*n(end)/d(end-1); ess=0. 01; Kvd=1/ess; z = w_gcd/10; p = z/(Kvd/Kva); ngc = conv(n, K*[1 z]); dgc = conv(d, [1 p]); figure(1); hold on; margin(ngc, dgc); [ncl, dcl]=feedback(ngc, dgc, 1, 1); figure(2); step(ncl, dcl); grid; figure(3); margin(ncl*1. 414, dcl); grid;

Lead-Lag design example • Plant transfer function is given by: • Desired design specifications

Lead-Lag design example • Plant transfer function is given by: • Desired design specifications are: – Step response overshoot <= 16% – Step response rise time <= 2 sec – Steady state tracking error to unit acceleration input is <=1 Note: we have all three types of specs: speed, relative stability, and tracking

Strategy • First do a lead design to fix speed and overshoot requirement •

Strategy • First do a lead design to fix speed and overshoot requirement • Then do a lag design to fix the ess.

n=[1]; d=[1 5 0 0]; figure(1); clf; margin(n, d); grid; hold on; Mp=16; PMd

n=[1]; d=[1 5 0 0]; figure(1); clf; margin(n, d); grid; hold on; Mp=16; PMd = 70 – Mp + 1; tr = 2; wn = 1. 8/tr; w_gcd = wn*0. 8; PM = pi+angle(evalfr(tf(n, d), j*w_gcd)); phimax = PMd*pi/180 -PM; alpha=(1+sin(phimax))/(1 -sin(phimax)); zlead=w_gcd/sqrt(alpha); plead=w_gcd*sqrt(alpha); K=sqrt(alpha)/(abs(evalfr(tf(n, d), j*w_gcd))); ngc = conv(n, K*[1 zlead]); dgc = conv(d, [1 plead]); figure(1); margin(ngc, dgc); [ncl, dcl]=feedback(ngc, dgc, 1, 1); figure(2); step(ncl, dcl); grid; figure(3); margin(ncl*1. 414, dcl); grid;

Need to reduce by Mp by 10% So increase PMd by 10 deg

Need to reduce by Mp by 10% So increase PMd by 10 deg

Overshoot is too large. Plus, we know the lag controller will further deteriorate Mp.

Overshoot is too large. Plus, we know the lag controller will further deteriorate Mp. So, redesign for better Mp.

About 12% overshoot. So, let’s go ahead with lag design.

About 12% overshoot. So, let’s go ahead with lag design.

Kaa = ngc(end)/dgc(end-2); ess=1; Kad=1/ess; zlag = w_gcd/20; plag = zlag/(Kad/Kaa); ngcc = conv(ngc,

Kaa = ngc(end)/dgc(end-2); ess=1; Kad=1/ess; zlag = w_gcd/20; plag = zlag/(Kad/Kaa); ngcc = conv(ngc, [1 zlag]); dgcc = conv(dgc, [1 plag]); figure(1); margin(ngcc, dgcc); [ncl, dcl]=feedback(ngcc, dgcc, 1, 1); figure(4); step(ncl, dcl); grid; figure(5); margin(ncl*1. 414, dcl); grid; We don’t have too much room to spare for Mp, so choose 20 so that the lag controller only kills about 3 degrees of PM, which will add about 3 percentage points to Mp.