Professional Documents
Culture Documents
4.1.- Introducción
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
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 la figura 4.1 se muestran los elementos básicos que debe poseer un sistema de
control retroalimentado basado en computadora.
Reloj
Computadora
Clasificación.
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).
Variables medibles
...
Computadora Referencias
Planta
...
Controladores
Analógicos
Puertos Puertos
D/A A/D
(Salida)
Computadora
(Entrada)
3
Control de Procesos por Microcontrolador
Control Distribuido.
µcc
en ... Sensores/
Interfaz de Comunicació n Actuadores
DDC
µcc
Computadora en ... Sensores/
DDC
Actuadores Planta
Supervisora
...
Computadoras
En D.D.C.
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.
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
Ecuaciones Diferenciales
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
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
(n ) ( n −1) •
x 1 + a1 x 1 + ... + a n −1 x 1 + a n x 1 = u( t ) (4.5)
x 2 = x& 1
x 3 = x& 2
... (4.6)
x n = x& n−1
y +2 y +3y = u(t)
x& 1 0 1 x 1 0
x& − 3 − 2 x + 1u(t )
=
2 2
y(t ) = x 1
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);
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
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
8
Control de Procesos por Microcontrolador
Reloj
Retenedor Planta
Controlador Digital
-
u(t) u(tk) u(t)
+
tk
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
Enfoques de Modelado
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.
10
Control de Procesos por Microcontrolador
Reloj
Algoritm o
F(s)
Retenedor + Planta
Algoritm o
Retenedor + Planta
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.
y(k) = 1 + a y(k-1)
(valor presente = 1 + valor anterior)
11
Control de Procesos por Microcontrolador
y(k+1) = 1 + a y(k)
(valor siguiente = 1 + valor presente)
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
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
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!!.
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
(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
Ejemplo 4.4
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 )
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)?
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
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
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
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
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
Im(z)
Transformada Z
f(k) Re(z)
F(s) F(z)
jω Im(z)
Transformada Z
σ Re(z)
z=eTs
Dominio Complejo s Dominio Complejo z
17
Control de Procesos por Microcontrolador
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
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
»
18
Control de Procesos por Microcontrolador
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
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 .)
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
Y la ecuación de salida
y(k) = C x(k) (4.24)
Ejemplo 4.7
x1 (k + 1) 0 1 x1 (k ) 0
x (k + 1) = 0.2 − 0.1 x (k ) + 1u(k )
2 2
y(k ) = x1 (k )
Ejemplo 4.8
» 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,
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 .)
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.
dy y (kT ) − y(kT − T)
≈ (4.26)
dt T
dy y (kT + T ) − y(kT )
≈ (4.27)
dt T
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 + 1u(t )
2 2
y(t ) = x 1
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 )
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 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.
0.35
0.3
0.25
Amplitude
0.2
0.15
0
0 1 2 3 4 5 6
Time (sec.)
1 − z −1 z − 1
s= = (4.29)
T Tz
23
Control de Procesos por Microcontrolador
z −1
s= (4.28)
T
Ejemplo 4.10
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)
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)
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.)
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?
Retenedor + Planta
Es decir, con este enfoque obtenemos la función transferencia discreta como sigue
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
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
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)
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.
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.)
27