Está en la página 1de 10

MODELAMIENTO GRAY BOX SISTEMA DE MOTOR DC Y TANQUE DE AGUA

Clayton Agudelo-2420211035, Juan Murillo-2420211011, Juan Batanelo-2420211039


Resumen- En este informe se aborda el análisis dinámico experimentos realizados, específicamente, el tanque de
de un motor y la supervisión de los niveles en tanques agua y el motor de corriente continua (DC). La función de
dentro de entornos industriales mediante el empleo de transferencia es un instrumento esencial que permite
funciones de transferencia, lo que facilita la comprensión establecer la relación entre la entrada y la salida de un
de la respuesta de los sistemas ante variaciones en las sistema dinámico en el dominio de la frecuencia. Esta
entradas. Este conocimiento resulta fundamental para la herramienta posibilita el análisis y modelado de la
elaboración de sistemas de control que garanticen un respuesta tanto del motor como del tanque en cuestión. Es
rendimiento óptimo y una eficiencia adecuada en diversas importante destacar que la función de transferencia
aplicaciones industriales. asociada al tanque de agua permite correlacionar el nivel
Palabras clave: análisis dinámico, motor, niveles, tanques, del líquido en función de la tasa de flujo y el proceso de
sistemas industriales, funciones de transferencia, respuesta, vaciado a lo largo del tiempo, proporcionando así una
entradas, control, rendimiento óptimo, eficiencia, comprensión detallada de su comportamiento dinámico.
aplicaciones industriales.
III. DESARROLLO
Abstract-This report addresses the dynamic analysis of an
engine and the monitoring of tank levels in industrial Para el desarrollo del informe se hizo análisis de dos
environments using transfer functions, which facilitates sistemas diferentes, el primero de ellos es un sistema DC
the understanding of the response of systems to variations en donde el sistema era controlado por un voltaje y a su
in inputs. This knowledge is essential for the development vez por medio de un microcontrolador se envía una señal
of control systems that ensure optimum performance and PWM para el control de su velocidad.
efficiency in a variety of industrial applications.
Keywords: dynamic analysis, motor, levels, tanks, industrial
systems, transfer functions, response, inputs, control, optimum
performance, efficiency, industrial applications.

I. OBJETIVOS

Objetivo general:
Desarrollar y confirmar el comportamiento dinámico del nivel
de agua contenido en un tanque implica el uso de la función de
Figura 1. Sistema físico del motor.
transferencia como herramienta fundamental. Este proceso de Fuente: Guia laboratorio.
modelado y validación se lleva a cabo con el fin de
comprender con precisión cómo varía el nivel de agua en Por otro lado se encuentra una moto bomba como principal
respuesta a diferentes entradas y condiciones ambientales. La el cual bombea agua por medio de una tubería hacia un
función de transferencia proporciona una representación tanque el cual mantiene vaciándose constantemente por
matemática que permite analizar y predecir el comportamiento medio de su voltaje de control. Mientras que la salida de
del sistema en tiempo real, lo que resulta crucial para el diseño este sistema está dada por la altura del líquido almacenado
y la implementación de estrategias de control efectivas en en el tanque.
diversos contextos industriales y de ingeniería.

Objetivos específicos:
● Utilizar competencias en el análisis de sistemas
para identificar la representación de su respuesta
en frecuencia.
● Contrastar la respuesta en frecuencia generada
mediante simulaciones con la respuesta en
frecuencia derivada del modelado tanto del motor
de corriente continua con excitación independiente
como del nivel de los tanques.
● Utilizar la herramienta de MatLab llamada
Simulink para la estimación de esos parámetros.

II. INTRODUCCIÓN
Figura 2. Sistema físico del tanque.
Fuente: Guia laboratorio.
En esta investigación, se lleva a cabo la recopilación de MOTOR DC
datos y su posterior verificación utilizando las funciones de
transferencia correspondientes a cada uno de los
L∗d
V c (t)∗KPWM =R∗I (t )+ I (t)+ K m∗W (t) (5)
dt

Como se tiene que este motor es un trifásico, el cual cuenta


con tres bobinas. La bobina del medio que se puede
observar en la figura 4 se encuentra constantemente
inducida por corriente, es por eso que cumple la función de
generar un campo magnético. Una vez generado ese
Figura 3. Sistema físico del motor.
Fuente: Guia laboratorio. campo, inducir un voltaje V a en la bobina de la parte
derecha permite que el motor pueda girar.
Basándose en los principios físicos del motor se halla la
función de transferencia donde se pretende relacionar la Haciendo la transformada a la ecuación (5)
entrada V c (t) con la frecuencia del motor w (t) como V c (s)∗KPWM =R∗I (s )+ L∗S∗I ( s)+ K m∗W (s)
salida. Se tienen las variables de V c como el voltaje de V c (s)∗KPWM =( R+ S∗L)∗I (s)+ K m∗W ( s)
alimentación al motor, R como la resistencia de armadura, (6)
L como la inductancia de armadura por último se tiene (e )
el voltaje electromotriz del circuito. Reemplazando la ecuación (4) en la (2) y aplicando la
función de transferencia se obtiene:
K m∗I (s)−b∗W (s)=J∗S∗W ( s) (7)
Despejando para I (s ).
(J∗S +b)∗W (s )
I (s )= (8)
Km

Con la ecuación (6) y la (8) se logra hallar la relación de la


función de transferencia, relacionando el voltaje de
alimentación del motor V c (t) con la velocidad angular del
Figura 4. Montaje físico del motor. motor como salida W (t). Por lo tanto ya se puede
Fuente: Autor. reemplazar la I (s ) obtenida en la ecuación (8) en la (6).
Para modelar el sistema eléctrico del motor, se formula la
ecuación por medio de la barrida de la malla del circuito
(R+ S∗L)∗(J∗S+ b)∗W (s)
relacionando su voltaje V a (t ) en donde este mismo V c (s)∗KPWM = + K m∗W (s)
Km
equivale a V a (t )=KPWM∗V c (t)
(9)

Ecuación de la malla del motor


W (s )
L∗d Si se despeja para en la ecuación se obtiene su
V c (t)∗KPWM =R∗I (t )+ I (t)+e (t) (1) V c (s)
dt
función de transferencia.
En el segundo paso para encontrar la función de

[ ]
2
transferencia se enfoca el análisis en el motor, esto permite (R+S∗L)∗(J∗S +b)+ K m
V c (s)∗KPWM = ∗W (s )
poder agregar una constante K m y la relación entre los Km
torques del motor τ m(t) , b que se toma como el W (s ) K m∗KPWM
coeficiente de fricción del motor y por último se tiene el
= 2 (9)
V c (s) S LJ + S( Lb+ RJ )+ Rb+ K m2
momento de inercia total del rotor y de la carga con
relación al eje del motor y por último la variable que será
Ya con esto se puede pasar a tomar las mediciones del
parte de la salida del sistema el W ( t) la velocidad angular. motor en donde se debe escoger una velocidad del motor
en revoluciones por minuto (RPM) dada por el docente que
Ecuación mecánica de torque fue de 800 RPM, se espera a que se estabilice el motor para
J∗d (2) poder tomar su señal PWM a esas revoluciones por
τ m(t)−b∗W (t )= W (t)
dt minutos asignadas.
También se tiene el que el voltaje electromotriz y la Una vez realizado esto se procede a sacar la señal PRBS,
relación entre torques se pueden expresar de esta misma pero para esto se debería conocer cuál es el tiempo de
manera: muestreo. Por eficiencia y por método del docente se toma
como muestreo 0,3 seg. y se genera la siguiente señal
e (t)=K m∗W (t) (3) PRBS.
τ m(t)=K m∗I (t ) (4)
De la ecuación (3) se procede a reemplazarla en la (1)
El siguiente paso es la simulación del sistema utilizando la
herramienta simulink como ya se había mencionado
antes.En la figura 9 se puede encontrar los bloques que
describen la planta.

Figura 5. Señal PRBS en matlab tiempo vs PWM.


Fuente: Autor matlab.

Esta señal PWM aumenta y disminuye un 10% desde el


punto de partida en el cual se estabilizó el motor. La
respuesta en velocidad angular del motor fue la siguiente.
Figura 9. Diagrama de bloques de la planta

Con la herramienta de estimación que brinda simulink se


estiman los parámetros que desconocemos de la función de
transferencia (J, b, Km, Kpwm), gracias a que se conoce R
y L no es necesario incluirlos en la estimación.
Figura 6. Respuesta de la velocidad angular del motor a la
señal PRBS. Una vez en la pantalla de estimación, se declaran las
Fuente: Autor matlab variables a estimar y se indican los rangos en los cuales se
encuentran comúnmente, por ejemplo la viscosidad (b)
Una vez tomados todos los datos del motor se procede a normalmente se encuentra entre 0 - 1. Cabe resaltar que
implementar la función de transferencia (9) en el matlab y como son variables físicas ninguna va a tomar valores
la tabla de datos de la señal PRBS y la velocidad angular negativos, de esta misma manera esas estimaciones salen
con el fin de poder graficarlos y poder aplicar la prueba de del 70% de la señal original, la parte de entrenamiento.
entrenamiento y estimación en el simulink.

Para poder realizar esta prueba se les quita el punto de


operación a las señales con el objetivo de que inicien en 0
y obtener mejores resultados en las estimación de los
parámetros.

Figura 7. Datos sin el punto de operación


Fuente: Autoría propia
Figura 10. Variación de los valores durante la estimación.
Una vez con los datos centrados en el origen, se crea un Fuente: Autor
banco de datos de entrenamiento que corresponda al 70%
de la señal mostrada en la figura 7 y los datos de validación
que corresponden al 30% de datos sobrantes.

Figura 11. Resultados de los valores estimados.


Fuente: Autor

Para confirmar que los parámetros están bien estimados,


hacemos uso de los datos de validación ya que no es lógico
validar la estimación con los mismos datos de
entrenamiento. Una vez terminado el proceso de validación
se obtienen dos gráficas, la gráfica más relevante es la
dispersión residual puesto que con ella podemos verificar
que tan desviado están el comportamiento aproximado de
nuestro sistema con el comportamiento real registrado.
Figura 8. Datos de entrenamiento y 30% para la validación
Fuente: Autoría propia
por último, reemplazando los valores estimados en la
ecuación (9) se obtiene la función de transferencia que
mejor modela el comportamiento de el motor

Figura 12. Muestra de la entrada del motor y la repuestos Figura 14. Función de transferencia para el motor
de la transferencia con los valores estimados Fuente: propia
Fuente : propia

TANQUE DE AGUA

Figura 13. Gráfica de la dispersión residual para


verificación variables estimadas Figura 15. Modelo físico del tanque de agua.
Fuente : propia
Fuente: Propia matlab.

Como confirmación de que la estimación fue correcta se Para la identificación de la función de transferencia del
observa en la figura 13 que el comportamiento del sistema tanque donde se relaciona su entrada como el voltaje de
aproximado no está muy alejado al comportamiento real
alimentación a la moto bomba V c (t) y la salida como la
registrado, como consecuencia, se puede dar como válida
altura de nivel del agua del tanque h(t).
la estimación realizada y dando una fiabilidad mayor a la
estimación. Para lograr la función de transferencia se divide el sistema
en dos:
No obstante se puede saber con exactitud que tan
desviados están los datos utilizando el error cuadrático Ecuación eléctrica de la motobomba
medio de raíz o RMSE. La primera parte donde se relaciona la parte eléctrica de la
bomba y la constante de la presión que esta bomba genera.
F ¿=K p∗V c (t) (1)

Y en la segunda fase del sistema la etapa del llenado del


tanque por medio de la motobomba

Figura 13. RMSE Ecuación hidráulica


Fuente: Propia d d d
m(t)= m ¿ (t)− mout (t) (2)
dt dt dt
Al calcular el RMSE nos indica con exactitud que tan bien
se adapta el modelo a los datos originales por lo que entre
menor sea este mejor. Se infiere también que:
m=δ∗V
m=δ∗A∗h (3)
m=δ∗F (4)

Por lo tanto se reemplaza (3) y (4) en (2)

d
Aδ m(t)=δ F ¿ (t)−δ F out (t)
dt

Entonces cancelando las densidades en la ecuación se


consigue
d
A H (t)=F ¿ (t)−F out (t) (5)
dt

Para flujo de salida se obtiene que


F out =kv∗√❑
Δ P=δ gh+ Atm− Atm
F out =kv∗√❑
d
F out = f (h ')∗Δ h
dh
kv∗g ρ
F out =
2 √❑
2 √❑
R=

Figura 16. Montaje físico del tanque.

F out = Δh (5) Fuente: laboratorio.
R Por lo tanto se escoge un valor de 7.35v para la
alimentación de la motobomba, ese punto de operación fue
Reemplazando la ecuación (6) en la (5) dado por el docente. A ese voltaje la motobomba era capaz
d gδ de generar un flujo suficiente para mantener el tanque de
A H (t)=F ¿ (t)− Δh
dt R agua a un nivel constante de 17,52 cm. Una vez nivelado el
tanque a ese nivel, se procede a realizar un aumento de
Se procede a llevarla a su transformación al dominio (s). 0.1v a la fuente de la motobomba; se cronometró el tiempo
(ts) que tardó en estabilizarse para poder encontrar entre
gδ que rango se puede tomar un muestreo adecuado para el
A∗S∗H (s )=F¿ (s )− H (s) (7)
R sistema.
El tiempo que tardó el tanque en estabilizarse fue de
Se reemplaza la ecuación (1) llevada a (s) en la (7) para 7 :17 minutos=437 segundos . Ya con este (ts) se puede
H (s) relacionar las siguientes ecuaciones:
poder encontrar la relación de
V c (s) 4 τ ≈ ts (9)
gδ τ τ
A∗S∗H (s )=K p∗V c (s)− H (s) ≤T ≤ (10)
R 30 10

( AS+ gRδ ) H (s)=K V (s) p c


En donde T se refiere al rango en el cual se puede
H (s) Kp encontrar el rango de muestreo. Entonces reemplazando ts
= en la ecuación (9) y despejando para τ .
V c (s) gδ
AS+ 437
R τ= ⇒ τ=109.25 seg
1 4
multiplicando la ecuación por arriba y abajo con el fin 3.641 seg ≤T ≤ 10.925 seg
A
de dejar a la S con coeficiente =1.
Por lo tanto al analizar el rango que pudo tomar el
H (s) K p / A muestreo del tanque se escogió un tiempo de 6 seg el cual
= es casi un punto medio del rango dado por la ecuación (10)
V c (s) gδ (8)
S+ que nos permita encontrar un valor más preciso de los
AR
parámetros K p y R que son llevados a la estimación.
Una vez conseguida la ecuación de transferencia se toman
los valores experimentales y pruebas físicas del sistema de Una vez se toman los datos con el tiempo de muestreo T
control de altura de nivel de un tanque. de 6 seg y por medio de una señal PRBS generada en
matlab se ejecuta la prueba para observar el nivel de altura unos parámetros muy reales y cercanos de las variables a
que tiene el tanque respecto en qué momento se encuentre estimar, se debe quitar el punto de operación que se utilizó
la señal PRBS, esta señal iba a variar 0.1v desde el punto en la medición para tener las gráficas ubicadas en el origen
de operación que se había utilizado de 7.35v. (0,0).

Figura 20. Datos obtenidos 100% de la muestra.


Fuente: Propia matlab.

Ya con esto se implementa en matlab el código que


permite saber la longitud del vector tiempo de la prueba del
tanque y permite encontrar y separar su entrada y su
Figura 17. Señal PRBS generada en matlab.
respuesta. Los vectores con el final ¿ train se asignaron al
Fuente: Propia.
70% que se utiliza para el entrenamiento del sistema y los
Antes de poder implementar los valores de los datos a vectores creados con el final ¿ val los que tienen el restante
matlab se verificaron para ver sus unidades y su correcto 30%.
almacenamiento en el archivo de texto, el software de
medición tuvo un error y la medidas de la altura del nivel
del agua lo mostraba en magnitud de millones, por lo tanto
se tuvo que corregir y arreglarlo para poder dejar los
resultados de la altura en metros.

Figura 21. Separación del 70% de los datos para training.


Fuente: Propia matlab

Para la parte de los vectores de validación se debe crear el


vector tiempo pero que también empiece desde el cero en
el eje del tiempo sin la necesidad de continuar con el 70%
del vector de la validación.

Figura 18. Conversión de formato datos obtenidos .


Fuente: Propia Excel.

Ya con la verificación de los valores, ya se puede crear el


.
código de matlab para poder hacer la misma verificación Figura 22. Separación del excedente 30% para validación.
como en la etapa del motor DC, realizando el código y Fuente: Propia matlab.
graficando su respuesta ante la entrada de la señal PRBS.
La graficación de los vectores de validación del 70% y de
entrenamiento con el 30% restante queda representados en
matlab de la siguiente manera.

Figura 19. Carga de variables y creación de espacio de


trabajo.
Fuente: Propia matlab.

Recordando que se hace la prueba de entrenamiento y


validación el cual es el que permitirá poder estimar y tener Figura 23. Gráfico data (Training and validation).
Fuente: Propia matlab.

Con estos vectores ya creado se procede a implementar la


función de transferencia con los parámetros medidos al
momento de las mediciones en la laboratorio para
posteriormente ser implementada por medio de simulink y
la zona de experimentos para la estimación de variables. Figura 26. Rango de estimación para Kp.
A pesar de que las variables a estimar en esta función de Fuente: Propia matlab.
transferencia dada en la ecuación (8) serán la constante
K p que se refiere a la presión que genera la motobomba y
el valor R que refiere a la resistencia que genera la tubería
para el vaciado del tanque. Con el fin de poder simular la
Gp(s) en el matlab se debía asignar posibles valores a las
que se quieren estimar.
Figura 27. Rango de estimación para R.
Fuente: Propia matlab.

Una vez se realiza la estimación esta nos arroja los


siguiente valores dados en la imagen, en donde se obtuvo
un valor para la constante
−6 6
K p=12.948× 10 y R=50× 1 0 .

Figura 28. Estimaciones realizadas para Kp y R.


Figura 24. Parámetros de las variables de la función
Fuente: Propia matlab.
transferencia del sistema tanque.
Fuente: Propia matlab
Verificando la gráfica de la respuesta con la nueva
Ya con la función de transferencia dentro del matlab se estimación de las variables K p y R se obtiene
puede proceder a crear el diagrama de bloques en el
Simulink el cual permite hacer la prueba de entrenamientos
y validación.

Figura 25. Diagrama de bloques simulink sistema.


Fuente: Propia matlab.

Ya en el simulink se implementa la función de


transferencia en el bloque correspondiente y se agregan los
bloques de Zero−Order Hold y Delay el cual

Ya con todo configurado se ejecuta el código y se accede a


la sección de los experimentos, en donde se cargan los
vectores de entrenamiento del 70% para poder realizar sus
estimaciones para las variables K p y R . seleccionadas las Figura 29. Medición Vs simulación del sistema estimado.
Fuente: Propia matlab.
variables a estimar se les asigna un rango entre el cual se
quiere las variables, esto con el fin de obtener una mejor
Ya con eso se gráfico de la misma manera el residual plot
exactitud de ellas y permitiendo agregar la precisión y
el cual permite identificar gráficamente qué tan desviados
fiabilidad a su modelamiento.
pueden estar los valores estimados de los datos reales del
tanque.
Figura 32. Valor obtenido de RMSE.
Fuente: Propia matlab.

Ejecutando esas líneas de código en el matlab se obtiene un


Figura 30. Gráfico residual de la estimación. valor de RMSE de 0.0015. Permitiéndonos tener una
Fuente: Propia matlab. segunda validación de la correcta estimación de las
variables que se desconocen para la función de
Tal como se aprecia en los gráficos presentados, el modelo, transferencia del sistema de llenado y vaciado del tanque.
construido utilizando los parámetros estimados, exhibe una
marcada semejanza con la señal extraída directamente de Con ese valor tan bajo del RMSE se termina de confirmar
los datos del tanqueray de la misma manera la gráfica que la diferencia entre los datos reales y los datos
residual no presenta mucho picos sino que está muy a fin estimados son muy mínimas y tienen un nivel de exactitud
con los valores de entrenamiento. muy alto. Es por esto que integrar la estimación de
Sin embargo, con el fin de reforzar la confianza en estos parámetros posibilita que el modelo se adapte con mayor
resultados y verificar la exactitud del modelo, se lleva a precisión y agilidad a las condiciones reales del sistema, lo
cabo una evaluación mediante el cálculo del Error que, a su vez, mejora su habilidad para controlar y
Cuadrático Medio de Raíz ( RMSE ) . anticipar el comportamiento del sistema en tiempo real.
El cálculo del Error Cuadrático Medio de Raíz (RMSE) es
una métrica utilizada para evaluar la precisión de un Como resultado final la función de transferencia dada en la
modelo de predicción en comparación con los valores ecuación (8) se reemplaza por los valores medidos y con
reales, realmente indica cuánto difieren las predicciones los estimados dando el siguiente resultado
del modelo de los valores reales en promedio,
proporcionando una medida de la precisión del modelo. Un
valor de RMSE más bajo indica una mejor concordancia
entre las predicciones del modelo y los datos reales.
El código que se implementó para el matlab fue realizado
mediante un ciclo for:

Figura 33. Función de transferencia con las variables


estimadas.
Fuente: Propia matlab.

IV. CONCLUSIONES
Durante la investigación se conoció y practicó con el
método de entrenamiento y validación de parámetros que
se realiza a variables que se estiman o realmente se
desconocen de un sistema mediante su función de
transferencia.

El procedimiento de estimación de parámetros, el cual


Figura 31. Código ciclo para el cálculo del RMSE. implicó la elaboración de modelos mediante diagramas de
Fuente: Propia matlab. bloques y funciones de transferencia, se reveló como una
herramienta sumamente efectiva para capturar el
comportamiento de sistemas de gran complejidad. La
capacidad de visualizar en tiempo real cómo el modelo se
adapta a las señales originales contribuyó de manera
significativa a mejorar la comprensión y la confianza en el
proceso.
La velocidad inherente del motor DC posibilitó un Lt = round(0.7*L); % 70%
muestreo de señales relevantes más rápido y eficaz. Esto t_train = t(1:Lt);
conlleva a una mayor densidad de datos en un período de v_train = v(1:Lt);
tiempo relativamente breve, lo cual resulta crucial en la h_train = h(1:Lt);
modelización de sistemas dinámicos. La capacidad de
adquirir una gran cantidad de puntos de datos en un corto % training data
intervalo de tiempo establece una sólida base para la t_val = t(Lt+1:end)-t(Lt+1);
estimación de parámetros y la elaboración de modelos v_val = v(Lt+1:end);
precisos. h_val = h(Lt+1:end);

Caso contrario fue el sistema de llenado del tanque en figure(1)


donde la dinámica del sistema fue más lenta y afectando la subplot(2,1,1)
recopilación de datos. Como consecuencia, se vio limitada plot(t_train,v_train/100,t_train,h_train)
la cantidad de datos disponibles en un lapso de tiempo title('Training data')
determinado, lo que a su vez afectó la capacidad de subplot(2,1,2)
construir modelos de tipo caja gris con la misma densidad plot(t_val,v_val/100,t_val,h_val)
de información que se logró con el motor DC. title('Validation data')
figure(2)
Fijándose en los resultados obtenidos, se observó que en el subplot(2,1,1)
caso del tanque de agua la prueba de RMSE concluyó con plot(t,v/100,t,h);grid on % data with operation point
un resultado de 0.0015. Resultado lo suficientemente bajo removed
indicando una precisión muy exacta y una estimación de figure(3)
las variables casi perfecta. plot(t,v);grid on
% model parameter
Caso contrario al resultado del RMSE obtenido en el motor A = 0.01575;
DC en donde a pesar de que el resultado fue 4.7 en el Kp = 0.00000847 ;
RMSE se logra igual apreciar en la figura 12 su gran p = 1000;
similitud con la original al momento de la verificación de g = 9.8;
la estimación de las variables. R = 500000000;
% Transfer function
La estimación de parámetros ha demostrado ser una Gps = (Kp/A)/(s + (p*g)/(R*A));
herramienta invaluable en virtud de su capacidad para
realizar una parametrización de caja gris, la cual considera % Cálculo del RMSE
tanto los parámetros esperados del modelo físico como las Gs=lsim(Gps,v_val,t_val);
perturbaciones inherentes al montaje real. Este enfoque ha sum = 0;
permitido una comprensión más profunda y precisa del n = length(t_val);
sistema bajo estudio, facilitando así la formulación de for N = 20:n
estrategias efectivas de modelado y control. minus = Gs(N)-h_val(N);
square = minus.^2;
REFERENCIAS sum = sum+square;
1. BARRERO, O. Sistemas de control en tiempo discreto, end
1ra. Edición. 2016. frac = sum/n;
RMSE = (sqrt(frac))
2. OGATA, K. Ingeniería de Control Moderna, 4ta
edición. Código para el motor

load 'datamotor.mat'
ANEXOS s=tf('s');
% organize data for parameter estatment
Código para el sistema del tanque Vae= Va-60;
We=W-86.08;
s = tf('s'); % data with operation poin
load tanquedeagua.mat subplot(2,1,1)
plot(t,Va,t,W); grid on
subplot(1,1,1) % data with out operation point
plot(t,v,t,h);grid on % data with operation point removed subplot(2,1,2)
plot(t,Vae,t,We); grid on
L = length(t); % length of vector t
% splitting data for training and validation
L=length(t); % lenght of vector t

%training data

lt=round(0.7*L);
t_train=t(1:lt);
Va_train=Vae(1:lt);
W_train=We(1:lt);

%Validation data

t_val=t(lt+1:end)-t(lt+1);
Va_val=Vae(lt+1:end);
W_val=We(lt+1:end);

subplot(2,1,1)
plot(t_train,Va_train,t_train,W_train)
title('Training data')
subplot(2,1,2)
plot(t_val,Va_val,t_val,W_val)
title('Validation data')

% model parameter

La=368.5e-3;
Ra=38.8755;
J=8.1975;%1
Km=12.782;%1
b=0.60241;%1
Kpwm=12.747;%1

% Trandfer function

Gps=(Kpwm*Km)/(J*La*s^2+
(J*Ra+b*La)*s+b*Ra+Km^2);

% Calculo del RMSE


Gs=lsim(Gps,Va_val,t_val);
sum = 0;
n = length(t_val);
for N = 20:n
minus = Gs(N)-W_val(N);
square = minus.^2;
sum = sum+square;
end
frac = sum/n;
RMSE = (sqrt(frac))

También podría gustarte