Design of a PID Controller for Disk Drive System
-
Upload
shuvrabanik -
Category
Documents
-
view
30 -
download
2
description
Transcript of Design of a PID Controller for Disk Drive System
-
MAE 4053 / ECEN 4413 Automatic Control Systems
Fall 2011
Term Design Project
Due: Tuesday, December 6, 2011 by 4 pm Using the Class D2L Dropbox
Late submissions will result in a 20% late penalty per day
You are to complete the control system design given on the following pages. A complete, neat, and well-documented design is required. You will be graded on the accuracy and completeness of your design along with the appearance and clarity of your report. Feel free to use tools learned throughout the semester to complete your design. You may ask the instructor or the TA clarifying questions, but may receive no other help on your design other than what you are able to glean from the course notes or the course textbook. You may not utilize materials obtained from friends, other instructors, or found on the Internet. No solutions manuals or any other materials may be consulted. You are asked to sign the statement below attesting to the fact that you followed these instructions. Please use this page as the cover sheet for your submission. In submitting my Term Design Project, I attest to the fact that I followed the instructions given above. ________________________ Printed Name ________________________ Signed Name / Date
-
Figure 1.29. Disk Drive from Dorf & Bishop, Modern Control Systems, 12th Ed., Pearson, 2011, p. 34. Introduction Disk drives are used to store data and provide relatively quick access to large amounts of data on a magnetic disk or disks. Today's computers typically come with disk drives which can store hundreds of billions of bytes. A disk drive contains a set of stacked disks, each of which has data recorded magnetically in concentric circles or tracks/sectors on the disk. Magnetic recording material is layered onto a high-precision aluminum or glass disk and data is stored in an extremely small magnetic domain on this disk using a read/write head. The head records (writes) or reads information on the tracks. Two heads, one on each side of a disk, read or write the data as the disk spins. Disks usually spin at speeds of 7200 or more rpm and the head "flies" above the disk at a distance of less than 100 nm. A typical disk drive is shown in Figure 1.29 above, taken from the textbook. Each read or write operation requires the data to be located, which is an operation called a "seek." The performance of a disk drive is usually based on
Data rate - The data rate is the number of bytes per second that the drive can deliver to the CPU. Rates of 1000 Mbits per second are common.
Seek time - The seek time is the amount of time required by the arm to reach the desired track after data is requested by the CPU. Times of approximately 10 ms are common.
The seek time depends on how fast the disk drive system positions the head accurately at the desired track. In this project we are interested in positioning the head at the desired position with the least seek time.
-
Closed-Loop Model A model of a closed-loop disk drive using both position and velocity feedback is shown above. The parameters for this model are as follows.
Parameter Symbol Value Inertia J 47.31 g-cm2 Torque Factor Kt 75 N-mm / ampere Coil Resistance R 8.7 ohms Coil Inductance L 1.15 mH
The parameter values above have not been put into a consistent set of units. You must first covert these values to the standard SI system of units before proceeding with your design. You are to design a Proportional - Integral Derivative (PID) controller which incorporates a filter coefficient for the derivative term which will result in the following closed-loop performance.
The steady-state error to a step input must be zero. The settling time must be less than 50 ms. The percent overshoot to a step input must be less than 5 %.
The controller should take the following form.
)1()(Ns
sNKs
KKsG DIPc +++=
Where N is the filter coefficient and should satisfy the constraint 500N .
Vs I T Velocity
Vb
t
time
omega
Velocity
Kt
Torque Factor1
Kt
Torque Factor
T
Torque
Step
y
Position
PID(s)
PID Controller
1s
Integrator
I
Current
Clock
1L.s+R
Armature
1J.s
Arm
-
Submitted Materials
Provide your time-domain and frequency-domain analysis of the closed-loop system excluding the controller (take the controller transfer function to be 1.)
Provide your controller design and include documented effort to justify your design. Include the time-domain and frequency domain analyses including the controller.
Show that your design meets the required specifications. Include your Matlab / Simulink code in an appendix.
-
MAE 4053 IECEN 4413Automatic Control SYstems
Fall2011
Term Design Projectfr
Due: Friday, DecemAefizOtt bY 4 PmUsing the Class D2L DroPbox
Late submissions will result in a l0o/o late penalfy per day
You are to complete the control system design given on the following pages' A complete'neat, and well-documented design is required. Vou will be-graded on the accuracy andcompleteness of your design along witlr,the appearance and clarity of your report' Feel freeto use tools learned throughout the semester to complete your design'
You may ask the instructor or the TA clarifying questions, but may receive no other help onyour design other than what you are able to glean from the coulse notes or the coursetextbook. you may not utiliie materials obtained from friends, other instructors, or found onthe Internet. No solutions manuals or any other materials may be consulted' You are askedto sign the statement below attesting to the factthatyou followed these instructions. Pleaseur. ihit page as the cover sheet for your submission'
In submitting my Term Design Project, I attest to the fact that I followed the instructionssiven above.
Signed Name lDate
n, z*:1\
-
5o twfirn lYvrz t1^3 givr-n VrwbW*r"{
EUt.9*KL?
Y
n Nuar,,
{*". h'o--'tu,
tF -v-L o^tn6dlrr-L
1-o ba- \ )il.,^{r ;o1fr,rft'tat 'h"^ tftt
t?Jr(r-,_'9-rvr1{
tu *-,---4Y
-
@N rw,n n&-iy4\r*
"1D u*t6W,1,,{e ho &*b, 5 St
\-n-u
Y
Y
s (Jt-sG qt
e(rls"t W -*)W(tn* KDNI$
Ni r *re ttq-Is
-
oN'rw'
&"Wo t-"(w wd-aiw^1^ w- t&n (t)
-
@At P,g)
=
?
)
?
+
4
-h__./rv'u{. GY \r-fr_p Wn (o"gr
.
-fl'/-tr \- z't?t+*-
94 > z'xlrtFr" /
ry o"hry1> 0 ',6s,
+ uor9
(9*'.'ft(+xrdj
-
N lr'^j,sal'th,L t^r.*s *f E"\va,n hrnit^ 'fc rq7.n A^
,/-h? '71 XlO + ka'l'0
"5 *- *{an^P.arut-
/o-ll5 */o*
Ig'*fL-1 ,1f P rn L-\
I,l5,x rv-3 J):So, r$o-w , wrth t;lthx{Ylxr k^^g?ot l*""}""" +3 W- ,
"--
\
t(t,
lslT:
OA
l-t*
'fi *r dr'..+,^' ^J u"r,nN-^ 7h**ft- J+"it dN:A vruT tTfu & te
J^-"d^ ^r..,oty';1's
ryiua-n b,,ls-w 'U
t(|^vq rm- 1t't'5 ' 6?/''i2
n L'1'lZ AtOr o' B?,s--
-
Time Domain Analvsis (Controller Transfer Function = 1l:
MATLAB Code:
>> num=[.075];tt 6s n= [5.4 4e-9,4.L2e-5,5.63e-3,0.075];>> sys=tf(num,den)
Transfer function:0.075
5.44e-009 s^3 + 4.12e-005 s^2 + 0.00563 s + 0.075
>> step(sys)>> grid;>> stepinfo(sys)
ans =
RiseTime:0.1488SettlingTime: O.27O3SettlingMin: 0.9028SettlingMax: 0.9991Overshoot: 0Undershoot: 0
Peak:0.9991PeakTime:0.4808
Step Response:
o
=
E
i
I
i'
iIi'l
i
i
t/
0.8
4.7
u_o
0.5
0.4
0.3
0.2
0.1
0 0 0.05 0.1 al\ a.2 0.25Tlme (seconds)
-
MATTAB Code:
>> rlocus(sys);>> grid
Root Locus:
-a
.ox
o.Ro
2.5
z
1.5
1
0.5
0
-nq
-1
- t.3
"-0-6'. r .:.1-:.: ,.......
.'...........)*..-2 -1.5 -1 -0.5
Real Axis (seconds -1)
Frequencv Domain Analvsis (Controller Transfer Function = 1):
MATIAB Code:
>> bode(sys)>> grid>> margin(sys)>> grid
Bode Diagram:
0.5 1 1.5x 10.
?
]
-
Gm = 55.1 dB (at 1.02e+003
d!op7-oo
ooEo6(I
-250 Lt:
45 i ,,,:
-90 i,-,i-
-135 i
-180 i-'.'-225 i
^-^!
1A'1
MATLAB Code:
>> nyquist(sys)>> grid
Nyquist Plot:
Nyquist Diaglam
4 4 -fr.2 0 0.2 4.4 0.6 0.8Rl Axis
-2 dB '4 dB $dB
-
tur fu^yT+r1^ u,unffil4ez,b^gA v--) &'nTrr - N;'u!:0f uL^,{\ lyt Luary){rY tr-.i, , a.'-o-(14s, le}-
oKg z Ku'o A w-T:C)
So,
^b $ofi* oy,Vw^rk w/avtFr D I-**^x-/{**, .,1-s^gkr }
,\
\--^-o
Vloru-, c;.\^rr-e\r,l-n-n g li q- -eayr'.h'cn'
t^l^-( tt^- Sattt.. w 1l-\
:Q
r
wt\ r tq' *o
> (rus" + Krs
Rrtt17J o\A
\x c.^nr {,t 61re-.' t"tP {"-'s ftt $t-^-l*t,&t-^-n wetU- t..nnTLlt6.
ff.^R, tr..,' tk^A"*e t'\-tff $- K, i'e' K\w A^ s.^^"( b-o b! K't< zB 'le_.
-
Ziesler-Nichols PID Tuning method:
MATLAB Code:
>> num=[.075];tt 6sn= [5.4 4e-9,4.t2e-5,5.63e-3,0];>> sys=tf(num,den)
Transfer function:0.075
5.44e-009 s^3 + 4.12e-005 s^2 + 0.00563 s
>> rlocus(sys)>> grid>> rlocfind(sys)Select a point in the graphics window
selected_point =
-1.0565e+000 +8.8262e+002i
ans =
428.rr93
Root Locus:
2.5
a
1
0.5
0
-0.5
-1
.?
-25
Root Locus.::-'-'.''..- - 1"-----T----t-"-"'T-----':06 056. O42 'am 014
/
\^1.5 -1 -0.5
Real Axis (seconds -i)
.7tEooE-x
.o'ooE
-2^5
x 10'
-
MATLAB Code:
>> step(sys)>> grid
Step Response:
l
n? n?q
lol, i , ,lLLlir\t,,l'll),,,,jlr,l lll lll I \,tr,
i'i |, I I I i i i i i r tI I I iI i I i t i \l\lfiri$rvrr'\ v\rAv\A'rr' ^'- -'
I lllllilli ll 1j li l1 l/ l t,i ,l
'
r"lL'1l!'
2
1.8
1.6
14
1.2-o
I
Eil.8
0.6
il.4
*.2.
a uli
Step Response
, .,5 4.2Tirne (seconcls)
il.1005
-
Nuw , ,t-+.,wT t\^r- {orr.*/^ o$ *v*1* } '4U/wq t\o.M"g :
w?
Kt
lr-D
S'o, +t'A
0 'tr1 Ku^. = Zi]o.BTf 'z-K.,r
- .T,^ ' 13 )' 't1
0'6 Kr,,. T.,t= 0'7 1_g
l,{eru- \riua-o fni}anat.: N ( fuo -
Lol 4.rJr-L N : tr'-U_+ilt^,( +ft"ifar {*,h ^ w-rtb /.M ^-t1{t$l4.ry
(?5-- +r{ "
Y? I "? x ta3 t * 1 I95 r{ lvt
ruq^,o)st r q"t+,Xl0 -t S 1 r 7,Zrlxr-O'r)+ 6 3S'l"t U r{*?7 I'l|xt#s< g B'? fxtv(
] /"T4 F t- Yryu,J& *b ry\,QTrfto,b*,t- F 8;!- *
r^+.rf7_:'," f""" ,r.h,\\oL ^IA
-
MATLAB Code:
>> num=[635.75 991.9e3 98.95e6];tt 666=[5.44e-9 4.17e-5 9.74e-3 636.74 991.39e3 98.95e6];>> sys=tf(num,den)
Transfer function:635.8 s^2 + 99L900 s + 9.895e007
5.44e-009 s^5 + 4.17e-005 s^4 + 0.00974 s^3 + 636.1 s^2 + 991390 s + 9.895e007
>> step(sys)>> grid>> stepinfo(sys)>> gridans =
RiseTime: NaNSettlingTime: NaNSettlingMin: NaNSettlingMax: NaNOvershoot: NaNUndershoot: NaN
Peak: InfPeakTime: Inf
Step Response:
x "102611,
i
Step Response^--^-----1--- I - ----
10
I
6
o5
E
2
0 a2 a.m5 0.06 0.035 0.04Time (seconds)
-
L{9 &A &Kn;"t/t- vr"l,n&t of W , Ko ,, LL B, N e* o^1.a*"kag^..- t\"t- rsh^(+ hnq TL,eo
U
& t$& prucvis',,s o..t*^ch ;[,ie- .,$f--'-** v{k*, 9 ts?k
L*,KP= Lf)=to
)c,
K-7
K5 =\oN i l7p
t\^A 5 *({l\r"1 Ib-Ct/g-rN(g rI
tgT6,Sgtul Lv|'L{' -Y l8}i-o5'qqrlv / 5 + q ,f?xrd 5 sY J- 9'7h xro 3 33
t I g T1 "q3 g{* 2[t' Z5- St te+f
? vwW"j'* +KA d s1
-
MATLAB Code:
>> n u m= [ ].87 6.88,206.25, 18751;tt 6 s n = [5.4 4e-9,4.17 e-5,9 .7 4e-3,1.87 7 .43,206.25, 1875 j ;>> sys=tf(num,den)
Transfer function:t877s^2+206.3s+1875
5.44e-009 s^5 + 4.17e-005 s^4 + 0.OO974 s^3 + 1877 s^2 + 206.3 s + 1875
>> step(sys)>> grid>> stepinfo(sys)
ans --
RiseTime: NaNSettlingTime: NaNSettlingMin: NaNSettlingMax: NaNOvershoot: NaNUndershoot: NaN
Peak: InfPeakTime: lnf
Step Response:
Step Response
01 0.015 0.92 a.Q25 0.03 0.035 0.04Ime (secon*)
0.005
-
o4f { or +av^t + l,:ffi*-.F V orfivuLry' { 0 - 'l ' -uv\!
F1fi TL fr{3 Plf,lt ou-\\S-Oa* -nw\- d:rr^*'.r^'0
t\
Frlg.i, dS 1h,t-9L S4M-^r6n.rrr- **-f ,
%v\a-AU
cive-nU
) fu*'"{
+. *nr\ t,ti{Vy .n"?-{yi^S- {-N''& ^^rL
"^^[6*" stF.6.,{* nr,1n^J*."\ 5 F^cn l*-
Hej1A ' g,zr!-iti? hY'\^- : t4t'l *, Q *AJf-u z qSfurrf t, , /"
-
MATTAB Code:
>> num=[0.3 0.3 0.3];tt 6gn=[5.44e-9 4.L1,e-5 5.83e-3 0.305625 0.30 0.30];>> sys=tf(num,den)
Transfer function:0.3s^2+0.3s+0.3
5.44e-009 s^5 + 4.11e-005 s^4 + 0.00583 s^3 + 0.3056 s^2 + 0.3 s + 0.3
>> step(sys)>> grid>> stepinfo(sys)
ans =
RiseTime:0.0298SettlingTime: O.O46tSettlingMin: 0.9097SettlingMax: 1.01LLOvershoot: 1.1060Undershoot: 0
Peak: 1.01-11PeakTime:0.0648
Step Response:
0.03 0.04Tirne (seconds)
oEfE.E
Step Response
0.01 a.g2 0.05 0.06 0.07
-
Time Domain Analvsis:
MATLAB Code:
>> rlocus(sys)>> grid
Root locus:
2
tq
1
0.5
0
0.46
-,oECoooaa'x
(E'o)(!E
0.5-z
I:.
nal1'V.
ali
0.'1 5t
:
-2.32
-J
98" ,,
uz
ud7t
............. .,:i.."0.6 " o.$' : ..,,.."...........)..... ... ..: ..
n ,ia.............1........ . -\
-1 "5 -1 -0.5Real Axis (seconds -1) xlA
Frequencv Domain Analvsis:
MATLAB Code:
>> bode(sys)>> grid>> margin(sys)>> grid
Bode Plot:
-
iriirt-___r___[r_l50
mE0)""Ef-_c{Mo -rw(g
-1 50
-200s0
0oIo -90o(Eco-
-1 80
-2701l
3ode DiagramGm=43.2 dB(at 1.03er003rad/s), Pm= 174ce,g (at4.85rad/s)
Nyquist DiagEm
0 dB -2,d8
MATLAB Code:
>> nyquist(sys)>> grid
Nyquist Plot:
.Eo