Anda di halaman 1dari 8

Universidad Nacional De Colombia

Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

Gua de Laboratorio No. 2


Profesor
Ing. Camilo A. Martnez Q. Modelado e Identificacion del motor
DC

1. DESCRIPCION
En esta practica obtendremos la funcion de transferencia del motor DC lego NXT con el que hemos trabaja-
do en la practica 1 con base en mediciones experimentales. Para esto usaremos 2 metodos: (i) La respuesta del
sistema a una senal binaria pseudoaleatoria (PRBS); y, (ii) la respuesta a un pulso; junto con la herramienta
de identificacion de sistemas de MATLAB.

2. OBJETIVOS
Obtener la funcion de transferencia de un sistema usando metodos experimentales.

Evaluar la calidad de prediccion del modelo de funcion de transferencia obtenido en relacion con los
datos experimentales.
Aplicar tecnicas de identificacion de sistemas usando herramientas de software.
Disenar Controladores con base en los modelos realizados.

3. CONCEPTOS IMPORTANTES
Motor DC de iman permanente
El motor DC de iman permanente es basicamente un transductor de torque que convierte energa electrica
en energa mecanica y se puede representar mediante el diagrama del circuito equivalente de la Figura 1 [1, p.
202].
En motores DC, la armadura del motor es modelada como un circuito con una resistencia Ra conectada
en serie con una inductancia La , y una fuente de voltaje eb que representa la fuerza contra-electromotriz en la
armadura cuando el rotor gira.

Las variables y parametros del motor se definen de la siguiente forma (ver Figura 1):

ia (t) es la corriente de armadura.


La es la inductancia de armadura.
Ra es la resistencia de armadura.

up (t) = es la tension de entrada aplicada (expresada aqu en porcentaje).

1
Universidad Nacional De Colombia
Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

Figura 1: Circuito equivalente del motor DC de iman permanente.

ei (t) es la fuerza contra-electromotriz.

Kv es la constante de fuerza contra-electromotriz.


Tm (t) es el torque del motor.
(t) es la velocidad angular del rotor.

(t) es el desplazamiento angular del rotor.


Jm es la inercia del rotor.
Kt es la constante de torque.
Bm coeficiente de friccion viscosa.

Al aplicar la tension u(t) en los terminales de la armadura del motor, se desarrolla un torque en el eje del
motor que es directamente proporcional a la corriente de armadura, segun la siguiente ecuacion:

Tm (t) = Km (t)ia (t) = Kt ia (t) (1)

De forma similar, la variacion de flujo magnetico induce la tension ei (t), de acuerdo con la siguiente ecuacion:

ei (t) = Kv (t). (2)


Usando las ecuaciones diferenciales de modelamiento del subsistema electrico y mecanico de la figura,
as como las ecuaciones 1 y 2, podemos obtener la funcion de transferencia de un motor DC. Considerando
como entrada la tension up (t) aplicada al motor y como salida el desplazamiento angular (t), la funcion de
transferencia del motor DC esta dada por la siguiente ecuacion:

(s) Kt
= 2
. (3)
Up (s) s(La Jm s + (Ra Jm + Bm La )s + (Kt Kt + Ra Bm ))

Teniendo en cuenta que la velocidad angular es la derivada de la posicion angular, es decir:

(t) = (t),

2
Universidad Nacional De Colombia
Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

lo que corresponde en el dominio del tiempo a

(s) = s(s),

Obtenemos la funcion de transferencia de la entrada de tension up (t) a la velocidad angular del motor (t)
eliminando el integrador en la ecuacion 3, siendo esta dada por:

(s) Kv
= 2
. (4)
Up (s) La Jm s + (Ra Jm + Bm La )s + (Kv Kt + Ra Bm )

La estructura descrita por la ecuaciones 3 y 4 constituyen la base para obtener los modelos de esta practica.

4. PREGUNTAS PRELIMINARES
Responda las siguientes preguntas antes de iniciar el desarrollo experimental.

1. Obtenga la funcion de transferencia dada por la ecuacion 3, usando leyes fundamentales de forma similar
al taller de la primera semana.
2. Investigue que es una secuencia binaria pseudoaleatoria (PRBS) y como se utiliza en identificacion de
sistemas.

3. Usando los siguientes parametros

Ra = 6.85 La = 0.0047H
Kv = 0.46 Kt = 0.31
Bm = 0.0011 Jm = 0.001

Simule la respuesta del motor en angulo y velocidad ante una onda cuadrada con periodo de 2 segundos,
con amplitud mnima de -80 y maxima de 80. Puede usar diagramas de bloques en simulink o el comando
lsim.
4. Simule la respuesta del motor en angulo y velocidad ante una entrada de tipo PRBS, con tiempo de
muestreo de 10ms, con amplitud mnima de -80 y maxima de 80. Simule para un factor de repeticion
de 1 y uno de 20. Indique las diferencias. Puede usar el siguiente codigo para la generacion de la senal
PRBS (para esto busque en la ayuda de Matlab el funcionamiento de las funciones idinput y lsim y las
caractersticas que deben tener las variables de entrada, por ejemplo, tf_vel corresponde a una funcin
de transferencia que debe ser definida previamente):

rango = [ 8 0 , 8 0 ] ;
banda = [ 0 1 / 2 0 ] ;
usim = i d i n p u t ( 2 5 6 0 , p r b s , banda , rango ) ;
t = ( 0 : l e n g t h ( usim ) 1) 0 . 0 1 ;
[ y , t ]= l s i m ( t f v e l , usim , t ) ;
plot ( t , y)

3
Universidad Nacional De Colombia
Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

5. Obtencion de la funcion de transferencia del motor


5.1. Experimentos con el motor
1. Realice un experimento, aplicando una senal de entrada up (t) de tipo PRBS al motor. Para ello, progra-
me el Arduino con el archivo prbs.ino suministrado con esta gua (por defecto el valor maximo de esta
senal es 80 % y el valor mnimo es 80 %). Adquiera los datos desde MATLAB mediante los siguientes
comandos (vea los archivos identarduino.m y adquirirdatos.m):

%% a p l i c a r a l motor y s a l v a r d a t o s d e l e x p e r i m e n t o
p o r t = COMX ;
baudios = 2000000;
h = 1 5 ; %tiempo de muestreo en m i l i s e g u n d o s , debe c o i n c i d i r con e l de
arduino
h s e g = h / 1 0 0 0 ; % tiempo de muestro en s e g u n d o s
tadq = 1 0 ; % tiempo de a d q u i s i c i o n en segundos , puede s e r c u a l q u i e r v a l o r
[ ang , u , Yd , Ym, Ys , T ] = a d q u i r i r d a t o s ( port , baudios , tadq , h ) ;
%% d e f i n i e n d o d a t o s para e l t o o l b o x de i d e n t i f i c a c i n
p l o t (T, ang , T, u ) ;
d a t o s p r b s = i d d a t a ( ang , u , h s e g ) ;
save ( datosprbs , datosprbs ) ;

Tenga en cuenta con que nombre almacena los datos obtenidos del motor. En caso de presentar problemas
con la adquisicion de datos considere desconectar la tarjeta, reconectarla y volver a programarla antes
de correr nuevamente el codigo. Si los errores persisten considere aumentar el tiempo de muestreo tanto
del codigo en Matlab (h) como en Arduino (deltaT).
2. Realice un experimento aplicando una senal cuadrada con periodo de 2 segundos, maximo valor de 80 %
y mnimo valor de 80 % en porcentaje de PWM (vea el archivo escalon.ino). Para esto puede usar el
siguiente listado de comandos:

%% a p l i c a r a l motor y s a l v a r d a t o s d e l e x p e r i m e n t o
p o r t = COMX ;
baudios = 2000000;
h = 1 5 ; %tiempo de muestreo en m i l i s e g u n d o s , debe c o i n c i d i r con e l de
arduino
h s e g = h / 1 0 0 0 ; % tiempo de muestro en s e g u n d o s
tadq = 1 0 ; % tiempo de a d q u i s i c i o n en segundos , puede s e r c u a l q u i e r v a l o r
[ ang , u , Yd , Ym, Ys , T ] = a d q u i r i r d a t o s ( port , baudios , tadq , h ) ;
%% d e f i n i e n d o d a t o s para e l t o o l b o x de i d e n t i f i c a c i n
p l o t (T, ang , T, u ) ;
d a t o s e s c a l o n = i d d a t a ( ang , u , h s e g ) ;
save ( datosescalon , datosescalon ) ;

Tenga las mismas consideraciones que en el caso anterior.

4
Universidad Nacional De Colombia
Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

5.2. Obtencion de modelos matematicos


3. Abra la aplicacion de identificacion de sistemas de MATLAB con el comando ident. Use los datos
del experimento del numeral 1 como datos de trabajo (Working Data). Con estos datos, obtenga los
siguientes modelos de la funcion de transferencia de tension a angulo del motor:
a) Un modelo que posea 2 polos reales, ningun cero y un integrador adicional.
b) Un modelo que posea 1 polo real, ningun cero y un integrador.
Use como datos de validacion (Validation Data) los datos obtenidos en el experimento 2 para comparar
los dos modelos
4. Teniendo en cuenta que la velocidad angular del motor puede ser estimada de la siguiente manera

(t) (t h)
(t) (5)
h
Obtenga los datos de velocidad angular a partir de los experimentos 1 y 2, aplicando la ecuacion 5. Para
esto puede usar el siguiente codigo:

%% d e f i n i e n d o d a t o s de v e l o c i d a d
h = 1 5 ; %tiempo de muestreo en m i l i s e g u n d o s , debe c o i n c i d i r con e l de
arduino
h s e g = h / 1 0 0 0 ; % tiempo de muestro en s e g u n d o s
u = u ( 1 : end 1) ;
t = t ( 1 : end 1) ;
v e l = d i f f ( ang ) / h s e g ;
plot ( t , vel )
d a t o s v e l o c i d a d = i d d a t a ( d i f f ( ang ) / hseg , u , h s e g ) ;
save ( datosprbsvel , datosprbsvel ) ;

Tenga en cuenta que los valores correspondientes a u y a ang corresponden a los datos almacenados en los
archivos correspondientes a los numerales anteriores. Otra forma de hacer esto puede ser directamente
desde el motor usando el archivo identarduinovel.m.
Tomando como datos de trabajo la derivada de los datos obtenidos en el experimento 1, use la aplicacion
de identificacion para obtener los siguientes modelos:
a) Un modelo con un polo, sin ceros y sin retardo
b) Un modelo con 2 polos, sin ceros y sin retardo
Compare los modelos usando como dato de validacion los datos de velocidad obtenidos al derivar los
datos del experimento 2.
5. A partir de los datos de velocidad obtenidos tras derivar numericamente el experimento 2, grafique un
periodo de la entrada y la salida a la senal cuadrada (esta es la respuesta al escalon) y a partir de la
grafica obtenga un modelo de primer orden de la forma dada por la ecuacion

Y (s) k
G(s) = = (6)
U (s) s + 1

5
Universidad Nacional De Colombia
Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

1
0.98
0.95
0.865

0.632

Amplitud

0
0 2 Tiempo (seconds)
3 4
Tiempo

Figura 2: Respuesta de un sistema de primer orden ante un escalon unitario.

Para obtener el modelo dado por la ecuacion 6, considere la figura 2


La ganancia estatica del sistema k se determina graficamente como:

salidaee
k= (7)
entradaee

es la constante de tiempo del sistema y es el tiempo que tarda la respuesta en llegar al 63.2 % de su
valor final, tal y como se muestra en la figura 2).
6. Importe el modelo anterior en la aplicacion de identificacion y compare su modelo con los modelos
obtenidos en el numeral 4.

APENDICE 1: Herramienta de Identificacion de Sistemas de Matlab


Escriba ident en la ventana de comandos de Matlab. A continuacion aparece una ventana llamada herra-
mienta de identificacion de sistemas (System Identificaction Tool), que de ahora en adelante se nombrara como
ident.
En la pestana import data seleccione Data Object. Configure Starting time en 0 y Sampling interval igual
al tiempo de muestreo h del experimento en segundos, luego de clic en import. Con este paso, acaba de cargar
la informacion del experimento (entrada y salida) a la herramienta de identificacion de sistemas de Matlab.
Cierre la ventana que utilizo para importar los datos del experimento.

Luego, en la ventana ident ubique la pestana llamada Estimate... y seleccione la opcion Process models...,
e inmediatamente se va a abrir una ventana llamada Process Models, en donde se podran seleccionar diferentes
funciones de transferencia (primer, segundo o tercer orden) con el fin de que Matlab realice una estimacion del
modelo seleccionado a partir de los datos experimentales cargados. Este paso se puede observar en las Figuras
3 y 4.

6
Universidad Nacional De Colombia
Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

Figura 3: Herramienta de identificacion de sistemas en Matlab.

Figura 4: Ventana Process Models de Ident en Matlab.

7
Universidad Nacional De Colombia
Laboratorio de Control
Facultad De Ingeniera
2016493
Departamento De Ingeniera Electrica Y Electronica
2017-II

Figura 5: Validacion de los modelos identificados con Matlab.

En la ventana Process Models (ver Figura 4), seleccione diferentes modelos matematicos cambiando el
numero de polos y adicionando ceros. Para cada modelo seleccionado realice la identificacion del modelo ma-
tematico dando clic en el boton Estimate.

Una vez se estimen modelos, estos van apareciendo en la ventana ident representados como pequenas
imagenes tal como se observa en la Figura 5 (izquierda). Si se desea observar la funcion de transferencia
obtenida, basta con dar clic derecho sobre cada modelo estimado y se abrira una ventana que detalla el
modelo obtenido. Si se desea observar el porcentaje de ajuste de cada modelo estimado comparado con los
datos experimentales, puede activar la opcion Model output y podra observar una grafica que provee esta
informacion (ver Figura 5 derecha).

Referencias

[1] M. F. Golnaraghi and Benjamin C. Kuo. Automatic control systems. Wiley, Hoboken, NJ, 9th edition,
2010.

Anda mungkin juga menyukai