tema 6. diseño de controladores discretos - control...

Post on 21-Sep-2018

224 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tema 6. Diseño de controladores discretos

Daniel Rodríguez RamírezTeodoro Alamo Cantarero

Ingeniería de Control

Contextualización 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 expresión en z.– Saber usar el método de diseño directo para diseñar un controlador

discreto sin partir de uno continuo.– Conocer el control en un número finito de intervalos y sus limitaciones.

Esquema del tema

5.1. Discretización de controladores PID continuos.

5.1.1. Aproximación rectangular hacia delante (Euler I).

5.1.2. Aproximación rectangular hacia atras (Euler II).

5.1.3. Aproximación 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 atrás.

5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.

5.4. Funciones de Matlab útiles.

5.5. Método de diseño directo (Ragazzini-Truxal).

5.5.1. Causalidad.

5.5.2. Estabilidad Interna.

5.5.3. Errores en régimen permanente.

5.6. Control en un número finito de intervalos.

Discretización 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 más común es el del PID:

• Existen diversos métodos de sintonía, como el de Ziegler-Nichols:

• El punto crítico es la técnica empleada para la aproximación:– Euler I y II.– Tustin.

Aproximación rectangular hacia delante (Euler I)

• La derivada se aproxima por:

• El término integral:

• La expresión del PID queda:

KK-1

T

e(t)

t

Aproximación rectangular hacia delante (Euler I)• Retrasando la expresión de la aproximación del PID:

y restándosela a la original se obtiene:

• Aplicando la transformada Z se obtiene la función de transferencia del controlador:

Aproximación rectangular hacia delante (Euler I)

• El código de programa que implementaría el controlador sería:

1. Esperar a que se cumpla el tiempo de muestreo T.2. Leer yk.3. Calcular ek = rk - yk.4. Calcular uk según la expresión:

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

Aproximación rectangular hacia atrás (Euler II)

• En este caso la integral se aproxima por:

• Se llega a: KK-1

T

t

Aproximación bilineal (trapezoidal o Tustin)

• En el caso de la aproximación bilineal la integral se calcula mediante:

KK-1

T

e(t)

t

Es la mejor aproximaciónEs la mejor aproximaciónEs la mejor aproximaciónEs la mejor aproximación

Ejemplo de discretización de PID

• Sea el sistema:

Diseñar un PID usando Z-N y discretizar usando T=0.1 segundos. • Los parámetros del PID continuo son:

0 2 4 6 8 100

0.5

1

1.5

2

0 2 4 6 8 10-1

0

1

2

3

4

0 2 4 6 8 100

0.5

1

1.5

2

0 2 4 6 8 10-2

0

2

4

6

Tustin

Euler I

Esquema del tema

5.1. Discretización de controladores PID continuos.

5.1.1. Aproximación rectangular hacia delante (Euler I).

5.1.2. Aproximación rectangular hacia atras (Euler II).

5.1.3. Aproximación 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 atrás.

5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.

5.4. Funciones de Matlab útiles.

5.5. Método de diseño directo (Ragazzini-Truxal).

5.5.1. Causalidad.

5.5.2. Estabilidad Interna.

5.5.3. Errores en régimen permanente.

5.6. Control en un número finito de intervalos.

Correspondencia s - z para la aproximación de la integral

• Las aproximaciones vistas se corresponden con una sustitución de la “s” por una función de z en la función de transferencia.

• Partimos de un ejemplo:

• En el dominio del tiempo:

• Obtenemos el valor de u(kT):

A

K

e(t)

tIntegral de Integral de Integral de Integral de ----auauauau(t) +(t) +(t) +(t) +aeaeaeae(t) entre (k(t) entre (k(t) entre (k(t) entre (k----1)T y 1)T y 1)T y 1)T y kTkTkTkT

Correspondencia s - z para la aproximación de la integral

Aproximación rectangular hacia delante• Se cumple que u(t) = u((k-1)T) en todo el intervalo:

• Teniendo en cuenta que:

se llega a:

• Tomando la transformada z:

• Luego:

KK-1

T

e(t)

t

Correspondencia s - z para la aproximación de la integral

Aproximación rectangular hacia atrás• Se cumple que u(t) = u(kT) en todo el intervalo.• En este caso:

• Teniendo en cuenta que:

se llega a:

• Aplicando la transformada z:

KK-1

T

t

Correspondencia s $ z para la aproximación de la integral

Trapezoidal o BilinealTrapezoidal o BilinealTrapezoidal o BilinealTrapezoidal o Bilineal• En este caso u(t) a lo largo del intervalo vale:

• Esto implica:

• Llevándolo a:

se obtiene:

• Aplicando transformada z:

KK-1

T

e(t)

t

Esquema del tema

5.1. Discretización de controladores PID continuos.

5.1.1. Aproximación rectangular hacia delante (Euler I).

5.1.2. Aproximación rectangular hacia atras (Euler II).

5.1.3. Aproximación 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 atrás.

5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.

5.4. Funciones de Matlab útiles.

5.5. Método de diseño directo (Ragazzini-Truxal).

5.5.1. Causalidad.

5.5.2. Estabilidad Interna.

5.5.3. Errores en régimen permanente.

5.6. Control en un número finito de intervalos.

Estabilidad de las aproximaciones

• ¿ Como se transforma la región de estabilidad en continuo al aplicar las aproximaciones vistas ?

Rectangular hacia delante

La aproximación es z = Ts+1

Controladores estables en continuo Controladores estables en continuo Controladores estables en continuo Controladores estables en continuo pueden resultar inestables en discreto.pueden resultar inestables en discreto.pueden resultar inestables en discreto.pueden resultar inestables en discreto.

Estabilidad de las aproximacionesBilineal o Tustin

• La aproximación es:

• La aproximación es:

Rectangular hacia atrás

La bilineal es La bilineal es La bilineal es La bilineal es la mejorla mejorla mejorla mejor

0 1 2 3 4 5 6 7

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 2 4 6 8 10 120

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Ejemplo de estabilidad de las aproximaciones

• Sea

• Usando un tiempo de muestreo de 0.3 segundos:

Tustin

Euler Adelante

Euler Atrás

Ejemplo discretización de un controlador• Dado

Discretizarlo con T=0.1 segundos usando Euler hacia delante.

• La aproximación es:

llevándola a Gc(s):

• La versión implementable es:

Esquema del tema

5.1. Discretización de controladores PID continuos.

5.1.1. Aproximación rectangular hacia delante (Euler I).

5.1.2. Aproximación rectangular hacia atras (Euler II).

5.1.3. Aproximación 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 atrás.

5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.

5.4. Funciones de Matlab útiles.

5.5. Método de diseño directo (Ragazzini-Truxal).

5.5.1. Causalidad.

5.5.2. Estabilidad Interna.

5.5.3. Errores en régimen permanente.

5.6. Control en un número 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 aproximación

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 descripción con ss y después se vuelva a poner en función de transferencia.

• Gb = tf(bilin(ss(G),1,‘bwdrec',0.3)) � Devuelve la aproximación Euler hacia atrás.

• Gtu = tf(bilin(ss(G),1,’Tustin',0.3)) � Devuelve la aproximación Tustin.

Esquema del tema

5.1. Discretización de controladores PID continuos.

5.1.1. Aproximación rectangular hacia delante (Euler I).

5.1.2. Aproximación rectangular hacia atras (Euler II).

5.1.3. Aproximación 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 atrás.

5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.

5.4. Funciones de Matlab útiles.

5.5. Método de diseño directo (Ragazzini-Truxal).

5.5.1. Causalidad.

5.5.2. Estabilidad Interna.

5.5.3. Errores en régimen permanente.

5.6. Control en un número finito de intervalos.

Método de diseño de Ragazzini-Truxal

• Es una alternativa a la discretización de controladores, se diseña directamente en discreto.

• Se imponen condiciones a la función de transferencia del controlador y a la de bucle cerrado.

• La idea es obtener una función de bucle cerrado deseada Gd(z) y a partir de ahí obtener el controlador necesario.

• La función de bucle cerrado deseada será igual a:

• Despejando C(z):

• C(z) puede ser no implementable � se imponen condiciones:– Causalidad.– Estabilidad interna.– Errores en régimen permanente.

Condición 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(N(z)) Grado(N(z)) Grado(N(z)) · grado(grado(grado(grado(DDDDdddd(z))(z))(z))(z))

CausalidadCausalidadCausalidadCausalidad

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 ecuación característica del sistema es:

• Supóngase que G(z) tiene un polo inestable:

que se cancela con un cero inestable:

• La ecuación característica quedaría:

1.1.1.1. Todos los polos inestables de G(z) deben aparecer como Todos los polos inestables de G(z) deben aparecer como Todos los polos inestables de G(z) deben aparecer como Todos los polos inestables de G(z) deben aparecer como ceros de 1ceros de 1ceros de 1ceros de 1----GGGGdddd(z). (z). (z). (z).

2.2.2.2. Todos los ceros inestables de G(z) deben aparecer como Todos los ceros inestables de G(z) deben aparecer como Todos los ceros inestables de G(z) deben aparecer como Todos los ceros inestables de G(z) deben aparecer como ceros de Gceros de Gceros de Gceros de Gdddd(z).(z).(z).(z).

Raiz Raiz Raiz Raiz inestableinestableinestableinestable

Errores en régimen permanente• El error de bucle cerrado es:

y en régimen permanente:

ERP NULO ANTE ESCALÓN:ERP NULO ANTE ESCALÓN:ERP NULO ANTE ESCALÓN:ERP NULO ANTE ESCALÓN:

ERP ESCALÓN NULO ERP ESCALÓN NULO ERP ESCALÓN NULO ERP ESCALÓN NULO : GGGGdddd(1) = 1(1) = 1(1) = 1(1) = 1

ERP NULO ANTE ESCALÓN:ERP NULO ANTE ESCALÓN:ERP NULO ANTE ESCALÓN:ERP NULO ANTE ESCALÓN:

ERP ESCALÓN Y RAMPA NULO ERP ESCALÓN Y RAMPA NULO ERP ESCALÓN Y RAMPA NULO ERP ESCALÓN Y RAMPA NULO :

Esquema del tema

5.1. Discretización de controladores PID continuos.

5.1.1. Aproximación rectangular hacia delante (Euler I).

5.1.2. Aproximación rectangular hacia atras (Euler II).

5.1.3. Aproximación 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 atrás.

5.2.3. Trapezoidal o Bilineal.

5.3. Estabilidad de las aproximaciones.

5.4. Funciones de Matlab útiles.

5.5. Método de diseño directo (Ragazzini-Truxal).

5.5.1. Causalidad.

5.5.2. Estabilidad Interna.

5.5.3. Errores en régimen permanente.

5.6. Control en un número finito de intervalos.

Control en un número finito de intervalos. Control dead-beat

• Objetivo: lograr tiempo de establecimiento finito con error en régimen 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.

• Gd(z) tomará la forma:

• El controlador C(z) será:

Cuando N toma el valor mínimo posible (n, el orden de G(z)) Cuando N toma el valor mínimo posible (n, el orden de G(z)) Cuando N toma el valor mínimo posible (n, el orden de G(z)) Cuando N toma el valor mínimo posible (n, el orden de G(z)) el control obtenido se llama deadel control obtenido se llama deadel control obtenido se llama deadel control obtenido se llama dead----beat.beat.beat.beat.

Control en un número finito de intervalos. Control dead-beat

• Como Nd(z) se puede tomar:

lo que implica que:

• Además el error en régimen 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 escalón 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 condición 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 calcularía como:

0 20 40 60 80 100 120-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

Sistema de fase no Sistema de fase no Sistema de fase no Sistema de fase no mínima con cero en 1.11mínima con cero en 1.11mínima con cero en 1.11mínima con cero en 1.11

Ejemplo de control dead-beat

• Sea el sistema:

• La función de transferencia del controlador será:

0 1 2 3 4 50

0.2

0.4

0.6

0.8

1

Se alcanza la salida en un Se alcanza la salida en un Se alcanza la salida en un Se alcanza la salida en un sólo tiempo de muestreosólo tiempo de muestreosólo tiempo de muestreosólo tiempo de muestreo

top related