Guaranteed Higher Grade!

Free Quote
Cruise Control Problem: Study of P and PI Controllers

Answered

Objective

**Objective:**

Through a cruise control problem, study the principle of P and PI controllers; how to use them in practical problems; and how to design a control system to meet certain criteria.

**1. Physical setup and math model **

Ã¯Â¿Â½

Figure 1 is a simplified cruise control system. If the inertia of the wheels is neglected, and it is assumed that friction (which is proportional to the car's speed) is what is opposing the motion of the car, then the problem is reduced to the simple mass and damper system shown below:

Where **m** is the mass of the car, **b** is the resistance of the system due to friction, u is the force from the engine, and y is the velocity which is the system output.

Assume:

A car:

m = 1961 kg (1lb=0.9kg)Ã¯Â¿Â½Ã¯Â¿Â½

- b = 50 Nsec/m
- U(s) = 40 N

**2. Design requirements**

Speed up your car from being still to 10m/s with,

Rise time < 5 sec

Overshoot < 10%

Steady state error < 2%

You may want to sketch in you mind how this kind of response will look like.

**Procedures**

**1. Proportional control**

1) To implement the cruise control, a controller will be added to form a feedback control system in order to improve the system performance. Figure 2 above is the block diagram of a typical unity feedback system.

To use a proportional control, a proportional gain Kp is placed into controllerÃ¯Â¿Â½s position, and the plant will be replaced by the transfer function of the car speed which is in Eq. 1. By reducing the block diagram, the closed-loop transfer function with a proportional controller becomes:

2) For now, let Kp equal 100 and see what happens to the response. Create a new m-file in Matlab and enter the following commands.Ã¯Â¿Â½

Ã¯Â¿Â½

Kp=100;

m=1961; Ã¯Â¿Â½ Ã¯Â¿Â½ Ã¯Â¿Â½ Ã¯Â¿Â½//you need to use your car mass

b=50;

R=10;

num=[1];

den=[m b];

cruise=tf(num,den);

sys_cl=feedback(Kp*cruise,1);

t=0:0.1:20;

step(R*sys_cl,t)

axis([0 20 0 10])

LetÃ¯Â¿Â½s say you say your m-file as cruise1.m.

In above file, R is the setpoint and is assumed to be 10 m/s (you may want to convert this into miles/hr). We are simulating what the systemÃ¯Â¿Â½s response looks like if we wish to increase our car speed from 0 to 10 m/s. We use a proportional controller with a proportional gain K_{P}=100.Ã¯Â¿Â½ Can you predict if this system will have an using Laplace transform calculation? Show your calculation.

After the m-file is saved with the name cruise1.m in the MATLAB folder or directory, you can execute the commands in the m-file by simply typing cruise1 at the MATLAB prompt, or if it does not work, in the m.file edit window, click the Ã¯Â¿Â½RunÃ¯Â¿Â½ button at the top menu.

Ã¯Â¿Â½

Running this m-file in the MATLAB command window should give you the step response similar to that in Figure 3 (they may not be exactly the same). Copy and paste your graph below and continue with the next assignments.

3) Evaluate if the response satisfies our design criteria or not and explain why. In your figure label the final value, the e_{ss}, rise time t_{r}.Ã¯Â¿Â½ You can increase the proportional gain (Kp) to improve the system output. Change the existing m-file so that Kp equal 10000 and rerun it. Save your response curve and explain if the response satisfies our design criteria or not. Label the final value (you can print the curves and hand label the parameters on your hard copy), the e_{ss}, rise time t_{r} and overshoot if there is any. Is this response realistic and why?

4) The time-domain equation for a PI controller is:

The transfer function for a PI control is:

Ã¯Â¿Â½

Plug above equation into controllerÃ¯Â¿Â½s position, and use Eq. 1 to replace the plant in Fig. 2. What is the closed loop transfer function when we use above PI controller? Can you predict if this system will have an e_{ss }using Laplace transform calculation? Show your calculation here.

5) An integral controller used in the system eliminates the steady-state error (offset). For now, let Kp equal 600 and KI equal 1 and see what happens to the response. Change your m-file to the following and save it as cruise2.m. Ã¯Â¿Â½

m=1000; Ã¯Â¿Â½ Ã¯Â¿Â½ Ã¯Â¿Â½ Ã¯Â¿Â½//you need to use your car mass

b=50;

num=[1];

den=[m b];

cruise=tf(num,den);

Kp = 600;

Ki = 1;

contr=tf([Kp Ki],[1 0]); Ã¯Â¿Â½ Ã¯Â¿Â½

sys_cl=feedback(contr*cruise,1);

R=10;

t=0:0.1:20;

step(R*sys_cl,t)

axis([0 20 0 10])

Ã¯Â¿Â½

You should get a response curve and show it here. Again, evaluate if it meets the design requirements. On your curve label the final value, the ess, rise time tr and overshoot if there is any.

6) Now adjust both the proportional gain (Kp) and the integral gain (KI) to obtain the desired response. When you adjust the integral gain (KI), we may want to start with a small value since a large (KI) can destabilize the response.Ã¯Â¿Â½

Hint:

1) For a car of mass=1000kg, Kp is about 800 and KI about 40, the step response will look like what we want. ItÃ¯Â¿Â½s your duty to explain why this step response meets all design criteria.

2) The tasks are in each steps so you need to read carefully and not miss any.Ã¯Â¿Â½