You are on page 1of 27

Control de Procesos por Microcontrolador

4.- Control de Procesos por Microcontrolador

4.1.- Introducción

El problema del control digital de procesos por retroalimentación se puede abordar


desde dos puntos de vista complementarios pero un tanto contradictorios:

• El punto de vista de la implementación de un sistema de control.


• El punto de vista del modelado matemático.

El primer punto de vista tiene que ver más con los aspectos de la electrónica, la
instrumentación y la programación del microcontrolador o computadora utilizados,
mientras que el segundo punto de vista tiene que ver con la teoría general del
comportamiento de los sistemas de control retroalimentados, lo cual lo enmarca en la
teoría de variable compleja, teoría del muestreo de datos continuos, ecuaciones de
diferencias y sistemas lineales discretos.

No existe en la literatura (hasta donde yo sé) una referencia que por sí sola aborde el
problema del control digital de procesos desde ambos puntos de vista y especialmente
considerando que el lector posee conocimientos básicos en ambos aspectos. Estos
apuntes son un esfuerzo encaminado a conjuntar en una sola fuente los dos puntos de
vista. Advierto desde aquí que se corre el riesgo de perseguir un objetivo muy
ambicioso o bien, de dejarse llevar más por uno sólo de los puntos de vista
descuidando el otro.

Sin embargo, la siguiente es una lista de referencias en internet que puede ser útil para
algunos de los aspectos tratados aquí:

http://www.engin.umich.edu/group/ctm/digital/digital.html

http://www.engin.umich.edu/group/ctm/examples/motor/digital/digital.html

http://members.aol.com/pidcontrol/pid_algorithm.html

http://www.expertune.com/artCE87.html

http://math.furman.edu/~dcs/book/

http://scfie.fie.umich.mx/~jrincon/curdsp1.pdf

http://scfie.fie.umich.mx/~jrincon/curdsp2.pdf

http://scfie.fie.umich.mx/~jrincon/curdsp3.pdf

http://www.ntu.edu.sg/home/egbi/dspbasics/dsp/dfilt1.htm

http://www.ntu.edu.sg/home/egbi/dspbasics/dsp/dfilt14.htm

http://www.comp.mpce.mq.edu.au/courses/comp324/cn2/html

1
Control de Procesos por Microcontrolador
http://sungear.name.mu.oz.au/~mcg/ctrl401/bl_3/sld001.htm

4.2.- Modelos de Sistemas de Control Digital

Comienzo por aclarar que el tipo de controladores al que me enfoco en estos apuntes
es a los que realizan control retroalimentado de sistemas continuos, por ello se
descartan los controladores en lazo abierto (salvo que sirvan para ilustrar aspectos
básicos) y los controladores de secuencias discretas tales como los PLC’s (o
equivalentes) en su modalidad de control ON-OFF (La mayoría de los PLC’s actuales
contemplan también módulos analógicos que permiten utilizarlos en control
retroalimentado de sistemas continuos).

En otras palabras, los controladores que se tratan aquí son computadoras,


microcontroladores o cualquier sistema digital programable equipado con módulos de
adquisición de datos analógicos (Convertidores Analógico/Digital) y Control analógico
(Convertidores Digital/Analógico)

En la figura 4.1 se muestran los elementos básicos que debe poseer un sistema de
control retroalimentado basado en computadora.

Reloj

A/D Algoritmo D/A Proceso


Continuo

Computadora

Figura 4.1.- Esquema general de un control por computadora

Clasificación.

Los esquemas generales de control digital retroalimentado han evolucionado


considerablemente desde que comenzaron a utilizarse por allá en la década de los 60’s.
A continuación se presentan los esquemas más representativos utilizados en el control
de procesos en industrias de gran envergadura

Control Supervisorio

En la figura 4.2 se muestra este esquema de control, el cual por orden histórico fue el
primero en utilizarse. En este esquema la computadora juega solamente el papel de un

2
Control de Procesos por Microcontrolador
supervisor, ya que no tiene acceso a ningún lazo de control y su única función es
monitorear las variables controladas del proceso o bien, modificar las referencias de
control (set points).

Los lazos de control en este esquema se siguen realizando mediante controladores


analógicos.

Variables medibles
...

Computadora Referencias

Planta
...

Consola del operador

Controladores
Analógicos

Figura 4.2.- Control Supervisorio

Control Digital Directo (DDC).

En la Figura 4.3 se muestra el esquema de una computadora trabajando en control


digital directo. En este esquema la computadora ejecuta uno o varios algoritmos de
control para realizar directamente el control de una o varias variables de un proceso.
Este esquema es al que se enfocan estos apuntes.

Variables manipulables Variables medibles


... Planta ...

Puertos Puertos
D/A A/D
(Salida)
Computadora
(Entrada)

Consola del operador

Figura 4.3.- Control Digital Directo (DDC)

3
Control de Procesos por Microcontrolador

Control Distribuido.

En este último esquema, que es el más difundido a nivel industrial en la actualidad se


utilizan computadoras o microcontroladores para reemplazar los lazos de control
individuales que en el esquema antiguo se implementaban con controladores
analógicos. Además se usa una gran computadora de gran capacidad para realizar la
función de supervisora que ya se describió en el esquema supervisor anterior, con la
diferencia que en el nuevo esquema dicha computadora se auxilia de subsistemas que
controlan una red local que sirve de interfaz de comunicación con cada controlador
funcionando en control digital directo.

µcc
en ... Sensores/
Interfaz de Comunicació n Actuadores
DDC

µcc
Computadora en ... Sensores/
DDC
Actuadores Planta
Supervisora

...

Consola del operador µcc


en ... Sensores/
Actuadores
DDC

Computadoras
En D.D.C.

Figura 4.4.- Control Jerárquico o Distribuído

Modelos Matemáticos de Sistemas Continuos

Uno de los pasos que complica más el diseño de sistemas de control digital es la
necesidad de modelar el proceso (continuo) que se desea controlar, ya que sin un
modelo no podríamos decidir las acciones que el control deberá de tomar para corregir
una desviación (respecto a lo deseado) de alguna variable del proceso.

Modelado Entrada- Salida

Teniendo en cuenta el último comentario uno de los enfoques de modelado más útiles
para propósitos de control es el Modelado Externo o entrada/salida este tipo de
modelo describe la relación estímulo - respuesta del proceso y conduce a la llamada
Función Transferencia del proceso. Este enfoque de modelado se ilustra en la figura
4.5. para una planta continua de una entrada y una salida.

4
Control de Procesos por Microcontrolador

Variable Variable
manipulable
Función Medible
Transferencia
(Entrada) G(s) (Salida)
u(s) y(s)=G(s) u(s)

Planta Continua
Figura 4.5.- Modelado Entrada – Salida para una planta continua

Aunque el modelado entrada – salida produce una representación muy conveniente, en


el dominio del tiempo conduce a una relación expresada por la integral de
convolución siguiente
t
y(t) = 0
g(t − )u( )d (4.1)

Donde g(t) es la función de respuesta al impulso del sistema.

Buscando una relación más sencilla se expresa esta integral de convolución en el


dominio de la frecuencia como una simple multiplicación de una función
transferencia por la entrada para obtener la salida

Y(s) = G(s) U(s) (4.2)

Ecuaciones Diferenciales

Todo sistema dinámico continuo (que contiene elementos almacenadores de energía)


puede modelarse por una ecuación diferencial de orden n (donde n es el número de
elementos almacenadores de energía). El caso más simple y más estudiado es el de
una Ecuación Diferencial Lineal como la siguiente
(n) (n−1) (n−1)
y (t)+a1 y (t)+...+an−1 y (t)+any(t) =b1 u (t)+...+bn−1 u (t)+bnu(t) (4.3)

Donde los superíndices indican derivación respecto al tiempo, y los coeficientes


a1,...,an, b1,...,bn, son en general funciones del tiempo y corresponden a los parámetros
del sistema (tales como masas, coeficientes de fricción, resistencias, capacitancias,
inductancias, etc.)

Si el sistema puede modelarse mediante una ecuación como la (4.2), se dice que es un
Sistema Lineal, y si los coeficientes a1,...,an, b1,...,bn son constantes se dice que es un
Sistema Lineal Invariante en el Tiempo (S.L.I.T.)

Ecuaciones de Estado

Una ecuación diferencial de orden n como la (4.2) puede transformarse en un sistema


de n ecuaciones diferenciales de primer orden mediante la introducción de n variables
de estado, x1(t), x2(t),...,xn(t). Así, en términos de estas variables de estado (si se eligen
5
Control de Procesos por Microcontrolador
convenientemente, ya que hay una infinidad de maneras de hacerlo), la ecuación
diferencial puede escribirse (bajo ciertas condiciones) como sigue

 x& 1   0 1 0 ... 0   x1   0 
 x&   0 0 1 ... 0   x 2   0 
 2 
 x& 3  =  ...   x 3  +  0  u( t )
      
 ...   0 0 0 ... 1   ...  ...
 x& n   − a n − a n −1 − a n− 2 ... − a 1   x n   1 
 x1  (4.4)
x 
 2
y ( t ) = [b n b n −1 b n− 2 ... b 1 ] x 3 
 
 ... 
 x n 

La elección adecuada de variables de estado para obtener la ecuación (4.4) es la


siguiente: La primera variable de estado x 1 se elige de manera que satisfaga la
ecuación auxiliar siguiente

(n ) ( n −1) •
x 1 + a1 x 1 + ... + a n −1 x 1 + a n x 1 = u( t ) (4.5)

Y el resto de las variables de estado se eligen como sigue

x 2 = x& 1
x 3 = x& 2
... (4.6)

x n = x& n−1

El modelo de espacio de estado dado por la ecuación (4.4) se denomina Forma


Canónica Controlador y corresponde a la Función Transferencia en el dominio de
Laplace siguiente

y(s) b 1 s n−1 + b 2 s n−2 + ... + b n−1 s + b n


u(s) = G(s ) =
s n + a 1 s n−1 + ... + a n−1 s + a n (4.7)

Ejemplo 4.1: Al sistema descrito por la siguiente ecuación diferencial

y +2 y +3y = u(t)

le corresponde el modelo en espacio de estado en su forma controlador siguiente


6
Control de Procesos por Microcontrolador

 x& 1   0 1   x 1  0 
 x&  − 3 − 2  x  + 1u(t )
=
 2   2   
y(t ) = x 1

o bien, le corresponde la función transferencia

G(s) = 1
s 2 + 2s + 3
Por lo tanto, su respuesta al escalón puede ser obtenida mediante Matlab como sigue

>>num=[0 0 1];
>>denom=[1 2 3];
>>G=TF(num,denom);
>>step(G);

o bien, usando el modelo de espacio de estado,

>>A=[0 1;-3 -2];


>>B=[0;1];
>>C=[1 0];
>>D=0;
>>G=SS(A,B,C,D);
>>step(G);

Con cualquiera de estos dos procedimientos se puede obtener la respuesta que se


muestra en la figura 4.5
Step Response
From: U(1)
0.4

0.35

0.3

0.25
Amplitude

To: Y(1)

0.2

0.15

0.1

0.05

0
0 1 2 3 4 5 6

Time (sec.)

Figura 4.5.- Respuesta al escalón unitario del sistema del ejemplo 4.1

7
Control de Procesos por Microcontrolador

Interacción Controlador Digital – Planta Continua

Al introducir un controlador digital para controlar una planta continua el modelado se


complica un poco, dado que mientras la evolución de la planta se desarrolla en tiempo
continuo, el controlador es un sistema que evoluciona bajo una base de tiempo
discreto marcado por un reloj patrón.

Para los fines de analizar la interacción control digital – planta continua el reloj que
gobierna la evolución del controlador no es el reloj patrón de la CPU de la computadora,
sino el reloj que marca los instantes de muestreo tk de las tarjetas convertidoras A/D y
D/A,

Muestreo Uniforme

Los instantes que marcan el proceso de muestreo pueden estar espaciados de manera
arbitraria, pero normalmente se tiene un control sobre ellos de manera que ocurren de
manera periódica (uniformemente espaciados), por ello es conveniente definir en este
caso un periodo de muestreo (Ts) y su correspondiente frecuencia de muestreo fs (en
hertz) o bien, ωs (en radianes), de esta manera, en el caso de muestreo uniforme se
tiene que

tk = k Ts, para k=0,1,2,3,... (4.8)

Por ello es común “obviar” el periodo de muestreo y representar el instante de muestreo


usando sólo el valor de k.

Modelado de los convertidores A/D y D/A

En la figura 4.6 se muestra el esquema de la figura 4.1, en donde se utiliza un


controlador digital para controlar una planta continua, pero ahora el convertidor A/D ha
sido reemplazado por su equivalente para fines de modelado, el cual es un
muestreador, es decir, un switch controlado que siempre está abierto y sólo se cierra
para tomar muestras en los instantes de muestreo. En forma similar, el convertidor D/A
se ha reemplazado por un muestreador en serie con un retenedor.

La función del retenedor es la de “sostener” el valor de la señal de entrada entre un


instante de muestreo tk y el siguiente tk+1.

8
Control de Procesos por Microcontrolador

Reloj

y(t) y(tk) Algoritmo u(tk) u(tk) u(t) y(t)


Zoh G(S)
H(z)
A/D D/A

Retenedor Planta
Controlador Digital

Figura 4.6.- Modelado de los convertidores A/D y D/A

El retenedor de orden cero (Zoh)

Un retenedor analógico práctico denominado retenedor de orden cero. (Zoh) consiste


en un capacitor que almacena el valor muestreado u(tk) proveniente de un muestreador,
con el conveniente acoplamiento de impedancia que puede ser proporcionado por un
amplificador operacional en configuración de seguidor como se muestra en la figura 4.7

-
u(t) u(tk) u(t)
+

tk

Figura 4.7.- Muestreador / Retenedor de orden cero.

En un retenedor ideal, el objetivo es realizar el proceso inverso al muestreo, es decir, la


reconstrucción de la señal u(t) previa al muestreador. Sin embargo, el proceso de
reconstrucción normalmente no es perfecto, y lo que se obtiene es una aproximación a
la señal u(t), en la figura 4.8 se muestran señales típicas que tienen lugar en el
muestreo y la reconstrucción con un retenedor de orden cero.

Observación: El proceso de retención también puede realizarse de manera digital,


mediante un registro que sostenga el dato digital u(tk) mientras el convertidor D/A
realiza la conversión.

9
Control de Procesos por Microcontrolador
u(t)

t
t0
Señal analógica u(t)

u(tk)

tk
t0 t 1 t2 t3 t4 t5 t6 t7 t8 …
Señal muestreada u(tk)

u(t)

t
t0 t 1 t2 t3 t4 t5 t6 t7 t8 …
Señal reconstruida u(t) mediante un Zoh

Figura 4.8.- Señales típicas en el proceso de muestreo y reconstrucción

Enfoques de Modelado

Un enfoque de modelado del sistema de control digital es adoptar el punto de vista de


la computadora, la cual es un sistema de tiempo discreto y por lo tanto, “ve” a la planta
como si fuera otro sistema de tiempo discreto, ya que sólo puede ver de ella los valores
muestreados de y(t) en cada instante de muestreo, es decir, sólo ve los valores y(tk).

Este enfoque requiere modelar todos los componentes del sistema de control
mostrado en la figura 4.6 en un dominio de tiempo discreto, es decir, como si la
planta fuese discreta, como se ve en la figura 4.9, esto obliga a considerar un
equivalente F(s) de la planta que incluye al retenedor Zoh como si este último fuese
parte de la planta.

Un enfoque alternativo consiste en adoptar el punto de vista de la planta, es decir,


considerar todos los componentes como si fueran analógicos, esto conduce a
considerar que la computadora es solamente una aproximación digital para un
controlador continuo. Este enfoque tiene la ventaja de que permite diseñar los
controladores usando teoría clásica de control analógico; pero es muy restrictivo, ya
que no permite explotar las capacidades de muchos algoritmos digitales que no pueden
ser una aproximación de controladores continuos.

Por ello el enfoque más conveniente es el mostrado en la figura 4.9, en la cual se ha


usado la variable z para indicar que el modelado es en tiempo discreto y la variable s
para indicar que el modelado es en tiempo continuo.

10
Control de Procesos por Microcontrolador

Reloj

y(t) y(t k ) u(t k ) u(t k ) y(t)


H(z) Zoh G(s)

Algoritm o
F(s)
Retenedor + Planta

y(t k ) u(t k ) u(t k ) y(t k )


H(z) F(z)

Algoritm o
Retenedor + Planta

Figura 4.9.- Modelado desde el punto de vista de la computadora

A continuación se presenta el equivalente natural del modelado en el dominio del


tiempo continuo (ecuaciones diferenciales), que en el caso de tiempo discreto conduce
a las ecuaciones de diferencias.

4.3.- Ecuaciones de Diferencias

En forma similar a como una ecuación diferencial establece una relación entre una
variable y(t) y sus derivadas, una ecuación de diferencias establece una relación entre
una variable de tiempo discreto y(k) y sus valores pasados y(k-1), y(k-2), etc.

En esta notación k representa el instante de muestreo y se evita usar tk por simplicidad.

Si en una ecuación de diferencias aparecen involucrados los valores de y(k) en


diferentes instantes anteriores, por ejemplo, y(k-1), y(k-2), ..., y(k-n), donde n es el
máximo valor de la lista (y(k-n) es el valor más anterior de todos), a la ecuación se le
llama ecuación de diferencias de orden n.

Ejemplo 4.2.- La siguiente es una ecuación de diferencias de primer orden, ya que


y(k) depende solamente de sus valores con un instante de muestreo de diferencia:

y(k) = 1 + a y(k-1)
(valor presente = 1 + valor anterior)

la cual también puede escribirse como

11
Control de Procesos por Microcontrolador
y(k+1) = 1 + a y(k)
(valor siguiente = 1 + valor presente)

Es fácil encontrar la solución de la ecuación anterior por simple iteración. Así,


suponiendo condiciones iniciales cero, es decir, y(0)=0, tendríamos:

Para k=1: y(1)=1+a y(0) = 1


Para k=2: y(2)=1+a y(1) = 1 + a
Para k=3: y(3)=1+a y(2) = 1+a(1+a)= 1+a+a2
Para k=4: y(4)=1+a y(3) = 1+a(1+a+a2) = 1+a+a2+a3
...
para k=n: y(n)= 1 + a + a2 +...+ an-1

En este caso es posible encontrar una expresión cerrada para la sumatoria anterior, y
expresar la solución y(n) de manera compacta como sigue

1 − an
y (n) =
1− a

Esta última expresión nos da la solución particular de la ecuación de diferencias


para la condición inicial y(0)=0. Dicha solución tiene características diferentes
dependiendo del valor de la constante a. En la figura 4.10 se muestra la forma de la
solución y(k) para un valor de a = 0.5

2 Y (k )

1.9

1.8

1.7
a=0.5
1.6

1.5

1.4

1.3

1.2

1.1

1 k
0 2 4 6 8 10 12 14
Figura 4.10.- Solución de la ecuación de diferencias del ejemplo 4.2 para a=0.5

Ecuaciones Lineales de Diferencias

En forma similar a las ecuaciones diferenciales, las ecuaciones de diferencias pueden


clasificarse también en Lineales y No Lineales. La forma general de una ecuación de
diferencias lineal de orden n es como sigue
12
Control de Procesos por Microcontrolador

y(k+n) + a1y(k+n-1) +...+ any(k) = b0u(k+m) + b1u(k+m-1) +...+ bmu(k) (4.9)

Donde y es la variable dependiente (salida)


u es una variable independiente (entrada)
k es el tiempo discreto
a1,...,an,b0,...,bm, son en general funciones del tiempo k.

En el caso en que los parámetros a1,...,an,b0,...,bm sean constantes, la Ecuación (4.9)


se dice Lineal, Invariante en el Tiempo. Este es el caso más sencillo y será el único
tratado en estos apuntes.

Causalidad

Se puede ver de la ecuación (4.9) que si m>n entonces los valores de y en cada
instante dependerían de un valor que aún no ha ocurrido (de un valor futuro), por
ejemplo, una ecuación con m=1, n=0 pudiera ser:

y(k)=u(k+1),

la cual, por ejemplo para evaluarse en el instante presente k=1 requiere conocer el
valor de u(2) que está en el futuro!!.

Un sistema descrito por la ecuación (4.9), con m>n se llama No Causal y no es


realizable físicamente en tiempo real. En forma similar, si m ≤ n el sistema se dice
Causal.

Observación. Pudiera pensarse que al no ser realizables los sistemas no causales no


tienen ningún interés, sin embargo, si el sistema trabaja con datos almacenados no
tiene porque procesarlos en tiempo real y entonces puede realizarse aún siendo no
causal. Otro caso de interés en sistemas no causales es cuando k no es una variable
de tiempo, sino, por ejemplo, de posición, entonces los valores de k mayores que el
actual no son “futuros”, sino simplemente están “adelante”.

Ejemplo 4.3.- En los siguientes ejemplos de ecuaciones de diferencias se ha colocado


a la derecha una L de lineales, una NL de nolineales, una C de causales, una NC de no
causales, una I de invariantes y una V de variantes.

Ecuación Clasificación
y(k+3) + y(k+1) - 5y(k) = sen(k) L,I,C
y(k+1) + k*y(k) = u(k+2) L,V,NC
y(k)*sen(k) + y(k+1) = k+2 L,V,C
y(k)*y(k+1) + 1 = u(k) NL,I,C
y(k+2) - y(k) = u(k) + u(k+3) L,I,NC
Y(k-1) + y(k-2) = u(k) L,I,NC

13
Control de Procesos por Microcontrolador

4.4.- Operadores Retardo y Adelanto

Es posible obtener una representación algebraica de las ecuaciones de diferencias si


introducimos el operador retardo unitario q-1 definido como sigue para una función de
tiempo discreto f(k)

q-1f(k) = f(k-1) (4.10)

(es decir, q-1 produce un retardo de un periodo de muestreo en en f(k)). Este operador
se puede aplicar de manera repetitiva como sigue

q-2f(k) = q-1q-1f(k) = q-1f(k-1) = f(k-2)

o en general, q-nx(k) = x(k-n) (4.11)

En forma similar se define el operador adelanto unitario q como el operador que


produce un adelanto de un periodo de muestreo en una señal f(k) como sigue

q f(k) = f(k+1) (4.12)

en forma similar q2 f(k) = f(k+2),…,qn f(k) = f(k+n) (4.13)

Utilizando estos operadores una ecuación de diferencias se transforma en una ecuación


algebraica en potencias de q.

Ejemplo 4.4

La ecuación de diferencias: y(k+2)+y(k+1)+0.2y(k)= u(k) se puede escribir usando el


operador q como sigue
(q2+q+0.2)y(k) = u(k)

De hecho, en general una ecuación de diferencias de la forma (4.9), se puede reescribir


usando el operador q como sigue

A(q) y(k) = B(q) u(k) (4.14)

Donde A(q) y B(q) son polinomios en potencias de q de grado n y m respectivamente:

A(q) = qn + a1qn-1 +...+ an-1q + an (4.15)


B(q) = boqm + b1qm-1 +…+ bm-1q + bm (4.16)

4.5.- Función Transferencia de un Sistema Discreto

14
Control de Procesos por Microcontrolador
De acuerdo a la ecuación (4.14), el operador q permite convertir una ecuación de
diferencias lineal como la (4.9) en una ecuación algebraica como (4.14) de la cual
podemos obtener el cociente de la salida a la entrada como sigue

y (k )
= G(q) (4.17)
u(k )

Donde G(q) es una función racional en q de la forma siguiente

b 0 qm + b1qm−1 + ... + b m−1q + b m


G(q) = (4.18)
qn + a1qn−1 + ... + a n−1q + a n

A esta función racional se le llama La Función Transferencia de Pulso o Función


Transferencia Discreta; pero ¿tiene algún significado práctico?, es decir, ¿la relación
siguiente obtenida de (4.17)

y(k) = G(q) u(k), (4.19)

realmente nos proporciona una manera de calcular la respuesta y(k) del sistema
descrito por la ecuación diferencial (4.9) cuando se presenta la entrada u(k)?

Para aclarar este punto consideremos el siguiente ejemplo

Ejemplo 4.5

Consideremos el sistema digital cuya entrada es u(k) y cuya salida es y(k), descrito por
la siguiente ecuación de diferencias

y(k+1) - ay(k) = u(k)

De acuerdo con (4.18) la función transferencia discreta correspondiente es

1
G(q) = ,
q−a

de manera que de acuerdo con (4.19) podremos expresar la salida del sistema como
sigue
1
y (k ) = u(k )
q−a

Lo cual a primera vista y considerando el significado del operador q, no parece tener


ningún sentido, pero si expresamos la división 1/(q-a) usando el procedimiento de
división de polinomios, obtenemos

y(k) = (q-1 + aq-2 + a2q-3 + a3q-4 + ...)u(k)


es decir,

15
Control de Procesos por Microcontrolador
y(k) = u(k-1) + au(k-2) + a2u(k-3) +...

La expresión anterior nos permite calcular la respuesta y(k) del sistema si conocemos la
entrada u(k). Por ejemplo, supongamos que u(k) es un escalón unitario, entonces

y(0) = u(-1)+au(-2)+... = 0
y(1) = u(0)+au(-1)+... = 1
y(2) = u(1)+au(0)+a2u(-1)+...= 1+a
y(3) = u(2)+au(1)+a2u(0)+a3u(-1)+... = 1+a+a2
...
y(n) = u(n-1)+au(n-2)+a2u(n-3)+...+an-1u(0)+anu(-1)+... = 1+a+a2+a3+...+an-1

Compárese este resultado con el obtenido en el ejemplo 4.2

Se puede observar que el procedimiento seguido en el ejemplo anterior no tiene


manera de considerar condiciones iniciales, por ello sólo se puede aplicar si
estas condiciones iniciales son cero

El haber logrado una expresión como (4.19) nos permite expresar un sistema descrito
por una ecuación de diferencias lineal mediante un diagrama de bloques, como sigue

Función
u(k) Transferencia y(k)=G(q) u(k)
G(q)

Sistema discreto

Por otro lado, es importante mencionar que aunque la función transferencia G(q) se ha
expresado en términos del operador adelanto q, es posible siempre expresarla en
términos del operador retardo q-1 para obtener G(q-1). Así, considerando la expresión
(4.18), si multiplicamos numerador y denominador por q-n, obtenemos

b 0 qm−n + b1qm−n−1 + ... + b m−1q − (n−1) + b m q −n


G(q) = (4.20)
1 + a1q −1 + ... + a n−1q −(n−1) + a n q −n
Si definimos d=n-m, obtenemos

b 0 + b1q −1 + ... + b m−1q − (m−1) + b m q −m


G(q) = q −d (4.21)
1 + a1q −1 + ... + a n−1q −(n−1) + a n q −n

En esta última versión de la función transferencia resulta evidente que el retardo total
entrada – salida del sistema es d.

16
Control de Procesos por Microcontrolador
4.5.1.- La Transformada Z

En estos apuntes se evitará al máximo el uso de conceptos relacionados con la


Transformada Z, sin embargo, para poder comprender algunas cuestiones básicas
tratadas en la literatura que hace uso de la transformada Z usaremos los conceptos
tratados arriba para el operador q, pero teniendo presente lo siguiente:

1. La Transformada Z al aplicarse a una función en el dominio del tiempo discreto


f(k), la convierte a una nueva función F(z) cuya variable z es una variable compleja.
Es decir, transforma a f(k) del dominio del tiempo discreto al dominio complejo z.

Im(z)
Transformada Z

f(k) Re(z)

Función de tiempo discreto


Dominio Complejo z

2. En el nuevo dominio complejo z se pueden hacer varios estudios sobre el sistema


transformado, especialmente el estudio de Estabilidad (basado en los polos de la
función transferencia). Una manera más clara de apreciar esto es considerar el
mapeo (transformación) del plano complejo de Laplace (s) al plano complejo z.

F(s) F(z)
jω Im(z)
Transformada Z

σ Re(z)
z=eTs
Dominio Complejo s Dominio Complejo z

3. Cada punto del plano s se transforma en un punto del plano z mediante la


transformación z=eTs, donde T es el periodo de muestreo, por lo tanto todo el
semiplano complejo izquierdo en el plano s (Re(s)<0) corresponde al interior del
círculo de radio 1 en el plano z.

4. Hay una relación directa entre el operador q y la transformada Z, bajo condiciones


iniciales cero. Compárense las siguientes relaciones con las ecuaciones (4.10) y
(4.12):

Z{f(k-1)} = z-1F(z) (4.22)


Z{f(k+1)} = z F(z) (4.23)

17
Control de Procesos por Microcontrolador

5. De acuerdo al punto anterior, la función Transferencia (4.18), (4.20) o (4.21)


expresada en términos de q o en términos de z es exactamente la misma (sólo se
cambia q por z), por ejemplo la ecuación (4.18) en el dominio de z queda:

b 0 z m + b1 z m−1 + ... + b m−1 z + b m


G(z) = (4.24)
z n + a1 z n−1 + ... + a n−1 z + a n
Sin embargo, mientras que (4.18) expresa el cociente y(k)/u(k), la ecuación (4.24)
expresa el cociente Y(z)/U(z).

6. La Transformada Z de una señal arbitraria f(k) de tiempo discreto está definida por


F(z) = Z{f(k)} = ∑ f (k)z
k =0
−k
(4.22)

Ejemplo 4.6

De acuerdo a los puntos anteriores, podemos usar la función transferencia (4.18) en


términos de q, o en términos de z (4.24) de manera indistinta para representar un
sistema discreto lineal. Así, para el sistema del ejemplo 4.5 podemos escribir su función
transferencia como sigue

1
G(z) =
z−a

Usando Matlab podemos obtener la respuesta del sistema para diferentes valores de la
constante a.

Para a=0.5

» a=0.5;
» num=[0 1];
» den=[1 -a];
» G=TF(num,den,1)

Transfer function:
1
-------
z + 0.5

Sampling time: 1
»

De esta manera obtenemos la respuesta al escalón unitario que se muestra en la


siguiente figura (compárese con la figura 4.10).

18
Control de Procesos por Microcontrolador

Step Response, a=0.5

1.8

1.6

1.4

Amplitude
1.2

0.8

0.6

0.4

0.2

0
0 2 4 6 8 10 12

Time (sec.)

En forma similar se puede obtener la respuesta al escalón unitario para otros valores de
la constante a, como se muestra en las figuras siguientes para a=-0.5, 1, -1, 2

S tep Res pons e c on a= -0.5 S tep Res pons e c on a= 1


From: U(1) From: U(1)
1 50

0.9 45

0.8 40

0.7 35

0.6 30
A m plitude

A m plitude
To: Y (1)

To: Y (1)

0.5 25

0.4 20

0.3 15

0.2 10

0.1 5

0 0
0 2 4 6 8 10 12 0 5 10 15 20 25 30 35 40 45 50

Tim e (s ec .) Tim e (s ec .)

S tep Res pons e, a= 1 S tep Respons e, a= 2


From: U(1) From: U(1)
1 35

0.9
30

0.8
25
0.7

20
0.6
A m plitude

A m plitude
To: Y (1)

To: Y (1)

0.5 15

0.4
10

0.3
5
0.2

0
0.1

0 -5
0 5 10 15 20 25 30 35 40 45 50 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Tim e (s ec .) Tim e (s ec .)

19
Control de Procesos por Microcontrolador
4.5.2.- Modelo de Espacio de Estado Discreto

En forma similar a la manera como una ecuación diferencial de orden n puede


transformarse en n ecuaciones diferenciales de primer orden, también una ecuación de
diferencias de orden n puede escribirse como n ecuaciones de diferencias de primer
orden, las cuales en general para un sistema lineal invariante en el tiempo tendrán la
forma
x(k+1) = Φ x(k) + Γu(k) (4.23)

Y la ecuación de salida
y(k) = C x(k) (4.24)

Donde x es el vector de variables de estado, Φ, Γ y C son matrices constantes.

La función transferencia correspondiente a este sistema de ecuaciones se puede


obtener aplicando las propiedades del operador q o bien de la transformada Z como
sigue

G(z) = C(zI-Φ)-1Γ (4.25)

Donde I es la matriz identidad de tamaño nxn.

Ejemplo 4.7

Consideremos el sistema discreto dado por la siguiente ecuación de diferencias de


segundo orden
y(k+2)+0.1y(k+1)-0.2y(k)=u(k)

Si elegimos las siguientes variables de estado:

x1(k)=y(k), x2(k) = y(k+1)

Obtenemos el siguiente sistema de dos ecuaciones de diferencias de primer orden

 x1 (k + 1)   0 1   x1 (k )  0
 x (k + 1) = 0.2 − 0.1  x (k ) + 1u(k )
 2    2   
y(k ) = x1 (k )

que corresponde a la forma anticipada en (4.23) y (4.24)

Ejemplo 4.8

En Matlab puede usarse de manera indistinta el modelo de espacio de estado o la


función transferencia para introducir un sistema discreto, así, para el sistema del
ejemplo anterior podemos obtener la respuesta al escalón unitario de la siguiente
manera
20
Control de Procesos por Microcontrolador

» num=1;
» den=[1 0.1 -0.2];
» G=TF(num,den,1)

Transfer function:
1
-----------------
z^2 + 0.1 z - 0.2

Sampling time: 1
» step(G)
»

O bien,

» A=[0 1; 0.2 -0.1];


» B=[0;1];
» C=[1 0];
» D=0;
» G=SS(A,B,C,D,1);
» step(G)
»

De esta manera se obtiene la respuesta mostrada en la siguiente figura

Step Respons e
From: U(1)
1.4

1.2

1
Am plitude

0.8
To: Y (1)

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10

Tim e (sec .)

4.6.- Discretización de Sistemas Continuos

Uno de los enfoques comentados anteriormente (El punto de vista de la planta) nos
permite utilizar la teoría de diseño de controladores analógicos para implementar
controladores discretos está basado en que una vez teniendo la versión analógica, ésta
la podemos aproximar por una versión discreta con un buen grado de exactitud. En

21
Control de Procesos por Microcontrolador
otras palabras, una ecuación diferencial se puede aproximar por una ecuación de
diferencias.

En el otro enfoque (punto de vista de la computadora) también es necesario realizar


esta discretización, pero no para el controlador, sino para la planta, de manera que todo
el sistema pueda verse como si fuera discreto y utilizar la teoría de diseño de
controladores discretos.

La aproximación se puede realizar de varias maneras:

4.6.1.- Aproximación de Euler.

Esta aproximación se basa en expresar la derivada mediante diferencias finitas hacia


atrás, es decir,

dy y (kT ) − y(kT − T)
≈ (4.26)
dt T

donde T es el periodo de muestreo, o bien, usando diferencias hacia delante,

dy y (kT + T ) − y(kT )
≈ (4.27)
dt T

Usando las expresiones anteriores un sistema escrito en ecuaciones diferenciales de


primer orden (como la ecuación de estado continuo 4.4) puede ser transformada en un
sistema escrito en ecuaciones de diferencias de primer orden (como la ecuación de
estado discreto 4.23)

Ejemplo 4.9

Consideremos el sistema continuo dado por las ecuaciones de estado del ejemplo 4.1

 x& 1   0 1   x 1  0 
 x&  = − 3 − 2  x  + 1u(t )
 2   2   
y(t ) = x 1

Usando diferencias hacia delante (4.27) este sistema se transforma en

 x1 (k + 1)   1 T   x1 (k )   0 
 x (k + 1) = − 3T 1 − 2T   x (k ) + T u(k )
 2    2   
y(k ) = x1 (k )

En forma similar, si usamos diferencias hacia atrás (4.26), obtenemos


22
Control de Procesos por Microcontrolador

 x1 (k + 1)  1 1 + 2T T   x1 (k )   0 
 x (k + 1) 3T 2 + 2T + 1  − 3T 1   x (k ) + T u(k )
=
 2    2   
y(k ) = x1 (k )

Como se puede ver de las dos aproximaciones obtenidas, el comportamiento de la


aproximación depende intrínsecamente del periodo de muestreo utilizado.

Como una manera de validar que tan buena es la aproximación obtenida podemos
obtener las respuestas al escalón de las tres ecuaciones anteriores mediante Matlab,
como se muestra en la siguiente figura.

Como es de esperarse, la aproximación es mejor a medida que el periodo de muestreo


es más pequeño. En la figura se ha utilizado un periodo de muestreo de T=0.1 seg.

Respuesta al Escalón del Sistema continuo y


aproximaciones discretas usando T=0.1
0.4

0.35

0.3

0.25
Amplitude

0.2

0.15

Diferencias hacia Adelante


0.1
Diferencias hacia atráz
Sistema continuo
0.05

0
0 1 2 3 4 5 6
Time (sec.)

Discretización de la función transferencia

En ocasiones resulta más práctico aplicar las aproximaciones discretas directamente a


la función transferencia del sistema continuo. Esto es sencillo de realizar para las
aproximaciones de Euler, ya que estas simplemente transforman la derivada cuyo
efecto en el dominio de Laplace es el de transformar la variable compleja s. De esta
manera, podemos obtener las transformaciones correspondientes de s a z a partir de
las ecuaciones (4.26) y (4.27)

Así, de las diferencias hacia atrás (4.26)

1 − z −1 z − 1
s= = (4.29)
T Tz

23
Control de Procesos por Microcontrolador

y de las diferencias hacia delante (4.28), obtenemos

z −1
s= (4.28)
T

Ejemplo 4.10

Para el sistema continuo del ejemplo anterior tenemos la función transferencia


correspondiente

G(s) = 1
s 2 + 2s + 3
De manera que si usamos diferencias hacia delante (4.28), obtenemos

T2
G(z) =
z 2 + (2T − 2)z + (3T 2 − 2T + 1)

Lo cual también puede ser verificado a partir de (4.25)

4.6.2.- Aproximación de Tustin.

Una alternativa a la aproximación de la derivada por diferencias finitas es usar la


aproximación de la integral mediante áreas trapezoidales. De esta manera se obtine la
transformación de Tustin o bilineal que se puede expresar como sigue

2 z −1
s= (4.28)
T z +1

Ejemplo 4.11

Para el mismo sistema del ejemplo anterior; pero usando la transformación de Tustin
podemos obtener la siguiente función transferencia discreta simplemente sustituyendo
la transformación (4.28) en la función transferencia del sistema continuo.

T 2 (z 2 + 2z + 1)
G(z) =
(3T 2 + 4T + 4)z 2 + (6T 2 − 8)z + (3T 2 − 4T + 4)

Para validar el resultado de esta transformación, obtenemos mediante Matlab la


respuesta al escalón de la función transferencia discreta obtenida y la graficamos junto
con la respuesta dela planta continua original. Como se muestra en la siguiente figura el
resultado es considerablemente mejor que el obtenido mediante diferencias finitas hacia
adelante o hacia atrás

24
Control de Procesos por Microcontrolador
Respuesta al escalón: Sistema continuo
Y aproximación de Tustin, con T=0.1 seg
0.4

0.35

0.3

0.25

Amplitude
0.2

0.15

0.1
Sistema continuo
Aprox de Tustin
0.05

0
0 1 2 3 4 5 6
Time (sec.)

4.6.3.- Aproximación escalón invariante (Retenedor de orden cero).

Una de las desventajas que tienen los métodos anteriores es que todos ellos introducen
una distorsión en la escala de frecuencias, es decir, la aproximación discreta y el
sistema original tendrán por lo general una respuesta de frecuencia muy diferente. Una
alternativa para mejorar esto es la de utilizar ya no una aproximación, sino la
transformación exacta del sistema original al sistema discreto ¿es esto posible?

Realmente no se puede tener una transformación exacta si no se introducen algunas


consideraciones, por ejemplo, la siguiente es una transformación que nos produce la
respuesta exactamente igual al sistema original en los instantes de muestreo si la
entrada es una señal escalón.

Este método se basa en discretizar (obteniendo la transformada z) de la planta (G(s))


precedida por un retenedor de orden cero (Goh(s)) como se muestra en la figura
siguiente

u(t k ) y(t) u(t k ) y(t k )


G oh (s) G (s) F(z)

F(s) Retenedor + Planta

Retenedor + Planta

Es decir, con este enfoque obtenemos la función transferencia discreta como sigue

F(z) = Z {Goh(s) G(s)} (4.29)

25
Control de Procesos por Microcontrolador
Se puede evitar el uso de la transformada Z si hacemos el planteamiento en un modelo
de estado. Así, si el modelo de estado de la planta continua es

x& = Ax + Bu
(4.30)
y = Cx

El correspondiente modelo de estado discreto equivalente será

x (k + 1) = Φx(k ) + Γu(k )
(4.31)
y (k ) = Cx(k )
T 
En donde: Φ = e AT , Γ =  ∫ e Aτ dτ B (4.32)
0 

Ejemplo 4.12

El procedimiento para calcular la matriz eAT de manera analítica consiste la


transformación inversa de Laplace de la matriz (sI-A)-1, es decir,

eAT = L-1{(sI-A)-1} (4.33)

En donde I es la matriz identidad de tamaño nxn, A es la matriz del sistema (4.30), T es


el periodo de muestreo y L-1 es la Transformada inversa de Laplace.

Para el caso del sistema del ejemplo anterior, obtenemos

 s+2 1 
AT -1  s 2 + 2s + 3 s + 2s + 3 
2
e =L  
−3 s
 2 
s + 2s + 3 s 2 + 2s + 3 
Transformando obtenemos

AT
e − T (cos 2T + 12 sen 2T) e − T ( 12 sen 2T) 
Φ=e =  
 e −T (− 32 sen 2T) e −T (cos 2T − 12 sen 2T)

Y evaluando la integral (4.32) se obtiene

 1 − 1 e − T (cos 2T + 12 sen 2T)


Γ = 3 3 

1
2
e −T sen 2T 

Evaluando para T=0.1 seg. obtenemos

 0.9860 0.0902 0.0047 


Φ=  , Γ= 
− 0.2705 0.8056 0.0902

26
Control de Procesos por Microcontrolador
Utilizando estos cálculos podemos obtener la respuesta al escalón unitario de esta
discretización y compararlo con la del sistema continuo original como se muestra en la
siguiente figura obtenida en Matlab.

Respuesta al escalón: Sistema Original y


Discretización con retenedor de orden cero, T=0.1seg
0.4

0.35

0.3

Amplitude 0.25

0.2

0.15

0.1
Sistema continuo
0.05 Discretización

0
0 1 2 3 4 5 6
Time (seg.)

Es importante notar en esta gráfica que la discretización con retenedor de orden


cero produce una respuesta idéntica a la de la planta original en los instantes
de muestreo.

4.7.- Estabilidad de Sistemas Discretos

4.8.- Diseño de un Sistema de Control Digital Directo Usando Microcontrolador


4.8.1.- Caso de Estudio (Control de Velocidad de Un Motor de C.D.)
4.8.2.- Descripción General del Problema
4.8.3.- Necesidades Mínimas de Modelado
4.8.4.- Modelado del Motor
4.8.5.- El Sensor y su Modelado
4.8.6.- El Actuador y su Modelado
4.8.7.- Elección de la Estrategia de Control
4.8.8.- Control P.I.
4.8.9.- El efecto “Windup” y su eliminación
4.8.10.- Elección del periodo de muestreo y las constantes del controlador
4.8.11.- Implementación del control

27

You might also like