informe 3. efectos de la retroalimentación y control proporcional
TRANSCRIPT
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
1
Resumen En el presente informe se realiza el anlisis
de sistemas, implementando la bien conocida
retroalimentacin y el control proporcional, extendiendo un
poco ms el anlisis a los sistemas de velocidad y posicin
los cuales sern definidos dentro del informe, realizando las
debidas simulaciones en Matlab y comprobando de esta
forma los resultados obtenidos mediante un Brick
proporcionado por LEGO
Palabras Clave Control, Hardware, LEGO, Matlab,
Mindstorms, Motor DC, Software.
I. OBJETIVOS
A. Objetivo General
En esta prctica, se podr analizar los efectos de la
realimentacin, y disear e implementar sistemas de
control proporcional para los lazos de velocidad y
posicin de un motor LEGO. En la primera parte, se
analizaran los efectos de la realimentacin mediante
simulacin en Matlab/Simulink y luego se verificaran de
forma experimental usando un motor LEGO. Se podr
observar y analizar los efectos que tiene la realimentacin
en la estabilidad, y en la respuesta dinmica y esttica de
un sistema.
En la segunda parte del laboratorio, se realizar el
diseo, simulacin e implementacin de sistemas de
control proporcional para los lazos de velocidad y
posicin de un motor LEGO, cumpliendo con
requerimientos de diseo como: tiempo de estabilizacin
y error permanente
B. Objetivos Especficos
Analizar los efectos de la realimentacin en
sistemas continuos usando Simulink.
Observar y analizar los efectos de la
realimentacin en los lazos de velocidad y
posicin de un motor LEGO.
Disear e implementar sistemas de control
proporcional usando requerimientos de tiempo de
estabilizacin o error permanente para los lazos
de velocidad y posicin de un motor LEGO.
II. INTRODUCCIN
Los sistemas de control se pueden encontrar de muchos
tipos, los ms utilizados comnmente son los sistemas
retroalimentados, dado que al tener una medicin
constante de la salida mediante el lazo cerrado, se puede
proporcionar un error que se ira corrigiendo cada vez ms
con respecto al tiempo, haciendo un sistema ms estable y
viable para la aplicacin que se necesite implementar.
Figura 1. Sistema de lazo cerrado
Control:
Efectos De La Retroalimentacin Y Control
Proporcional
Julin A. Alarcn Manrique, Daniel M. Vargas Corredor, Control.
UNIVERSIDAD NACIONAL DE COLOMBIA.
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
2
En la figura 1 se puede observar el sistema que se est
describiendo, teniendo en cuenta que para este caso se va
a considerar H(s) como 1 dado que facilitara el anlisis y
se pueden obtener resultados bastante buenos.
III. PROCEDIMIENTO DEL LABORATORIO
El presente laboratorio se divide en dos partes
fundamentales: Anlisis de los efectos de la
realimentacin y control proporcional con LEGO, en cada
una de las secciones se van a realizar las simulaciones
correspondientes para cada uno de los sistemas y se
verificar la teora por medio de la prctica.
A. Anlisis de los efectos de la Realimentacin
Primeramente se va a realizar la comparacin de un
sistema dado que se conecta en lazo abierto y otro con
realimentacin analizando de esta forma qu efectos
puede tener est sobre el sistema, para ellos se va a
utilizar la funcin de transferencia del motor LEGO
encontrada anteriormente en el laboratorio pasado, por lo
que a la salida se va a tener la funcin de velocidad del
motor y controlada por la realimentacin.
( )
Se debe tener en cuenta que la realimentacin ser
implementada como en la figura 1 sabiendo que H(s) = 1;
ahora se va a realizar esta simulacin utilizando simulink
de Matlab (figura 2) y obteniendo el resultado para la
velocidad del motor.
Figura 2. Simulacin con y sin realimentacin con simulink
del sistema de velocidad
Con esto se obtiene la comparacin en las respuestas de
ambas seales esperando que la del control con
realimentacin sea mejor para la respuesta del sistema,
esto se puede ver en la figura 3.
Figura 3. Respuesta con y sin realimentacin
Como se puede observar la respuesta del sistema es
mucho ms rpida cuando el sistema tiene realimentacin
siendo la respuesta de arriba de la figura 3, pero para
poder ver mejor el comportamiento de la misma, se va a
graficar nicamente esta (figura 4).
Figura 4. Respuesta nicamente con realimentacin
Ahora se puede ver mejor en la anterior figura que el
tiempo de establecimiento del sistema con la
realimentacin est por debajo de 0.5 ms por lo que lo
vuelve mucho ms rpido ya que para lazo abierto el
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
3
tiempo de establecimiento era de 0.244 s, disminuyndolo
en gran manera.
Otra gran ventaja que se puede observar es que la salida
tiene una asntota en 1, es decir que el error ser igual a
cero ya que la entrada paso es de amplitud 1 teniendo una
mejor respuesta a dicha entrada por lo que se puede decir
que el sistema realimentado es ms til para aplicaciones
de rpida respuesta.
Dado que se tiene un tiempo de establecimiento menor
cuando se realiza la realimentacin del sistema, entonces
el polo tendera a ir hacia la parte ms negativa,
aproximadamente calculndolo en:
Este polo es bastante alejado haciendo el sistema
mucho ms rpido ya que el polo anteriormente en lazo
abierto era aproximadamente de -16 por lo que la
diferencia con el control de lazo cerrado se puede ver una
gran mejora en relacin a la velocidad de respuesta y
mejor estabilidad del sistema.
Ahora bien se va a realizar el mismo procedimiento
anterior pero esta vez agregando un integrador de tal
forma que se obtendr la funcin de posicin del motor
LEGO y se le aplicara la realimentacin debida para ver
sus efectos en el sistema (figura 5).
Figura 5. Sistema en Simulink para la funcin de posicin
del motor LEGO.
Con esto se puede simular el lazo cerrado y abierto
simultneamente permitiendo observar los cambios por la
realimentacin del sistema, los resultados obtenidos
pueden verse en la figura 6.
Figura 6. Respuesta del motor LEGO para la posicin
Como se puede ver en la grfica, al simular la posicin
del motor LEGO en lazo abierto el sistema se vuelve
marginalmente estable pero en realidad es inestable ya
que es creciente y no se estabiliza en ningn punto
apreciable, por lo que el sistema no servir para esta
aplicacin.
Por otro lado se tiene el sistema realimentado que es la
grfica superior de la figura 6 donde si se presenta una
estabilizacin en un valor de 1 con un tiempo de
estabilizacin aproximadamente de 0.4 s, por lo cual se va
a tener un polo en:
Con el lazo cerrado se tiene una respuesta bastante
buena ya que su rapidez es considerable y tiene error de
estado estable igual a cero, teniendo en cuenta que se
modific el sistema anterior con integrador.
Implementacin fsica del sistema de lazo cerrado en
el motor LEGO
Ahora bien, se va a realizar la implementacin fsica de
la funcin de lazo cerrado o realimentacin de un sistema
utilizando el motor LEGO de tal forma que es necesario
escribir un cdigo para que se pueda ejecutar el debido
funcionamiento de dicho motor.
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
4
Primeramente se va a ejecutar un programa en el Brick
de tal forma que la realimentacin sea para la funcin de
velocidad del motor, por lo tanto el cdigo es el siguiente
(figura 7).
Figura 7. Cdigo para la realimentacin del motor controlando
la velocidad.
Ejecutando este programa en el Brick se crea un
archivo plano .txt de tal forma que las salidas del motor
son registradas en dicho archivo, para posteriormente
ingresarlas a Matlab para que se puedan comprobar con
los resultados de la simulacin terica (figura 8).
Figura 8. Comparacin de la respuesta fsica del motor con la
calculada tericamente.
Teniendo esta respuesta del sistema se puede ver que
tiene la misma tendencia cuando se implementa en fsico
el lazo cerrado pero existen muchas oscilaciones debidas
a las alteraciones como el torque del motor.
Por otro lado se va a analizar el sistema con
realimentacin para la posicin del motor la cual como se
puede ver en la figura 6 se tiene que llegar a estabilizar
despus de una oscilacin, por lo tanto se va a ejecutar un
cdigo diferente para que se vea reflejado el integrador en
la velocidad del motor para obtener la posicin (figura 9).
Figura 9. Cdigo para la realimentacin del motor controlando
la posicin.
De esta forma tambin se genera el archivo llamado
controlpos_orig.txt y este ser comparado con la
simulacin terica del control en lazo cerrado incluyendo
el integrador en la funcin de transferencia para que se
pueda ver la funcin de posicin (figura 10).
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
5
Figura 10. Comparacin de la posicin del motor Lego tanto,
para la teora como para la implementacin.
Se puede ver que en la funcin del motor no se
presentan tantas oscilaciones como tericamente tendra
que pasar, esto se debe a que la velocidad del motor no
puede sobrepasar ciertos lmites por lo que se realiz un
filtro para que no se superara tal velocidad.
Se puede ver que la implementacin fsica del motor es
muy similar a la teora que se encontr, aunque se
presentan ciertas diferencias como la cantidad tan grande
de oscilaciones para la velocidad pero esto se debe a la
gran variacin de torque que puede sufrir el motor por
factores externos, y por el otro lado en el sistema de
posicin se produce el efecto contrario, antes el sistema
implementado en el Brick oscila menor cantidad de veces,
por lo que tiene menor sobrepico pero si tiene el mismo
tiempo de establecimiento como se puede ver en la figura
10.
B. Control de velocidad y posicin del motor LEGO
En esta seccin se va a realizar el diseo de un sistema
de control proporcional utilizando la realimentacin para
de esta forma implementarla en el motor de lego tanto
para velocidad como para posicin teniendo en cuenta
diferentes especificaciones de diseo.
Se solicita disear un sistema para que la velocidad
del motor LEGO para que el sistema se estabilice
dos veces ms rpido que el sistema original.
Se sabe que la funcin de lazo cerrado para control
proporcional es de la forma:
( ) ( )
( )
Por lo tanto, conociendo la funcin G(s) se puede
encontrar la funcin de realimentacin con la cual
implementaremos los criterios solicitados, la ecuacin
quedara de la siguiente manera:
( )
Ahora bien como se solicita que el control proporcional
haga que el sistema sea dos veces ms rpido, se
necesitara un de 0.0305 que es la mitad del tao nominal
que se tiene.
Por otro lado como la funcin de lazo cerrado se
modific tambin se tiene que despejar el tao de la
ecuacin teniendo cuidado que se divide todo por el
termino independiente de s, en el denominador de T(s).
Y esto se iguala, para el nuevo caso para poder despejar
la ganancia proporcional del sistema de control
obteniendo un sistema ms rpido.
Ahora este k, se va a remplazar en la funcin de
realimentacin quedando de la siguiente manera:
( )
Esta funcin ser evaluada en Matlab para verificar su
tiempo de establecimiento y su valor en estado estable
esperando obviamente que se estabilice en 0.5 debido al 2
del denominador, por lo tanto la respuesta del sistema
controlado quedara de la siguiente forma (figura 11).
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
6
Figura 11. Respuesta del sistema dos veces ms rpido con el
control proporcional
Se puede ver en la figura 11 que el tiempo de
establecimiento es de 0.119 segundos por lo que si es
dos veces ms rpido que el sistema nominal ya que su
tiempo de establecimiento era de 0.244 s.
De esta forma ahora si se puede pasar este controlador
a un bloque de funcin en Matlab mediante simulink
(figura 12), para comprobar ms fsicamente como es el
comportamiento del sistema con diagrama de bloques; el
cdigo para el control proporcional se puede ver en la
figura 13.
Figura 12. Simulacin en la funcin de Matlab (Simulink) para
comprobar que el sistema se estabiliza 2 veces ms rpido.
Figura 13. Cdigo para el controlador proporcional
Al realizar esta simulacin en el osciloscopio de dos
entradas se obtienen los siguientes resultados (figura 14),
donde se puede ver que para la entrada escaln unitario se
tiene en morado la respuesta del sistema que se estabiliza
en 0.5 como se esperaba y con tiempo de establecimiento
de 0.122 s.
Figura 14. Grafica de entrada, salida y seal de control del
sistema utilizando simulink.
Adicionalmente se puede ver que la seal de control es
bastante pequea (del orden de ), esto se debe a
que como la ganancia es de la planta es de 884.7 se debe
contrarrestar este efecto con un valor pequeo para tratar
que se estabilice y el error de estado estable se aproxime a
cero.
Se solicita disear un sistema para la velocidad del
motor LEGO, tal que el sistema tenga un error
permanente de 4%.
Esta vez se necesita que el error en estado estable de la
respuesta sea de 4% es decir 0.04, por lo tanto se
necesita que la respuesta en estado estable cumpla con
dicho requerimiento por medio de la implementacin del
control proporcional el cual tiene la siguiente expresin
para lazo cerrado.
( )
Donde se puede deducir:
( ) ( ) ( )
Y utilizando esta expresin se puede obtener la salida
en estado estable por medio del lmite y la entrada en
frecuencia:
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
7
Ahora teniendo la respuesta en estado estable se puede
calcular el error sabiendo que es de 0.04
De all se puede despejar la ganancia del controlador
proporcional teniendo el siguiente valor:
Con este k, se va a obtener la funcin de lazo cerrado
del sistema implementando el controlador proporcional,
de tal forma que:
( )
Evaluando esta funcin en Matlab se puede obtener el
siguiente resultado mostrado en la figura 15.
Figura 15. Respuesta del sistema con error de estado estable de
4% implementando control proporcional.
Como se puede observar la salida llega hasta 0.96 es
decir que se cumple con el criterio de diseo puesto
inicialmente y adicionalmente se tiene un tiempo de
establecimiento de 10 ms.
Ahora implementando el circuito de la figura 12 se va
realizar la comprobacin del sistema mediante la
implementndolo fsicamente, pero esta vez en el bloque
de funcin el cdigo ser (figura 16):
Figura 16. Cdigo para el control de error de 4%.
Con este con cdigo se obtiene un resultado (figura 17)
mediante un osciloscopio de dos entradas donde en la
primera se compara la entrada con la salida y en la
segunda se tiene la seal de control.
Figura 17. Grafica de comparacin de salidas para el
controlador de error de 4%.
Tambin se puede ver que el valor del error es de 0.04
y el tiempo de establecimiento concuerda con el simulado
por consola y la seal de control es muy pequea para
contrarrestar la ganancia de la planta.
Se solicita disear un sistema para que la posicin
del motor LEGO para que el sistema se estabilice
en 2 segundos.
Por ultimo diseo se necesita un sistema con un tiempo
de establecimiento de 2 segundos por lo tanto ya se tiene
el , pero esta vez se va a realizar el diseo para la
posicin del motor LEGO por lo que el sistema ya no ser
el mismo sino que es necesario agregar un integrador al
diseo (figura 18) anterior para que se mire la posicin en
lugar de la velocidad.
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
8
Figura 18. Circuito construido en Simulink para controlar la
posicin del motor LEGO mediante un bloque de funcin.
Por lo que se agrega el integrador, la funcin de lazo
cerrado se ver enormemente alterada haciendo del
sistema uno de segundo orden ya que ahora se tiene un
polo adicional ubicado en cero pero que puede producir
oscilaciones en la seal dependiendo de su
amortiguamiento.
Ahora bien la funcin de lazo ser la siguiente
agregando el integrador y el controlador proporcional al
sistema original.
( )
El sistema completo tendr sus polos en los
siguientes puntos, despejando su denominador:
Con esto se puede encontrar el polo ms lento que es el
que afectara ms al sistema por lo tanto ese polo se
igualara a -2 y se despejar la ganancia del controlador.
Con esta constante se encontrara el valor de la funcin de
transferencia, para luego simularlo en Matlab (figura 19):
( )
Figura 19. Simulacin del control de posicin para estabilidad
en 2 segundos.
Tambin se puede ver este resultado en la simulacin
con Simulink introduciendo el cdigo de la figura 20 en
el bloque del controlador, para obtener la respuesta que se
puede ver en la figura 21, la cual concuerda con la
simulacin por consola ya que el tiempo de
establecimiento es de aproximadamente 2 ya que al
redondear las cifras significativas se pierde un poco de
precisin en la medicin.
Figura 19. Cdigo para establecer el sistema de posicin en 2 s.
Figura 21. Respuesta en el osciloscopio de Simulink para el
sistema anterior.
Se puede ver que la seal de control esta vez es un poco
menor debido a que se le agrego el integrador al sistema y
con el controlador se puede cumplir con el criterio de
diseo, aparte de esto tambin tiene un error de estado
estable bastante bajo.
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
9
Implementacin fsica en el motor LEGO mediante
el Brick.
Para la implementacin fsica en esta seccin se tiene
que tener en cuenta que el motor no debe sobrepasar los
picos de velocidad como lo son 100 y 100 y teniendo en
cuenta esto se modificar el cdigo de la figura 7 donde
se controla la velocidad pero esta vez se le pondr el
controlador proporcional para que el sistema tenga un
error permanente de 4% (figura 22).
Con esta modificacin el Motor LEGO arroja los
resultados que se guardarn en el archivo plano
controlvel.txt donde estar la salida para una entrada paso
de tal forma que se pueda calcular fcilmente la funcin
de transferencia del motor.
Figura 22. Simulacin del control de posicin para estabilidad
en 2 segundos.
Con los datos tomados se obtienen los siguientes
resultados que son analizados en Matlab mediante la
importacin del archivo generado (figura 23), donde se
puede ver que el error de estado estable si se aproxima a
4% y que el tiempo de establecimiento es tambin de 10
ms, dado que tiene un sobrepico que llega nicamente
hasta 1 no hay ningn problema ya que entre ms cerca
este a 1 menor error existir, pero si existe un error ms
grande que 4% en los valles de la seal o cuando baja ya
que logra bajar hasta 0.9 aproximadamente..
Figura 23. Implementacin fsica del control de velocidad al
motor LEGO
Por ultimo en la prctica se va a implementar el
controlador para la posicin del motor que tiene que
estabilizarse a 2 segundos es decir que tiene que quedarse
quieto el motor, y efectivamente cuando se le ingreso el
cdigo (figura 24) el motor funciono por un tiempo y
luego se detuvo, midiendo el tiempo se comprob que
eran 2 segundos los que duraba en funcionamiento.
Figura 24. Cdigo para el controlador de posicin del motor del
LEGO.
-
Cd. 285744 285750. Informe 03.
18 de Mayo de 2013
10
Por medio de este cdigo se puede obtener otro archivo
.txt que ser ingresado en Matlab para su debida
simulacin (figura 25).
Figura 25. Salida del motor implementado fsicamente para
control de posicin.
Se puede ver la respuesta terica frente a la
implementada y se denota que el comportamiento de
ambas es muy similar entre ellas por lo que se puede decir
que el controlador implementado est funcionando
adecuadamente porque como se puede ver el tiempo de
establecimiento es de 2 segundos y tambin que el error
en estado estable es prcticamente cero ya que la salida
est muy prxima a 1 es decir la amplitud de la seal paso
que se le ingreso al principio.
IV. CONCLUSIONES
Se puede decir que un controlador proporcional
solamente puede cumplir un criterio de diseo a la
vez, ya que al intentar controlar el error en estado
estacionario, no se puede tener un tiempo de
establecimiento dado aunque en la prctica los
tiempos fueron buenos para el controlador.
Cuando se disea un controlador para un motor
LEGO hay que tener en cuenta que este, por su
funcionamiento interno va a tener mucho ruido y por
lo tanto su respuesta tendr unos sobrepicos muy
altos, ms que todo para el controlador de velocidad
ya que como se puede ver en las figuras, el
controlador de posicin se comporta casi como una
funcin exponencial y no existe dicho ruido que
afecte el sistema.
Para sistemas de ganancia muy alta se tienen que
tener seales de control demasiado pequeas para
que contrarresten el efecto de dicha ganancia y con
esto se pueda tener un error de estado estable
aproximado a cero.
V. BIBLIOGRAFA
[1] LEGO MINDSTORMS, LEGO Mindstorms NXT
Hardware Developer Kit, LEGO Group, 2006.
[2] D. Benedettelli, Programming LEGO NXT Robots using
NXC, vol. Vesion 2.2, J. Hansen, Ed., 2007, p. 51.
[3] Doxygen, NXC programmer's guide, NXC, version 1.2.1
r5, [En lnea]. Available:
http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/modules.
html. [ltimo acceso: 23 Marzo 2013].
[4] Lego Engineering, HiTechic Sensors for LEGO
Robotics, Tufts, 22 Septiembre 2009. [En lnea].
Available:
http://legoengineering.com/index.php?option=com_content
&view=article&id=108. [ltimo acceso: 26 Marzo 2013].
[5] R. C. Dorf y R. H. Bishop, Modern control systems, vol.
XII, Pretince Hall, 2010, p. 1082.