IE3036 - Sistemas de Control 1

2do ciclo, 2024

Lección 15: Implementación de sistemas discretos

Ya con \(C(z)\),

¿Cómo la implementamos?

G(z)=\dfrac{Y(z)}{U(z)}=\dfrac{b_0+b_1z^{-1}+b_2z^{-2}+\cdots+b_Mz^{-M}}{1+a_1z^{-1}+a_2z^{-2}+\cdots+a_Nz^{-N}}
G(z)=\dfrac{Y(z)}{U(z)}=\dfrac{b_0+b_1z^{-1}+b_2z^{-2}+\cdots+b_Mz^{-M}}{1+a_1z^{-1}+a_2z^{-2}+\cdots+a_Nz^{-N}}
\left(1+a_1z^{-1}+\cdots+a_Nz^{-N}\right)Y(z)=\left(b_0+b_1z^{-1}+\cdots+b_Mz^{-M}\right)U(z) \\ Y(z)+a_1z^{-1}Y(z)+\cdots+a_Nz^{-N}Y(z)\\ =b_0U(z)+b_1z^{-1}U(z)+\cdots+b_Mz^{-M}U(z)
Y(z)=b_0U(z)+b_1z^{-1}U(z)+\cdots+b_Mz^{-M}U(z)\\-a_1z^{-1}Y(z)-\cdots-a_Nz^{-N}Y(z)
Y(z)=b_0U(z)+b_1z^{-1}U(z)+\cdots+b_Mz^{-M}U(z)\\-a_1z^{-1}Y(z)-\cdots-a_Nz^{-N}Y(z)
Y(z)=b_0U(z)+b_1z^{-1}U(z)+\cdots+b_Mz^{-M}U(z)\\-a_1z^{-1}Y(z)-\cdots-a_Nz^{-N}Y(z)
y(kT)=b_0u(kT)+b_1u\left((k-1)T\right)+\cdots+b_Mu\left((k-M)T\right)\\-a_1y\left((k-1)T\right)-\cdots-a_Ny\left((k-N)T\right)
\mathcal{Z}\left\{x(kT-nT)\right\}\\ =\mathcal{Z}\left\{x(k-n)T\right\}=z^{-n}X(z)
y(kT)=b_0u(kT)+b_1u\left((k-1)T\right)+\cdots+b_Mu\left((k-M)T\right)\\-a_1y\left((k-1)T\right)-\cdots-a_Ny\left((k-N)T\right)
y(kT)=b_0u(kT)+b_1u\left((k-1)T\right)+\cdots+b_Mu\left((k-M)T\right)\\-a_1y\left((k-1)T\right)-\cdots-a_Ny\left((k-N)T\right)
y(kT)\equiv y_k, \quad y\left((k-N)T\right)\equiv y_{k-N} \\ u(kT)\equiv u_k, \quad u(\square T) \equiv u_\square
y_k=b_0u_k+b_1u_{k-1}+\cdots+b_Mu_{k-M}-a_1y_{k-1}-\cdots-a_Ny_{k-N}
y(kT)=b_0u(kT)+b_1u\left((k-1)T\right)+\cdots+b_Mu\left((k-M)T\right)\\-a_1y\left((k-1)T\right)-\cdots-a_Ny\left((k-N)T\right)
y(kT)\equiv y_k, \quad y\left((k-N)T\right)\equiv y_{k-N} \\ u(kT)\equiv u_k, \quad u(\square T) \equiv u_\square
y_k=b_0u_k+b_1u_{k-1}+\cdots+b_Mu_{k-M}-a_1y_{k-1}-\cdots-a_Ny_{k-N}
u_{-1}=\cdots=u_{-M}=y_{-1}=\cdots=y_{-N}=0

Condiciones iniciales iguales a cero.

y(kT)=b_0u(kT)+b_1u\left((k-1)T\right)+\cdots+b_Mu\left((k-M)T\right)\\-a_1y\left((k-1)T\right)-\cdots-a_Ny\left((k-N)T\right)
y(kT)\equiv y_k, \quad y\left((k-N)T\right)\equiv y_{k-N} \\ u(kT)\equiv u_k, \quad u(\square T) \equiv u_\square
y_k=b_0u_k+b_1u_{k-1}+\cdots+b_Mu_{k-M}-a_1y_{k-1}-\cdots-a_Ny_{k-N}
u_{-1}=\cdots=u_{-M}=y_{-1}=\cdots=y_{-N}=0

condiciones iniciales iguales a cero

Ecuaciones de diferencias

Ecuaciones diferenciales

\sim

Ejemplo

Para el siguiente caso, ¿cuál es el seudo-código que implementa un control PI discretizado por Backward Euler si la referencia es el escalón unitario? Para el código asuma \(T=0.1\ s\), \(k_P=10\) y \(k_I=1\).

T
C(z)
\dfrac{1-z^{-1}}{s}
G(s)
H(s)
+
-
R(s)
Y(s)

Ejemplo

Para un controlador PI continuo:

C(s)=\frac{U(s)}{E(s)}=k_P+\frac{k_I}{s}

Backward Euler:   \(s=\frac{z-1}{Tz}\)

Controlador discretizado:

C(z)=\frac{(k_P+k_IT)-k_Pz^{-1}}{1-z^{-1}}

Por lo que:   \(b_0=k_P+k_IT,  b_1=-k_P,  a_1=-1 \)

Ecuación de diferencias:

u_k=(k_P+k_IT)e_k-k_Pe_{k-1}+u_{k-1}

No se especifican condiciones iniciales, por lo que las asumimos iguales a cero.

Ejemplo

La referencia también podría ser una señal muestreada.

Seleccionando el período de muestreo

A diferencia de procesamiento digital de señales, la selección de un \(T\) adecuado no tiene una solución concreta. ¿Por qué?

A diferencia de procesamiento digital de señales, la selección de un \(T\) adecuado no tiene una solución concreta. ¿Por qué?

Porque estamos lidiando con más señales que sólo la entrada y salida del sistema.

  • referencia
  • salida del sensor
  • salida del control
  • salida de la planta
  • perturbación

A diferencia de procesamiento digital de señales, la selección de un \(T\) adecuado no tiene una solución concreta. ¿Por qué?

Porque estamos lidiando con más señales que sólo la entrada y salida del sistema.

  • referencia
  • salida del sensor
  • salida del control
  • salida de la planta
  • perturbación

¿A cuál le aplicamos el criterio de Nyquist?

A diferencia de procesamiento digital de señales, la selección de un \(T\) adecuado no tiene una solución concreta. ¿Por qué?

Porque estamos lidiando con más señales que sólo la entrada y salida del sistema.

  • referencia
  • salida del sensor
  • salida del control
  • salida de la planta
  • perturbación

¿A cuál le aplicamos el criterio de Nyquist?

Por esta ambigüedad se recomienda emplear un \(T\) tan pequeño como lo permita el dispositivo de cómputo (siempre y cuando este sea razonable).

A diferencia de procesamiento digital de señales, la selección de un \(T\) adecuado no tiene una solución concreta. ¿Por qué?

Porque estamos lidiando con más señales que sólo la entrada y salida del sistema.

  • referencia
  • salida del sensor
  • salida del control
  • salida de la planta
  • perturbación

¿A cuál le aplicamos el criterio de Nyquist?

Por esta ambigüedad se recomienda emplear un \(T\) tan pequeño como lo permita el dispositivo de cómputo (siempre y cuando este sea razonable).

 

O bien, emplear las siguientes rules of thumb:

0.01\le \dfrac{T}{\tau_\mathrm{dom}} \le 0.05
\dfrac{t_s}{15} \le T \le \dfrac{t_s}{6}
0.01\le \dfrac{T}{\tau_\mathrm{dom}} \le 0.05
\dfrac{t_s}{15} \le T \le \dfrac{t_s}{6}

Constante de tiempo del polo más dominante del sistema.

\tau_\mathrm{dom}=\dfrac{1}{\omega_{BW}}

Addendum: simulaciones

Pueden emplearse las ecuaciones de diferencias no sólo para implementar controladores digitales sino también para efectuar simulaciones de sistemas LTI en cualquier lenguaje de programación.

Pueden emplearse las ecuaciones de diferencias no sólo para implementar controladores digitales sino también para efectuar simulaciones de sistemas LTI en cualquier lenguaje de programación.

 

Esto es lo que hace MATLAB en la Control Systems Toolbox.

Ejemplo

Escriba un script de MATLAB que permita simular el siguiente sistema mecánico, sujeto a una fuerza constante unitaria en un intervalo de simulación de 0 a 25 segundos. \(T=0.1 \ s\).

f(t)
2
3
1
x(t)

>> clase15_ej_simulacion.m