home

= Diseño basado en El Lugar de las Raíces  = El método del lugar de las raíces desarrollado para sistemas en tiempo continuo lo podemos extender para sistemas en tiempo discreto sin ninguna modificación, con la única excepción de que el límite de estabilidad queda modificado del eje w al círculo unitario en el plano z. Esto se produce así debido a que la ecuación característica en tiempo discreto es de la misma forma que en tiempo continuo pero en el plano s.

1+G(z)H(z)=0

Sin embargo, la ubicación de los polos en el plano z deberá ser interpretada de forma diferente a la interpretación tomada en el plano s.

En muchos sistemas de control en tiempo discreto invariantes y lineales en el tiempo, la ecuación característica puede tener la siguiente forma:
 * Condiciones de ángulo y magnitud:**



Definimos la ecuación característica como: 1+F(z)=0, donde, F(z)=G(z)H(z)

Donde F(z) es la función de transferencia pulso en lazo abierto, por tanto, la ecuación característica se puede escribir como:

F(z) = -1

Dado que F(z) es una magnitud compleja, esta ecuación se puede dividir en dos ecuaciones, igualando primero los ángulos y a continuación las magnitudes de ambos miembros, por lo que obtenemos:

CONDICIÓN DE ÁNGULO:

CONDICIÓN DE MAGNITUD:

Los valores de z que satisfacen tanto la condición de ángulo como la de magnitud son las raíces de la ecuación característica, es decir, los polos en lazo cerrado.

//__1. Obtención de la ecuación característica:__// **
 * Reglas generales para la construcción de los lugares geométricos de la raíz

A continuación debemos reestructurar la ecuación de tal manera que el parámetro de interés, es decir, la ganancia (K), aparezca como factor multiplicador de la forma:

1+F(z)=0

Siempre para una K>0. De la función factorizada de la función de transferencia pulso en lazo abierto localizamos los ceros y polos en lazo abierto en el plano z.



__//2. Determinacion de puntos de inicio y final del lugar de las raíces://__

Tambien se debe encontrar el número de ramas separadas del lugar geométrico de las raíces. Los puntos en el lugar geométrico de las raíces que corresponden a K=0 son los polos en lazo abierto, y aquellos que corresponden a K=∞ son los ceros en lazo abierto. Esto quiere decir que, conforme K avanza de 0 a ∞, un lugar geométrico de las raíces empieza a partir de un polo en lazo abierto y termina en un cero finito en lazo abierto o un cero en lazo abierto en el infinito. Tendrá tantas ramificaciones como raíces existan en la ecuación característica. Si el numero de polos en lazo cerrado es el mismo que el número de polos en lazo abierto, el número de ramificaciones individuales del lugar geométrico de las raíces que terminan en ceros en lazo abierto finitos es igual que el número de ceros en lazo abierto. Las ramificaciones restantes acaban en el infinito a lo largo de las asíntotas.

//__3. Determinación del lugar geométrico de las raíces sobre el eje real:__//

Se determina por los polos en lazo abierto y los ceros que quedan sobre él. Cada parte del lugar geométrico de las raíces sobre el eje real se extiende sobre un segmento desde un polo o cero hasta otro polo o cero. Para construir el lugar geométrico sobre el eje real, escogemos un punto de prueba sobre el mismo. Si el numero de ceros y polos reales a la derecha de este punto de prueba es impar, este punto cae sobre el lugar geométrico de las raíces.

__//4. Determinacion de las asíntotas en el lugar geométrico de las raíces://__

Si el punto de prueba está localizado lejos del origen, los angulos de todas las cantidades complejas pueden considerarse iguales. Por tanto un polo en lazo abierto y un cero en lazo abierto cada uno cancelas los efectos del otro. El lugar geométricos de las raíces para valores muy altos de z debe ser asintótico a líneas rectas cuyos angulos se obtienen: n=numero de polos finitos de F(z). m=numero de ceros finitos de F(z).

Todas las asíntotas se cruzan en el eje real. Este punto se obtiene de la siguiente manera: Para una z muy grande obtenemos: Si la abscisa de la intersección de las asíntotas y del eje real se identifica como –σa, tenemos: Este valor siempre es una cantidad real. Una vez encontrado el punto de intersección de las asíntotas en el eje real del lugar de las raíces, éstas se pueden dibujar de inmediato en el plano complejo z.

__//5.// //Puntos de ruptura de salida y puntos de ruptura de entrada.//__

Se presentan sobre el eje real o en pares complejos conjugados. Si un lugar de las raíces se encuentra sobre dos polos adyacentes en lazo abierto sobre el eje real, existirá por lo menos un punto de ruptura de salida entre ambos polos. Si el lugar geométrico se encuentra entre dos ceros adyacentes, existirá un punto de ruptura de entrada entre ambos ceros. Si el lugar geométrico de las raíces se encuentra entre un polo y un cero, podría no haber ningún punto de ruptura de entrada y salida o tantos puntos de ruptura de entrada como de salida. Si la ecuación característica 1+F(z)=0 la escribimos como: 1+(K*B(z)/A(z))=0, donde K= -A(z)/B(z)

Los puntos de ruptura de salida y de entrada se pueden determinar a partir de las raíces de: Si el valor K correspondiente a una raíz z=z0 de dK/dz=0 es positivo, el punto z=z0 es un punto real de ruptura de salida o de entrada. Si el punto de K es negativo z=z0 no es ni punto de ruptura de salida ni de entrada.

__//6.// //Determinacion del angulo de salida del lugar geometrico del lugar de las raíces a partir de los polos complejos.//__

El angulo de salida (o de llegada) del lugar geométrico de las raíces a partir de los polos complejos (o ceros complejos) puede determinarse al sustraer de 180º la suma de todos los angulos de líneas (cantidades complejas) correspondientes a todos los demás polos y ceros del polo complejo (o del cero complejo) en cuestión, si se incluyen los signos apropiados. El angulo de salida se calcularía:

__//7.// //Punto donde los lugares de las raíces cruzan el eje imaginario.//__

Definimos z=jv en la ecuación característica (lo que implica ganancia K no determinada) e igualando tanto la parte real como la imaginaria con cero, se resuelve en función de v y de K. Los valores de v y de K que así se encuentran darán la localización en la cual el lugar geométrico de las raíces cruza el eje imaginario y el valor de la ganancia correspondiente K.

8. Cualquier punto de los lugares geométricos de las raíces es un polo en lazo cerrado posible.

Un punto determinado será un polo en lazo cerrado cuando el valor de la ganancia K satisfaga la condición de magnitud. La condición de magnitud nos permite determinar el valor de la ganancia K en un lugar específico de las raíces dentro del lugar geométrico. La condición de magnitud es:



Si la K de la función de transferencia pulso en lazo abierto esta dada en el problema, entonces mediante la aplicación de la condición de magnitud, es posible localizar los polos en lazo cerrado para una K dada en cada una de las ramificaciones del lugar geométrico de las raíces mediante un método de prueba y error.

Las formas más normales de encontrarnos un controlador van a ser:
 * Controladores:

//__1. Controlador en adelanto:__// **La función de transferencia del controlador en adelanto es: Donde cabe a destacar que |zo|>|zp|

La representación gráfica sería la siguiente, donde cabe a destacar como el polo es menor que el cero y cómo, para que sean estables, ambos se encuentran dentro de la circunferencia de estabilidad de radio 1 del sistema discreto.



//__2. Controlador en atraso:__// La función de transferencia del controlador en atraso es exactamente la misma que la del controlador en adelanto: Donde la mayor diferencia la encontramos en que |zp|>|zo|

La representación gráfica sería la siguiente, estando dentro de la circunferencia de estabilidad tanto los polos como los ceros.


 * Método de Truxal/Ragazzini**

Las técnicas de diseño vistas hasta ahora tienen su equivalente para sistemas continuos, es decir, para reguladores analógicos. Sin embargo, existen técnicas digitales que no son aplicables en sistemas continuos. Un buen ejemplo es la **síntesis directa** **o método de Truxal **(o método de Ragazzini según algunos autores), que permite diseñar una Gc(z) para que se cumpla que la secuencia de error e(kT) ante una referencia en particular sea cero tras un número N de períodos T, y se mantenga así con un tiempo mínimo de establecimiento, y sin rizado entre muestras. Es decir, el objetivo es buscar el regulador que hace que el sistema en lazo cerrado tenga la función de transferencia deseada, sea cual sea. En conclusión, no sólo se busca situar los polos dominantes en cierto lugar, sino que se pretende conseguir toda la función de transferencia en lazo cerrado igual a una dada.

El método consiste en despejar la función de transferencia del regulador de la expresión de la función de transferencia en lazo cerrado. A modo ejemplo, vamos a desarrollar dicho método para el caso particular de realimentación unitaria. El caso general de realimentación no unitaria es bastante parecido, pero añadiendo algo más de complejidad. Decidimos centrarnos aquí en el caso de realimentación unitaria para simplificar la explicación, y porque es un supuesto bastante común en convertidores conmutados. En muchos casos la realimentación consiste en una constante de proporcionalidad, pero estos casos se pueden reducir a realimentación unitaria pasando dicha constante a la función de transferencia del regulador. Sólo los casos en los que la realimentación sigue alguna dinámica (tiene polos y ceros) es en los que no sería aplicable el caso de realimentación unitaria.

En un esquema de control con realimentación unitaria, como el que sigue, la función de transferencia en lazo cerrado es:

Siendo G(z) la transformada de las funciones de transferencia de bloqueador (B) y la función H. En definitiva, se trata de diseñar una función de transferencia Gc(z), que cumpla las especificaciones de error señaladas, incluyendo el error estático, y con una función de transferencia en lazo cerrado de la forma:



M(z) (o F(z)) deberá tener un tiempo de establecimiento finito y error en régimen permanente cero ante referencia de entrada impulso.

Despejando de la función de transferencia del sistema, la función del regulador, obtenemos:



Lo que se propone es, una vez conocida la función de transferencia deseada en lazo cerrado, //M(z)//, aplicar la relación de la función de transferencia de lazo cerrado para calcular el regulador, //Gc(z)//. Esta expresión suele ser un tanto compleja. Sin embargo, dada la capacidad de cálculo de los sistemas digitales, la complejidad de dicha expresión es asumible y fácilmente implementable. Esto parece indicar que se puede conseguir //cualquier// función de transferencia en lazo cerrado gracias al control digital, pero esto no es cierto, ya que el controlador diseñado habrá de cumplir ciertas condiciones, que limitan el diseño de Truxal:
 * Condición de realización física
 * Condición de estabilidad
 * Condición de error en régimen permanente nulo
 * Condición de simplicidad
 * Condición de rizado nulo entre muestras

à ** Condición de realización física: Debido a que el controlador ha de ser físicamente realizable, por lo que abarca dos aspectos principales, la causalidad y la capacidad: **

- Causalidad: Para que el regulador sea físicamente realizable debe ser causal, es decir, que no utilice información sobre los datos del futuro sino que se restrinja a información del pasado o actual. Esto se traduce en que el grado del numerador del regulador ha de ser menor que el del denominador. Para que esta condición se cumpla, se debe cumplir que:



Recordemos que la diferencia entre el grado del denominador y del numerador de una función de transferencia indica el número de ciclos que dicha función de transferencia tarda en reaccionar a un estímulo. Por tanto, la explicación de la condición de causalidad es que el sistema en lazo cerrado no puede empezar a responder en menor número de ciclos a un estímulo que lo que tardaría la cadena abierta, independientemente de cuál sea su regulador. - Capacidad: Si //G(z)// se expande en potencias de //z(-1)//, el término más significativo de //F(z)// en potencias de //z(-1)// debe ser al menos tan grande como el de //G(z),// por ejemplo:

** Se deberá evitar la cancelación de polos inestables o críticos de G(z), y ceros de //Gc(z)//, ya que no es exacta, y hay divergencias con el tiempo //kT,// dando lugar a inestabilidad. Tampoco el controlador //Gd(z)// tendrá polos inestables o críticos que cancelen ceros de G(z) fuera del círculo unidad. El sistema en lazo cerrado debe ser estable, incluso a pesar de las pequeñas diferencias que puedan existir entre las funciones de transferencia teórica y real. Los polos y ceros no estarán exactamente donde se hayan calculado, sino en las inmediaciones de los puntos teóricos. Para que este hecho no afecte a la estabilidad en lazo cerrado se deben cumplir dos condiciones: 1. Que el sistema en lazo cerrado, //M(z)//, tenga como ceros todos los ceros de la zona inestable de la cadena en lazo abierto, //BH(z)//.
 * à **** Condición de estabilidad:



2. Que (1-//M(z)//) tenga como ceros los polos inestables en lazo abierto, //BH(z)//.

Para garantizar aún más la estabilidad, se debe sustituir la palabra inestable por inestable o cercano a la inestabilidad, e incluir en las reglas anteriores los polos y ceros no sólo inestables, sino cercanos a dicha condición.


 * à **** Condición de error permanente nulo: **

El error permanente será cero tras un número finito de muestras N y así se mantendrá,

Sabiendo que E(z) es un un polinomio con un número finito de términos:

siendo un N(z) también finito. Por tanto, la función del controlador de Truxal-Ragazzini es:



** Aunque el regulador puede ser implementable por complejo que sea, es deseable que no sea muy complejo a pesar de ser digital. Al fin y al cabo, cuanto menos compleja sea su función de transferencia, menos recursos se necesitarán para su implementación. Para simplificar la expresión del regulador todo lo posible se puede hacer lo siguiente: Que el sistema en lazo cerrado, //M(z)//, tenga como ceros todos los ceros de la cadena en lazo abierto, //BH(z)//. Esta condición coincide con la primera de estabilidad, pero extendida a todos los ceros en lazo abierto y no sólo a los inestables o casi inestables.
 * à **** Condición de simplicidad:


 * à **** Condición de rizo nulo: **

Para que el rizado del error //e(t)//sea nulo entre muestras, se cumplirá para la salida // c(t>NT)=cte //, ante entrada escalón // c’(t>NT)=cte //, ante entrada rampa // c’’(t>NT)=cte //, ante entrada parabólica. Estas condiciones serán establecidas sobre la señal de control //u(t),//ya que la ausencia de rizado impone que //u(t)//sea constante para referencias //r(t)//escalón, rampa y aceleración. En concreto se impondrán sobre la secuencia //u(kT)//ya que

Apareciendo condiciones sobre M(z). Hay que notar que el diseño se vincula a la señal de referencia //r(kT).// Además, como el diseño no depende de //T//, se pueden producir efectos no lineales como saturación (//T demasiado// pequeño) e inestabilidad (//T excesivamente// grande).


 * à **** Ejemplo: **

Para ilustrar este método, vamos a tomar como base de ejemplo un convertidor reductor de corriente continua, cuyos datos son: Tensión de entrada (//Vin//) 12V, tensión de salida (//Vout//) 5V, potencia nominal 50W, frecuencia de conmutación (//fswitch//) 100kHz, valor de la bobina (//L//) 30 microH y valor del condensador de salida (//C//) 25 microF. Los valores de la bobina y el condensador están elegidos de tal forma que en régimen permanente el rizado de la corriente sea un 10% de su valor medio y el rizado de la tensión de salida un 1%. El esquema del reductor es el siguiente:

Antes de calcular el regulador se necesita la función de transferencia a controlar. En este caso, un lazo de tensión de un reductor, dicha función relaciona la tensión de salida y el ciclo de trabajo (que es la salida del controlador). Teniendo en cuenta los datos del reductor, queda:

El regulador analógico se ha calculado de tal forma que el error de posición sea menor al 2%, el tiempo de establecimiento menor a 100􀁐s y el pico de sobreoscilación menor al 10%. El resultado es un regulador de tipo PI con la siguiente función de transferencia:

El esquema del lazo de control es el representado a continuación:



Teniendo las funciones de transferencia continuas, buscamos su discretización. Hacemos la discretización con el bloqueador de orden 0, y el resultado es:

Decidimos los polos deseados, cumpliendo las especficaciones; así, se ha de cumplir pico de sobreoscilación menor al 10% (//Mp//<10%), tiempo de establecimiento inferior a 100 micros, lo que equivale a 10 veces el período de muestreo (//T//=10 micros) y por tanto el intervalo es de 10 muestras (//ns//<10), y por último error de posición menor al 2% (//ep//<2%). Así, llegamos a los parámetros geométricos:

Encontrando los polos deseados en lazo cerrado en 0,66±0,3j. Con estos datos en una herramienta de trabajo como rltool podríamos verificar de forma sencilla esto, y que el lugar de las raíces pasa por estos polos, por lo que bastaría con un regulador de tipo P para cumplir la dinámica del sistema; pero no es suficiente para cumplir con el error de posición por lo que introduciríamos uno del tipo PI, de la forma:

Eligiendo ‘b’ para que el lugar de las raíces pase por los polos dominantes pero sin que el nuevo polo introducido se convierta en ello, eligiendo b=0,82 y ganancia K=0,152. En este momento, entra en actuación el método de Truxal, partiendo de la función de transferencia del convertidor BH(z), que hemos calculado anteriormente, y vamos a compararlo con la otra discretización. Por la condición de causalidad, como el denominador tiene un grado más que el numerador, la función de transferencia en lazo cerrado también tiene que tener mayor orden en el denominador que en el numerador. En cuanto a la condición de estabilidad, se aplica la condición de simplicidad por lo que se incluye un cero de //M(z)// en //z//=-0,7661. Por último, queda hacer que la función de transferencia en lazo cerrado se comporte como queramos. Los requisitos iniciales eran obtener un pico de sobreoscilación inferior al 10% y un intervalo de establecimiento de 10 muestras. Para mostrar la potencia del método, se busca que no haya //ningún pico de sobreoscilación// y a la vez se baje el //intervalo de establecimiento a 2,5 muestras//. Esto sucede si la función de transferencia en lazo cerrado tiene un único polo (sistema de primer orden) en //z//=0,2846 (o que los demás polos, si los hay, estén en //z//=0). Finalmente, la función de transferencia en lazo cerrado que se busca es: El valor de la K se ajusta para que la ganancia de M(z) sea la unidad, es decir, que el error de posición sea nulo. Sale //K//=0,4051. Con esta función de transferencia en lazo cerrado, y aplicando el método de Truxal, se llega a que el regulador necesario es:

Recordamos que el método Truxal es:

Como se puede observar comparándolo con los obtenidos por discretización o con el lugar de las raíces, el regulador obtenido por el método de Truxal es bastante más complejo, pues tiene dos polos y dos ceros en lugar de un polo y un cero. Sin embargo, los componentes digitales pueden implementarlo con facilidad, a pesar de que sería muy complicado con elementos analógicos.


 * LA HERRAMIENTA RLTOOL EN MATLAB:**

//__¿QUE ES RLTOOL?__//

RLTOOL es una herramienta en MATLAB, que proporciona una interfaz gráfica para llevar a cabo la formación de raíces en el análisis del lugar geométrico de entrada única y de salida única (SISO).

__//¿POR QUÉ UTILIZAMOS RLTOOL?//__

RLTOOL proporciona una manera rápida, fácil, y útil para el diseño de compensadores y poder ver su influencia en el lugar de raíces elaborado en el plano complejo. Con RLTOOL, rápidamente podemos añadir, eliminar o mover los polos y ceros compensadores, o cambiar la ganancia proporcional, y ver el resultado de la localización de la polos del bucle cerrado del sistema.

Además, RLTOOL puede darte las gráficas de las respuestas del sistema para hacer referencia a las perturbaciones de entrada, para que podamos verificar el rendimiento de nuestro sistema compensador de la planta.

También podemos examinar la respuesta al escalón unitario, respuesta al impulso unitario, diagramas de Bode y/o Nyquist entre otros.

//__USO DEL RLTOOL__//

Para comenzar, desde el workspace de MatLab, introducimos el comando rltool, con el que abrimos una nueva ventana (puede cambiar según la versión del programa), en la que encontramos:
1. Cuatro botones que utilizaremos para agregar polos o ceros del compensador, borrarlos o moverlos. 2. Botones para editar los ejes. 3. Botones para editar el zoom del gráfico. 4. Una barra de estatus que provee informacion.

Una vez abierta la ventana, debemos importar el modelo del sistema para el que queremos diseñar un compensador. Existen cuatro formas para importar un modelo LTI, y éstas son: 1. Cargar el modelo desde el workspace de Matlab, con el comando **rltool(sys,comp)**, donde sys es la función transferencia del sistema introducida como tal, comp la del compensador (opcional). 2. Cargar el modelo desde un archivo de extensión .mat de un disco. 3. Cargar bloques LTI SISO desde un diagrama de Simulink. 4. Crear los modelos utilizando tf, ss o zpk.

Al ejecutar rltool tambien se nos abre la siguiente ventana: control and estimation tools manager.



Podemos ver current architecture el modelo de nuestro sistema: Cada componente representa: F-prefiltro; P-modelo de la planta; H-dinamica de la planta; K-compensador a diseñar.

Voy a ilustrar esto con un ejemplo. Importo el modelo que desee desde el workspace. Para ello debemos previamente ingresar el modelo con la función **tf** o **zpk** y guardarla en una variable, por ejemplo G. Una vez cargado el modelo, debemos discretizar nuestro modelo con la función c2d, en este ejemplo sería Gd=c2d(G,T, 'zoh' ), siendo T el tiempo de muestreo y ‘zoh’ la forma de discretización.

Las posibilidades que tenemos a la hora de discretizar son:


 * –** ’zoh’: Discretización utilizando mantenedor de orden cero (ZOH). Es la opción por defecto.
 * –** ’foh’: Discretización utilizando mantenedor de orden uno (FOH).
 * –** ’tustin’: Discretización mediante aproximación trapezoidal.
 * –** ’prewarp’: Discretización trapezoidal con //prewarping//.
 * –** ’matched’: Discretización mediante emparejamiento de polos y ceros

Una vez discretizado mi modelo ejecutamos desde el workspace rltool(Gd), en este caso no lo importo, lo hago directamente, y nos aparecerá una nueva ventana con el lugar de las raíces, tal como esta:

Los pequeños cuadros rojos sobre él corresponden a los polos a lazo cerrado correspondientes al valor de la ganancia del compensador. Podemos ver hasta qué valor de ganancia podemos aplicarle al compensador para que se mantenga estable a lazo cerrado, es decir, hasta que los polos a lazo cerrado se mantengan en la circunferencia de radio 1 que podemos ver en línea discontinua. Este límite lo podemos calcular de la siguiente forma:

1.  Mover el puntero del mouse sobre un de los cuadrados rojos, donde aparecerá una mano en lugar del puntero. Arrastrar dicho cuadrado hasta lo más cerca de la circunferencia. Observar que el valor de la ganancia se va modificando.

2. Como no podemos saber si los polos se encuentran exactamente sobre la circunferencia utilizar el zoom para acercarlos mejor. Una vez alcanzada, quitar el zoom con el botón de los binoculares.

El valor de la ganancia podría haberse modificado directamente desde el recuadro correspondiente a la ganancia del compensador, hasta que los polos a lazo cerrado se ubiquen sobre el eje imaginario.

El valor de esta ganancia lo podemos ver en la ventana que también se nos abre al ejecutar rltool: control and estimation tools manager, pinchando sobre compensator editor podemos ver el valor de nuestra ganancia con esa ubicacion de los polos:



Para diseñar un compensador, debemos conocer dónde queremos que se ubiquen los polos a lazo cerrado para que las especificaciones que nos den se cumplan. Pinchamos con el botón derecho y seleccionamos desing requirements, new y te aparecen las especificaciones posibles. Las especificaciones te limitaran el lugar donde ubicar los polos con zona más sombreada.. Ahora sabemos que para que se cumplan las especificaciones de diseño, los polos dominantes del sistema a lazo cerrado deberán ubicarse en dicha región. Nos aparecerá una región como la siguiente:



Si variand el valor de la ganancia proporcional no podemos ubicar los polos en esta región debemos "mover" el lugar de las raíces agregando polos y ceros al compensador. Para ellos procedemos de la siguiente forma:

Utilizando los botones de agregar, o quitar, polos o ceros: seleccionar el botón correspondiente, luego con el puntero del mouse indicar dónde se ubicará el polo y hacer un click en dicho lugar. Con esto se modifica el lugar de las raíces. Si todavía no pasa por la región deseada correspondiente a las características de diseño, movemos los polos y/o ceros. Una vez conseguido esto, modificamos la ganancia para que los polos a lazo cerrado se ubiquen donde queremos.

También podría podría haber agregado los polos y ceros directamente en control and estimation tools manager en compensator editor, pinchando con el botón derecho puedes agregarlos en la coordenada que uno quiera.

Por último nos queda verificar con la respuesta al escalón que se cumplen las especificaciones dadas. Pinchando sobre analysis y respond to esteo command se nos abre una ventana como la siguiente en la que podemos verificar todas estas condiciones, como tiempo de establecimiento, tiempo de pico... Pinchando con el botón derecho, characteristics