Introduction
In this part we’ll define controllers in the Laplace domain.
Let’s firstly cover feedback again.
N N N th-Order systems
In controls, we’ll often study system which can be described with differential equations. A N N N th-order system means we can describe said system with a N N N th-order differential equation.
We also say that the transfer function has degree N N N .
Feedback system
Let’s find the general transfer function for a feedback system, from r ( t ) r(t) r ( t ) to y ( t ) y(t) y ( t ) .
G ( s ) G(s) G ( s ) - System/Process
F ( s ) F(s) F ( s ) - Controller
R ( s ) R(s) R ( s ) - Reference value
U ( s ) U(s) U ( s ) - Input signal
Y ( s ) Y(s) Y ( s ) - Output signal
E ( s ) E(s) E ( s ) - Control error = R(s) - Y(s)
Let G r y ( s ) = Y ( s ) R ( s ) G_{ry}(s) = \dfrac{Y(s)}{R(s)} G r y ( s ) = R ( s ) Y ( s )
Y ( s ) = G ( s ) U ( s ) Y(s) = G(s) U(s) Y ( s ) = G ( s ) U ( s )
We know that:
U ( s ) = F ( s ) E ( s ) U(s) = F(s) E(s) U ( s ) = F ( s ) E ( s )
E ( s ) = R ( s ) − Y ( s ) E(s) = R(s) - Y(s) E ( s ) = R ( s ) − Y ( s )
Therefore:
U ( s ) = F ( s ) ( R ( s ) − Y ( s ) ) U(s) = F(s)(R(s) - Y(s)) U ( s ) = F ( s ) ( R ( s ) − Y ( s ))
U ( s ) = F ( s ) R ( s ) − F ( s ) Y ( s ) U(s) = F(s)R(s) - F(s)Y(s) U ( s ) = F ( s ) R ( s ) − F ( s ) Y ( s )
Therefore:
Y ( s ) = G ( s ) ( F ( s ) R ( s ) − F ( s ) Y ( s ) ) Y(s) = G(s)(F(s)R(s) - F(s)Y(s)) Y ( s ) = G ( s ) ( F ( s ) R ( s ) − F ( s ) Y ( s ))
Y ( s ) = G ( s ) F ( s ) R ( s ) − G ( s ) F ( s ) Y ( s ) Y(s) = G(s)F(s)R(s) - G(s)F(s)Y(s) Y ( s ) = G ( s ) F ( s ) R ( s ) − G ( s ) F ( s ) Y ( s )
Y ( s ) + G ( s ) F ( s ) Y ( s ) = G ( s ) F ( s ) R ( s ) Y(s) + G(s)F(s)Y(s) = G(s)F(s)R(s) Y ( s ) + G ( s ) F ( s ) Y ( s ) = G ( s ) F ( s ) R ( s )
Y ( s ) ( 1 + G ( s ) F ( s ) ) = G ( s ) F ( s ) R ( s ) Y(s)(1 + G(s)F(s)) = G(s)F(s)R(s) Y ( s ) ( 1 + G ( s ) F ( s )) = G ( s ) F ( s ) R ( s )
Therefore:
G r y ( s ) = G ( s ) F ( s ) 1 + G ( s ) F ( s ) G_{ry}(s) = \dfrac{G(s)F(s)}{1 + G(s)F(s)} G r y ( s ) = 1 + G ( s ) F ( s ) G ( s ) F ( s )
Let’s denote G ( s ) F ( s ) G(s)F(s) G ( s ) F ( s ) as L ( s ) L(s) L ( s ) .
G r y ( s ) = L ( s ) 1 + L ( s ) G_{ry}(s) = \dfrac{L(s)}{1 + L(s)} G r y ( s ) = 1 + L ( s ) L ( s )
This describes the relation between r ( t ) r(t) r ( t ) and y ( t ) y(t) y ( t ) and their stability.
Feedback system
Pros:
y ( t ) y(t) y ( t ) can be equal to r ( t ) r(t) r ( t ) (with the right controller).
Can compensate for interference
Cons:
Definition 1 (Zeros and poles) G r y ( s ) G_{ry}(s) G r y ( s ) can be written as:
G r y ( s ) = B ( s ) A ( s ) G_{ry}(s) = \dfrac{B(s)}{A(s)} G r y ( s ) = A ( s ) B ( s ) The zeros are given by the equation B ( s ) = 0 B(s) = 0 B ( s ) = 0 .
The poles are given by the equation A ( s ) A(s) A ( s ) .
We’ll see later on how zeros and the poles affect the stability of a system.
Controllers in Laplace
P-controller - u ( t ) = K p e ( t ) u(t) = K_p\ e(t) u ( t ) = K p e ( t )
I-controller - u ( t ) = K i ∫ 0 t e ( τ ) d τ u(t) = K_i\ \int_0^t e(\tau)\ d\tau u ( t ) = K i ∫ 0 t e ( τ ) d τ
PI-controller - u ( t ) = K p e ( t ) + K i ∫ 0 t e ( τ ) d τ u(t) = K_p\ e(t) + K_i \int_0^t e(\tau)\ d\tau u ( t ) = K p e ( t ) + K i ∫ 0 t e ( τ ) d τ
In Laplace:
P-controller - U ( s ) = K p E ( s ) U(s) = K_p\ E(s) U ( s ) = K p E ( s )
I-controller - U ( s ) = K i 1 s E ( s ) U(s) = K_i\ \dfrac{1}{s}\ E(s) U ( s ) = K i s 1 E ( s )
PI-controller - U ( s ) = K p E ( s ) + K i s E ( s ) U(s) = K_p\ E(s) + \dfrac{K_i}{s}\ E(s) U ( s ) = K p E ( s ) + s K i E ( s )
Let’s rewrite the PI controller a bit:
U ( s ) = K p E ( s ) + K i s E ( s ) = E ( s ) ( K p + K i s ) = E ( s ) ( K p ( 1 + K i K p + 1 s ) ) = E ( s ) ( K p ( 1 + 1 T i ⋅ s ) ) = E ( s ) ( K p ⋅ 1 + T i ⋅ s T i ⋅ s ) \begin{align*}
U(s) & = K_p\ E(s) + \dfrac{K_i}{s}\ E(s) \newline
& = E(s) \left(K_p + \dfrac{K_i}{s}\right) \newline
& = E(s) \left(K_p\left(1 + \dfrac{K_i}{K_p} + \dfrac{1}{s}\right)\right) \newline
& = E(s) \left(K_p\left(1 + \dfrac{1}{T_i \cdot s}\right)\right) \newline
& = E(s) \left(K_p \cdot \dfrac{1 + T_i \cdot s}{T_i \cdot s} \right)
\end{align*} U ( s ) = K p E ( s ) + s K i E ( s ) = E ( s ) ( K p + s K i ) = E ( s ) ( K p ( 1 + K p K i + s 1 ) ) = E ( s ) ( K p ( 1 + T i ⋅ s 1 ) ) = E ( s ) ( K p ⋅ T i ⋅ s 1 + T i ⋅ s )
Where T i = K p K i T_i = \dfrac{K_p}{K_i} T i = K i K p
Example 1 (Car with engine dynamics) Let’s add some engine dynamics:
F d ( s ) = K u 1 + T u ⋅ S ⋅ U ( s ) F_d(s) = \dfrac{K_u}{1 + T_u \cdot S} \cdot U(s) F d ( s ) = 1 + T u ⋅ S K u ⋅ U ( s ) Car dynamic:
G c a r ( s ) = K 1 + s T = 1 m s + b G_{car}(s) = \dfrac{K}{1 + sT} = \dfrac{1}{ms + b} G c a r ( s ) = 1 + s T K = m s + b 1 From the differential equation (just like last time) we get:
Y ( s ) ( m s + b ) = K u 1 + T u ⋅ s ⋅ U ( s ) Y(s)(ms + b) = \dfrac{K_u}{1 + T_u \cdot s} \cdot U(s) Y ( s ) ( m s + b ) = 1 + T u ⋅ s K u ⋅ U ( s ) Let’s find transfer function from U ( s ) → Y ( s ) U(s) \to Y(s) U ( s ) → Y ( s ) .
G u y ( s ) = Y ( s ) U ( s ) G_{uy}(s) = \dfrac{Y(s)}{U(s)} G u y ( s ) = U ( s ) Y ( s ) G u y ( s ) = K u ( m s + b ) ( 1 + T u s ) G_{uy}(s) = \dfrac{K_u}{(ms + b)(1 + T_u\ s)} G u y ( s ) = ( m s + b ) ( 1 + T u s ) K u Given some values:
m = 10 3 k g m = 10^3\ kg m = 1 0 3 k g
b = 200 N s m b = 200\ \dfrac{Ns}{m} b = 200 m N s
K u = 10 k N r a d K_u = 10k\ \dfrac{N}{rad} K u = 10 k r a d N
T u = 1 s e c T_u = 1\ sec T u = 1 sec
G u y ( s ) = 10 3 ( 10 3 s + 200 ) ( 1 + s ) = … = 50 ( 1 + 5 s ) ( 1 + s ) G_{uy}(s) = \dfrac{10^3}{(10^3s + 200)(1 + s)} = \ldots = \boxed{\dfrac{50}{(1 + 5s)(1 + s)}} G u y ( s ) = ( 1 0 3 s + 200 ) ( 1 + s ) 1 0 3 = … = ( 1 + 5 s ) ( 1 + s ) 50
P-controller
Say that our controller was a P-controller.
Let’s find G r y ( s ) G_{ry}(s) G r y ( s ) .
L ( s ) = K p ⋅ G u y ( s ) L(s) = K_p \cdot G_{uy}(s) L ( s ) = K p ⋅ G u y ( s )
L ( s ) = 50 K p ( 1 + 5 s ) ( 1 + s ) L(s) = \dfrac{50K_p}{(1 + 5s)(1 +s)} L ( s ) = ( 1 + 5 s ) ( 1 + s ) 50 K p
G r y ( s ) = 50 K p ( 1 + 5 s ) ( 1 + s ) 1 + 50 K p ( 1 + 5 s ) ( 1 + s ) G_{ry}(s) = \dfrac{\dfrac{50K_p}{(1 + 5s)(1 +s)}}{1 + \dfrac{50K_p}{(1 + 5s)(1 +s)}} G r y ( s ) = 1 + ( 1 + 5 s ) ( 1 + s ) 50 K p ( 1 + 5 s ) ( 1 + s ) 50 K p
G r y ( s ) = 50 K p ( 1 + 5 s ) ( 1 + s ) + 50 K p G_{ry}(s) = \dfrac{50K_p}{(1 + 5s)(1 + s) + 50K_p} G r y ( s ) = ( 1 + 5 s ) ( 1 + s ) + 50 K p 50 K p
G r y ( s ) = 10 K p s 2 + 6 5 s + 1 5 + 10 K p G_{ry}(s) = \dfrac{10K_p}{s^2 + \dfrac{6}{5}s + \dfrac{1}{5} + 10K_p} G r y ( s ) = s 2 + 5 6 s + 5 1 + 10 K p 10 K p
Gradually increasing reference value
Say that we have r ( t ) = r 0 ⋅ σ ( t ) r(t) = r_0 \cdot \sigma(t) r ( t ) = r 0 ⋅ σ ( t )
This means:
R ( s ) = r 0 s R(s) = \dfrac{r_0}{s} R ( s ) = s r 0
Let’s study y ( ∞ ) y(\infty) y ( ∞ ) .
lim t → ∞ y ( t ) = lim s → 0 s Y ( s ) \lim_{t \to \infty} y(t) = \lim_{s \to 0} sY(s) t → ∞ lim y ( t ) = s → 0 lim s Y ( s )
lim t → ∞ y ( t ) = lim s → 0 s ⋅ G r y ( s ) ⋅ R ( s ) \lim_{t \to \infty} y(t) = \lim_{s \to 0} s \cdot G_{ry}(s) \cdot R(s) t → ∞ lim y ( t ) = s → 0 lim s ⋅ G r y ( s ) ⋅ R ( s )
lim t → ∞ y ( t ) = lim s → 0 s ⋅ 10 K p s 2 + 6 5 s + 1 5 + 10 K p ⋅ r 0 s \lim_{t \to \infty} y(t) = \lim_{s \to 0} s \cdot \dfrac{10K_p}{s^2 + \dfrac{6}{5}s + \dfrac{1}{5} + 10K_p} \cdot \dfrac{r_0}{s} t → ∞ lim y ( t ) = s → 0 lim s ⋅ s 2 + 5 6 s + 5 1 + 10 K p 10 K p ⋅ s r 0
lim t → ∞ y ( t ) = lim s → 0 10 K p 1 5 + 10 K p ⋅ r 0 \lim_{t \to \infty} y(t) = \lim_{s \to 0} \dfrac{10K_p}{\dfrac{1}{5} + 10K_p} \cdot r_0 t → ∞ lim y ( t ) = s → 0 lim 5 1 + 10 K p 10 K p ⋅ r 0
Thus
lim t → ∞ y ( t ) = lim s → 0 10 K p 1 5 + 10 K p ⋅ r 0 < r 0 \lim_{t \to \infty} y(t) = \lim_{s \to 0} \dfrac{10K_p}{\dfrac{1}{5} + 10K_p} \cdot r_0 < r_0 t → ∞ lim y ( t ) = s → 0 lim 5 1 + 10 K p 10 K p ⋅ r 0 < r 0
This means that, a P-controller will never be enough for a system to get an output that is exactly the same as the reference value.
Let’s see how a PI-controller behaves.
Example 2 (PI-controller) If we use the same system.
G r y ( s ) G_{ry}(s) G r y ( s ) is a 2nd order transfer function. (The denominator is a polynomial of degree 2).
The general formula for 2nd order transfer functions can be written as:
G r y ( s ) = K ω n 2 s 2 + 2 ζ ω n s + ω n 2 G_{ry}(s) = \dfrac{K \omega^2_n}{s^2 + 2 \zeta \omega_n s + \omega^2_n} G r y ( s ) = s 2 + 2 ζ ω n s + ω n 2 K ω n 2 Where:
ω n \omega_n ω n - Natural frequency
K K K - Gain
ζ \zeta ζ - Damping ratio
So, in the case G r y ( s ) = 10 K p s 2 + 6 5 s + 1 5 + 10 K p G_{ry}(s) = \dfrac{10K_p}{s^2 + \dfrac{6}{5}s + \dfrac{1}{5} + 10 K_p} G r y ( s ) = s 2 + 5 6 s + 5 1 + 10 K p 10 K p
We can rewrite it with:
ω n = 0.2 + 10 K p K = 10 K p 0.2 + 10 K p ζ = 1.2 2 0.2 + 10 K p \omega_n = \sqrt{0.2 + 10 K_p} \newline
K = \dfrac{10K_p}{0.2 + 10 K_p} \newline
\zeta = \dfrac{1.2}{2\ \sqrt{0.2 + 10 K_p}} ω n = 0.2 + 10 K p K = 0.2 + 10 K p 10 K p ζ = 2 0.2 + 10 K p 1.2 Back to the PI-controller example.
G r y ( s ) = L ( s ) 1 + L ( s ) G_{ry}(s) = \dfrac{L(s)}{1 + L(s)} G r y ( s ) = 1 + L ( s ) L ( s ) We know that:
L ( s ) = F ( s ) G ( s ) L(s) = F(s) G(s) L ( s ) = F ( s ) G ( s ) We know:
F ( s ) = K p ( 1 + T i s T i s ) G ( s ) = 50 ( 1 + 5 s ) ( 1 + s ) F(s) = K_p \left(\dfrac{1 + T_i s}{T_i s} \right) \newline
G(s) = \dfrac{50}{(1 + 5s)(1 + s)} F ( s ) = K p ( T i s 1 + T i s ) G ( s ) = ( 1 + 5 s ) ( 1 + s ) 50 From G ( s ) G(s) G ( s ) we can see that we have two poles. One pole is “fast”, T = 1 s e c T = 1\ sec T = 1 sec ( 1 + s ) (1 + s) ( 1 + s ) . The other “slow”, T = 5 s e c T = 5\ sec T = 5 sec ( 1 + 5 s ) (1 + 5s) ( 1 + 5 s ) .
If we choose T i = 5 s e c T_i = 5\ sec T i = 5 sec , then:
F ( s ) = K p ( 1 + 5 s 5 s ) F(s) = K_p \left(\dfrac{1 + 5s}{5s} \right) \newline F ( s ) = K p ( 5 s 1 + 5 s ) Which means:
L ( s ) = K p ( 1 + 5 s 5 s ) 50 ( 1 + 5 s ) ( 1 + s ) L(s) = K_p \left(\dfrac{1 + 5s}{5s} \right) \dfrac{50}{(1 + 5s)(1 + s)} L ( s ) = K p ( 5 s 1 + 5 s ) ( 1 + 5 s ) ( 1 + s ) 50 L ( s ) = 50 K p ( 5 s ) ( 1 + s ) L(s) = \dfrac{50 K_p}{(5s)(1 + s)} L ( s ) = ( 5 s ) ( 1 + s ) 50 K p Which means:
G r y ( s ) = L ( s ) 1 + L ( s ) G_{ry}(s) = \dfrac{L(s)}{1 + L(s)} G r y ( s ) = 1 + L ( s ) L ( s ) G r y ( s ) = 50 K p ( 5 s ) ( 1 + s ) 1 + 50 K p ( 5 s ) ( 1 + s ) G_{ry}(s) = \dfrac{\dfrac{50 K_p}{(5s)(1 + s)}}{1 + \dfrac{50 K_p}{(5s)(1 + s)}} G r y ( s ) = 1 + ( 5 s ) ( 1 + s ) 50 K p ( 5 s ) ( 1 + s ) 50 K p G r y ( s ) = 50 K p ( 5 s ) ( 1 + s ) + 50 K p G_{ry}(s) = \dfrac{50 K_p}{(5s)(1 + s) + 50 K_p} G r y ( s ) = ( 5 s ) ( 1 + s ) + 50 K p 50 K p G r y ( s ) = 10 K p s 2 + s + 10 K p G_{ry}(s) = \dfrac{10 K_p}{s^2 + s + 10 K_p} G r y ( s ) = s 2 + s + 10 K p 10 K p If we now study:
lim t → ∞ y ( t ) = lim s → 0 s ⋅ Y ( s ) \lim_{t \to \infty} y(t) = \lim_{s \to 0} s \cdot Y(s) t → ∞ lim y ( t ) = s → 0 lim s ⋅ Y ( s ) lim t → ∞ y ( t ) = lim s → 0 s ⋅ G r y ( s ) R ( s ) \lim_{t \to \infty} y(t) = \lim_{s \to 0} s \cdot G_{ry}(s) R(s) t → ∞ lim y ( t ) = s → 0 lim s ⋅ G r y ( s ) R ( s ) lim t → ∞ y ( t ) = lim s → 0 s ⋅ 10 K p s 2 + s + 10 K p ⋅ r 0 s \lim_{t \to \infty} y(t) = \lim_{s \to 0} s \cdot \dfrac{10 K_p}{s^2 + s + 10 K_p} \cdot \dfrac{r_0}{s} t → ∞ lim y ( t ) = s → 0 lim s ⋅ s 2 + s + 10 K p 10 K p ⋅ s r 0 lim t → ∞ y ( t ) = lim s → 0 10 K p s 2 + s + 10 K p ⋅ r 0 \lim_{t \to \infty} y(t) = \lim_{s \to 0} \dfrac{10 K_p}{s^2 + s + 10 K_p} \cdot r_0 t → ∞ lim y ( t ) = s → 0 lim s 2 + s + 10 K p 10 K p ⋅ r 0 lim t → ∞ y ( t ) = lim s → 0 10 K p 10 K p ⋅ r 0 \lim_{t \to \infty} y(t) = \lim_{s \to 0} \dfrac{10 K_p}{10 K_p} \cdot r_0 t → ∞ lim y ( t ) = s → 0 lim 10 K p 10 K p ⋅ r 0 lim t → ∞ y ( t ) = r 0 \boxed{\lim_{t \to \infty} y(t) = r_0} t → ∞ lim y ( t ) = r 0 So, we see that a PI-controller gets us exactly the reference value.