Informe 3. Efectos De La Retroalimentación Y Control Proporcional

download Informe 3. Efectos De La Retroalimentación Y Control Proporcional

of 10

Transcript of Informe 3. Efectos De La Retroalimentación Y Control Proporcional

  • 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.