Mostrando entradas con la etiqueta Automatización y Control de Sistemas Dinámicos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Automatización y Control de Sistemas Dinámicos. Mostrar todas las entradas

22 de noviembre de 2012

Controlabilidad y Observabilidad

Automatización y Control de Sistemas Dinámicos
Laboratorio: Entrada 7

Como última entrega de laboratorio seleccioné un problema del libro Sistemas de Control Moderno, y este pide determinar si el sistema tiene controlabilidad y observabilidad, usando las funciones del paquete control en Octave.

El problema es el siguiente:
Un motor de corriente continua tiene un modelo de variables de estado como se muestra a continuación.

$\dot x= \begin{bmatrix}{-3}&&{-2}&&{-0.5}&&{0}&&{0}\\ {2}&&{0}&&{0}&&{0}&&{0}\\ {0}&&{2}&&{0}&&{0}&&{0}\\ {0}&&{0}&&{1}&&{0}&&{0}\\ {0}&&{0}&&{0}&&{2}&&{0}\end{bmatrix}x+ \begin{bmatrix}{1}\\{0}\\{0}\\{0}\\{0}\end{bmatrix}u$

$y=\begin{bmatrix}{0}&&{0}&&{0}&&{0}&&{1.25}\end{bmatrix}x$

Determinar si el sistema es controlable y observable.

Utilizando las funciones ctrb para obtener la matriz de controlabilidad y obsv para obtener la matriz de observabilidad, podremos obtener la determinante de cada una de estas matrices.

Se sabe que cuando la determinante de la matriz de observabilidad da como resultado un valor diferente de cero, el sistema es observable y que cuando la determinante de la matriz de controlabilidad da como resultado un valor diferente de cero, el sistema es controlable.

Por lo tanto cree en octave funciones simples que hacen uso del paquete control para determinar si el sistema dado, en este caso en la forma de espacio de estados, es controlable y observable.

Este script tiene definidas las funciones "controlabilidad" y "observabilidad", y una más que hace la llamada a estas dos anteriores y yo la llamo "verificar".

Este es el código en octave.


Ahora para poder determinar si el sistema es controlable y observable pasamos las matrices del espacio de estados a matrices en octave. Esta las declaramos como se muestra a continuación.


$\begin{bmatrix}{-3}&&{-2}&&{-0.5}&&{0}&&{0}\\ {2}&&{0}&&{0}&&{0}&&{0}\\ {0}&&{2}&&{0}&&{0}&&{0}\\ {0}&&{0}&&{1}&&{0}&&{0}\\ {0}&&{0}&&{0}&&{2}&&{0}\end{bmatrix}$
A = [-3 -2 -0.5 0 0;2 0 0 0 0;0 2 0 0 0;0 0 1 0 0;0 0 0 2 0];

$\begin{bmatrix}{1}\\{0}\\{0}\\{0}\\{0}\end{bmatrix}$
B = [1; 0; 0; 0; 0];

$\begin{bmatrix}{0}&&{0}&&{0}&&{0}&&{1.25}\end{bmatrix}$
C = [0 0 0 0 1.25];

Ahora es así como cargamos el módulo con las funciones de controlabilidad y observabilidad y creamos las matrices así como se mostró anteriormente.

octave:1> source 'contr-obser.m'
octave:2> A = [-3 -2 -0.5 0 0; 2 0 0 0 0; 0 2 0 0 0; 0 0 1 0 0; 0 0 0 2 0];
octave:3> B = [1; 0; 0; 0; 0];
octave:4> C = [0 0 0 0 1.25];
octave:5> verificar(A, B, C)
------------------------
Matriz de controlabilidad
contr =

    1   -3    5   -5    1
    0    2   -6   10  -10
    0    0    4  -12   20
    0    0    0    4  -12
    0    0    0    0    8

Determinante
deter =  256
CONTROLABLE
------------------------
Matriz de observabilidad
obser =

    0.00000    0.00000    0.00000    0.00000    1.25000
    0.00000    0.00000    0.00000    2.50000    0.00000
    0.00000    0.00000    2.50000    0.00000    0.00000
    0.00000    5.00000    0.00000    0.00000    0.00000
   10.00000    0.00000    0.00000    0.00000    0.00000

Determinante
deter =  390.62
OBSERVABLE
------------------------
octave:6>
Podemos ver en las impresiones que el resultado de las determinantes es diferente de cero por lo tanto el motor de corriente continua es controlable y observable.

Referencias:
Sistemas de Control Moderno, 10ma edición, Richard C. Dorf, Robert H. Bishop, PEARSON.

19 de noviembre de 2012

Proyecto de Automatización

Automatización y Control de Sistemas Dinámicos
Reporte Final

El reporte, presentación y código del proyecto final se encuentra en el siguiente enlace al blog del compañero Roberto Martínez.


15 de noviembre de 2012

Representación en el Espacio de Estados

Automatización y Control de Sistemas Dinámicos
Laboratorio: Entrada 6

Una representación de espacios de estados es un modelo matemático de un sistema físico descrito mediante un conjunto de entradas, salidas y variables de estado relacionadas por ecuaciones diferenciales de primer orden que se combinan en una ecuación diferencial matricial de primer orden. Para prescindir del número de entradas, salidas y estados, las variables son expresadas como vectores y las ecuaciones algebraicas se escriben en forma matricial. La representación de espacios de estado, también conocida como aproximación en el dominio del tiempo, provee un modo compacto y conveniente de modelar y analizar sistemas con múltiples entradas y salidas. [1]

Por lo tanto resulta conveniente utilizar la representación de espacio de estados cuando se requiere analizar sistemas de control que poseen más de una entrada y/o más de una salida, ya que se reduce la complejidad en las expresiones matemáticas utilizadas.

Para esta entrega seleccioné un problema del Capítulo 11, Análisis de Sistemas de Control en el Espacio de Estados, del libro Ingeniería de Control Moderna.

El problema es el siguiente:
Obtener con Octave una representación mediante la función de transferencia del sistema siguiente.

$\begin{bmatrix}{\dot x_1}\\{\dot x_2}\\{\dot x_3}\end{bmatrix}= \begin{bmatrix}{2}&&{1}&&{0}\\{0}&&{2}&&{0}\\{0}&&{1}&&{3}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}+ \begin{bmatrix}{0}&&{1}\\{1}&&{0}\\{0}&&{1}\end{bmatrix} \begin{bmatrix}{u_1}\\{u_2}\end{bmatrix}$

$y=\begin{bmatrix}{1}&&{0}&&{0}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}$

Para empezar hay que saber que es posible representar el modelo de un sistema mediante su función de transferencia o su espacio de estados. Octave provee de funciones en el paquete signal para transformar de una representación a otra, es decir, nuestra función de transferencia la podemos representar en un espacio de estados, y viceversa.

Primero me enfocaré a resolver lo que el problema pide, que es obtener la función de transferencia desde el espacio de estados.

Transformación del espacio de estados a una función de transferencia

Para obtener la función de transferencia desde el espacio de estados, usamos la siguiente orden en octave.
[num, den] = ss2tf(A, B, C, D)

Para el espacio de estados descrito anteriormente en el problema, desde octave escribimos lo siguiente.

octave:1> pkg load signal
octave:2> A = [2 1 0; 0 2 0; 0 1 3]
A =

   2   1   0
   0   2   0
   0   1   3

octave:3> B = [0 1; 1 0; 0 1]
B =

   0   1
   1   0
   0   1

octave:4> C = [1 0 0]
C =

   1   0   0

octave:5> D = [0 0]
D =

   0   0

octave:6> [num, den] = ss2tf(A, B, C, D)
num = 
{
  [1,1] =  1.00000
  [1,2] =  1.00000
}
den = 
{
  [1,1] =

     1.0000  -4.0000   4.0000

  [1,2] =

     1.0000  -2.0000

}
octave:7>

Vemos que octave nos arroja dos arreglos, uno para la variable "num" y otro para la variable "den", cada uno con dos elementos dentro. Esto significa que este espacio de estados contempla dos funciones de transferencia, así que tomamos el primer elemento de "num" con el primero de "den" para formar una función de transferencia, y el segundo elemento de "num" y el segundo elemento de "den" para la segunda función de transferencia.

Entonces nuestro resultado queda como sigue.

$\dfrac {Y(s)}{U_1(s)} = \dfrac {1}{s^2 - 4s + 4}$

$\dfrac {Y(s)}{U_2(s)} = \dfrac {1}{s - 2}$

Ahora veamos el caso contrario.

Formulación en el espacio de estados de sistemas basados en una función de transferencia

Ahora lo que queremos es obtener el espacio de estados, desde una función de transferencia.

Para esto la orden usada en octave es:
[A, B, C, D] = tf2ss(num, den)
Entonces si tenemos la siguiente función de transferencia.

$\dfrac {Y(s)}{U(s)} = \dfrac {10s+10}{s^3 + 6s^2 + 5s + 10}$

En octave escribimos el numerador y el denominador de la siguiente manera, para después mandarlos como parámetros a la orden en octave.

octave:1> pkg load signal
octave:2> num = [0 0 10 10];
octave:3> den = [1 6 5 10];
octave:4> [A, B, C, D] = tf2ss(num, den)
A =

   -0.00000   -0.00000    1.00000
    1.00000   -0.00000    0.50000
    0.00000  -10.00000   -6.00000

B =

   1.00000
   1.00000
   0.00000

C =

   0   0  -1

D = 0
octave:5>

Lo que nos arroja en este caso son matrices, que son las que forman parte del espacio de estados, y las representamos así.

$\begin{bmatrix}{\dot x_1}\\{\dot x_2}\\{\dot x_3}\end{bmatrix}= \begin{bmatrix}{0}&&{0}&&{1}\\{1}&&{0}&&{0.5}\\{0}&&{-10}&&{-6}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}+ \begin{bmatrix}{1}\\{1}\\{0}\end{bmatrix}u$

$y=\begin{bmatrix}{0}&&{0}&&{-1}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}+ \begin{bmatrix}{0}\end{bmatrix}u$

Cabe mencionar que la representación anterior no es la única, sino que existen muchas representaciones en el espacio de estados posibles, pero octave solo ofrece una de entre todas las opciones posibles.

Fuentes consultadas:
[1] - Espacio de Estados
Página 760, Ingeniería de Control Moderna, 4ta. Edición, Katsuhiko Ogata.

7 de noviembre de 2012

Reporte Grupal

Automatización y Control de Sistemas Dinámicos
Reporte Grupal

EL reporte grupal se encuentra en el blog de Roberto Martínez:
Reporte Grupal

6 de noviembre de 2012

Diseño de Control en Computadoras Personales

Automatización y Control de Sistemas Dinámicos
Lectura Científica

Documento original escrito por Thomas Knapp.

Es evidente que las computadoras personales han sido utilizadas por mucho tiempo para el análisis de sistemas de control y sistemas de control moderno, pero debido a la forma en que la mayoría de los programas para estos fines se han desarrollado, hacen que estos programas computacionales que analizan el estado del sistema, suelen no ser de tiempo real, o solo llegan a ser un aproximado a lo que pensamos es un análisis de tiempo real.

Naturalmente los que ya hemos trabajado con sistemas de control, sabemos que es posible trabajar desde nuestra computadora y ejecutar pruebas que creen entradas aleatorias de datos y ver como se comporta la salida en un sistema, pero cuando hablamos de una cantidad inmensa de información a analizar en su salida, se requiere de hardware que este creado para estos fine, es decir, hardware que sea capaz de guardar y procesar gran cantidad de información.

Y no solo se necesita grandes computadoras con hardware sofisticado, también es encesario hacer el uso de sistemas operativos en tiempo real. En nuestra travesía como estudiantes de ingeniería, ya hemos tenido que lidiar con sistemas operativos de este tipo, usados en sistemas embebidos con nuestros microcontroladores.

Ya que esta publicación no se trata de copiar información, les puedo comentar que se tienen rangos de velocidad en procesamiento de una computadora los cuales dicen si una computadora es apta o no para análisis de sistemas de control. Y desde mi punto de vista, el documento puede que este un poco obsoleto, por que fácilmente podría asegurar que cualquier computadora de nueva generación lograría soportar un análisis "bueno" de un sistema de control en tiempo real.

Actualmente la mayoría de los métodos de procesamiento que se tienen están creados en tiempos discretos, ya que resulta más adecuado para trabajar en computación digital. Algo que también hemos visto en clases de control, son los tipos de controladores, como el conocido PID e incluyen uno llamado estado de controlador, que según estudios resulta tener mejor respuesta en tiempo real.

A lo que nos lleva este documento es a la creación de un paquete que sirve para analizar sistemas de control pero tomando en cuenta los siguientes puntos:
  • Adquisición de datos en tiempo real
  • Verificación de proceso y método de control de diseño
  • Simulación de un circuito cerrado
  • Control en el proceso

El nombre del paquete que ellos crearon es CADREG-PC, es compatible con computadoras basadas en procesadores de IBM, y lo que nos ofrece en pocas palabras es crear un algoritmo para un sistema de control que puede ser fácilmente diseñado y probado sin ningún ningún retraso en cuanto a tiempo.

Enlace al documento:
Process Identification, Controller Design and Digital Control with a Personal Computer

29 de octubre de 2012

Estabilidad

Automatización y Control de Sistemas Dinámicos
Programa 1

Para esta semana la tarea a realizar fue un programa que determinara si una función de transferencia, en este caso la de nuestro proyecto para la clase, se considera estable o inestable, de acuerdo a análisis mediante octave.

El proyecto para esta clase trata de modular el nivel de sonido en un altavoz, que depende del ruido en la habitación.

Uno de los métodos que use para analizar si mi función de transferencia tiene estabilidad o no fue el Criterio de Routh-Hurvitz, pero debido a que octave no cuenta con un paquete especifico para obtener la tabla de valores que resulta de este criterio, use un modulo de código libre en la siguiente página.


Simplemente lo que hace este modulo es regresar los cuantos cambios de signo hubo en la primer columna de la tabla de Routh, y la tabla en sí. La cual es de gran ayuda para el análisis de estabilidad de esta tarea.

Mi código es el que muestro enseguida. Resumiendo lo que hace, al inicio se inicia la función de transferencia predeterminada, que es la que corresponde al proyecto en el que trabajo, según lo que se entrego en los reportes anteriores, también es posible mandar una función de transferencia cualquiera para analizar otras funciones.

Luego mediante el análisis de las raíces y el criterio de Routh, se determina si es inestable o no, y se manda una impresión. Al final se crean algunas gráficas que explico al final.


Cuando le mandamos como parámetro el valor de "None", toma la función de transferencia predeterminada, podemos ver la ejecución de este código en seguida.

octave:1> estabilidad('None')
****************************
* Funcion de transferencia *
****************************

Transfer function 'funtrans' from input 'u1' to output ...

      0.001358 s^2 + 5.5 s + 11
 y1:  -------------------------
       0.0001235 s^3 + s^2 + 1 

Continuous-time model.
****************************
*         Analisis         *
****************************
Raices en el denominador:
r =

  -8.1000e+03 + 0.0000e+00i
   6.1728e-05 + 1.0000e+00i
   6.1728e-05 - 1.0000e+00i

* Analizando las RAICES *
Hay partes reales positivas en las raices.
Por lo tanto el sistema es INESTABLE
* Criterio de Routh-Hurvitz *
tabla =

   0.00012   0.00000
   1.00000   1.00000
  -0.00012   0.00000
   1.00000   0.00000

Hay 2 cambios de signo.
Por lo tanto el sistema es INESTABLE
Lo que nos arroja en una de las gráficas es la función escalón de la función de transferencia dada.


También obtenemos el diagrama de Bode, que según la segunda gráfica indica que la función llega a un punto a donde tiende a infinito, lo cual nos dice que el sistema es inestable, ya que para poder ser estable, debería de haber estado acotado entre un rango especifico de valores, en cambio si graficaramos cada vez en un rango de frecuencia mayor, solo veríamos que la línea sigue subiendo.


Por último use lsim para ingresar "ruido" a la función de transferencia en un tiempo determinado. Puse valores obtenidos con la función de seno para ver que efecto causa.


Podemos ver nuevamente una función que sigue en el infinito conforme avanza en el tiempo, igual que la deducción anterior, se puede decir que el sistema es inestable.

Justificación de por qué es inestable el sistema
El sistema modula el volumen de los altavoces dependiendo de si existe ruido en la sala o no, pensemos en que inicialmente se reproduce música a cierto volumen, entonces si el sistema detecta ruido y en base a eso aumenta el volumen, seguramente su propia salida este entrando al sistema como ruido y provoque el aumento en volumen, por eso en las gráficas podemos ver un incremento en la amplitud.

Referencias:
Guardar gráficos de octave
Funciones del paquete control en Octave

15 de octubre de 2012

Diagrama de Bode

Automatización y Control de Sistemas Dinámicos
Laboratorio: Entrada 5

Para esta entrega seleccioné un problema del Capítulo 8, Análisis de la Respuesta en Frecuencia, y es el siguiente.

Dibuje el diagrama de Bode de

$G(s) = \dfrac {10(s^2+0.4s+1)}{s(s^2+0.8s+9)}$

Veamos la definición de un diagrama de Bode.

¿Qué es un diagrama de Bode?


Un Diagrama de Bode es una representación gráfica que sirve para caracterizar la respuesta en frecuencia de un sistema. Normalmente consta de dos gráficas separadas, una que corresponde con la magnitud de dicha función y otra que corresponde con la fase. Recibe su nombre del científico que lo desarrolló, Hendrik Wade Bode. [1]

El diagrama de magnitud de Bode dibuja el módulo de la función de transferencia (ganancia) en decibelios en función de la frecuencia en escala logarítmica. [2]

El diagrama de fase de Bode representa la fase de la función de transferencia en función de la frecuencia en escala logarítmica. Se puede dar en grados o en radianes. Permite evaluar el desplazamiento en fase de una señal a la salida del sistema respecto a la entrada para una frecuencia determinada. [3]

Diagrama de Bode en Octave


Octave ya tiene una función para dibujar los diagramas de Bode con unas cuantas líneas de código, solo es necesario tener instalado el paquete control, y tomar los datos de la función de transferencia del problema.

$G(s)$ es una función de transferencia, y se define de la siguiente forma:

$G(s) = \dfrac {num(s)}{den(s)}$

Para poder trabajar con esa función en octave, necesitamos multiplicar los factores en el numerador y el denominador.

$G(s) = \dfrac {10(s^2+0.4s+1)}{s(s^2+0.8s+9)}$

$G(s) = \dfrac {10s^2+4s+10} {s^3+0.8s^2+9s}$

En Octave podemos escribir los coeficientes del numerador y denominador como vectores, y después usarlos en la función bode.
octave:1> num = [0 10 4 10];
octave:2> den = [1 0.8 9 0];
Necesitamos pasar el numerador y denominador a una función de transferencia.
octave:3> sys = tf(num, den)
Utilizando la orden bode(sys), obtendremos los diagramas de Bode.
octave:4> bode(sys)

Como podemos observar en la gráfica generada, tenemos dos trazos diferentes, el primero es el diagrama logarítmico del módulo de una función de transferencia, y el segundo es un diagrama del ángulo de fase.

Ambos diagramas en la gráfica están representados en función de la frecuencia dada en radianes y esta en escala logarítmica.

En el primer diagrama podemos observar que la magnitud esta también en una escala logarítmica, debido a que la medición se hace en decibeles, y se sabe que los decibeles ya están en una escala a logarítmica.

Programa completo:
octave:1> num = [0 10 4 10];
octave:2> den = [1 0.8 9 0];
octave:3> sys = tf(num, den)

Transfer function 'sys' from input 'u1' to output ...

       10 s^2 + 4 s + 10 
 y1:  -------------------
      s^3 + 0.8 s^2 + 9 s

Continuous-time model.
octave:4> bode(sys)
octave:5>

Podemos cambiar el rango de frecuencia para el diagrama de Bode.
octave:5> w = logspace(-2, 4);
octave:6> bode(sys, w)

Como vemos en la imagen, podemos notar que el rango de la frecuencia dada en radianes fue cambiada de $[10^{-1} : 10^2]$ a $[10^{-2} : 10^4]$, y nos permite analizar de otra forma la función de transferencia.

Fuentes consultadas:
Página 592, Ingeniería de Control Moderna, 4ta. Edición, Katsuhiko Ogata.
[1:3] - Definición de Diagrama de Bode
Funciones Bode y Nyquist - Octave Control
Dibujar el Diagrama de Bode

14 de octubre de 2012

Criterio de Estabilidad de Routh

Automatización y Control de Sistemas Dinámicos
Laboratorio: Entrada 4

Para esta cuarta entrega del laboratorio, seleccioné un problema del Capítulo 5, Análisis de la Respuesta Transitoria y Estacionaria, y es el siguiente:

Considere el sistema en lazo cerrado que se muestra en la Figura 5.88. Determine el rango de estabilidad para K. Suponga que K > 0.

Figura 5.88. Sistema de lazo cerrado.

Para resolver esto es necesario utilizar el Criterio de estabilidad de Routh, el cual dice si existen o no raíces inestables en una ecuación polinomial, sin tener que obtenerlas en realidad. Este criterio de estabilidad sólo se aplica a los polinomios con una cantidad finita de términos. [1]

Cuando se aplica el criterio a un sistema de control, la información sobre la estabilidad absoluta se obtiene directamente de los coeficientes de la ecuación característica. [2]

Debemos simplificar el diagrama de bloques del sistema, para poder obtener después la ecuación característica.

Primero simplificamos los bloques en serie.


Luego quitamos la retroalimentación en el sistema mediante álgebra de bloques, que ya se ha aplicado en tareas anteriores. Nota: Aunque el punto de suma tenga un signo negativo, no significa que la suma en el denominador tenga que ser negativa, esto esta dado por las reglas de álgebra de bloques.


Con esto obtenemos nuestra función de transferencia para el sistema de lazo cerrado.

$\dfrac {C(s)}{R(s)} = \dfrac {K(s - 2)}{(s + 1)(s^2 + 6s + 25) + K(s - 2)}$

Multiplicamos los factores del denominador.

$\dfrac {C(s)}{R(s)} = \dfrac {K(s - 2)}{s^3 + 7s^2 + 31s + 25 + Ks - 2K}$

Agrupamos los coeficientes que tienen "s".

$\dfrac {C(s)}{R(s)} = \dfrac {K(s - 2)}{s^3 + 7s^2 + (31 + K)s + 25 - 2K}$

Para estabilidad, el denominador de la ecuación anterior es un polinomio estable, al tener todos los coeficientes de la variable "s" con signo positivo y entonces tenemos nuestra Ecuación característica.

$s^3 + 7s^2 + (31 + K)s + (25 - 2K) = 0$

La condición necesaria, pero no suficiente, para la estabilidad es que todos los coeficientes de la ecuación estén presentes y tengan signo positivo. [3]

Ahora, si todos los coeficientes son positivos, ordenar los coeficientes del polinomio en renglones y columnas de acuerdo con el arreglo siguiente.

Si:
$a_0s^3 + a_1s^2 + a_2s + a_3 = 0$

La tabla queda como sigue:

$s^3$ $a_0$ $a_2$
$s^2$ $a_1$ $a_3$
$s^1$ $\dfrac {a_1a_2-a_0a_3}{a_1}$ $0$
$s^0$ $a_3$  

Para nuestro caso particular el arreglo de coeficientes de Routh es el siguiente:

$s^3$ $1$ $31+K$
$s^2$ $7$ $25-2K$
$s^1$ $\dfrac {192+9K}{7}$ $0$
$s^0$ $25-2K$  

Paso intermedio para $s^1$:

$\dfrac {(217+7K) - (25-2K)}{7} = \dfrac {192+9K}{7}$

Como no tuvimos cambio de signo en la segunda columna, significa que no hay raíces con partes reales positivas. En caso contrario el sistema sería inestable.

Entonces se deberán cumplir las siguientes condiciones:

$\dfrac {192+9K}{7} > 0$
$25-2K > 0$

Veamos con la primera:

$\dfrac {192+9K}{7} > 0$
$192+9K > 0$
$9K > -192$
$K > -21.33$

Como el enunciado del problema da una condición inicial de que $K > 0$, se ignora este resultado.

Veamos con el siguiente:

$25-2K > 0$
$-2K > -25$
$K < 12.5$

Tenemos que K es un valor positivo, pero encontramos una restricción a no ser mayor a 12.5, de lo contrario provocaríamos un sistema inestable.

Asumiendo que $K > 0$, tenemos que el rango de estabilidad para el sistema es:

$12.5 > K > 0$

Y lo que quiere decir es que, para que el sistema sea estable, el valor de K debe encontrarse entre 0 y 12.5.

Fuentes consultadas:
[1] y [2] - Página 275, Ingeniería de Control Moderna, 4ta. Edición, Katsuhiko Ogata.
[3] - Criterios de Estabilidad

9 de octubre de 2012

Diagrama de Bloques

Automatización y Control de Sistemas Dinámicos
Reporte 2

Representen el sistema que buscan controlar en el proyecto grupal a través de un diagrama de bloque.

En el Reporte 1 de hace algunas semanas, habíamos obtenido la función de trasferencia de nuestro sistema, en mi caso, estoy trabajando en el proyecto de modulación nivel de sonido en un altavoz, que depende del ruido de la sala en que te encuentres.

Antes de llegar a función de transferencia había partido del circuito creado suponiendo que se decide hacer el uso de Arduino como controlador de la planta.


Ya había mencionado en tal reporte que las dos funciones principales eran las del micrófono y la bocina que daban parte a la siguiente función de transferencia.

$\dfrac {Cs}{Rs} =\dfrac {Ri+L}{\dfrac {\dfrac {s^{2}}{w^{2}}} {\dfrac {s^{2}}{w^{2}}+\dfrac {s}{wQ_{TSA}}+1}}$

Y esta la podemos simplificar un poco para poder trabajar con ella y nos queda de la siguiente forma.

$\dfrac {Cs}{Rs} =\dfrac {(Ri+L) \left( \dfrac {s^{2}}{w^{2}} + \dfrac {s}{wQ_{TSA}} + 1 \right)}{\dfrac {s^{2}}{w^{2}}}$

La función de transferencia mostrada puede ser representada como un diagrama de bloque, el cual de una entrada se produce una salida, pero vamos a hacer el proceso inverso de la simplificación de diagrama de bloques, en el cual vamos a desarrollar todos los componentes de la planta.


Lo primero que se hace es quitar la división grande del único bloque, y según las reglas del álgebra de bloques, tenemos que una división resulta de una suma de la salida a la entrada del sistema, que se representa como sigue.


El siguiente paso es separar la multiplicación del bloque superior, y para esto se sabe que cuando es una multiplicación, los bloques se quedan en serie, por lo que esta parte es fácil de entender el resultado.


Ahora la sumas que tenemos en los bloques resultantes, es posible cambiarlos por puntos de suma, como bloques separados, pero sin perder el orden que se tenia de los elementos.


Falta tomar en cuenta que la entrada y la salida generada por la planta esta en función del tiempo, como se describió en el reporte anterior.

Y esta última imagen representa el diagrama de bloques de la función de transferencia.

Recursos consultados:
Simplificar Diagrama de Bloques
Álgebra de Bloques

11 de septiembre de 2012

Modelo Matemático

Automatización y Control de Sistemas Dinámicos
Reporte 1

Para el primer reporte de la materia tenemos que modelar lo que se controlará en nuestro proyecto de equipo y tenemos que calcular la función de transferencia para la planta.

El proyecto en el que trabajaré con mi equipo es de ajuste de volumen. La idea es de controlar el volumen de sonido en una bocina o altavoz, de acuerdo al ruido que se encuentra en el entorno. Esto es que si tenemos reproduciendo una canción en un cuarto, y en determinado momento entra gente a platicar, el volumen del dispositivo que esta emitiendo el sonido de la canción, aumente paulatinamente para que se siga escuchando con igual fuerza la canción.

Un ejemplo práctico de donde se usa este tipo de sistemas, es en los automóviles, donde el volumen de la música dentro del auto aumenta cuando el motor emite mucho ruido, en cambio cuando este esta detenido, el volumen baja, esto con el fin de reducir problemas de audición para el conductor. También Apple, ya tiene patentado algo así para uso en iPods y Macbooks.


Circuito propuesto


La idea que tenemos para nuestro proyecto es que utilizando micrófono y altavoces de la computadora, como en la imagen anterior, podamos modelar el sistema, o que mediante un dispositivo externo conectado al equipo de sonido, logremos modificar el nivel de volumen. Aquí tengo un circuito suponiendo que hacemos uso de un Arduino como el equipo ya lo había propuesto.


Función de entrada


Como tenemos pensado, el dispositivo que nos dará una entrada al sistema será nuestro micrófono, que podríamos cambiar por un sensor que perciba niveles auditivos en decibeles, pero con un micrófono podemos medir cantidad de ruido, además de que en cuanto electrónica, es más barato comprar un micrófono que el medidor de decibeles.

La función que define la entrada de nuestro micrófono como sigue.

$Blv=Ri+L\dfrac {di} {dt}$
Donde:
$R$es la resistencia
$i$es la corriente
$Blv$voltaje inducido
$L\dfrac {di} {dt}$voltaje
$v =$$\dfrac {dy} {dt}$

Función de salida


Y tenemos también la función de salida de nuestra planta, que en este caso pertenece a la función de un altavoz. Esta la obtuve de un PDF mencionado al final, y esta es la función base, ya que existen algunas derivadas de esta que son usadas para mejora de sonido y amplificación.

En la salida de nuestro sistema controlaremos el sonido o volumen de reproducción de alguna canción.

$Hs=\dfrac {\dfrac {s^{2}}{w^{2}}} {\dfrac {s^{2}}{w^{2}}+\dfrac {s}{wQ_{TSA}}+1}$
Donde:
$s$variable de frecuencia compleja
$w$frecuencia angular
$Q_{TSA}$factor de calidad total

Función de transferencia

Sabemos que seguramente cuando analicemos en equipo la estructura de bloques que tendrá nuestra planta para la implementación física, podríamos agregar bloques intermedios que reduzcan el cambio repentino de volumen, pero por el momento solo considere las obvias y necesarias.

Por definición tenemos que la función de transferencia esta dada por la transformada de la entrada entre la transformada de la salida, y otra expresión también utilizada es la división de X entre Y.

$Gs =\dfrac {L[entrada]}{L[salida]} =\dfrac {Y(s)}{X(s)} $

Y sustituyendo nuestras funciones de entrada y salida nos queda lo siguiente, donde L significa la transformada de Laplace de la función contenida.

$Gs =\dfrac {L\left(Ri+L\dfrac {di} {dt}\right)}{L\left(\dfrac {\dfrac {s^{2}}{w^{2}}} {\dfrac {s^{2}}{w^{2}}+\dfrac {s}{wQ_{TSA}}+1}\right)}$

Entre platicas con mi equipo hemos pensado acerca de los datos que nos estará arrojando el micrófono, creemos que las funciones que estarán en nuestro sistema serán puramente lineales, dependiendo de como tengamos que manipular los datos de entrada.

Referencias:
Sonido y Acústica - INACAP
Modelo de un Micrófono
Funciones de transferencia - ITESCAM
Función de transferencia del sistema altavoz-caja

7 de septiembre de 2012

Diagramas de Bloques

Automatización y Control de Sistemas Dinámicos
Laboratorio: Entrada 3

Simplifique el diagrama de bloques que aparece en la imagen y obtenga la función de transferencia en lazo cerrado C(s)/R(s).

El siguiente diagrama de bloques es el original del problema, y mediante reglas del álgebra de bloques iré simplificando paso por paso el diagrama completo hasta dejar un solo bloque con la función de transferencia completa.


Teoría básica de Diagrama de Bloques


Un sistema de control suele estar compuesto de varios componentes, y cada uno de estos componentes lleva acabo una función. Para representar un sistema de control usamos un diagrama de bloques.

El diagrama de bloques es una representación gráfica donde podemos ver la relaciones que existen entre un componente y otro. Contiene información del comportamiento dinámico, pero no de la construcción física del sistema.

En el diagrama de bloques tenemos los llamados bloques funcionales donde se coloca algún símbolo para representar alguna función matemática dentro del sistema.

Tomando en cuenta el diagrama presentado al inicio podemos observar algunas funciones denominadas G y también algunas H, que suelen ser funciones de transferencia, para convertir la salida de datos, de alguna unidad a otra.

Las flechas indican hacia donde va el flujo, y se les conoce como señales.

Los círculos con signos positivos (+) y negativos (-), son puntos de suma y el lugar donde una línea se divide en más de una flecha se llama punto de ramificación.

Un diagrama de bloques con varios lazos de retroalimentación se puede simplificar mediante un reordenamiento de los bloques mediante reglas del álgebra de diagramas de bloque.

"Al simplificar un diagrama de bloques:
1. El producto de las funciones de transferencia en la dirección de la trayectoria directa debe ser el mismo.
2. El producto de las funciones de transferencia alrededor del lazo debe ser el mismo." [1]

En cuanto a las reglas del álgebra de diagramas de bloque, les dejo un PDF donde están todas las reglas necesarias para simplificar un diagrama como el que les mostré al inicio.

Tabla de Diagramas de Bloque

Simplificación de Diagrama de Bloques


Tenemos el diagrama de bloques como en la imagen al inicio de esta publicación. Es más fácil ir simplificando desde las partes más internas del diagrama.

La parte que tenemos encerrada en un cuadro rojo no tendrá un cambio algebraico, solo será un movimiento hacia la derecha, cambiando de orden con su vecino próximo. Esto no afecta en absoluto al sistema, ya que en los dos puntos de suma tenemos entrada de datos con signo negativo, y si se hace primero uno u otro no importa siempre y cuando sea antes del bloque G2.

La parte que si sufre un cambio es la encerrada en el círculo rojo. Ahí estamos cambiando la línea de entrada de H1, de antes de G2, a después de G2.


Para este cambio podemos demostrar mediante álgebra que no se ha desestabilizado el sistema.


Podemos ver que después del cambio, la salida de la flecha en ese punto será la misma que antes, solo que escrita de diferente forma.

En la siguiente imagen podemos ver ya los cambios plasmados en el diagrama de bloques. Pero aún nos falta seguir simplificando.


Ahora tenemos marcadas otras dos secciones de nuestro diagrama que vamos a simplificar, mediante las reglas proporcionadas en las tablas de las reglas para diagrama de bloques.

El recuadro rojo, se hace una unión entre nuestra G2 y H2, mientras que en el recuadro naranja tenemos una reducción de elementos.


Veamos como queda esta simplificación en la siguiente imagen. Y como podemos ver el diagrama poco a poco ha sido reducido.


Si notaron en este caso, el punto de suma que se había encerrado en el recuadro rojo, lo que se tiene es un signo negativo, y al aplicarlo en el bloque pasan los elementos con signo positivo. Esto se explica a detalle en el libro, y pasa porque en realidad el denominador es 1-(la sumatoria de los elementos), donde los elementos tienen signo negativo porque así lo marca el punto de suma, entonces al multiplicar este signo negativo por los elementos también con signo negativo, todos pasan a ser positivos en la función del bloque.

La siguiente parte más fácil de simplificar es la que tenemos en serie, y tenemos marcada en un rectángulo rojo en la siguiente imagen.


Cuando se tienen elementos en serie, tal y como en nuestro caso, las reglas nos dicen que hay que hacer una multiplicación de los elementos.


Este resultado lo colocamos en un bloque completo y el diagrama queda como se muestra a continuación.


Ahora vamos a simplificar esta sección marcada en rojo. Tenemos una retroalimentación del bloque grande y que pasa por la función de transferencia H3.


Para esto, según la reglas establecida, tenemos que dividir el bloque que tenemos de la simplificación anterior, entre 1 más la H3 que multiplica a ese mismo bloque. Veamos como se hace esta operación.


Y después de aplicar este cambio nos queda el siguiente diagrama.


La sección marcada con rojo, como en un caso anterior, se encuentra en serie, lo que implica una multiplicación de los dos bloques.


Como el bloque de G1 no tiene denominador, solo se multiplica este término en el numerador del siguiente bloque, y nos debe de quedar como sigue.


Y solo falta simplificar el último punto de suma, donde la misma salida retroalimenta de nuevo al sistema. Esta parte es simple, ya que las reglas de diagramas de bloque muestran que para esta última sección hacemos que el numerador del bloque, se sume al denominador.

Después de esto nuestro diagrama de bloques queda simplificado de la siguiente manera.


Y con esto podemos escribir nuestra función de transferencia en lazo cerrado que queda así:


Fuente consultada:
[1] - Ingeniería de Control Moderna, 3ra. edición, Katsuhiko Ogata, página 69.

6 de septiembre de 2012

Transformada de Laplace

Automatización y Control de Sistemas Dinámicos
Laboratorio: Entrada 2

En esta semana tuvimos un repaso de las transformadas de Laplace, así que para la segunda publicación de laboratorio, seleccionamos un problema del libro de Control de Sistemas Dinámicos, evidentemente relacionado con las transformadas de Laplace, y la tarea es contestarlo mediante definición de la transformada.

Como en mi problema tenía dos incisos, aproveche de hacer uno con la definición de la transformada de Laplace y el segundo un poco más directo mediante la ayuda de un formulario, y que aún así era necesario hacer algunos pasos extras por tratarse de un problema donde se tenía que utilizar la derivada de la función de F(s), para poder aplicarlo a la fórmula.

Al final se encuentra el documento que realicé para esta publicación, ya que ahí se puede ver un poco más claro la explicación y la secuencia de pasos.

Pero primero veamos como se define la transformada y después pasamos al problema resuelto.

Definición de Transformada de Laplace


"Sea f una función definida para t>= 0. Entonces la integral


se llama Transformada de Laplace de f, siempre y cuando la integral converja. Cuando la integral definitoria converge, el resultado es una función de s. Esta transformada integral tiene una serie de propiedades que la hacen útil en el análisis de sistemas lineales. Una de las ventajas más significativas radica en que la integración y derivación se convierten en multiplicación y división. Esto transforma las ecuaciones diferenciales e integrales en ecuaciones polinómicas, mucho más fáciles de resolver. Otra aplicación importante en los sistemas lineales es el cálculo de la señal de salida. Ésta se puede calcular mediante la convolución de la respuesta impulsiva del sistema con la señal de entrada. La realización de este cálculo en el espacio de Laplace convierte la convolución en una multiplicación, habitualmente más sencilla." [1]

Problema 1


Obtenga la transformada de la siguiente función.


Para empezar necesitamos pasar la función dada a una función más simple con la que podamos trabajar a lo largo del problema. Para esto tenemos una identidad trigonométrica que no ayudará a simplificar.


Vemos que lo que queda del lado derecho es la estructura de la función que enuncia el problema dado, veamos como queda al sustituir la u por nuestro wt.


Ahora podemos usar la parte izquierda de la función ya que es lo mismo que trabajar con la parte derecha, pero esta nos facilitará las cosas.

Y ahora veamos la definición de la Transformada de Laplace, que ya había mencionado unos párrafos más arriba.


Esta nos dice que la integral de cero a infinito del exponente e elevado a la -st y que multiplica a la función F(t), nos da como resultado la transformada de Laplace.


En los pasos anteriores podemos notar como la función que tenemos como F(t) se sustituye en la definición de la transformada. Luego se saca el 1/2 fuera de la integral por ser términos constantes, y luego procedemos a obtener la integral.

Para esto hacemos uso de la siguiente.


Y que en términos de nuestra función nos queda lo siguiente.


Ahora ya podemos sustituir los valores de b y 0.


La primer parte se elimina totalmente con solo saber que e elevado al infinito nos resulta cero, y toda esa parte se cancela. Solo nos queda por simplificar la otra parte.


Ya una vez simplificado todo lo posible podemos concluir con el siguiente resultado.


Nota: En el documento anexado al final, podrán ver como se resolvió también mediante la fórmula propuesta en un formulario.

Para corroborar el resultado obtenido, se probó con Wolfram Alpha. El resultado fue el mismo y además nos muestran una gráfica de la función resultante.


Problema 2


Ahora tenemos la siguiente función, y vamos a obtener su transformada de Laplace.


Esta vez resolveremos de una forma más sencilla que es utilizando la siguiente definición que se acopla a la función con la que estamos trabajando.


Así que para poder aplicarla primero tenemos que sacar la transformada de F(t) de la función principal, dejando fuera la t.


Ya que tenemos F(s), lo que sigue es obtener su primer derivada.


Comparar derivada con resultado de Wolfram.

Y con la primer derivada ya podemos hacer uso de la definición que nos ayudará a llegar al resultado mucho más rápido. Así que sustituimos la primer derivada de F(s) y luego simplificamos.


Y por último tenemos formalmente el resultado de la transformada de Laplace de la función dada al inicio del problema 2.


Esta también se verificó desde Wolfram Alpha para corroborar que el resultado es correcto y se obtuvo de la misma página la gráfica de la función.

Comparar transformada con Wolfram



La entrada originalmente era solamente un documento que creé, pero luego pensé en ser un poco más especifico en unos pasos, por lo que el siguiente documento es la resolución de los problemas ya planteados, pero con explicación más simple y además esta disponible para descargar en PDF.

Transformada De Laplace

Páginas consultadas:
[1] Definición de la Transformada de Laplace