0% found this document useful (0 votes)
25 views4 pages

COntrol

The document describes the derivation of transfer functions and control parameters for a system. It defines symbols, calculates Jacobians, converts the system to transfer functions, adds a disturbance and filters, and then uses the Ackermann formula to calculate control gains to place closed-loop poles at desired locations. Key equations and parameters are evaluated numerically.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views4 pages

COntrol

The document describes the derivation of transfer functions and control parameters for a system. It defines symbols, calculates Jacobians, converts the system to transfer functions, adds a disturbance and filters, and then uses the Ackermann formula to calculate control gains to place closed-loop poles at desired locations. Key equations and parameters are evaluated numerically.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

syms ei c r1 r2 r3 ec

ecp=((-ei*r3)/(c*r1*(r2+r3)))-((ec^(3))/(4))

ecp = 

 
x=[ec]

x = 

A=jacobian([ecp],x)

A = 

B=jacobian([ecp],ei)

B = 

y=ec

y = 

C=jacobian(y,x)

C = 

D=jacobian(y,ei)

D = 

 
% A=[-1/(kp*c1) 1/(kp*c1) ;1/(kp*c2) -(-1/(c2*kp))-(1/(R*c2))]
% B=[1/c1;0]
% C=[0 1]
%
% D=[0]
 

ec=11

ec = 11
 
c=0.9060

c = 0.9060

r1=1270

r1 = 1270

r2=9134

r2 = 9134

r3=6324

r3 = 6324

A=eval(A)

A = -90.7500

B=eval(B)

B = -3.5555e-04

%C=eval(C)
A=double(A)

A = -90.7500

B=double(B)

B = -3.5555e-04

C=double(C)

C = 1

%D=double(D)
[b,a]= ss2tf(A,B,C,D,1)

b =
1.0e-03 *
0 -0.3556
a =
1.0000 90.7500

Fc=tf(b,a)

Fc =

-0.0003556
----------
s + 90.75

Continuous-time transfer function.

tsd=10

tsd = 10

cd=1

cd = 1

wnd=4/(tsd*cd)

wnd = 0.4000

pd=conv([1 2*cd*wnd wnd^2],1)

pd =
1.0000 0.8000 0.1600

pdp=conv(pd,[1 5*cd*wnd])

pdp =
1.0000 2.8000 1.7600 0.3200

%pdp=conv(pdp,[1 5*cd*wnd])
%pdp=conv(pdp,[1 5*cd*wnd])
% pdp=conv(pdp,[1 5*cd*wnd])
 
A_ER=[A zeros(1,2);zeros(1,2) 1;-C 0 0]

A_ER =
-90.7500 0 0
0 0 1.0000
-1.0000 0 0

B_ER=[B;0;0]

B_ER =
1.0e-03
-0.3556
0
0

 
 
polosp=roots(pdp)

polosp =
-2.0000 + 0.0000i
-0.4000 + 0.0000i
-0.4000 - 0.0000i

 
Kp=acker(A_ER,B_ER,polosp)

Warning: Pole locations are more than 10% in error.


Kp =
1.0e+05 *
2.4736 0.0090 0.0495

 
Kpi=-Kp(3)

Kpi = -4.9500e+03

Kpi1=-Kp(2)

Kpi1 = -900.0017

Kp=[Kp(1)]

Kp = 2.4736e+05

You might also like