Sunteți pe pagina 1din 15

UNIVERSIDAD MIGUEL HERNNDEZ

AUTOMATIZACIN
INDUSTRIAL

PRCTICA 6:

PROGRAMACIN AVANZADA:
CONTROLADOR PID

1
1. INTRODUCCIN. CONTROLADORES DE TIPO PID
En esta prctica se realizar un programa para controlar la velocidad de un motor de
corriente continua ya usado en asignaturas previas. Para controlar el sistema se
utilizar un tipo de controlador de uso muy frecuente: el controlador PID.

En un controlador de tipo PID las iniciales corresponden a:

P: efecto proporcional
I: efecto integral
D: efecto diferencial

El ajuste de controladores de este tipo no es objeto de la asignatura, y se estudiar en


asignaturas posteriores. En esta prctica nos limitaremos a describir brevemente su
funcionamiento y comprobarlo experimentalmente usando los autmatas S7-1200.

Efecto proporcional:
Genera una accin de control proporcional al error. Es el efecto ms corriente y ms
intuitivo: si el error es positivo (velocidad excesivamente baja), es necesario aumentar
la tensin sobre el motor para aumentar la velocidad; si es negativo (velocidad
excesiva), ser necesario reducir la tensin de entrada al motor. Existe una constante
de proporcionalidad que llamaremos KP que relaciona el error con la accin de control,
de modo que para errores grandes las variaciones de intensidad sern tambin
grandes. Si llamamos e(t) a la seal de error y u(t) a la accin sobre el sistema (tensin
a aplicar sobre el motor), quedar:

u (t ) =K P e(t )

Efecto integral:
En algunos casos, la aplicacin de un efecto proporcional no consigue que el sistema
alcance el valor de referencia indicado, an despus de un prolongado periodo de
tiempo. Se dice que el sistema presenta error en rgimen permanente. En estos casos
la mejor opcin es recurrir a un efecto integral, que no acta en funcin del error sino
en funcin de la integral del error. De este modo, mientras la referencia no sea
alcanzada la integral del error no parar de crecer, y con ella la accin de control sobre
el sistema, hasta que la accin sea suficiente para llevar al sistema al punto deseado.
La constante propia del efecto integral se denominar KI, con lo que la relacin entre
error y accin de control ser:

t
u (t ) =K I e(t ) dt
0

Efecto diferencial:
Este efecto busca conseguir un comportamiento ms suave del sistema de control.
Utilizando exclusivamente los efectos anteriores, la forma de alcanzar el valor de
referencia puede ser excesivamente brusca, presentando picos de sobreoscilacin
excesivos.

2
sobreoscilacin

Para evitar este problema, se introduce un efecto extra que es el efecto diferencial: la
accin de control es proporcional a la derivada de la seal de error. Esto evita que el
sistema pase de largo la referencia: si la derivada del error es negativa (nos acercamos
a la referencia), el efecto derivativo frena ligeramente la accin de control. La
constante propia de un efecto derivativo se denomina KD; y la expresin resultante
queda:
d
u (t ) =K D e(t )
dt

Un controlador PID presenta los tres efectos simultneamente:

t d
u (t ) =K P e(t ) + K I e(t ) dt + K D e(t )
0 dt

El ajuste o la sintonizacin de un regulador consiste en elegir los valores para KP, KI y


KD que consiguen un funcionamiento adecuado del sistema (en trminos de tiempo de
respuesta aceptable, pico de sobreoscilacin aceptable, etc). En esta prctica no se
utilizar un procedimiento analtico para llegar a obtener el valor de estos parmetros,
sino que nos limitaremos a comprobar experimentalmente los resultados obtenidos
para distintos valores de cada una de estas variables.

3
2. SISTEMA A CONTROLAR
El sistema a controlar es el conjunto motor elctrico-freno conocido de asignaturas
previas:

Se realizarn experimentos de control de velocidad:

Variable a controlar: velocidad de giro del motor.


Seal de control: tensin aplicada al motor.

En el esquema, E(s) representa la seal de error y es la diferencia entre la velocidad


deseada (referencia) y la velocidad real del motor. La zona marcada con lnea
discontinua representa el autmata programable (S7-1200), en el que se encuentra el
sistema de control (PID) y desde el que se genera la seal de referencia.

4
3. CONTROL DE VELOCIDAD: CONEXIONADO
El flujo de informacin entre el autmata encargado del control y el motor elctrico
para el control de velocidad debe ser el siguiente:

El autmata debe recibir informacin sobre la velocidad angular a la que gira el eje del
motor y debe enviar al mismo una tensin de accionamiento. Las conexiones a realizar
para ello son las siguientes:

Nota: Antes de realizar las conexiones se desconectar la fuente de alimentacin del


servomotor y se pondr el autmata en modo STOP.

Velocidad angular:

Seal borna 'Tacogenerador: seal positiva' de la regleta (pin 35) a la primera


entrada analgica del autmata.
Masa: borna "Fuente de alimentacin: 0V' de la regleta del servomotor (pin
11), o en la propia base del servomotor a la borna de masa de la entrada
analgica del autmata.

Tensin de accionamiento:

Seal borna 'Amplificador: entrada positiva' de la regleta del servomotor (pin


33) al conector de salida analgica del autmata.
Masa: borna "Fuente de alimentacin: 0V' de la regleta del servomotor (pin
11), o en la propia base del servomotor a la borna de masa de la salida
analgica del autmata.

Una vez realizadas las conexiones, no se encender la fuente del servomotor hasta que
no se haya configurado y programado el autmata para realizar el control PID de
velocidad.

5
4. CONFIGURACIN Y PROGRAMACIN DE CONTROLADORES PID
EN LOS AUTMATAS S7-1200
El programa de control PID debe realizar las siguientes operaciones:

Leer de la entrada analgica el valor de la seal que se desea controlar (en este
caso, la velocidad de giro del eje del motor.
Comparar esta medida con la referencia (velocidad deseada) y obtener el error
como resta de los dos valores.
Aplicar el algoritmo de control PID al error, calculando los efectos proporcional,
diferencial (derivada del error) e integral (integral del error).
Escribir en la salida analgica el resultado calculado.

Todas estas operaciones se deben repetir peridicamente, con una frecuencia


ajustable (en principio, se utilizar un periodo de 1 ms).

Dado que se trata de un programa relativamente complejo, el programa TIA Portal


ofrece un asistente que permite generar el programa especificando nicamente los
ajustes deseados: fundamentalmente el periodo de muestreo y valores de las
constantes proporcional, integral y diferencial. Adems, dicho asistente permite
tambin sintonizar o ajustar automticamente los valores de las constantes del
controlador.

A continuacin se describe el procedimiento general a seguir para generar el programa


de control de velocidad del motor. En este procedimiento se supone que se han
realizado las conexiones para el control de velocidad descritas en el apartado anterior
y que se ha creado un proyecto al que se le ha aadido un autmata S7-1200.

Los pasos a seguir son los siguientes:

Paso 1. Aadimos un nuevo bloque de programa de organizacin del tipo


"interrupcin cclica", indicando como tiempo de ciclo 1 ms (periodo de muestreo
del controlador).

Para ello, sobre el rbol del proyecto, dentro de la opcin "Bloques de programa",
hacemos doble click sobre "Agregar nuevo bloque", como se muestra en la figura
siguiente.

6
Aparecer la ventana de "Agregar nuevo bloque" en la que deberemos seleccionar
"Bloque de organizacin" en la columna de la izquierda y, a continuacin, el tipo
"Cyclic interrupt" en la parte central. Introduciremos como tiempo de ciclo 1 ms
(cuadro de texto de la parte derecha). En la figura siguiente se muestra la ventana
de Agregacin de nuevo bloque con las opciones descritas.

7
Paso 2. Insertamos en el bloque de interrupcin cclica creado una instruccin
del tipo "PID_Compact". Para ello, podemos arrastrar la instruccin
"PID_Compact" que puede encontrarse en la columna de instrucciones de la
derecha, en el apartado "Tecnologa", y dentro de la carpeta "PID Control"-
>"Compact PID", como se muestra en la figura siguiente.

Colocaremos esta instruccin en el primer segmento de la interrupcin cclica.


Al colocarlo aparecer una ventana para configurar el bloque de datos (DB) del
PID. En esta ventana no modificaremos ninguna opcin y pulsaremos el botn
Aceptar.

La instruccin PID_Compact sirve para programar un controlador PID general


con optimizacin integrada, que puede usarse en modo automtico y manual

Paso 3. En la instruccin PID_Compact rellenaremos los valores siguientes para


los parmetros:

o Setpoint: 3
o Input_PER: IW64
o Output_PER: QW80

8
En la figura siguiente se muestra una imagen del PID con los parmetros
introducidos.

A continuacin se describen estos tres parmetros:

o Setpoint (parmetro de entrada): es de tipo REAL y representa la


consigna o referencia del controlador PID en modo automtico. En
nuestro caso este valor representar la velocidad de giro deseada del
motor.
o Input_PER (parmetro de entrada de "periferia"): es de tipo WORD y
representa la entrada analgica al controlador PID. En nuestro caso esta
entrada analgica ser la velocidad real de giro del motor, que ser
comparada (restada) con la referencia (el valor Setpoint). Con las
conexiones realizadas en el apartado anterior, el valor real de entrada
analgica se almacena en la direccin IW64 y por este motivo se escribe
esta direccin en el parmetro Input_PER.
o Output_PER (parmetro de salida de "periferia"): es de tipo WORD y
representa la salida analgica del controlador PID. En nuestro caso esta
salida ser la seal de control generada por el PID expresada como el
voltaje necesario para que el motor gire a la velocidad deseada
(Setpoint). Con las conexiones realizadas en el apartado anterior, el
valor de esta salida deber almacenarse en la direccin QW80 y por este
motivo se escribe esta direccin en el parmetro Output_PER.

9
Paso 4. Configuracin del PID. Para configurar el PID pulsamos sobre el icono
con forma de maletn en la esquina superior derecha de la instruccin del PID,
como se muestra en la figura siguiente.

Pulsar para configurar

Aparecer la ventana de configuracin del PID en la que deberemos introducir


los valores siguientes:

o Tipo de regulacin (en "Ajustes bsicos"): Tensin


o Lmite superior del valor real (en "Ajustes del valor real->Lmites del
valor real"): 10.0
o Valor real superior escalado (en "Ajustes del valor real->Escala del
valor real"): 10.0
o Tiempo de muestreo (en "Ajustes avanzados->Parmetros PID"):
0.01 s (para introducir el periodo de muestreo deber activarse la
casilla "Activar entrada manual", escribir el periodo de muestreo y
despus volver a desactivar la casilla "Activar entrada manual").

Explicacin de estos parmetros anteriores:

o Indicamos tipo de regulacin "Tensin" ya que tanto la entrada


como la salida del controlador son tensiones (la tensin de entrada
al autmata es una tensin proporcional a la velocidad de giro).
o El lmite superior del valor real y el valor real escalado tienen valor
10.0 ya que el motor admite como mximo 10 V de entrada.
o Elegimos un periodo de muestreo de 0.01 s, suficientemente
pequeo para que funcione correctamente el controlador. Este valor

10
indica cada cunto tiempo calcula el controlador PID la seal de
control y se la enva al motor.

Paso 5. Compilamos y cargamos el programa en el autmata de la forma habitual


(hardware y software) y ponemos el autmata en modo RUN.

Paso 6. Puesta en servicio del PID. Una vez que est ejecutndose el programa
realizaremos lo siguiente para poner en marcha el controlador:

o Encendemos la fuente del motor y colocamos el freno en la posicin


superior (mnimo frenado).
o Hacemos doble click sobre la opcin "Puesta en servicio", que se encuentra
en el rbol del proyecto dentro de la opcin "Objetos tecnolgicos-
>PID_Compact1", como se muestra en la figura siguiente.

11
o Aparecer la ventana de puesta en servicio del PID. En esta ventana
pulsaremos el botn "Start" que aparece en la parte superior izquierda
(empezar medicin) y a continuacin pulsamos el botn "Start" de la parte
superior derecha (empezar optimizacin), usando la opcin de optimizacin
inicial. En este momento el autmata comenzar la sintonizacin
automtica del PID (el motor se mover) y, si se sintoniza correctamente,
veremos que el motor se mueve a la velocidad indicada como referencia
previamente (Setpoint).

Si aparece un error indicando "Error al iniciar la optimizacin inicial. El valor


real est demasiado cerca de la consigna" entonces deberemos iniciar la
optimizacin fina.

Si el autmata no es capaz de sintonizar el PID entonces volveremos a


pulsar el botn de optimizar pero eligiendo la opcin "optimizacin fina". Si
con esta opcin no se consigue sintonizar el PID, se volver a repetir el
proceso de optimizacin inicial.

12
5. PRUEBAS A REALIZAR

Prueba 1. Anotacin de los valores de las contantes del PID sintonizado

Una vez que el autmata ha sido capaz de sintonizar correctamente el PID, debern
anotarse los valores de los parmetros sintonizados del mismo (accesibles en la
ventana de configuracin del PID, donde se introdujo el periodo de muestreo)

Adems, se propone realizar algunas pruebas adicionales para comprobar de forma


experimental el funcionamiento del controlador.

Prueba 2. Introduccin de perturbaciones (freno)

Una vez los parmetros ajustados para un buen comportamiento, el regulador debe
ser capaz de mantener la velocidad del motor incluso en presencia de perturbaciones.

Se realizar el siguiente experimento: se esperar hasta que la referencia de velocidad


se haya alcanzado. En ese momento, se aplicar completamente el freno del motor. El
resultado debe ser que la velocidad descienda durante unos instantes, pero acabe
restablecindose gracias al efecto del regulador, que aumenta la tensin a aplicar al
motor. El tiempo que tarde en restablecerse indicar el correcto o incorrecto ajuste de
los parmetros.

Una prueba similar se puede efectuar llevando de nuevo el freno a la posicin superior
(mnimo frenado). En este caso la velocidad debe aumentar bruscamente pero el
regulador tambin tiene que actuar reduciendo la tensin a aplicar sobre el motor
para conseguir restablecer la velocidad adecuada. El tiempo que tarde en
restablecerse tambin indicar si el ajuste de los parmetros es correcto o no.

Prueba 3. Introduccin de distintas referencias en forma de escaln

En esta prueba vamos a variar la referencia de velocidad del PID (Setpoint). Para ello,
introduciremos como parmetro "Setpoint" del PID la variable MD2.

A continuacin agregamos una tabla de observacin y forzado, introducimos la


variable MD2, con visualizacin DEC (decimal). Usando esta tabla de forzado,
variaremos el valor de MD2 de 3 a 0 y de 0 a 3, para comprobar la respuesta del
sistema controlado ante una entrada escaln.

13
Prueba 4. Variacin de los parmetros P, I, D del controlador

Usando la variable MD2 introducida en el paso anterior, en esta prueba vamos a


comprobar el efecto que tiene variar los parmetros del controlador PID. Para ello, se
propone realizar los experimentos siguientes:

o Cambiar el valor del parmetro "Ganancia proporcional" (valores grandes y


valores pequeos) y comprobar el efecto que tiene sobre el
comportamiento del sistema (aplicando escalones de entrada de 0 a 3 y de
3 a 0).
o Cambiar el valor del parmetro "Tiempo de integracin" (valores grandes y
valores pequeos) y comprobar el efecto que tiene sobre el
comportamiento del sistema (aplicando escalones de entrada de 0 a 3 y de
3 a 0).
o Cambiar el valor del parmetro "Tiempo derivativo" (valores grandes y
valores pequeos) y comprobar el efecto que tiene sobre el
comportamiento del sistema (aplicando escalones de entrada de 0 a 3 y de
3 a 0).

14
ANEXO: CONECTOR ADAM-3937
A continuacin se incluye un listado de todas las conexiones del servomotor accesibles
a travs del conector ADAM-3937:

15

S-ar putea să vă placă și