+ All Categories
Home > Documents > Motor Speed 1

Motor Speed 1

Date post: 03-Jun-2018
Category:
Upload: njvasquez11
View: 224 times
Download: 0 times
Share this document with a friend

of 22

Transcript
  • 8/11/2019 Motor Speed 1

    1/22

    Example: DC Motor Speed Modelinghysical setup and system equationsesign requirements

    Matlab representation and open-loop response

    hysical setup and system equations

    Photo courtesy: Pope Electric Motors Pty Limited

    common actuator in control systems is the DC motor. It directly providestary motion and, coupled with wheels or drums and cables, can providensitional motion. The electric circuit of the armature and the free body

    agram of the rotor are shown in the following figure:

    r this example, we will assume the following values for the physical parameters. These values wererived by experiment from an actual motor in Carnegie Mellon's undergraduate controls lab.

    * moment of inertia of the rotor (J) = 0.01 kg.m^2/s^2* damping ratio of the mechanical system (b) = 0.1 Nms

    * electromotive force constant (K=Ke=Kt) = 0.01 Nm/Amp

    TM Example: DC Motor Speed Modeling

    ttp://www.engin.umich.edu/group/ctm/examples/motor/motor.html (1 of 5) [05/03/2002 11:50:52 p.m.]

    http://-/?-http://-/?-http://-/?-http://www.camtech.com.au/pope/motor.htmhttp://www.camtech.com.au/pope/motor.htmhttp://-/?-http://-/?-http://-/?-http://www.umich.edu/http://www.cmu.edu/
  • 8/11/2019 Motor Speed 1

    2/22

    * electric resistance (R) = 1 ohm* electric inductance (L) = 0.5 H

    * input (V): Source Voltage* output (theta): position of shaft

    * The rotor and shaft are assumed to be rigid

    he motor torque, T , is related to the armature current, i, by a constant factor Kt . The back emf, e, isated to the rotational velocity by the following equations:

    SI units (which we will use), Kt (armature constant) is equal to Ke (motor constant).

    om the figure above we can write the following equations based on Newton's law combined withrchhoff's law:

    Transfer Function

    sing Laplace Transforms, the above modeling equations can be expressed in terms of s.

    y eliminating I(s) we can get the following open-loop transfer function, where the rotational speed ise output and the voltage is the input.

    State-Spacethe state-space form, the equations above can be expressed by choosing the rotational speed and

    ectric current as the state variables and the voltage as an input. The output is chosen to be the rotationaleed.

    TM Example: DC Motor Speed Modeling

    ttp://www.engin.umich.edu/group/ctm/examples/motor/motor.html (2 of 5) [05/03/2002 11:50:52 p.m.]

  • 8/11/2019 Motor Speed 1

    3/22

    Design requirementsrst, our uncompensated motor can only rotate at 0.1 rad/sec with an input voltage of 1 Volt (this will bemonstrated later when the open-loop response is simulated). Since the most basic requirement of aotor is that it should rotate at the desired speed, the steady-state error of the motor speed should be lessan 1%. The other performance requirement is that the motor must accelerate to its steady-state speed ason as it turns on. In this case, we want it to have a settling time of 2 seconds. Since a speed faster thane reference may damage the equipment, we want to have an overshoot of less than 5%.

    we simulate the reference input (r) by an unit step input, then the motor speed output should have:Settling time less than 2 secondsOvershoot less than 5%Steady-state error less than 1%

    Matlab representation and open-loop response

    Transfer Functione can represent the above transfer function into Matlab by defining the numerator and denominatoratrices as follows:

    eate a new m-file and enter the following commands:

    J=0.01;b=0.1;K=0.01;R=1;L=0.5;num=K;den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];

    TM Example: DC Motor Speed Modeling

    ttp://www.engin.umich.edu/group/ctm/examples/motor/motor.html (3 of 5) [05/03/2002 11:50:52 p.m.]

    http://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.html
  • 8/11/2019 Motor Speed 1

    4/22

    ow let's see how the original open-loop system performs. Add the following commands onto the end of e m-file and run it in the Matlab command window:

    step (num,den,0:0.1:3)title('Step Response for the Open Loop System')

    ou should get the following plot:

    om the plot we see that when 1 volt is applied to the system, the motor can only achieve a maximumeed of 0.1 rad/sec, ten times smaller than our desired speed. Also, it takes the motor 3 seconds to reachsteady-state speed; this does not satisfy our 2 seconds settling time criterion.

    State-Space

    e can also represent the system using the state-space equations. Try the following commands in a new

    -file.

    J=0.01;b=0.1;K=0.01;R=1;L=0.5;A=[-b/J K/J -K/L -R/L];

    TM Example: DC Motor Speed Modeling

    ttp://www.engin.umich.edu/group/ctm/examples/motor/motor.html (4 of 5) [05/03/2002 11:50:52 p.m.]

    http://www.engin.umich.edu/group/ctm/extras/step.htmlhttp://www.engin.umich.edu/group/ctm/extras/step.html
  • 8/11/2019 Motor Speed 1

    5/22

    B=[0 1/L];C=[1 0];D=0;

    step (A, B, C, D)

    un this m-file in the Matlab command window, and you should get the same output as the one shownove.

    User feedbacke would like to hear about suggestions you have for improvement, difficulties you had with thetorials, errors that you found, or any other comments that you have. This feedback is anonymous.

    Modeling ExamplesCruise Control | Motor Speed | Motor Position | Bus Suspension | Inverted Pendulum | PitchController | Ball and Beam

    Motor Speed ExamplesModeling | PID | Root Locus | Frequency Response | State Space | Digital Control: PID

    utorialsBasics | Modeling | PID | Root Locus | Frequency Response | State Space | Digital Control |Examples

    /97 BRN 4/97 WM

    TM Example: DC Motor Speed Modeling

    ttp://www.engin.umich.edu/group/ctm/examples/motor/motor.html (5 of 5) [05/03/2002 11:50:52 p.m.]

    ubmit Feedback Reset

    http://www.engin.umich.edu/group/ctm/examples/cruise/cc.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor2/motor.htmlhttp://www.engin.umich.edu/group/ctm/examples/susp/susp.htmlhttp://www.engin.umich.edu/group/ctm/examples/pend/invpen.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/Mpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/Mpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/ball/ball.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/PID2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/freq2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/ss2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/digital.htmlhttp://www.engin.umich.edu/group/ctm/basic/basic.htmlhttp://www.engin.umich.edu/group/ctm/model/model.htmlhttp://www.engin.umich.edu/group/ctm/PID/PID.htmlhttp://www.engin.umich.edu/group/ctm/rlocus/rlocus.htmlhttp://www.engin.umich.edu/group/ctm/freq/freq.htmlhttp://www.engin.umich.edu/group/ctm/state/state.htmlhttp://www.engin.umich.edu/group/ctm/digital/digital.htmlhttp://www.engin.umich.edu/group/ctm/examples/examples.htmlhttp://www.engin.umich.edu/group/ctm/extras/commands.htmlhttp://www.engin.umich.edu/group/ctm/home.text.htmlhttp://www.engin.umich.edu/group/ctm/index.htmlhttp://www.engin.umich.edu/group/ctm/examples/examples.htmlhttp://www.engin.umich.edu/group/ctm/digital/digital.htmlhttp://www.engin.umich.edu/group/ctm/state/state.htmlhttp://www.engin.umich.edu/group/ctm/freq/freq.htmlhttp://www.engin.umich.edu/group/ctm/rlocus/rlocus.htmlhttp://www.engin.umich.edu/group/ctm/PID/PID.htmlhttp://www.engin.umich.edu/group/ctm/model/model.htmlhttp://www.engin.umich.edu/group/ctm/basic/basic.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/digital.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/ss2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/freq2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/PID2.htmlhttp://www.engin.umich.edu/group/ctm/examples/ball/ball.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/Mpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/Mpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/pend/invpen.htmlhttp://www.engin.umich.edu/group/ctm/examples/susp/susp.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor2/motor.htmlhttp://www.engin.umich.edu/group/ctm/examples/cruise/cc.html
  • 8/11/2019 Motor Speed 1

    6/22

    Example: Root Locus Design Method for DCMotor Speed Control

    rawing the open-loop root locusnding the gain using the rlocfind commanddding a lag controllerotting the closed-loop response

    om the main problem, the dynamic equations and the open-loop transfer function of DC Motor Speede:

    d the system schematic looks like:

    r the original problem setup and the derivation of the above equations, please refer to the ModelingC Motor page.

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (1 of 8) [05/03/2002 11:56:32 p.m.]

    http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://www.umich.edu/http://www.cmu.edu/
  • 8/11/2019 Motor Speed 1

    7/22

    ith a 1 rad/sec step reference, the design criteria are:Settling time less than 2 secondsOvershoot less than 5%Steady-state error less than 1%

    ow let's design a controller using the root locus method.

    eate a new m-file and type in the following commands (refer to main problem for the details of gettingose commands).

    J=0.01;b=0.1;K=0.01;R=1;L=0.5;num=K;den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];

    Drawing the open-loop root locushe main idea of root locus design is to find the closed-loop response from the open-loop root locus plot.hen by adding zeros and/or poles to the original plant, the closed-loop response can be modified. Let'sst view the root locus for the plant. Add the following commands at the end of your m-file.

    rlocus (num,den)sgrid (.8,0)sigrid (2.3)title('Root Locus without a controller')

    he command sigrid is the user-defined function. You need to copy the sigrid.m file to your directlyfore using it. For more information on how to use functions, refer to functions .

    wo arguments in the sgrid command are the damping ratio (zeta) term (0.8 corresponds to a overshoot5%), and the natural frequency (Wn) term (= 0 corresponds to no rise time criterion) respectively. The

    ngle argument in the sigrid command is the sigma term (4.6/2 seconds = 2.3). After you have savedgma.m file to your directly, run the above m-file in the command window. You should get the root

    cus plot shown below:

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (2 of 8) [05/03/2002 11:56:32 p.m.]

    http://www.engin.umich.edu/group/ctm/extras/mfile.htmlhttp://www.engin.umich.edu/group/ctm/extras/sigrid.htmlhttp://www.engin.umich.edu/group/ctm/extras/function.htmlhttp://www.engin.umich.edu/group/ctm/extras/function.htmlhttp://www.engin.umich.edu/group/ctm/extras/sigrid.htmlhttp://www.engin.umich.edu/group/ctm/extras/mfile.html
  • 8/11/2019 Motor Speed 1

    8/22

    inding the gain using the rlocfind commandyou recall, we need the settling time and the overshoot to be as small as possible. Large dampingrresponds to points on the root locus near the real axis. A fast response corresponds to points on theot locus far to the left of the imaginary axis. To find the gain corresponding to a point on the root locus,e can use the rlocfind command. We can find the gain and plot the step response using this gain all atce. To do this, enter the following commands at the end of your m-file and rerun it.

    [k,poles] = rlocfind (num,den)[numc,denc]= cloop (k*num,den,-1);t=0:0.01:3;step (numc,denc,t)title('Step response with gain')

    o to the plot and select a point on the root locus half-way between the real axis and the dampingquirement, say at -6+2.5i. Matlab should return the output similar to the following.

    selected_point = -5.9596 + 2.0513i

    k = 10.0934

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (3 of 8) [05/03/2002 11:56:33 p.m.]

    http://www.engin.umich.edu/group/ctm/extras/step.htmlhttp://www.engin.umich.edu/group/ctm/extras/step.html
  • 8/11/2019 Motor Speed 1

    9/22

    poles = -6.0000 + 2.0511i -6.0000 - 2.0511i

    ote that the values returned in your Matlab command window may not be exactly the same, but shouldleast have the same order of magnitude. You should also get the following plot:

    s you can see, the system is overdamped and the settling time is about one second, so the overshoot andttling time requirements are satisfied. The only problem we can see from this plot is the steady- statror of about 50%. If we increase the gain to reduce the steady-state error, the overshoot becomes tooge (Try this yourself). We need to add a lag controller to reduce the steady-state error.

    Adding a lag controllerom the plot we see that this is a very simple root locus. The damping and settling time criteria wereet with the proportional controller. The steady-state error is the only criterion not met with theoportional controller. A lag compensator can reduce the steady-state error. By doing this, we mightwever increase our settling time. Try the following lag controller first:

    his can be done by changing your m-file to look like the following:

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (4 of 8) [05/03/2002 11:56:33 p.m.]

    http://www.engin.umich.edu/group/ctm/extras/lead.lag.html#lagrlhttp://www.engin.umich.edu/group/ctm/extras/lead.lag.html#lagrl
  • 8/11/2019 Motor Speed 1

    10/22

    J=0.01;b=0.1;K=0.01;R=1;L=0.5;num=K;den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];

    z1=1;p1=0.01;numa = [1 z1];dena = [1 p1];numb=conv(num,numa);denb=conv(den,dena);

    rlocus (numb,denb)

    sgrid (.8,0)sigrid (2.3)title('Root Locus with a lag controller')

    ma and dena are the numerator and denominator of the controller, and numb and denb are themerator and denominator of the overall open-loop transfer function.

    ou should get the following root locus, which looks very similar to the original one:

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (5 of 8) [05/03/2002 11:56:33 p.m.]

  • 8/11/2019 Motor Speed 1

    11/22

    lotting the closed-loop responseow let's close the loop and see the closed-loop step response Enter the following code at the end of your-file:

    [k,poles]= rlocfind (numb,denb)

    [numc,denc]= cloop (k*numb,denb,-1);t=0:0.01:3;step (numc,denc,t)title('Step response with a lag controller')

    erun this m-file in the Matlab command window. When prompted to select a point, pick one that is neare damping requirement (diagonal dotted line). You should get the a plot similar to the following:

    our gain should be about 20. As you can see the response is not quite satisfactory. You may also noteat even though the gain was selected to correlate with a position close to the damping criterion, theershoot is not even close to five percent. This is due to the effect of the lag controller kicking in at aer time than the plant. (its pole is slower). What this means is that we can go beyond the dotted linesat represent the limit, and get the higher gains without worrying about the overshoot . Rerun your-file, place the gain just above the white, dotted line. Keep trying until you get a satisfactory response.should look similar to the following (we used a gain of around 50):

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (6 of 8) [05/03/2002 11:56:33 p.m.]

  • 8/11/2019 Motor Speed 1

    12/22

    he steady-state error is smaller than 1%, and the settling time and overshoot requirements have beenet. As you can see, the design process for root locus is very much a trial and error process. That is whys nice to plot the root locus, pick the gain, and plot the response all in one step. If we had not been ableget a satisfactory response by choosing the gains, we could have tried a different lag controller, or

    en added a lead controller.

    User feedbacke would like to hear about suggestions you have for improvement, difficulties you had with thetorials, errors that you found, or any other comments that you have. This feedback is anonymous.

    Root Locus ExamplesCruise Control | Motor Speed | Motor Position | Bus Suspension | Inverted Pendulum | PitchController | Ball and Beam

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (7 of 8) [05/03/2002 11:56:33 p.m.]

    ubmit Feedback Reset

    http://www.engin.umich.edu/group/ctm/examples/cruise/ccRL.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor2/rlocus2.htmlhttp://www.engin.umich.edu/group/ctm/examples/susp/rlocus1.htmlhttp://www.engin.umich.edu/group/ctm/examples/pend/invRL.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/RLpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/RLpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/ball/bbRL.htmlhttp://www.engin.umich.edu/group/ctm/examples/ball/bbRL.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/RLpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/pitch/RLpitch.htmlhttp://www.engin.umich.edu/group/ctm/examples/pend/invRL.htmlhttp://www.engin.umich.edu/group/ctm/examples/susp/rlocus1.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor2/rlocus2.htmlhttp://www.engin.umich.edu/group/ctm/examples/cruise/ccRL.html
  • 8/11/2019 Motor Speed 1

    13/22

    Motor Speed ExamplesModeling | PID | Root Locus | Frequency Response | State Space | Digital Control: PID

    utorialsBasics | Modeling | PID | Root Locus | Frequency Response | State Space | Digital Control |Examples

    29/96 YS 24/97 WM

    TM Example: Root Locus Design Method for DC Motor Speed Control

    ttp://www.engin.umich.edu/group/ctm/examples/motor/rlocus2.html (8 of 8) [05/03/2002 11:56:33 p.m.]

    http://www.engin.umich.edu/group/ctm/examples/motor/PID2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/freq2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/ss2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/digital.htmlhttp://www.engin.umich.edu/group/ctm/basic/basic.htmlhttp://www.engin.umich.edu/group/ctm/model/model.htmlhttp://www.engin.umich.edu/group/ctm/PID/PID.htmlhttp://www.engin.umich.edu/group/ctm/rlocus/rlocus.htmlhttp://www.engin.umich.edu/group/ctm/freq/freq.htmlhttp://www.engin.umich.edu/group/ctm/state/state.htmlhttp://www.engin.umich.edu/group/ctm/digital/digital.htmlhttp://www.engin.umich.edu/group/ctm/examples/examples.htmlhttp://www.engin.umich.edu/group/ctm/extras/commands.htmlhttp://www.engin.umich.edu/group/ctm/home.text.htmlhttp://www.engin.umich.edu/group/ctm/index.htmlhttp://www.engin.umich.edu/group/ctm/examples/examples.htmlhttp://www.engin.umich.edu/group/ctm/digital/digital.htmlhttp://www.engin.umich.edu/group/ctm/state/state.htmlhttp://www.engin.umich.edu/group/ctm/freq/freq.htmlhttp://www.engin.umich.edu/group/ctm/rlocus/rlocus.htmlhttp://www.engin.umich.edu/group/ctm/PID/PID.htmlhttp://www.engin.umich.edu/group/ctm/model/model.htmlhttp://www.engin.umich.edu/group/ctm/basic/basic.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/digital.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/ss2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/freq2.htmlhttp://www.engin.umich.edu/group/ctm/examples/motor/PID2.html
  • 8/11/2019 Motor Speed 1

    14/22

    Steady-State Erroralculating steady-state errorsystem type and steady-state errorxample: Meeting steady-state error requirements

    eady-state error is defined as the difference between the input and output of a system in the limit asme goes to infinity (i.e. when the response has reached the steady state). The steady-state error willpend on the type of input (step, ramp, etc) as well as the system type (0, I, or II).

    ote: Steady-state error analysis is only useful for stable systems. It is your responsibility to checke system for stability before performing a steady-state error analysis. Many of the techniquesat we present will give an answer even if the system is unstable; obviously this answer iseaningless for an unstable system.

    Calculating steady-state errorsefore talking about the relationships between steady-state error and system type, we will show how tolculate error regardless of system type or input. Then, we will start deriving formulas we will applyhen we perform a steady state-error analysis. Steady-state error can be calculated from the open orosed-loop transfer function for unity feedback systems. For example, let's say that we have thellowing system:

    hich is equivalent to the following system:

    e can calculate the steady state error for this system from either the open or closed-loop transfer

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (1 of 9) [06/03/2002 12:59:58 a.m.]

    http://www.umich.edu/http://www.cmu.edu/
  • 8/11/2019 Motor Speed 1

    15/22

    nction using the final value theorem (remember that this theorem can only be applied if thenominator has no poles in the right-half plane):

    ow, let's plug in the Laplace transforms for different inputs and find equations to calculate steady-staterors from open-loop transfer functions given different inputs:

    Step Input (R(s) = 1/s):

    Ramp Input (R(s) = 1/s^2):

    Parabolic Input (R(s) = 1/s^3):

    hen we design a controller, we usually want to compensate for disturbances to a system. Let's say that

    e have the following system with a disturbance:

    e can find the steady-state error for a step disturbance input with the following equation:

    stly, we can calculate steady-state error for non-unity feedback systems:

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (2 of 9) [06/03/2002 12:59:58 a.m.]

  • 8/11/2019 Motor Speed 1

    16/22

    y manipulating the blocks, we can model the system as follows:

    ow, simply apply the equations we talked about above.

    ystem type and steady-state erroryou refer back to the equations for calculating steady-state errors for unity feedback systems, you will

    nd that we have defined certain constants ( known as the static error constants). These constants are thesition constant (Kp), the velocity constant (Kv), and the acceleration constant (Ka). Knowing the valuethese constants as well as the system type, we can predict if our system is going to have a finite

    eady-state error.

    rst, let's talk about system type. The system type is defined as the number of pure integrators in astem. That is, the system type is equal to the value of n when the system is represented as in thellowing figure:

    herefore, a system can be type 0, type 1, etc. Now, let's see how steady state error relates to systempes:

    Type 0 systems Step Input Ramp Input Parabolic Input Steady State Error Formula 1/(1+Kp) 1/Kv 1/Ka

    Static Error Constant Kp = constant Kv = 0 Ka = 0

    Error 1/(1+Kp) infinity infinity

    Type 1 systems Step Input Ramp Input Parabolic Input

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (3 of 9) [06/03/2002 12:59:58 a.m.]

    http://www.engin.umich.edu/group/ctm/extras/ess/ess1.htmlhttp://www.engin.umich.edu/group/ctm/extras/ess/ess2.htmlhttp://www.engin.umich.edu/group/ctm/extras/ess/ess2.htmlhttp://www.engin.umich.edu/group/ctm/extras/ess/ess1.html
  • 8/11/2019 Motor Speed 1

    17/22

    Steady State Error Formula 1/(1+Kp) 1/Kv 1/Ka

    Static Error Constant Kp = infinity Kv = constant Ka = 0

    Error 0 1/Kv infinity

    Type 2 systems Step Input Ramp Input Parabolic Input Steady State Error Formula 1/(1+Kp) 1/Kv 1/KaStatic Error Constant Kp = infinity Kv = infinity Ka = constant

    Error 0 0 1/Ka

    Click on the System Type to see examples

    xample: Meeting steady-state error requirementsven the following system,

    here G(s) is:

    K*(s + 3)(s + 5)--------------------------

    s (s + 7)(s + 8)

    nd the value of K so that there is 10% steady state error in open loop. Since this system is type 1, therell be no steady-state error for a step input and an infinite error for a parabolic input. The only input thatll yield a finite steady-state error in this system is a ramp input. Let's look at the ramp input responser a gain of 1:

    num = conv( [1 5], [1 3]);

    den = conv([1,7],[1 8]);den = conv(den,[1 0]);[clnum,clden] = cloop (num,den);t = 0:0.1:50;u = t;[y,x] = lsim (clnum,clden,u,t);plot (t,y,t,u)

    xlabel('Time(secs)')ylabel('Amplitude')

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (4 of 9) [06/03/2002 12:59:58 a.m.]

    http://www.engin.umich.edu/group/ctm/extras/ess/ess3.htmlhttp://www.engin.umich.edu/group/ctm/extras/lsim.htmlhttp://www.engin.umich.edu/group/ctm/extras/plot.htmlhttp://www.engin.umich.edu/group/ctm/extras/plot.htmlhttp://www.engin.umich.edu/group/ctm/extras/lsim.htmlhttp://www.engin.umich.edu/group/ctm/extras/ess/ess3.html
  • 8/11/2019 Motor Speed 1

    18/22

    title('Input-purple, Output-yellow')

    he steady-state error for this system is very large, since we can see that an input of time = 20 gives usoutput with amplitude of approximately 16. We will talk about this in further detail in a few moments.

    e know from our problem statement that the steady state error must be 0.1. Therefore, we can solve theoblem following these steps:

    t's see the ramp input response for K = 37.33:

    k =37.33 ;num =k*conv( [1 5], [1 3]);den =conv([1,7],[1 8]);den = conv(den,[1 0]);[clnum,clden] = cloop (num,den);t = 0:0.1:50;u = t;[y,x] = lsim (clnum,clden,u,t);plot(t,y,t,u)xlabel('Time(secs)')ylabel('Amplitude')title('Input-purple, Output-yellow')

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (5 of 9) [06/03/2002 12:59:58 a.m.]

  • 8/11/2019 Motor Speed 1

    19/22

    order to get a better view, we must zoom in on the response. We choose to zoom in between 40 and 41cause we will be sure that the system has reached steady state by then and we will also be able to get aod view of the input and the output.

    axis ([40,41,40,41])

    he amplitude = 40 at t = 40 for our input, and time = 40.1 for our output. However, since these arerallel lines in steady state, we can also say that when time = 40 our output has an amplitude of 39.9,ving us a steady-state error of 10%. Let's zoom in further on this plot and confirm our statement:

    axis([39.9,40.1,39.9,40.1])

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (6 of 9) [06/03/2002 12:59:58 a.m.]

    http://www.engin.umich.edu/group/ctm/extras/plot.html#axishttp://www.engin.umich.edu/group/ctm/extras/plot.html#axis
  • 8/11/2019 Motor Speed 1

    20/22

    ow let's modify the problem a little bit and say that our system looks as follows:

    ur G(s) is the same, but now we want zero steady-state error for a ramp input.

    om our tables, we know that a system of type 2 gives us zero steady-state error for a ramp input.herefore, we can get zero steady-state error by simply adding an integrator (a pole at the origin) Let'sew the ramp input response for a step input if we add an integrator and use a gain of one:

    num =conv( [1 5], [1 3]);den =conv([1,7],[1 8]);den = conv(den,[1 0]);den = conv(den,[1,0]);[clnum,clden] = cloop (num,den);t = 0:0.1:250;u = t;[y,x] = lsim (clnum,clden,u,t);plot(t,y,t,u)xlabel('Time(secs)')ylabel('Amplitude')title('Input-purple, Output-yellow')

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (7 of 9) [06/03/2002 12:59:58 a.m.]

  • 8/11/2019 Motor Speed 1

    21/22

    s you can see, the response is not the most desirable one (we can see oscillations at 100secs, but youay have to zoom in to see them). However, at steady state we have zero steady-state error. Let's zoomat 240 secs. (trust me, it doesn't reach steady state until then):

    axis([239.9,240.1,239.9,240.1])

    s you can see, the steady-state error is zero. Feel free to zoom in at different areas on the diagram andserve how the response approaches steady state.

    User feedbacke would like to hear about difficulties you had with the tutorials, suggestions you have forprovement, errors that you found, or any other comments that you have. This feedback is anonymous;

    clude your email address if you want a reply.

    TM: Steady State Error

    ttp://www.engin.umich.edu/group/ctm/extras/ess/ess.html (8 of 9) [06/03/2002 12:59:58 a.m.]

  • 8/11/2019 Motor Speed 1

    22/22

    se your browser "Back" button to return to the previous page

    28/96 LJO

    TM: Steady State Error

    ubmit Feedback Reset


Recommended