Académique Documents
Professionnel Documents
Culture Documents
Automat Ind P6
Automat Ind P6
AUTOMATIZACIÓN
INDUSTRIAL
PRÁCTICA 6:
PROGRAMACIÓN AVANZADA:
CONTROLADOR PID
programación AVANZADA
GGGGGGGGGGGGGGGGGGGGGGG
1
1. INTRODUCCIÓN. CONTROLADORES DE TIPO PID
En esta práctica 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.
• P: efecto proporcional
• I: efecto integral
• D: efecto diferencial
Efecto proporcional:
Genera una acción de control proporcional al error. Es el efecto más corriente y más
intuitivo: si el error es positivo (velocidad excesivamente baja), es necesario aumentar
la tensión sobre el motor para aumentar la velocidad; si es negativo (velocidad
excesiva), será necesario reducir la tensión de entrada al motor. Existe una constante
de proporcionalidad que llamaremos KP que relaciona el error con la acción de control,
de modo que para errores grandes las variaciones de intensidad serán también
grandes. Si llamamos e(t) a la señal de error y u(t) a la acción sobre el sistema (tensión
a aplicar sobre el motor), quedará:
u (t ) =K P ⋅ e(t )
Efecto integral:
En algunos casos, la aplicación de un efecto proporcional no consigue que el sistema
alcance el valor de referencia indicado, aún después de un prolongado periodo de
tiempo. Se dice que el sistema presenta error en régimen permanente. En estos casos
la mejor opción es recurrir a un efecto integral, que no actúa en función del error sino
en función 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 acción de control sobre
el sistema, hasta que la acción sea suficiente para llevar al sistema al punto deseado.
La constante propia del efecto integral se denominará KI, con lo que la relación entre
error y acción de control será:
t
u (t ) =K I ⋅ ∫ e(t ) ⋅ dt
0
Efecto diferencial:
Este efecto busca conseguir un comportamiento más 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 sobreoscilación
excesivos.
YYYYYYYYYYYYYYYYYYYYYYYYYYY
2
sobreoscilación
Para evitar este problema, se introduce un efecto extra que es el efecto diferencial: la
acción de control es proporcional a la derivada de la señal 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 acción de control. La
constante propia de un efecto derivativo se denomina KD; y la expresión resultante
queda:
d
u (t ) =K D ⋅ e(t )
dt
t d
u (t ) =K P ⋅ e(t ) + K I ⋅ ∫ e(t ) ⋅ dt + K D ⋅ e(t )
0 dt
3
8888GGGGGGGGGGGGGGGGGGGGGGGG888888888888888888888888888888888888
8888888888888
2. SISTEMA A CONTROLAR
El sistema a controlar es el conjunto motor eléctrico-freno conocido de asignaturas
previas:
4
3. CONTROL DE VELOCIDAD: CONEXIONADO
El flujo de información entre el autómata encargado del control y el motor eléctrico
para el control de velocidad debe ser el siguiente:
El autómata debe recibir información sobre la velocidad angular a la que gira el eje del
motor y debe enviar al mismo una tensión de accionamiento. Las conexiones a realizar
para ello son las siguientes:
Velocidad angular:
Tensión de accionamiento:
Una vez realizadas las conexiones, no se encenderá la fuente del servomotor hasta que
no se haya configurado y programado el autómata para realizar el control PID de
velocidad.
5
4. CONFIGURACIÓN Y PROGRAMACIÓN DE CONTROLADORES PID
EN LOS AUTÓMATAS S7-1200
El programa de control PID debe realizar las siguientes operaciones:
• Leer de la entrada analógica el valor de la señal 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 analógica el resultado calculado.
Para ello, sobre el árbol del proyecto, dentro de la opción "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 organización" en la columna de la izquierda y, a continuación, 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 Agregación de nuevo bloque con las opciones descritas.
7
• Paso 2. Insertamos en el bloque de interrupción cíclica creado una instrucción
del tipo "PID_Compact". Para ello, podemos arrastrar la instrucción
"PID_Compact" que puede encontrarse en la columna de instrucciones de la
derecha, en el apartado "Tecnología", y dentro de la carpeta "PID Control"-
>"Compact PID", como se muestra en la figura siguiente.
o Setpoint: 3
o Input_PER: IW64
o Output_PER: QW80
8
En la figura siguiente se muestra una imagen del PID con los parámetros
introducidos.
9
• Paso 4. Configuración del PID. Para configurar el PID pulsamos sobre el icono
con forma de maletín en la esquina superior derecha de la instrucción del PID,
como se muestra en la figura siguiente.
10
indica cada cuánto tiempo calcula el controlador PID la señal de
control y se la envía al motor.
• Paso 6. Puesta en servicio del PID. Una vez que está ejecutándose el programa
realizaremos lo siguiente para poner en marcha el controlador:
11
o Aparecerá la ventana de puesta en servicio del PID. En esta ventana
pulsaremos el botón "Start" que aparece en la parte superior izquierda
(empezar medición) y a continuación pulsamos el botón "Start" de la parte
superior derecha (empezar optimización), usando la opción de optimización
inicial. En este momento el autómata comenzará la sintonización
automática 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).
12
5. PRUEBAS A REALIZAR
Una vez que el autómata ha sido capaz de sintonizar correctamente el PID, deberán
anotarse los valores de los parámetros sintonizados del mismo (accesibles en la
ventana de configuración del PID, donde se introdujo el periodo de muestreo)
Una vez los parámetros ajustados para un buen comportamiento, el regulador debe
ser capaz de mantener la velocidad del motor incluso en presencia de perturbaciones.
Una prueba similar se puede efectuar llevando de nuevo el freno a la posición superior
(mínimo frenado). En este caso la velocidad debe aumentar bruscamente pero el
regulador también tiene que actuar reduciendo la tensión a aplicar sobre el motor
para conseguir restablecer la velocidad adecuada. El tiempo que tarde en
restablecerse también indicará si el ajuste de los parámetros es correcto o no.
En esta prueba vamos a variar la referencia de velocidad del PID (Setpoint). Para ello,
introduciremos como parámetro "Setpoint" del PID la variable MD2.
13
Prueba 4. Variación de los parámetros P, I, D del controlador
14
ANEXO: CONECTOR ADAM-3937
A continuación se incluye un listado de todas las conexiones del servomotor accesibles
a través del conector ADAM-3937:
15