5.4. Retrasos#

Uno de los elemento no lineales más habituales en los procesos alimentarios es la existencia de retrasos. En el capítulo 7 se estudiará su influencia en el control de procesos.

Sea el siguiente proceso de primer orden con un retraso:

../_images/02.png

Fig. 5.3 Diagrama de bloques de un proceso de primer orden con un retraso igual a \(t_d\).#

Hide code cell source
using PyCall, LaTeXStrings

schemdraw = pyimport("schemdraw")
dsp = pyimport("schemdraw.dsp")

d = schemdraw.Drawing(unit=2, fontsize=12)

d.add(dsp.Arrow().right().label(L"f(t)", "left"))
proc = d.add(dsp.Box().anchor("W").label("Proceso de\nprimer orden"))
d.add(dsp.Arrow().right().at(proc.E))
retraso = d.add(dsp.Box().anchor("W").label("Retraso"))
d.add(dsp.Arrow().right().label(L"y(t-t_d)", "right").at(retraso.E))

d.draw(show=false)
../_images/6d75f1f902c125a15c44f074fddbc3bf6550e17eef122f8149c074e251ae84d4.svg

Para el sistema de primer orden:

\[G_p = \frac{\mathcal{L} [y (t)]}{\mathcal{L} [f (t)]} = \frac{K_p}{\tau_p s + 1}\]

y para el retraso (ec. (3.5), propiedad translación de la transformada, La transformada de Laplace como herramienta útil):

\[\frac{\mathcal{L} [y (t - t_d)]}{\mathcal{L} [y (t)]} = \mathrm{e}^{- t_d s}\]

donde \(t_d\) es el retraso o tiempo muerto.

Por tanto el proceso puede representarse como:

../_images/02.png

Fig. 5.4 Diagrama de bloques de la figura anterior una vez realizadas las transformadas de Laplace.#

Hide code cell source
d = schemdraw.Drawing(unit=2, fontsize=14)

d.add(dsp.Arrow().right().label(L"f(s)", "left"))
proc = d.add(dsp.Box().anchor("W").label(L"G_p"))
d.add(dsp.Arrow().right().at(proc.E))
retraso = d.add(dsp.Box().anchor("W").label(L"e^{-t_d s}"))
d.add(dsp.Arrow().right().label(L"\mathcal{L}[y(t-t_d)]", "right").at(retraso.E))

d.draw(show=false)
../_images/832ecd518a2ef5b2fe44a0122830fe23ad6894f66b35b776fc8ecdea3670149e.svg

La función de transferencia global para el proceso de primer orden y el retraso será:

\[\frac{\mathcal{L} [y (t - t_d)]}{\mathcal{L} [f (t)]} = \frac{K_p}{\tau_p s + 1} \mathrm{e}^{- t_d s}\]

El cálculo de la transformada inversa de Laplace es sencillo. En este caso lo vamos a realizar utilizando Sympy. En primer lugar cargaremos las bibliotecas que vamos a utilizar, definiremos los símbolos necesarios y las funciones de transferencia del proceso (\(G_p\)) y del retraso (\(G_d\)). También calcularemos la función de transferencia \(G\), resultado de plantear la serie de bloques formada por el proceso y por el retraso:

using SymPy, Plots, LaTeXStrings

t, td, K, T, M = symbols("t t_d K tau M", real=true)
s = symbols("s")

Gp = K/(T*s+1)
Gd = exp(-td*s)

G = Gp*Gd
\[\begin{equation*}\frac{K e^{- s t_{d}}}{s \tau + 1}\end{equation*}\]

La respuesta del proceso de primer orden \(y(t)\) es:

y = sympy.inverse_laplace_transform(Gp*M/s, s, t)
\[\begin{equation*}K M \left(e^{\frac{t}{\tau}} - 1\right) e^{- \frac{t}{\tau}} \theta\left(t\right)\end{equation*}\]

La salida tras sufrir el retraso \(t_d\) es:

yd = sympy.inverse_laplace_transform(G*M/s, s, t)
\[\begin{equation*}K M \left(e^{\frac{t}{\tau}} - e^{\frac{t_{d}}{\tau}}\right) e^{- \frac{t}{\tau}} \theta\left(t - t_{d}\right)\end{equation*}\]

El efecto del retraso es muy evidente al representar gráficamente ambas respuestas:

../_images/02.png

Fig. 5.5 Efecto de un retraso \(t_0 = 1\) sobre la respuesta de un sistema de primer orden con una entrada en escalón.#

Hide code cell source
plot(yd(K=>1, T=>1, td=>1, M=>1), 0, 6, legend=:bottomright, 
    label="Proceso+ Retraso", xlabel=L"\frac{t}{\tau}", ylabel=L"\frac{y(t)}{K M}",
    lw=2)
plot!(y(K=>1, T=>1, M=>1), label="Proceso", lw=2)
../_images/9392dd831faa059dc1fab8e9c81035307cc4297a2d75b587dd32ec0e77f3e040.svg

Fig. 5.6 Efecto del retraso sobre la respuesta de un proceso de primer orden para una entrada en escalón.#

El retraso se puede simplificar matemáticamente mediante la aproximación de Padé:

\[\mathrm{e}^{- t_d s} \approx \frac{1 - \frac{t_d}{2} s}{1 + \frac{t_d}{2} s}\]