27 oct 2016

Redes Neuronales - lo básico

El primer método a utilizar para identificar el motor DC, serán las redes neuronales. Para contextualizar el trabajo de identificación que se va a desarrollar mas adelante, primero se presentarán de manera general algunas nociones de redes neuronales (Adaptado de [1])
En la siguiente figura se muestra el modelo de una neurona con una sola entrada. (las figuras son tomadas de [1])

En este modelo, una entrada escalar p es multiplicada por el escalar w (weight w), el valor resultante de esta operación es enviado al sumador; al mismo tiempo la otra entrada es multiplicada por un valor offset o sesgo (bias b) y el resultado enviado también al sumador. La salida del sumador (n) pasa a una función de transferencia o señal de activación (f) que produce la salida de la neurona, un escalar (a).
La salida de la neurona es calculada como: a = f(wp+b). La salida real dependerá de la función de transferencia f que se seleccione. Algunas de las funciones mas utilizadas son: Hard Limit (hardlim), Linear (purelin), Log-Sigmoid (logsig), Hyperbolic Tangent Sigmoid (tansig).
Típicamente una neurona tiene múltiples entradas, en la siguiente figura se muestra el modelo de una neurona con R entradas.
En este caso la salida de la neurona es calculada como: a = f(Wp+b). Donde W es la matriz de importancia y p es el vector de entradas.
En la siguiente figura se muestra la misma neurona, pero utilizando una notación abreviada.

Habitualmente una sola neurona, aun teniendo muchas entradas, puede no ser suficiente; se podrían necesitar varias trabajando en paralelo, esto se conoce como capa (layer). En la siguiente figura se presenta una red de una única capa con S neuronas, observe que cada una de las R entradas está conectada a cada una de las neuronas y que la matriz de importancia tiene ahora S filas.

Una red puede tener varias capas; cada capa tiene su propia matriz de importancia W, su propio vector de sesgos b, un vector de entrada a la red n y su propio vector de salida a. La siguiente figura es la representación de una red de tres capas.

La representación simplificada de esta red se muestra a continuación.

Nota: El tema de redes neuronales es muy amplio y no se pretende ni se puede abarcar aquí; si se desea conocer más, un buen libro que recomiendo para empezar  es [1], el cual se tomó como base para este resumen-sinopsis.

El primer método identificación a evaluar (aplicado al motor Dc) corresponde al uso de redes neuronales sin retroalimentación (feed-forward), se iniciará con redes neuronales de varias capas y una entrada; paulatinamente se incrementarán el número de neuronas por capa, y el número de capas. En cada caso se visualizará su efectividad en modelar el comportamiento del motor, la particularidad y los resultados obtenidos serán presentados en un próximo post.

Este post está asociado a la secuencia: 
  1. Modelo de motor DC,
  2. Modelo de motor DC en Simulink,
  3. Pruebas de Identificación de motor DC –Parte A: Simulación del motor


Bibliografía
[1]    M. T. Hagan, H. B. Demuth, and M. H. Beale, “Neural Network Design,” pp. 1–1012, 1995.


GT 2016     @ProyectoGio

Pruebas de Identificación de motor DC – Parte A: Simulación del motor


El objetivo es evaluar diferentes técnicas de identificación aplicadas a un motor DC. Para simular el comportamiento del motor se utilizó un modelo generado en Simulink; los parámetros del motor utilizados en las simulaciones son:
L = 0,0052 H
Ke = 0,1 V/rad/s
R = 2 Ohm
J = 1,520x10-4 kg.m2
b = 0,01 N.m/rad/s
km = 0,1 N.m/A

Como ya se mencionó en el modelo del motor DC en Simulink, la señal de entrada es el voltaje de armadura Va; se utilizó una función escalón (Step) con un valor de 30, a la que se le agregó una señal de ruido aleatorio para simular el comportamiento real una fuente de voltaje.
Los parámetros utilizados en la simulación se muestran en la siguiente figura

Como el objetivo es realizar pruebas de identificación, a la salida del modelo se “midieron” la corriente de armadura Ia y la velocidad angular w
En el archivo generado al ejecutar el modelo, se tienen en su orden los siguientes parámetros: tiempo, voltaje de armadura(Va), corriente de armadura(Ia) y velocidad angular (w). En función del tiempo de simulación y el tiempo de muestreo, se tienen 301 datos para cada variable.

En las siguientes imágenes se muestra el comportamiento de la corriente y la velocidad angular.


Descargar el archivo de datos (DC_ParId.mat) AQUÍ.

GT 2016     @ProyectoGio

26 oct 2016

Modelo de motor DC en Simulink

Con las ecuaciones 1 y 2 se pueden construir modelos computacionales para simular el comportamiento del motor:


En concordancia con el modelo matemático del motor DC, en el modelo en Simulink, las entradas son el voltaje de armadura Va y el torque debido a la carga externa TL; este modelo entrega a la salida, la velocidad angular w, la corriente de armadura ia, el torque debido a la fricción Tf, el torque del motor Tm, y también se ha incluido una señal de ruido, señales que son presentadas visualmente y además grabadas en el archivo DC_ParId.mat.

Dentro del bloque DC Motor, se han incluido las dos ecuaciones matemáticas que gobiernan el comportamiento del motor DC, cada una en un módulo diferente.

El modulo mecánico es
En este módulo se ingresan y se pueden variar los parámetros J, b y Km.

El módulo eléctrico es
En este módulo se ingresan y se pueden variar los parámetros L, Ke y R.

Descargar el modelo para Simulink (MotorDC_IdentParamGTorres.slx)  AQUÍ



GT 2016     @ProyectoGio

Modelo matemático de motor DC


La dinámica de un motor DC puede ser representada mediante dos ecuaciones: una que involucra el comportamiento mecánico (ecuación 1) y la otra que involucra el comportamiento eléctrico del motor (ecuación 2). 
**En la ecuación 1 se ha incluido una componente que cuantifica la fricción viscosa.


Donde,
J es la inercia del motor, km es la constante de torque del motor, ia es la corriente de armadura, b es el coeficiente de fricción viscosa, w es la velocidad angular del motor, TL es el torque de la carga mecánica (externa), Vin es el voltaje de armadura, Ra es la resistencia en el bobinado de la armadura, La es la inductancia de la armadura y ke es la constante de velocidad del motor.

De esta manera, kmia es el torque del motor (torque electromagnético),  kew = Vemf es la fuerza contra-electromotriz, bw es la fricción viscosa, mientras que el torque requerido para acelerar el motor (sin carga) esta dado por J(dw/dt).

Si se quiere, el torque de la carga mecánica puede ser expresado explícitamente para incluir el momento de inercia de la carga (ecuación 3)

Donde,
JL es la inercia de la carga y bL es el coeficiente de fricción viscosa en el lado de la carga.


Con las ecuaciones 1 y 2 se pueden construir modelos computacionales para simular el comportamiento del motor; este es un modelo para Simulink:

    
GT 2016     @ProyectoGio