Você está na página 1de 29

UNIVERSIDAD DE ORIENTE

NCLEO ANZOATEGUI
ESCUELA DE INGENIERIA Y CIENCIAS APLICADAS
DEPARTAMENTO DE ELECTRICIDAD
ASIGNATURA: AUTOMATIZACION Y CONTROL DE PROCESOS
SECCION: 20

















PROFESOR: BACHILLER:

Danilo Navarro Jos B. Lindner
C.I.: 20.358.436

Julio, 2014
TUTORIAL DE MODELACIN

1. Sistema del Tren
2. Diagrama de Cuerpo Libre y Ley de Newton
3. Variables de Estado y Ecuaciones de salida
4. Representacin en Matlab

Matlab puede utilizarse para representar un sistema fsico o un modelo. Para
iniciarlo, empecemos con una revisin de como representar un sistema fsico
mediante un conjunto de ecuaciones diferenciales.

SISTEMA DEL TREN

En este ejemplo, un tren que consiste en un motor y un vagn. Asumiendo que el
tren solo viaja en una direccin, queremos aplicar un control al tren de manera que
este posea un arranque y parada suaves, as como una marcha a velocidad constante.

La masa del motor y del vagn puede representarse por M1 y M2, respectivamente.
Ambos estn fijados mediante un resorte, el cual posee un coeficiente de rigidez k. F
representa la fuerza aplicada por el motor, y la letra griega mu (representada por la
letra u), representa el coeficiente de friccin.





DIAGRAMA DE CUERPO LIBRE Y LEY DE NEWTON

El sistema puede representarse por los siguientes diagramas de cuerpo libre






De la ley de Newton, se saber que la suma de fuerzas que actan sobre una masa es
igual a la masa por su aceleracin. En este caso las fuerzas que actan sobre la masa
M1 son el resorte, la friccin y la fuerza debida al motor. Las fuerzas actuantes
sobre la masa M2 son debidas al resorte y a la friccin. En la direccin vertical, la
fuerza de gravedad se cancela por la fuerza normal de reaccin aplicada por el suelo,
as no habr aceleracin en la direccin vertical. Las ecuaciones del movimiento en
la direccin horizontal, son las siguientes:



ECUACIONES EN VARIABLE DE ESTADO Y SALIDA
Este conjunto de ecuaciones del sistema puede manipularse ahora en la forma
variable de estado. Sabiendo que las variables de estado son X1 y X2, y que la salida
es F, las ecuaciones en variable de estado se vern como sigue:



Si elegimos que la salida del sistema sea la velocidad del motor, entonces la
ecuacin de salida queda:



1. Funcin de Transferencia

Para hallar la funcin de transferencia del sistema tomemos la transformada de
Laplace en las ecuaciones en variable de estado arriba.

()

()

()

()

()

()

()

()

()

()

()

()

()
()

()

Usado estas ecuaciones, derivemos la funcin de transferencia (())(()) en
trminos de constantes. Para hallar la funcin de transferencia, debe asumirse
condiciones iniciales nulas CIN. La funcin de transferencia encontrada debera
ser as:

()
()

()

) (

)


REPRESENTACIN EN MATLAB

En la lnea de comandos o work-space del MatLab, asignaremos valores numricos
a cada una de las siguientes variables:

M1 = 1 kg
M2 = 0,5 kg
k = 1


F = 1 N
u = 0,002


g = 9,8




Para ello agregue los siguientes comandos (observe los espacios en los miembros
tanto del num como del den y relacinelo con la funcin de transferencia del
sistema):









EJEMPLO: VELOCIDAD DEL MOTOR DE CC:
MODELACIN

1. Reconocimiento fsico y sistema de ecuaciones
2. Requerimientos de diseo
3. Representacin en MatLab y respuesta a lazo abierto

RECONOCIMIENTO FSICO Y SISTEMA DE ECUACIONES

El motor de CC es un actuador comn en control sistemas. Provee movimiento
rotatorio directamente y, acoplado con ruedas dentadas o poleas y cables, puede
proveer movimiento transicional. El circuito elctrico de la armadura y el diagrama
del cuerpo libre del rotor se muestran en la siguiente figura:








Para este ejemplo, asumimos los valores siguientes para los parmetros fsicos.
Estos valores se derivaron experimentalmente de un motor real del laboratorio de
control para alumnos de grado de Carnegie Mellon.

Momento de inercia del rotor (J) = 0,01


Coeficiente de amortiguamiento del sistema mecnico (b) = 0,1 Nms
Constante de Fuerza Electromotriz (K=

) = 0,01


Resistencia elctrica (R) = 1 ohm
Inductancia elctrica (L) = 0,5 H
Entrada (V) = Fuente de Tensin
Salida () = posicin del eje
El rotor y el eje se consideran rgidos

El torque del motor, T, se relaciona con la corriente de la armadura, i, por un factor
de velocidad constante

. La fuerza contralectromotriz (emf), e, se relaciona con la


velocidad de rotacin mediante las siguientes ecuaciones.



En unidades del sistema internacional SI (las que usaremos), la

(constante de
armadura) es igual a

(constante del motor).



De la figura de arriba podemos escribir las siguientes ecuaciones basadas en la ley
de Newton combinado con la ley de Kirchhoff:



1. Funcin de Transferencia

Usando Transformadas de Laplace, las ecuaciones del modelo de arriba pueden
expresarse en trminos de s.
( )() ()

( )()

()

Eliminando I(s) podemos obtener la siguiente funcin de transferencia a lazo
abierto, donde la velocidad de rotacin es la salida y el voltaje es la entrada.

()()



REQUERIMIENTOS DE DISEO

Primero, el motor sin compensar puede rotar solo a 0,1 rad/seg con una tensin de
entrada de 1 Volt (esto se demostrar luego cuando se simule la respuesta a lazo
abierto). Como el requerimiento ms bsico de un motor es que debe rotar a la
velocidad deseada, el error de estado estacionario de la velocidad del motor debe ser
menor que 1%. El otro requerimiento de performance es que el motor debe
acelerarse hasta su velocidad de estado estacionario apenas se encienda. En este
caso, queremos tener un tiempo de establecimiento de 2 segundos. Como una
velocidad mayor que la referencia podra daar el equipo, queremos tener un
sobrepico menor que 5%.

Si simulamos la entrada de referencia (r) con una entrada escaln unitario, entonces
la salida velocidad del motor debera tener:

Tiempo de establecimiento menor que 2 segundos
Sobrepico menor que 5%
Error de estado estacionario menor que 1%

REPRESENTACIN EN MATLAB Y RESPUESTA A LAZO ABIERTO

1. Funcin de Transferencia

Podemos representar la funcin de transferencia anterior en MatLab definiendo
las matrices numerador y denominador como sigue:


( )( )



Cree un nuevo archivo-m e ingrese los siguientes comandos:

J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
num = K;
den = [ (J*L) ((J*R)+(L*b)) ((b*R) +

) ];

Ahora veamos que hace el sistema original a lazo abierto. Agregue los
siguientes comandos al final del archivo-m y ejectelo en la ventana de
comando del MatLab:

step(num,den, 0:0,1:3)
title(Respuesta al Escaln del sistema de lazo abierto)

Deber obtenerse la figura siguiente:

















De la figura vemos que cuando se aplica 1 volt al sistema, el motor puede lograr
solo una velocidad mxima de 0.1 rad/seg., diez veces menor que la velocidad
deseada.

Adems, el motor tiene 3 segundos para alcanzar su velocidad de estado
estacionario; esto no satisface los 2 segundos del criterio de tiempo de
establecimiento.






TUTORIAL PID

1. Introduccin
2. El controlador de tres trminos
3. Las caractersticas de controladores P, I, y D
4. Problema Ejemplo
5. Respuesta a lazo abierto al escaln
6. Control proporcional
7. Control Proporcional-Derivativo
8. Control Proporcional-Integral
9. Control Proporcional-Integral-Derivativo
10. Sugerencias generales para el diseo del controlador PID

Los comandos de Matlab usados en este tutorial son: step cloop
Nota: Los comandos Matlab de la toolbox de control de sistema se destacan en rojo.

INTRODUCCIN

Este tutorial le mostrara las caractersticas de los controladores proporcional (P),
integral (I), derivativo (D), y como usarlos para obtener una respuesta deseada. En
esta gua, consideremos el siguiente sistema de realimentacin unitaria:








Planta: Sistema a controlar

Controlador: Provee la excitacin de la planta; se disea para controlar el
comportamiento de todo sistema

EL CONTROLADOR DE TRES TRMINOS

La funcin de transferencia del controlador PID es:



Kp = Ganancia Proporcional
Ki = Ganancia Integral
Kd = Ganancia Derivativa

Primero, echemos un vistazo a cmo trabaja el controlador PID en un sistema de
lazo cerrado usando el esquema de abajo. La variable (e) representa un error de
seguimiento, que es la diferencia entre el valor deseado de la entrada (R) y la salida
real (Y). Esta seal de error (e) ser enviada al controlador PID, y este calculara
tanto la derivada cuanto la integral de esta seal de error. La seal (u) recin salida
del controlador es ahora igual a la ganancia proporcional (Kp) veces la magnitud del
error ms la ganancia integral (Ki) veces la integral de esta seal de error, ms la
seal derivativa (Kd) veces la derivada del error.



La seal (u) se enviar a la planta, y se obtendr la nueva salida (Y). Esta nueva
salida (Y) se re-enviar al sensor para hallar la nueva seal de error (e). El
controlador toma esta nueva seal de error y computar su derivada y su integral
otra vez. Este proceso sigue sin parar.

LAS CARACTERSTICAS DE LOS CONTROLADORES
P, I, Y D

Un controlador proporcional (Kp) tendr el efecto de reducir el tiempo de elevacin
y reducir, sin jams eliminar, el error de estado estacionario. Un control integral
(Ki) tendr el efecto de eliminar el error de estado estacionario, pero puede
empeorar la respuesta transitoria. Un control derivativo (Kd) tendr el efecto de
incrementar la estabilidad del sistema, reduciendo el sobrepico, y mejorando la
respuesta transitoria. Los efectos de cada uno de los controladores Kp, Kd, y Ki en
un sistema a lazo cerrado se resumen en la tabla de abajo.


Note que estas correlaciones podran no ser exactamente seguras, porque Kp, Ki, y
Kd son dependientes entre s. De hecho, cambiando una de estas variables se puede
variar el efecto de las otras dos. Por esta razn, la tabla deber usarse nicamente
como referencia cuando se determina los valores de Ki, Kp y Kd.
Parmetro
Tiempo de
Subida
Sobrepico
Mximo
Tiempo de
establecimiento
Error de
Estado
Estacionario
Kp Baja Sube Poco Cambio Baja
Ki Baja Sube Sube Elimina
Kd Poco Cambio Baja Baja
Poco
Cambio
PROBLEMA EJEMPLO

Suponga que tenemos un problema de masa simple, resorte, y amortiguador


La ecuacin de modelo de este sistema es
(1)
Tomando transformada de Laplace de la ecuacin del modelo (1)

() () () ()
La funcin de transferencia entre el desplazamiento X(s) y la entrada F(s) es
entonces
()
()



Sea

M = 1kg
b = 10 N.s/m
k = 20 N/m
F(s) = 1

Introduzca estos valores en la funcin de transferencia anterior
()
()



El objetivo de este problema es mostrarle cmo contribuyen Kp, Ki y Kd para
obtener:
Menor tiempo de subida
Mnimo sobrepico
Error de estado estacionario nulo

RESPUESTA A LAZO ABIERTO AL ESCALN

Veamos primero la respuesta a lazo abierto al escaln. Cree un nuevo archivo-m y
agregue el siguiente cdigo:

num=1;
den=[1 10 20];
step(num,den)

Corriendo este archivo-m, la ventana de comandos del Matlab le debera dar la
figura de abajo



La ganancia de continua de la funcin de transferencia de la planta es 1/20, as que
0.05 es el valor final de la salida a una entrada escaln unitario. Esto se corresponde
al error de estado estacionario de 0.95, bastante grande de hecho. Adems, el tiempo
de elevacin es alrededor de un segundo, y el tiempo de establecimiento es alrededor
de 1.5 segundos. Diseemos un controlador que reducir el tiempo de elevacin y el
tiempo de establecimiento, y eliminar el error de estado estacionario.

CONTROL PROPORCIONAL

De la tabla de arriba, vemos que el controlador proporcional (Kp) reduce el tiempo
de subida, incrementa el sobrepico maximo, y reduce el error de estado estacionario.
La funcin de transferencia a lazo cerrado del sistema de arriba con un controlador
proporcional es:

()
()

)


Iguale la ganancia proporcional (Kp) a 300 y cambie el archivo-m con lo siguiente:

Kp=300;
num=[Kp];
den=[1 10 20+Kp];
t=0:0.01:2;
step(num,den,t)

Corriendo este archivo-m, la ventana de comandos del Matlab le da la figura
siguiente:



Note: Puede usarse la funcin cloop para obtener la funcin de transferencia a lazo
cerrado directamente de la funcin de transferencia a lazo abierto (en lugar de
obtenerla a mano). El siguiente archivo-m usa el comando cloop que le debera dar
un grfico similar al de abajo.

num=1;
den=[1 10 20];
Kp=300;

[numCL,denCL]= cloop(Kp*num,den);
t=0:0.01:2;
step(numCL, denCL,t)

El grfico de arriba muestra que el controlador proporcional redujo tanto el tiempo
de elevacin cuanto el error de estado estacionario, incrementando el sobrepico, y
bajando el tiempo de establecimiento en pequea medida.

CONTROL PROPORCIONAL-DERIVATIVO

Ahora, echemos un vistazo a un Control PD. De la tabla de arriba, vemos que el
controlador derivativo (Kd) reduce tanto el sobrepico cuanto el tiempo de
establecimiento. La funcin de transferencia a lazo cerrado del sistema dado con un
Controlador PD es:

()
()

) (

)


Haga Kp igual a 300 como antes e iguale Kd a 10. Ingrese los siguientes comandos
en un archivo-m y ejectelo en la ventana de comandos del Matlab.

Kp=300;
Kd=10;
num=[Kd Kp];
den=[1 10+Kd 20+Kp];
t=0:0.01:2;
step(num,den,t)

Esta figura muestra que el controlador derivativo redujo tanto el sobrepico cuanto el
tiempo de establecimiento, y tuvo poco efecto en el tiempo de elevacin y el error de
estado estacionario.

CONTROL PROPORCIONAL-INTEGRAL

Antes de avanzar a un control PID, echemos un vistazo al Control PI. De la tabla,
vemos que un controlador integral (Ki) decrementa el tiempo de elevacin,
incrementa tanto el sobrepico cuanto el tiempo de establecimiento, y elimina el error
de estado estacionario. Para el sistema dado, la funcin de transferencia a lazo
cerrado con un Control PI es:

()
()



Reduzcamos Kp a 30, y hagamos Ki igual a 70. Cree un archivo-m nuevo e ingrese
los siguientes comandos.

Kp=30;
Ki=70;
num=[Kp Ki];
den=[1 10 20+Kp Ki];
t=0:0.01:2;
step(num,den,t)

Corra este archivo-m en la ventana de comandos del Matlab, y obtenga la figura
siguiente


CONTROL PROPORCIONAL-INTEGRAL-DERIVATIVO

Ahora, echemos un vistazo al controlador PID. La funcin de transferencia a lazo
cerrado del sistema dado con un controlador PID es:

()
()



Luego de varias ejecuciones de prueba y error, las ganancias Kp=350, Ki=300, y
Kd=50 proveern la respuesta deseada. Para confirmarlo, ingrese los siguientes
comandos en un archivo-m y ejectelo en la ventana de comandos. Debera
obtenerse la siguiente respuesta al escaln

Kp=350;
Ki=300;
Kd=50;
num=[Kd Kp Ki];
den=[1 10+Kd 20+Kp Ki];
t=0:0.01:2;
step(num,den,t)



Ahora, obtuvimos el sistema sin sobrepico, rpido tiempo de subida, y error de
estado estacionario cero.

SUGERENCIAS GENERALES PARA EL DISEO DEL CONTROLADOR
PID

Cuando est diseando un controlador PID para un sistema dado, siga los pasos de
abajo para obtener una respuesta deseada.

1. Obtenga una respuesta a lazo abierto y determine qu hay que mejorar
2. Agregue un control proporcional para mejorar el tiempo de elevacin
3. Agregue un control derivativo para mejorar el sobrepico
4. Agregue un control integral para eliminar el error de estado estacionario
5. Ajuste cada coeficiente Kp, Ki, y Kd hasta que obtenga la respuesta general
deseada. Puede mirar en la tabla de este "Tutorial PID" para averiguar cul
controlador controla cierta caracterstica.

Finalmente, tenga en mente que no implementar los tres controladores
(proporcional, derivativo, e integral) en un sistema, si no es necesario. Por ejemplo,
si el controlador PI le proporciona una buena respuesta (como el ejemplo anterior),
no necesitar implementar un controlador derivativo. Mantenga el controlador lo
ms simple que se pueda.

EJEMPLO: MTODO DE DISEO PID PARA CONTROL DE
VELOCIDAD DEL MOTOR DE CC

1. Control proporcional
2. Control PID
3. Sintonizacin de ganancias

A partir del problema principal, las ecuaciones dinmicas y la funcin de
transferencia a lazo abierto del Motor de CC son:
( )() ()

( )()

()

( )( )



Y el esquema del sistema se ve:






Para las condiciones originales del problema y la derivacin de las ecuaciones de
arriba, refirase por favor a Modelacin de un Motor de CC.

Los criterios de diseo con una entrada escaln de 1 rad/seg son:

Tiempo de establecimiento menor que 2 segundos
Sobrepico menor que 5%
Error de estado estacionario menor que 1%

Diseemos ahora un controlador PID adicionmoslo al sistema. En el work-space de
MatLab ejecute los siguientes comandos.

J=0.01;
b=0.1;
K=0.01;
R= 1;
L= 0.5;
num= K;
den= [(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];

Recordemos que la funcin de transferencia para un controlador PID es:


CONTROL PROPORCIONAL

Tratemos de usar primero un controlador proporcional con una ganancia de 100.
Agregue el siguiente cdigo al final de su archivo-m:

Kp=100;
numa=Kp*num;
dena=den;

Para hallar la funcin de transferencia a lazo cerrado, usamos el comando cloop.
Agregue la siguiente lnea de comando:

[numac,denac]=cloop(numa,dena);

Note que numac y denac son el numerador y el denominador de la funcin de
transferencia a lazo cerrado general.

Ahora veamos cmo se ve la respuesta al escaln, agregue lo siguiente al final de su
archivo-m, y ejectelo en la ventana de comandos:
t=0:0.01:5;
step(numac,denac,t)
title('Respuesta al escaln con Control Proporcional')

Debera obtenerse la figura siguiente:


CONTROL PID

De la figura de arriba vemos que tanto el error de estado estacionario cuanto el
sobrepico son muy grandes. Recordemos del tutorial PID que incorporando un
trmino integral se eliminar el error de estado estacionario y un trmino derivativo
reducir el sobrepico. Probemos un controlador PID con Ki y Kd pequeos.

A continuacin vuelva a ejecutar los siguientes comandos:

J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
Kp=100;
Ki=1;
Kd=1;
numc=[Kd, Kp, Ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
step(numac,denac)
title('Control PID con pequeo Ki and Kd')

Luego de estos comandos se da la figura siguiente





SINTONIZACIN DE GANANCIAS

Ahora el tiempo de establecimiento es muy largo. Incrementemos Ki para reducir el
tiempo de establecimiento. Regrese a la ventana de comandos y cambie Ki a 200.

Ki=200;

Vuelva a ejecutar los siguientes comandos

numc=[Kd, Kp, Ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
step(numac,denac)
title('Control PID con Ki grande y Kd pequeo')

Debera obtenerse un grfico como ste:



Ahora vemos que la respuesta es mucho ms rpida que antes, pero el Ki grande ha
empeorado la respuesta transitoria (gran sobrepico). Incrementemos Kd para reducir
el sobrepico. Vuelva a la ventana de comandos y cambie Kd a 10.

Kd=10;

Vuelva a ejecutar los siguientes comandos

numc=[Kd, Kp, Ki];
denc=[1 0];
numa=conv(num,numc);


Entonces sabemos que si usamos un controlador PID con

Kp=100,
Ki=200,
Kd=10,

Todos nuestros requerimientos de diseo sern satisfechos.

Você também pode gostar