Overview

Part 11 - Design of controllers (2)

PD-controller

Given that u(t)=Kp(e(t)+Tde˙(t))u(t) = K_p(e(t) + T_d \dot{e}(t))

In the ss-domain, the PD controller is:

FPD(s)=U(s)E(s)=Kp(1+Tds).F_{PD}(s) = \dfrac{U(s)}{E(s)} = K_p(1 + T_d s).

PD-controllers are often paired with low-pass filters (LP), so that e˙(t)\dot{e}(t) doesn’t become too large.

FPD(s)=Kp(1+Tds1+Tfs)=Kp(1+(Td+Tf)s1+Tfs)=Kp(1+τds1+τdbs),τd=Td+Tf,b=Td+TfTf.\begin{align*} F_{PD}(s) & = K_p\left(1 + \dfrac{T_d s}{1 + T_f s}\right) \newline & = K_p\left(\dfrac{1 + (T_d + T_f) s}{1 + T_f s}\right) \newline & = K_p\left(\dfrac{1 + \tau_d s}{1 + \frac{\tau_d}{b} s}\right), \quad \tau_d = T_d + T_f, \quad b = \frac{T_d + T_f}{T_f}. \end{align*}

This means that:

F(jω)=Kp(1+τdjω1+τdbjω),F(j\omega) = K_p\left(\dfrac{1 + \tau_d j \omega}{1 + \frac{\tau_d}{b} j\omega}\right), ωmax⁡=bτd,if we choose ωc=bτd,\omega_{\max} = \dfrac{\sqrt{b}}{\tau_d}, \quad \text{if we choose } \omega_c = \dfrac{\sqrt{b}}{\tau_d}, arg⁡(L(jω))=arg⁡(FPD(jω))+arg⁡(G(jω)).\arg(L(j\omega)) = \arg(F_{PD}(j\omega)) + \arg(G(j\omega)). ϕmax⁡=arg⁡(FPD(jω))=arctan⁡(τd⋅bτd)−arctan⁡(τdb⋅bτd)=arctan⁡(b)−arctan⁡(1b).\begin{align*} \phi_{\max} & = \arg(F_{PD}(j\omega)) \newline & = \arctan\left(\tau_d \cdot \frac{\sqrt{b}}{\tau_d}\right) - \arctan\left(\frac{\tau_d}{b} \cdot \frac{\sqrt{b}}{\tau_d}\right) \newline & = \arctan(\sqrt{b}) - \arctan\left(\frac{1}{\sqrt{b}}\right). \end{align*} b=…=1+sin⁡(ϕmax⁡)1−sin⁡(ϕmax⁡).b = \ldots = \dfrac{1 + \sin(\phi_{\max})}{1 - \sin(\phi_{\max})}.
Example 1G(s)=2−ss(1+s)2,ϕm=50∘,ωc=0.5.G(s) = \dfrac{2 - s}{s(1 + s)^2}, \quad \phi_m = 50^\circ, \quad \omega_c = 0.5.

Design a PD-controller

FPD(s)=Kp1+τds1+τdbs.F_{PD}(s) = K_p \dfrac{1 + \tau_d s}{1 + \frac{\tau_d}{b} s}.ϕmax⁡=50∘−180∘−arg⁡(G(jωc))=50∘−180∘−(−arctan⁡(ωc2)−90∘−2arctan⁡(ωc))=27∘.\begin{align*} \phi_{\max} & = 50^\circ - 180^\circ - \arg(G(j\omega_c)) \newline & = 50^\circ - 180^\circ - \left(-\arctan\left(\frac{\omega_c}{2}\right) - 90^\circ - 2 \arctan(\omega_c)\right) \newline & = 27^\circ. \end{align*}b=1+sin⁡(ϕmax⁡)1−sin⁡(ϕmax⁡)=2.66,τd=bωc=3.26.b = \dfrac{1 + \sin(\phi_{\max})}{1 - \sin(\phi_{\max})} = 2.66, \quad \tau_d = \dfrac{\sqrt{b}}{\omega_c} = 3.26.∣F(jωc)∣∣G(jωc)∣=1Kp⋅12+(τd⋅ωc)212+(τdb⋅ωc)2⋅22+(−ωc)2ωc(12+ωc2)2=1Kp=0.186.\begin{align*} |F(j\omega_c)||G(j\omega_c)| & = 1 \newline K_p \cdot \dfrac{\sqrt{1^2 + (\tau_d \cdot \omega_c)^2}}{\sqrt{1^2 + (\frac{\tau_d}{b} \cdot \omega_c)^2}} \cdot \dfrac{\sqrt{2^2 + (-\omega_c)^2}}{\omega_c \left(\sqrt{1^2 + \omega_c^2}\right)^2} & = 1 \newline K_p & = 0.186. \end{align*}
Algorithm 1: Ziegler-Nichols method
  1. Set up the controller as a pure P-controller (Ti=∞,Td=0T_i = \infty, T_d = 0).
  2. Increase KpK_p until self-oscillation occurs, let Kp=K0K_p = K_0 and the period be T0T_0.

Then, approximately:

Table 1: Ziegler-Nichols controller tuning rules.
KpK_p TiT_i TdT_d
P-controller 0.5K00.5K_0 - -
PI-controller 0.45K00.45K_0 0.85T00.85T_0 -
PID-controller 0.6K00.6K_0 0.5T00.5T_0 0.125T00.125 T_0

Search

Essays, lecture notes, and research

Type to search the site.