Anda di halaman 1dari 13

Control de velocidad: La modelacin de sistemas

Comandos de Matlab usados en este tutorial son: ss, tf


Contenido
- Configuracin fsica
- Ecuaciones del sistema
- Los parmetros del sistema
- Modelo de espacio de estado
- Modelo funcin de transferencia
Configuracin fsica
El control automtico de crucero es un excelente ejemplo de un sistema de control de
retroalimentacin que se encuentra en muchos vehculos modernos. El propsito del sistema de
control de crucero es mantener una velocidad constante del vehculo a pesar de las
perturbaciones externas, tales como cambios en el viento o la pendiente del camino. Esto se
logra mediante la medicin de la velocidad del vehculo, comparndola con la velocidad
deseada o de referencia, y de forma automtica el ajuste de la estrangulacin de acuerdo con una
ley de control.

Consideramos aqu un modelo simple de la dinmica del vehculo, que se muestra en el


diagrama de cuerpo libre (FUP) anterior. El vehculo, de masa m, es sobre la que acta una
fuerza de control, u. La fuerza u representa la fuerza generada en la interfaz / llanta de carretera.
Para este modelo simplificado vamos a suponer que podemos controlar esta fuerza directamente
y sin descuidar la dinmica de la cadena de traccin, neumticos, etc., que intervienen en la
generacin de la fuerza. Las fuerzas de resistencia, BV, debido a la resistencia a la rodadura y el
viento arrastre, se supone que vara linealmente con la velocidad del vehculo, v, y actuar en la
direccin opuesta del movimiento del vehculo.

Ecuaciones del sistema


Con estas hiptesis nos quedamos con un sistema masa-amortiguador de primer orden.
Sumando fuerzas en la direccin x y aplicando segunda ley de Newton, se llega a la
siguiente ecuacin del sistema:
Dado que estamos interesados en el control de la velocidad del vehculo, la ecuacin de salida
se elige de la siguiente:

Los parmetros del sistema


Para este ejemplo, vamos a suponer que los parmetros del sistema son:
(m) vehicle mass
1000 kg
(b) damping coefficient 50 N.s/m

Modelo de espacio de estado


De primer orden sistemas tienen solamente tiene un nico modo de almacenamiento de energa,
en este caso la energa cintica del coche, y por lo tanto slo se necesita una variable de estado,
la velocidad. Por consiguiente, el espacio de estados es:

Entramos en este modelo de espacio de estados en MATLAB usando los siguientes comandos:
m = 1000;
b = 50;
A = -b/m;
B = 1/m;
C = 1;
D = 0;
cruise_ss = ss(A,B,C,D);

Modelo de la funcin de transferencia


Tomando la transformada de Laplace de la ecuacin diferencial que rige y suponiendo
condiciones iniciales nulas, nos encontramos con la funcin de transferencia del sistema de
control de crucero sea:

Entramos en el modelo de funcin de transferencia en MATLAB usando los siguientes


comandos:
s = tf('s');
P_cruise = 1/(m*s+b);

Cruise Control: Anlisis de Sistemas


Comandos de Matlab usados en este tutorial son: ss, step
Contenido
- modelo del sistema y los parmetros
- Especificaciones de rendimiento
- respuesta de paso de bucle abierto
- Lazo abierto polos / ceros
- Lazo abierto diagrama de Bode
Modelo del sistema y los parmetros
El modelo de funcin de transferencia para el problema de control de crucero es la siguiente.
Por favor, vea el Control de Velocidad: pgina de Modelacin del Sistema para la derivacin.

Los parmetros utilizados en este ejemplo son los siguientes:


(m) vehicle mass
1000 kg
(b) damping coefficient 50 N.s/m
(u) nominal control force 500 N

Especificaciones de rendimiento
El siguiente paso es llegar a algunos criterios de diseo que el sistema compensado debe
lograr. Cuando el motor da una fuerza de 500 Newton, el coche alcanzar una velocidad
mxima de 10 m / s (22 mph), vase la seccin de respuesta de paso de bucle abierto a
continuacin. Un automvil debe ser capaz de acelerar hasta que la velocidad en menos
de 5 segundos. En esta aplicacin, un sobreimpulso 10% y el error de estado
estacionario 2% de la velocidad son suficientes.
Mantener en cuenta lo anterior, hemos propuesto los siguientes criterios de diseo para
este problema:
Tiempo de subida <5 s
Sobreimpulso <10%
error de estado estacionario <2%

Respuesta de paso de bucle abierto


La respuesta de bucle abierto del sistema, sin ningn control de realimentacin, a una fuerza de
entrada de paso de 500 Newtons se simula en MATLAB como sigue:
m = 1000;
b = 50;
u = 500;
s = tf('s');
P_cruise = 1/(m*s+b);
step(u*P_cruise)

Vemos que el sistema en lazo abierto no presenta ningn rebasamiento o de oscilaciones


(caracterstica de los sistemas de primer orden), y no alcanzar la velocidad deseada en estado
estacionario de 10 m / s; sin embargo, el tiempo de subida es demasiado lento, ~ 60 s. Por lo
tanto tenemos que disear un controlador de retroalimentacin que acelera la respuesta
significativamente sin afectar negativamente a los otros parmetros de rendimiento dinmico.

Open-loop polos / ceros


El sistema de control de crucero tiene un nico polo en s = -b / m que podemos ver
representada en el plano s utilizando los siguientes comandos de MATLAB:
pzmap(P_cruise)
axis([-1 1 -1 1])

Observamos que el sistema de bucle abierto es estable y no oscila desde el polo es real y
negativo. Adems, la velocidad de respuesta se determina por la magnitud de este polo, b / m:
cuanto mayor sea la magnitud, ms rpido el sistema se acerca al valor de estado estacionario.
Ya que estamos por lo general no es capaz de cambiar los parmetros del sistema para cambiar
la respuesta dinmica del sistema, hay que disear controladores lugar que alteran los polos y
ceros del sistema de circuito cerrado para cumplir con las especificaciones de funcionamiento
deseadas.
Diagrama de Bode en lazo abierto
Tambin estamos interesados en la respuesta en frecuencia en lazo abierto del sistema que nos
encontramos con el siguiente comando de MATLAB:
bode(P_cruise)

Vemos que los diagramas de Bode exhiben las caractersticas definitivas de sistemas de primer
orden, incluyendo una magnitud -3 dB y -45 grados fase a la frecuencia de esquina de w = b / m
= 0,05 rad / s y -20 dB / dec roll- off a altas frecuencias.

Control de Velocidad: Diseo controlador PID


comandos de Matlab usados en este tutorial es: tf , step , feedback
Contenido
- modelo del sistema y los parmetros
- Especificaciones de rendimiento
- Informacin general del PID
- El control proporcional
- Control PI
- control PID

Modelo del sistema y los parmetros


El modelo de funcin de transferencia para el problema de control de crucero es la
siguiente. Por favor, vea el Control de Velocidad: pgina de Modelacin del Sistema
para la derivacin.

Los parmetros utilizados en este ejemplo son los siguientes:


(m) vehicle mass
1000 kg
(b) damping coefficient 50 N.s/m
(r) reference speed
10 m/s

Especificaciones de rendimiento
- Tiempo de subida <5 s
- Sobreimpulso <10%
- error de estado estacionario <2%
Informacin general del PID
El diagrama de bloques de un sistema tpico de realimentacin unitaria se muestra a
continuacin.

Recordemos de la Introduccin: Controlador PID pgina de diseo, la funcin de transferencia


de un controlador PID es

Podemos definir un controlador PID en MATLAB directamente utilizando la funcin de


transferencia:
Kp = 1;
Ki = 1;
Kd = 1;
s = tf('s');
C = Kp + Ki/s + Kd*s

Alternativamente, podemos utilizar MATLAB pid objeto controlador para


generar un controlador de tiempo continuo equivalente de la siguiente
manera:
C = pid(Kp,Ki,Kd)

El control proporcional
El primero que hay que hacer en este problema es encontrar una funcin de
transferencia en lazo cerrado con un control proporcional (Kp = C) aadi.
Al reducir el diagrama de bloques de realimentacin unitaria, la funcin de

transferencia en lazo cerrado con un controlador proporcional se convierte


en:

Recordemos de la Introduccin: pgina Controlador PID de diseo, un


controlador proporcional, Kp, disminuye el tiempo de subida, que es
deseable en este caso.
Por ahora, el uso Kp igual a 100 y una velocidad de referencia de 10 m / s.
Crear un nuevo archivo-m e ingrese los siguientes comandos.
m = 1000;
b = 50;
r = 10;
s = tf('s');
P_cruise = 1/(m*s + b);
Kp = 100;
C = pid(Kp);
T = feedback(C*P_cruise,1)
t = 0:0.1:20;
step(r*T,t)
axis([0 20 0 10])

Note que hemos usado el comando de MATLAB retroalimentacin para simplificar la


reduccin diagrama de bloques del sistema de circuito cerrado. Por favor, compruebe
por s mismo que el resultado est de acuerdo con la funcin de transferencia en lazo
cerrado, T, derivado anteriormente.
Ejecutar el archivo-m en Matlab le debera dar la respuesta al escaln ms arriba. Como
se puede ver en la trama, ni el error de estado estacionario ni el tiempo de subida
satisfacen los criterios de diseo.
Puede aumentar la ganancia proporcional Kp, para reducir el tiempo de subida y el error
de estado estacionario. Cambiar el archivo-m existente para que Kp = 5000 y vuelva a
ejecutar en la ventana de comandos de MATLAB. Debera verse la figura siguiente.
Kp = 5000;
C = pid(Kp);
T = feedback(C*P_cruise,1);
step(r*T,t)
axis([0 20 0 10])

El error de estado estacionario es ahora esencialmente cero, y el tiempo de


subida se ha reducido sustancialmente. Sin embargo, esta respuesta no es
realista ya que un sistema de control de crucero verdadero generalmente no
puede cambiar la velocidad del vehculo de 0 a 10 m / s en menos de 0,5
segundos, debido a las limitaciones de potencia del motor y la transmisin.
limitaciones actuador estn muy frecuentes en la prctica en el control de la
ingeniera de sistemas, y por lo tanto, la accin de control requerido siempre
deben ser considerados al proponer un nuevo controlador. Vamos a discutir
este tema mucho ms en tutoriales posteriores.
La solucin a este problema en este caso es elegir una ganancia
proporcional inferior, Kp, que dar un tiempo de subida razonable, y aadir
un controlador integral para eliminar el error de estado estacionario.
Control PI

La funcin de transferencia en lazo cerrado de este sistema de control de crucero con un


regulador PI (C = Kp + Ki / s) es:

Recordemos de la Introduccin: Controlador PID pgina de diseo, una


adicin de un controlador integral al sistema elimina el error de estado
estacionario. Por ahora, vamos a Kp igual a 600 y Ki es igual a 1 y ver lo que
sucede con la respuesta. Cambiar su archivo-m al siguiente.
Kp = 600;
Ki = 1;
C = pid(Kp,Ki);
T = feedback(C*P_cruise,1);
step(r*T,t)
axis([0 20 0 10])

Ahora ajustar tanto la ganancia proporcional Kp, y la ganancia integral, Ki,


para obtener la respuesta deseada. Al ajustar la ganancia integral, Ki, le
sugerimos que comience con un valor pequeo ya que una gran Chi puede

desestabilizar la respuesta. Cuando Kp = 800 y Ki es igual a 40, la respuesta


al escaln se ver como la siguiente:
Kp = 800;
Ki = 40;
C = pid(Kp,Ki);
T = feedback(C*P_cruise,1);
step(r*T,t)
axis([0 20 0 10])

Control PID
Para este ejemplo particular, se necesita ninguna aplicacin de un
controlador de derivado para obtener la salida requerida. Sin embargo, es
posible que desee ver cmo se trabaja con un control PID para el futuro de
referencia. La funcin de transferencia en lazo cerrado para este sistema de
control de crucero con un controlador PID (C = Kp + Ki / s + Kd * s) es:

Deje Kp igual a 1, Km es igual a 1, y Kd es igual a 1 e introduzca los


siguientes comandos en un nuevo archivo-m.
Kp = 1;
Ki = 1;
Kd = 1;
C = pid(Kp,Ki,Kd);
T = feedback(C*P_cruise,1);

Trazar la respuesta de paso y ajustar todos Kp, Kd, y Ki hasta que obtenga
resultados satisfactorios. Vamos a dejar esto como un ejercicio para que
usted pueda trabajar.
Sugerencia: Por lo general, la eleccin de las ganancias apropiadas requiere
un proceso de ensayo y error. La mejor manera de atacar este proceso
tedioso es ajustar una variable (Kp, Ki, o Kd) a la vez y observar cmo
cambiar una variable influye en la salida del sistema. Las caractersticas de
Kp, Ki y Kd se resumen en la Introduccin: La pgina de diseo del
controlador PID.

Anda mungkin juga menyukai