Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IEDbemup
IEDbemup
ESCUELA DE POSTGRADO
UNIDAD DE POSTGRADO DE LA
TESIS:
AREQUIPA – PERÚ
2018
AGRADECIMIENTOS
ii
CONTENIDO
RESUMEN vi
ABSTRACT vii
CAPÍTULO I 1
1.1 Introducción 1
1.2 Planteamiento del problema 1
1.3 Condiciones del problema 2
1.4 Objetivo general 2
1.5 Requerimientos de diseño 2
CAPÍTULO II: FUNDAMENTACIÓN TEÓRICA 4
2.1 Introducción a los motores dc 4
2.2 Circuito equivalente del motor dc 5
2.3 Tipos de motores dc 7
2.3.1 Motor de corriente directa de excitación independiente 7
2.3.2 Motor de corriente directa en derivación 8
2.3.3 Motor de corriente directa de imán permanente 9
2.3.4 Motor de corriente directa en serie 9
2.3.5 Motor de corriente directa compuesta 11
2.3.6 Partes del motor de corriente directa 12
CAPÍTULO III: MODELAMIENTO Y ANÁLISIS DEL SISTEMA
DEL MOTOR CC 14
3.1 Modelado del sistema. 14
3.1.1 Configuración física. 14
3.1.2 Ecuaciones del sistema. 15
3.1.2.1 Función de transferencia. 16
3.1.2.2 Estado – espacio. 17
3.1.3 Requerimientos de diseño. 17
3.1.4 Representación de Matlab. 18
3.1.4.1 Función de transferencia. 18
3.1.4.2 Espacio de estados. 18
3.2 Análisis del sistema. 19
3.2.1 Respuesta de lazo abierto. 20
3.2.2 Respuesta de lazo cerrado. 23
iii
3.3 PID. 27
3.3.1 Control proporcional. 28
3.3.2 Control PI. 31
3.3.3 Control PID. 34
3.4 Diseño del controlador de locus de raíz. 37
3.4.1 Dibujando el locus raíz de bucle abierto. 39
3.4.2 Reducción del modelo. 41
3.4.3 Control integral. 44
3.4.4 Control PI. 45
3.4.5 Control PID. 46
3.4.6 Determinando ganancia usando el comando rlocfind. 49
3.5 Métodos de dominio de frecuencia para el diseño del
controlador. 53
3.5.1 Dibujando el diagrama de Bode del sistema no compensado. 54
3.5.2 Agregando un integrador. 55
3.5.3 Especificaciones de margen de ganancia y fase y diseño del
controlador. 57
3.6 Espacio de estados para el diseño del controlador. 69
3.6.1 Diseñando el controlador de realimentación de estado
completo. 71
3.6.2 Respuesta de perturbación. 74
3.6.3 Agregando acción integral. 75
3.7 Control Digital. 79
3.7.1 Creando un modelo de fecha de muestra de la planta. 80
3.7.2 Diseño de locus de raíz. 84
3.8 Modelado en Simulink. 95
3.8.1 Configuración física. 95
3.8.2 Construyendo el modelo con Simulink. 96
3.8.3 Construyendo el modelo con Simscape. 103
3.8.4 Construyendo el modelo a través de su representación LTI. 107
3.9 Diseño del controlador en Simulink. 109
3.9.1 Respuesta de bucle abierto. 110
3.9.2 Extracción de un modelo de muestra lineal en MATLAB. 113
iv
3.9.3 Implementando control digital en Simulink. 117
3.9.4 Conversión de un modelo de tiempo continuo a tiempo discreto
dentro de Simulink. 121
CONCLUSIONES 125
RECOMENDACIONES 126
BIBLIOGRAFÍA 127
v
RESUMEN
vi
ABSTRACT
vii
CAPÍTULO I
1.1 Introducción
2
Si simulamos la entrada de referencia mediante una entrada de paso
unitario, la salida de la posición del motor debe tener:
3
CAPÍTULO II
FUNDAMENTACIÓN TEÓRICA
4
= × 100% ………………………… 2.2
5
= ………………………………… 2.3
= ………………………………. 2.4
Figura 2.1 Circuito equivalente de un motor dc. (Tomado de S.J. Chapman, maquinas eléctricas,
3ra. Edición, pág. 549)
6
2.3 Tipos de motores dc
Los motores dc son accionados por una fuente de potencia dc. A menos
que se especifique otra cosa, se supone que el voltaje de entrada es constante,
puesto que esta suposición simplifica el análisis de los motores y la comparación
entre los diferentes tipos de ellos.
Son aquellos motores que obtienen la alimentación del rotor y del estator
de dos fuentes de tensión independientes. Con ello, el campo del estator es
constante al no depender de la carga del motor, y el par de fuerza prácticamente
constante. La variación de velocidad al aumentar la carga se deberá solo a
la disminución de la fuerza electromotriz por aumentar la caída de tensión en
el rotor.
7
Figura 2.3 Circuito equivalente de un motor de excitación independiente (Tomado de S.J.
Chapman, maquinas eléctricas, 3ra. Edición, pág. 551).
8
Figura 2.4 Circuito equivalente de un motor dc en derivación. (Tomado de S.J. Chapman,
maquinas eléctricas, 3ra. Edición, pág. 551).
9
la corriente de excitación, se hace disminuir la velocidad, con un aumento del
par.
Figura 2.5 Motor de corriente directa en serie. (Tomado de Siemens, components in DC motor/
Electrical Training Courses: Power distribution, motor & control, Adaptado por el autor).
Figura 2.6 Circuito equivalente de un motor dc con excitación serie. (Tomado de S.J.
Chapman, maquinas eléctricas, 3ra. Edición, pág. 563).
10
En la siguiente figura se presentan las características típicas del par-
velocidad y par corriente en un motor serie.
Figura 2.7 Curva característica del par-velocidad y par corriente de un motor serie.
11
Figura 2.8 Circuito equivalente de los dos motores compuestos. a) con conexión de
derivación larga. b) con conexión de derivación corta. (Tomado de S. J. Chapman, maquinas
eléctrica, pág. 569).
Rotor
12
laminaciones tienen por objeto reducir las corrientes parasitas en el
núcleo. El acero en el núcleo debe ser capaz de mantener bajas las
perdidas por histéresis. Este núcleo laminado contiene ranuras a lo
largo de su superficie para albergar al devanado de la armadura
(bobina).
13
CAPÍTULO III
Contenido:
Configuración física
Requerimientos de diseño
Representación de Matlab
14
Para este trabajo, asumiremos los siguientes valores para los
parámetros físicos. Estos valores se obtuvieron mediante el experimento de un
motor real en el laboratorio de control de pregrado de Carnegie Mellon.
= (3.1)
= ̇ (3.2)
15
En las unidades SI, las constantes de par motor y contrafuerte son
iguales, es decir = ; por lo tanto, usaremos para representar tanto la
constante de torque del motor como la constante de la frecuencia de retorno de
la fuerza.
̈+ ̇= (3.3)
+ = − ̇ (3.4)
( + ) ( )= ( ) (3.5)
( + ) ( ) = ( )− ( ) (3.6)
̇( ) /
( )= =( (3.7)
( ) )( )
( )
= (3.8)
( ) (( )( ) )
16
3.1.2.2. Estado – espacio
0 1 0 0
̇ = 0 − ̇ + 0 (3.9)
0 − −
= [1 0 0] ̇ (3.10)
17
3.1.4. Representación de Matlab
18
El modelo de espacio de estado anterior también se puede generar
convirtiendo su modelo de función de transferencia existente en una forma de
espacio de estado. Esto se logra nuevamente con el comando ss como se
muestra a continuación.
19
Contenido:
( + ) ( )= ( ) (3.11)
( + ) ( ) = ( )− ( ) (3.12)
( )
= (3.13)
( ) (( )( ) )
20
Ahora veamos cómo funciona el sistema de lazo abierto no
compensado. Específicamente, usaremos el comando step de MATLAB para
analizar la respuesta de paso de lazo abierto. Se debe agregar los siguientes
comandos al final del archivo m y ejecutarlo en la ventana de comandos de
MATLAB y obtendremos el diagrama asociado que se muestra a continuación.
Step Response
7
5
Amplitude
0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
Time (seconds)
21
De la gráfica anterior, podemos ver que cuando se aplica 1 voltio al
sistema, la posición del motor crece sin límites. Esto obviamente está en
desacuerdo con los requisitos dados, en particular, que no haya un error de
estado estacionario. La respuesta de bucle abierto del sistema ni siquiera es
estable. La estabilidad de un sistema se puede verificar con el comando de
MATLAB isstable donde un valor devuelto de TRUE (1) indica que el sistema es
estable y un valor devuelto de FALSE (0) indica que el sistema no es estable.
22
dos polos están en la mitad izquierda del complejo. Un polo en el eje imaginario
indica que la respuesta libre del sistema no crecerá sin límites, sino que tampoco
decaerá a cero. Aunque la respuesta libre no crecerá sin límites, un sistema con
un polo en el eje imaginario puede crecer sin límites cuando se le da una entrada,
incluso cuando la entrada está limitada. Este hecho está de acuerdo con lo que
ya hemos visto. En este caso particular, el polo en el origen se comporta como
un integrador. Por lo tanto, cuando al sistema se le da un paso de entrada, su
salida continúa creciendo hasta el infinito de la misma manera que una integral
de una constante crecería hasta el infinito a medida que el límite superior de la
integral se hace más grande.
23
La respuesta de paso de unidad correspondiente se puede generar
agregando el comando anterior y siguiente al archivo m.
Step Response
1.2
System: sys_cl
Settling time (seconds): 0.13
1 System: sys_cl
Peak amplitude: 1.07 System: sys_cl
Overshoot (%): 7.16 Final value: 1
0.8 At time (seconds): 0.089
Amplitude
0.6
0.4
0.2
0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
Time (seconds)
24
Al examinar la respuesta de paso de ciclo cerrado anterior, la adición de
retroalimentación estabilizó el sistema. De hecho, el error de estado estable
parece ser conducido a cero y el exceso es inferior al 16%, aunque no se cumple
el requisito de tiempo de establecimiento. El carácter de la respuesta de paso
resultante se indica nuevamente mediante la ubicación de los polos de la función
de transferencia del sistema, tal como lo hicieron las propiedades de estabilidad
del sistema. El comando de MATLAB pzmap representará los polos (y ceros) de
una función de transferencia determinada como se muestra a continuación.
Pole-Zero Map
40
30 System: sys_cl
Pole : -29.6 + 35.3i
Damping: 0.643
System: sys_cl
Imaginary Axis (seconds -1 )
20
Pole : -1.45e+06 Overshoot (%): 7.16
Damping: 1 Frequency (rad/s): 46.1
10 Overshoot (%): 0
Frequency (rad/s): 1.45e+06
0
-10
System: sys_cl
-20 Pole : -29.6 - 35.3i
Damping: 0.643
Overshoot (%): 7.16
-30 Frequency (rad/s): 46.1
-40
-15 -10 -5 0
-1 5
Real Axis (seconds ) 10
25
información también se puede determinar utilizando el comando damp de
MATLAB como se muestra a continuación.
Como el polo real es mucho más rápido que los polos conjugados
complejos (su parte real es mucho más negativa), su efecto sobre la respuesta
dinámica del sistema será mínimo. Por lo tanto, la amortiguación ( = 0.643) y la
frecuencia natural ( = 46.1) de los polos conjugados complejos indicarán
principalmente la respuesta del sistema de circuito cerrado.
26
Los resultados anteriores coinciden estrechamente con el sobreimpulso
y el tiempo de asentamiento de la gráfica de respuesta al escalón por encima de
la cual se capturó explícitamente el efecto del tercer polo no dominante.
3.3. PID
Contenido:
Control proporcional
Control PI
Control PID
( )
( )= = (3.14)
( ) (( )( ) )
27
Para una referencia de paso de 1 radian, los criterios de diseño son los
siguientes.
( )= + + = (3.15)
28
Ahora veamos cómo son las respuestas de paso. Agregue el siguiente
código al final de su archivo m y vuelva a ejecutarlo en la ventana de
comandos. Debe generar la gráfica que se muestra en la figura a continuación.
(radianes)
Posición,
29
Consideremos también la respuesta del sistema a una perturbación
escalonada. En este caso, asumiremos una referencia de cero y veremos cómo
el sistema responde a la perturbación por sí mismo. El comando
de retroalimentación todavía se puede emplear para generar la función de
transferencia de bucle cerrado donde todavía hay retroalimentación negativa, sin
embargo, ahora solo la función de transferencia de planta ( ) está en la ruta de
avance y el controlador ( ) se considera que está en la ruta de
retroalimentación. Consulte de nuevo el diagrama de bloques en la parte
superior de esta página para ver la estructura del sistema. Agregue lo siguiente
al final de su archivo m y ejecútelo en la ventana de comandos. Debe generar la
gráfica que se muestra en la figura a continuación:
(radianes)
Posición,
30
Los gráficos anteriores muestran que el sistema no tiene un error de
estado estable en respuesta a la referencia de paso en sí mismo,
independientemente de la elección de la ganancia proporcional . Esto se debe
al hecho de que la planta tiene un integrador, es decir, el sistema es del tipo 1.
Sin embargo, el sistema tiene un error significativo en el estado estacionario
cuando se agrega la perturbación. Específicamente, la respuesta debida a la
referencia y la perturbación aplicadas simultáneamente es igual a la suma de los
dos gráficos que se muestran arriba. Esto se desprende de la propiedad de
la superposición que se aplica a los sistemas lineales. Por lo tanto, para tener
un error de estado estacionario cero en presencia de una perturbación,
necesitamos que la respuesta de perturbación a descomposición sea
cero. Cuanto mayor es el valor de cuanto menor es el error de estado
estacionario debido a la perturbación, pero nunca llega a cero. Además, el
empleo de valores cada vez más grandes tiene el efecto adverso de aumentar
el exceso y el tiempo de asentamiento como se puede ver en el gráfico de
referencia del paso. Recuerde que agregar un término integral eliminará el error
de estado estacionario y un término derivado puede reducir el tiempo de
sobreimpulso y de establecimiento.
3.3.2. Control PI
31
Posición, \ theta (radianes)
32
Posición, \ theta (radianes)
33
sobreimpulso. Intentaremos reducir el tiempo de asentamiento y el sobreimpulso
agregando un término derivado al controlador.
34
Posición, \ theta (radianes)
35
Posición, \ theta (radianes)
36
De lo anterior, vemos que la respuesta a una referencia de paso tiene un
tiempo de establecimiento de aproximadamente 34 ms (<40 ms), un
sobreimpulso del 12% (<16%) y ningún error de estado estacionario. Además, la
respuesta de perturbación escalonada tampoco tiene un error de estado
estacionario. Entonces ahora sabemos que si usamos un controlador PID con
Contenido:
Control integral
Control PI
Control PID
( )
( )= = (3.16)
( ) (( )( ) )
37
Con una referencia de paso de 1 radian, recordemos que los criterios de
diseño son los siguientes.
38
3.4.1. Dibujando el locus raíz de bucle abierto
10 6
Root Locus - P Control
5
0.5
4
-1
-2
-3
-4
0.5
-5
-6 -5 -4 -3 -2 -1 0 1 2 3
-1 6
Real Axis (seconds ) 10
39
Los comandos sgrid y sigrid son funciones que marcan las regiones del
plano complejo correspondientes a ciertos parámetros. sgrid es una función en
la Caja de herramientas del sistema de control; sin embargo, para usar sigrid ,
tendrá que descargarlo aquí . Las variables en el comando sgrid son la relación
de amortiguamiento ( = 0.5) y la frecuencia natural ( = 0). La variable en
el comando sigrid es el término. El y usado anteriormente corresponde a
un sobreimpulso del 16% y un tiempo de asentamiento de 0.040 segundos,
respectivamente, para un sistema canónico de segundo orden. Aunque nuestra
función de transferencia motora es de tercer orden, se explicará que estas
definiciones basadas en segundo orden funcionarán bien. No se da ningún
valor porque no tenemos ningún requisito sobre el tiempo de subida.
De la figura anterior, los dos polos de bucle abierto cerca del origen no
pueden distinguirse porque la escala de los ejes está configurada para mostrar
el tercer polo que está mucho más a la izquierda que los otros dos
polos. El comando de MATLAB pole se puede emplear para determinar los
valores exactos de los polos de bucle abierto.
El polo de bucle abierto situado muy lejos hacia la izquierda (más allá de
-1e6) no afecta la dinámica de lazo cerrado a menos que se utilicen ganancias
muy grandes. Estas grandes ganancias colocan dos de los polos de circuito
cerrado en el plano – s complejo de la mitad derecha donde el sistema se vuelve
inestable. Como no utilizaremos ganancias que harán que el sistema de circuito
cerrado sea inestable, podemos descuidar este polo realizando una reducción
del modelo.
40
3.4.2. Reducción del modelo
( )
( )= ≈ ( ) para ≪ (3.17)
/
41
A continuación, nos gustaría construir la función de transferencia
reducida para descuidar el polo en -1.45e6 sin afectar el comportamiento de
estado estable del sistema. Esto se puede lograr con el comando
MATLAB minreal. Agregue los siguientes comandos a su archivo m y vuelva a
ejecutar.
42
Luego puede verificar que los otros polos no se hayan visto afectados
por el uso del comando pole como se muestra a continuación.
Ahora podemos dibujar el locus raíz del sistema reducido. Agregue los
siguientes comandos al final de su archivo m y ejecútelo en la ventana de
comandos.
150
100
50
-50
-100
-150
0.5
-200
-300 -250 -200 -150 -100 -50 0 50 100
-1
Real Axis (seconds )
43
Si examinó el lugar de la raíz original cerca del origen, se aproximaría
mucho al lugar geométrico de la función de transferencia reducida que se
muestra arriba. Podemos ver en esta nueva trama que los polos de bucle cerrado
nunca son lo suficientemente rápidos como para cumplir el requisito de tiempo
de establecimiento (es decir, nunca se mueven a la izquierda de la línea = 100
vertical). Además, recuerde que necesitamos un integrador en el controlador (no
solo en el sistema) para eliminar el error de estado estable debido a una
perturbación constante.
44
Root Locus - I Control
200
0.5
150
100
50
-50
-100
-150
0.5
-200
-300 -250 -200 -150 -100 -50 0 50 100
-1
Real Axis (seconds )
Desde este lugar de raíz podemos ver que el sistema de circuito cerrado
bajo control integral nunca es estable, por lo tanto, se debe emplear un
controlador diferente.
3.4.4. Control PI
45
Root Locus - PI Control
200
0.5
150
100
50
-50
-100
-150
0.5
-200
-300 -250 -200 -150 -100 -50 0 50 100
-1
Real Axis (seconds )
Para tirar del locus raíz más hacia la izquierda, para hacerlo más rápido,
necesitamos colocar un segundo cero de lazo abierto, lo que da como resultado
un controlador PID. Después de un poco de experimentación, colocamos los dos
46
ceros PID en s = -60 y s = -70. Cambie las líneas que definen el controlador en
su archivo m a lo siguiente. Vuelva a ejecutar su archivo m y generará un
diagrama como el que se muestra a continuación:
150
100
50
-50
-100
-150
0.5
-200
-300 -250 -200 -150 -100 -50 0 50 100
-1
Real Axis (seconds )
Ahora, podemos ver que dos de los polos de bucle cerrado se pueden
ubicar bien dentro del tiempo de establecimiento y de los requisitos de
sobreimpulso porcentual. El tercer polo de bucle cerrado se mueve desde el polo
de bucle abierto en s = -59.2 al cero de bucle abierto en s = -60. Este polo de
bucle cerrado casi se cancela con el cero (que permanece en la función de
47
transferencia de bucle cerrado) porque están muy juntos. Por lo tanto, podemos
descuidar su efecto. Reduzcamos nuevamente nuestro nuevo modelo
ejecutando la cancelación de polo cero utilizando el comando minreal. Pasamos
0.1 como un parámetro de tolerancia de la siguiente manera. El locus raíz para
este sistema reducido adicional con controlador se muestra a
continuación. Tenga en cuenta qué tan cerca se asemeja al lugar raíz sin la
cancelación de polo cero.
150
100
50
-50
-100
-150
0.5
-200
-300 -250 -200 -150 -100 -50 0 50 100
-1
Real Axis (seconds )
48
descuidar. El efecto de un cero adicional (si no hay cancelación) es, en general,
para acelerar la respuesta y agregar sobreimpulso. Por lo tanto, debemos ser
conservadores al elegir dónde en el lugar raíz queremos que estén los polos de
bucle cerrado.
49
Root Locus - PID Control
200
0.5
150
100
50
-50
-100
-150
0.5
-200
-300 -250 -200 -150 -100 -50 0 50 100
-1
Real Axis (seconds )
50
Tenga en cuenta que los valores devueltos en la ventana de comandos
de MATLAB pueden no ser exactamente iguales, pero al menos deben tener el
mismo orden de magnitud. También puede obtener los diagramas de respuesta
de paso para la referencia y la perturbación con este controlador específico y la
ganancia de bucle ejecutando el siguiente código en la ventana de
comandos. Estos comandos deben producir los gráficos que se muestran a
continuación:
0.5
0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Time (seconds)
51
Response to a Step Disturbance with PID Control
0.06
0.05
0.04
0.03
0.02
0.01
System: dist_cl
Final value: 0
0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Time (seconds)
52
locus raíz, sin embargo, MATLAB puede ser muy útil para refinar el diseño y
verificar el rendimiento resultante.
Contenido:
Agregar un integrador
( )
( )= = (3.18)
( ) (( + )( + )+ )
53
Con una referencia de paso de 1 radian, los criterios de diseño son los
siguientes.
54
De las páginas anteriores sabemos que la retroalimentación de la planta
de ciclo abierto en unidad no satisface los requisitos del sistema dado. Por lo
tanto, agregaremos diferentes compensadores a nuestro sistema con el fin de
remodelar el diagrama de Bode de bucle abierto para proporcionar el rendimiento
deseado en circuito cerrado.
55
de avance del diagrama de bloques. Esto corresponde a la arquitectura que
estamos asumiendo, como se muestra en el esquema en la parte superior de
esta página. Al colocar un compensador integral en esta posición, se logrará el
objetivo de un error de estado estacionario cero en presencia de una entrada de
perturbación escalonada.
56
3.5.3. Especificaciones de margen de ganancia y fase y diseño del
controlador
57
destinadas a un sistema canónico de segundo orden, que no tenemos, pero los
resultados servirán como un buen punto de partida para nuestro diseño.
Desde el diagrama de fase de Bode podemos ver que hay un polo cerca
de -60 como lo indica el aspa azul en el diagrama de Bode cerca de la frecuencia
58
de 60 rad/seg (así como también el cambio en los gráficos de magnitud y
fase). Por lo tanto, comenzaremos a modificar nuestro compensador agregando
un cero en s = -60 para aplanar la curva de fase. Se puede volver a agregar cero
real haciendo clic con el botón derecho en la sección Dinámica de la ventana
del Editor de Compensadores y seleccionando Real Zero. La ubicación del
cero se puede establecer escribiendo -60 en la celda Ubicación de la
parte Editar dinámica de la ventana seleccionada y presionando Entrar. Su
compensador ahora tiene la forma de un controlador PI y el diagrama de Bode
de bucle abierto compensado debe tener la forma modificada que se muestra a
continuación donde el rojo muestra la ubicación del nuevo cero. Para lograr los
límites en los ejes que se muestran a continuación, haga clic derecho en el
diagrama de Bode y seleccione Propiedades en el menú resultante.
59
Desde el diagrama de Bode podemos ver que necesitamos al menos 50
grados adicionales de fase si movemos nuestra frecuencia de cruce a 250
rad/seg. Agreguemos un compensador de plomo para agregar exactamente 50
grados de fase a esta frecuencia. Las siguientes ecuaciones proporcionan las
posiciones de polo y cero del compensador de cable.
60
ingresamos 50 en la celda de Fase Max Delta (grados) y 250 en la celda
de Frecuencia en y presionamos Enter, obtendremos un polo y una ubicación
cero que coincidan estrechamente (aunque no exactamente) con los calculados
anteriormente. El diagrama de Bode modificado debería tener una apariencia
similar a la que se muestra a continuación.
61
Este nuevo diagrama de Bode ahora muestra que el margen de fase es
aproximadamente correcto a 250 rad/seg, pero la ganancia es demasiado
pequeña en aproximadamente 55 dB si deseamos que el crossover de ganancia
se produzca a 250 rad/seg. Tenga en cuenta que cada polo y cero que hemos
agregado al compensador tiene la forma
+1 (3.19)
62
de la ventana del Editor de Compensadores y presionando Entrar. El
diagrama de Bode resultante se muestra a continuación. Como se indica en el
gráfico, el margen de fase es de 49.8 grados y la frecuencia de cruce de ganancia
es de 236 rad/seg, que están cerca de nuestros objetivos de 50 grados y 250
rad/seg.
63
referencia de paso r aparecerá en el Diseñador de sistemas de control
ventana. Consulte la figura siguiente para ver una ilustración de este proceso.
64
El diagrama de respuesta de paso resultante se muestra a continuación,
donde los detalles de la respuesta de pico y el tiempo de establecimiento se
agregan desde el menú contextual en Características.
65
diagrama de fase y el sobreimpulso en el diagrama de respuesta del paso. Este
cambio, por supuesto, también afectará a la frecuencia de cruce de
ganancia. Por lo tanto, necesitamos cambiar el valor de la ganancia del
compensador para desplazar la gráfica de magnitud de modo que la frecuencia
de cruce de ganancia aún esté cerca de 250 rad/seg. Esto se puede lograr
escribiendo manualmente en diferentes valores para la ganancia en el Editor del
Compensador ventana como lo hemos hecho anteriormente. Otra opción es
usar el diagrama de Bode ya que los gráficos en el Diseñador del sistema de
control permiten la sintonización gráfica. Específicamente, si coloca el cursor
sobre la gráfica de magnitud, se convertirá en una mano y podrá "agarrar" la
gráfica y moverla hacia arriba o hacia abajo. La ganancia en el compensador
cambiará automáticamente para reflejar el movimiento de la trama. Al final, la
elección de 70 grados de fase adicional a 250 rad/seg y una ganancia de 315
nos da un margen de fase de 70 grados y un sobreimpulso inferior al 16% como
se muestra a continuación.
66
A partir de la respuesta al paso anterior, vemos que, aunque el exceso
está bien, el tiempo de establecimiento es demasiado largo. Podemos acelerar
la respuesta del sistema probando un ancho de banda ligeramente superior. Esto
puede lograrse nuevamente desde la ventana del Editor de Compensadores
aumentando la frecuencia donde se ubica la fase de pico del compensador de
adelanto. A través de prueba y error, elegimos una Frecuencia de 350
rad/seg. Luego usamos la técnica de ajuste gráfico para "agarrar" la gráfica de
magnitud del diagrama de Bode para cambiar la frecuencia de cruce a una
ubicación que proporcione aproximadamente 70 grados de margen de fase. Una
ganancia de 670 parece funcionar bien.
67
compensador. Tus parcelas finales deberían ser similares a las dos que se
muestran a continuación.
68
Ahora tenemos el rendimiento que deseamos. Tenemos menos del 16%
de sobreimpulso y un tiempo de estabilización de menos de 40
milisegundos. Además, la acción integral del compensador proporciona un error
de estado estable cero a una referencia de paso, incluso en presencia de una
entrada de perturbación escalonada.
69
0 1 0 0
̇ = 0 − ̇ + 0 (3.20)
0 − −
= [1 0 0] ̇ (3.21)
̇= + (3.22)
= (3.23)
Con una referencia de paso de 1 radian, los criterios de diseño son los
siguientes.
70
3.6.1. Diseñando el controlador de realimentación de estado completo
Dado que todas las variables de estado en nuestro problema son muy
fáciles de medir (simplemente agregue un amperímetro para corriente, un
tacómetro para velocidad y un potenciómetro para posición), podemos diseñar
un controlador de realimentación de estado completo para el sistema sin
preocuparse por tener para agregar un observador. La ley de control para un
sistema de retroalimentación de estado completo tiene la forma = − . El
diagrama de bloques asociado se da a continuación:
71
De lo anterior, sabemos que nuestro sistema es controlable ya que el
determinante de la matriz de controlabilidad no es cero y, por lo tanto, podemos
colocar los polos de bucle cerrado del sistema en cualquier lugar del plano
s. Primero colocaremos los polos en -200, -100 + 100i y -100-100i. Ignorando el
efecto del primer polo (ya que es más rápido que los otros dos polos), los polos
dominantes corresponden a un sistema de segundo orden con = 0.5
correspondiente al 16% de sobreimpulso y = 100 que corresponde a un tiempo
de asentamiento de 0.040 segundos. Una vez que hemos determinado las
ubicaciones de los polos que deseamos, podemos usar los comandos de
MATLAB place o acker para determinar la matriz de ganancia del controlador,
para lograr estos polos. Utilizaremos el comando place ya que está
numéricamente mejor acondicionado que acker. Sin embargo, si quisiéramos
colocar un poste con una multiplicidad mayor que el rango de la matriz ,
entonces tendríamos que usar el comando acker. Agregue el siguiente código al
final de su archivo m.
72
Refiriéndonos nuevamente a las ecuaciones y esquemas en la parte
superior de la página, vemos que al emplear una ley de retroalimentación
de estado = − , las ecuaciones de espacio de estado se convierten en
las siguientes.
̇=( − ) + (3.24)
= (3.25)
Step Response
800
700
600
500
400
300
200
100
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Time (seconds)
73
Tenga en cuenta que nuestros requisitos dados no se cumplen,
específicamente, el error de estado estacionario es demasiado grande. Antes de
abordar esto, veamos primero la respuesta de perturbación del sistema.
74
Amplitude
75
Podemos modelar la adición de este integrador al aumentar nuestras
ecuaciones de estado con un estado adicional para la integral del error que
identificaremos con la variable . Esto agrega una ecuación de estado extra,
donde la derivada de este estado es simplemente el error, = − donde =
0. Esta ecuación se colocará en la parte inferior de nuestras matrices. La
referencia , por lo tanto, ahora aparece como una entrada adicional a nuestro
sistema. La salida del sistema sigue siendo la misma.
0 1 0 0 0
⎡ ⎤ ⎡0⎤ 0
̇ ⎢0 − 0⎥ ̇
=⎢ ⎥ +⎢ ⎥ + 0 (3.26)
⎢ ⎥ 0
⎢0 − − 0⎥
−1
⎣1 ⎣0⎦
0 0 0⎦
̇
= [1 0 0 0] (3.27)
76
Para encontrar las ecuaciones de ciclo cerrado, tenemos que ver cómo
la entrada , afecta a la planta. En este caso, afecta el sistema exactamente de
la misma manera que en las ecuaciones sin aumentar, excepto ahora =
− − . También podemos reescribir esto en términos de nuestro estado
aumentado como =− dónde =[ ]. Sustituir esto en las
ecuaciones anteriores proporciona las siguientes ecuaciones de ciclo cerrado.
̇ =( − ) + (3.28)
= (3.29)
77
Step Response
1.2
0.8
Amplitude
0.6
0.4
0.2
0
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05
Time (seconds)
78
Amplitude
Contenido:
79
En este ejemplo, el controlador se diseñará aplicando un método Root
Locus. Se puede obtener un modelo de motor de CC de datos de muestra a partir
de la conversión de un modelo de motor de CC analógico, como
describiremos. La función de transferencia continua de bucle abierto para la
posición del motor de CC en el dominio de Laplace es la siguiente.
( )
( )= = (3.30)
( ) (( )( ) )
80
una frecuencia con la que se muestrea la planta de tiempo continuo. Al elegir un
período de muestreo, se desea que la frecuencia de muestreo sea rápida en
comparación con la dinámica del sistema para que la salida muestreada del
sistema capture el comportamiento completo del sistema, es decir, de modo que
no se produzca un comportamiento significativo entre muestras.
81
logrará con el sistema de bucle cerrado resultante. Un tiempo de muestreo de
0.001 segundos es específicamente 1/100 de la constante de tiempo requerida
y 1/40 del tiempo de establecimiento requerido.
82
Ahora nos gustaría analizar la respuesta de bucle cerrado del sistema
sin ninguna compensación adicional. Primero, tenemos que cerrar el ciclo de la
función de transferencia usando el comando de feedback. Después de cerrar el
ciclo, inspeccionemos la respuesta de paso de bucle cerrado con la retención de
orden cero. Esto se puede lograr usando los comandos de step y stairs. Como
el comando de paso se alimenta con un modelo discreto, generará un vector de
muestras discretas en el tiempo de muestreo Ts asociado con el modelo. La
sintaxis a continuación especifica simular la respuesta al paso durante 0.5
segundos. El comando stairs dibuja estos puntos de datos discretos como un
paso de escalera, al igual que lo que sería producido por un circuito de espera
de orden cero. Agregue el siguiente código al final de su archivo m anterior y
vuelva a ejecutarlo. Debe generar un diagrama como el que se muestra a
continuación.
83
Position (radians)
84
Se abrirá una ventana inicialmente llamada Control System
Designer con el formulario que se muestra en la figura a continuación. Esta
ventana muestra el locus raíz, así como la respuesta al paso de la función de
transferencia d_Pmotor pasada a través de la función control
SystemDesigner. El locus raíz aparece inicialmente debido a la adición de la
cadena 'rlocus' a la llamada a la función. Si se omite la cadena 'rlocus', la
ventana inicial predeterminada incluye el diagrama de Bode de bucle abierto
además del gráfico del locus raíz y la respuesta al paso.
85
derecho en el gráfico del lugar raíz y luego seleccionando Edit
Compensator. Específicamente, se agrega un integrador a nuestro controlador
haciendo clic con el botón derecho en la sección de Dinámica de la ventana y
seleccionando Añadir Polo / Zero> Integrador en el menú resultante. La figura
siguiente ilustra cómo debería ser la ventana del editor de Compensator.
86
El formato predeterminado para los compensadores en el Diseñador del
sistema de control es la forma de Constante de tiempo. Para el resto de este
problema, diseñaremos el compensador en forma Cero / polo / ganancia. Este
cambio se puede realizar seleccionando Preferencias de la pestaña SISTEMA
DE CONTROL de la ventana del Diseñador de Sistema de Control. La
parametrización del compensador puede modificarse en la pestaña Opciones.
Por defecto, el diagrama del locus raíz incluye el círculo unitario que se
muestra en la figura anterior por la línea punteada. Recuerde que, para un
sistema de tiempo discreto, los polos de lazo cerrado ubicados dentro del círculo
unitario indican un sistema estable de circuito cerrado. De lo anterior, podemos
ver que después de agregar el polo extra en 1, el locus raíz tenía tres polos cerca
de 1. Esto ocasionó que el locus raíz se moviera hacia la derecha (fuera del
círculo unitario) lo que indica que la respuesta de ciclo cerrado ser más inestable.
87
Por lo tanto, agregaremos un cero cerca de 1, dentro del círculo unitario,
para cancelar uno de los polos y colocar el locus raíz. Específicamente
agregaremos un cero en z = 0.95. En general, debemos agregar al menos tantos
polos como ceros para que el controlador sea causal. Este cero se puede
agregar a nuestro compensador de la misma manera que el integrador se agregó
anteriormente. La única diferencia es que elegirá Real Zero en el menú
contextual y luego deberá especificar en la celda de Ubicación que el cero se
colocará en 0.95. El gráfico del locus raíz debería aparecer ahora como se
muestra a continuación.
88
diseño. Para ayudarnos a este respecto, identifiquemos la región del plano
complejo donde deben ubicarse los polos de lazo cerrado.
89
De la figura anterior, podemos ver que las dos ramas dominantes de
nuestro locus de raíz no pasan a través de la región requerida. Por lo tanto,
necesitamos agregar polos y/o ceros a nuestro compensador para doblar el lugar
de la raíz en la región deseada. Primero intentemos cancelar el cero a
aproximadamente -0.98 agregando un polo cercano. Esto se puede hacer de la
misma manera descrita anteriormente para el integrador y el cero real. Es
deseable cancelar este cero ya que agregará sobreimpulso a la respuesta de
paso. La adición de este poste dará como resultado que dos de las ramas del
lugar de la raíz se desvíen a la derecha y fuera del círculo unitario.
90
A continuación, debemos elegir una ganancia de bucle para mover las
ubicaciones de los polos de bucle cerrado a lo largo del lugar de la raíz hasta la
ubicación deseada. Dado que nuestro sistema de circuito cerrado no es de
segundo orden canónico, tendremos que emplear algunos intentos de prueba y
error para identificar las ubicaciones exactas de los polos. Con el fin de
ayudarnos en este sentido, podemos abrir un gráfico para la respuesta de paso
de bucle cerrado para que podamos observar el efecto de los cambios de
ganancia en la respuesta de paso real, sin tener que depender de una
idealización de segundo orden.
91
ventana titulada nuevo paso para trazar aparecerá. Luego, desde
el menú Seleccionar respuestas al gráfico, elige IOTransfer_r2y. Luego haz
clic en Trazar. La respuesta al paso de ciclo cerrado aparecerá en la figura.
92
Ahora modificaremos la ganancia de bucle para cumplir con el requisito
de sobreimpulso. Utilizando un enfoque de sintonización gráfica, tome una de las
casillas rosas en el gráfico del lugar de la raíz haciendo clic en ella, luego arrastre
la casilla a lo largo del lugar geométrico. Cada cuadro representa la ubicación de
un poste de bucle cerrado y al arrastrar la caja a lo largo del lugar cambia la
ganancia del bucle al valor que coloca ese polo de bucle cerrado en esa
ubicación especificada. A través de prueba y error, una ganancia de bucle de
800 reduce el sobreimpulso de la respuesta de paso asociada a
aproximadamente el 10% mientras alcanza un tiempo de establecimiento de
aproximadamente 0,02 segundos. Además, el error de estado estable se pone a
cero cuando no hay perturbación presente. El gráfico de respuesta al paso
resultante se muestra a continuación.
93
hacerlo, primero debemos exportar el compensador que hemos diseñado en
el Diseñador de sistemas de control al espacio de trabajo. Esto se logra
haciendo clic en el botón Exportar de la pestaña CONTROL SYSTEM de
la ventana del Diseñador de Control System. A continuación, seleccione
el Compensador C y haga clic en el botón Exportar. Una vez que haya hecho
esto, ingrese las siguientes instrucciones en la ventana de comandos para
generar el diagrama de respuesta que se muestra a continuación.
94
excedido en más del 16% y alcanzará el estado estacionario dentro del requisito
de 40 milisegundos.
95
(R) resistencia eléctrica 4 ohmios
= (3.31)
= ̇ (3.32)
Este sistema se modelará sumando los pares que actúan sobre la inercia
del rotor e integrando la aceleración angular del rotor para dar la velocidad e
integrando la velocidad para obtener la posición. Además, las leyes de Kirchoff
se aplicarán al circuito de la armadura. Primero, modelaremos las integrales de
la aceleración del rotor y de la velocidad de cambio de la corriente del inducido
que se muestra a continuación.
∫∫ =∫ = (3.33)
∫ = (3.34)
96
Etiquete la línea de entrada "d2/dt2 (theta)" y la línea de salida "d/dt
(theta)" como se muestra a continuación. Para agregar una
etiqueta de este tipo, haga doble clic en el espacio vacío justo
encima de la línea.
= − ⟹ = − (3.35)
97
=− + ⟹ = − + − (3.36)
Edite los signos del otro Agregar bloque a "- + -" para representar
los signos de los términos en la ecuación de Kirchoff.
98
Ahora, agregaremos los pares que están representados en la ecuación
de Newton. Primero, agregaremos el par de amortiguación.
99
Inserte un bloque de ganancia conectado a la entrada positiva del
bloque de adición rotativa con una línea.
100
Toque una línea de la salida del integrador actual y conéctela a la
entrada del bloque de ganancia de resistencia.
101
siguiente figura para que podamos guardar el modelo del motor como un
subsistema.
102
3.8.3. Construyendo el modelo con Simscape
103
Bloque de referencia eléctrica de la biblioteca Simscape /
Foundation Library / Electrical / Electrical Elements
104
El bloque Sensor de corriente representa otro sensor, específicamente
mide la corriente consumida por el motor.
105
Ahora necesitamos definir los parámetros usados en nuestra
simulación. Escriba los siguientes comandos en el indicador de la ventana de
comandos de MATLAB.
106
3.8.4. Construyendo el modelo a través de su representación LTI
107
Al agregar los puertos In1 y Out1 de la biblioteca Puertos y subsistemas,
se crea el modelo que se muestra a continuación.
108
la que se crean y se interconectan, y cuán transparentes son para presentar la
información al usuario.
109
3.9.1. Respuesta de bucle abierto
110
Para simular este sistema, primero se deben establecer los detalles de
la simulación. Esto se puede lograr seleccionando Parámetros de
configuración del modelo en el menú Simulación. Dentro del menú
resultante, defina la duración para la cual se ejecutará la simulación en
el campo Tiempo de detención. Ingresaremos "0.2" ya que 0.2 segundos serán
lo suficientemente largos para que la respuesta al escalón alcance el estado
estable. También en el cuadro de diálogo Parámetros de configuración, se
puede especificar el solucionador numérico empleado en la
simulación. Continúe y cambie el campo Solver del predeterminado de 45
(Dormand-Prince) al de 15s (rígido/NDF). Como las escalas de tiempo en este
ejemplo son muy pequeñas, este método rígido de integración del sistema es
más eficiente que el método de integración predeterminado.
111
Los parámetros físicos ahora deben establecerse. Ingrese los siguientes
comandos en la ventana de comandos de MATLAB.
112
línea de comandos de MATLAB en la página Posición del motor de CC:
Análisis del sistema.
113
resultante. De forma similar, haga clic con el botón derecho en la señal que
representa la salida de posición y seleccione Puntos de análisis lineal> Salida
de bucle abierto en el menú resultante. Las señales de entrada y salida ahora
deben identificarse en su modelo mediante símbolos de flecha, como se muestra
en la figura a continuación.
114
Dentro de la ventana de la herramienta de análisis lineal,
el punto de operación a linealizar puede seguir siendo el
predeterminado, condición inicial del modelo. Para realizar la
linealización/discretización, luego haga clic en
el botón Paso identificado por una respuesta de paso con un
pequeño triángulo verde en la parte superior. El resultado de esta
linealización/discretización es el objeto linsys1 que ahora aparece
en el espacio de trabajo de análisis lineal. Este modelo se puede
exportar simplemente arrastrando el objeto al espacio de trabajo
de MATLAB.
115
( ) . ( . )( . ∗ )
( )= = (3.37)
( ) ( )( . )
116
empleamos directamente el modelo Simulink desde arriba para simular la
implementación de un controlador digital sin discretizar explícitamente el modelo
de planta en tiempo continuo.
( . )( . )
( ) = 800 (3.38)
( . )( . )( )
117
edite el campo Ceros a "[0.95 0.80 0.80]", el campo Polos a "[-0.98 0.6 1]",
el campo Ganancia a "800" y el campo de tiempo Muestra a "0.001". Luego
marque el bloque "Controlador" y cambie su tamaño para ver todo su contenido.
118
deben establecerse de nuevo. Ejecute los siguientes comandos en el indicador
MATLAB si es necesario.
119
De la figura anterior, parece que el exceso es inferior al 16% y el tiempo
de establecimiento es inferior a 0,04 segundos, según sea necesario. Esto es
consistente con el análisis empleado en el diseño del controlador digital. Sin
embargo, no hemos evaluado la respuesta del sistema con una perturbación
presente. Se puede agregar una perturbación de paso de manera similar a la
forma en que se agregó la referencia de paso, como se muestra en la siguiente
figura. Sume la perturbación entre el controlador y la planta siguiendo el bloqueo
de Mantener orden cero, ya que la señal de perturbación es continua.
120
A partir de la inspección de lo anterior, puede ver que hay un pequeño
bache que comienza en 0.03 segundos debido a la perturbación, pero el sistema
puede rechazar su efecto y el error de estado estacionario sigue siendo cero
según sea necesario.
121
gama más amplia de técnicas de discretización que las que se pueden lograr a
través de bloques Simulink, que están limitados a Orden cero y Retención de
primer orden. Esto es especialmente útil para generar un controlador digital a
partir de un diseño continuo.
Recuerde que el bloque del Sistema LTI importa un modelo del espacio
de trabajo MATLAB. Por lo tanto, debe ingresar los siguientes comandos en la
línea de comando donde se supone que ya se han ingresado valores para los
diversos parámetros físicos.
122
Para discretizar este modelo:
123
Simula el modelo como lo hemos hecho previamente. La respuesta de
posición resultante debería aparecer de la siguiente manera.
124
CONCLUSIONES
125
RECOMENDACIONES
• Se puede trabajar el control del motor DC con otros controles como los
controles robusto, difuso y predictivo.
126
BIBLIOGRAFIA.
http://www.matworks.com
127
12) Kevin M. Passino. Sthepen Yurkovich .fuzzy Control Editorial Addison
Wesley Longman .Inc 1998. USA. ISBN 0-201-18074-X
13) Mamdani, E.H. and S. Assilian, “An experiment in linguistic synthesis with
a fuzzy logic controller,” International Journal of Man-Machine Studies,
Vol.7, No. 1. 1995.
16) Avanzado Logic Toolbox. Foe Use with Matlab User’s Guide Version 3.0
(Release 14) The MatWorks. http://www.matworks.com.
19) Solange Olivera “Sistemas Inteligentes “Editora Manole Ltda. Brasil 2003
128