Modelado de Ecuaciones Diferenciales en Simulink

Para representar las ecuaciones diferenciales en simulink debe seguir los siguientes pasos:

  1. Identificar la derivada de mayor orden y agregar bloques integradores.
  2. Resolver para la derivada de mayor orden.
  3. Representar el lado derecho de la ecuación

Modelo matemático

Considere el sistema de la figura en el cual se puede apreciar que se aplica un torque en un extremo del sistema, mientras que al otro extremo se encuentra un amortiguador torsional de coeficiente C_T.

La polea tiene un momento de inercia I y su radio tiene el valor R. La masa que está siendo levantada tiene un valor de m.

El modelo matemático del sistema es el siguiente:

T*R = (I+m*R^{2})*x^{\prime\prime}+C_T*x^{\prime}

En este tutorial se utiliza la versión de matlab 2021b.

Representación del modelo matemático

Conectar integradores

En este ejemplo la derivada de mayor orden es de segundo orden; por lo tanto, se deben agregar dos bloques integrador (Integrator).

Conecte los integradores en serie, y agregue conectores tanto al inicio como al final de los bloques.

Puede agregar etiquetas a los conectores dando doble click en cada uno de ellos para indicar las variables utilizadas.

Resolver para la derivada de mayor orden

Representar el lado derecho de la ecuación

Ganancias

Los factores deben ser representados por medio de bloques de ganancia(gain).

Primero, se representará el termino C_T*x^{\prime}

El factor C_T está multiplicando a la variable x^{\prime} ; entonces, en el bloque de ganancia se debe utilizar C_T. La entrada debe ser conectada al conector x^{\prime} .

Otro factor es \frac{1}{(I+m*R^{2})} , el cual está multiplicando a todo lo que se encuentra en el lado derecho de la ecuación. Para este senecesita un nuevo bloque de ganancia. Por el momento no será conectado. Si el bloque de ganancia indica -K-, significa que no puede mostrar todo el contenido. Esto se soluciona aumentando el tamaño del bloque.

Para el torque aplicado T se utilizará una entrada del tipo escalón. Para esto se requiere agregar el bloque «Step». Adicional, se necesita un bloque de ganancia para el factor R

Bloque sumador

Para completar el modelo se necesita un bloque sumador y poder completar la operación del lado derecho de la ecuación. Agregue el bloque sumador(Add) y conecte la salida de la ganancia con el el factor C_T. También, conecte la salida de la ganancia R .

Se puede observar que se tienen un término positivo y un término negativo. Para ajustar esto en el bloque sumador. Se debe dar doble click en el bloque para editar sus propiedades.

Configure el bloque de la siguiente forma y acepte los cambios.

Como resultado se puede observa que el bloque sumador tiene ahora una entrada con signo negativo

Antes de realizar las conexiones faltantes se muestra las etiquetas de los conectores de las salidas de las ganancias.

La salida del sumador se conecta a la entrada de la ganancia \frac{1}{(I+m*R^{2})} .

Se puede observar la salida del bloque sumador (Add) representa la diferencia presente al lado derecho de la ecuación y al ser multiplicado por la ganancia se obtendría x^{\prime\prime}. Para poder medir la posición de la masa se utiliza un scope conectado a la salida del último integrador.

A la salida de la ganancia de mayor tamaño se tiene la expresión \frac{1}{I+m*R^{2}}*(C_T-T*R) lo cual equivale a x^{\prime\prime}

Declaración de variables

Al momento se puede observar que las ganancias tienen un borde rojo indicando que existe un error. Esto es debido a que la constantes no han sido definidas.

Ingrese en las propiedades del modelo.

Configure los siguientes datos del modelo en el Callback InitFcn:

R = 0.2\,m \\I = 0.8\,kg \cdot m^2 \\C_T=0.1\,N \cdot m \cdot s \\m = 40\,kg

De esta forma las variables se quedan guardadas en el modelo y se cargarán cuando se ejecute el modelo.

Aplique los cambios y ejecute la simulación del modelo.

Debe obtener el siguiente resultado de la posición del objeto de masa m .

Palm, W. J. (2005). System dynamics(2nd ed). Boston: McGraw-Hill Higher Education.

Mecanismo Piñón-cremallera con Simscape Multibody

Simulación de mecanismo piñón-cremallera en simulink

Esta ocasión, les mostraremos como representar de forma conceptual un mecanismo piñón-cremallera en simulink utilizando los elementos de la biblioteca simscape multibody.

Para iniciar, se debe crear un archivo nuevo de simulink y agregar los elementos básicos necesarios para modelos utilizando la biblioteca de simscape multibody. Todos los elementos que se utilizarán se encuentran en Simscape -> Multibody.

Dentro de Utilities, agregar Mechanism Configuration. De «Frames and Transforms» agregar «World Frame». Ademas, agregar de Simscape->Utilities el elemento «Solver Configuration» y conectar los elementos como se muestra en la figura.

Conexión de elementos básicos para trabajar con simscape multibody
Conexión de elementos básicos para trabajar con simscape multibody

Luego, desde «Body elements» se deben agregar los elementos «Brick Solid» y «Cylindrical Solid».

 Brick y Cylindrical Solids
Brick y Cylindrical Solids

Seguidamente, configure los elementos como se muestra a continuación. (Utilice el deslizador de las fotografías para poder ver la configuración de cada elemento)

Propiedades de sólidos

Además, desde «Joints«, agregue las juntas «Prismatic» y «Revolute» al modelo.

Primatic y Revolute Joint
Primatic y Revolute Joint

Utilice las juntas para relacionar los solidos que fueron configurados de acuerdo con la siguiente figura y asegúrese que los puertos B estén conectados con el «Reference World».

Conexión de Brick y Cylindrical Solids
Conexión de Brick y Cylindrical Solids

Como resultado, al ejecutar la simulación, el sistema debe mostrarse de la siguiente forma en el Mechanics Explorers:

Resultado Preliminar del sistema
Resultado Preliminar del sistema

Es importante que la convención de visualización es que el eje Y corresponde al eje vertical. Se puede observar que no está posicionado para poder establecer una relación de piñón-cremallera entre los dos elementos. Para posicionar de forma adecuada el elemento que representa a la cremallera se debe utilizar un elemento «Rigid Transform», el cual se encuentra Frames and Transforms.

Este elemento debe ser configurado de la siguiente forma:

Configuración de Rigid Transform
Configuración de Rigid Transform

Consecuentemente, conéctelo entre el «World Frame» y «Prismatic Joint». El elemento «Rigid Transform» permite crear puntos de conexión con base en los ejes de referencia presentes en el modelo.

Conexión de Rigid Transform
Conexión de Rigid Transform

Al momento de ejecutar el modelo debe visualizarse de la siguiente forma en el Mechanics Explorer.

Orientación correcta del elemento que representa la cremallera
Orientación correcta del elemento que representa la cremallera

Conexión piñón-cremallera

Una vez realizado esto se puede agregar la restricción de piñón-cremallera para lo cual es necesario crear puntos de conexión utilizando el elemento «Rigid Transform» debido a que los ejes de referencia no permitirán que el sistema sea ensamblado correctamente.

Según la descripción del elemento «Rack and Pinion Constraint» se debe cumplir con lo siguiente: El piñón debe girar alrededor del eje z base y la cremallera se desplaza a lo largo del eje z seguidor. En la configuración inicial, el eje z del seguidor es paralelo al eje x de la base. El eje del seguidor descansa en el eje negativo de las y de la base. Tanto el eje y de la base como del seguidor son paralelos. Durante la simulación, el piñón y la cremallera deben ser alineados por el resto del mecanismo. Dentro de este bloque solo se debe configurar el radio del piñón, el cual para este caso es de 0.1 m.

En la siguiente figura se representa como deben estar colocados los ejes de referencia que servirán para realizar la conexión del «Rack and Pinion Constraint».

Representación de ejes de referencia
Representación de ejes de referencia

Donde los ejes pueden ser identificados de acuerdo con los colores:

  • Rojo -> Eje X
  • Verde -> Eje Y
  • Azul -> Eje Z

El eje del seguidor debe estar ubicado a una distancia igual al radio del piñón medida desde el eje de referencia base.

A continuación, se muestra como deben ser configurados ambos bloques de «Rigid Transform» tanto para la base como para el seguidor.

Configuración de Rigid Transforms

La conexión total del modelo debe ser completad de la siguiente forma:

Modelo completo del mecanismo piñón-cremallera con simscape multibody
Modelo completo del mecanismo piñón-cremallera

Finalmente, con esto el modelo está listo para continuar desarrollo. Se pueden agregar entradas ya sean de movimiento o de Torque en la junta «Revolute» y obtener la respuesta del sistema en la junta «Prismatic».