Design of A PID Controller For Disk Drive System
Design of A PID Controller For Disk Drive System
Design of A PID Controller For Disk Drive System
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.
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.
I Current
T Torque
Vs
1 L.s+R Armature Vb
Kt
1 J.s Arm
Velocity
1 s Integrator
y Position
Torque Factor
Kt Torque Factor1
omega Velocity
t Clock 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 Inertia Torque Factor Coil Resistance Coil Inductance Symbol J Kt R L Value 47.31 g-cm2 75 N-mm / ampere 8.7 ohms 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 %.
Where N is the filter coefficient and should satisfy the constraint N 500 .
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.
4413 SYstems
bY 4 Pm
Using the Class D2L DroPbox Late submissions will result in a l0o/o late penalfy per day pages' A complete' You are to complete the control system design given on the following on the accuracy and neat, and well-documented design is required. Vou will be-graded of your report' Feel free clarity completeness of your design along witlr,the appearance and to use tools learned throughout the semester to complete your design'
no other help on You may ask the instructor or the TA clarifying questions, but may receive the course your design other than what you are able to glean from the coulse notes or or found on textbook. you may not utiliie materials obtained from friends, other instructors, consulted' You are asked the Internet. No solutions manuals or any other materials may be instructions. Please to sign the statement below attesting to the factthatyou followed these ur. ihit page as the cover sheet for your submission'
the instructions In submitting my Term Design Project, I attest to the fact that I followed siven above.
n, z*:1\
Signed Name
lDate
5o
twfirn l
givr-n VrwbW*r"
{
Yvrz t1^3
EUt.9*KL?
t?Jr(r-,_'9-rvr1{
Nuar,,
tF
-v-L o^tn6dlrr-L
tftt
tu,
{*".
h'o--'
1-o ba- \ )
tu
*-,---4Y
@
N rw,
n&-iy4\r*
,{e ho , 5
"1D u*t6W,1,
s
&*b St
(Jt-sG
qt
\-n-u
s<t*N)
e(rls"t W -*)
l"r6stnJ)(ttiv+\
v*t
y'r,.^lh'1tc^[,t",t
^ A vxavr*1iry 1,rarJ-'..
TF = e\Q) l\
rtrrf
\t
o
N'rw'
(^(5) = Tf
'
&"<ww
frt
r.n* 5
,TUW,
E=kf
=(- (aL,
= \('-
q(t,
?
s.
\i
5
-?0
"^''
*kl
"r
"-
t-
ilfr49
Kf(r(1N
:l-l
o Ptwnl".A
At
P,g) =
\r -fr_ ? p Wn (o"gr
.
-h__./ rv'u{. GY
-fl
4 1> 0 ',6s,
+ uor9
ry
ft(+xrdj
( 9*'.'
lr'^j,
E"\va,n
,/-
hrnit^
'fc
q7.n A^
h?
'71 XlO +
t(t,
"5
0 *- *{an^P.arut/
ka'l'
o-ll5 */o*
I
OA
g'*fL1
lt*
,1f
rn
L-\
'fi *r dr'..+,^'
^J
u"r,nN-^
tt
6s n= [5.4 4e-9,4.L2e-5,5.63e-3,0.075];
>> sys=tf(num,den)
Transfer function:
0.075
s + 0.075
ans =
RiseTime:0.1488 SettlingTime: O.27O3 SettlingMin: 0.9028 SettlingMax: 0.9991 Overshoot: 0 Undershoot: 0 Peak:0.9991 PeakTime:0.4808 Step Response:
0.8
4.7
i u_o
=
E
0.5
i'
i
I
i'
l
i i
t/
0.05
0.1
al\
a.2
Tlme (seconds)
0.25
MATTAB Code:
>> rlocus(sys); >> grid
Root Locus:
2.5 z
1.5
-a
0.5
.o
.R
o -nq o
-1
- t.3
. r
"-0-6'
.:.1-:.: ,.......
-2
-1.5
Real
-1
.'...........)*..
-0.5
-1)
0.5
1.5
Axis (seconds
x 10.
Bode Diagram:
?
d !
o p
7-
o o
-250
L t:
45 i ,,,:
o o E
-90 i,-,ii
(I -180 i-'.'
-225
^-^!
1A'1
i
o -135 6
MATLAB Code:
>> nyquist(sys) >> grid
Nyquist Plot:
Nyquist Diaglam
-2 dB
'4
dB
$dB
-fr.2
0.2
4.4
0.6
0.8
Rl Axis
tur fu^yT+r1^ u,unffil4ez, ^b $ofi* oy,Vw^rk w/avt b^gA v--) &'nTrr - N;'u!: Fr D I-**^x-/{**, .,1-s^gkr } ,\
0f uL^,{\ lyt
Luary)
w 1l-\
\--^-o
\ r tq'
wt
>
(rus" + Krs
*o
:Q
ftt $t-^-l*t,
i'e'
o\A
A^ s.^^"(
b-o
b! K't< zB 'le_.
t'\-tff $- K,
K\
tt
>> sys=tf(num,den)
Transfer function:
0.075
selected_point
-1.0565e+000 +8.8262e+002i
ans =
428.rr93
Root Locus:
Root Locus
2.5
a
06
.::-'-'.''..- -
056.
1"-----T----t-"-"'T-----':
O42 'am
014
/
.7t
1
E
o o
E
0.5
0
-x
'o
o E
. o
-0.5
-1
.?
\
-2^5
-25
^1.5
-1
-0.5
-i)
x 10'
MATLAB Code:
>> step(sys) >> grid
Step Response:
Step Response
2
1.8 1.6
lo
14
1.2-
l, i ,
lLLlir\t,
o
I
i'i
il.8
0.6
il.4
*.2.
a
!'
lL' 1l
I lllllilli ll li l/ l r" i ,l
r
Iiiiii
tI
II
iI i
l1
Ii
i
t,
\l\lfiri$rvrr'\
v\rAv\A'rr' ^'-
-'
l
1j
'
005
il.1
, .,5
4.2
uli
n?
n?q
Tirne (seconcls)
Nuw
,t-+.,wT
U/
t\^r- {orr.*/^
o$ *v*1* } '4
wq
t\o.M"g :
w?
0 'tr1 Ku^.
f
= Zi]o.BT
. 13 )'
Kt
lr-D
'z-K.,r -
T,^
0'6
Kr,,.
T.,t
'
't1
0'7 1_
l,{eru- \riua-o
fni}anat.: N ( fuo N:
tr'-U_
Lol
4.rJr-L
S'o, +t'A
w-rtb
/.M
^-t1{t$l4.ry
(?5--
* 1 I95 r{ lvt
-t S 1 r 7,Zrlxr-O q"t+,Xl0 r ruq^,o)st 'r) + 6 3S'l"t U r{*?7 I'l|xt#s < g B'? fxtv(
Yryu,J& *b r^+.rf7_:',"
ry\,QTrfto,
f""" ,r.h,\\
MATLAB Code:
>> num=[635.75 991.9e3 98.95e6];
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
tt
s + 9.895e007
ans
RiseTime: NaN
SettlingTime: NaN
SettlingMin: NaN
SettlingMax: NaN Overshoot: NaN Undershoot: NaN
Peak: Inf
PeakTime: Inf
Step Response:
x
11,
i
"1026
^--^-----1---
10
I
6
o
5 E
Ko ,,
LL B, N e* o^1.
a*"kag^..-
hnq TL,eo
L*,
KP= Lf
)=to
K5 =\o
N i )c, t\^A
l7p
5
I
*({l\r"1
b-Ct/g-rN(g
r
I
K-7
tgT6,Sgtul Lv|'L{'
5'qqrlv
o / 5
-Y
l8}i-
y esf u^s a-
In
vrA r
L-ryj ^,,&
MATLAB Code:
>>
nu
tt 6 s
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: NaN
SettlingTime: NaN
SettlingMin: NaN SettlingMax: NaN Overshoot: NaN Undershoot: NaN Peak: Inf PeakTime: lnf Step Response:
Step Response
0.005
01
0.015 0.92
Ime (secon*)
a.Q25 0.03
0.035
0.04
o
4f' { or
+av^t
{
V -uv\! orfivuLry
"i
fu*'"{
hl-,^,
$'3:rl-,j,
,-q
t"3
+. *nr\ t,ti{Vy
F1fi TL
%v\a-A
U
.n"?-{yi^
cive-n
U
S- {-N''& ^^rL
s
t\
5 F^cn
l*-
**-f
Hej1A
*AJ
k 5o
e-"il"n
MATTAB Code:
>> num=[0.3 0.3 0.3]; 6gn=[5.44e-9 4.L1,e-5 5.83e-3 0.305625 0.30 0.30]; >> sys=tf(num,den)
tt
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.0298 SettlingTime: O.O46t SettlingMin: 0.9097 SettlingMax: 1.01LL Overshoot: 1.1060 Undershoot: 0
Peak: 1.01-11
PeakTime:0.0648
Step Response:
Step Response
E f
o
E
E.
0.01
a.g2
0.03
0.04
0.05
0.06
0.07
Tirne (seconds)
Root locus:
0.46
2
tq
1
-,o
E C
o o o a
0.5
0
I
a 'x
(E
nal
:.
'o)
(!
1'V. al
i
98"
,,
0.uz
'1 5t
u
:
d7t
.............
0.6 -z
-2.3
.,:i.."
' "
: ..,,.."...........).....
...
o.$ ..:
n ,ia
.. .............1........
-J
-1
"5
Real
-1
-\
-0.5
-1)
0.5
Axis (seconds
xlA
bode(sys)
grid
margin(sys)
grid
Bode Plot:
3ode Diagram
E 0)"" E f -_ c{M-rw o (g
-1
50
-200 s0
I o o
c
(E
-90
o-1
80
-270
1l
Nyquist Plot:
Nyquist DiagEm 0
dB
-2,d8
.E