Design of a PID Controller for Disk Drive System

24
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

description

Design of a closed-loop controller utilizing time-domain analysis, frequency-domain analysis, and MATLAB

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