Está en la página 1de 22

LABORATORIO INGENIERÍA DE CONTROL

ELECTRÓNICO

Grado en ingeniería electrónica y automática industrial.


Curso académico 2015-2016

Entregable1

Pablo Conde Fernández

Eduardo Moñino Esteban


1.Modelado e identificación de la planta mecatrónica
1.a.Identificación de no linealidades

Creamos la señal de referencia creando el siguiente esquema en simulink:

A continuación obtenemos la respuesta del motor con ayuda del siguiente código:

Ts=0.005;
sim('Esquema1_a.mdl')
load('referencia1_a.mat');%Cargamos la variable creada al ejecutar
simulink en el espacio de trabajo
mat2c('referencia1_a.mat'); %Pasamos la referencia de .mat a .c
Ejecutamos el programa en Keil con la nueva referencia y guardamos la
respuesta del teraterm como un archivo .txt
salida=read_file('salida1_a.txt'); % convierte los datos obtenidos del
teraterm en la variable salida.mat

Página 1 de 22
La salida nos da la información de la velocidad del motor en rpm.
Retardo: se le aplica un cambio brusco a la señal de referencia y se observa cuánto tarda la respuesta en
seguir a la referencia:

Página 2 de 22
Vemos que el tiempo de retardo es de 0,01s=10ms, como Ts=5ms, tenemos que tiene 2 retardos, es
decir tarda dos muestras en responder. Esto se puede ver en matlab si representamos los datos en
función del nº de muestras en vez de en función del tiempo de ejecución

Este retardo viene producido por el tiempo de procesamiento de ambas placas, del protocolo de
transmisión tcp ip, por la resolución del encoder, pero sobre todo, por las características del propio
motor (inercias, holguras…)

Página 3 de 22
Zona muerta: la zona muerta está marcada por el mínimo nivel de excitación de entrada para el cual, el
valor de la salida no es nulo.

Página 4 de 22
A partir de las siguientes gráficas observamos que la zona muerta es aproximadamente está entre ±20.

Saturación: si la relación es 1:1000, al tener 1V tendríamos 1000 rpm y si tuviéramos 1000V tendríamos
1000000 de rpm (lo que es físicamente imposible, el motor llegaría al límite por saturación en algún
momento), es decir, la saturación es el valor de entrada a partir del cual la salida no varía.

Página 5 de 22
Cuantificación de entrada: en la entrada tenemos un paso de cuantificación de 1

Cuantificación de salida:en la salida tenemos un paso de cuantificación de:

= . . .
= , . . .
=11,278

En una vuelta tenemos 76 cuentas,la mínima velocidad se da cuando en un periodo de muestreo


[ − ]( )=1

Por lo tanto la velocidad mínima es → ( )=[ − ]( ). =1.11,278=11,278rpm

Esto se puede comprobar en los datos obtenidos de la respuesta del sistema:

1.b.Modelo en zona lineal e identificación paramétrica

Obtenemos los ficheros .mat con la respuesta de la planta real (y) ante la entrada (u) y la entrada a la
componente lineal de planta (û):

Página 6 de 22
Sabemos que la función de transferencia de nuestro modelo tendrá la forma:

( )= (ya sabemos que = 2)

Realizamos la identificación paramétrica con las funciones arx y oe de Matlab, tomando para ello los
datos de (û) y (y) correspondientes a los intervalos [7:19] segundos. Para ello creamos el siguiente
código en Matlab:

El cual nos arroja el siguiente resultado:

El error por el criterio de mínimos cuadrados (MSE) es menor según la estructura OE Por lo tanto
tenemos:

,
( )= . (Por lo tanto = 0,2535 ; = 0,8591)
,

0,2535
. á = lim ( ) = lim −1
− = 1− = = = 1,80
→ → 1− 1− 1 −1 1− 1 − 0,8591

Suponiendo el sistema estable (| | <=1 entre -1 y 1; | | entre -1 y 1) vemos que la ganancia


estática aumenta cuando se hace más positivo y cuando se hace más negativo.

La cte de tiempo de un polo en el plano s es:

= (pasando al dominio discreto z= )→ = 0´8591 = → = 0,0329

Página 7 de 22
Para validar el modelo, comparamos la salida de este con la de la planta real para la entrada u para ello
creamos nuestro modelo completo en simulink:

Este error puede deberse a que al realizar la identificación paramétrica no hemos eliminado la no
linealidad de la cuantificación de salida, además del error debido al ruido al modelar el resto de no
linealidades.

Página 8 de 22
2.Control de velocidad
2.a.Control PI

La FT en lazo abierto de nuestra planta junto con nuestro PI será (escogiendo c= ):

K(z − 0,8591) 0´2535 K . 0´2535


G(z)Gpi(z) = . =
(z − 1) z − 0,8591z z(z − 1)

Para el caso de sistema estable nos piden que la respuesta sea subamortiaguada, por lo que los polos
deben ser complejos conjugados, también nos piden que se tomen 8 muestras por periodo
amortiguado. por teoría sabemos que el número de muestras por segundo está marcado por la fase de
los polos dominantes, por lo tanto:

( )= = = = 0,785 = 45º(nuestra z estará en la intersección del LGR y la linea de 45º)


/

como tg45=1, nuestro polo dominante estará donde parte real=parte imaginaria

A continuación representamos el LGR con matlab y determinamos la ganancia que hace que nuestro
sistema tenga la dinámica deseada.

Para comprobar que el sistema cumple las especificaciones de diseño introducimos como entrada un
escalón unitario y analizamos la respuesta del sistema:

Como podemos ver la respuesta es subamortiguada

Página 9 de 22
Analizando un periodo de la respuesta podemos comprobar que toma 8 muestras por periodo:

Simulando el sistema completo en simulink se obtiene la siguiente salida

La señal sigue bastante bien la referencia de velocidad introducida en el sistema. el ruido que aparece
en t=12 y t=20 se corresponde con los cambios bruscos de la perturbación del sistema, que introduce
ese ruido por muy poco tiempo hasta que el sistema reacciona para corregirlo

Página 10 de 22
Para el caso del sistema inestable, hemos cogido también c= y hemos aumentado la ganancia hasta
desplazar el pto de trabajo del sistema fuera del circulo unitario del plano z:

Introduciendo a la entrada un escalón unitario:

Observamos que la respuesta del sistema es inestable. Simulando el sistema completo con simulink
tenemos:

Página 11 de 22
Si simulamos el sistema completo en simulink para el caso estable (considerando las no linealidades de
la planta) tenemos:

Esta señal a diferencia de la del modelo lineal, tiene


el efecto de las no linealidades. Si ampliamos la
imagen podemos percibir el efecto de la
cuantificación de salida

(Recuérdese que Qw=11,278)

203-191,7=11,3

127-103=24≈11,3 . 2

Página 12 de 22
La implementación de la solución estable en la planta real nos proporciona los siguientes resultados:

Comprobamos que los resultados obtenidos experimentalmente, se corresponden con los obtenidos en
simulación. La conclusión obtenida es que para el desarrollo de cualquier aplicación la simulación nos
proporciona unos datos correctos de forma más económica y menos tediosa.

2.b.Control anti-windup

Para ver el efecto de la saturación, quitamos del modelo completo el resto de no linealidades y lo
simulamos:

Página 13 de 22
Para una la perturbación -150 obtenemos los siguientes resultados:

Observamos que la perturbación no es lo suficientemente grande como para saturar nuestro sistema.

Para una perturbación de -350 obtenemos los siguientes resultados:

En este caso nuestro sistema tarda en volver a seguir a la referencia tras la perturbación un tiempo
td=13-10=3 seg

A la vista de estos resultados utilizaremos la perturbación de -350 para el diseño de la solución anti-
windup. Para ello creamos el esquema en simulink:

Página 14 de 22
Para Ka=0:

Observamos que para Ka=0 es como si no hubieramos implementado nada

Para Ka=0,6:

La Ka es demasiado grande ya que las señales empiezan a oscilar lo que hace que nuestro sistema se
haga inestable.

Página 15 de 22
Para Ka=0,525:

Este es el valor óptimo de nuestra Ka ya que el sistema reduce el tiempo de retraso a


td=10,03-10=0,03seg y no presenta oscilaciones.

Página 16 de 22
3.Control de posición

Primero simulamos el sistema sin regular:

Se nos pide que el polo tenga una constante de tiempo τ ϵ{50ms, 100ms} y que la respuesta sea
sobreamortiguada, por lo que los polos deben ser reales.

| |=

Probamos con los dos valores extremos 50ms y 100ms


.
| |= . = 0.904
.
| |= . = 0.951

Esto significa que nuestros polo dominante deben encontrase entre 0.904 y 0.951 en el plano z, sin
llegar a hacerse complejo.

Página 17 de 22
Para comprobar que la respuesta del sistema es sobreamortiguada, introducimos una entrada escalón
unitario (cogemos para ello una Kp=0,47):

Página 18 de 22
La perturbación provoca un error en la señal de salida que no se corrige. Si la perturbación fuera cte el
error también lo sería.

A continuación hacemos el diseño del control integral. (hemos cogido una c=0,95)

Página 19 de 22
En este caso la respuesta al escalón es subamortiguada.

Página 20 de 22
La diferencia con el control proporcional, es que el control integral tiene en cuenta los errores
anteriores y en consecuencia actuara para compensar ese error, que es lo que vemos en la gráfica

Página 21 de 22

También podría gustarte