Вы находитесь на странице: 1из 5

Control Digital

Prctica de Regulacin Automtica I a o a

Abel Alberto Cuadrado Vega 24 de mayo de 2004

1.

Esquema de control digital

El esquema bsico del control digital (gura 2) es semejante al del control a analgico (gura 1) salvo por el hecho de que el conjunto comparador-regulador o se encuentra dentro de un computador. Dicho conjunto comparador-regulador forma parte de un programa dentro del computador. El comparador no es ms que una resta entre dos variables y el a regulador es una serie de productos y sumas. Para unir este mbito de nmeros a u dentro de un programa al mbito f a sico del sistema a controlar se necesita una interfaz. Esa es la labor que realizan precisamente los dos elementos nuevos que aparecen en el esquema del control digital respecto al del control analgico: el o conversor digital/analgico (D/A) y el conversor analgico digital (A/D). El o o conversor D/A sirve para convertir el valor de la accin de control calculado o dentro del programa en una seal f n sica (elctrica) que acta sobre el proceso. A e u su vez el conversor A/D sirve para convertir la seal que proporciona el sensor n (elctrica) en un nmero dentro del programa. e u

2.

Se ales digitales n

En un sistema continuo (analgico) las seales vienen representadas por o n funciones cont nuas (gura 3(a)). En un sistema discreto (digital) sin embargo,

referencia

error REGULADOR

accin de control

PROCESO

salida

SENSOR

Figura 1: Esquema de control con regulador continuo (analgico) o 1

referencia

error REGULADOR

CONV. D/A

accin de control

salida PROCESO

CONV. A/D

SENSOR

COMPUTADOR

TARJETA AD/DA

Figura 2: Esquema de control con regulador discreto (digital) se representan como secuencias discretas (gura 3(b)). En el caso que nos ocupa, esas secuencias discretas son una serie de nmeros que provienen de tomar los u valores instantneos de seales analgicas en instantes de tiempo concretos. Es a n o lo que se denomina muestreo. Esos instantes suelen estar equiespaciados por un tiempo T que se denomina periodo de muestreo. A cada uno de los valores se les denomina muestras y se identican por su nmero de muestra k. En la gura u 3(b) se observa una secuencia yk = {y0 , y1 , y2 , . . .}, que proviene de una seal n analgica y(t) (gura 3(a)), con la relacin entre muestra k e instante de tiempo o o kT . La eleccin del periodo de muestreo es muy importante puesto que un valor o demasiado grande hace que se pierda informacin cuando se muestrean seales o n rpidas (guras 3(c) y 3(d)), que en el caso de tratarse de un problema de control a provendrn de sistemas rpidos. a a

3.

Modelos de sistemas discretos

Al igual que un modelo de un sistema continuo (lineal e invariante) est rea presentado por una ecuacin diferencial: o an dn y(t) dm u(t) dy(t) du(t) + . . . + a1 + . . . + b1 + a0 y(t) = bm + b0 u(t) n dt dt dtm dt

un modelo de un sistema discreto viene dado por su ecuacin en diferencias: o an ykn + . . . + a1 yk1 + a0 yk = bm ukm + . . . + b1 uk1 + b0 uk donde se observa que las muestras para distintos instantes de muestreo yk , yk1 , . . . , uk , uk1 , . . . desempean en la ecuacin en diferencias el mismo papel que las derivadas en n o las ecuaciones diferenciales de los sistemas continuos.

Seal discreta (digital)

Seal analgica (continua)


y

y(t)

1 T

2 2T

3 3T

4 4T

5 5T

6 6T

7 7T

8 8T

9 9T

10 10T

k t

(a) Se al analgica representada por funcin n o o continua


Aliasing y

(b) Seal digital representada por secuencia n discreta Aliasing


y

0 0

1 T

2 2T

3 3T

4 4T

5 5T

6 6T

7 7T

8 8T

9 9T

10 10T

k t

0 0

3 3T

6 6T

9 9T

12

15

18

21

24

27

30

k t

12T 15T 18T 21T 24T 27T 30T

(c) Efecto aliasing

(d) Disminucin de periodo de muestreo pao ra evitar el efecto aliasing

Al igual que en los sistemas continuos podemos obtener la funcin de transo ferencia a partir de la ecuacin diferencial por medio de la Transformada de o Laplace teniendo en cuenta que: dn y(t) dtn para obtener: Y (s) bm sm + . . . + b1 s + b0 = U (s) an sn + . . . + a1 s + a0 en los sistemas discretos podemos obtener su funcin de transferencia a partir o de la ecuacin en diferencias y por medio de la Transformada en Z, sin ms que o a tener en cuenta: ykn z n Y (z) con lo que obtenemos la funcin de transferencia: o Y (z) bm z m + . . . + b1 z 1 + b0 = U (z) an z n + . . . + a1 z 1 + a0 sn Y (s)

4.

Dise o de reguladores digitales n


Existen dos enfoques a la hora de realizar el diseo de un regulador discreto: n

1. Disear directamente en z: trabajar con sistemas discretos y mtodon e log aplicables a los mismos. as 3

2. Disear en s y pasar a z: se pueden aplicar todos los conocimientos de n sistemas continuos para obtener un regulador continuo y luego convertir ese regulador continuo en uno discreto (discretizar).

4.1.

Discretizacin de reguladores continuos o

Para obtener la versin discreta de un sistema continuo se dispone, a grandes o rasgos, de dos posibilidades: Mtodo exacto: tener en cuenta la relacin z = esT . e o Mtodos aproximados: por ejemplo el de la derivada. e El ms sencillo es el mtodo de la derivada, que consiste en aproximar la derivada a e por la pendiente de la recta que pasa por dos muestras consecutivas, con lo cual tenemos: dy(t) yk yk1 dt T que visto en sus correspondientes transformadas se convierte en: sY (s) 1 z 1 Y (z) T

Por lo tanto para obtener el regulador discreto a partir del continuo basta sus1 tituir en la funcin de transferencia las s por 1z . o T

4.2.

Regulador PID discreto

De acuerdo a lo visto en el punto anterior, podemos obtener un PID discreto a partir de la versin continua, que es: o U (s) 1 =K 1+ + sTd E(s) Ti s Realizando la sustitucin de las s por 1z y operando, nalmente obtenemos o T la funcin de transferencia del PID discreto obtenido por la aproximacin de la o o derivada: T K 1 + Ti + Td 1 + 2 Td z 1 + Td z 2 T T T U (z) = 1 E(z) 1z que pasada a ecuacin en diferencias es: o uk = b0 ek + b1 ek1 + b2 ek2 + uk1 donde los coecientes b valen: b0 b1 b2 Td T + Ti T Td = K 1 + 2 T Td = K T = K 1+ 4 (1) (2) (3)
1

5.

Implementacin software de un regulador diso creto

La implementacin de un regulador discreto (consideremos el PID discreto o del apartado anterior) consiste en repetir cada T segundos el siguiente algoritmo: 1. El conversor A/D toma el valor de la salida del sistema a regular en el periodo actual k, es decir, el valor de yk . 2. Se calcula el error para el periodo actual k, es decir ek , como diferencia de la referencia rk y la salida del sistema yk : ek = rk yk . 3. Se calcula la accin de control para el periodo actual k, es decir uk , como o resultado de la ecuacin uk = b0 ek + b1 ek1 + b2 ek2 + uk1 , donde se o observa que se usa el error que hubo en los dos periodos de muestreo anteriores al actual, ek1 y ek2 , y la accin de control del periodo de muestreo o anterior, uk1 , todos los cuales debemos haber almacenado previamente. 4. El conversor D/A da como salida de tensin el valor dado por la accin o o de control uk . 5. Se incrementa k. Este algoritmo se podr expresar en lenguaje C como la siguiente funcin, que a o sera llamada por un temporizador cada T segundos:
float y=0.0, ref=0.0; float e[NMAX+1], u[NMAX+1]; float a[NMAX+1], b[NMAX+1]; long int k=0; int n; void Regulador(void) { y=LecturaConversorAD(); e[0] = ref - y; /* salida y referencia */ /* error y accion de control */ /* parametros del regulador */ /* orden del regulador */

/* Se toma valor en el conversor A/D */ /* Se calcula el error */

u[0] = b[0]*e[0]; /* Se calcula la accion de control */ for (i=1; i <= n; i++) u[0] = u[0] + b[i]*e[i] - a[i]*u[i]; if (u[0] > 4.9976) u[0] = 4.9976; else if (u[0] < -5.0) u[0] =-5.0; /* Tener en cuenta la saturacion */

/* Salida de accion de control por conversor D/A */ EscrituraConversorDA(u[0]); for (i=0; i < n; i++) {/* Se actualizan valores para el siguiente ciclo */ u[n-i] = u[n-i-1]; e[n-i] = e[n-i-1]; } k++; }