Está en la página 1de 34

Ingeniera de Control

Tema 6. Diseo de
controladores discretos

Daniel Rodrguez Ramrez


Teodoro Alamo Cantarero

Contextualizacin del tema


Conocimientos que se adquieren en este tema:
Como obtener el equivalente discreto de un controlador continuo
usando diversas aproximaciones.
Conocer las propiedades de cada una de las aproximaciones.
Como obtener las aproximaciones sustituyendo la variable compleja s
por una expresin en z.
Saber usar el mtodo de diseo directo para disear un controlador
discreto sin partir de uno continuo.
Conocer el control en un nmero finito de intervalos y sus limitaciones.

Esquema del tema


5.1. Discretizacin de controladores PID continuos.
5.1.1. Aproximacin rectangular hacia delante (Euler I).
5.1.2. Aproximacin rectangular hacia atras (Euler II).
5.1.3. Aproximacin bilineal (trapezoidal o Tustin).

5.2. Correspondencias s - z para las aproximaciones de la integral.


5.2.1. Rectangular hacia delante.
5.2.2. Rectangular hacia atrs.
5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.


5.4. Funciones de Matlab tiles.
5.5. Mtodo de diseo directo (Ragazzini-Truxal).
5.5.1. Causalidad.
5.5.2. Estabilidad Interna.
5.5.3. Errores en rgimen permanente.

5.6. Control en un nmero finito de intervalos.

Discretizacin de controladores continuos

Se parte de un controlador en tiempo continuo, se discretiza con un


determinado tiempo de muestreo y se implementa en un computador.
El caso ms comn es el del PID:

Existen diversos mtodos de sintona, como el de Ziegler-Nichols:

El punto crtico es la tcnica empleada para la aproximacin:


Euler I y II.
Tustin.

Aproximacin rectangular hacia delante (Euler I)


La derivada se aproxima por:

El trmino integral:
T
e(t)

K-1

La expresin del PID queda:

Aproximacin rectangular hacia delante (Euler I)


Retrasando la expresin de la aproximacin del PID:

y restndosela a la original se obtiene:

Aplicando la transformada Z se obtiene la funcin de transferencia


del controlador:

Aproximacin rectangular hacia delante (Euler I)

El cdigo de programa que implementara el controlador


sera:
1.
2.
3.
4.

Esperar a que se cumpla el tiempo de muestreo T.


Leer yk.
Calcular ek = rk - yk.
Calcular uk segn la expresin:

5.
6.

Aplicar uk.
Actualizar uk-1, ek-1, ek-2.

Aproximacin rectangular hacia atrs (Euler II)


En este caso la integral se aproxima por:
T

Se llega a:

K-1

Aproximacin bilineal (trapezoidal o Tustin)


En el caso de la aproximacin bilineal la integral se calcula
mediante:

T
e(t)

K-1

Es la mejor aproximacin

Ejemplo de discretizacin de PID


Sea el sistema:

Disear un PID usando Z-N y discretizar usando T=0.1 segundos.


Los parmetros del PID continuo son:

Tustin

1.5

1.5

0.5

0.5

10

Euler I

10

10

0
-1

10

-2

Esquema del tema


5.1. Discretizacin de controladores PID continuos.
5.1.1. Aproximacin rectangular hacia delante (Euler I).
5.1.2. Aproximacin rectangular hacia atras (Euler II).
5.1.3. Aproximacin bilineal (trapezoidal o Tustin).

5.2. Correspondencias s - z para las aproximaciones de la integral.


5.2.1. Rectangular hacia delante.
5.2.2. Rectangular hacia atrs.
5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.


5.4. Funciones de Matlab tiles.
5.5. Mtodo de diseo directo (Ragazzini-Truxal).
5.5.1. Causalidad.
5.5.2. Estabilidad Interna.
5.5.3. Errores en rgimen permanente.

5.6. Control en un nmero finito de intervalos.

Correspondencia s - z para la aproximacin de la integral

Las aproximaciones vistas se corresponden con una sustitucin de la s


por una funcin de z en la funcin de transferencia.
Partimos de un ejemplo:

En el dominio del tiempo:

Obtenemos el valor de u(kT):


e(t)
A

Integral de -au(t)
au(t) +ae
+ae(t)
ae(t) entre (k(k-1)T y kT
K

Correspondencia s - z para la aproximacin de la integral


Aproximacin rectangular hacia delante

Se cumple que u(t) = u((k-1)T) en todo el intervalo:


T
e(t)

Teniendo en cuenta que:

K-1

se llega a:

Tomando la transformada z:

Luego:

Correspondencia s - z para la aproximacin de la integral


Aproximacin rectangular hacia atrs

Se cumple que u(t) = u(kT) en todo el intervalo.


En este caso:

Teniendo en cuenta que:

se llega a:
K-1

Aplicando la transformada z:

Correspondencia s $ z para la aproximacin de la integral


Trapezoidal o Bilineal

En este caso u(t) a lo largo del intervalo vale:

Esto implica:

T
e(t)

K-1

Llevndolo a:
se obtiene:

Aplicando transformada z:

Esquema del tema


5.1. Discretizacin de controladores PID continuos.
5.1.1. Aproximacin rectangular hacia delante (Euler I).
5.1.2. Aproximacin rectangular hacia atras (Euler II).
5.1.3. Aproximacin bilineal (trapezoidal o Tustin).

5.2. Correspondencias s - z para las aproximaciones de la integral.


5.2.1. Rectangular hacia delante.
5.2.2. Rectangular hacia atrs.
5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.


5.4. Funciones de Matlab tiles.
5.5. Mtodo de diseo directo (Ragazzini-Truxal).
5.5.1. Causalidad.
5.5.2. Estabilidad Interna.
5.5.3. Errores en rgimen permanente.

5.6. Control en un nmero finito de intervalos.

Estabilidad de las aproximaciones

Como se transforma la regin de estabilidad en continuo al aplicar las


aproximaciones vistas ?

Rectangular hacia delante


La aproximacin es z = Ts+1
Controladores estables en continuo
pueden resultar inestables en discreto.

Estabilidad de las aproximaciones


Bilineal o Tustin

La aproximacin es:

La bilineal es
la mejor
Rectangular hacia atrs

La aproximacin es:

Ejemplo de estabilidad de las aproximaciones


Sea
Usando un tiempo de muestreo de 0.3 segundos:

0.4

0.7

0.35

0.6

Euler Atrs

0.5

0.3
0.4

0.25
0.3

0.2
0.2

Tustin

0.15

0.1

0.1

0.05

-0.1

Euler
Adelante

-0.2

0
0

10

12

Ejemplo discretizacin de un controlador


Dado

Discretizarlo con T=0.1 segundos usando Euler hacia delante.


La aproximacin es:
llevndola a Gc(s):

La versin implementable es:

Esquema del tema


5.1. Discretizacin de controladores PID continuos.
5.1.1. Aproximacin rectangular hacia delante (Euler I).
5.1.2. Aproximacin rectangular hacia atras (Euler II).
5.1.3. Aproximacin bilineal (trapezoidal o Tustin).

5.2. Correspondencias s - z para las aproximaciones de la integral.


5.2.1. Rectangular hacia delante.
5.2.2. Rectangular hacia atrs.
5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.


5.4. Funciones de Matlab tiles.
5.5. Mtodo de diseo directo (Ragazzini-Truxal).
5.5.1. Causalidad.
5.5.2. Estabilidad Interna.
5.5.3. Errores en rgimen permanente.

5.6. Control en un nmero finito de intervalos.

Funciones de Matlab tiles


G=tf([1],[1 1 4]) Crea el sistema en tiempo continuo.
Gf = tf(bilin(ss(G),1,'fwdrec',0.3))
Devuelve la aproximacin
Euler hacia delante con un tiempo de muestreo de 0.3
segundos.
bilin funciona con sistemas en espacio de estados, de ah que
se pase a esta descripcin con ss y despus se vuelva a poner
en funcin de transferencia.
Gb = tf(bilin(ss(G),1,bwdrec',0.3))
Devuelve la aproximacin
Euler hacia atrs.
Gtu = tf(bilin(ss(G),1,Tustin',0.3))
Devuelve la aproximacin
Tustin.

Esquema del tema


5.1. Discretizacin de controladores PID continuos.
5.1.1. Aproximacin rectangular hacia delante (Euler I).
5.1.2. Aproximacin rectangular hacia atras (Euler II).
5.1.3. Aproximacin bilineal (trapezoidal o Tustin).

5.2. Correspondencias s - z para las aproximaciones de la integral.


5.2.1. Rectangular hacia delante.
5.2.2. Rectangular hacia atrs.
5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.


5.4. Funciones de Matlab tiles.
5.5. Mtodo de diseo directo (Ragazzini-Truxal).
5.5.1. Causalidad.
5.5.2. Estabilidad Interna.
5.5.3. Errores en rgimen permanente.

5.6. Control en un nmero finito de intervalos.

Mtodo de diseo de Ragazzini-Truxal

Es una alternativa a la discretizacin de controladores, se disea


directamente en discreto.
Se imponen condiciones a la funcin de transferencia del controlador y a la
de bucle cerrado.
La idea es obtener una funcin de bucle cerrado deseada Gd(z) y a partir
de ah obtener el controlador necesario.
La funcin de bucle cerrado deseada ser igual a:

Despejando C(z):

C(z) puede ser no implementable


se imponen condiciones:
Causalidad.
Estabilidad interna.
Errores en rgimen permanente.

Condicin de causalidad

El controlador debe ser causal para evitar que u(k) dependa de errores
futuros.
C(z) es causal si:

Por otra parte:

Grado(N(z)) grado(D
grado(Dd(z))

Causalidad
El exceso de polos sobre ceros de Gd(z) debe ser mayor o
igual que el exceso de polos sobre ceros de G(z).

Estabilidad Interna

No se debe haber cancelaciones de polos-ceros inestables entre C(z) y G(z).


La ecuacin caracterstica del sistema es:

Supngase que G(z) tiene un polo inestable:

que se cancela con un cero inestable:

La ecuacin caracterstica quedara:


Raiz
inestable

1. Todos los polos inestables de G(z) deben aparecer como


ceros de 11-Gd(z).
2. Todos los ceros inestables de G(z) deben aparecer como
ceros de Gd(z).

Errores en rgimen permanente

El error de bucle cerrado es:


y en rgimen permanente:

ERP NULO ANTE ESCALN:

ERP ESCALN NULO : Gd(1) = 1


ERP NULO ANTE ESCALN:

ERP ESCALN Y RAMPA NULO :

Esquema del tema


5.1. Discretizacin de controladores PID continuos.
5.1.1. Aproximacin rectangular hacia delante (Euler I).
5.1.2. Aproximacin rectangular hacia atras (Euler II).
5.1.3. Aproximacin bilineal (trapezoidal o Tustin).

5.2. Correspondencias s - z para las aproximaciones de la integral.


5.2.1. Rectangular hacia delante.
5.2.2. Rectangular hacia atrs.
5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.


5.4. Funciones de Matlab tiles.
5.5. Mtodo de diseo directo (Ragazzini-Truxal).
5.5.1. Causalidad.
5.5.2. Estabilidad Interna.
5.5.3. Errores en rgimen permanente.

5.6. Control en un nmero finito de intervalos.

Control en un nmero finito de intervalos. Control


dead-beat

Objetivo: lograr tiempo de establecimiento finito con error en rgimen


permanente nulo.
Gd(z) debe tener respuesta impulsional finita : polinomio de orden N:

Gd(z) tiene todos los polos en cero, la salida llega a cero en N tiempos de
muestreo y el tiempo de establecimiento es de t=NT segundos.
Cuando N toma el valor mnimo posible (n, el orden de G(z))
el control obtenido se llama deaddead-beat.

Gd(z) tomar la forma:

El controlador C(z) ser:

Control en un nmero finito de intervalos. Control


dead-beat

Como Nd(z) se puede tomar:

lo que implica que:

Adems el error en rgimen permanente debe ser nulo:

Siendo

Ejemplo de Ragazzini-Truxal
Sea el sistema discreto:

Se desea calcular un controlador que coloque los polos en z=0 y 0.8


y tenga e.r.p. ante escaln cero.
Al tener exceso de polos sobre ceros igual a 1:

Estabilidad interna: 1-Gd(z) debe tener un cero en z=-2.

Imponiendo el cero en z=-2:

Ejemplo de Ragazzini-Truxal
De lo anterior:

Imponiendo la condicin de e.r.p. nulo,Gd(1)=1:

Usando las dos ecuaciones anteriores:

Por tanto:

De ah:

Ejemplo de Ragazzini-Truxal
Luego:

La ley de control se calculara como:

3
2.5
2
1.5

Sistema de fase no
mnima con cero en 1.11

1
0.5
0
-0.5
-1
-1.5
-2

20

40

60

80

100

120

Ejemplo de control dead-beat


Sea el sistema:

La funcin de transferencia del controlador ser:

0.8

Se alcanza la salida en un
slo tiempo de muestreo

0.6

0.4

0.2

También podría gustarte