A1 FA20 Sol
A1 FA20 Sol
A1 FA20 Sol
𝑣𝑐 (𝑡) 1/𝑅𝐶 1
= 𝐺𝑝 (𝑝) = = ; 𝑓𝑜𝑟 𝑅 = 1𝑀Ω, 𝐶 = 1𝜇𝐹
𝑢(𝑡) 𝑝 + 1/𝑅𝐶 𝑝 + 1
The RC circuit as a SISO system is placed in a standard negative, unity-feedback control system shown in the block diagram
below using the standard notation:
𝑟(𝑡) = 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒 𝑖𝑛𝑝𝑢𝑡; 𝑐(𝑡) = 𝑐𝑜𝑛𝑡𝑟𝑜𝑙𝑙𝑒𝑑 𝑜𝑢𝑡𝑝𝑢𝑡 = 𝑣𝑐 (𝑡); 𝑒(𝑡) = 𝑒𝑟𝑟𝑜𝑟 𝑠𝑖𝑔𝑛𝑎𝑙 = 𝑟(𝑡) − 𝑐(𝑡)
𝑢(𝑡)
The Controller block is in series (cascade) and shown as 𝐺𝑐 (𝑝) = . In this problem we will examine the effect of the simplest
𝑒(𝑡)
controller, a constant gain so that 𝑢(𝑡) = 𝐾𝑒(𝑡), or equivalently 𝐺𝑐 (𝑝) = 𝐾.
1. The case of NO FEEDBACK. The feedback is disconnected, hence 𝑒(𝑡) = 𝑟(𝑡), and the applied control signal is simply
𝑢(𝑡) = 𝐾𝑟(𝑡). This is called an OPEN-LOOP System.
a. Find the capacitor voltage 𝑣𝑐 (𝑡), 𝑡 > 0 when the reference is a step input 𝑟(𝑡) = 10𝑢𝑠 (𝑡) and initially the capacitor
voltage is 𝑣𝑐 (0) = 20 𝑉.
b. Use Matlab to plot the capacitor voltage for a range of time of at least 5 time constants.
c. Comment on two performance characteristics: the 5% settling time defined as the time it takes for the output to
be within 5% of its final value; and the steady-state error defined by the final value of 𝑒(𝑡), namely 𝑒𝑠𝑠 = lim 𝑒(𝑡)
𝑡→∞
𝑣𝑐 (𝑡) 1
From the Open-Loop TF: = 𝐺𝑝 (𝑝) = ⇒ Solve (𝑝 + 1)𝑣𝑐 (𝑡) = 𝑢(𝑡) = 10𝐾, 𝑡 > 0; 𝑎𝑛𝑑 𝑤𝑖𝑡ℎ 𝑣𝑐 (0) = 20
𝑢(𝑡) 𝑝+1
Here we leave 𝑲 unspecified for now. This is the controller gain to be designed.
Since the forcing function is just a constant, we know the form of the particular solution is 𝑣𝑐𝑝 (𝑡) = 𝐾2
Then, the total solution is: 𝒗𝒄 (𝒕) = (𝟐𝟎 − 𝟏𝟎𝑲)𝒆−𝒕 + 𝟏𝟎𝑲, 𝒕 > 𝟎
The time constant is 1 sec independent of the controller gain. Note what happens when 𝐾 = 2
The following Matlab routing graphs the capacitor voltage for a couple of values of controller gain 𝐾 = 3, 5
>>T=0:0.01:5;
>> Vc=-10*exp(-T)+30;
>> plot(T,Vc),grid
>> hold
Current plot held
>> Vc=-30*exp(-T)+50;
>> plot(T,Vc)
>>grid
Note that 5 time constants is sufficient to show how 𝑣𝑐 (𝑡) reaches its
steady-state value of 𝑣𝑐 (∞) = 10𝐾
The case of FEEDBACK. The feedback is reconnected, hence 𝑒(𝑡) = 𝑟(𝑡) − 𝑐(𝑡). We will show in class how to find CLOSED-LOOP
transfer functions from a block diagram. Here is suffices to do the following: substitute 𝑢(𝑡) = 𝐾(𝑟(𝑡) − 𝑣𝑐 (𝑡)) into the differential
equation and find the new CLOSED-LOOP differential equation becomes
Again, we leave 𝑲 unspecified for now. This is the controller gain to be designed.
The characteristic root is 𝑠 = −1 − 𝐾; First thing to notice: the characteristic root in OPEN-LOOP was 𝑠 = −1
Then, the total solution is: 𝑣𝑐 (𝑡) = 𝐾1 𝑒 −(1+𝐾)𝑡 + 𝑣𝑐𝑝 (𝑡) ; The forcing function is just a constant, then 𝑣𝑐𝑝 (𝑡) = 𝐾2
10𝐾
Plug in the DFQ: (𝑝 + 1 + 𝐾)𝐾2 = 10𝐾 ⇒ 0 + (1 + 𝐾)𝐾2 = 10𝐾 ⇒ 𝐾2 =
1+𝐾
𝟏𝟎𝑲 𝟏𝟎𝑲
Then, the total solution is: 𝒗𝒄 (𝒕) = (𝟐𝟎 − ) 𝒆−(𝟏+𝑲)𝒕 + ,𝒕 > 𝟎
𝟏+𝑲 𝟏+𝑲
1
The time constant is 𝑠𝑒𝑐 dependent on the controller gain. Compared to the OPEN-LOOP case we can already see a potential
1+𝐾
improvement in the speed of response because the time constant is smaller.
10𝐾
In terms of the steady-state error performance: in the limit, 𝑣𝑐 (∞) = which approaches the reference value of 10 as the
1+𝐾
controller gain gets larger. However, in practice there are limits as to how high the controller gain can be because of saturation
problems.
The Matlab commands and graph follows.
>>clear; clf
>>T=0:0.01:5; K=3;
>> Vc=(20-10*K/(1+K))*exp(-(1+K)*T)+10*K/(1+K);
>> plot(T,Vc),grid
>> hold
Current plot held
>> T=0:0.01:5; K=5;
>> Vc=(20-10*K/(1+K))*exp(-(1+K)*T)+10*K/(1+K);
>> plot(T,Vc)
>> grid
Note that 5 time constants is sufficient to show how 𝑣𝑐 (𝑡) reaches its
10𝐾
steady-state value of 𝑣𝑐 (∞) = The response is faster for larger
1+𝐾
controller gain 𝐾 as expected because of the smaller time constant.